Hallo,
bin gerade dabei mit Bascom einen Dimmer zu programmieren, doch leider hab ich ein Problem ich erkenne den Nulldurchgang mit hilfe eines Opptokoppler der für die Dauer der positzven Halbwelle ein High-Signal gibt und bei der negativen Halbwelle ein Low-Signal und genau da liegt das Problem wie man im Code sehen kann löst der Interrupt bei Low-Signal aus, dadurch funktioniert die negative Halbwelle leider überhaupt nicht hat vielleicht jemand eine Lösung für das Problem?
Code:$regfile = "m8def.dat" $crystal = 7372800 $baud = 9600 Config Timer1 = Timer , Prescale = 8 Config Timer0 = Timer , Prescale = 1024 Config Int0 = Low Level Enable Interrupts Enable Int0 Enable Ovf1 Enable Ovf0 On Int0 Isr_von_int0 On Timer1 Isr_von_timer1 On Timer0 Isr_von_timer0 Config Portb = Output Stop Timer1 Stop Timer0 Timer1 = 0 Timer0 = 0 Do Loop End Isr_von_int0: Waitus 400 'Nulldurchgangserkennung Timer1 = 56321 Start Timer1 Timer0 = 220 Start Timer0 Return Isr_von_timer1: 'Erkennung des negativen Nulldurchganges Stop Timer1 Timer0 = 220 Start Timer0 Return Isr_von_timer0: Set Portb.1 Waitus 200 Reset Portb.1 Stop Timer0 'zünden des Triacs Return







Zitieren

Lesezeichen