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

PWM tren PIC 16F877

Collapse
X
 
  • Giờ
  • Show
Clear All
new posts
  • vankhoakmt
    Thành viên tích cực
    • Mar 2008
    • 137

    #1

    PWM tren PIC 16F877

    Mình không hiểu lắm vềpwm trong PIC16F877

    Chu kỳ xung PWM = [(PR2) + 1] * Tclk * 4 *(hệ số Prescaler Timer2)
    1. mình nghĩ chu kỳ xung được tạo bởi PR2 và để tạo 10bit thì mượn thêm 2 bit của bộ Prescale, vì dịch phải 2 bit nên x4
    2. Hay có thể là nhân 4 do tần số vào prescale đã được chia 4 trước đó
    Chu kỳ nhiệm vụ = (CCPRL:CCPCON<5:4>) *Tclk *( hệ số Prescaler Timer2)

    Ai có thể giải thích giúp mình 2 công thức này chỗ (PR2+1) và vì sao lại x4 ???
  • vankhoakmt
    Thành viên tích cực
    • Mar 2008
    • 137

    #2
    Dạo này ít thấy ai ghé qua luồng PIC này quá

    Comment

    • linhnguyen
      Thành viên chính thức
      • Jun 2008
      • 71

      #3
      PWM trong PIC

      trong timer sau mỗi chu kì lệnh giá trị của TMR2 sẽ tăng lên 1 đơn vị. Nếu dùng bộ chia tần số, giả sử là 1: N thì sau N chu kì lệnh giá trị của TMR2 mới tăng lên 1 đơn vị.
      Mỗi chu kì lệnh gồm 4 chu kì xung.
      Chu kì xung chính là khoảng thời gian từ lúc TMR2=0 cho đến khi TMR2=PR2. Suy ra, để tăng PR2 đơn vị, hay chính là chu kì xung sẽ bằng:
      Tpwm = (PR2+1)*Tclk*4*N
      Ở đây, Tclk là chu kì xung của vi điều khiển hay chu kì của thạch anh
      N là tỉ lệ chia tần số. ok

      :

      Comment

      • vankhoakmt
        Thành viên tích cực
        • Mar 2008
        • 137

        #4
        Nguyên văn bởi linhnguyen Xem bài viết
        trong timer sau mỗi chu kì lệnh giá trị của TMR2 sẽ tăng lên 1 đơn vị. Nếu dùng bộ chia tần số, giả sử là 1: N thì sau N chu kì lệnh giá trị của TMR2 mới tăng lên 1 đơn vị.
        Mỗi chu kì lệnh gồm 4 chu kì xung.
        Chu kì xung chính là khoảng thời gian từ lúc TMR2=0 cho đến khi TMR2=PR2. Suy ra, để tăng PR2 đơn vị, hay chính là chu kì xung sẽ bằng:
        Tpwm = (PR2+1)*Tclk*4*N
        Ở đây, Tclk là chu kì xung của vi điều khiển hay chu kì của thạch anh
        N là tỉ lệ chia tần số. ok
        cám ơn bạn, nhưng mình cũng chưa hiểu sao timer lại tăng theo chu kỳ lệnh, mình nhớ nó tăng theo chu kỳ xung thì phải?
        Cứ mỗi clock hệ thống tăng thì bộ đếm Timer tăng thì phải, có gì sai sót bạn chỉ giúp. Mình mới bắt đầu với PIC và đang so với 8051

        Comment

        • linhnguyen
          Thành viên chính thức
          • Jun 2008
          • 71

          #5
          ban đọc lại datasheet cua PIC phan timer nhe

          :

          Comment

          • vankhoakmt
            Thành viên tích cực
            • Mar 2008
            • 137

            #6
            Đúnng là Timer sẽ tăng theo chu kỳ lệnh nên sẽ có x4 trong chu kỳ pwm.(mình nghĩ thực ra x4 và nhân cho tỉ số của Prescale thực ra là nhân với chu kỳ chính xác của xung clock cung cấp cho VDK)

            Còn ở chu kỳ nhiệm vụ sao lại có công thức tính như thế?
            Mong bác chỉ giúp, tôi chưa hiểu lắm

            Comment

            • ha_thi
              Thành viên tích cực
              • Nov 2008
              • 108

              #7
              có ai biết con DAC MCP4822 có ở thị trường việt nam kô vậy? nếu có thì ở đâu bán vậy, mình ở HN
              Cái gì biết nói biết. Cái không biết nói không biết. Ấy là biết đấy!
              email:

              Comment

              Về tác giả

              Collapse

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

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

              Collapse

              Đang tải...