سلام دوستان
من یه هیتر 3کیلووات دارم که میخوام با مدار دیمر و یک میکرو کنترلش کنم.
بخش آشکارساز صفر رو از یک سایت گرفتم.نقشه کامل مدارم توی این فایل pdf هست http://s6.picofile.com/file/82371872...ction.pdf.html
خب من اول اومدم بجای اون اوپتوترایاک moc3021 و هیتر (که توی شماتیک با لامپ مشخص شده) یک Led گذاشتم و ظاهراً مدار آشکارساز بدرستی کار میکرد
ولی حالا که اپتو و ترایاک بصورت مشخص شده وصل میکنم، وقتی دوشاخه ac رو میزنم به برق 220 جرقه میزنه و اتصالی میکنه. بنظرتون ایرادش از کجاست؟
لطفا راهنمایی کنید بشدت نیازش دارم.ممنون
راستی اینم سورس برنامه
من یه هیتر 3کیلووات دارم که میخوام با مدار دیمر و یک میکرو کنترلش کنم.
بخش آشکارساز صفر رو از یک سایت گرفتم.نقشه کامل مدارم توی این فایل pdf هست http://s6.picofile.com/file/82371872...ction.pdf.html
خب من اول اومدم بجای اون اوپتوترایاک moc3021 و هیتر (که توی شماتیک با لامپ مشخص شده) یک Led گذاشتم و ظاهراً مدار آشکارساز بدرستی کار میکرد
ولی حالا که اپتو و ترایاک بصورت مشخص شده وصل میکنم، وقتی دوشاخه ac رو میزنم به برق 220 جرقه میزنه و اتصالی میکنه. بنظرتون ایرادش از کجاست؟
لطفا راهنمایی کنید بشدت نیازش دارم.ممنون
راستی اینم سورس برنامه
کد:
/***************************************************** This program was produced by the CodeWizardAVR V2.05.0 Advanced Automatic Program Generator © Copyright 1998-2010 Pavel Haiduc, HP InfoTech s.r.l. http://www.hpinfotech.com Project : Version : Date : 1/25/2016 Author : www.Eca.ir *** www.Webkade.ir Company : Comments: Chip type : ATmega8 Program type : Application AVR Core Clock frequency: 1.000000 MHz Memory model : Small External RAM size : 0 Data Stack size : 256 *****************************************************/ #include <mega8.h> #include <delay.h> #include <lcd.h> #include <stdio.h> #asm .equ __lcd_port=0x18 #endasm unsigned char i=0,lcd_buff[16]; interrupt [EXT_INT0] void ext_int0_isr(void){ PORTD.0=0; delay_ms(i); PORTD.0=1;} interrupt [EXT_INT1] void ext_int1_isr(void){ i++;while(PIND.3==0); if(i==11) i=0;} void main(){ lcd_init(16); lcd_clear(); DDRD.0=1; PORTB.0=1; DDRB.0=0; GICR=(1<<INT1)|(1<<INT0); MCUCR=(1<<ISC11)|(1<<ISC01)|(1<<ISC00); #asm("sei") while(1){ sprintf(lcd_buff,"%2u",i); lcd_gotoxy(0,0); lcd_puts(lcd_buff); } }
دیدگاه