Một trong những cách tiện lợi nhất cùng rẻ chi phí để tinh chỉnh động cơ cách là sử dụng mạch điều khiển động cơ L298N và Arduino. Nó có thể điều khiển vận tốc lẫn hướng quay của ngẫu nhiên động cơ bước lưỡng rất nào.

Bạn đang xem: Điều khiển động cơ bước với arduino và driver a4988

Trong trường hợp bạn có nhu cầu xây dựng thiết bị in 3 chiều hoặc lắp thêm CNC, các bạn sẽ cần điều khiển cùng lúc những động cơ bước khác nhau. Do đó, nhằm 1 Arduino rất có thể điều khiển tất cả chúng thông qua L298N ko phải là một trong lựa chọn tốt. Rứa vào đó, bạn nên board driver tinh chỉnh động cơ bước chuyên được dùng như A4988.

*

Điều khiển động cơ bước cần sử dụng L298N – Mạch cầu H

Module L298N tất cả hai mong H, mỗi mong H sẽ điều khiển và tinh chỉnh 1 cuộn dây của động cơ bước.

Bằng phương pháp cấp điện cho các cuộn dây này theo một trình tự độc nhất định, trục của hộp động cơ bước hoàn toàn có thể được dịch rời tiến hoặc lùi chính xác theo mỗi bước nhỏ.

Tuy nhiên, tốc độ của động cơ được xác định bởi tần suất các tín hiệu điện cung ứng cho các cuộn dây.

Hình ảnh dưới phía trên minh họa với tinh chỉnh động cơ bước với mạch mong H

*

Trong bài viết này, shop chúng tôi sử dụng động cơ bước lưỡng cực với hiệu điện vắt 12V. Độ phân giải là 200 bước với tốc độ tối đa vào thời gian 60 vòng/phút. Nếu như khách hàng không rõ về những thông số trên thì rất có thể search google.

Xem thêm: Cách Đọc Bảng Màu Tóc Sáng Da Mới 2021, Bảng Màu Tóc Đầy Đủ Nhất

Trước khi bắt đầu nối dây cùng với module, bạn phải xác định các dây: A+, A-, B+, B-. Bạn có thể kiểm tra datasheet của động cơ hoặc cần sử dụng VOM nhằm xác định. Thông thường chúng sẽ có được màu: Đỏ, xanh lá, vàng, xanh dương.

http://forum.cncprovn.com/threads/4081-Co-ban-Cach-xac-dinh-thu-tu-day-dong-co-buoc

*

Việc liên kết là khá 1-1 giản. Liên kết nguồn điện 12 V với VCC và GND. Giữ jumper 5V-EN.

*

Bạn cũng cần phải giữ jumper ENA và ENB để cồn cơ luôn luôn được bật.

Tiếp theo, kết nối các chân đầu vào (IN1, IN2, IN3 cùng IN4) của module L298N với tư chân digital output đầu ra Arduino (8, 9, 10 cùng 11).

Cuối cùng, kết nối dây A +, A-, B + với B- từ động cơ bước với module như hình dưới.

*

Code Arduino điều khiển động cơ bước thông qua L298N

Ví dụ 1:

/* Điều khiển động cơ bước chương trình này tinh chỉnh động cơ bước lưỡng cực. Động cơ cách được nối cùng với digital pins 8 - 11 của Arduino. Động cơ sẽ được xoay theo chiều thuận cùng với 1 độ phân giải sau đó sẽ quay theo chiều ngược lại Created 11 Mar. 2007 Modified 30 Nov. 2009 by Tom Igoe */#include const int stepsPerRevolution = 200; // biến hóa con số này cho cân xứng với hộp động cơ bước của bạn// khai báo step motor trường đoản cú pins 8 cho 11:Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);void setup() // set vận tốc động cơ là 60 rpm: myStepper.setSpeed(60); // khai báo cổng serial Serial.begin(9600);void loop() // Quay hộp động cơ theo chiều thuận Serial.println("clockwise"); myStepper.step(stepsPerRevolution); delay(500); // Quay động cơ theo chiều nghịch Serial.println("counterclockwise"); myStepper.step(-stepsPerRevolution); delay(500);Ví dụ 2

/* Điều khiển động cơ bước chương trình này điều khiển và tinh chỉnh động cơ bước lưỡng cực. Động cơ bước được nối với digital pins 8 - 11 của Arduino. Động cơ sẽ được điều khiển và tinh chỉnh theo từng bước một, vận tốc rất chậm. Chúng ta cũng có thể dùng code này để test vấn đề nối dây của rượu cồn cơ. Nếu động cơ được nối dây đúng, vớ cả các bước sẽ theo thuộc 1 chiều. Chúng ta có thể dùng bí quyết này để test độ sắc nét của hộp động cơ bước. Nếu khách hàng không biết thông số kỹ thuật này, chúng ta cũng có thể thay đổi nó cho đến khi nó đúng. Created 30 Nov. 2009 by Tom Igoe */#include const int stepsPerRevolution = 200; // đổi khác số này tương xứng với độ phân giải động cơ bước của bạn.// Khai báo động cơ bước từ pins 8 cho 11:Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);int stepCount = 0; // số bước đã được bướcvoid setup() // khai báo cổng serial Serial.begin(9600);void loop() // cách 1 bước myStepper.step(1); Serial.print("steps:"); Serial.println(stepCount); stepCount++; delay(500);Ví dụ 3:

/* Điều khiển động cơ bước lịch trình này tinh chỉnh động cơ bước lưỡng cực. Động cơ bước được nối với digital pins 8 - 11 của Arduino. Biến trở được liên kết với analog đầu vào 0. Động cơ được tinh chỉnh và điều khiển quay theo chiều kim đồng hồbiến trở được quay càng nhiều, hộp động cơ càng xoay nhanh. Chính vì hàm setSpeed() đang điều khiển thời gian delay giữa các bước, Created 30 Nov. 2009 Modified 28 Oct 2010 by Tom Igoe */#include const int stepsPerRevolution = 200; // biến đổi giá trị này phù hợp với hộp động cơ bước của bạn// khai báo động cơ bước từ pins 8 mang lại 11:Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);int stepCount = 0; // số cách đã được bướcvoid setup() // nothing to vì chưng inside the setupvoid loop() // Đọc giá bán trị trở nên trở qua chân A0 int sensorReading = analogRead(A0); // maps nó với giá trị từ 0 mang lại 100: int motorSpeed = map(sensorReading, 0, 1023, 0, 100); // Set vận tốc động cơ if (motorSpeed > 0) myStepper.setSpeed(motorSpeed); // bước 1/100 theo độ sắc nét của bộ động cơ myStepper.step(stepsPerRevolution / 100);

Bài viết liên quan

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *