STDIO
Tìm kiếm gần đây
    • Nội dung
    • QR Code
    • 0
    • 0
    • Sao chép

    Điều Khiển Động Cơ Servo Với Adruino

    Tìm hiểu cách hoạt động của động cơ servo và cách lập trình hoạt động thông qua Arduino với code mẫu.

    Vũ Quang Huy

    29/09/2014
    21/07/2020
    3 phút đọc
    Điều Khiển Động Cơ Servo Với Adruino

    Động cơ là một linh kiện được sử dụng rộng rãi, đóng vai trò vô cùng quan trọng trong việc chế tạo và vận hành robot.

    Động cơ có nhiều loại cũng như có rất nhiều biến thể khác nhau và một trong số các biến thể đó là loại động cơ cho phép ta điều khiển tốc độ, góc quay, ... hay nói khác đi cho phép ta ra lệnh điều khiển và thực thi lệnh đó một cách cực kì chính xác - đó chính là động cơ servo.

    Thiết bị cần chuẩn bị

    Bài viết này để thực hiện được, bạn đọc cần chuẩn bị các thiết bị sau:

    • 1 x Arduino Uno R3.
    • 1 x Servo Motor Tower Pro MG90S hay tương đương.

    Động cơ servo

    Như đã đề cập bên trên, động cơ servo là loại động cơ cho phép ta điều khiển một cách cực kì chính xác. Vì vậy, khác với động cơ thông thường ta chỉ cần cấp nguồn cho động cơ là có thể vận hành được. Động cơ servo yêu cầu ta phải cấp nguồn (2 dây) và nhận điều khiển từ mạch chính (1 dây), mỗi dây thường được đánh màu như sau:

    • Đỏ: nhận điện nguồn, tuỳ vào loại động cơ mà giá trị này có thể khác nhau
    • Đen: nối với cực âm của mạch
    • Vàng: nhận tín hiệu từ mạch điều khiển

    Phân loại động cơ servo

    Động cơ servo cũng được chia làm nhiều loại, phụ thuộc vào góc quay tối đa của chúng. 2 loại phổ biến được sử dụng là:

    • Động cơ servo quay 180°: Futaba S3003, MG90[S] ...
    • Động cơ servo quay 360°: MG995, MG996R ...

    Lắp đặt động cơ

    Động cơ servo sử dụng trong bài viết này là loại Tower Pro MG90S. Động cơ này quay được 180° (trái 90° và phải 90°).

    Dựa theo nguyên lý đã trình bày ở trên, ta lắp đặt động cơ theo sơ đồ sau:

    • Dây vàng nối với PIN 9 hay các PIN PWM tương đương (những PIN có kí hiệu ~ ở trước)
    • Dây đỏ nối với nguồn 5V
    • Dây đen nối vào chân âm
    Sơ đồ lắp

    Mạch sau khi hoàn tất việc lắp đặt:

    Hình ảnh thực tế 1
    ss_2
    Hình ảnh thực tế 2

    Lập trình điều khiển

    Arduino cung cấp sẵn một thư viện để hỗ trợ việc điều khiển hoạt động của động cơ, ra lệnh cho động cơ làm theo mong muốn.

    Minh hoạ việc sử dụng thư viện này để lập trình cho Arduino điều khiển servo như sau:

    1. Servo khởi đầu ở góc 0°
    2. Xoay tới góc 90° và dừng lại trong 1s
    3. Xoay tới góc 180° và dừng lại 1s
    4. Trở về góc 0° và lặp lại quá trình này

    Đoạn code thực hiện công việc

    #include <Servo.h> 
     
    #define SERVO_PIN 9
    
    Servo gServo;
     
    void setup() 
    { 
        gServo.attach(SERVO_PIN); 
    }
     
    void loop() 
    { 
        gServo.write(0);
        delay(1000);
    	
        gServo.write(90);
        delay(1000);
    	
        gServo.write(180);
        delay(1000);
    }
    • Dòng 1: khai báo với hệ thống là trong chương trình ta có sử dụng thư viện servo
    • Dòng 3: do ở đây ta sử dụng PIN 9 để điều khiển servo, vì vậy tôi đặt một hằng số với tên gọi SERVO_PIN có giá trị là 9
    • Dòng 5: khai báo đối tượng gServo, từ nay servo của chúng ta sẽ được điều khiển qua đối tượng này
    • Dòng 9: servo của ta sẽ điều khiển động cơ ở SERVO_PIN.
    • Dòng 11, 17, 20: điều chỉnh góc xoay của servo.

    Tiến hành biên dịch và upload code lên Arduino, nếu mọi thứ chính xác thì ta sẽ có được động cơ servo hoạt động giống như mô tả.

    0 Bình luận
    Điện Tử Ứng Dụng

    Điện Tử Ứng Dụng

    Kiến thức điện tử, Arduino, Raspberry Pi, giới thiệu sản phẩm.

    Đề xuất

    Điều Khiển Động Cơ Bằng IC L298
    Hướng dẫn sử dụng IC L298 đã tích hợp sẵn mạch cầu H, ứng dụng trong ...
    Dự Án Loa Thông Minh Điều Khiển Qua Giao Tiếp Bluetooth
    Dự án hướng dẫn các bạn một các điều khiển từ xa các thiết bị màn hình ...

    Khám phá

    Đo Tốc Độ Động Cơ Sử Dụng Cảm Biến IR FC-03
    Bài viết hướng dẫn cách sử dụng cảm biến đo tốc độ IR FC-03 kết hợp với ...
    CBP-8: Component Điều Khiển và AI – Component Ra Lệnh
    Component ra lệnh - các Component có khả năng gửi Entity Command cho ...
    SmartHome - Tổng Thể hay Rời Rạc
    Các thiết kế dựa vào tổng thể (1 giải pháp đóng gói) hay rời rạc từng ...
    CBP-4: Giao Tiếp với Entity – Hệ Thống Chỉ Lệnh
    Hướng dẫn về hệ thống chỉ lệnh, bước đầu hiện thực ứng dụng hệ thống chỉ ...
    Điều Chế Độ Rộng Xung - Pulse-Width Modulation
    Giới thiệu và sử dụng kỹ thuật điều chế độ rộng xung (Pulse-Width ...
    Điều Khiển Đèn LED trên Web bằng Raspberry Pi 4 và Node.js - Webserver với WebSocket
    Lập trình điều khiển bật tắt đèn LED trên website bằng Raspberry Pi 4 và ...
    Một Số Lệnh Điều Khiển Vòng Lặp trong Python
    Một số lệnh để điều khiển vòng lặp trong Python
    19/03/2015
    10 Thứ Bạn Có Thể Làm với JavaScript
    Giới thiệu 10 ứng dụng mà JavaScript với sự mạnh mẽ của nó có thể tạo ...
    Khi bạn nhấn vào liên kết sản phẩm do STDIO đề xuất và mua hàng, STDIO có thể nhận được hoa hồng. Điều này hỗ trợ STDIO tạo thêm nhiều nội dung hữu ích. Tìm hiểu thêm.
    STDIO
    Trang chính
    Công ty TNHH STDIO

    30, Trịnh Đình Thảo, Hòa Thạnh, Tân Phú, Hồ Chí Minh
    +84 28.36205514 - +84 942.111912
    developer@stdio.vn

    383/1 Quang Trung, Phường 10, Quận Gò Vấp, Hồ Chí Minh
    Số giấy phép ĐKKD: 0311563559 do sở Kế hoạch và Đầu Tư TPHCM cấp ngày 23/02/2012

    ©STDIO, 2013 - 2020