quang cao hosting

Giới thiệu Servo SG90 và cách điều khiển bằng biến trở

Xem: 849    Tải: 0   Thảo luận: 0   Mục: Hệ thống nhúng   Lĩnh vực: none

0 điểm   ( 15 đánh giá ) File đã được kiểm thử

1. Giới thiệu

Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o - 180o. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,... 

Động cơ servo được thiết kế những hệ thống hồi tiếp vòng kín. Tín hiệu ra của động cơ được nối với một mạch điều khiển. Khi động cơ quay, vận tốc và vị trí sẽ được hồi tiếp về mạch điều khiển này. Nếu có bầt kỳ lý do nào ngăn cản chuyển động quay của động cơ, cơ cấu hồi tiếp sẽ nhận thấy tín hiệu ra chưa đạt được vị trí mong muốn. Mạch điều khiển tiếp tục chỉnh sai lệch cho động cơ đạt được điểm chính xác. Các động cơ servo điều khiển bằng liên lạc vô tuyến được gọi là động cơ servo RC (radio-controlled). Trong thực tế, bản thân động cơ servo không phải được điều khiển bằng vô tuyến, nó chỉ nối với máy thu vô tuyến trên máy bay hay xe hơi. Động cơ servo nhận tín hiệu từ máy thu này.

Hình 1: Loại micro servo Tower Pro 9g phổ biến

Hình 2: Bên trong một micro servo

2. Lắp mạch

Chuẩn bị

Hình 3: Sơ đồ mạch breadboard

Thư viện Servo đã có sẵn trong hệ thống thư viện mặc định của Arduino nên bạn không cần phải download một thư viện mới về.

Copy và dán code sau


 
  1. #include <Servo.h> // Thư viện điều khiển servo
  2.  
  3. // Khai báo đối tượng myservo dùng để điều khiển servo
  4. Servo myservo;
  5.  
  6. int bientro = A0; // Khai báo chân analog đọc biến trở điều khiển servo
  7. int servoPin = 9; // Khai báo chân điều khiển servo
  8.  
  9. void setup ()
  10. {
  11. ​// Cài đặt chức năng điều khiển servo cho chân servoPi
  12. ​myservo.attach(servoPin);
  13.  
  14. ​Serial.begin(9600); // Mở giao tiếp Serial ở baudrate 960
  15. }
  16.  
  17. void loop ()
  18. {
  19. ​int value = analogRead(bientro);// Đọc giá trị biến tr
  20.  
  21. ​// Chuyển giá trị analog (0-1023) đọc được từ biến trở sang số đo độ (0-180độ
  22. ​// dùng để điều khiển góc quay cho serv
  23. ​int servoPos = map(value, 0, 1023, 0, 180)
  24.  
  25. ​// Cho servo quay một góc là servoPos đ
  26. ​myservo.write(servoPos)
  27.  
  28. ​Serial.println(servoPos)
  29.  
  30. ​delay(100)
  31. }

3. Kết luận

Bạn hoàn toàn có thể làm rất nhiều thứ với Servo. Theo tớ được biết,  Servo được dùng trong dự án kBOT - Wifi Robot đã được tác giả  dùng trong việc điều chỉnh camera,  cánh tay robot và radar địa hình. Còn bạn thì sao? Hãy dùng Arduino UNO R3 và Servo làm nên những ứng dụng độc đáo!

 

Giới thiệu Servo SG90 và cách điều khiển bằng biến trở

Giới thiệu Servo SG90 và cách điều khiển bằng biến trở Đăng ngày 16-03-2020  Servo là một dạng động cơ điện đặc biệt. Không giống như động cơ thông thường cứ cắm điện vào là quay liên tục, servo chỉ quay khi được điều khiển (bằng xung PPM) với góc quay nằm trong khoảng bất kì từ 0o - 180o. Mỗi loại servo có kích thước, khối lượng và cấu tạo khác nhau. Có loại thì nặng chỉ 9g (chủ yếu dùng trên máy bay mô mình), có loại thì sở hữu một momen lực bá đạo (vài chục Newton/m), hoặc có loại thì khỏe và nhông sắc chắc chắn,... 5/10 849

Thảo luận:

Để bình luận bạn phải đăng nhập thành viên.

File tương tự

Files cùng mục

 
File gợi ý cho bạn
File tải nhiều nhất
Megacode.vn - Thư viện mã nguồn chia sẻ, tải file cho cộng đồng
Copyright © 2013-2021. All rights reserved. Bản quyền thuộc VinaGon
Email: info@vinagon.com
Hotline: 086.924.3838