Gast
#157220
Hab mir mit Vorbild von ELV (http://www.elv-downloads.de/service/manuals/DI300/37378-DI300.pdf) einen Phasenabschnittdimmer aufgebaut. Sicherheitshalber hab ich Synchronisationseingang und Steuerausgang zum FET mit Optokopplern versehen. Als IC2 verwende ich einen PIC12F629 und dessen Pin GP2 als Synchronisationseingang. Bei jeder negativen Flanke an GP2 wird ein Interrupt ausgelöst. Die Software hab ich folgendermaßen aufgebaut (da die negative Flanke nur einmal pro Netzperiode ansteht muss der zweite Nulldurchgang durch die Software berechnet werden): nach einem Interrupt wird der Mosfet durchgeschaltet - nach erreichen des eingestellten Phasenwinkels wird er wieder gesperrt - nach ca.10ms seit dem Interrupt wird er wieder durchgeschaltet und wiederum nach erreichen des Phasenwinkels gesperrt. Womit ich dabei probleme hab ist, dass laut ELV ein 455KHz Resonator verwendet wird, der interne Takt des PIC liegt also bei 113KHz (1/4*Fosc) oder 9µs. Angenommen ich würde mich mit einer linearen Auflösung des Phasenwinkels und 40 Stufen zufrieden geben: 10ms/40 = 250µs = 27 Prozessortakte. Da is der PIC doch nur noch mit dem Timer beschäftigt und für eine logarithmische Auflösung bleibt auch kein Spielraum mehr ... oder??? Zum testen benutze ich gerade einen 4MHz Quarz, also 1MHz internen Takt und selbst da wackelt mir das Oszibild bei dem berechneten zweiten Nulldurchgang noch zu sehr. Dabei brauche ich doch auch noch eine Tastenabfrage zum einstellen des Phasenwinkels. Hat vielleicht jemand eine Idee für einen effizienten Quellcode, oder einen besseren Ansatz für die Berechnung des zweiten Nulldurchgangs? Benutze C, Assembler ist für mich zwar kein Chinesisch, aber Französisch noch allemal. DANKE Steffen