Hallo, ich hab mein erstes Programm in Bascom geschrieben. http://pastebin.com/f421ea991 Und wollte mal fragen ob das so funktioniert wie ich mir das gemacht habe. Das Programm sollte eine Rotlichtlampe mit einem Triac nach temperatur dimmen. Grüße maxe
Ich kenn mich mit dem Bascom-Zeugs nicht aus, aber: 'Wait' im Interrupt ist meistens immer falsch.
der Interrupt wird im 0 durchgang ausgelöst und dann soll er warten und dann den triac zünden abhängig von der Temperatur.
Das sieht doch aber an sich ganz gut aus. Das mit dem Interrupt und Wait stimmt schon, ist aber in diesem Programm - denke ich - nicht weiter kritisch. Grüße
Was ich noch fragen wollte, reichen 100 us für einen Optokoppler den triac zu zünden?
Du kannst in Bascom bei Waitus keine Variable angeben, sondern nur feste Werte (kann auch eine vorher vereinbarte Konstante sein). Gruß Rolf
Einfache Lösung: Aus Schleifen selbst 'ne Verzögerung bauen, bei 2MHz schafft der Tiny 2 Takte/µS, ein Maschinenbefehl braucht 1,2 oder 3 Takte, eine for/next dann xxx Takte. Im Simulator 2 Breakpoints setzen und aus der Differenz der Prozessortakte (wird im Sim. unten mit "Cycles" angezeigt) die tatsächliche Verzögerung errechnen. Tuning der Verz. geht z.B. mit Einfügen von: $asm NOP NOP ... $end asm 1 NOP verbraucht einen Prozessortakt Wird aus dieser selbstgestrickten Verzögerung eine Subroutine gemacht, so kann sich je nach Aufrufart eine zusätzliche Verzögerung ergeben, wenn Register gesichert werden. Fortgeschrittene Lösung: Timer/Counter verwenden, Start auf Int0 synchronisieren, Verzögerungswerte in's Compare-Register. Evtl. könnte eine der PWM Modes dazu "überredet" werden, gleich das Schaltsignal zu liefern.
Maxe, wenn Du gerade anfängst, kann die Timer/Counter Lösung etwas tricky sein (sprich frustbehaftet), und ein Oszilloskop würde dabei sehr helfen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.