Thông báo

Collapse
No announcement yet.

Giúp đỡ về độ chính xác của pwm...

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giúp đỡ về độ chính xác của pwm...

    Em viết code đơn giản thế này:

    #include <18f4620.h>
    #BYTE PORTC=0xf82
    #byte TRISC=0xf94
    #fuses HS, NOWDT
    #use delay (clock=20000000)

    void main()
    {
    TRISC=0x00;
    PORTC=0x00;
    setup_ccp1(CCP_PWM);
    set_pwm1_duty(512);
    setup_timer_2(T2_DIV_BY_1,255,1);
    while(1);
    }

    khi em mô phỏng trên proteus đúng là duty cycle = 50%.
    nhưng khi làm mạch thật thì không phải như vậy...
    chân tín hiệu pwm được nối vào opto pc817, hiệu điện thế cấp cho pc817 là 5V...
    nếu đúng dutycyle=50% thì điện áp dc ở ngõ ra của pc817 phải là 5/2=2.5V chứ...
    vì em cần điều khiển motor dc không hồi tiếp nên cần cấp xung pwm thật chính xác...
    mong mấy huynh giúp đỡ...
    thanks mấy huynh trước nha..

  • #2
    Opto PC817 chỉ đáp ứng được ở tần số chuyển mạch thấp (thời gian chuyển mạch lớn hơn 2ms), bạn phải thay bằng con opto có đáp ứng nhanh hơn (cách li quang tốc độ cao).

    Comment


    • #3
      cảm ơn pk178 nha...chắc mình phải làm thế rồi...đo điện áp ra tại chân pic thì đúng là bằng 1/2 giá trị điện áp ở chân "high",nhưng qua opto thì gia trị không bằng 1/2 nguồn cấp nữa...chắc opto đáp ứng với tần số đóng ngắt cao không được...

      Comment

      Về tác giả

      Collapse

      handsome3746 Tìm hiểu thêm về handsome3746

      Bài viết mới nhất

      Collapse

      Đang tải...
      X