Hallo Zusammen, ich habe eine Microcontrollerschaltung (ATMEGA328p) die durch eine Taste ein- und ausgeschaltet werden soll. Der Taster und Selbsthaltung wurde wie abgebildet realisiert. Ein bekanntes Thema und ich hätte auch schon eine alternative Schaltung hier gefunden, nur habe ich schon die gefertigte PCB vor mir (Im Probeaufbau hats funktioniert) und möchte nun den Fehler in meiner Schaltung beheben. Grundsätzlich funktioniert die Schaltung ja ganz gut, aber PROBLEM: Es gibt Phasen, da lässt sich die Schaltung partous nicht einschalten! Ich drücke auf die Taste, der Enable vom Vreg geht auf 3V, aber sobald ich die Taste wieder los lasse, ist die Spannung wieder weg. Das geht 20-30 mal so. Dann gibt es aber wieder Phasen, da funktioniert die Schaltung tip-top und lässt sich 50 mal in Folge perfekt ein- und ausschalten. ich komm einfach nicht dahinter, woran das liegen könnte. Irgendwie kommt es mir so vor, als würde er uC nicht richtig hochfahren und die Selbsthaltung nicht richtig funktionieren, aber als ich das das letzte mal genauer anschauen wollte, konnte ich den Fehler mal wieder nicht forcieren, da gings wieder zu 100% :) hat jemand einen Tip?
Das ist ungesund, wenn ein IO-Pin vor VCC Spannung kriegt und erst recht, wenn die höher ist. Ich würde den AVR einfach immer an die 3..4,2V hängen und mit der Taste nur zwischen aktiv und Power-Down in SW umschalten. Aufwachen geht ja prima mit dem Pin-Change-Interrupt.
Servus, Ein Stützkondensator für den Spannungsregler wäre nicht verkehrt. Wieviel MHZ hast du den ATmega eingestellt? >Speed Grade: >0 - 4MHz @1.8 - 5.5V, >0 - 10MHz @2.7 - 5.5.V, >0 - 20MHz @4.5 - 5.5V Außerdem beim Einschalten (Taster ON) fällt eine Spannung an der Diode ab. Es kann sein, dass es dann zu wenig Spanung zu EN ist. mfg
direkt an die Batterie ist nicht so optimal, da auch andere Komponenten mit drauf sind wie BT-Modul und Display, und die vertragen zum Teil nur 3V. aSma>> schrieb: > Servus, > Ein Stützkondensator für den Spannungsregler wäre nicht verkehrt. > Wieviel MHZ hast du den ATmega eingestellt? > >>Speed Grade: >>0 - 4MHz @1.8 - 5.5V, >>0 - 10MHz @2.7 - 5.5.V, >>0 - 20MHz @4.5 - 5.5V > > Außerdem beim Einschalten (Taster ON) fällt eine Spannung an der Diode > ab. Es kann sein, dass es dann zu wenig Spanung zu EN ist. > > mfg der ATMega läuft mit 8MHz, das sollte mit 3V also gut passen. der Spannungsabfall über die Diode sollte nicht das Problem sein, der Spannungsregler schaltet ja immer schön seine 3V durch, nur fallen sie dann wieder weg, sobald ich vom Taster runter gehe. den Stützkondensator werde ich noch testen, vielleicht bringt der was?!
Ich würde auch Serien-Rs zum Tastereingang und zum Selbsthaltepin vorschlagen (und dafür R21 weglassen). Das ist gesünder für die IO-Pins UND Du kannst dann auch nachmessen, was der mc am Selbsthaltepin nach dem Reset veranstaltet. Gruß, Stefan
Stefan K. schrieb: > Ich würde auch Serien-Rs zum Tastereingang und zum Selbsthaltepin > vorschlagen (und dafür R21 weglassen). Das ist gesünder für die IO-Pins > UND Du kannst dann auch nachmessen, was der mc am Selbsthaltepin nach > dem Reset veranstaltet. > > Gruß, Stefan ok, danke für die Tips, dann hab ich ja morgen schonmal ein paar Sachen zum testen ...
Bei LDO Reglern immer gut auf die vorgeschriebene C-Beschaltung achten: https://www.onsemi.com/pub/Collateral/NCP4625-D.PDF Datenblatt Seite 13. Oszillatus läßt grüßen.
Bernd K. schrieb: > Bei LDO Reglern immer gut auf die vorgeschriebene C-Beschaltung achten: > > https://www.onsemi.com/pub/Collateral/NCP4625-D.PDF > > Datenblatt Seite 13. Oszillatus läßt grüßen. Was bedeuten Angaben zum Strom auf Seite 11 / Fig. 35 - 37 ? Überlappen die sich so genau oder bin ich zu dumm um es zu verstehen ?
:
Bearbeitet durch User
Marc V. schrieb: > Was bedeuten Angaben zum Strom auf Seite 11 / Fig. 35 - 37 ? > Überlappen die sich so genau oder bin ich zu dumm um es zu verstehen ? Beim Hochfahren der Ausgangsspannung durch Chip Enable = high wird Vout innerhalb von 100µs den Nennwert erreichen, unabhängig vom Ausgangsstrom Da liegen in der Tat alle 3 Ströme auf der gemeinsamen Kennlinie. Hingegen beim Runterfahren (Fig. 38 - 40) durch Chip Enable = low gibt es Unterschiede je nach Ausgangsstrom. Je höher der Ausgangstrom, desto schneller wird Vout 0V erreichen.
Bernd K. schrieb: > Da liegen in der Tat alle 3 Ströme auf der gemeinsamen Kennlinie. Dann schreibt man doch: 1mA <= IOut <= 300mA und gut isses. Zum Thema: Mega hat in Power-Save Mode 0.65 μA Verbrauch - was gibt es da noch viel einzusparen ? Sollte da noch etwas anderes dranhängen ist das eine andere Sache - aber Mega über stinknormales LDO in Power-Save, Peripherie über NCP4625 wäre dann viel besser gewesen, oder ?. Ausserdem ist da noch mögliches Tastenprellen - Mega wird (vielleicht) mehrmals kurz hintereinander ein- und ausgeschaltet - wenn da irgendwelche Zustände abgefragt und reingeschrieben werden, kann es sein, dass mitten in irgendeinem Schreibvorgang Prellen kommt - Hälfte ist geschrieben, die andere Hälfte nicht. RAM bleibt aber mit falschen Daten erhalten und... Ich hatte mal einen Taster, so etwas sollte man Prelltaster nennen und einen Schalter, der hat wiederum kaum geprellt... Peter D. schrieb: > Das ist ungesund, wenn ein IO-Pin vor VCC Spannung kriegt und erst > recht, wenn die höher ist. Dem kann ich mich nur anschliessen, und ein Wort zum Schluss: Die Wege des Stroms sind unergründlich...
:
Bearbeitet durch User
ich habe die Caps angepasst wie im Datenblatt (je 1uF). Serienwiderstände an die beiden Leitungen zum uC. leider immer noch unverändert... solange ich am Button drauf bleibe liefert der Vreg schöne 3V, sobald ich den Taster loslasse, fällt die Spannung (EN & Vout) sofort weg. ich untersuche gerade, ob es was mit der Batteriespannung zu tun haben könnte!? hab den Akku gerade kurz geladen auf ca. 3,6V und jetzt lässt er sich wieder des mal einschalten. Vorher war die Spannung ca. bei 3,2V. Aber eigentlich sollte das kein Problem sein, denn der uC läuft bis unter 3V mit 8MHz, und dem Spannungsregler macht das auch nichts - der liefert auch sauber seine 3V. Edit: ne, daran liegts auch nicht, Spannung ist jetzt wieder bei ca. 3V angelangt, und er lässt sich einwandfrei einschalten. Als würde sich irgendwas "aufladen" und dann gehts einwandfrei. Wenn die Schaltung über Nacht liegt, gehts die ersten 50 mal drücken wieder nicht ... Tasterprellen ist nicht das Problem, es ist so eine Silikontaste (Fernbedienung), und habs grad mit dem Oszi gecheckt, die prellt nicht.
:
Bearbeitet durch User
Daniel R. schrieb: > ich untersuche gerade, ob es was mit der Batteriespannung zu tun haben > könnte!? hab den Akku gerade kurz geladen auf ca. 3,6V und jetzt lässt > er sich wieder des mal einschalten. Vorher war die Spannung ca. bei > 3,2V. Wie sieht es mit BOD aus ?
BOD ist deaktiviert. hab jetzt nochmal rumgemessen, aber ich finds nicht raus. der Level des Selbsthaltepins wird trotz Vorwiderstand vom Level der Taste mitgezogen!? Als würde er nicht aktiv treiben, aber der Code ist ok, und die halbe Zeit funktioniert es auch. Wenn ich den Silikonbutton fester oder weniger fest drücke, sehe ich eine Spannungsschwankung, und die ist auch am Output-Pin zu sehen! Hätte jetzt mal eine Diode in die Leitung des Selbsthaltepins dazu gegeben (wired OR), aber auch das brachte nichts. als könnte der Output den Level nicht auf HIGH halten!? Der Pin steht nicht sauber auf HIGH. Quarz schwingt schön mit an, also der Controller sollte laufen. aktuell immer noch eine 50/50 chance, ob das System hochfährt, oder nicht ...
Was bisher noch nicht erwähnt wurde, ist, dass du deinen µC beim Drücken der Taste über den IO-Pin versorgst (wegen der internen Dioden). Der Lipo ist dann über 1 Ohm mit dem IO-Pin verbunden. D.h. am IO-Pin liegt in diesem Augenblick eine höhere Spannung an, als VCC. Im Einschaltmoment sogar eine deutlich höhere Spannung, da VCC noch auf 0 Volt ist. Damit liegst du ausserhalb der Spec. Ob das mit das mit deinem Problem zusammenhängt, kann ich nicht sagen.
Hast Du Code drin, der den Selbsthaltepin wieder auf Low oder HighZ schaltet? Dann kommentiere den ggf. aus. Vielleicht Hast Du ein Problem mit der Funktion, die den Controller wieder ausschalten soll. Gruß, Stefan
Daniel V. schrieb: > Was bisher noch nicht erwähnt wurde, ist, dass du deinen µC beim Drücken > der Taste über den IO-Pin versorgst ...doch, die erste Antwort von PeDa!
Route 6. schrieb: > Daniel V. schrieb: >> Was bisher noch nicht erwähnt wurde, ist, dass du deinen µC beim Drücken >> der Taste über den IO-Pin versorgst > > ...doch, die erste Antwort von PeDa! Stimmt, hatte ich übersehen, aber da steht was von "ungesund". Allerdings ist es auch so, dass der µC versorgt wird und los läuft...!
Vermutlich war der Hinweis mit "ungesund" letztlich sogar der richtige. da der Pin den Level partous nicht mehr halten konnte trotz Serienwiderstand hab ich zum testen mal einen anderen Pin missbraucht, und jetzt sieht die Sache gleich wieder viel besser aus! Ich vermute, dass ich tatsächlich den Pin mit der miesen Beschaltung zerstört habe. ich habe inzwischen ja auch eine Diode beim Selbsthaltepin eingefügt, damit da von außen nichts mehr rein kommt (wired or). das sollte eigentlich ausreichen, um den Pin zu schützen, dann kann ich die Serienwiderstände wieder weggeben, oder? danke schonmal für eure tatkräftige Unterstützung!
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.