RP Store Tìm linh kiện theo mã, gửi BOM nhận báo giá Gửi BOM

TẠO xung Vuông 50hz bằng PWM

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • exellence
    Nhập môn đệ tử
    • Mar 2011
    • 7

    #1

    TẠO xung Vuông 50hz bằng PWM

    em muỐn tạo xung vuông 50hz bằng pwm dùng pic16f877a. mà ko biết tạo kiểu gì tại cái timer2 có 8bit. các bác giúp em với
  • toancdt
    Đệ tử 2 túi
    • Apr 2011
    • 31

    #2
    Nguyên văn bởi exellence View Post
    em muỐn tạo xung vuông 50hz bằng pwm dùng pic16f877a. mà ko biết tạo kiểu gì tại cái timer2 có 8bit. các bác giúp em với
    bạn muốn điều khiển rc servo hay gì mà tạo xung 50hz
    [email]toancdt09@gmail.com

    Comment

    • nhanh0112
      Đệ tử 4 túi
      • May 2007
      • 81

      #3
      Góp ý nhỏ một chút, hy vọng giúp đc bạn!
      Trường hợp tạo với PWM với tần số (f) thấp. bạn có thể tái tạo từ một PWM tần số cao.
      Ví dụ T của PWM bạn tạo ra là 1ms (tương ứng f=1kHz)
      như vậy timer2 sẽ tạo ra ngắt sau mỗi 1ms
      Trong ngắt timer2 ta sẽ tạo 1 biến đếm:
      50Hz -> 20ms vậy cứ 10ms ta sẽ có 1 side
      10 x 1ms=10ms
      + nếu <=10 thì set duty = 100% (high side)
      + nếu >10 thì set duty = 0% (low side)
      + nếu >20 thì =0

      Một ví dụ điển hình là vậy, nếu bạn chọn tần số của PWM khác thì bạn chọn biến đếm cho phù hợp, sao cho tổng T(out)=T(PWM) x biến đếm.
      Cá nhân tôi cảm thấy dùng cách này thì xung ra ổn định hơn so với việc dùng timer để đẩy 1 chân bất kỳ nào đó lên hay xuống (dù sao thì nó cũng là hard PWM) và tránh bị các tác vụ khác xen kẽ (với nhưng chương trình dài) làm xung bị sai số.
      Đó là cách nghĩ của tui (cũng đã từng làm để điều chế RC mà), bạn có thể tham khảo.

      Comment

      • exellence
        Nhập môn đệ tử
        • Mar 2011
        • 7

        #4
        Nguyên văn bởi toancdt View Post
        bạn muốn điều khiển rc servo hay gì mà tạo xung 50hz
        mình điều khiển RC servo loại SG90

        Comment

        • toancdt
          Đệ tử 2 túi
          • Apr 2011
          • 31

          #5
          Nguyên văn bởi exellence View Post
          mình điều khiển RC servo loại SG90
          điều khiển rc servo bạn dùng timer nào cũng được, không nhất thiết phải điều khiển bằng PWM, bạn cho một biến đếm trong chương trình ngắt timer và so sánh biến đếm đó để xuất xung theo tần số yêu cầu.
          [email]toancdt09@gmail.com

          Comment

          Working...