Forum: Mikrocontroller und Digitale Elektronik 230V dimmen mit mega128 und Bascom


von Malte S. (boeser-korn)


Angehängte Dateien:

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

von Malte S. (boeser-korn)


Angehängte Dateien:

Lesenswert?

Hier mein reduziertes nicht funktionsfähiges Programm
Die Sekunden laufen mit doppelter Geschwindigkeit!

von Malte S. (boeser-korn)


Lesenswert?

hat keiner Tips wie man das noch machen kann?

von Frank (Gast)


Lesenswert?

Brauchst Du eventuell noch galvenisch getrennte Halbleiterrelais mit 
Nullpunkterkennung? Hätte noch ein paar abzugeben!

von Matthias Kölling (Gast)


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

von Roli (Gast)


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

von Malte S. (boeser-korn)


Lesenswert?

Habe es schon auf 4MHz runtergestellt

aber wie kommst du auf die Werte?

kannst du deine mal reinstellen
 Danke


Das Problem ist das der Triac nicht zündet

@Frank

Welche hast du denn und wie funktionieren die denn

von Malte S. (boeser-korn)


Lesenswert?

Schaltung und so ist schon aufgebaut

kriege es auch hin das er die nulldurchgänge zählt
jetzt muss ich nur den Counter immer zurück setzen, ich hoffe ich kriege 
das hin
melde mich später noch mal

von Papsi (Gast)


Lesenswert?

Hallo,

Hast Du die Schaltung so aufgebaut, wie im Schaltplan gezeichnet?
Kannst ja mal ein Foto machen...

Wie willst Du die Dimmer dann steuern? per Taster/Poti?

Gruß
Papsi

von Malte S. (boeser-korn)


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

von Henning (Gast)


Lesenswert?

mit Nullspannungserkennung ist das falsche fürs DIMMEN? Ich glaub ich 
steh aufm Schlauch...

von Malte S. (boeser-korn)


Lesenswert?

@Henning:   Was meinst du?

von Frank (Gast)


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

von Malte S. (boeser-korn)


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

von Malte S. (boeser-korn)


Angehängte Dateien:

Lesenswert?

kriege es kein Stück hin

habe die nulldetect auf 100Hz gestellt so dass ich jeden nulldurchgang 
mitkriege
beim mir tut sich aber nichts die Sekunden zählen hoch
und 100Hz kann ich auch zählen, aber dimmen kriege ich nicht hin

kann mir einer mal sagen wiso

Aktuelles Programm im Anhang

von Malte S. (boeser-korn)


Angehängte Dateien:

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

von Malte S. (boeser-korn)


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?

von Matthias Kölling (Gast)


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

von Malte S. (boeser-korn)


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

von Malte S. (boeser-korn)


Angehängte Dateien:

Lesenswert?

Erfolgsmeldung

er macht endlich das was ich will


Danke an Alle für eure Hilfe


Für alle die es noch selber brauchen können stell ich das Programm im 
Anhang rein

von Malte S. (boeser-korn)


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?

von Daniel R. (daniel_r)


Lesenswert?

230V und Bascom sind eine suboptimale Kombination. Wer sich kein 
Assembler zutraut, sollte auch bei 230V aufpassen ;))))

Duckundweg

von Malte S. (boeser-korn)


Lesenswert?

dieser thread wird hier Fortgesetzt
Beitrag "intterupt Problem mega8"

von juppi (Gast)


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

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
Noch kein Account? Hier anmelden.