اطلاعیه

Collapse
No announcement yet.

تولید موج PWM 100KHZ

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : تولید موج PWM 100KHZ

    مهندس یک دونه انجام بده کامل ببینم
    زود رد بشیم

    دیدگاه


      #17
      پاسخ : تولید موج PWM 100KHZ

      پست شماره 9 گذاشتم دیگه
      تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

      www.intelart.ir


      ساخت کنترلر دما PID فازي با AVR [آموزشی]

      دیدگاه


        #18
        پاسخ : تولید موج PWM 100KHZ

        TCCR3A=(1<<COM3A1) | (0<<COM3A0) | (1<<COM3B1) | (1<<COM3B0) | (0<<COM3C1) | (0<<COM3C0) | (1<<WGM31) | (0<<WGM30);
        TCCR3B=(1<<ICNC3) | (0<<ICES3) | (1<<WGM33) | (1<<WGM32) | (0<<CS32) | (0<<CS31) | (1<<CS30);
        ICR3=9;
        OCR3A=4;
        OCR3B=4;
        این هم در مد فست :
        فرکانس 7کیلو
        من مقدار ICR3 رو هم تغییر می دهم اتفاقی نمی یافته

        دیدگاه


          #19
          پاسخ : تولید موج PWM 100KHZ

          اون قسمت Input Capture رو چرا فعالش کردی؟

          پین های متناظر با خروجی تایمر رو روی خروجی تنظیم کردی؟

          اینو امتحان کن(دستکاریش نکن...کپی پیست!) نتیجه ش رو بگو:


          int main()
          {
          DDRB=(1<<5);
          ICR1=9;
          OCR1A=4;
          TCCR1A=(1<<WGM11)|(COM1A1);
          TCCR1B=(1<<WGM13)|(1<<WGM12)|(1<<CS11);


          while(1);
          }
          تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

          www.intelart.ir


          ساخت کنترلر دما PID فازي با AVR [آموزشی]

          دیدگاه


            #20
            پاسخ : تولید موج PWM 100KHZ

            سلام
            من یک پروژه ساده جدید درست کردم ولی اصلا این دیگه خروجی نداره
            یک پیشنهاد : با کد ویزن 3.12 در قسمت کد ویزارد تنظیم کن المان بیشتری بهت می ده
            این هم کد :
            کد:
            #include <avr/io.h>
            
            
            int main(void)
            {
            	DDRB=(1<<5);
            	ICR1=9;
            	OCR1A=4;
            	TCCR1A=(1<<WGM11)|(COM1A1);
            	TCCR1B=(1<<WGM13)|(1<<WGM12)|(1<<CS11);
                while(1);
               
             
                
            }

            دیدگاه


              #21
              پاسخ : تولید موج PWM 100KHZ

              سلام خدمت دوستان عزیز
              واقعا ایجاد فرکانس خیلی سادس
              برای مثال من فرکانس 10khzرو با تایمر 1 به صورت زیر نوشتم
              کاملا هم جواب داد
              #include <mega16.h>


              interrupt [TIM1_COMPB] void timer1_compb_isr(void)
              {
              TCNT1H=0xFF;
              TCNT1L=0xCE;

              }
              // Timer/Counter 1 initialization
              // Clock source: System Clock
              // Clock value: 1000.000 kHz
              // Mode: Normal top=0xFFFF
              // OC1A output: Discon.
              // OC1B output: Toggle
              // Noise Canceler: Off
              // Input Capture on Falling Edge
              // Timer1 Overflow Interrupt: Off
              // Input Capture Interrupt: Off
              // Compare A Match Interrupt: Off
              // Compare B Match Interrupt: On
              TCCR1A=0x10;
              TCCR1B=0x02;
              TCNT1H=0xFF;
              TCNT1L=0xCE;
              ICR1H=0x00;
              ICR1L=0x00;
              OCR1AH=0x00;
              OCR1AL=0x00;
              OCR1BH=0xFF;
              OCR1BL=0xFF;

              اسیلوسکوپ نیز بهOCR1Bوصل میشه
              عددام که از فرمول به دست میاد
              خیلی ساده

              دیدگاه


                #22
                پاسخ : تولید موج PWM 100KHZ

                سلام
                10 کیلو هرتز مشکلی نیست
                100 کیلو هرتز من می خوام

                دیدگاه


                  #23
                  پاسخ : تولید موج PWM 100KHZ

                  سلام
                  دوستان چجور میشه با تایمر یک دو شکل موج با فرکانس 1KHZایجاد کرد که یک میلی ثانیم اختلاف فاز داشته باشند؟؟؟
                  اگه کسی میدونه لطفا راهنمایی کنه
                  ممنون میشم

                  دیدگاه


                    #24
                    پاسخ : تولید موج PWM 100KHZ

                    سلام
                    بسته به اینکه سرریز تایمر چقدر طول بکشه (بیشتر از 1 میلی ثانیه یا کمتر از یک میلی ثانیه)
                    میتونید یکی از وقفه های مقایسه رو طوری تنظیم کنید که بعد از 1 میلی ثانیه اجرا بشه و تایمر دیگه ای رو فعال کنه و در انتهای روتین وقفه اینتراپتش رو غیر فعال کنید...

                    یا اینکه خودتون به صورت دستی پین ها رو صفر و یک کنید که یکمی خطا داره...
                    تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                    www.intelart.ir


                    ساخت کنترلر دما PID فازي با AVR [آموزشی]

                    دیدگاه


                      #25
                      پاسخ : تولید موج PWM 100KHZ

                      1 کیلو هرتز و یک میلی ثانیه که میشه خودش؟

                      دیدگاه


                        #26
                        پاسخ : تولید موج PWM 100KHZ

                        نوشته اصلی توسط fakheri نمایش پست ها
                        1 کیلو هرتز و یک میلی ثانیه که میشه خودش؟
                        از این جهت گفتم که اگه کمتر از 1 میلی ثانیه بشه باید شمارنده داخل روتین اینتراپت بذارید ولی اگر بیشتر از 1میلی ثانیه بشه کار خیلی راحتتر میشه...
                        به هر حال این کار سختی نیست...تلاشتونو بکنید اگه نتونستید راه اندازیش کنید بگید تا یه سورس واسش بنویسم با فایل پروتئوسش میذارم همینجا...
                        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

                        www.intelart.ir


                        ساخت کنترلر دما PID فازي با AVR [آموزشی]

                        دیدگاه

                        لطفا صبر کنید...
                        X