اطلاعیه

Collapse
No announcement yet.

ساخت کنترل فاز با avr

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

    #76
    پاسخ : ساخت کنترل فاز با avr

    نوشته اصلی توسط mfazl22 نمایش پست ها
    نشد
    فقط لحظه اول که روشن شد درست کار کرد بعدش دیگه کار نکرد
    من مطمئن هستم که کاری نداره قضیه فوت کوزه گری اون رو بلد نیستم
    ببین اگه بخوای همیشه درست کار کنه کل این کد باید توی یک وایل باشه!
    یعنی برای هر بار بدست اورن ولتاژ باید یک بار این کد اجرا بشه.
    من یکم کد را تغییر دادم. این را تست کن.(حلقه کلی وایل یادت نره)

    int a=1,b=0,c=0;
    while(a>b){a=read_adc(0);b=a;}
    c=b;b=0;a=1;

    دیدگاه


      #77
      پاسخ : ساخت کنترل فاز با avr

      ممنون که جواب دادی
      بازم کار نکرد
      باید اول adc رو بخونم
      بزارم تویه متغیر که که هر (مثلا) 0.5 ثانیه آپدیت بشه
      اون وقت ازش استفاده کنم
      تو وایل رفتن درسته اما وقتی بیرون میاد دوباره صفر میشه باید آخرین آپدیت در اون قرار بگیره اما این وقتی ولتاژ بالا کاملا دست عمل میکنه چطور موقع پایین اومدن ولتاژ هم درست کار کنه
      نم فهمم
      چون خنگم
      جدیدترین ویرایش توسط mfazl22; ۱۰:۴۹ ۱۳۹۵/۰۷/۲۲.
      گاهی نمی شود که نمی شود
      گاهی قرعه نگفته به نام تو می شود
      گاهی گدای گدایی و چاره چیست
      گاهی تمام شهر گدای تو میشود
      ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

      دیدگاه


        #78
        پاسخ : ساخت کنترل فاز با avr

        نوشته اصلی توسط mfazl22 نمایش پست ها
        ممنون که جواب دادی
        بازم کار نکرد
        باید اول adc رو بخونم
        بزارم تویه متغیر که که هر (مثلا) 0.5 ثانیه آپدیت بشه
        اون وقت ازش استفاده کنم
        تو وایل رفتن درسته اما وقتی بیرون میاد دوباره صفر میشه باید آخرین آپدیت در اون قرار بگیره اما این وقتی ولتاژ بالا کاملا دست عمل میکنه چطور موقع پایین اومدن ولتاژ هم درست کار کنه
        نم فهمم
        چون خنگم
        کد پروژه را بزار

        دیدگاه


          #79
          پاسخ : ساخت کنترل فاز با avr



          #include <mega8.h>
          #include <delay.h>


          // Alphanumeric LCD functions
          #include <alcd.h>
          #include <stdio.h>


          // Declare your global variables here
          int a=1,b=0,c=0,d=0,e=0,f=0,g=0,h=0,j,a1=0,b1=0,c1=0,a2=0,b2=0,c2=0;

          char i[10];
          // Timer 0 overflow interrupt service routine
          interrupt [TIM0_OVF] void timer0_ovf_isr(void)
          {

          }


          // Timer2 overflow interrupt service routine

          interrupt [TIM2_OVF] void timer2_ovf_isr(void)
          {

          }


          // Voltage Reference: AREF pin
          #define ADC_VREF_TYPE ((1<<REFS1) | (1<<REFS0) | (0<<ADLAR))


          // Read the AD conversion result
          unsigned int read_adc(unsigned char adc_input)
          {
          ADMUX=adc_input | ADC_VREF_TYPE;
          // Delay needed for the stabilization of the ADC input voltage
          delay_us(10);
          // Start the AD conversion
          ADCSRA|=(1<<ADSC);
          // Wait for the AD conversion to complete
          while ((ADCSRA & (1<<ADIF))==0);
          ADCSRA|=(1<<ADIF);
          return ADCW;
          }


          void main(void)
          {
          // Declare your local variables here


          // Input/Output Ports initialization
          // Port B initialization
          // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
          DDRB=(1<<DDB7) | (1<<DDB6) | (1<<DDB5) | (1<<DDB4) | (0<<DDB3) | (0<<DDB2) | (0<<DDB1) | (0<<DDB0);
          // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
          PORTB=(0<<PORTB7) | (0<<PORTB6) | (0<<PORTB5) | (0<<PORTB4) | (0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0);


          // Port C initialization
          // Function: Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
          DDRC=(0<<DDC6) | (0<<DDC5) | (0<<DDC4) | (0<<DDC3) | (0<<DDC2) | (0<<DDC1) | (0<<DDC0);
          // State: Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
          PORTC=(0<<PORTC6) | (0<<PORTC5) | (0<<PORTC4) | (0<<PORTC3) | (0<<PORTC2) | (0<<PORTC1) | (0<<PORTC0);


          // Port D initialization
          // Function: Bit7=In Bit6=In Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In
          DDRD=(0<<DDD7) | (0<<DDD6) | (0<<DDD5) | (0<<DDD4) | (0<<DDD3) | (0<<DDD2) | (0<<DDD1) | (0<<DDD0);
          // State: Bit7=T Bit6=T Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T
          PORTD=(0<<PORTD7) | (0<<PORTD6) | (0<<PORTD5) | (0<<PORTD4) | (0<<PORTD3) | (0<<PORTD2) | (0<<PORTD1) | (0<<PORTD0);


          // Timer/Counter 0 initialization
          // Clock source: System Clock
          // Clock value: 7.813 kHz
          TCCR0=(1<<CS02) | (0<<CS01) | (1<<CS00);
          TCNT0=0x00;


          // Timer/Counter 2 initialization
          // Clock source: System Clock
          // Clock value: 7.813 kHz
          // Mode: Normal top=0xFF
          // OC2 output: Disconnected
          // Timer Period: 32.768 ms
          ASSR=0<<AS2;
          TCCR2=(0<<PWM2) | (0<<COM21) | (0<<COM20) | (0<<CTC2) | (1<<CS22) | (0<<CS21) | (1<<CS20);
          TCNT2=0x00;
          OCR2=0x00;


          // Timer(s)/Counter(s) Interrupt(s) initialization
          TIMSK=(0<<OCIE2) | (1<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (1<<TOIE0);


          // ADC initialization
          // ADC Clock frequency: 125.000 kHz
          // ADC Voltage Reference: AREF pin
          ADMUX=ADC_VREF_TYPE;
          ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (0<<ADPS0);
          SFIOR=(0<<ACME);


          // Alphanumeric LCD initialization
          // Connections are specified in the
          // Project|Configure|C Compiler|Libraries|Alphanumeric LCD menu:
          // RS - PORTD Bit 0
          // RD - PORTD Bit 1
          // EN - PORTD Bit 2
          // D4 - PORTD Bit 4
          // D5 - PORTD Bit 5
          // D6 - PORTD Bit 6
          // D7 - PORTD Bit 7
          // Characters/line: 16
          lcd_init(16);


          // Global enable interrupts
          #asm("sei")





          while (1)
          {

          while(a>b){a=read_adc(0);b=a;}
          c=b;b=0;a=1;


          if(a>=250 || a<=180)
          {

          PORTB.7=1;
          }else PORTB.7=0;

          lcd_clear();
          sprintf(i,"A %d",a);
          lcd_gotoxy(8,0);
          lcd_puts(i);
          sprintf(i,"A %d",b);
          lcd_gotoxy(0,0);
          lcd_puts(i);


          sprintf(i,"D %d",c);
          lcd_gotoxy(0,1);
          lcd_puts(i);
          delay_ms(100);


          }
          }




          دلیل: ادغام دو پست برای جلوگیری از اسپم

          اینم پروتئوس


          [IMG][/IMG]

          دلیل: ادغام دو پست برای جلوگیری از اسپم

          کدهای خودمو پاک کردم با کد شما امتحان کردم
          گاهی نمی شود که نمی شود
          گاهی قرعه نگفته به نام تو می شود
          گاهی گدای گدایی و چاره چیست
          گاهی تمام شهر گدای تو میشود
          ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

          دیدگاه


            #80
            پاسخ : ساخت کنترل فاز با avr

            توی کد خودت یه اشتباهی که داشت این بود که ADC_VREF_TYPE را باید مقدارش را 0x00 میگذاشتی.
            من خودم از اول نوشتم!
            این لینک کد و فایل شبیه سازی.

            اگه توی عمل نویز یا پرش داشتی این قسمت از کد را تغییر بده

            //if(ii==41){c=0;ii=0;}ii++;
            c=0;


            کد بالا را به کد پایین تغغیر بده


            if(ii==41){c=0;ii=0;}ii++;
            //c=0;

            دیدگاه


              #81
              پاسخ : ساخت کنترل فاز با avr

              ممنون
              ببینم میتونم 3 فازش کنم
              گاهی نمی شود که نمی شود
              گاهی قرعه نگفته به نام تو می شود
              گاهی گدای گدایی و چاره چیست
              گاهی تمام شهر گدای تو میشود
              ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

              دیدگاه


                #82
                پاسخ : ساخت کنترل فاز با avr

                نوشته اصلی توسط mfazl22 نمایش پست ها
                ممنون
                ببینم میتونم 3 فازش کنم
                اون دگ کار خاصی نداره.

                ولی من خیلی سعی کردم تو عمل این کار انجام بدم ولی توی بحت سه فاز نشد.
                من برای رسوندن ولتاژ به حد پیک و افزایش دقت و کاهش نویز از یک خازن سرامیکی استفاده می کردم ، توی تکفاز مشکلی نداشت ولی توی سه فازه به دلیل هارمونیک های مضاعف حلقه یا خازن ها می پوکیدند یا میکرو مدام ریست میشد.

                دیدگاه


                  #83
                  پاسخ : ساخت کنترل فاز با avr

                  تنظیمات رو باید اینطوری میکردی

                  [IMG][/IMG]

                  تو تک فاز هم جواب نمیده
                  جدیدترین ویرایش توسط mfazl22; ۱۳:۵۵ ۱۳۹۵/۰۷/۲۲.
                  گاهی نمی شود که نمی شود
                  گاهی قرعه نگفته به نام تو می شود
                  گاهی گدای گدایی و چاره چیست
                  گاهی تمام شهر گدای تو میشود
                  ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

                  دیدگاه


                    #84
                    پاسخ : ساخت کنترل فاز با avr

                    نوشته اصلی توسط mfazl22 نمایش پست ها
                    تنظیمات رو باید اینطوری میکردی

                    [IMG][/IMG]

                    تو تک فاز هم جواب نمیده
                    اون کامت را برای همین گذاشتم! ریکامنت کن تا حد زیاد درست میشه.
                    درضمن من از این مدار استفاده نکردم!!! در این مدار 100 در 100 وقتی ولتاژ ac را بهش وصل کنی میکرو ریست میشه. از این بابت خیالت تخت باشه.

                    دیدگاه


                      #85
                      پاسخ : ساخت کنترل فاز با avr

                      من بد جوری دنبالشم
                      این هدف منه باید بشه ببینم خدا چی میخواد ممنمو که کمک کردی
                      گاهی نمی شود که نمی شود
                      گاهی قرعه نگفته به نام تو می شود
                      گاهی گدای گدایی و چاره چیست
                      گاهی تمام شهر گدای تو میشود
                      ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

                      دیدگاه


                        #86
                        پاسخ : ساخت کنترل فاز با avr

                        نوشته اصلی توسط mfazl22 نمایش پست ها
                        من بد جوری دنبالشم
                        این هدف منه باید بشه ببینم خدا چی میخواد ممنمو که کمک کردی
                        من یک روش دگ پیشنهاد میکنم با مدار اشمیت تریگر با اپ امپ موج سینوسی را به پالس تبدیل کن و با وقفه های میکرو ولتاژش را در زمان 1 بودن با احتساب ضریبش حساب کن.
                        البته خودم نرسیدم تستش کنم هنوز

                        دیدگاه


                          #87
                          پاسخ : ساخت کنترل فاز با avr

                          من یه کنترل فاز زیمنس خریدم
                          مدارش همین بود atmega8 ,و سون سگمنت
                          من باید یرنامه اش رو بنویسم [IMG][/IMG]
                          گاهی نمی شود که نمی شود
                          گاهی قرعه نگفته به نام تو می شود
                          گاهی گدای گدایی و چاره چیست
                          گاهی تمام شهر گدای تو میشود
                          ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

                          دیدگاه


                            #88
                            پاسخ : ساخت کنترل فاز با avr

                            نوشته اصلی توسط mfazl22 نمایش پست ها
                            من یه کنترل فاز زیمنس خریدم
                            مدارش همین بود atmega8 ,و سون سگمنت
                            من باید یرنامه اش رو بنویسم [IMG][/IMG]
                            زیمنس؟؟ avr؟؟؟
                            خودت داری میگی زیمنس!
                            البته زیمنس اصل که با avr نیست!

                            دیدگاه


                              #89
                              پاسخ : ساخت کنترل فاز با avr

                              من چیزی که داغونش کردم زیمنس بود شاید الکی بود ولی کار می کرد من از بین بردمش
                              من امرون دیدم توش مگا ۶۴ بود
                              اتونیکس اف ایک ۶ (تایمر صنعتی) توش مگا ۳۲ تو شرکت ما داره کار میکنه avr نازه ما بلد نیستیم ازش کار بکشیم ( از نظر من)
                              جدیدترین ویرایش توسط mfazl22; ۱۹:۵۶ ۱۳۹۵/۰۷/۲۲.
                              گاهی نمی شود که نمی شود
                              گاهی قرعه نگفته به نام تو می شود
                              گاهی گدای گدایی و چاره چیست
                              گاهی تمام شهر گدای تو میشود
                              ای بنده بدان در این عالم ___هرچه خدا خواست همان می شور

                              دیدگاه


                                #90
                                پاسخ : ساخت کنترل فاز با avr

                                سلام دوستان.آیا این بحث کنترل فاز با avr بجایی رسیده.من شدیدا نیاز بیدا کردم بهش. البته بیشتر واسه بخش تشخیص عدم تقارن نیاز به یه مدار دقیقتر دارم.اگه کسی کار کرده لطفا راهنمایی کنید ممنووون

                                دیدگاه

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