Trong bài viết này, tôi sẽ gợi ý các bạn tinh chỉnh và điều khiển hộp động cơ bước lưỡng rất bằng cách sử dụng Arduino UNO. Động cơ bước là một trong những các loại động cơ điện một chiều không chổi than dùng để làm chuyển đổi các bộc lộ điều khiển và tinh chỉnh bên dưới dạng những xung điện rời rạc kế tiếp nhau thành những vận động góc cù, tức là trục của động cơ bước cù theo quá trình rời rạc. Khi một máy tính xách tay được thực hiện nhằm điều khiển công việc này, chúng ta cũng có thể tinh chỉnh chính xác vị trí với vận tốc của bộ động cơ bước.

Bạn đang xem: Arduino điều khiển động cơ bước

Do đặc điểm rời rốc này của vận động con quay theo bước của động cơ bước, bọn chúng thường được sử dụng trong các khối hệ thống tự động hóa công nghiệp, CNC, v.v., vị trí từng trải hoạt động đúng chuẩn.


Nội dung bài viết

Sơ vật mạch điều khiển và tinh chỉnh hộp động cơ bước cần sử dụng Arduino

Giới thiệu về động cơ bước

Nlỗi đang nói trước đó, bộ động cơ bước là một các loại hộp động cơ DC cù theo các bước rời rạc. Do thiết kế khác biệt của bọn chúng nhưng mà động cơ bước hoàn toàn có thể được điều khiển nhằm định vị đúng đắn mà không đề nghị bất kỳ phản hồi làm sao.

Một động cơ bước nổi bật có không ít cuộn dây được chia thành các trộn. Khi các trộn được cung cấp điện theo sản phẩm công nghệ từ, rotor của bộ động cơ bước đã con quay theo từng bước một.

*

Hình 2: Các một số loại động cơ bước.

Chúng ta sẽ không còn lấn sân vào chi tiết các nhiều loại động cơ bước nhưng mà điều quan trọng là buộc phải xác minh coi động cơ bước nhưng mà họ thực hiện là hộp động cơ lưỡng cực tốt 1-1 rất. Điều này quan trọng đặc biệt là chính vì cách thức tinh chỉnh cho mỗi động cơ bước này là khác biệt.

Ví dụ, mạch tinh chỉnh của hộp động cơ bước đối kháng rất hoàn toàn có thể được tiến hành cùng với mạch đơn giản sử dụng transistor hoặc IC transistor Darlington nhỏng ULN2003A. Nhưng trong ngôi trường phù hợp động cơ bước lưỡng cực, họ nên sử dụng bộ điều khiển giao diện cầu H nlỗi IC tinh chỉnh và điều khiển động cơ L293 chiều.

Bức Ảnh sau đây cho thấy một hộp động cơ bước lưỡng cực (Bipolar Stepper Motor), một hộp động cơ bước đơn cực (Unipolar Stepper Motor) 5 dây, 6 dây và 8 dây.

*
Hình 4: Mạch điều khiển và tinh chỉnh bộ động cơ bước sử dụng Arduino.

Xem thêm: Ký Sinh Ngoài Hành Tinh - Xem Phim Ký Sinh Trùng Ngoài Hành Tinh Hd

Hoạt đụng của mạch

Động cơ bước được sử dụng vào bài trả lời này là các loại động cơ bước lai nam châm hút từ trường thọ (Permanent Magnet Hybrid). Vì là hộp động cơ lưỡng rất nên có thể tất cả 4 dây khớp ứng cùng với các đầu cuối của hai cuộn dây. 4 dây này được kết nối với những chân ngõ ra của IC tinh chỉnh động cơ L293 chiều.

Để tinh chỉnh hộp động cơ bước, họ đang sử dụng một nghệ thuật được gọi là “tinh chỉnh và điều khiển bước đầy đủ – Full Step”. Động cơ được áp dụng trong bài trả lời này còn có 200 bước đếm. Với động cơ bước kích ưa thích một pha, Có nghĩa là trên một thời lăn tay cấp năng lượng điện cho 1 pha, bạn cũng có thể giành được vòng quay 200 bước bình thường với khoảng tiêu thụ điện năng ít nhất.

Động cơ bước được kích yêu thích nhị pha là một chuyên môn khác trong số ấy hai trộn được cấp điện tại thuộc một thời điểm. Với kỹ thuật này, số bước không biến đổi đối với kích say mê một pha tuy nhiên mô-men xoắn với vận tốc được tạo thêm đáng chú ý. Nhược điểm của nghệ thuật này là nó đòi hỏi năng lượng gấp đôi.

Bức Ảnh sau đây cho thấy hoạt động vui chơi của động cơ bước cùng với 4 bước/1 vòng quay, thực hiện cách thức kích phù hợp một pha cùng hai trộn.

*

Hình 6: Điều khiển nửa bước.

Nlỗi vẫn nhắc trước kia, góc bước của động cơ được thực hiện trong bài trả lời này là một trong,80, có nghĩa là động cơ bắt buộc 200 bước nhằm con quay hết một vòng. Để tăng độ phân giải (gấp đôi độ phân giải), họ đang sử dụng cách thức tinh chỉnh nửa bước với vì chưng vậy đề xuất 400 bước nhằm tảo được một vòng.

Chúng ta vẫn thực hiện serial monitor nhằm kiểm soát hoạt động quay của bộ động cơ. Trong công tác, ký hiệu ‘+’ được áp dụng nhằm cho biết động cơ bước quay theo chiều kyên đồng hồ đeo tay, và trở lại, Lúc động cơ xoay ngược chiều kyên ổn đồng hồ thời trang, vết ‘-’ sẽ tiến hành sử dụng.

Sau khi chọn hướng, chúng ta cũng có thể nhập thẳng số bước bất kỳ từ là một mang lại 400.

Cmùi hương trình

const int out1 = 4;

const int out2 = 3;

const int out3 = 5;

const int out4 = 2;

int i=0;

int negative=0;

int positive=0;

char temp_print=0;

char temp_print1=0;

int led=13;

void setup()

pinMode(out1, OUTPUT);

pinMode(out2, OUTPUT);

pinMode(out3, OUTPUT);

pinMode(out4, OUTPUT);

pinMode(led,OUTPUT);

digitalWrite(out1,LOW);

digitalWrite(out2,LOW);

digitalWrite(out3,LOW);

digitalWrite(out4,LOW);

digitalWrite(led,LOW);

Serial.begin(9600);

 

void loop()

if(temp_print1==1)

Serial.println(“.”);

delay(1000);

Serial.println(“.”);

delay(1000);

Serial.println(“.”);

delay(1000);

Serial.println(“.”);

delay(1000);

Serial.println(“.”);

delay(1000);

Serial.println(“.”);

delay(1000);

Serial.println(“.”);

Serial.println(“Hoan tat hieu chinh……”);

Serial.println(“Dong teo buoc san sang”);

temp_print1=temp_print1+1;

if(temp_print==0)

Serial.println(“Nhap HUONG va BUOC de hieu chinh”);

temp_print=temp_print+1;

temp_print1=temp_print1+1;

abc:

Serial.print(“Chieu quay = “);

while(Serial.available()==false);

char temp = Serial.read();

if(temp==’+’)

Serial.println(temp);

Serial.print(“So buoc = “);

while(Serial.available()==false)

digitalWrite(led,HIGH);

delay(50);

digitalWrite(led,LOW);

delay(50);

int val = Serial.parseInt();

Serial.println(val);

if(val>=0 && val0;a–)

if(negative==1)

if(i==7)

i=0;

else

a=a+1;

i=i+1;

negative=0;

positive=1;

if(i==0) digitalWrite(out1,HIGH);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(60);

else if(i==1) digitalWrite(out1,HIGH);digitalWrite(out2,HIGH);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(60);

else if(i==2) digitalWrite(out1,LOW);digitalWrite(out2,HIGH);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(60);

else if(i==3) digitalWrite(out1,LOW);digitalWrite(out2,HIGH);digitalWrite(out3,HIGH);digitalWrite(out4,LOW);delay(60);

else if(i==4) digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,HIGH);digitalWrite(out4,LOW);delay(60);

else if(i==5) digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,HIGH);digitalWrite(out4,HIGH);delay(60);

else if(i==6) digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,HIGH);delay(60);

else if(i==7) digitalWrite(out1,HIGH);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,HIGH);delay(60);

if(i==7)

i=0;continue;

i++;

else

goto lớn abc;

digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(50); 

val=0;

else if(temp==’-‘)

Serial.println(temp);

Serial.print(“So buoc = “);

while(Serial.available()==false)

digitalWrite(led,HIGH);

delay(50);

digitalWrite(led,LOW);

delay(50);

int val = Serial.parseInt();

Serial.println(val);

if(val>=0 && val0;a–)

 

if(positive==1)

i=i-1;

positive=0;

a=a+1;

negative=1;

if(i==0) digitalWrite(out1,HIGH);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(60);

else if(i==1) digitalWrite(out1,HIGH);digitalWrite(out2,HIGH);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(60);

else if(i==2) digitalWrite(out1,LOW);digitalWrite(out2,HIGH);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(60);

else if(i==3) digitalWrite(out1,LOW);digitalWrite(out2,HIGH);digitalWrite(out3,HIGH);digitalWrite(out4,LOW);delay(60);

else if(i==4) digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,HIGH);digitalWrite(out4,LOW);delay(60);

else if(i==5) digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,HIGH);digitalWrite(out4,HIGH);delay(60);

else if(i==6) digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,HIGH);delay(60);

else if(i==7) digitalWrite(out1,HIGH);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,HIGH);delay(60);

if(i==0)

i=7;continue;

i–;

else

golớn abc;

digitalWrite(out1,LOW);digitalWrite(out2,LOW);digitalWrite(out3,LOW);digitalWrite(out4,LOW);delay(50); 

val=0;

}

else

goto abc;

}

Ứng dụng

Bài viết cho thấy thêm buổi giao lưu của hộp động cơ bước cùng tinh chỉnh động cơ bước bởi Arduino. Động cơ bước hay được sử dụng vào robot, sản phẩm công nghệ CNC, tự động hóa công nghiệp, các thứ bé dại auto in, v.v.Do độ đúng chuẩn cao và mô-men xoắn bự, hộp động cơ bước được sử dụng sống mọi chỗ đề nghị điều khiển đúng mực.