Giải Pháp  IoT Internet of Things
 
Hướng dẫn điều khiển động cơ Servo bằng Raspberry Pi
17:26 | 03/05/2016

Giới thiệu

Động cơ servo được dùng rộng rãi trong điều khiển chính xác vị trí cử động của robot, máy bay mô hình (cánh máy bay), xe hơi đồ chơi (hướng lái) hoặc điều khiển đế quay camera an ninh; hoặc bất cứ ứng dụng nào cần điều khiển chính xác vị trí mà bạn có thể nghĩ ra được. Trong bài viết này, iotbreaks.vn sẽ giới thiệu các bạn cách điều khiển động cơ servo bằng Raspberry Pi

Nguyên lý hoạt động

Raspberry Pi điều xung PWM trên cổng GPIO (xem chi tiết Hướng dẫn cách tạo, điều xung PWM bằng Raspberry Pi). Động cơ servo khi nhận được xung PWM sẽ quay đến góc tương ứng với chiều độ rộng xung PWM
Động cơ servo thông thường có góc quay 180 độ (0->180 độ). Trên thị trường cũng có số loại servo được hack để có góc quay 360 độ nhưng không phổ biến nên bài viết này iotbreaks.vn chỉ tập trung vào servo 180 độ:

Động cơ Servo
Động cơ Servo

Động servo có 3 dây ra:

  • Dây nâu: GND
  • Dây đỏ: DC VCC 4.8V-7.2V
  • Dây vàng: Nhận xung PWM

Góc quay của động cơ servo:
Thông thường, khi nhận được xung có độ rộng là 1ms thì servo sẽ quay đến góc 0 độ và khi nhận được xung rộng 2ms thì sẽ quay đến góc 180. Các góc quay còn lại sẽ tuyến tính theo 2 mốc này. Trên thực tế 2 mốc 1ms, 0 độ và 2ms, 180 độ thường có sai số do cấu tạo của từng động cơ nên chúng ta cần thực nghiệm trên động cơ để xác định lại 2 mốc này. Trong trường hợp motor của iotbreaks.vn sử dụng thì 2 mốc đó là 0,4ms, 0 độ và 2,4ms, 180 độ

Cách hoạt động của động cơ servo
Cách hoạt động của động cơ servo

Cách cài đặt

Phần cứng

Sơ đồ mạch như sau:

Sơ đồ đi dây điều khiển servo bằng Raspberry Pi
Sơ đồ đi dây điều khiển servo bằng Raspberry Pi

Như trên hình ta thấy sẽ phải cấp nguồn ngoài (4 * pin AAA, 1.2V)  cho động cơ servo mà không dùng nguồn từ Raspberry Pi là để ngăn ngừa dòng quá lớn và làm hỏng Pi. Tuy nhiên, bạn cũng phải lưu ý một điều là phảinối GND của nguồn servo và GND của Raspberry Pi (chân số 6) như trên hình. Như vậy thì servo mới có thể hiểu được xung PWM từ Pi
Trong demo này, iotbreaks.vn chọn chân vật lý số 7 của Raspberry Pi Rv2 để làm nguồn PWM. Như các bạn thấy chân này đã được nối với dây vàng của servo

Phần mềm

Vì tính tiện dụng và gọn gàng của thư viện hỗ trợ của Python cho Raspberry Pi, iotbreaks.vn chọn Python để giới thiệu bạn cách lập trình điều khiểnđộng cơ servo. Đầu tiên, bạn tạo file thực thi python.
$ vi servo.py

Trong nội dung file bạn code như sau:

Đoạn code điều khiển cho servo về vị trí 0 độ và từ từ nhích về tới góc 180 độ. Cứ như thế lặp lại đến khi dừng chương trình. Trong đoạn code nếu các bạn không hiểu về cách tạo xung pwm, hoặc các khái niệm chu kỳ, tần số, Duty Cycle, độ rộng xung thì bạn có thể tham khảo bài viết: Hướng dẫn tạo và điều xung PWM bằng Raspberry Pi

Sau khi code xong, bạn save file và thực thi file:

$ sudo python servo.py

Vậy là đã hoàn thành tất cả các bước. Chúc các bạn thành công!

 
Ý kiến phản hồi và bình luận Góp ý kiến của bạn

Các tin mới nhất :
- Hướng dẫn điều khiển động cơ Servo bằng Raspberry Pi
- Lý thuyết về I2C – Một chuẩn giao tiếp Serial.
Các tin liên quan :
- Lý thuyết về I2C – Một chuẩn giao tiếp Serial.
Bài nhiều người đọc cùng chuyên mục
Lý thuyết về I2C – Một chuẩn giao tiếp Serial.
 
Trang chủ | Giới thiệu | Quảng cáo | Liên hệ
Giấy phép ICP số 199/GP-TTĐT. Bộ Thông tin và Truyền thông cấp.
Cơ quan quản lý  : Công Ty Cổ Phần Kênh Giải Pháp
Bản quyền © 2010-2011 Kenhgiaiphap.vn . Giữ toàn quyền.
Ghi rõ nguồn "Kenhgiaiphap.vn" khi phát hành lại thông tin từ website này.

return false; });