Hallo, nach geduldigem Durchackern diverser Foren und Ausfragen von Freunden meine ich, daß ich zwischenzeitlich eine Vorstellung davon habe, wie ein Spannungsregler beschaltet werden sollte. Ich möchte aber nicht ausschließen, daß ich mich täusche, da ich nicht vom Fach bin. Daher würde ich mich über die Meinung von fachkundigeren Forenschreiben freuen. Einige Schaltungen (und Beiträge) zur kurzzeitingen Pufferung der Versorgung zum Schreiben einiger Bytes ins EEPROM sind ja auch hier zu finden. Dabei wird aber i.d.R. davon ausgegangen, daß die Spannungsversorgung separat geregelt wird (siehe http://www.mikrocontroller.net/articles/Speicher#EEPROM). Mein Ziel ist, Spannungsversorgung, Puffer, und eine Leitung zum Detektieren des Spannungsverlustes zu integrieren. Die eigentlich funktionierende Schaltung findet sich im Anhang (ATtiny beispielhaft, normalerweise wird ein ATmega168 benutzt). Eigentlich deshalb, weil ich etwas sonderbares beobachte, sobald ich ein LCD-Display mit dran hänge (http://www.sparkfun.com/commerce/product_info.php?products_id=461). Das Display wird seriell mit Daten aus dem uC gefüttert. Wenn ich nun das Netzteil vor dem Spannungsregler einstecke, sehe ich 2 verschiedene Verhaltensweisen, je nachdem, ob die serielle Leitung zwischen uC und Display permanent ist oder erst ein paar Sekunden nach dem Einschalten hergestellt wird: Permanent: Display stellt sich nach Aufblinken des Splashscreens tot Nachträgliches Einstecken COM: Datenübertragung funktioniert wie gewünscht. Ich habe den Verdacht, daß es mit extremen Spannungsschwankungen beim Einschalten meiner Versorgungsschaltung zusammenhängt. Da es mit einer einfachen Beschaltung (http://www.mikrocontroller.net/articles/AVR-Tutorial:_Equipment) tadellos funktioniert, würde das nahe liegen. Möglicherweise ist der 100 uF-Elko einfach zu groß. Leider habe ich keine Möglichkeit zum Messen am Oszi. Vielleicht kann mir trotzdem jemand sagen, ob hier irgendetwas katastrophal falsch ist und falls ja, was man besser machen kann. Danke schonmal im Voraus, Markus
Markus schrieb: > Die eigentlich funktionierende Schaltung findet sich im Anhang (ATtiny > beispielhaft, normalerweise wird ein ATmega168 benutzt). /Eigentlich/ > deshalb, weil ich etwas sonderbares beobachte, sobald ich ein > LCD-Display mit dran hänge Wieviel Strom zieht das LCD denn? Und ist das Backlight an? > Permanent: Display stellt sich nach Aufblinken des Splashscreens tot > Nachträgliches Einstecken COM: Datenübertragung funktioniert wie > gewünscht. Probier doch mal aus, den nachdem der µC gestartet ist ein delay von 3s einzubauen.
Hi Alexander, das Backlight ist an, damit zieht das Display 25 mA, der uC und der übrige Kleinkram wird auch nochmal Strom um die 50 mA verbraten. Wenn ich die Initiierung der Kommunikation mit dem Display (Custom characters einspielen etc.) ein wenig (500 ms) verzögere, scheint es zu funktionieren. Sicher bin ich mir deshalb nicht, weil sich das Ganze auch in der Vergangenheit recht nichtdeterministisch verhalten hatte, also mit identischen Komponenten auf einmal ging. Daher wäre es nützlich zu wissen, ob die Versorgungsschaltung wenigsten OK ist. Sprich die Schaltung bis einige 100 mA stabil und glatt Strom liefern kann. Damit könnte ich die zumindest mal ausschließen. Danke schonmal, Markus
Ich denke der Mikrocontroller laeuft, wenn du die Spannungsquelle ansteckerst, erstmal ein paar An-Reset-Zyklen durch, bis die Spannung tatsaechlich brauchbar ist. In der Zeit sendet er etwas Muell zum Display, was dann nicht richtig initialisiert ist. Also entweder eine Warteschleife nach dem Starten einplanen oder ein IC verbauen, welches den Mikro solange im Reset haelt, bis die Spannung tatsaechlich brauchbar ist.
Hi. Warum nimmst du für C2 nicht einfach nen kleineren von z.B. um die 270uF oder noch kleiner? Bei dem Strombedarf wird der für deine Schaltung locker reichen. Ein Vorteil bei der sache, das er nicht so lange braucht um geladen zu werden wie deiner von 1000uF. Die beiden Kondensatoren sind ja OK. Nur meiner Meinung nach kannst du den Elko hinterm Spannungsregler auch weglassen, weil du mit den Kon. ja nur evt. auftrettende Schwingungen unterdrücken sollst und der C2 soll ja nur die Netzspannung ggf. etwas glätten. Wenn ich einen SP nutze kamm ich damit immer bestens klar und hatte nie irgendwelche Probleme und meine verbauten LCD´s haben auch immer sofort das Angezeigt was sie sollten.
Moin zusammen und erstmal Danke für die Antworten. Ob der Controller stabil startet, ist natürlich schwer zu sagen, ohne per Oszi zu messen. Aber für Deine Theorie spricht der Umstand, daß schon eine geringe Wartezeit im Code das Problem behebt. Also die Zeitspannen An-Reset kürzer sein müssen als diese Zeit, und das Display erst dann gestartet wird, wenn sich eine stabile Spannung einstellt. Die Idee hinter dem großen C2 ist, bei Trennung vom Netz die Versorgung noch so lange sicherzustellen, daß etwaige Variablen ins EEPROM des uC gesichert werden können. Detektiert wird der Abfall per Signalleitung vor der Diode. Kann es eigentlich auch an diesem Elko liegen, daß die Spannung beim Einschalten instabil ist, weil er sich als erster lädt und dabei der folgende Spannungsregler erstmal zu kurz kommt? C4 habe ich übrigens tatsächlich etwas unreflektiert auf Anraten eines befreundeten Technikers noch mit reingenommen. Er meinte, daß der da nicht viel schaden kann, bei Engpässen aber noch ausreichend viel abfängt, damit der Jitter nicht zu groß wird. Sollte ich den rausnehmen, oder sind die negativen Auswirkungen zu marginal? Danke, Markus
@ Markus (Gast) >schon eine geringe Wartezeit im Code das Problem behebt. Also die Das kann man einfach dadurch absichern, indem man a) den Brown Out Detektor per AVR Fuses einschaltet oder b) in den Taktoptionen der Fuses eine lange Wartezeit, meist 64ms. >Die Idee hinter dem großen C2 ist, bei Trennung vom Netz die Versorgung >noch so lange sicherzustellen, daß etwaige Variablen ins EEPROM des uC >gesichert werden können. Detektiert wird der Abfall per Signalleitung >vor der Diode. C2 ist OK und unkritisch. C4 ist auch OK, wenn gleich in der Grösse nicht notwending. 10uF tuns hier auch. >Kann es eigentlich auch an diesem Elko liegen, daß die Spannung beim >Einschalten instabil ist, weil er sich als erster lädt und dabei der >folgende Spannungsregler erstmal zu kurz kommt? Nein. >abfängt, damit der Jitter nicht zu groß wird. Sollte ich den rausnehmen, Jitter ist was ganz anderes. >oder sind die negativen Auswirkungen zu marginal? Ist mehr oder weniger egal. Der hat nur dann einen Sinn, wenn sehr schnell grosse Lasten mit 100mA++ geschaltet werden. MFG Falk
Es kann sein das die Schaltung über die Schutzdioden an PIN5 versorgt wird. Während C2 noch geladen wird und die Spannung an VCC noch <4,7V beträgt, fließt ein Strom von U/R1 = U/1kohm >= 3mA in den µC. Dieser startet dann eventuell mehrmals wie von Rik beschrieben und verursacht das Problem. Mach mal R1 größer auf 100kohm und lass R2 und D2 weg. Die interne Schutzbeschaltung reicht fast immer aus. Wie sieht die Stromversorgung vor X1 aus? Und bau vor D1 einen Widerstand 5kohm, damit der Eingang schnell auf 0V gezogen wird.
Markus schrieb: > Permanent: Display stellt sich nach Aufblinken des Splashscreens tot Auf dem LCD ist ja noch ein extra PIC-MC drauf, der braucht wohl erstmal einige Zeit zum Starten (sollte im Datenblatt stehen). Du mußt also etwas warten, dann sollte es gehen. So einen UART zu LCD Wandler kann man aber auch selber programmieren: Beitrag "LCD über nur einen IO-Pin ansteuern" Kostet dort ja immerhin 16.95$ Peter
Hallo zusammen, danke für Eure Bemühungen. @Falk: Optimal, diese Informationen waren, was ich gesucht habe um die Unsicherheit hinsichtlich der generellen Funktion der Schaltung zu zerstreuen. 100 uF wurden es vor allen Dingen deshalb, weil kein 10 uF Elko zur Hand war. Und Jitter != Ripple, Freud'scher Doppelkonsonantenverschreiber. @Alexander: Die Spannungsversorgung vor X1 sind 9V aus einem Steckernetzteil. Die Zenerdiode ist daher zum Runterschrauben der Spannung gedacht, R1 um den Strom zu beschränken und R2 als Pulldown. Was mir aber neu ist (möglicherweise aber auch Uninformiertheit) ist der Umstand, daß der uC startet, wenn Spannung am I/O Pin anliegt. @Peter: Könnte was dran sein, ein wenig Zeit benötigt der PIC sicher. Vor allem interessant ist Dein Code. Allerdings beschränken sich meine Lötaktionen meist auf Einzelstücke auf Streifenraster, da stellt sich dann die Frage Zeit vs. Zusatzkosten. Werde ich beim nächsten Mal trotzdem mal testen. Beste Grüße, Markus
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.