Marco78
09.06.2006, 23:34
Das Unterforum gibt ja schon vor, das es sich um ein Bascom-AVR-Projekt handelt.
Das ganze soll, wenn's fertig ist ein Dimmer werden, der per IR oder Taster geregelt werden kann.
Hier der Code:
$regfile = "at26def.dat"
$crystal = 16000000
Led Alias Porta.4
Triac Alias Porta.7
Taster Alias Pina.2
Config Porta.4 = Output
Config Porta.7 = Output
Config Porta.2 = Input
Porta = &B0000100 'PullUp von Pin PA2 aktivieren
Dim A As Word
Dim B As Word
Dim C As Integer
Config Int0 = Change 'bei jeder Halbwelle reagieren
Enable Int0
Enable Interrupts
On Int0 Int0_isr
Set Led
Do
If Taster = 0 Then
Incr A
Waitms 10 'entprellen
End If
If A = 10 Then A = 0
Loop
Int0_isr:
Waitms A
Set Triac
Waitus 100
Reset Triac
Return
Im Prinzip funktioniert das auch so, aber...
Das dimmen ist mehr ein unryhtmischen flackern. Es sieht so aus, als ob einige Nulldurchgänge nicht erkannt werden.
Ein Oszilloskope habe ich nicht. Solche Tipps helfen mit weniger.
Außerdem verwende ich einen MOC3043. Der Diodenstrom ist zwar richtig "eingestellt", aber der MOC hat eine eigene Nulldurchgangserkennung. Ich weiss nicht, ob das ein Grund ist, bzw was diese Erkennung überhaupt bewirkt. Einen externen Pin hat sie nicht.
Des weiteren bräuchte ich noch eine gute Idee, wie man die Regelung realisieren kann. Und wieviel Schritte sind sinnvoll? Ich denke 64 sind mehr als genug. Wobei ich auchschon Projekte mit 256 Schritten gesehen habe.
Das ganze soll später aus Platzgründen auf einem Tiny25 oder Tiny 45 laufen. Ich habe jetzt nicht geschaut, ob der im Gegensatz zum Tiny26 noch einen zweiten Timer hat.
Ein Timer wird ja schon für den IR-Empfang gebraucht.
Allerdings steht auch im Datenblatt zum Tiny26:
• Peripheral Features
– 8-bit Timer/Counter with Separate Prescaler
– 8-bit High-speed Timer with Separate Prescaler
2 High Frequency PWM Outputs with Separate Output Compare Registers
Non-overlapping Inverted PWM Output Pins
Wie kann man den zweiten Timer denn nutzen?
Ich habe mich ja auch schon bemüht und schon viel mit Google gesucht und hier im Forum. Da habe ich u.a. https://www.roboternetz.de/phpBB2/viewtopic.php?t=9822&postdays=0&postorder=asc&start=22 gefunden. Aber damit wurde ich auch nicht schlauer was die Lösung aller Probleme angeht.
Ich seh grade, das im Schaltplan ein Teil fehlt. Netz-N ist auch mit 1M an GND angeschlossen, wie Netz-L über 1M an INT0.
Das ganze soll, wenn's fertig ist ein Dimmer werden, der per IR oder Taster geregelt werden kann.
Hier der Code:
$regfile = "at26def.dat"
$crystal = 16000000
Led Alias Porta.4
Triac Alias Porta.7
Taster Alias Pina.2
Config Porta.4 = Output
Config Porta.7 = Output
Config Porta.2 = Input
Porta = &B0000100 'PullUp von Pin PA2 aktivieren
Dim A As Word
Dim B As Word
Dim C As Integer
Config Int0 = Change 'bei jeder Halbwelle reagieren
Enable Int0
Enable Interrupts
On Int0 Int0_isr
Set Led
Do
If Taster = 0 Then
Incr A
Waitms 10 'entprellen
End If
If A = 10 Then A = 0
Loop
Int0_isr:
Waitms A
Set Triac
Waitus 100
Reset Triac
Return
Im Prinzip funktioniert das auch so, aber...
Das dimmen ist mehr ein unryhtmischen flackern. Es sieht so aus, als ob einige Nulldurchgänge nicht erkannt werden.
Ein Oszilloskope habe ich nicht. Solche Tipps helfen mit weniger.
Außerdem verwende ich einen MOC3043. Der Diodenstrom ist zwar richtig "eingestellt", aber der MOC hat eine eigene Nulldurchgangserkennung. Ich weiss nicht, ob das ein Grund ist, bzw was diese Erkennung überhaupt bewirkt. Einen externen Pin hat sie nicht.
Des weiteren bräuchte ich noch eine gute Idee, wie man die Regelung realisieren kann. Und wieviel Schritte sind sinnvoll? Ich denke 64 sind mehr als genug. Wobei ich auchschon Projekte mit 256 Schritten gesehen habe.
Das ganze soll später aus Platzgründen auf einem Tiny25 oder Tiny 45 laufen. Ich habe jetzt nicht geschaut, ob der im Gegensatz zum Tiny26 noch einen zweiten Timer hat.
Ein Timer wird ja schon für den IR-Empfang gebraucht.
Allerdings steht auch im Datenblatt zum Tiny26:
• Peripheral Features
– 8-bit Timer/Counter with Separate Prescaler
– 8-bit High-speed Timer with Separate Prescaler
2 High Frequency PWM Outputs with Separate Output Compare Registers
Non-overlapping Inverted PWM Output Pins
Wie kann man den zweiten Timer denn nutzen?
Ich habe mich ja auch schon bemüht und schon viel mit Google gesucht und hier im Forum. Da habe ich u.a. https://www.roboternetz.de/phpBB2/viewtopic.php?t=9822&postdays=0&postorder=asc&start=22 gefunden. Aber damit wurde ich auch nicht schlauer was die Lösung aller Probleme angeht.
Ich seh grade, das im Schaltplan ein Teil fehlt. Netz-N ist auch mit 1M an GND angeschlossen, wie Netz-L über 1M an INT0.