Trong hướng dẫn này, chúng ta sẽ giao diện động cơ DC với Arduino UNO và điều khiển tốc độ của nó bằng cách sử dụng khái niệm PWM (Điều chế độ rộng xung). Tính năng này được kích hoạt trong UNO để có được điện áp thay đổi trên điện áp không đổi. Phương pháp PWM được giải thích ở đây; coi một mạch điện đơn giản như hình vẽ bên.
Nếu nút được nhấn nếu hình, thì động cơ sẽ bắt đầu quay và nó sẽ chuyển động cho đến khi nhấn nút. Việc nhấn này diễn ra liên tục và được thể hiện trong làn sóng hình đầu tiên. Đối với một trường hợp, nút xem xét được nhấn trong 8ms và mở trong 2ms trong chu kỳ 10ms, trong trường hợp này, động cơ sẽ không trải qua điện áp pin 9V hoàn toàn vì nút chỉ được nhấn trong 8ms, do đó, điện áp đầu cuối RMS trên động cơ sẽ được khoảng 7V. Do điện áp RMS giảm này, động cơ sẽ quay nhưng với tốc độ giảm. Bây giờ thời gian bật trung bình trong khoảng thời gian 10ms = Thời gian BẬT / (Thời gian BẬT + Thời gian TẮT), đây được gọi là chu kỳ nhiệm vụ và là 80% (8 / (8 + 2)).
Trong trường hợp thứ hai và thứ ba, thời gian nhấn nút thậm chí còn ít hơn so với trường hợp đầu tiên. Do đó, điện áp đầu cuối RMS tại các đầu cuối của động cơ thậm chí còn giảm hơn nữa. Do điện áp giảm này, tốc độ động cơ thậm chí còn giảm hơn nữa. Sự giảm tốc độ này với chu kỳ làm việc liên tục xảy ra cho đến một điểm, nơi điện áp đầu cuối của động cơ sẽ không đủ để quay động cơ.
Vì vậy, chúng ta có thể kết luận PWM có thể được sử dụng để thay đổi tốc độ động cơ.
Trước khi đi sâu hơn, chúng ta cần thảo luận về H-BRIDGE. Bây giờ mạch này chủ yếu có hai chức năng, đầu tiên là điều khiển động cơ DC từ các tín hiệu điều khiển công suất thấp và hai là thay đổi hướng quay của động cơ DC.
Hình 1
Hình 2
Chúng ta đều biết rằng đối với động cơ điện một chiều, để thay đổi chiều quay, chúng ta cần thay đổi các cực của điện áp cung cấp cho động cơ. Vì vậy, để thay đổi các cực, chúng tôi sử dụng cầu H. Bây giờ trong hình trên, chúng ta có bốn công tắc. Như hình 2, cho động cơ quay A1 và A2 được đóng lại. Do đó, dòng điện chạy qua động cơ từ phải sang trái, như thể hiện trong phần thứ 2 của hình 3. Bây giờ hãy xem xét động cơ quay theo chiều kim đồng hồ. Bây giờ nếu các công tắc A1 và A2 được mở, B1 và B2 được đóng lại. Các dòng điện qua động cơ dòng từ trái sang phải như trong 1 st một phần của hình3. Chiều dòng điện này ngược lại với hướng đầu tiên và do đó chúng ta thấy điện thế ngược chiều ở đầu cuối động cơ với hướng đầu tiên, vì vậy động cơ quay ngược chiều. Đây là cách H-BRIDGE hoạt động. Tuy nhiên, động cơ công suất thấp có thể được điều khiển bằng IC H-BRIDGE L293D.
L293D là một IC H-BRIDGE được thiết kế để điều khiển động cơ DC công suất thấp và được thể hiện trong hình. IC này bao gồm hai cầu h và do đó nó có thể điều khiển hai động cơ DC. Vì vậy, vi mạch này có thể được sử dụng để điều khiển động cơ của robot từ các tín hiệu của vi điều khiển.
Bây giờ như đã thảo luận trước đó, IC này có khả năng thay đổi hướng quay của động cơ DC. Điều này đạt được bằng cách điều khiển các mức điện áp tại INPUT1 và INPUT2.
Bật ghim |
Đầu vào Pin 1 |
Đầu vào Pin 2 |
Hướng động cơ |
Cao |
Thấp |
Cao |
Rẽ phải |
Cao |
Cao |
Thấp |
Rẽ trái |
Cao |
Thấp |
Thấp |
Dừng lại |
Cao |
Cao |
Cao |
Dừng lại |
Vì vậy, như thể hiện trong hình trên, đối với quay theo chiều kim đồng hồ, 2A phải ở mức cao và 1A phải ở mức thấp. Tương tự đối với ngược chiều kim đồng hồ, 1A nên cao và 2A nên thấp.
Như trong hình, Arduino UNO có các kênh 6PWM, vì vậy chúng ta có thể nhận PWM (điện áp thay đổi) ở bất kỳ chân nào trong số sáu chân này. Trong hướng dẫn này, chúng tôi sẽ sử dụng PIN3 làm đầu ra PWM.
Phần cứng: ARDUINO UNO, nguồn điện (5v), tụ điện 100uF, đèn LED, nút (hai miếng), điện trở 10KΩ (hai miếng).
Phần mềm: arduino IDE (Arduino nightly).
Sơ đồ mạch
Mạch được kết nối trong breadboard như sơ đồ mạch được hiển thị ở trên. Tuy nhiên, người ta phải chú ý trong quá trình kết nối các thiết bị đầu cuối LED. Mặc dù các nút hiển thị hiệu ứng nảy trong trường hợp này, nó không gây ra sai số đáng kể nên chúng ta không cần lo lắng lần này.
PWM từ UNO rất dễ dàng, trong những trường hợp bình thường thiết lập bộ điều khiển ATMEGA cho tín hiệu PWM không dễ dàng, chúng ta phải xác định nhiều thanh ghi và cài đặt để có tín hiệu chính xác, tuy nhiên trong ARDUINO chúng ta không phải xử lý tất cả những thứ đó.
Theo mặc định, tất cả các tệp tiêu đề và thanh ghi được xác định trước bởi ARDUINO IDE, chúng ta chỉ cần gọi chúng và thế là xong, chúng ta sẽ có một đầu ra PWM ở chân thích hợp.
Bây giờ để có được đầu ra PWM ở một chân thích hợp, chúng ta cần làm việc trên ba điều,
|
Đầu tiên chúng ta cần chọn chân đầu ra PWM từ sáu chân, sau đó chúng ta cần đặt chân đó làm đầu ra.
Tiếp theo, chúng ta cần kích hoạt tính năng PWM của UNO bằng cách gọi hàm “analogWrite (pin, value)”. Ở đây 'pin' đại diện cho số pin mà chúng tôi cần đầu ra PWM, chúng tôi đang đặt nó là '3'. Vì vậy, tại PIN3, chúng tôi nhận được đầu ra PWM.
Giá trị là chu kỳ nhiệm vụ bật ON, từ 0 (luôn tắt) đến 255 (luôn bật). Chúng tôi sẽ tăng và giảm con số này bằng cách nhấn nút.
UNO có độ phân giải tối đa là “8”, không thể đi xa hơn do đó các giá trị từ 0-255. Tuy nhiên, người ta có thể giảm độ phân giải của PWM bằng cách sử dụng lệnh “analogWriteResolution ()”, bằng cách nhập giá trị từ 4-8 trong dấu ngoặc, chúng ta có thể thay đổi giá trị của nó từ PWM bốn bit thành PWM tám bit.
Công tắc là để thay đổi chiều quay cho động cơ điện một chiều.