Stepper Motor Interfacing with 8051 Microcontroller
Động cơ bước là động cơ điện một chiều không chổi than, có thể quay được các góc nhỏ, các góc này được gọi là bước. Nói chung động cơ bước sử dụng 200 bước để hoàn thành vòng quay 360 độ, nghĩa là xoay 1,8 độ mỗi bước. Động cơ bước được sử dụng trong nhiều thiết bị cần chuyển động quay chính xác như rô bốt, ăng-ten, ổ cứng, v.v. Chúng tôi có thể xoay động cơ bước theo bất kỳ góc độ cụ thể nào bằng cách đưa ra hướng dẫn thích hợp.
Động cơ bước về cơ bản có hai loại: Đơn cực và Lưỡng cực. Động cơ bước đơn cực thường có năm hoặc sáu dây, trong đó bốn dây là một đầu của bốn cuộn dây stato, và đầu kia của cả bốn cuộn dây được buộc với nhau đại diện cho dây thứ năm, đây được gọi là dây chung (điểm chung). Nói chung có hai dây chung, được hình thành bằng cách kết nối một đầu của hai cuộn dây như thể hiện trong hình dưới đây. Động cơ bước đơn cực rất thông dụng và phổ biến vì dễ sử dụng.
Trong động cơ bước lưỡng cực chỉ có bốn dây đi ra từ hai bộ cuộn dây, có nghĩa là không có dây chung.
Động cơ bước được tạo thành từ một stato và một rôto. Stator đại diện cho bốn cuộn nam châm điện đứng yên xung quanh rotator và rotator đại diện cho nam châm vĩnh cửu quay. Bất cứ khi nào các cuộn dây được cung cấp năng lượng bằng cách đặt dòng điện, trường điện từ sẽ được tạo ra, dẫn đến chuyển động quay của rôto (nam châm vĩnh cửu). Các cuộn dây phải được cung cấp năng lượng theo một trình tự cụ thể để làm cho rôto quay. Trên cơ sở “trình tự” này, chúng ta có thể chia phương pháp làm việc của động cơ bước đơn cực thành ba chế độ: Chế độ dẫn động sóng, chế độ dẫn động toàn bước và chế độ dẫn động nửa bước.
Chế độ truyền động sóng: Trong chế độ này một cuộn dây được cấp điện tại một thời điểm, cả bốn cuộn dây được cấp điện lần lượt. Nó tạo ra ít mô-men xoắn hơn so với chế độ dẫn động Toàn bước nhưng tiêu thụ điện năng ít hơn. Sau đây là bảng để tạo ra chế độ này bằng vi điều khiển, có nghĩa là chúng ta cần cung cấp Logic 1 cho các cuộn dây theo cách tuần tự.
Steps | A | B | C | D |
1 | 1 | 0 | 0 | 0 |
2 | 0 | 1 | 0 | 0 |
3 | 0 | 0 | 1 | 0 |
4 | 0 | 0 | 0 | 1 |
Chế độ Full Drive: Ở chế độ này, hai cuộn dây được cung cấp năng lượng cùng lúc tạo ra mô-men xoắn cao. Tiêu thụ điện năng cao hơn. Chúng ta cần cung cấp cho Logic 1 đến hai cuộn dây cùng một lúc, sau đó cho hai cuộn dây tiếp theo, v.v.
Steps | A | B | C | D |
1 | 1 | 1 | 0 | 0 |
2 | 0 | 1 | 1 | 0 |
3 | 0 | 0 | 1 | 1 |
4 | 1 | 0 | 0 | 1 |
Chế độ Half Drive: Trong chế độ này, một và hai cuộn dây được cung cấp năng lượng xen kẽ, có nghĩa là trước tiên một cuộn dây được cấp điện sau đó hai cuộn dây được cấp năng lượng sau đó một cuộn dây được cấp điện lại rồi hai cuộn dây, v.v. Đây là sự kết hợp của chế độ truyền động toàn phần và sóng, và được sử dụng để tăng góc quay của động cơ.
StepsABCD1100021100301004011050010600117000181001
Interfacing Stepper Motor with 8051 Microcontroller
Giao tiếp với 8051 rất dễ dàng, chúng ta chỉ cần cho 0 và 1 vào 4 dây của động cơ bước theo bảng trên tùy thuộc vào chế độ mà chúng ta muốn chạy động cơ bước. Và hai dây còn lại nên được kết nối với nguồn cung cấp 12v thích hợp (tùy thuộc vào động cơ bước). Ở đây chúng tôi đã sử dụng động cơ bước đơn cực. Chúng tôi đã kết nối bốn đầu của cuộn dây với bốn chân đầu tiên của cổng 2 của 8051 thông qua ULN2003A.
8051 không cung cấp đủ dòng điện để điều khiển các cuộn dây, vì vậy chúng tôi cần sử dụng IC trình điều khiển hiện tại là ULN2003A. ULN2003A là dãy bảy cặp bóng bán dẫn NPN Darlington. Cặp Darlington được xây dựng bằng cách kết nối hai bóng bán dẫn lưỡng cực để đạt được độ khuếch đại dòng điện cao. Trong ULN2003A, 7 chân là chân đầu vào và 7 chân là chân đầu ra, hai chân dành cho Vcc (cấp nguồn) và Ground. Ở đây chúng tôi đang sử dụng bốn chân đầu vào và bốn chân đầu ra. Chúng ta cũng có thể sử dụng IC L293D thay cho ULN2003A để khuếch đại dòng điện.
Bạn cần phải tìm ra bốn cuộn dây và hai dây chung thật cẩn thận nếu không động cơ sẽ không quay. Bạn có thể tìm ra nó bằng cách đo điện trở bằng đồng hồ vạn năng, đồng hồ vạn năng sẽ không hiển thị bất kỳ số đọc nào giữa các dây của hai pha. Dây chung và hai dây khác cùng pha nên có cùng điện trở và hai điểm cuối của hai cuộn dây cùng pha sẽ có điện trở gấp đôi so với điện trở giữa điểm chung và một điểm cuối.
Troubleshooting
// Wave drive Mode
#include<reg51.h>
void msdelay(unsigned int time)
{
unsigned i,j ;
for(i=0;i<time;i++)
for(j=0;j<1275;j++);
}
void main()
{
while(1)
{
P2=0x01; // 0001 P2_0=1,P2_1=0,P2_2=0,P2_3=0
msdelay(1);
P2=0x02; //0010
msdelay(1);
P2=0x04; //0100
msdelay(1);
P2=0x08; //1000
msdelay(1);
}
}
// Full drive Mode
#include<reg51.h>
void msdelay(unsigned int time)
{
unsigned i,j ;
for(i=0;i<time;i++)
for(j=0;j<1275;j++);
}
void main()
{
while(1)
{
P2 = 0x03; //0011 P2_0=1,P2_1=1,P2_2=0,P2_3=0
msdelay(1);
P2 = 0x06; //0110
msdelay(1);
P2 = 0x0C; //1100
msdelay(1);
P2 = 0x09; //1001
msdelay(1);
}
}