Điều khiển tốc độ động cơ DC bằng Arduino
Bài viết hôm nay xin giới thiệu đến các bạn phương pháp điều khiển tốc độ motor DC bằng Arduino. Tìm hiểu về nguyên lý sơ đồ mạch điện và lập trình điều khiển Arduino.
1. Nguyên lý điều khiển tốc độ motor DC bằng Arduino
Để thay đổi tốc độ động cơ một chiều người ta có thể mắc điện trở điều chỉnh vào phần ứng, thay đổi điện áp đặt vào động cơ, thay đổi từ thông.
>>>Xem thêm:
Động cơ 1 chiều là gì
Mạch cầu H sử dụng mosfet
Điều khiển tốc độ động cơ dc bằng mạch cầu H L298
Điều khiển tốc độ động cơ bằng pwm
[button color=”orange” size=”medium” link=”http://bblink.com/OMJ7Roo” icon=”” target=”false”]Download 5 mạch điều khiển Motor DC Pdf và mô phỏng[/button]
Phương pháp thay đổi điện áp được sử dụng rộng rãi. Do khoảng điều chỉnh tốc độ rộng và giá thành rẻ. Điển hình là phương pháp thay đổi điện áp bằng cách điều chế độ rộng xung PWM. Người ta dùng mạch điện tử để thay đổi điện áp ngỏ ra dưới dạng xung điện có tần số không đổi, việc thay đổi độ rộng xung sẽ thay đổi điện áp và dòng điện trung bình ngỏ ra.
Phương pháp điều chế độ rộng xung PWM
2. Lập trình Arduino điều khiển tốc độ
Ở board Arduino UNO có thể xuất xung PWM có tần số không đổi 490Hz ở các chân 3,8,9,11 và tần số 980Hz ở chân 5,6.
Ví dụ dưới dây dùng Arduino đọc giá trị biến trở ở chân A0 và xuất PWM ở chân 9.
Mô phỏng xuất xung PWM bằng Arduino
Chương trình Arduino trên phần mềm IDE được viết như sau:
int bientro=0; void setup() { } void loop() { bientro=analogRead(0); analogWrite(9,bientro/4); } |
Hàm analogRead đọc giá trị biến trở ở chân Analog 0, giá trị này từ 0 – 1023 tương ứng với điện áp đọc được từ 0 – 5V.
Hàm analogWrite xuất xung PWM ở chân 9, có độ rộng xung từ 0 – 100% tương ứng với giá trị đầu vào từ 0 – 255.
Video mô phỏng Arduino xuất xung PWM trên phần mềm proteus:
3. Sơ đồ mạch điều khiển tốc độ motor DC bằng Arduino
Sơ đồ mạch được vẽ như hình bên dưới:
Sơ đồ mạch điều khiển tốc độ motor DC bằng arduino
Nguyên lý hoạt động: Arduino sẽ xuất xung PWM tùy thuộc vào giá trị biến trở RV1 đọc được. Xung PWM sẽ điều khiển đóng mở Mosfet Q3. Arduino được cách ly với phần công suất bởi opto PC817.
+ Khi xung PWM ở mức cao: LED của opto PC817 không sáng, dẫn đến cực CE hở. Khi đó điện trở R2 sẽ kéo điện áp cực B của hai transitor Q1, Q2 lên 12V. Lúc này transitor Q1 được phân cực sẽ dẫn điện; dòng điện chạy qua Q1, R3 kích mở mosfet Q3. Do Q3 dẫn điện nên điện áp đo được hai đầu động cơ là 12V.
Do bên trong mosfet có điện dung ký sinh, để giảm dòng điện nạp cho tụ điện này ta mắc thêm điện trở R3 ở cực G của mosfet.
Điện áp xung PWM ở mức cao
+ Khi xung PWM ở mức thấp: LED của opto PC817 sáng nên transitor bên trong opto được kích dẫn, hai chân CE lúc này như công tắc đóng. Khi đó điện áp cực B của hai transitor Q1 và Q2 kéo về 0V. Lúc này Q2 dẫn điện, do điện dung ký sinh Mosfet Q3 xả điện qua điện trở R3 và Q2. Do cực G Mosfet Q3 về mức thấp nên Q3 không dẫn. Nên điện áp hai đầu động cơ đo được là 0V.
Điện áp xung PWM ở mức thấp
Video mô phỏng mạch điều khiển tốc độ motor DC bằng Arduino:
Nhận xét: Xung PWM của Arduino và xung ngỏ ra động cơ ngược pha nhau. Nhưng do điện áp xung ngõ ra được đo ở phía dưới động cơ nên khi giá trị độ rộng xung 100% thì động cơ sẽ ngừng quay. Do đó khi giá trị biến trở lớn nhất thì tốc độ động cơ lớn nhất.
Nơi mua Arduino giá rẻ mà chất lượng?
Với giá bán cạnh tranh trên các sàn thương mại điện tử được nhiều người sử dụng đánh giá cao. Giao hàng tận nơi, với chính sách hoàn trả tiền nếu sản phẩm bị lỗi nên khách hàng có thể yên tâm đặt sử dụng các sản phẩm của Shop.
+ Giao hàng nhanh
+ Đổi hàng hoặc hoàn tiền trong vong 3 ngày.
+ Sản phẩm được nhiều khác hàng yêu thích
+ Giá rẻ bất ngờ chỉ từ 55.000 với arduino chíp dán
[button color=”orange” size=”medium” link=”http://bblink.com/OMJ7Roo” icon=”” target=”false”]Download 5 mạch điều khiển Motor DC Pdf và mô phỏng[/button]
Tài Liệu Tham Khảo
[1] | https://www.arduino.cc/en/tutorial/ potentiometer, 1/1/2021. |
[2] | https://www.arduino.cc/en/Tutorial/ Foundations/PWM/, 1/1/2021. |