Arduino - Động cơ bước
Động cơ bước hoặc động cơ bước là một động cơ đồng bộ, không chổi than, chia một vòng quay đầy đủ thành một số bước. Không giống như động cơ DC không chổi than, quay liên tục khi đặt điện áp DC cố định vào nó, động cơ bước quay theo các góc bước rời rạc.
Do đó, Động cơ bước được sản xuất với các bước trên mỗi vòng quay là 12, 24, 72, 144, 180 và 200, dẫn đến các góc bước là 30, 15, 5, 2,5, 2 và 1,8 độ trên mỗi bước. Động cơ bước có thể được điều khiển có hoặc không có phản hồi.
Hãy tưởng tượng một động cơ trên một chiếc máy bay RC. Động cơ quay rất nhanh theo hướng này hay hướng khác. Bạn có thể thay đổi tốc độ với mức công suất cung cấp cho động cơ, nhưng bạn không thể yêu cầu cánh quạt dừng lại ở một vị trí cụ thể.
Bây giờ hãy tưởng tượng một máy in. Có rất nhiều bộ phận chuyển động bên trong máy in, bao gồm cả động cơ. Một động cơ như vậy hoạt động như bộ nạp giấy, các con lăn quay để di chuyển mảnh giấy khi mực đang được in trên đó. Động cơ này cần có khả năng di chuyển giấy một khoảng cách chính xác để có thể in dòng văn bản tiếp theo hoặc dòng tiếp theo của hình ảnh.
Có một động cơ khác được gắn vào một thanh ren để di chuyển đầu in qua lại. Một lần nữa, thanh ren đó cần được di chuyển một lượng chính xác để in hết chữ cái này đến chữ cái khác. Đây là nơi mà động cơ bước có ích.
Động cơ bước hoạt động như thế nào?
Một động cơ DC thông thường chỉ quay theo một hướng trong khi động cơ Bước có thể quay theo từng bước chính xác.
Động cơ bước có thể quay một số độ (hoặc bước) chính xác như mong muốn. Điều này cho phép bạn kiểm soát toàn bộ động cơ, cho phép bạn di chuyển nó đến một vị trí chính xác và giữ vị trí đó. Nó làm như vậy bằng cách cấp nguồn cho các cuộn dây bên trong động cơ trong khoảng thời gian rất ngắn. Điểm bất lợi là bạn phải cung cấp năng lượng cho động cơ mọi lúc để giữ nó ở vị trí mà bạn mong muốn.
Tất cả những gì bạn cần biết bây giờ là, để di chuyển động cơ bước, bạn yêu cầu nó di chuyển một số bước nhất định theo hướng này hay hướng khác và cho nó biết tốc độ để bước theo hướng đó. Có rất nhiều loại động cơ bước. Các phương pháp được mô tả ở đây có thể được sử dụng để suy ra cách sử dụng các động cơ và trình điều khiển khác không được đề cập trong hướng dẫn này. Tuy nhiên, bạn nên tham khảo các bảng dữ liệu và hướng dẫn của động cơ và trình điều khiển cụ thể cho các kiểu máy bạn có.
Thành phần bắt buộc
Bạn sẽ cần các thành phần sau:
- 1 × bảng Arduino UNO
- 1 × Động cơ bước lưỡng cực nhỏ như trong hình dưới đây
- IC điều khiển 1 × LM298
Thủ tục
Thực hiện theo sơ đồ mạch và thực hiện các kết nối như trong hình dưới đây.
Phác thảo
Mở phần mềm Arduino IDE trên máy tính của bạn. Mã hóa bằng ngôn ngữ Arduino sẽ điều khiển mạch của bạn. Mở một tệp phác thảo mới bằng cách nhấp vào Mới.
Mã Arduino
/* Stepper Motor Control */
#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
void setup() {
// set the speed at 60 rpm:
myStepper.setSpeed(5);
// initialize the serial port:
Serial.begin(9600);
}
void loop() {
// step one revolution in one direction:
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// step one revolution in the other direction:
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
Mã cần lưu ý
Chương trình này điều khiển động cơ bước đơn cực hoặc lưỡng cực. Động cơ được gắn vào chân số 8 - 11 của Arduino.
Kết quả
Động cơ sẽ thực hiện một vòng quay theo một hướng, sau đó một vòng quay theo hướng khác.