Mein Problem ist wenn ich LEDs per PWM ansteure das diese nie ganz ausgehen, sie glimmmen immer ganz leicht. Habe folgende einfache Schaltung auf einem Steckbrett aufgebaut. Der N-Channel LL-Mosfet ist ein BUK 553 weil ich ca. 25 LEDs ansteuern will. Habe einen Testcode bei dem auch verschiedene PWM-Stufen funktionieren. OCR0A=255 LED voll an OCR0A=128 LED leuchtet etwas weniger OCR0A=0 Hier liegt das Problem: Die LEDs gehen trotz OCR0A=0 nicht ganz aus sie glimmen noch leicht. Wenn ich jedoch den µC abstecke sind die LEDs aus. Habe den Aufbau und das C-File mal angehängt. Weiß jemand woran das liegen kann???
Ist ganz normal. Entweder nicht ganz voll AN oder nicht ganz voll AUS. Wurde auch diverse Male hier behandelt. hast du mal die Suche versucht?
im Schaltplan ist die Dioden falschrum :D Könnte sein dass der tiny seine Ausgänge ganz kurz beim Timerwert 0 auf 1 setzt, um ihn dann gleich wieder auszuschalten. Hast du ein Oszi zur Hand? Ansosnten, kann man sich ja überlegen beim PWM-Wert 0 einfach den Timer zu stoppen, das müsste auf jeden Fall funktionieren.
Habe leider kein Oszi... Werde es mal mit Phase Correct PWM versuchen. Danke für die schnellen Antworten.
Hi
>Werde es mal mit Phase Correct PWM versuchen.
Invertierte PWM geht auch.
MfG Spess
Ist normal, hängt mit der Funktion der Hardware-PWM zusammen. Bei 25 LEDs musst Du sowieso Soft-PWM machen, da kannst Du das abfangen. Codes für Soft-PWM und LED Dimmen gibts über die Suche.
> Invertierte PWM geht auch.
Bis jetzt verwende ich:
Clear OC0A/OC0B on Compare Match, set OC0A/OC0B at BOTTOM
(non-inverting mode)
Meinst du mit invertierte PWM:
Set OC0A/OC0B on Compare Match, clear OC0A/OC0B at BOTTOM.
(inverting mode)
Warum sollte es dann anders sein???
Hi
>Warum sollte es dann anders sein???
Weil der Mode bis auf Null geht.
MfG Spess
Weil die Reihenfolge der Ereignisse ist: Bei BOTTOM auf jeden Fall erst mal den OCR Pin wie gewünscht schalten (in deinem Fall also ein) und erst dann das Vergleichsregister betrachten ob der Pin ausgeschaltet werden muss. Fazit: Wird der Timer rückgesetzt, wird der Pin bei dir auf jeden Fall erst mal eingeschaltet um dann gleich darauf wieder ausgeschaltet zu werden. -> Eine Einstellung von 0 sorgt nicht für komplette Ruhe auf dem Pin Drehst du um, dann hast du die Situation, dass u zwar 0 erreichen kannst, aber nicht exakt 100%. Also das umgekehrte Problem: Der Pin ist nie einfach nur durchgehen eingeschaltet. Speziell bei LED ist aber letzters zu verschmerzen, denn ob die 99.9% ihrer Zeit eingeschaltet ist oder 100% kannst du ohne Messinstrumente nicht feststellen.
vielen dank für eure super unterstützung, und für die Erklärung. jetzt habs sogar ich verstanden.
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.