Thông báo

Collapse
No announcement yet.

hỏi về sự ảnh hưởng của tần số trong pwm?

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

  • #16
    thank bác, vậy nếu dung thach anh 20Mhz, cho 16f877a, thì timer_2 nó là 255, vậy là số 255 đc đếm từ 0-->255 hả bác, còn 1 là bước nhảy hả bác, nếu vậy thì tốc độ đém nó tính ntn và tần số xung lúc này là bao nhiêu
    TamPhieuLuuKy@yahoo.com
    092 2838 712 --->>

    Comment


    • #17
      hai...za, chào các bác, em có 1 cây đèn đường dùng bình 24v, có bộ ballast đóng hộp, em đang định pwm cho nó mà ko hiểu sao fet nong wa, nói chung kích fet ok rồi, fet nó nóng cũng từ từ nóng lên thôi, nhưng nóng lắm, mở cái mạch ballast này ra xem thì thấy nó dùng ic3525 để điều xung, có 1 con diode thường 10A chặng ngay ngỏ và mà ko hiểu sao con Fet nó vẫn nóng(chắc ko có áp hồi tiếp ngược), ko biết có thể pwm cho ballast dc ko mấy bác
      TamPhieuLuuKy@yahoo.com
      092 2838 712 --->>

      Comment


      • #18
        cao thu ui, help me!
        TamPhieuLuuKy@yahoo.com
        092 2838 712 --->>

        Comment


        • #19
          cho mình hỏi, mình pwm cho led công suất 1w, có tản nhiệt mát mẻ, mình chỉnh độ rộng xung sao cho khi đo áp trung bình là 3v, thì thấy dòng xung wa là 0,4A, mà con le nó sáng hơn tái(dùng nguồn bình), còn dùng nguồn adapter(500mA) thì nó sáng trắng? tại sao? cách khắc phục, tần số pwm có ảnh hưởng ko? pwm bằng delay! thank!
          TamPhieuLuuKy@yahoo.com
          092 2838 712 --->>

          Comment


          • #20
            Nguyên văn bởi superhieu1 Xem bài viết
            hai...za, chào các bác, em có 1 cây đèn đường dùng bình 24v, có bộ ballast đóng hộp, em đang định pwm cho nó mà ko hiểu sao fet nong wa, nói chung kích fet ok rồi, fet nó nóng cũng từ từ nóng lên thôi, nhưng nóng lắm, mở cái mạch ballast này ra xem thì thấy nó dùng ic3525 để điều xung, có 1 con diode thường 10A chặng ngay ngỏ và mà ko hiểu sao con Fet nó vẫn nóng(chắc ko có áp hồi tiếp ngược), ko biết có thể pwm cho ballast dc ko mấy bác
            nếu kích fet = 5v thì nó ko dẫn hết nên nó nóng như vậy đó. Bạn phải kích từ 10 đến 15v thì mới ok. 5v vẫn dẫn nhưng chụi dòng bé. Nếu tài có dòng lớn thì sẽ bị cháy. Bạn phải làm thêm diver để kích cho fet

            Comment


            • #21
              Nguyên văn bởi superhieu1 Xem bài viết
              cho mình hỏi, mình pwm cho led công suất 1w, có tản nhiệt mát mẻ, mình chỉnh độ rộng xung sao cho khi đo áp trung bình là 3v, thì thấy dòng xung wa là 0,4A, mà con le nó sáng hơn tái(dùng nguồn bình), còn dùng nguồn adapter(500mA) thì nó sáng trắng? tại sao? cách khắc phục, tần số pwm có ảnh hưởng ko? pwm bằng delay! thank!
              ko hiểu ý bạn lắm "led sáng hơn tải là sao".

              Comment


              • #22
                minh` kich' fet 9v cơ
                TamPhieuLuuKy@yahoo.com
                092 2838 712 --->>

                Comment


                • #23
                  sr, mình thấy dùng nguồn adapter led sáng trắng hơn dùng nguồn bình(hơi tái) dù dòng áp vẫn đủ, và cho mình hỏi thêm tần số điều xung cho led mình nghe nói là 100khz là tốt nhất có phải ko?


                  void led(int16 v1)
                  {
                  set_pwm1_duty(v1);
                  }

                  //=======================//
                  void main()
                  {
                  set_tris_c(0); // portc output.
                  setup_timer_1(t1_div_by_1,1023,1);
                  setup_ccp1(ccp_pwm); //chan ccp1 chan bam xung



                  cái v1 có phải là độ rộng xung ko? duty=v1/chu kỳ phải ko?
                  thank
                  TamPhieuLuuKy@yahoo.com
                  092 2838 712 --->>

                  Comment


                  • #24
                    Bạn setup cho cái timer1 để làm gì thế ?
                    ___
                    Cấu trúc cho timer2 phục vụ CCP là :
                    Setup_timer_2(mode,period,postscale);
                    mode : T2_DISABLE, T2_DIV_BY_X.
                    period: 0 =>255 (8bit)

                    Với thạch anh Fosc .
                    Tần số clock của T2 = Fosc/4x ( x là khai báo trong t2_div_by_x)
                    Chu kì clock T2 là 4x/Fosc.
                    Khi đó chu kì pwm là 4x(period+1)/Fosc.
                    Độ phân giải pwm là period + 1.

                    Câu lệnh pwm : set_pwm1_duty(d);
                    Ton/T = d/(period+1).
                    Ton/Toff = d/ (period+1-d).
                    _____________
                    Ví dụ cụ thể.
                    setup_timer_2(t2_div_by_4,99,0);
                    Fosc = 40M.

                    Khi đó :
                    Chu kì PWM là 4.(4).(99+1)/40M = 40us.
                    Tần số pwm = 1/ 40us = 25KHz.

                    Để đạt được độ rộng xung = 20% thì Ton/T = d/(99+1) = 20% => d = 20.

                    => set_pwm1_duty(20) ; // độ rộng xung 20%.
                    ___
                    Con led điều xung ở 1KHz có khi còn tốt hơn 100KHz.
                    Last edited by duong_act; 30-07-2011, 19:55.

                    Comment


                    • #25
                      thank bac duong_act rất nhiều!
                      TamPhieuLuuKy@yahoo.com
                      092 2838 712 --->>

                      Comment


                      • #26
                        mấy bác đi trước giải thích cho em hiểu cái đoạn code timer2 (8bit, 16f877a) này nha.
                        em chưa hiểu nó hoạt động thế nào nên ko biết ý nghĩa các câu lệnh ra sao cả, em dùng thạch anh 20MHz, em không hiểu ý nghĩa mấy số đó, và timer hoạt động như thế nào? nó nhận xung Xtal và đếm tăng dần khi tràn phải ko các bác, giải thĩ rõ cho em nha, em chưa biết!
                        thank moi người!

                        #use delay(clock=20000000)
                        int16 adc;
                        int16 var1;


                        void main()
                        {
                        set_tris_c(0); // portc output.
                        setup_timer_2(t2_div_by_16,1023,0);
                        setup_ccp1(ccp_pwm); //chan ccp1 chan bam xung
                        set_pwm1_duty(var1);
                        TamPhieuLuuKy@yahoo.com
                        092 2838 712 --->>

                        Comment


                        • #27
                          vậy coi như phần timer em tạm ổn, cac huynh cho em xem cái code adc đôi không(dùng 2 chân AN để nhận 2 tín hiệu Analog khác nhau từ đó xử lý khác nhau, đang xem nhau khoảng 1000 lần trong 1 giây đc không)!

                          ngoài 16f877a còn có dòng pic nào rẽ tiền mà co 2 chân ccp ko, nếu không có thì thay vi pwm =ccp thì em viết =hàm delay có ổn không?

                          thank các huynh nhiều lắm!
                          TamPhieuLuuKy@yahoo.com
                          092 2838 712 --->>

                          Comment


                          • #28
                            Nguyên văn bởi duong_act Xem bài viết
                            Bạn setup cho cái timer1 để làm gì thế ?
                            ___
                            Cấu trúc cho timer2 phục vụ CCP là :
                            Setup_timer_2(mode,period,postscale);
                            mode : T2_DISABLE, T2_DIV_BY_X.
                            period: 0 =>255 (8bit)

                            Với thạch anh Fosc .
                            Tần số clock của T2 = Fosc/4x ( x là khai báo trong t2_div_by_x)
                            Chu kì clock T2 là 4x/Fosc.
                            Khi đó chu kì pwm là 4x(period+1)/Fosc.
                            Độ phân giải pwm là period + 1.

                            Câu lệnh pwm : set_pwm1_duty(d);
                            Ton/T = d/(period+1).
                            Ton/Toff = d/ (period+1-d).
                            _____________
                            Ví dụ cụ thể.
                            setup_timer_2(t2_div_by_4,99,0);
                            Fosc = 40M.

                            Khi đó :
                            Chu kì PWM là 4.(4).(99+1)/40M = 40us.
                            Tần số pwm = 1/ 40us = 25KHz.

                            Để đạt được độ rộng xung = 20% thì Ton/T = d/(99+1) = 20% => d = 20.

                            => set_pwm1_duty(20) ; // độ rộng xung 20%.
                            ___
                            Con led điều xung ở 1KHz có khi còn tốt hơn 100KHz.
                            nhiều bài viết thì bị hiểu nhầm là (255-period)
                            nhưng period chính là một số nguyên mà khi tới giá trị đó clock bị reset, do đó công thức của anh duong_act rất chính xác period is a int 0-255 that determines when the clock value is reset,

                            Comment

                            Về tác giả

                            Collapse

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

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

                            Collapse

                            Đang tải...
                            X