Hallo, habe meine erste SMD Schaltung (Controller für eine Ätzmaschine) entworfen und die ätzen lassen, leider der totale Reinfall... Sobald ich einen Motor anschalte, resettet sich der uC ziemlich zuverlässig. Aber der Reihe nach: im Grunde wollte ich vier kleine (Luft-)Pumpen zur Umwälzung für meine eigene Ätzküvette betreiben, wobei jeder Motor davon bei 12V nur ca. 25mA Strom aufnimmt (daher auch vier Stück, soll ja wenigstens etwas blubbern). Sobald ich aber einen der Motoren schalte, resettet sich der uC zu gefühlt 90%. Habe nun schon einen 100uF direkt an den Eingang (Speisung erfolgt über ein Steckernetzteil) gelötet, das hilft insofern, als das es jetzt nur noch ab und an einen Reset gibt. Trotzdem ist das ärgerlich, da u.a. auch ein Timer läuft. Vermutlich habe ich also ein gröberes Masseproblem. Hatte vorher extra etwas über Sternpunkt gelesen und die Masse für die "Leistungselektrik" nicht über die Masseflächen bezogen sondern getrennt geführt. Aber das ging wohl nach hinten los... Könnte ggf. einmal jemand mit mehr Erfahrung da drauf schauen und das auf böse Schnitzer hin begutachten? Ansonsten kommen noch "blind" weitere Kondensatoren drauf... Danke, Hans
C3, C5, C6, C7 sind genau dafür da und haben in deinem Layout so wie du diese platziert hast keine Funktion mehr. C9, C10 und C11 ebenso. Die Spannung muss erst durch den Kondensator und dann z.B. zum Pin vom µC. Du hast die Kondensatoren einfach irgendwo in die Nähe gesetzt.
:
Bearbeitet durch User
Erstmal Resetursache finden: - SW so machen dass man die Internen Bits bezüglich Resets irgendwie auswerten kann. Debug LED, Serielle Schnitstelle. Dann wirst du sehen wass der uC von der Reset hällt. POR oder BOR. - Osszci nehmen und messen. Resetleitung und Versorgung. Da wird vermutlich irgendwo ein Spike geben oder ein Einbruch. Danach überlegen wie man die weg bekommt. Mehr Kondies, Kondies richtig platzieren. - Eventuell die PINs durchmessen. Kommt irgendwo ein High Voltage Spike doch herein? Könnte den Reset intern triggern. - Didode 1N4148 gucken ob der schnell genug ist. Habe schon mal da ähnliche sachen überlebt wo dann die Diode doch zu klein war.
>habe ich also ein gröberes Masseproblem. Hatte vorher extra etwas über >Sternpunkt gelesen und die Masse für die "Leistungselektrik" nicht über >die Masseflächen bezogen sondern getrennt geführt. Aber das ging wohl >nach hinten los... Das ist eigentlich auch gut so, wenn ich nichts übersehen habe. Aber warum ist Reset einfach offen?
....ich vermute, dass die Spannung des 12V Netzteils durch den hohen Anlaufstrom des Motors einbricht. (sollte man mit oszi nachmessen) Mögliche Abhilfe: eine Diode noch vor dem 100µ Zusatzelko verhindert ein "Leersaugen" des Elkos durch den Motor.
1.) https://www.mikrocontroller.net/articles/AVR_Checkliste#Reset-Pin Schau dir das einmal an. Deine Resetbeschaltung ist ein wenig komisch. Zuerst 1k, in reihe zu 100k, welche an 5V angeschlossen sind. Der Kondensator kommt erst nach den 1k, macht so keinen Sinn. Probier mal einen 10kOhm Widerstand von Reset zu 5V und einen Kondensator 100nF von Reset zu GND. 2.) Schau einmal, dass du eine bessere Masseführung hast. Ebenfalls am µC. Derzeitig ist der µC nicht schön an deine Masse angebunden, da können auch ein paar Vias mehr hin. 3.) Schau, dass du deine Kondensatoren besser anschließt. SIGNAL--->Kondensator--->µC.
Du schreibst dass es mit 100 uF am Poweranschluss besser wird.... Was für ein NT benutzt du? Ist da vielleicht zu schwach? Ansonsten wie schon geschrieben die Quelle des Resets ermitteln und ausgeben.
Jens G. schrieb: > Aber warum ist Reset einfach offen? Siehe rechts unten: der hängt über 1k etwas interessant an "high". Andras H. schrieb: > - Didode 1N4148 gucken ob der schnell genug ist. Die ist schnell genug. Hans Schmidt schrieb: > Habe nun schon einen 100uF direkt an den Eingang (Speisung erfolgt über > ein Steckernetzteil) gelötet, das hilft insofern, als das es jetzt nur > noch ab und an einen Reset gibt. Dann mach da einfach mal 470µF hin oder noch deutlich mehr. Und miss mal den Blockier/Anlaufstrom deiner 25mA Motoren. Denn wenn diese Motoren zum Anlaufen z.B. 100mA brauchen, dann kann dein 100µF-Kondensator den Strom gerade mal ein paar wenige ms lang puffern. Hast du Zugriff auf ein Oszi? Kannst du die Versorgungsspannung vor dem Spannungsregler mal messen?
Hallo, das geht ja im Minutentakt... @Ben: magst du mir ein Beispiel geben? Verstehe deinen Kommentar nicht so richtig. Die Cs sollten die Spannung stabilisieren ==> ich dachte die müssen einerseits möglichst gut an GND und VCC angebunden sein und andererseits halt kurz an die Pins vom Controller. Und genau das meinte ich gemacht zu haben @Andras: gute Idee, wusste gar nicht das es das gibt und muss ich mir einmal anschauen wie man die ausliest/auswertet. Serielle Schnittstelle habe ich eh in Betrieb, da kann ich dann auch einen zusätzlichen Wert rüberschieben. Aktuell habe ich da nur einen String "Neustart". Daher weiß ich auch, wann der Reset passiert. Oszi bekomme ich am Wochenende mal ausgeliehen, das müsste auch gehen, dauert aber @Jens: der Reset ist angeschlossen, also am uC und dann am ISP Anschluss/Buchse @Hans: hallo Namensvetter ;-) Das Netzteil kann 12V @ 3A, das sollte ganz locker reichen. Und die Luftpumpen haben im Betrieb ein paar mA. Selbst wenn der Anlaufstrom irgendwo das 5-fache ist, ist das immer noch deutlich unter 1A o.ä. "Größen". Und die P-FETs würden da auch rauchen, das sind ja auch kleine Teile @Thomas: 1) die Resetschaltung nutze ich so schon seit Jahrzehnten (nicht lachen, ist echt so, angefangen bei alten AT90... uCs über Parallelport war mal angesagt) und hat mich bis jetzt noch nie im Stich gelassen. Sehe gerade im DB/Application Note: da hat sich was verändert. Baue ich um, wenn es schon so eine schöne App Note gibt 2) Vias wären kein Problem, aber ich verstehe es grundsätzlich noch nicht. Dachte die Anbindung ist gut, da fast alles Kupfer/Massefläche ist 3) die Kondensatoren sind ja nur zw. GND und VCC. Welches Signal meinst du? @Thomas: Festspannungsnetzteil, Masterwatt (irgendein China teil). Kann 12V und 3A, dem äußeren nach zu urteilen ein Trafo, Gelichrichter, Siebung und dann 2 x 7812 hinten am Gehäuse an großem Kühlkörper @Lothar: wie gesagt: mehr C reinhauen wäre meien Lösung, aber das ist ja ggf. nicht die ideale
Hans Schmidt schrieb: > aber das ist ja ggf. nicht die ideale Ja, deshalb sagte ich: Versorgungsspannung mit dem Oszi kontrollieren. Wenn die beim Start "wegkiptt", dann muss ein strammeres Netzteil her oder eben ein größerer Stützelko. Das ist kein "Workaround", sondern technisch nötig. Dass die Masseführung im Layout auf einfache Art deutlich verbessert werden kann, steht auf einem anderen Blatt, das hier aber vermutlich nicht sticht. Denn allein durch die Trennung von "Logik links" und "Leistung rechts" werden Störeffekte brauchbar getrennt.
:
Bearbeitet durch Moderator
Hans Schmidt schrieb: > Hatte vorher extra etwas über Sternpunkt gelesen und die Masse für die > "Leistungselektrik" nicht über die Masseflächen bezogen sondern getrennt > geführt Na ja, deine Masseflächen sind ja auch keine Masseflächen, sondern Schlitzantennen. Merke: Eine Massefläche ist keine mehr, wenn sie durch Leitungen durchschnitten wird. Maximal ein 5mm Schlitz. Ja, Masse muss/sollte man als allererste Leitung verlegen, Sternozunkt ist in Ordnung. Entstöre zunächst mal deine Pumpenmotoren:
1 | direkt an den Motoranschlüssen so: |
2 | |
3 | +--47uH--+---+---+ |
4 | | | | | |
5 | | | 47nF | |
6 | ----------------+ | | | |
7 | verdrillte Zuleitung 47nF +--(M) |
8 | ----------------+ | | | |
9 | | | 47nF | |
10 | | | | | |
11 | +--47uH--+---+---+ |
Sorge dann dafür, dass deine 12V auch stark genug sind, damit sie den Anlaufstrom liefern kann.
MaWin schrieb: > Merke: Eine Massefläche ist keine mehr, wenn sie durch Leitungen > durchschnitten wird. Wenn man Masse oben und unten flutet, dann müssen hier viele Vias dafür sorgen, dass das die selben "Massen" sind. Keine Sorge: die Bohrer bezahlt der Leiterplattenhersteller. Die Leiterplatte kostet keinen Cent weniger, wenn man 50 Vias "einspart".
:
Bearbeitet durch Moderator
Hans B. schrieb: > Mögliche Abhilfe: eine Diode noch vor dem 100µ Zusatzelko verhindert ein > "Leersaugen" des Elkos durch den Motor. Das wuerde ich als erstes versuchen. Das laesst sich naemlich noch recht einfach in die bestehende Platine reinbasteln, also ohne neue Platinenfertigung.
Hans Schmidt schrieb: > @Ben: magst du mir ein Beispiel geben? Verstehe deinen Kommentar nicht > so richtig. Die Cs sollten die Spannung stabilisieren ==> ich dachte die > müssen einerseits möglichst gut an GND und VCC angebunden sein und > andererseits halt kurz an die Pins vom Controller. Und genau das meinte > ich gemacht zu haben Ich versuchs mal aufzumalen. Bei dir: µC------------C | | O(Via) Und: µC-----O------C So sollte es sein: µC----C-----O Der Strom soll erst durch den Kondensator fließen. Es bringt nichts, wenn µC und Kondensator irgendwie oder gar in zwei unterschiedliche Richtungen vom Via abgehen.
Hans Schmidt schrieb: > ich dachte die > müssen einerseits möglichst gut an GND und VCC angebunden sein und > andererseits halt kurz an die Pins vom Controller. Die Nähe zum IC hat Vorrang. > Das Netzteil kann 12V @ 3A, das sollte ganz locker reichen. "Sollte" reicht nicht. Überprüfe es. Spannung kann auch an Leitungen und Steckverbindungen abfallen.
Folgendes fällt folgendes auf (wurde z.T. schon genannt): - Quarz und zugehörige Kondensatoren sind viel zu weit weg vom µC. Zudem sind C1 und C2 sehr "unsymmetrisch" angeordnet. Die GNDs von C1 und C2 mal versuchsweise per Fädeldraht zusätzlich an GND-Pins von µC anschliessen - Mal versuchsweise mit internen 8MHz-Clock laufen lassen ==> immer noch Resets? - direkt an !RST-Pin einen Kondensator (einige 10nF) hängen, externen Pull-up von 100k auf was kleineres (4k7 verwende ich meist) verkleinern - Wenn 100µF auf 12V helfen, dann einfach nochmal 100µF dazu. - Auf der +5V verwende ich grundsätzlich >=1µF um ATmegas stabil zu bekommen Meist gilt hier: Viel hilft viel, ruhig auch mal 100µF probieren - Reset-Ursache auswerten (BOD, WDT, PWR?) und beseitigen Ich persönlich bin nach x-Jahren EMV-Enstören gar kein Freund von auftrennen von Massen/Masseflächen ("Es gibt nur einen GND"). Aber da gibt es auch andere Meinungen. Beim nächsten Layout die "rote Fläche" auf alle Fälle auf die blaue Fläche "durchnageln". Unter dem µC mindestens 5 VIAs setzen. Auch an jeden GND-Anschluß eines Kondensators ein (besser 2) VIA. Mein persönliches Routing/Layout-Vorgehen ist bei diesen Komplexitäten folgendes: - Kondensatoren und Quarz so nah wie möglich an µC und ohne VIA damit verbinden (GND erstmal über "Leitungen" auf TOP). - Unter µC und Quarz/Kondensatoren eine durchgehende Fläche und "durchnageln". - Restliche Bauteile vernünftig anordnen und möglichst ohne VIAs verbinden. Meine Regel: lieber ein Bauteil mit etwas größeren Package verwenden und mit einer Leitung unter dem Bauteil durch, als per VIA auf die andere Lage ausweichen. - Jetzt alle GND-Verbindungen mit 1 (besser 2) VIAS auf die Unterseite (Blau) verbinden und auf TOP-Seite ggf. noch Flächen mit GND fluten. - Wenn alles fertig ist, nochmal den Bottom-Layer alleine ansehen und schauen, ob man nicht noch die Massefläche optimieren kann (Ziel: Wenn nötig eher viele kleine "Schleifen" als eine große). Ziel: Auf der Blauen Seite (fast) keine Unterbrechung der Massefläche. Damit mache ich seit Jahren gute Erfahrungen. Viel Erfolg.
Auch wenn das Layout massetechnisch noch ein ganzes stück verbesserungswürdig ist, und EMV-mäßig nicht gerade die Wucht ist, die Ursache ist das mit großer Wahrscheinlichkeit nicht. Einzig die Resetleitung geht da quer durch die Platine, und könnte sich da magnetische störungen einfangen. Aber selbst das glaube ich nicht als Ursache. Ein Test mit einem C (100nF oder so) direkt am Reseteingang kann aber mal nicht schaden. Stromtechnisch ist der Stern eigentlich ganz gut gelungen. Bleibt eigentlich wirklich nur noch die Stromversorgung, die möglicherweise wirklich kurz einbricht, auch wenn das NT angeblich 3A können soll, und es nur 25mA-Motoren sind.
Was ich jetzt schon sagen kann: - Kurzschlussstrom (ok: Luftauslass komplett verschlossen und laufen lassen) liegt bei 174mA, deutlich mehr als ich dachte. Wenn das dauerhaft auftritt, dann dürften mir die kleinen FETs vermutlich auch wegrauchen... - die internen brown out fuses auf 4,3V gestellt führt erneut meistens zu einem Reset, komplett deaktivert hält er sich wacker ==> scheint also doch erher Netzteil, bzw. mangelnde Stützung zu sein - als nächstes folgt erst einmal: mehr C zur Stützung, Motor mit Entstörkondesatoren versehen (mal sehen wie weit ich die Pumpen zerlegt bekomme, die sind vergossen/verschweißt) und die Diode am Eingang (irgendeine 1N4002 oder Schottky müsste ich noch haben) @Lothar: Oszi bekomme ich übermorgen, morgen werde ich das MCUSR auslesen und bei jedem Start über die serielle Leitung übertragen, dann weiß ich zumindest schon mal etwas. Da ich aber den brown out reset (vorher) nicht aktiv hatte, wird da aber vermutlich auch nichts drin stehen. Vias werde ich großzügiger setzen, davor schrecke ich als "Handlöter" sonst aber zurück. Die musste ich alle bohren, Draht rein, löten, aknipsen, löten... @MaWin: ich probiere das, aber die sind aktuell recht fest verschlossen. Vermutlich komme ich da nicht dran an den Motor @Maxe: ist eingeplant @Ben: an zwei Beispielen habe ich es mal probiert, aber das wäre ein kompletter Neuanfang... @Stefan: statisch reicht es, dynamisch folgt @Robert: upppsss. Und ich dachte so schlimm ist es nicht. Das sind ja jeweils nur ein paar mm und löten will ich es auch noch. C1 & 2: keine Abhilfe. Auch bei Nutzung des internen Taktes schmiert der uC ab. Der Quarz scheint es also nicht zu sein Reset ist im Plan geändert auf die App Note, live natürlich ncoh nicht. Für die Tipps: danke! Hans
Was ist das für ein Motor? Ein Bürstenmotor? -Die Anlaufstromaufnahme wird ein Mehrfaches des Betriebsstromes sein! Ein elektronisch kommutierter Motor? Der hat sicher einen Stützkondensator und wird im Einschaltmoment fast wie ein Kurzschluss wirken! Da könnte es besser sein, langsamer einzuschalten. (Schaltzeit >1ms; z.B. durch hohen Gatewiderstand; Aber zu langsames Schalten kann den Mosfet zerstören!) Empfehlung bei mehreren Motoren: Zeitversetzt einschalten! z.B. 100ms
Beitrag #6504760 wurde von einem Moderator gelöscht.
....meine Empfehlung, eine Diode vor den 100µ zu setzen war so gemeint, dass der Strom für den Motor VOR der Diode entnommen wird. Nur dann kann der hohe und nur kurzzeitig wirkende Anlaufstrom die Spannung für den µ-contr. nicht nach unten ziehen.
Mach deinen C9 auf 1000µ - 22000µ. Warum so geizig? Evtl. noch eine Drossel oder R davor.
Moin, @Hans: bekomme das Gehäuse nicht zerstörungsfrei auf, aber das wird zu 99% ein Bürstenmotor sein. Vom Prinzip her so etwas (nur für 12V): https://www.pollin.de/p/miniatur-luftpumpe-jqb031-3-v-70-ml-min-330096. Von außen siehst du nix (kannst sonst gerne ein Foto haben), meine sind noch einmal in einem undurchsichtigen Gehäuse. Aber das sind Winzdinger, das ist kein Kompressor oder auch nur ansatzweise für Fahrrad oder gar Auto o.ä. geeignet. jetzt verstehe ich auch den Einsatz der Diode. Ja, so macht das deutlich mehr Sinn. Hatte mich vorher schon gewundert @michael: ganz einfache Antwort: Platz, Verfügbarkeit und DB des 7805 Wandlers (lt. DB sollte C9 sogar nur 0,33u sein). aber am ende des Tages wird es wohl auf so etwas hinauslaufen. Morgen Nachmittag kann ich mehr sagen, da kann ich mir ein Oszi leihen und mal Bilder machen von den 5V und 12V Hans
Hans Schmidt schrieb: > (lt. DB sollte C9 sogar nur 0,33u sein) Nicht 'soll', er muss für die spezifizierten Regeleingenschaften mindestens 330nF haben. Dieser sorgt aber nicht dafür, dass der Regler einen Spannungseinbruch am Eingang nicht nach hinten weitergibt - das, was bei dir gerade passiert. Mehr geht immer, viel mehr auch. Aber die 330nF nahe an den Pins des 7805 sollten trotzdem bleiben. Es hilft der Vorschlag von Hans B.!
Hans Schmidt schrieb: > und DB des 7805 > Wandlers (lt. DB sollte C9 sogar nur 0,33u sein). Nach meinem Verständnis sind das am Regler-Eingang Mindestwerte, der Kondensator darf beliebig groß sein. Denn es ist ja auch nicht verboten, ein Netzgerät mit großem Ausgangs-Elko mit kurzer Leitung hier anzuschließen. Anders ist das am Regler-Ausgang. Da kann ein zu großer Kondensator den Regler zum Schwingen bringen. Und er muss ja auch nicht so groß zu sein, da er nur die Reaktionszeit des Reglers auf Lastschwankungen ausgleichen soll.
Ich würde als ersters einen guten Labornetzteil anschließen um zu sehen ob es nur an der Stromversorgung liegt. Zum Design : Durchkontaktierungen zwischen den Masseflächen an der Leiterplattenober und Unterseite. So können auch Masseinseln vermieden werden. Signale vom und zum MC nur so schnell wie notwendig. Ich habe alle Pins mit RC-Filter versehen. C's und R's nahe beim jeweiligen Pin. Optimieren, sprich weglassen der C's kann man später immer noch. Im Anhang ein Beispiel. C's an der Leiterplattenoberseite, R's an der Unterseite.
:
Bearbeitet durch User
...der Motor ist ein DC-Bürstenmotor mit Permanentmagnet. Erklärung und Entstörvorschläge z.B. hier: https://www.rc-modellbau-portal.de/index.php?threads/elektromotoren-mit-b%C3%BCrsten-brushed.916/ Vorschlag -wenn es interessiert- Widerstand des (stehenden) Motors messen. -wahrscheinlich nur wenige Ohm - Anlaufstrom kann dann einige Ampere erreichen und die Netzteilspannung bricht ein. Während dieser Zeit soll der µ-contr. aus den 100µ versorgt werden -die Diode verhindert eine Entladung des Elkos durch den Motor.
Hans B. schrieb: > Während dieser Zeit soll der µ-contr. aus den 100µ versorgt werden -die > Diode verhindert eine Entladung des Elkos durch den Motor. Dazu muss der Tipp berücksichtigt werden: Beitrag "Re: uController resettet sich beim Schalten einer Last" Ich habe anstelle des Elkos vier Mehrschichtkondensatoren mit je 100µ (C1 bis C4) verwendet. Beitrag "Re: uController resettet sich beim Schalten einer Last"
:
Bearbeitet durch User
Jens G. schrieb: > Aber warum ist Reset einfach offen? Jens G. schrieb: > Einzig die > Resetleitung geht da quer durch die Platine, und könnte sich da > magnetische störungen einfangen. Aber selbst das glaube ich nicht als > Ursache. Ein Test mit einem C (100nF oder so) direkt am Reseteingang > kann aber mal nicht schaden. Thomas R. schrieb: > Schau dir das einmal an. Deine Resetbeschaltung ist ein wenig komisch. Ist anderen auch aufgefallen. Die Resetschaltung könnte eine Schwachstelle sein! - Resetleitung ist relativ lang - Spannungseinbrüche der +5V werden über die Diode D2 an den MC Eingang weitergeleitet und durch C13 verlängert - ich würde wie schon gesagt, den MC Reseteingang ebenfalls mit einem RC-Filter direkt in der Nähe des Pins beschalten, speziell wenn sich lange Leitungen zum Taster nicht vermeiden lassen Einfacher Test um Probleme mit der Resetschaltung auszuschließen : Im Betrieb die Pins SV1(2) mit SV1(5) über eine möglichst kurze Leitung miteinander zu verbinden. Damit wird im Betrieb der Reset unwirksam gemacht. Tritt der sporadische Wiederanlauf dann noch immer auf, ist die Ursache nicht die Resetschaltung.
...wenn es mal schnell gehen soll: habe den uC gehimmelt :-((((( Dank Home Office über Mittag ein Oszi bekommen. Screenshot der 12V und 5V Leitung inkl. der Punkte wo ich abgegriffen habe anbei. Beide Spannungen brechen jeweils kurz ein, aber das ist nach 4us wieder ausgeglichen. Beim Versuch während der Messung weitere C einzulöten (was ein dummer Gedanke, aber musste ja schnell gehen) wohl einen Kurzschluss verursacht: uC wird deutlich heiß, ist nicht mehr ansprechbar (Atmel Studio via ISP + seriell) und die 12V werden auch nicht mehr geschaltet. Hat auch was gutes: werde leichte Korrekturen schnell machen können: 1) die Resetschaltung korrigieren wie oben schon aufgezeigt 2) eine Diode wie von Hans B. gezeigt einbauen 3) mehr Vias einfügen 4) die Abblockkondesatoren wie gezeigt besser anbinden (ok, ich versuche es) Hier ist jetzt erst einmal Ende, in ~zwei/drei Wochen komem ich ggf. wieder wenn die nächste Schaltung nicht laufen sollte. Vielen Dank an euch alle für euere Hilfen und Tipps, mit mehr C lief es ja schon gut und ich bin guter Dinge das der nächste Versuch sofort läuft. Gruß, Hans
Hans Schmidt schrieb: > Beide Spannungen brechen jeweils kurz ein, aber das ist nach 4us wieder > ausgeglichen. B Na ja, wenn die 5V auf 3V einbrechen, ist es natürlich vorbei.
Hans Schmidt schrieb: > werde leichte Korrekturen schnell machen können: > 2) eine Diode wie von Hans B. gezeigt einbauen Das allerin reicht nicht. Du musst trotzdem nach der neuen Diode und vor dem Spannungsregler noch deutlich mehr al 1µF an Kapazität spendieren. > ich bin guter Dinge das der nächste Versuch sofort läuft. Ein Tipp: lass das überarbeitete Design (Schaltplan + Platine) mal sehen, vor du die Leiterplatte bestellst.
Wie sieht die Spannung am SV1(5) Reset aus?
:
Bearbeitet durch User
Hans Schmidt schrieb: > brown out ... komplett deaktivert hält er sich wacker Dafür ist dann ziemlich schnell das EEPROM korrupt. Gerald K. schrieb: > Wie sieht die Spanng am SV1(5) Reset aus? Ich weiß, was rauskommt: der für einen Reset nötige Pegel wird nicht unterschritten, denn sonst würde er bei deaktiviertem Brownout auch mal einen Reset machen.
:
Bearbeitet durch Moderator
Hallo, @MaWin: selbst bei so einem kurzen Einbruch? Das ist ja weit weg von 1msec o.ä. Zeiten... Egal, da vertraue ich euch @Lothar: ja, sehe ich vor. Da ist ja C12 mit 100u, der bleibt auch. Und auf dein Angebot komme ich gerne zurück, würde ich dann hier im Thread anhängen. @Gerald: unbekannt, da Schaltung aktuell defekt (und Oszi nun auch wieder weg) ist Hans
Hans Schmidt schrieb: > unbekannt, da Schaltung aktuell defekt (und Oszi nun auch wieder weg) > ist Daher ist es wichtig vorm experimentieren möglichst viele Information durch Messung heraus zu holen und zu dokumentieren. Dann hat man später beim neuen Design eine Referenz.
:
Bearbeitet durch User
Gibt ja schon viele richtige Hinweise. Habe die Erfahrung gemacht das wenn der Brownout auf 4 V steht die Empfindlichkeit auf Störungen recht hoch sein kann, besonders wenn Motoren im Spiel sind die meist recht viel Dreck auf die Versorgungsspannung bringen. Ich stelle immer auf 2,7V was in den allermeisten Fällen auch ausreicht. Ganz abschalten ist keine so gute Idee. Zwischen Speisespannung und µC ist auch immer der Spannungsregler mit ausreichend Cs angeordnet. Sollten die Motoren auch 5V brauchen bekommen die dann einen eigenen Regler. Bei den geringen Preisen für die Regler ist der Mehraufwand zu verschmerzen.
Steffen W. schrieb: > das wenn der Brownout auf 4 V steht die > Empfindlichkeit auf Störungen recht hoch sein kann, besonders wenn > Motoren im Spiel sind die meist recht viel Dreck auf die > Versorgungsspannung bringen. > Ich stelle immer auf 2,7V was in den allermeisten Fällen auch ausreicht. > Ganz abschalten ist keine so gute Idee Sorry, aber das ist kein ernstzunehmender Vorschlag. Wenn der Brown-out zuschlägt, dann hat das einen guten Grund. Man sollte/muß stattdessen die Versorgungsspannung bzw. deren Leitung stabil und störungsfrei hinbekommen, und nicht die Störungserkennung ausschalten bzw. unempfindlich machen. Ist nicht immer einfach, aber besser und notwendig und mit Fleiß auch möglich. Zudem sollte hier ein Atmega48 mit 14 MHz betrieben werden. Ich verweise hier auf Figure 33-3 in Verbindung mit Tabellen 33-7 und 33-9 inkl. Fußnoten aus dem Datenblatt (Atmel-42734B-ATmega48PA/88PA/168PA_Datasheet_Complete-11/2016). Der Brown-Out von 2,7 V und größer 10MHz kann funktionieren, muß aber nicht und liegt ausserhalb der SOA. Gruß Robert
Hans Schmidt schrieb: > @Gerald: unbekannt, da Schaltung aktuell defekt (und Oszi nun auch > wieder weg) ist Wieso ist denn die Schaltung defekt?
@Gerald: ja, hinterher ist man schlauer. Wollte auch die Schaltung nicht zerstören... Wie auch immer: Anpassung der Resetschaltung ist schon auf dem Plan erledigt, vgl. 08.12.2020 21:18. Das ist die Schaltung aus der App Note von Atmel/Microchip, die sollte hoffentlich funktionieren. @MaWin: siehe meine vorletzte Info vom 09.12.2020 12:29. Wollte nur mal schnell und eben einen weiteren 100u dazulöten und habe dabei vermutlich einen Kurzschluss verursacht (wahrscheinlich die 12V auf die 5V gebrückt). Auf jeden Fall geht jetzt nix mehr und es ist wieder Pause angesagt.
Hallo, euer Angebot bzgl. eines Reviews nehme ich gerne an, anbei mein neuer Versuch. Was wurde verändert: - den 5V Spannungsregler habe ich gegen einen mit größerem Regelbereich getauscht - Resetschaltung gemäß Atmel App Notes - 12V per Diode abgetrennt - Abblockkondensatoren neu angebunden - div. Vias zw. Ober-/Unterseite eingefügt Der Regler will am Ausgang einen großen (low ESR) C haben, am Eingang nur einen kleinen, also nicht wundern. Das ist auch der Grund, warum ich C12 vor der Diode habe. Notfalls kann ich C8 gegen einen 100uF ersetzen. Gruß, Hans P.S. was mich an der ganzen Situation wurmt: auf einem Steckbrett lief die ursprüngliche Schaltung einwandfrei, dachte nie das SMD so nervig sein kann
Hans Schmidt schrieb: > dachte nie das SMD so nervig sein kann Mit SMD hat das Problem nichts zu tun. Eher mit Leitungsführung.
Hans Schmidt schrieb: > Der Regler will am Ausgang einen großen (low ESR) C haben Du setzt da fälschlicherweise "viel Kapazität = viel ESR". Das stimmt so nicht. Zudem darfst du dem "viel ESR" Kondensator aber nicht einen "niedrig ESR" 100nF Kondensator parallel schalten und den ESR der Parallelschaltung wieder reduzieren. Ich würde zudem die Werte von C4 und C8 tauschen. Denn dann kann der Regler bei Spannungsausfall aus den verbleibenden 7V noch eine Zeit lang stabile 5V generieren.
:
Bearbeitet durch Moderator
Stefan ⛄ F. schrieb: > Hans Schmidt schrieb: >> dachte nie das SMD so nervig sein kann > > Mit SMD hat das Problem nichts zu tun. Eher mit Leitungsführung. Jein. Keramik-Kondensatoren haben einen DC-Bias-Effekt (d.h. bei je höher die anliegende DC-Spannung ist, umso mehr sinkt die Kapazität). Der Effekt verstärkt sich Miniatusierung immer weiter. Deshalb kann es durchaus sein, daß ein kleiner 100nF SMD-Kondensator sich ganz anders verhält als 100nF "grosser bedrahteter" Kondensator, was wiederum zu der "These instabile Vcc am AVR" passen kann.
Hans Schmidt schrieb: > : selbst bei so einem kurzen Einbruch Ja, natürlich, erst recht, daher ja Abblockkondensatoren. > von MaWin (Gast)09.12.2020 15:42 Der Beitrag stammt nicht von mir, sondern vom Psychopathen.
@Lothar: lt. DB möchte der Regler am Ausgang einen low ESR Kondensator mit min 100uF haben, während er am Eingang nur 0,1uF (als Minimum) benötigt. Da habe ich nun jeweils einen Faktor ~5 angesetzt/vergrößert. Auch die Messung mit dem Oszi war mit "nur" 100uF in der 12V Versorgung, da bin ich jetzt auch auf den ~5-fachen Wert hoch ==> Die Spannung wird nicht mehr so stark einbrechen (ging vorher auf 9V runter). Der Einbruch war zudem nur recht kurz. Wie schon geschrieben: C8 könnte ich auch auf 100uF erhöhen wenn die Eingangsspannung am Regler wegsacken sollte. Aber der 5V Zweig wird ja eh kaum belastet und der Regler ist auch klein und kein großer 7805 im TO220 Gehäuse. Und für ein paar usec reicht auch der 4,7uF (so meine Theorie/Berechnung), die Spannung am eingang des Reglers dürfte ja bis 7V absacken.
Hans Schmidt schrieb: > am Eingang nur 0,1uF (als Minimum) benötigt. Das ist der Knackpunkt. Der Regler benötigt das. Aber deine Schaltung benötigt mehr. > lt. DB möchte der Regler am Ausgang ... Laut Bild 34 einen ziemlich eng definierten ESR. Warum nimmst du so ein umständliches LowDrop-Biest? Du hast doch von 12V nach 5V glatt noch 7V Drop für den Regler. Nimm einem zahmen 7805 und fertig.
:
Bearbeitet durch Moderator
...dann gehe ich auf einen UA 78L05 ACD oder oder auch konventionellen 7805 im TO220 Gehäuse, daran soll es nicht scheitern. Hatte so ein low-drop gewählt, damit der uC seine Spannung stabil bekommt auch wenn die 12V einbrechen. Das ich mir damit mehr (potenteille) Probleme einkaufe, war mir so nicht bewusst. Danke für den Hinweis
Hans Schmidt schrieb: > Hallo, > > euer Angebot bzgl. eines Reviews nehme ich gerne an, anbei mein neuer > Versuch. ein paar Anmerkungen: sieht deutlich besser aus. Als Idee von mir: - unter µC noch ein paar Durchkontaktierungen mehr - Auf dem Blauen Layer gibt es immer noch viele Masse-Inseln (z.B. beim ISP-Stecker). Versuch mal durch verschieben von ein paar Vias/Leiterbahnen die blauen Flächen zu verbinden. Notfalls jede blaue Fläche mit min. 2 Vias weit auseinander "nach oben verbinden". Viel Erfolg Robert
...habe nun einen regulären 7805 (UA 78L05 ACD) drin und dem noch eine Diode spendiert. Hoffe so ist es besser. Ich probiere noch einmal die Unterseite besser anzubinden, bzw. die Masseflächen zu überarbeiten. Gruß, Hans
Hans Schmidt schrieb: > Hoffe so ist es besser. Ohne nachzurechnen: den C4 hätte ich größer gewählt, hängt aber davon ab, wie viel Strom in den 5V-Pfad fließt und wie lange der Einbruch beim Einschalten dauert. Schau mit dem Skope die Eingangsspannung von IC2 an beim Einschalten des Motors. Sie sollte nicht unter 7-8V einbrechen.
...und statt der 4148 Diode eine besser geeignete 4004 eingeplant @HildeK: das ist ein kleiner Regler im SO8 Gehäuse, d.h. der packt nur 100mA. Mit einem 100uF in der Zuleitung konnte ich es messen (vgl. Info vom 09.12.2020 12:29), da war ein Einbruch von ca. 4usec zu sehen, wobei der tiefste Einbruch auf ~9V war. Nun ist der 12V Zweig mit 470uF und zusätzlich vor dem Regler noch einmal 100uF. Alles was ich rechnen kann: das reicht Gruß, Hans
Hans Schmidt schrieb: > ...und statt der 4148 Diode eine besser geeignete 4004 eingeplant Die kannst du auch ganz weglassen. Bei einem +5V-Regler ist die Ausgangsspannung höchsten 5V höher ist als die Eingangsspannung, und das ist erlaubt.
Hans Schmidt schrieb: > Nun ist der 12V Zweig mit 470uF > und zusätzlich vor dem Regler noch einmal 100uF. Alles was ich rechnen > kann: das reicht Dann ist es ja gut. Ich wollte nur darauf hinweisen, dass man sich das mal anschauen sollte. Mein Bauchgefühl war halt für mehr als 100µF 😀. Nachgerechnet würde es für knapp 5ms reichen, bis er mit 100mA auf 7V entladen ist. Also hast du noch viel Luft für einen Einbruch mit 4µs und weniger als 100mA Strom. Es würden also auch 10µF gehen - mein Bauch hat sich getäuscht. 🙄 Die 470µF vor der Diode dürften keine Rolle spielen.
Achtung bei den Wärmefallen! Speziell bei C4 kann es mit dem Masseschluss Probleme beim Einlöten geben. Der Anschluss ist mit mehreren dicken Leiterbahnen mit Masse verbunden. Bei Target wurde diesbezüglich eine Verbesserung durchgeführt.
:
Bearbeitet durch User
"Mache es so einfach wie möglich - aber so kompliziert wie notwendig" Was mir noch aufgefallen ist: Gegenüber vielen anderen Schaltungen die ich gesehen habe wurden in den Schaltstufen zwei Bauteile "eingespart": -ein Gatewiderstand -ein Abblockkondensator Ich denke, der Gate-Strompfad für den Umladestrom beim Einschalten verläuft so: Vom 470µ(+) über die (lange) Leiterbahn - über die Gatekapazität - den Treibertransistor - über die (lange) Masseleitung zurück zu 470µ(-). Diese Leiterschleife bildet -als Induktivität- gemeinsam mit der Gatekapazität einen Schwingkreis.... Ein Gatewiderstand würde dämpfend wirken. Ein Abblockkondensator nahe am Schaltelement (Mosfet) verkürzt den Strompfad (für Gate- u. Motorstrom) und verringert die (störende) Induktivität. Ob diese "Nebenwirkungen" hier wirklich stören kann ich nicht beurteilen - Vielleicht kann jemand der mehr Wissen und Erfahrung hat dazu Stellung nehmen?
HildeK schrieb: > Die 470µF vor der Diode dürften keine Rolle spielen. Oder andersrum: gegen den hier ursprünglich untersuchten Fehler hilft dieser große Kondensator nur sehr begrenzt. Hans Schmidt schrieb: > und zusätzlich vor dem Regler noch einmal 100uF. > Alles was ich rechnen kann: das reicht Aus der Praxis (und genau das meint HildeK eben auch): nimm mehr. Oder tausche die beiden Kondensatoren C8 und C12 einfach aus. Denn dein Problem ist nicht primär die einbrechende Versorgung, sondern dass die Versorgung des µC wegkippt. HildeK schrieb: > mein Bauch hat sich getäuscht. 🙄 Naja, "Bauchgefühl" hört sich ein wenig wie "Verdauung" und das daraus resultierende Ergebnis an... ;-) Ich würde hier eher wie die Angelsachsen von einem "educated guess" oder eben einem "Erfahrungswert" sprechen. Denn natürlich "reicht" ein 10µF Kondensator für genau diesen hier untersuchten Fall. Schalte mal einfach alle Motoren gleichzeitig an. Oder lass da mal stärkere Motoren rankommen. Oder evtl. kommen auch an die noch unbeschalteten Ausgänge des µC mal nennenswerte Verbraucher. Hans Schmidt schrieb: > ...habe nun einen regulären 7805 (UA 78L05 ACD) drin Der tuts hier gut und ist voll handzahm. > und dem noch eine Diode spendiert. Lass diese unsägliche und absolut unnötige Diode einfach weg (es gibt hier allhalbjährlich eine ausgiebige Diskussion über die Unnötigkeit dieser Diode). Das gesparte Geld investierst du besser in einen größeren Pufferkondensator.
:
Bearbeitet durch Moderator
Falls das oszi noch im Zugriff ist: schau doch Mal die geschaltete Spannung an Motor an. Mosfets als Motortreiber sind OK, aber die schaltgeschwindigkeit ist meistens viel größer als benötigt. in dem Fall würde ein Längswiderstand vor dem Gate oder ein größerer Basiswiderstand die schaltgeschwindigkeit reduzieren und somit den Spannungseinbruch verhindern. Deswegen gibt es auch viele load switches mit einstellbarer schaltgeschwindigkeit.
Karl schrieb: > aber die schaltgeschwindigkeit ist meistens viel größer als benötigt. Das ist beim Schalten einer Induktivität irrelevant. Denn der Strom in einer Induktivität steigt eh' recht "langsam" von 0 auf ihren Maximalwert. Wenn du aber vorschlägst, den Gatewiderstand so zu dimensionieren, dass der Anlaufstrom eines Motors reduziert wird, dann bist du in einem völlig anderen Zeitbereich unterwegs, denn der Anlauf eines Motors ist mechanisch und dauert viele ms. Nicht wie im Bild oben einige µs. Und Schaltzeiten im 100ms-ms-Bereich stellt man nicht über einen hochohmigen Gatewiderstand ein. Rechne so einen Widerstand mal für eine Zeitkonstante von 10ms bei einer Gatekapazität von 10nF aus. Du kommst auf einen Widerstand von 1 MegaOhm. Irgendwie "hört" sich dieser Wert aber völlig ungeeignet an... Karl schrieb: > in dem Fall würde ein Längswiderstand vor dem Gate oder ein größerer > Basiswiderstand die schaltgeschwindigkeit reduzieren und somit den > Spannungseinbruch verhindern. So ein Gatewiderstand müsste dann etwa 10kOhm haben. Auch das ist irgendwie shcon "viel". > und somit den Spannungseinbruch verhindern. Der Spannungseinbruch kommt hier offenbar davon, dass das Stecker-Schaltnetzteil nicht schnell genug nachregelt, denn wenn 4µs später die Spannung schon wieder "passt", dann taktet das Ding mit z.B. 250kHz und kann mit dem nächsten Takt die fehlende Energie "nachliefern". Ich würde also entweder das Netzteil tauschen oder eben einfach dessen Spannung sinnvoll puffern.
:
Bearbeitet durch Moderator
Hast du einen 100nF Keramik-Kondensator direkt an die GND und VCC Pins des Atmega angebracht?
Lothar M. schrieb: > Naja, "Bauchgefühl" hört sich ein wenig wie "Verdauung" und das daraus > resultierende Ergebnis an... ;-) LOL. Aber ich spüre das etwas weiter oben, eher im Magen ... 😀
Lothar M. schrieb: > Das ist beim Schalten einer Induktivität irrelevant. Wenn du meinst, größer Meister. Schon klar wer du bist und dass du ohne Zweifel was drauf hast, aber dein Ton? Tut das Not? Lothar M. schrieb: >... > Irgendwie "hört" sich dieser Wert aber völlig ungeeignet an... Ungeeignet wofür? Lothar M. schrieb: > So ein Gatewiderstand müsste dann etwa 10kOhm haben. Auch das ist > irgendwie shcon "viel". Ja und? Lothar M. schrieb: > Der Spannungseinbruch kommt hier offenbar davon, dass das > Stecker-Schaltnetzteil nicht schnell genug nachregelt, denn wenn 4µs > später die Spannung schon wieder "passt", dann taktet das Ding mit z.B. > 250kHz und kann mit dem nächsten Takt die fehlende Energie > "nachliefern". > Ich würde also entweder das Netzteil tauschen oder eben einfach dessen > Spannung sinnvoll puffern. Da stimme ich nicht zu. Wenn du mit 250 kHz taktest ist die Bandbreite der Regelschleife viel geringer. Ist aber auch egal, denn aus welchen Gründen auch immer kann das Netzteil in einigen us Strom nachliefern. Es geht also nur darum die Bandbreite der Senke in die Bandbreite der Quelle zu bekommen. Dazu erscheint mir eine Anstiegszeit von z.b. 100 us nicht ungeeignet. Und selbst wenn es in den ms Bereich geht, who tf Cares? Natürlich kann man auch mit großen Kondensatoren, Dioden, Layout Halbweisheit (nicht du, aber andere) und sonst was um sich werfen an statt einen Widerstand zu erhöhen.
Hans Schmidt schrieb: > und dem noch eine Diode spendiert. Wozu ? War davon irgendwo eine Rede ? Die Diode ist überflüssig und nutzlos.
Hallo, @Dietrich: Diode fliegt wieder raus, hatte die aus dem Datenblatt mit dem Hinweis: wenn Eingang kleiner als Ausgang ist. Und da es hier um ein Einzelstück geht und die Kosten von ein paar Cent egal sind, hatte ich sie reingepackt. Aber ist jetzt raus. @HildeK: danke dir trotzdem, jeder Hinweis hilft (mir). Möchte ungern noch eine Platine versemmeln @Gerald: nutze Eagle v7.7, da sind aber auch "Thermals", habe die noch mal leicht vergrößert. Bei der vorherigen Version ging das aber schon problemlos beim Löten. @Hans: Gatewiderstand habe ich gespart, da ich nur statisch schalte. Also (Luft-)Pumpe ein oder aus, wobei die Schaltvorgänge auch nur alle paar min auftreten. Würde sonst noch einen 330 Ohm einfügen. Abblockkondensator hatte ich am uC an jedem Versorgungspin dran, an den FETs halte ich das für overkill. Aber lasse mich da gerne eines besseren belehren. Denn ich bin nur leicht fortgeschrittener Anfänger mit wenig Erfahrung. @Lothar: beide Kondensatoren sind jetzt auf 470u, kostet ja nicht die Welt. Geht hier um ein Einzelstück. Die Diode ist auch raus. Der Gatewiderstand wäre deinen Ausführugnen nach auch eher überflüssig. Aber auch die vier kosten quasi nichts, kann da also 4 x 330 Ohm einfügen wenn es auch nur irgendwie hilfreich sein sollte. Über Centbeträge brauchen wir hier nicht diskutieren, da ist der gescheiterte Versuch um ein vielfaches teurer gewesen... Hans
Ich habe mir den Screenshot aus diesem Beitrag
Hans Schmidt schrieb:
(mit jetzt zeitlichem Abstand) nochmals angesehen.
Dabei verwundert mich schon, dass du mit dem Verlauf der 12V bereits
einen Einbruch bei den 5V zu sehen bekommst. Die 12V (gelbe Kurve)
brechen auf rund 8V zusammen, das müsste der 5V-Regler kaum merken und
nicht, wie zu sehen, auf 3V einbrechen. Das verwundert mich schon.
Evtl. passiert zusätzlich noch was außerhalb des gezeigten Messfensters;
die Dauer des Motoranlaufs ist ja auch deutlich länger als ein paar µs,
siehe Kommentar von Lothar.
Jedenfalls sollte man dem Punkt nochmals nachgehen.
Es kann aber auch eine schlechte Masseverbindung oder ein ungeeigneter
Referenzpunkt für die Messungen gewesen sein. Einzig der Reset deines
Controllers passt zum Einbruch der 5V.
Jedenfalls ist die Diode D6 zusammen mit einem großen C4 (im letzten
Schaltbild) sehr sinnvoll.
Hans Schmidt schrieb: > 1) die Resetschaltung nutze ich so schon seit Jahrzehnten (nicht lachen, > ist echt so, angefangen bei alten AT90... uCs über Parallelport war mal > angesagt) Du schreibst dass du dich schon seit Jahrzehnten mit Elektronik beschäftigst. Du hast in dem Thread gesehen wie hilflos man ist wenn man keine ordentlichen Messmittel hat. Überlege dir doch mal ob es nicht vieleicht Sinn macht dir ein preiswertes modernes Oszi zuzulegen und auch ein ordentliches Labornetzteil z.B. von Statron. Sowas kostet ja nicht mehr mehrere tausend Euros wie früher.
:
Bearbeitet durch User
@HildeK: was es am Ende war: keine Ahnung... Aber ein neuer Versuch steht an, morgen bestelle ich die nächsten fünf (brauche nur eine...). Mache jetzt noch den Gatewiderstand rein, dann geht es auf die Reise. Diode und C (470u) sind drin. @Udo: bis jetzt hat es funktioniert, aber meine Wunschliste ist natürlich lang ;-) Aber am Ende des Tages bin ich dafür zu geizig, dann muss ich auch mal mit einem Rückschlag rechnen. Und hier hat es sogar geholfen eine falsche Resetschaltung zu identifizieren. Die hätte ich sonst z.B. ewig weiter genutzt. Das soll jetzt nichts heißen, evtl. wird es doch mal (gebraucht) gekauft.
Interessanter thread, danke für alle beitragenden und den Ersteller. Eine Frage: Hast du bereits getestet ob das ganze funktioniert wenn du ein großes Netzteil benutzt, also Labornetzteil, falls du sowas besitzt, das würde mich interessieren, ob es einzig und alleine an dem Steckernetzteil liegt, was beim Anlaufstrom einbricht. Dankeschön.
@tasse: vermutlich ist es das Netzteil/Stromversorgung, aber kann ich dir aktuell nicht sagen da ich die Schaltung wohl wg. eines Kurzschlusses zerstört habe. In ein paar Tagen wenn die neuen Leiterplatten da sind kann ich mehr sagen
Hallo zusammen, kurze Info: Post und Chinesen waren schnell, neues Layout läuft problemlos. Vielen Dank für eure Tipps! Gruß, Hans
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.