1. Giới thiệu động cơ bƣớc
1.5. Phƣơng pháp điều khiển động cơ bƣớc
141
Hình 16.3. xung điều khiển động cơ bước
* Phương pháp điều khiển động cơ bước
- Điều khiển dạng sóng (Wave): là phƣơng pháp điều khiển cấp xung điều khiển lần lƣợt theo thứ tự chon từng cuộn dây pha.
- Điều khiển bƣớc đủ (Full step): là phƣơng pháp điều khiển cấp xung đồng
thời cho 2 cuộn dây pha kế tiếp nhau.
- Điều khiển nửa bƣớc (Half step): là phƣơng pháp điều khiển kết hợp cả 2
phƣơng pháp đều khiển dạng sóng và điều khiển bƣớc đủ. Khi điều khiển theo phƣơng pháp này thì giá trị góc bƣớc nhỏ hơn hai lần và số bƣớc của động cơ bƣớc tăng lên 2 lần so với phƣơng pháp điều khiển bƣớc đủ tuy nhiên phƣơng pháp này có bộ phát xung điều khiển phức tạp.
- Điều khiển vi bƣớc (Microstep): là phƣơng pháp mới đƣợc áp dụng trong việc điều khiển động cơ bƣớc cho phép động cơ bƣớc dừng và định vị tại vị trí nửa bƣớc giữa 2 bƣớc đủ.
Ƣu điểm của phƣơng pháp này là động cơ có thể hoạt động với góc bƣớc nhỏ,độ chính xác cao. Do xung cấp có dạng sóng nên động cơ hoạt động êm hơn,hạn chế đƣợc vấn đề cộng hƣởng khi động cơ hoạt động.
2. Phần cứng *Chuẩn bị:
- Mạch Arduino UNO
- Breadboard còn gọi testboard. - Dây cắm test board.
- 1 bộ nguồn ngoài (5V đến 12V) ( trong bài này chúng ta có thể sử dụng nguồn 5Vdc của arduino nhƣng khuyến cáo hạn chế sử dụng đểtránh việc hư board arduino).
142
Hình 16.4. module điều khiển động cơ bước
+ Thông số kỹ thuật:
Điện áp cung cấp: 5 ~ 12VDC.
Tín hiệu ngõ vào: 4 chân in1, in2, in3, in4.
Tìn hiệu ngõ ra: Jack cắm động cơ bƣớc 28BYJ-48. 4 led hiển thị trạng thái hoạt động của động cơ. - 1 động cơ bƣớc stepper 28BYJ-48:
143 Thông số kỹ thuật: Điện thế hoạt động 5V Số pha 4 Tỉ lệ bánh răng *64 Một bƣớc tƣơng đƣơng 5.625° (64 bƣớc) Tần số 100Hz Điện trở trong 50Ω±7%(25℃)
Động cơ bƣớc sử dụng trong phần này là động cơ bƣớc 4 pha (thực ra là 2 pha đƣợc chia ra làm 2 ở mỗi pha ngay tại vị trí giữa) (gồm 5 dây), 4 trong 5 dây này đƣợc kết nối với 2 cuộn dây trong động cơ và 1 dây là dây nguồn chung cho cả 2 cuộn dây. Mỗi bƣớc của động cơ quét 1 góc 5.625 độ, vậy để quay 1 vòng động cơ phải thực hiện 64 bƣớc.
* Lắp mạch:
Hình 16.5. Giao tiếp UNO với động cơ bước
3. Lập trình và giải thích
#define IN1 8 // IN1 nối với chân D8 của arduino
#define IN2 9 // IN2 nối với chân D9 của arduino #define IN3 10 // IN3 nối với chân D10 của arduino #define IN4 11 // IN4 nối với chân D11của arduino int Steps = 4096;
int cstep = 0; void setup() {
144 Serial.begin(9600);
pinMode(IN1, OUTPUT); // các chân IN quy định là các chân ra pinMode(IN2, OUTPUT); pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT); } void loop() { for(int x=0;x<Steps;x++) { step1(); //delay(1); delayMicroseconds(2500); } delay(1000); } void step1() { //stepp switch(cstep) { case 0: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH); break; case 1: digitalWrite(IN1, LOW); digitalWrite(IN2, LOW); digitalWrite(IN3, HIGH); digitalWrite(IN4, HIGH); break; case 2: ……… digitalWrite(IN4, LOW);
145 break; } cstep=cstep+1; if(cstep==8) {cstep=0;} }
CÂU HỎI VÀ BÀI TẬP
Câu 1: Trình bày cấu tạo và nguyên lý hoạt động của động cơ bƣớc? Câu 2: Viết chƣơng trình điều khiển động cơ bƣớc?
146
BÀI 17: UART-GIAO TIẾP GIỮA 2 ARDUINO
* Giới thiệu: Chuẩn giao tiếp truyền thông nối tiếp UART trên Arduino (hay còn
đƣợc biết đến với tên gọi Serial) là chuẩn giao tiếp đƣợc sử dụng rất nhiều trong các ứng dụng hệ thống nhúng. Trong bài viết này sẽ hƣớng dẫn tiếp cận và lập trình
với giao tiếp UART một cách đơn giản nhất
*Mục tiêu: Sau khi học xong bài học này, ngƣời học có khảnăng:
- Trình bày đƣợc chức năng, nguyên lý hoạt động của giao tiếp UART trong Arduino
-Vẽ đƣợc sơ đồ nguyên lý mạch giao tiếp UART
- Mô phỏng đƣợc chƣơng trình mạch giao tiếp UART bằng phần mềm mô phỏng
- Kết nối đƣợc phần cứng mạch giao tiếp UART đúng yêu cầu kỹ thuật. - Viết, nạp và chạy đƣợc chƣơng trình giao tiếp UART .
- Rèn luyện tính tƣ duy và tác phong công nghiệp , đảm bảo an toàn cho
ngƣời và thiết bị
*Nội dung: