اطلاعیه

Collapse
No announcement yet.

تولید فرکانس و دیوتی سایکل قابل تغییر با ولوم و نمایش رویlcd با avr

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

    تولید فرکانس و دیوتی سایکل قابل تغییر با ولوم و نمایش رویlcd با avr

    با سلام
    من در حال ساخت یک منبع تغذیه high voltag هستم که تو یه قسمتش نیاز به تولید فرکانس 90 کیلو هرتز با دیوتی سایکل 25% با avr البته با قابلیت تغییر هر کدوم با ولوم است . که بتونه اعداد حاصل و قابل تغییر هر بخش یعنی فرکانس و دیوتی سایکلو رو lcd نمایش بده لطفا اگر کسی در این مورد کار کرده و نتیجه گرفته کمک کنه چون خودمم چنتا برنامرو تست کردم ولی جواب نداد با تشکر....

    #2
    پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر با ولوم و نمای رویlcd با avr

    نوشته اصلی توسط mhfd
    با سلام
    من در حال ساخت یک منبع تغذیه high voltag هستم که تو یه قسمتش نیاز به تولید فرکانس 90 کیلو هرتز با دیوتی سایکل 25% با avr البته با قابلیت تغییر هر کدوم با ولوم است . که بتونه اعداد حاصل و قابل تغییر هر بخش یعنی فرکانس و دیوتی سایکلو رو lcd نمایش بده لطفا اگر کسی در این مورد کار کرده و نتیجه گرفته کمک کنه چون خودمم چنتا برنامرو تست کردم ولی جواب نداد با تشکر....
    درود
    http://s5.picofile.com/file/8120309268/ADC_PWM.zip.html
    قسمت LCD رو دیگه خودتون باید طراحی کنید ...

    موفق باشید
    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
    معرفی نرم افزار Codewizard PWM
    با من بیشتر آشنا شوید

    دیدگاه


      #3
      پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر با ولوم و نمای رویlcd با avr

      خیلی ممنون برنامه خوبیه تستش کردم جوابم میده فقط یه مشکلی داره که تو فرکانسهای بالا جواب نمیده من پتانسیومترهارم عوض کردم ولی نتونستم بیشتر از 10kh از بگیرم . بازم ممنون...

      دوستان لطف اگر بازم کسی هست که یه برنامه خوب مثل اقای اسدی داره بزاره فقط فرکانسش میخوام حدود همون 90khz باشه .روی قسمت lcd هم یکم مشکل دارم با تشکر...

      دیدگاه


        #4
        پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

        نوشته اصلی توسط mhfd
        خیلی ممنون برنامه خوبیه تستش کردم جوابم میده فقط یه مشکلی داره که تو فرکانسهای بالا جواب نمیده من پتانسیومترهارم عوض کردم ولی نتونستم بیشتر از 10kh از بگیرم . بازم ممنون...

        دوستان لطف اگر بازم کسی هست که یه برنامه خوب مثل اقای اسدی داره بزاره فقط فرکانسش میخوام حدود همون 90khz باشه .روی قسمت lcd هم یکم مشکل دارم با تشکر...
        شما مطمئن هستید ؟؟؟
        من توی پروتئوس تا 122 کیلو هم جواب گرفتم ...

        90 کیلو دقیق میخواهید ؟؟
        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
        معرفی نرم افزار Codewizard PWM
        با من بیشتر آشنا شوید

        دیدگاه


          #5
          پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

          نوشته اصلی توسط سامان اسدی
          شما مطمئن هستید ؟؟؟
          من توی پروتئوس تا 122 کیلو هم جواب گرفتم ...

          90 کیلو دقیق میخواهید ؟؟
          بله منکه دوباره تست کردم بیشتر از فرکانس 12500hz نمیده ... فکر کنم باید تقسیمات فرکانسیو تو این برنامه تغییر داد . بازم مطمعن نیستم ...

          دیدگاه


            #6
            پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

            نوشته اصلی توسط mhfd

            بله منکه دوباره تست کردم بیشتر از فرکانس 12500hz نمیده ... فکر کنم باید تقسیمات فرکانسیو تو این برنامه تغییر داد . بازم مطمعن نیستم ...
            دوست عزیز فرکانس میکروی شما روی یک مگاهرتز تنظیم است ...
            شما باید فیوزبیتهای CKSEL را به صورت زیر تنظیم کنید ...

            CKSEL0 = 0
            CKSEL1 = 0
            CKSEL2 = 1
            CKSEL3 = 0

            موفق باشید

            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
            معرفی نرم افزار Codewizard PWM
            با من بیشتر آشنا شوید

            دیدگاه


              #7
              پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

              نوشته اصلی توسط سامان اسدی
              دوست عزیز فرکانس میکروی شما روی یک مگاهرتز تنظیم است ...
              شما باید فیوزبیتهای CKSEL را به صورت زیر تنظیم کنید ...

              CKSEL0 = 0
              CKSEL1 = 0
              CKSEL2 = 1
              CKSEL3 = 0

              موفق باشید
              درود
              من فرکانسو همون 8 مگ گذاشته بودم (البته اگر منظورتون دابل کلیک رو میکرو و تنظیم 8mhz rc داخلی تو پروتیوسه) ولی بازم بیشتر از این فرکانس نگرفتم ...ولی اگه شما میگید تا 122khz گرفتین پس حتما من یجارو اشتباه کردم نمیدونم ولی دوباره روش کار میکنم بلکه درست بشه. بازم ممنونم ...

              دیدگاه


                #8
                پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                نوشته اصلی توسط mhfd
                درود
                من فرکانسو همون 8 مگ گذاشته بودم (البته اگر منظورتون دابل کلیک رو میکرو و تنظیم 8mhz rc داخلی تو پروتیوسه) ولی بازم بیشتر از این فرکانس نگرفتم ...ولی اگه شما میگید تا 122khz گرفتین پس حتما من یجارو اشتباه کردم نمیدونم ولی دوباره روش کار میکنم بلکه درست بشه. بازم ممنونم ...
                درود
                بله شما درست میگید
                الان بررسی کردم دیدم تا 12.5 بیشتر نمیشه ...
                به امید خدا امروز عصر برنامه رو براتون مینویسم و میگذارم ...
                موفق باشید
                [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                معرفی نرم افزار Codewizard PWM
                با من بیشتر آشنا شوید

                دیدگاه


                  #9
                  پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                  نوشته اصلی توسط سامان اسدی
                  درود
                  بله شما درست میگید
                  الان بررسی کردم دیدم تا 12.5 بیشتر نمیشه ...
                  به امید خدا امروز عصر برنامه رو براتون مینویسم و میگذارم ...
                  موفق باشید
                  خیلی ممنونم ... البته اگه زیاد وقتتونو نمیگیره....

                  دیدگاه


                    #10
                    پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                    نوشته اصلی توسط mhfd
                    خیلی ممنونم ... البته اگه زیاد وقتتونو نمیگیره....
                    90 کیلو دقیق میخواستید ؟؟
                    چون دقیق نمیشه ...
                    یه خورده بالا یا پایین باشه اشکالی نداره ؟؟
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      #11
                      پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                      نوشته اصلی توسط سامان اسدی
                      90 کیلو دقیق میخواستید ؟؟
                      چون دقیق نمیشه ...
                      یه خورده بالا یا پایین باشه اشکالی نداره ؟؟
                      نه داداش اشکال نداره همون حدود 90kh باشه خوبه دمت گرم...

                      دیدگاه


                        #12
                        پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                        نوشته اصلی توسط mhfd
                        نه داداش اشکال نداره همون حدود 90kh باشه خوبه دمت گرم...

                        چون که فرکانسش خیلی بالاست تعداد پله های دیوتی سایکل خیلی کم میشه ...
                        با فرکانس 8 مگا 88 پله میشه در صورتی که با فرکانس 16مگا 177 پله میشه ...
                        در هر صورت ...
                        با فرکانس 8 مگا تنظیم میکنم که ساده تر هست ...
                        این هم کد :
                        کد:
                        /*****************************************************
                        This program was produced by the
                        CodeWizardAVR V2.05.3 Standard
                        Automatic Program Generator
                        © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
                        http://www.hpinfotech.com
                        
                        Project : 
                        Version : 
                        Date  : 25/12/2014
                        Author : Saman
                        Company : 
                        Comments: 
                        
                        
                        Chip type        : ATmega8
                        Program type      : Application
                        AVR Core Clock frequency: 8.000000 MHz
                        Memory model      : Small
                        External RAM size    : 0
                        Data Stack size     : 256
                        *****************************************************/
                        
                        #include <mega8.h>
                        #include <delay.h>
                        
                        #define ADC_VREF_TYPE 0x60
                        
                        unsigned char read_adc(unsigned char adc_input)
                        {
                          ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
                          // Delay needed for the stabilization of the ADC input voltage
                          delay_us(10);
                          // Start the AD conversion
                          ADCSRA|=0x40;
                          // Wait for the AD conversion to complete
                          while ((ADCSRA & 0x10)==0);
                          ADCSRA|=0x10;
                          return ADCH;
                        }
                        
                        
                        void main(void)
                        {
                        
                          DDRB=0x02;
                        
                          // Timer/Counter 1 initialization
                          // Clock source: System Clock
                          // Clock value: 8000.000 kHz
                          // Mode: Fast PWM top=ICR1
                          // OC1A output: Non-Inv.
                          // Input Capture on Falling Edge
                          TCCR1A=0x82;
                          TCCR1B=0x19;
                          ICR1L=88;
                          OCR1AL=0x00;
                        
                          // ADC initialization
                          // ADC Clock frequency: 62.500 kHz
                          // ADC Voltage Reference: AVCC pin
                          // Only the 8 most significant bits of
                          // the AD conversion result are used
                          ADMUX=ADC_VREF_TYPE;
                          ADCSRA=0x87;
                        
                          while (1)
                          {
                            OCR1AL = read_adc(5)/2.9;
                            delay_ms(50);
                        
                          }
                        }
                        سر وسط ولوم را به پایه 28 وصل کنید و خروجی مدار پایه 15 می باشد
                        AVCC و VCC را به هم وصل کنید
                        پایه Aref هم با یه خازن 100 نانو به زمین وصلش کنید ...

                        موفق باشید
                        [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                        معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                        معرفی نرم افزار Codewizard PWM
                        با من بیشتر آشنا شوید

                        دیدگاه


                          #13
                          پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                          نوشته اصلی توسط سامان اسدی
                          چون که فرکانسش خیلی بالاست تعداد پله های دیوتی سایکل خیلی کم میشه ...
                          با فرکانس 8 مگا 88 پله میشه در صورتی که با فرکانس 16مگا 177 پله میشه ...
                          در هر صورت ...
                          با فرکانس 8 مگا تنظیم میکنم که ساده تر هست ...
                          این هم کد :
                          کد:
                          /*****************************************************
                          This program was produced by the
                          CodeWizardAVR V2.05.3 Standard
                          Automatic Program Generator
                          © Copyright 1998-2011 Pavel Haiduc, HP InfoTech s.r.l.
                          http://www.hpinfotech.com
                          
                          Project : 
                          Version : 
                          Date  : 25/12/2014
                          Author : Saman
                          Company : 
                          Comments: 
                          
                          
                          Chip type        : ATmega8
                          Program type      : Application
                          AVR Core Clock frequency: 8.000000 MHz
                          Memory model      : Small
                          External RAM size    : 0
                          Data Stack size     : 256
                          *****************************************************/
                          
                          #include <mega8.h>
                          #include <delay.h>
                          
                          #define ADC_VREF_TYPE 0x60
                          
                          unsigned char read_adc(unsigned char adc_input)
                          {
                            ADMUX=adc_input | (ADC_VREF_TYPE & 0xff);
                            // Delay needed for the stabilization of the ADC input voltage
                            delay_us(10);
                            // Start the AD conversion
                            ADCSRA|=0x40;
                            // Wait for the AD conversion to complete
                            while ((ADCSRA & 0x10)==0);
                            ADCSRA|=0x10;
                            return ADCH;
                          }
                          
                          
                          void main(void)
                          {
                          
                            DDRB=0x02;
                          
                            // Timer/Counter 1 initialization
                            // Clock source: System Clock
                            // Clock value: 8000.000 kHz
                            // Mode: Fast PWM top=ICR1
                            // OC1A output: Non-Inv.
                            // Input Capture on Falling Edge
                            TCCR1A=0x82;
                            TCCR1B=0x19;
                            ICR1L=88;
                            OCR1AL=0x00;
                          
                            // ADC initialization
                            // ADC Clock frequency: 62.500 kHz
                            // ADC Voltage Reference: AVCC pin
                            // Only the 8 most significant bits of
                            // the AD conversion result are used
                            ADMUX=ADC_VREF_TYPE;
                            ADCSRA=0x87;
                          
                            while (1)
                            {
                              OCR1AL = read_adc(5)/2.9;
                              delay_ms(50);
                          
                            }
                          }
                          سر وسط ولوم را به پایه 28 وصل کنید و خروجی مدار پایه 15 می باشد
                          AVCC و VCC را به هم وصل کنید
                          پایه Aref هم با یه خازن 100 نانو به زمین وصلش کنید ...

                          موفق باشید
                          دست شما درد نکنه مرسی... فرکانسش خیلی خوبه :smile:فقط یه سوال داشتم الان فرکانسو چجوری باید تغیرش بدم چون فرکانس هر کاری میکنم اینبار ثابته....

                          دیدگاه


                            #14
                            پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                            نوشته اصلی توسط mhfd
                            دست شما درد نکنه مرسی... فرکانسش خیلی خوبه :smile:فقط یه سوال داشتم الان فرکانسو چجوری باید تغیرش بدم چون فرکانس هر کاری میکنم اینبار ثابته....
                            مگه فرکانس هم میخواستید تغییر کنه ؟؟؟
                            شما گفتید که ثابت میخواین ...
                            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                            معرفی نرم افزار Codewizard PWM
                            با من بیشتر آشنا شوید

                            دیدگاه


                              #15
                              پاسخ : پاسخ : تولید فرکانس و دیوتی سایکل قابل تغییر

                              نوشته اصلی توسط سامان اسدی
                              مگه فرکانس هم میخواستید تغییر کنه ؟؟؟
                              شما گفتید که ثابت میخواین ...
                              با درود
                              نه داداش میخواستم قابل تغییر با ولوم باشه عنوان اولمم همینه که هر کدومو با ولوم تغییر بدم مثل همونیکه بار اول شما لطف کردین ضحمتشو کشیدین در هر صورت اگر من خوب منظورمو نرسوندم عذر میخوام ... اگر وقتتونو میگره پس لطفا یه راهنمایی کنید که چطوری میتونم فرکانسم با ولوم تغییر بدم ممنون میشم :smile:

                              دیدگاه

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