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

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

    mình chỉ là sinh viên năm nhất, mình chưa được học mấy thứ này, mong các sư huynh đi trước chỉ giáo!
    giả sử mình có 1 nguồn 12v dòng max là 12A
    trong kỹ thuật pwm, thì duty ảnh hưởng tuyến tính đến áp trung bình, và còn gì nữa không?
    vậy tần số có ảnh hưởng gì đến dòng và áp không?
    cảm ơn các sư huynh nhiều!
    nếu có điều gì sai sót mong các sư huynh tha mạng!
    TamPhieuLuuKy@yahoo.com
    092 2838 712 --->>

  • #2
    nhiều ng đọc mà sao chưa có ai help hết, hic!
    TamPhieuLuuKy@yahoo.com
    092 2838 712 --->>

    Comment


    • #3
      Dĩ nhiên là tần số có ảnh hưởng đến dòng và áp.
      Với tải thuần trở thì ko nói làm gì. Ví dụ tải có tính cảm thì mặc dù duty không đổi nhưng tần số càng cao thì dòng càng thấp....vv.v

      Comment


      • #4
        vậy đối với tải trở thì nó thế nào hà bác, nó có tuyến tình hay công thức gì ko, thướng thì pwm ta chọn tần số bao nhiêu?
        TamPhieuLuuKy@yahoo.com
        092 2838 712 --->>

        Comment


        • #5
          sẵn tiện các bác cho hỏi em co đoạn code chế biến xào nấu thế này
          Code:
          #device 16f877a*=16 adc =8
          #use delay(clock=12000000)
          int8 adc;
          int8 var1;
          
          void main()
          {
          
             setup_adc_ports(NO_ANALOGS);
             setup_adc(ADC_CLOCK_DIV_2);
             setup_psp(PSP_DISABLED);
             setup_spi(SPI_SS_DISABLED);
             setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
             setup_timer_1(T1_DISABLED);
             setup_timer_2(T2_DISABLED,0,1);
             setup_comparator(NC_NC_NC_NC);
             setup_vref(FALSE);
          
          var1=0;
          
          trisb=0;
          trisa=0xff;
          
          setup_adc(ADC_CLOCK_internal);
          setup_adc_ports(an0);
          set_adc_channel(0);
          delay_us(10);
          while(1)
          {var1=read_adc();
          
          {
          portb=0xff;
          delay_us(var1);
          portb=0;
          delay_us(256-var1);
          }


          em không biết khởi tạo modul pwm trong ccs như thế nào nên em làm như vậy để điều khiển độ sáng đèn, nhưng cái delay thì tính bằng us, cái var1 thì tính bằng 2^8=256, phải chi em biết cách tạo pwm, mong các bác chỉ dẫn cho em.


          1 câu nữa là:
          vd em co nguồn 12v, pwm cho ra 6v thì, duty=50%, và cái var1 là 256/2, nhưng nếu nguồn thay đổi thì áp hồi tiếp thay đổi==>var1 thay đổi==>ap pwm thay đổi, nhưng ko biết có tuyến tính ko, ý em là dòng trung bình 500mA, nếu áp giảm==>áp FB giảm==>duty tăng, nhưng em dùng delay thì ko tuyến tính huhuhu, help me!
          TamPhieuLuuKy@yahoo.com
          092 2838 712 --->>

          Comment


          • #6
            sẵn tiện các bác cho hỏi em co đoạn code chế biến xào nấu thế này
            Code:
            #device 16f877a*=16 adc =8
            #use delay(clock=12000000)
            int8 adc;
            int8 var1;
            
            void main()
            {
            
               setup_adc_ports(NO_ANALOGS);
               setup_adc(ADC_CLOCK_DIV_2);
               setup_psp(PSP_DISABLED);
               setup_spi(SPI_SS_DISABLED);
               setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
               setup_timer_1(T1_DISABLED);
               setup_timer_2(T2_DISABLED,0,1);
               setup_comparator(NC_NC_NC_NC);
               setup_vref(FALSE);
            
            var1=0;
            
            trisb=0;
            trisa=0xff;
            
            setup_adc(ADC_CLOCK_internal);
            setup_adc_ports(an0);
            set_adc_channel(0);
            delay_us(10);// delay nay de lam gi vậy a?while(1)
            {var1=read_adc();
            
            {
            portb=0xff;
            delay_us(var1);
            portb=0;
            delay_us(256-var1);
            }


            em không biết khởi tạo modul pwm trong ccs như thế nào nên em làm như vậy để điều khiển độ sáng đèn, nhưng cái delay thì tính bằng us, cái var1 thì tính bằng 2^8=256, phải chi em biết cách tạo pwm, mong các bác chỉ dẫn cho em.


            1 câu nữa là:
            vd em co nguồn 12v, pwm cho ra 6v thì, duty=50%, và cái var1 là 256/2, nhưng nếu nguồn thay đổi thì áp hồi tiếp thay đổi==>var1 thay đổi==>ap pwm thay đổi, nhưng ko biết có tuyến tính ko, ý em là dòng trung bình 500mA, nếu áp giảm==>áp FB giảm==>duty tăng, nhưng em dùng delay thì ko tuyến tính huhuhu, help me!
            TamPhieuLuuKy@yahoo.com
            092 2838 712 --->>

            Comment


            • #7
              Xem phần help của CCS.


              Add: 97 Quán Nam - Lê Chân - Hải Phòng.
              Tel: 031 518648 Phone: 0904 283 505

              Comment


              • #8
                với đoạn code trên khi mô phỏng em thấy duty ko dc mỡ rộng hết cỡ, có phải là do ko co dien ap tham chiếu ko? vậy khai báo ntn, khai báo dùng Vref chung nguồn VDK và rời nữa, thank cao nhân!
                TamPhieuLuuKy@yahoo.com
                092 2838 712 --->>

                Comment


                • #9
                  thank bác, help là cái F1 phai ko, công nhận hay thật!
                  TamPhieuLuuKy@yahoo.com
                  092 2838 712 --->>

                  Comment


                  • #10
                    vậy áp tham chiếu luôn 3v<=Vref<= VDD phải ko bác?
                    nhưng em ko biết câu khai báo Vref =vdd nằm ở đâu
                    TamPhieuLuuKy@yahoo.com
                    092 2838 712 --->>

                    Comment


                    • #11
                      Search các dòng code sau :
                      setup_timer_2()
                      setup_pwm1()
                      set_pwm1_duty()
                      // pwm dùng ccp
                      hoặc

                      setup_power_pwm()
                      setup_power_pwm_pins()
                      set_power_pwm0_duty()
                      pwm dùng modul pwm

                      Comment


                      • #12
                        Có 1 project ADC đây, chú thích đầy đủ.

                        #include "16f887.h"
                        #include "def_16f887.h"
                        #device *=16 ADC = 10
                        #fuses HS,PUT,NOWDT,NOPROTECT,NOLVP
                        #use delay(Clock = 4000000) //Thach anh 4MHz
                        int16 temp;
                        void main()
                        {
                        setup_spi(SPI_SS_DISABLED);
                        setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
                        setup_timer_2(T2_DISABLED,0,1);
                        setup_comparator(NC_NC_NC_NC);
                        setup_vref(FALSE);
                        setup_timer_1(T1_INTERNAL);
                        setup_adc_ports(sAN0|sAN1|VREF_VREF); //kenh A0,A1 nhan tin hieu, A2 = 0V; A3 = 5V;
                        setup_adc(ADC_CLOCK_INTERNAL); //Thoi gian lay mau bang clock he thong.
                        delay_ms(5); //Cho thiet lap xong ADC.
                        // TODO: USER CODE!!

                        trisa = 0xff; //PORTA nhan du lieu.
                        trisc = 0x00; //PORTC xuat du lieu.
                        trisd = 0x00; //PORTD xuat du lieu.
                        while(1)
                        {
                        //Doc kenh 0
                        set_adc_channel(0); //Chon kenh 0.
                        delay_us(10); //cho chon kenh xong.
                        temp = read_adc(); //doc gia tri analog da chuyen doi sang so.
                        temp = temp/10.24; //stepsize = 50mV. Neu giao tiep LM35 thi chia 2.048 (stepsize = 10mv)
                        PORTC = temp; //Value = Vol/0,05
                        delay_ms(1000); //Thoi gian hien thi 1s.
                        //Doc kenh 1
                        set_adc_channel(1); //Chon kenh 1.
                        delay_us(10); //cho chon kenh xong.
                        temp = read_adc(); //doc gia tri analog da chuyen doi sang so.
                        temp = temp/10.24; //stepsize = 50mV. Neu giao tiep LM35 thi chia 2.048 (stepsize = 10mv)
                        PORTD = temp; //Value = Vol/0,05
                        delay_ms(1000); //Thoi gian hien thi 1s.
                        }

                        }

                        Comment


                        • #13
                          Project trên có nhiều câu lệnh không cần thiết với quá trình xử lý ADC. Ví dụ SPI, COMP.., TIMER0,1,2,VREF.

                          Comment


                          • #14
                            thank 2 bac, phan adc va pwm xem trong help cũng hieu so so rồi, cho em hỏi thêm


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

                            bác giải thích sơ lược cho em cái setup_timer_2 dùng làm gì cho pwm? cờ tràn 1023 nghĩa là sao? vd em dùng thạch anh 20Mhz, thì 1023 và số 1 có liên quan gi?
                            TamPhieuLuuKy@yahoo.com
                            092 2838 712 --->>

                            Comment


                            • #15
                              Nguyên văn bởi superhieu1 Xem bài viết
                              thank 2 bac, phan adc va pwm xem trong help cũng hieu so so rồi, cho em hỏi thêm


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

                              bác giải thích sơ lược cho em cái setup_timer_2 dùng làm gì cho pwm? cờ tràn 1023 nghĩa là sao? vd em dùng thạch anh 20Mhz, thì 1023 và số 1 có liên quan gi?
                              Vội quá chỉ trả lời dc cho bạn chỗ cờ tràn 1023. Bạn set cho timer2 là 1023 với dòng PIC khác có thể đúng nhưng với 16F877A là sai lí do Timer2 của 877A là timer 8 bit nên tối đa chỉ có 255 mà thôi. Cái này ảnh hưởng đến cả tần số và độ phân giải cho pwm. Ví dụ bạn set cờ tràn là 255 thì khi đó Ton+Toff = 255+1. Nên thấy rằng cờ tràn càng lớn thid độ phân giải càng cao tuy nhiên tần số pwm càng thấp. Còn 2 thông số kia là độ chia tỉ lệ cũng ảnh hưởng đến pwm.

                              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