230V dimmen mit mega128 und Bascom

OP #819083
Lesenswert?

Hallo habe Probleme mit dem Dimmen unter Bascom

das angehängte Programm wollte ich reduzieren und in ein ferriges 
Programm mit rein schreiben.

kriege es aber nicht aufgedrosselt und weiss auch nicht genau wie das 
Programm abläuft.

brauche eigentlich nur ein kleines Programm,
das die nulldurchgangserkennung macht und den triac sagt wann er zünden 
soll.

Schaltplan habe ich von
http://pcdimmer.pc.ohost.de/schaltplan/pc_dimmer_schaltplan_rev27_bta16-600b.jpg
genommen

Mein µC läuft mit 8MHz

Danke
Angehängte Dateien:
Gast #819316
Lesenswert?

Hallo,

von Bascom verstehe ich nicht allzuviel. Aber wenn ich davon ausgehe, 
dass Dein Timer1 im Normal Operation Mode arbeitet, dann ergibt sich 
folgendes Timing:
-Der Prescaler steht auf 64. Das macht 8µs pro Tick bei 8MHz.
-Die Voreinstellung ist 3036. Der Timer zählt nach oben bis er zu 0
 überläuft. Das sind dann 62500 Ticks a 8µs, also 500ms.
Das Timing für Timer2 kannst Du auf ähnliche Weise überprüfen. Du weisst 
ja, dass das Netz 50Hz hat, also 20ms für eine volle Sinusschwingung.

Gruß Matthias
Gast #819342
Lesenswert?

@Frank - Halbleiterrelais mit Nulldurchgerkennung ist genau das falsche 
was er braucht - er will dimmen und nicht nur schalten.

Nulldurchgangerkennung ist nicht schwer. eine Kleine schaltung die immer 
beim Nulldurchgang triggert - siehe z.B. Seite von Hendrik Hölscher (DMX 
Dimmer) - der wird dann an einen Interrupteingang am µC angeschlossen. 
Im Programm wird dann bei jedem Nulldurchgang der Counter zurückgesetzt.

Den Wert wo dann ein Triac gezündet wird,  kann entweder mit einem Poti 
oder Taster oder ... eingestellt werden. Musst eben dann schaun wie fein 
du das ganze dimmen willst.

Ist jetzt mal eine Prinziperklärung - proggen musst du selbst - ist 
nicht schwer - eine einfache Übung

lg Roland
OP #819375
Lesenswert?

soll nachher alles automatisch gehen

der dimmer soll nachher ein lüfter steuern
der mikro liesst die temperatur vergleicht mit Solltemperatur und dreht 
umso schneller umso weiter die die beiden werte auseinander sind und das 
ganze natürlich auch anders herum wenn die fast gleich sind das der 
lüfter auf 20-30% weiter läuft ist auch einstellbar

für Gleichspannung ist die Software fertig (mosfet wird über PWM 
angesteuert) leider nicht für Wechselspannung

Die Schaltung ist so wie im Schaltplan
Gast #819413
Lesenswert?

Ich meine damit Roli´s Kommentar, verstehe nicht warum ein intelligentes 
Halbleiterrelais mit Nullspannungserkennung nicht zum Dimmen geeignet 
sein soll.

Laut Datenblatt perfekt für Dimmanwendungen "jeglicher Last" geeiget.. 
grübel
OP #819748
Lesenswert?

brauche ich überhaupt bei mein Projekt beide Timer?

ich brauche doch nur ein der dann anspringt wenn der Nulldurchgang 
aktiviert wird und dann bis zu einem bestimmten Wert zählt und den Triac 
zündet (Timer2) den Timer1 brauche ich doch garnicht, oder sehe ich das 
nun falsch??


Danke
OP #819998
Lesenswert?

so birne leuchtet

muss aber ein externen Quarz ran sonst läuft das ganze nicht

das Problem ist das ich sie noch nicht dimmen kann
kann mir vielleicht jemand sagen wie die timer richtig einstellen soll
über timer weiss ich so gut wie garnichts
wäre schön wenn jemand mir das erklären könnte wie das alles zusammen 
hängt mit prescale den Teiler und so.
habe mir auch schon den Roboternetz Berechnungstoll runtergeladen
bringt mir aber auch nicht so sehr weiter


Programm läuft mit 4MHz
nullpunkt detect nach einen Gleichrichter = 100Hz
der Triac wird 20µs lang angeschaltet
wieviele Stufen zum Dimmen kann man nun max mal einstellen


zum schluss:
im Programm habe ich timer2 = 97 eingestellt Helligkeit bleibt aber 
gleich egal welche zahll ich da eingebe

Im Anhang das Programm

Danke
Angehängte Dateien:
OP #820042
Lesenswert?

ich glaube ich mache immer noch was verkehrt

müsste die Einstellungen nicht anders sein:
1
Dimmer_triac_irq:
2
   Stop Timer2
3
   Triac_start = 1
4
   Waitus 10
5
   Triac_start = 0
6
Return

sollte es nicht so sein?
dann flackert die Birne aber wie wild
1
Dimmer_triac_irq:
2
   Stop Timer2
3
   Triac_start = 0
4
   Waitus 10
5
   Triac_start = 1
6
Return

was jemand was sein kann??
oder was ich falsch gemacht habe?
Gast #820078
Lesenswert?

Hast Du inzwischen wenigstens Deine Timings überprüft? Einen Hinweis 
habe ich Dir ja geliefert. Wenn Du den Code so übernommen hast und auch 
Deine Schaltung stimmt, dann sollte das Ganze nach der Anpassung an 
Deine Quarzfrequenz laufen.

Gruß Matthias
OP #820093
Lesenswert?

das ist ja grade das Problem, dass mit den Timern verstehe ich noch 
nicht
ich weiss nicht wie du auf die Werte kommst

und was sagst du zu dem vorherigen Post mit dem Triac_start?

wenn ich das obere Beispiel nehme habe ich genau 100Hz an der Leitung 
zum Triac. (Birne leuchte konstant mit einer Leuchtkrft ändert sich auch 
nicht)
wenn ich das untere nehme dann kriege ich von 80Hz bis 150Hz
und Birne flackert

Danke
OP #820243
Lesenswert?

doch wieder ein Problem
nun wollte ich ja das in mein anderes fertiges Programm einfügen nun 
stürtzt er nach 3-4 ab
die lampe in sekunden takt kurz mal aus bis der mikro abgestürzt ist


ich dachte die interupts laufen immer auch wenn man noch ein etwas 
grösseres Programm zum laufen hat


wie kann man das beheben?
Gast #820503
Lesenswert?

hallo

hat mit asembler nichts zu tun.
Zutrauen reicht nicht.
Das wissen über die absolute Gefährlichkeit
ist wichtig,und einhaltung aller Vorschriften.
wenn auch Ausländische produktionen oft gefährlich
und doch abgenommen sind.
das aber nur nebenbei.
MfG

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren