Đang tải...

Vi điều khiển [O-H] Động cơ RC Servo được điều khiển như thế nào

Thảo luận trong 'Điện - Điện tử' bắt đầu bởi phanminhnhat, 16/4/13.

Thành viên đang xem bài viết (Users: 0, Guests: 0)

  1. phanminhnhat
    Offline

    Học việc
    Expand Collapse

    Tham gia ngày:
    26/4/09
    Số km:
    4,131
    Được đổ xăng:
    1,002
    Mã lực:
    616
    Giới tính:
    Nam
    Xăng dự trữ:
    36,100 lít xăng
    Khác với động cơ bước, động cơ servo là dạng động cơ điều khiển theo góc quay, được sử dụng khá phổ biến trong các bộ chấp hành của hệ thống cơ điện tử trên xe hơi, robot, mô hình...
    Em xin phép giới thiệu sơ qua về cách điều khiển nó để khi cần anh em có thể áp dụng vào một trường hợp nào đó:

    Cấu tạo:
    [​IMG]

    1. Động cơ DC
    2. Board điều khiển
    6. Biến trở
    7. Trục ra

    Các kiểu servo:
    [​IMG]

    Một servo motor thường có 3 dây:
    - GND
    - VCC
    - SIGNAL

    Tín hiệu điều khiển Servo: là tín hiệu dạng xung điều rộng PWM.
    Góc quay của trục ra động cơ chính là độ rộng của tín hiệu xung cấp vào chân signal.

    Xung điều rộng PWM sẽ có dạng như thế này:

    [​IMG]
    Trong đó:
    - Duty Cycle: độ rộng của xung
    - Time Period: Chu kì xung

    Tần số tối thiểu của xung PWM là 50Hz tức là Time Period = 20ms. Duty Cycle dùng để điều khiển servo thường là từ 0-3ms.
    Để tạo xung PWM điều khiển servo có rất nhiều cách, có thể dùng IC555 đơn giản, vi điều khiển, máy tính...
    Ví dụ minh họa: Sử dụng vi điều khiển STM32F103RCT6 phát xung PWM để điều khiển Servo motor SG90 có gắn một cảm biến siêu âm quay quét góc 180 độ:
    Đây là động cơ Servo SG90:
    [​IMG]
    Thông số điều khiển:
    - Frequency: 50Hz
    - Time Period: 20ms
    - Duty Cycle: 600us - 2600us




    Hy vọng là hữu ích cho mọi người.
     
    Đã được đổ xăng bởi anmapu1, truccdoto16d, hondahaui6 tài xế khác.
  2. chungthang
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    6/2/12
    Số km:
    5
    Được đổ xăng:
    3
    Mã lực:
    1
    Xăng dự trữ:
    185 lít xăng
    Để điều khiển được động cơ secvo phải có bộ điều khiển ( driver secvo)
    nói chung giống biến tần và động cơ
     
    Đã được đổ xăng bởi manhtuyen89.
  3. SLPRV
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    13/2/13
    Số km:
    20
    Được đổ xăng:
    8
    Mã lực:
    1
    Xăng dự trữ:
    323 lít xăng
    #3 SLPRV, 20/4/13
    Last edited by a moderator: 21/4/13
    Túm lại cũng chỉ có nhiêu ấy ,t k muốn sống theo kiêu ăn phủi ,nhưng thực ra t đọc mà sao chẳng hiểu nguyên tắc gì cả ấy nhỉ:
    thứ 1: độ rộng xung quyết định đến vấn đề gì ? cứ thấy là độ rộng xung điều khiển ,nhưng là điều khiển vị trí hay vận tốc ? hay là cả 2.
    thứ 2: làm sao động cơ quay ngược được, nếu độ rộng quyết định vận tốc quay
    Đây là 1 chút thắc mắc gà rù của em
     
    Đã được đổ xăng bởi chitripheo, Phạm Vỵ, thaodinh_amc1 tài xế khác.
  4. phanminhnhat
    Offline

    Học việc
    Expand Collapse

    Tham gia ngày:
    26/4/09
    Số km:
    4,131
    Được đổ xăng:
    1,002
    Mã lực:
    616
    Giới tính:
    Nam
    Xăng dự trữ:
    36,100 lít xăng
    Hình ảnh em đưa lên đã thể hiện rất rõ đây là loại RC servo điều khiển theo góc quay (Chứ không phải DC servo) và cách điều khiển cho loại này là cấp PWM và góc quay xác định theo Duty Cycle.
    Bài viết của em đơn giản chỉ với mục đích giới thiệu cách sử dụng nó đến với anh em chuyên ngành ôtô (Không dám múa rìu qua mắt thợ!!!)
     
    Đã được đổ xăng bởi Phạm Vỵmanhtuyen89.
  5. huynguyenmbv
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    19/1/10
    Số km:
    1,466
    Được đổ xăng:
    382
    Mã lực:
    316
    Giới tính:
    Nam
    Xăng dự trữ:
    941 lít xăng
    I'm respecting those your thread. Be greatful!
     
  6. SLPRV
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    13/2/13
    Số km:
    20
    Được đổ xăng:
    8
    Mã lực:
    1
    Xăng dự trữ:
    323 lít xăng
    #6 SLPRV, 23/4/13
    Last edited by a moderator: 23/4/13
    Nói rõ thêm cho ai lần đầu tiên làm về loại động cơ này như sau: ai cũng nói động cơ này quay theo xung nhận được ,1 cách nói chung chung dễ lầm cho ai mới bắt đầu ,rút cục là:
    nếu có 1 động cơ nhận xung trong khoảng 1ms-2ms, góc quay là 180 độ thì khi cấp xung có độ rộng 1ms thì ở vị trí -90 độ, cấp xung có độ rộng 2ms thì ở vị trí +90 độ .Còn với các giá trị trung gian sẽ tương ứng với các góc quay ở giữa [-90,+90]
    Lưu ý là động cơ này chỉ quay theo độ rộng xung , k quan tâm số lượng xung. tức là dựa vào độ rộng để xác định vị trí .

    Đó là ý kiến của em.
     
    Đã được đổ xăng bởi Phạm Vỵ, manhtuyen89luyen_hybrid .
  7. thinking
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    19/10/10
    Số km:
    4
    Được đổ xăng:
    3
    Mã lực:
    0
    Xăng dự trữ:
    316 lít xăng
    Bạn cho mình xin code để tham khảo được không? mail của mình là congbang2709@gmail.com,cảm ơn bạn
     
    Đã được đổ xăng bởi manhtuyen89.
  8. phanminhnhat
    Offline

    Học việc
    Expand Collapse

    Tham gia ngày:
    26/4/09
    Số km:
    4,131
    Được đổ xăng:
    1,002
    Mã lực:
    616
    Giới tính:
    Nam
    Xăng dự trữ:
    36,100 lít xăng
    Bạn sử dụng vi điều khiển gì?
    Ở trên mình đang dùng ARM STM32F103.
     
    Đã được đổ xăng bởi manhtuyen89.
  9. thinking
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    19/10/10
    Số km:
    4
    Được đổ xăng:
    3
    Mã lực:
    0
    Xăng dự trữ:
    316 lít xăng
    Mình cũng sử dụng stm32f103,bạn có thể chia sẻ code được không vì mình đang tìm hiểu về arm st32,mình muốn điều khiển được nhiều RC servo độc lập chứ k phải tạo những xung điều khiển 1 cách thủ công bằng delay
     
    Đã được đổ xăng bởi thaodinh_amcmanhtuyen89.
  10. phanminhnhat
    Offline

    Học việc
    Expand Collapse

    Tham gia ngày:
    26/4/09
    Số km:
    4,131
    Được đổ xăng:
    1,002
    Mã lực:
    616
    Giới tính:
    Nam
    Xăng dự trữ:
    36,100 lít xăng
    #10 phanminhnhat, 27/4/13
    Last edited by a moderator: 27/4/13
    Tạo xung PWM mà dùng delay thì phí tài nguyên quá bạn ạ, bác nên chuyển sang tạo PWM bằng phần cứng.

    STM32 hỗ trợ rất nhiều bộ TIMER 16 bit + có tích hợp ít nhất 6 kênh PWM bạn cứ thoải mái sử dụng :D

    Đây là toàn bộ project tạo PWM bằng TIMER1 điều khiển servo quét góc 180 độ mình copy cả thư viện nên bạn cớ thể chỉnh sửa và buid trực tiếp nhé:
    http://data.oto-hui.com/phanminhnhat/l5qqmpb3vhgf.html
     
    Đã được đổ xăng bởi huynguyenmbvtuananh0589.
  11. quanvancuong
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    5/9/12
    Số km:
    33
    Được đổ xăng:
    21
    Mã lực:
    26
    Xăng dự trữ:
    300 lít xăng
  12. tuananh0589
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    6/4/09
    Số km:
    596
    Được đổ xăng:
    330
    Mã lực:
    166
    Xăng dự trữ:
    798 lít xăng
    giống hệt con mô tơ liếc của các đèn headlight cao cấp và đời mới.em tìm mãi mà không có tài liệu nào nói về nó.cảm ơn bác chủ thớt.
     
  13. caoboi_dangyeu2000
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    2/3/12
    Số km:
    1
    Được đổ xăng:
    0
    Mã lực:
    0
    Xăng dự trữ:
    311 lít xăng
    bạn ơi sao mình download không được, bạn co the gửi mail dùm mình được không, mail mình là vinhsannguyen91@gmail.com, mình cảm on rat nhiều
     
  14. tamthang035
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    2/10/16
    Số km:
    9
    Được đổ xăng:
    0
    Mã lực:
    1
    Giới tính:
    Nam
    Xăng dự trữ:
    175 lít xăng
    cảm ơn ad đã chia sẻ bài viết này nha... mình rất hài lòng
     
  15. truccdoto16d
    Offline

    Tài xế O-H
    Expand Collapse

    Tham gia ngày:
    23/10/16
    Số km:
    1
    Được đổ xăng:
    0
    Mã lực:
    0
    Giới tính:
    Nam
    Xăng dự trữ:
    17 lít xăng
    hay
     

Chia sẻ trang này