Falls es eine Rolle spielt: Lasst uns einen ATmega328P als Beispiel nehmen. Angenommen ich habe einen AVR dessen Brown-Out Detektor auf 2,7V eingestellt ist. Er wird mit 5V betrieben. Was passiert, wenn die Versorgungsspannung zwischen 5V und 2,7V schwankt? Läuft er damit stabil weiter? Ich komme auf die Frage, weil ich meine ESP8266 Chips mit schnellen Schwankungen (im kHz Bereich) zwischen 3,3V und 2,8V zuverlässig zum abstürzen bringen kann. Mit langsam schwankender Spannung wie von einem Akku hat der ESP hingegen kein Problem. Bei AVR fehlen mir entsprechende Erfahrungswerte, deswegen frage ich. STM32 würden mich auch interessieren.
Was genau haben Tonfrequenzen auf der Versorgungsleitung mit brown out zu tun? Brown out triggert bei VCC kleiner 2.7V. Bleibt VCC da drüber, triggert der nicht. Oliver
:
Bearbeitet durch User
Oliver S. schrieb: > Was genau haben Tonfrequenzen auf der Versorgungsleitung mit brown out > zu tun? Der ESP erzeugt selbst solche Schwankungen während er über WLAN sendet, wenn der Innenwiderstand der Stromversorgung zu hoch ist. Meine Frage ist, ob der AVR Schwankungen oberhalb der Brown-Out Schwelle "überlebt". Der ESP8266 tut es jedenfalls nicht, wenn die Frequenz hoch ist.
Stefan ⛄ F. schrieb: > Angenommen ich habe einen AVR dessen Brown-Out Detektor auf 2,7V > eingestellt ist. Er wird mit 5V betrieben. Was passiert, wenn die > Versorgungsspannung zwischen 5V und 2,7V schwankt? Läuft er damit stabil > weiter? Das kommt auf die Taktfrequenz an. Wenn die ausreichend niedrig ist, sodaß er auch mit knapp über 2,7V gemäß Spezifikation betrieben wird, dann geht das. > Ich komme auf die Frage, weil ich meine ESP8266 Chips mit schnellen > Schwankungen (im kHz Bereich) zwischen 3,3V und 2,8V zuverlässig zum > abstürzen bringen kann. Mit langsam schwankender Spannung wie von einem > Akku hat der ESP hingegen kein Problem. >Der ESP erzeugt selbst solche Schwankungen während er über WLAN sendet, >wenn der Innenwiderstand der Stromversorgung zu hoch ist. Dann sieh zu, daß das nicht passiert.
Jeder IC hat Probleme mit einer instabilen Spannungsversorgung. Wie heftig die Ausfallen, kriegt man oft nur durch Tests oder auf Nachfrage beim Hersteller heraus. Nehmen wir mal deinen Atmega 328P als Beispiel und schauen in Datenblatt. Kapitel 28.4 - Speedgrades https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-7810-Automotive-Microcontrollers-ATmega328P_Datasheet.pdf Da steht ab 4,5 V darf man den IC mit 16 MHz takten. Darunter gibt es ein Limit, dass man aus der Kurve interpolieren müsste. Stellt sich doch die Frage, was passiert, wenn man sich daran nicht hält, oder? In dem Fall gilt, da kann alles mögliche passieren. Der sichere Betrieb ist nicht mehr garantiert. Genau aus dem Grund sind Seitenkanalangriffe auf die Schutzmaßnahmen im IC auch recht häufig erfolgreich über Spannugnsglitches. Durch das schnelle An- und Abschalten der Versorgung kommt der IC in Zustände, die es eigentlich nicht geben sollte.
Falk B. schrieb: > Dann sieh zu, daß das nicht passiert. Das ist mir beim ESP schon klar. Die Frage war, ob ich beim AVR auch Maßnahmen gegen Schwankungen oberhalb der Brown-Out Schwelle ergreifen muss, oder ob er damit klar kommt. Falk B. schrieb: > Das kommt auf die Taktfrequenz an Ja klar, die muss natürlich dazu passen. Sagen wir mal 8 MHz.
Stefan ⛄ F. schrieb: > Oliver S. schrieb: > >> Was genau haben Tonfrequenzen auf der Versorgungsleitung mit brown out >> zu tun? > > Der ESP erzeugt selbst solche Schwankungen während er über WLAN sendet, > wenn der Innenwiderstand der Stromversorgung zu hoch ist. Das liegt vermutlich an der PLL, die für die WLAN Taktversorgung sorgt. Schnell Spannungschwankungen bringt diese zum Verlust der Synchronisation.
Solche Schwankungen können ja auch beim Wechsel von alternativen Stromversorgungen kommen. Zum Beispiel beim Arduino Nano: 5V bei Speisung über Vin und dem 7805 Regler ca. 4,5V bei Speisung via USB, wegen einer Diode Bei Speisung über USB entstehen darüber hinaus Schwankungen bei Lastwechseln, wegen dem Leitungswiderstand.
Probiers halt einfach aus. Hochohmige Versorgung dran, alle IO-Ports mit auf max. Strom ausgelegten Widerständen gegen Masse, und dann alle gleichzeitig ein- und ausschalten, so schnell du willst. Oliver
Oliver S. schrieb: > Probiers halt einfach aus. Werde ich wohl machen. Es sei jemand weiß schon was dabei heraus kommen wird und schreibt das hier. Ich mach das aber erst, wenn ich wieder eine reale Anwendung mit einem AVR habe. Momentan steht da nichts an.
Stefan ⛄ F. schrieb: > Angenommen ich habe einen AVR dessen Brown-Out Detektor auf 2,7V > eingestellt ist. Er wird mit 5V betrieben. Was passiert, wenn die > Versorgungsspannung zwischen 5V und 2,7V schwankt? Läuft er damit stabil > weiter? Da Du Dich im spezifizierten Betriebsspannungsbereich aufhältst, hat er ordnungsgemäß zu funktionieren. ADC-Skalierung lasse ich mal außen vor. Deine Aufgabe ist es, dafür zu sorgen, dass er auch zu diesem Spannungsbereich passend betrieben wird. Also Taktfrequenz entsprechend wählen. Und dafür sorgen, dass es keine sehr kurzen tieferen Einbrüche der Versorgungsspannung gibt. Wenn beim Wechsel von 5,0 auf 2,7 V die Spannung als Überschwinger für ein paar hundert ns auf 2,6 V fällt, dann können durchaus ungewollte Effekte auftreten. Das Zauberwort heisst hier Abblockung, such mal nach Abblockkondensator, und wofür die gut sind. > Ich komme auf die Frage, weil ich meine ESP8266 Chips mit schnellen > Schwankungen (im kHz Bereich) zwischen 3,3V und 2,8V zuverlässig zum > abstürzen bringen kann. Mit langsam schwankender Spannung wie von einem > Akku hat der ESP hingegen kein Problem. Wirklich den Chip, oder ein Modul wo dieser Chip drauf ist? Den Chinaplatinchen fehlen regelmäßig vernünftig dimensionierte Abblockkondensatoren, da ist nur das Allernotwendigste bestückt. Pack da mal 4,7 µF keramisch direkt an den Chip, dann sieht es wahrscheinlich schon besser aus. Spannungsgradienten kann man auch durch Tiefpässe beeinflussen. 10 Ohm in Reihe und 470 µF Elko nach Masse können die Versorgungsspannung deutlich beruhigen.
Soul E. schrieb: > Wirklich den Chip, oder ein Modul wo dieser Chip drauf ist? Ein Modul. > Den Chinaplatinchen fehlen regelmäßig vernünftig dimensionierte > Abblockkondensatoren. Eben darauf bin ich anhand von Messungen und Langzeit-Kontrollen auch gekommen.
Ich glaube, mit diesen Untersuchungen bist Du den Rest Deines Lebens beschaeftigt. Du kannst ja erst mal schauen was da andere gemacht haben. Stichworte fuer die Suchmaschine: Glitches & Vcc & Microcontroller. Ich mach mir das Leben einfach und sehe genug Kapazitaeten an VCC vor. ;-)
Andreas B. schrieb: > Ich glaube, mit diesen Untersuchungen bist Du den Rest Deines > Lebens beschaeftigt. > Ich mach mir das Leben einfach und sehe genug Kapazitaeten an VCC vor. Ich war halt neugierig. hatte gehofft, das es schon jemand weiß.
Stefan ⛄ F. schrieb: > Ich war halt neugierig. hatte gehofft, das es schon jemand weiß. Wissen tu ich nur dass das unzaehlige Nebeneffekte hat, die alle vermutlich durch induktionsfeffekte auf den Chip zustandekommen. Dadurch, dass kein Hersteller (zumindest habe ich das bis jetzt nicht gesehen), irgendeine max. Steilheit von glitches auf Vcc angibt, zeigt, das dieses Problem offensichtlich nicht trivial ist. Google doch mal nach den o.a. Begriffen. Da gibt es einiges lesenswertes zum Thema.
Das wird sich beim ESP einfach deswegen viel mehr auswirken als beim simplen AVR, weil der PLLs und Teilerchips hat, die von einer stabilen Versorgung leben. Wenn du bei einer PLL die Betriebsspannung mit kHz modulierst, ist die so schnell aus dem Takt, das es die wahre Freude ist. Sowas ist beim AVR gar kein Thema.
Nochmal ergänzend aus Interesse: Der TO bewegt sich mit den 2.6V ja recht knapp an der Brownout-Schwelle, WIE GENAU ist diese Schwelle (hier 2.7V) eigentlich definiert, welche Bauteiltoleranzen sind da zu erwarten? Habe das DB jetzt nicht aktuell durchforstet, vielleicht weiss es jemand aus Erfahrung.
Stefan ⛄ F. schrieb: > Ich war halt neugierig. hatte gehofft, das es schon jemand weiß. Atmel weiß das. Ich habe vor langer Zeit ein Dokument von denen gelesen, da wurde das ganz speziell beschrieben. Hier: https://microchipdeveloper.com/8avr:bod#:~:text=Many%20AVR%C2%AE%20devices%20have,mode%20to%20prevent%20erratic%20operation.
:
Bearbeitet durch User
Hermann Kokoschka schrieb: > Der TO bewegt sich mit den 2.6V ja recht knapp an der Brownout-Schwelle, Er fragt explizit nach dem Verhalten oberhalb der Brownout Schwelle.
:
Bearbeitet durch User
Andreas B. schrieb: > Er fragt explizit nach dem Verhalten oberhalb der Brownout Schwelle. Eben. Und GENAU-deshalb ist es doch interessant zu wissen, wie exakt die BrownOut-Schwelle definiert ist, bzw. sich in der Praxis verhält.
Wobei es hier ja weniger um das Brownout Verhalten geht, sondern vielmehr um das undefinierte Verhalten eines uC wenn Vcc mit Transienten beaufschlagt wird. Das Verhalten tritt ja bei langsamen Aenderungen der Vcc nicht auf. Ob der Brownout jetzt bei 2.6 oder 2.7V zuschlaegt ist ja egal. In diesem Fall wird ja ein sauberer Reset ausgefuehrt.
Hermann Kokoschka schrieb: > Der TO bewegt sich mit den 2.6V ja recht knapp an der Brownout-Schwelle Mir ging es nur um Schwankungen, die den Brown-Out Detektor ganz sicher noch nicht auslösen, weil sie weit genug von seiner Schwelle entfernt sind. Die Frage war, wie der Rest des AVR auf die Schwankungen reagiert, wo der Brown-Out noch nicht getriggert wird.
Spendiere doch jedem IC nochmal 10-100µF vor seinem Kerko. Oder wie schon gesagt wurde noch nen kleinen Widerstand so das nicht zu arg an der Versorgung gezerrt werden kann, ich verwende da aber anstatt einen Widerstandes gleich ne kleine Drossel. Überprüfe auch deine Resetbeschaltung, ich verwende hier immer 10kOhm und 100nF. Der interne Reset Pullup ist etwas hochohmig.
Thomas O. schrieb: > Spendiere doch jedem IC nochmal 10-100µF vor seinem Kerko Ich suche hier nicht nach Gegenmaßnahmen, sondern Erfahrungswerten, wie AVR auf Schwankungen der Stromversorgung reagieren. Wie oft habe ich das nun schon geschrieben?
Stefan ⛄ F. schrieb: > sondern Erfahrungswerten Nimm doch mal das DB zur Hand und schaue, welche Eigenschaften alle von der Versorgung abhängen. Das sind gar nicht so wenige. Da liegt der Hase im Pfeffer. Das fängt bei OSCCAL an, und geht über das ADC Gedönse weiter, zu den Schmitt Triggern der Eingänge. Von angeschlossener Peripherie gar nicht reden wollend. Ansonsten sind die AVRs kleine robuste Kerlchen, die jeden Dreck wegstecken.
mit dem EEPROM schreiben scheint es Probleme zu geben wenn die Spannung einbricht. Es hört sich halt so an also ob die mit diesem Problem leben willst, es wird dir aber niemand sagen können was alles schief gehen kann.
Thomas O. schrieb: > Es hört sich halt so an also ob die mit diesem Problem leben willst Ich erkläre jetzt noch nochmal, wie die Frage gemeint war.
Stefan ⛄ F. schrieb: > Thomas O. schrieb: >> Es hört sich halt so an also ob die mit diesem Problem leben willst > > Ich erkläre jetzt noch nochmal, wie die Frage gemeint war. Und alle anderen erklären dir, daß alles andere außer einer stabilen Spannungsversorgung nicht zielführend ist. Oliver
:
Bearbeitet durch User
Oliver S. schrieb: > Und alle anderen erklären dir, daß alles andere außer einer stabilen > Spannungsversorgung nicht zielführend ist. Das Ziel ist dem TO schon klar. Er ist lange genug hier um zu wissen (er weiss es auch) dass man entsprechende Cs an Vcc verwendet. Er moechte aber genauer wissen was da konkret passiert.
Andreas B. schrieb: > Er moechte aber genauer wissen was da konkret passiert. Wenn man sie, die laut Datenblatt erforderlichen Kondensatoren, weg lässt?
Ach Mensch Stefan! Du bist doch auch nicht erst seit gestern hier. Du kannst hier doch nicht so eine ketzerische Frage stellen. Du darfst nicht hinterfragen, wenn etwas im Datenblatt steht. (Auch dann nicht, wenn das DaBla falsch ist!) Das steht im Datenblatt und mehr muss man nicht wissen. Also stell nicht solche Fragen, die kann Dir keiner beantworten. Denn es steht nicht im Datenblatt, man! Das ist in der Welt nicht vorgesehen, dass diese Frage gestellt werden könnte. Und wenn doch, wird sein zu nicht-sein, weiß wird schwarz, oben zu unten, etc. Nötigenfalls mit Anwalt. Die Hersteller haben extra kleine schwarze Kistchen daraus gemacht, damit man da nicht rein gucken kann. Also wage es nicht auf die Idee zu kommen und zu fragen, was darin eigentlich passiert wenn [hier beliebigen "unzulässigen" Betriebszustand einfügen]. Die Bibel musst Du auch akzeptieren wie sie ist und darfst sie auf keinen Fall hinterfragen oder anzweifeln. Steht ja in der Bibel. Solange Du solche Dinge hinterfragst, wirst Du nie ein guter Christ. Ich auch nicht. :-D Und nein, ich kann es Dir auch nicht erklären was genau passiert, denn auch ich kann nicht sehen, was dabei in dem Chip passiert. Aber es werden unvorhergesehene Zustände eintreten, vermutlich sogar ehr zufällig als vorhersagbar, die mit sehr hoher Wahrscheinlichkeit dazu führen, dass nicht mehr das gemacht wird, was das Programm vorsieht. Klar ist, dass der Stromverbrauch bei digitalen Gattern im Umschaltzeitpunkt massiv ansteigt und ohne Kapazität durch die Leitungsinduktivität die Spannung am Chip zusammenbricht. Wenn der BOD nicht schnell genug für diese spikes ist, muss der Prozessor mit diesen spikes Leben und verrennt sich dann. Geht dann Blümchen pflücken - oder schaukeln. Gruß Jobst
probierts doch einfach aus: Funktionsgenerator, richtiger Offset, richtige Amplitude. Muss ich bei Gelegenheit echt mal ausprobieren
EAF schrieb: > Wenn man sie, die laut Datenblatt erforderlichen Kondensatoren, weg > lässt? Was sagt denn das Datenblatt konkret dazu?
Aufgrund von Lastschwankungen (sagen wir mal ein Funkmodul) könnte die Versorgungsspannung oberhalb der Brown-Out Schwelle schwanken. Ich habe beschrieben, dass ich mir entsprechende Schwankungen der Stromversorgung bei USB Kabeln und beim Wechsel alternativer QUellen mittels Dioden vorstellen kann. Ich kann mir das außerdem ganz gut bei Betrieb an Akkus vorstellen. Voll geladen hat der Akku vielleicht 4,8 Volt, geht im laufe der Zeit dann auf 3,6 Volt runter. Dazu würde ich den Brown-Out Detektor auf 2,7 Volt stellen, damit er im Normalfall nie triggert. Zu hoch eingestellt würde er den µC im Reset halten und dadurch die sonst niedrige Ruhestromaufnahme versauen, was wiederum dem Akku nicht gut tut. Mir ist klar, dass man die Versorgung entsprechend großzügig abblocken kann. Die Frage war, was wohl passieren würde, wenn ich das nicht tue. Es geht nicht um gutes oder schlechtes Schaltungsdesign, sondern um die Befriedigung meiner Neugier. Aktueller Stand ist: ESP8266 hängen sich auf (getestet), möglicherweise wegen der PLL STM32 bekommen vermutlich auch Probleme mit der PLL AVR haben keine PLL und sind auch sonst recht robust. Bei nächster Gelegenheit werde ich es an einem AVR ausprobieren. Nochmal erkläre ich die Frage nicht. Wer jetzt immer noch mit "Halte dich and Datenblatt" oder "Lege die Schaltung gefälligst ordentlich aus" kommt wird von mir ignoriert.
zumindest der ATtiny85 hat eine PLL von der man auch takten kann ...
Stefan ⛄ F. schrieb: > Die Frage war, was wohl passieren würde, wenn ich das nicht tue. Oh mann. Selbst dieses Bastelforum hier Forum ist voll mit Beiträgen der Art von "Mein AVR stürzt jedes mal ab, wenn das Relais schaltet" bis zu "völlig unerklärliche Resets nach Zeitraum X, auf dem Labortisch hat aber alles funktioniert", usw. Fakt ist, auch ein AVR verträgt keinen beliebigen Störungen auf VCC. Wenn du das genauer wissen willst, fahr eine Versuchsreihe mit verschiedenen Frequenzen, Amplituden, Signalformen, Innenwiderständen, was auch immer. Wenn das dann zu irgend einem Ergebnis führt, weisst du immer noch nicht, ob der nächste Prozessor aus der gleichen Tüte oder der selbe in einer anderen Schaltung nicht ganz anders reagiert. Oliver
Beitrag #7168534 wurde von einem Moderator gelöscht.
Der BOD bestimmt nur, wann ein BOD-Reset ausgelöst wird. Dabei gibt es eine Hysterese, d.h. die VCC muß unter die Schwelle sinken und danach wieder um die Hysterese ansteigen. Funktionieren müssen die meisten AVRs bis herab zu 1,8V (max Takt beachten). D.h. bis runter zu 1,8V darf nichts abstürzen. Ein Reset ist kein Absturz und setzt entsprechend der Quelle das MCUSR. Ist keine Quelle im MCUSR gesetzt, liegt typisch ein Softwarefehler vor (Stacküberlauf, wilder Pointer). Dann ist auch kein Reset erfolgt, sondern der PC läuft nur über bis 0x0000. Dieser Fall läßt sich schön über eines der GPIORn erkennen, es wurde nicht rückgesetzt auf 0x00.
Stefan ⛄ F. schrieb: > STM32 bekommen vermutlich auch Probleme mit der PLL Eher nicht so leicht. Die haben einen internen LDO für CPU und den ganzen hochfrequenten Kram. Der erzeugt typischerweise 1.2V aus den externen 3.3V und schnell muss er sowieso sein. Da sollte doch genug Luft bleiben. "Nur" ADC, Opamps usw. werden direkt von draußen versorgt.
Stefan ⛄ F. schrieb: > Er wird mit 5V betrieben. Was passiert, wenn die > Versorgungsspannung zwischen 5V und 2,7V schwankt? Läuft er damit stabil > weiter? Kannst Du ausschließen, dass Du alle anderen Randbedingungen dadurch nicht verletzt? Also z.B. dass Signale, die nicht größer VCC sein dürfen, immer drunter bleiben? Alle Signale-Timings für 5V UND 2,7V eingehalten? Max. Strompeaks eingehalten? interne Referenz-Signale? Oder triviale Dinge in SW, wie high und low an einem Widerstand, wo high auf einmal < low wird? Falls ja, kannst Du Dich bei Microchip beschweren, wenn er trotzdem abstürzt. Und bekommst dann vielleicht für genau Deine Beschaltung einen Workaround der die Spannungsschwankungen begrenzt ;-)
A. S. schrieb: > Kannst Du ausschließen Muss ich in dem Fall, sonst habe ich noch ganz andere Probleme.
Peter D. schrieb: > Der BOD bestimmt nur, wann ein BOD-Reset ausgelöst wird. Dabei gibt es > eine Hysterese, d.h. die VCC muß unter die Schwelle sinken und danach > wieder um die Hysterese ansteigen. Zu beachten wäre noch die hold time Zeitbedingung des BOD comparator und die ist nicht definiert. Bei Transienten auf Vcc und Probleme kann garantiert die BOD Threshold unterschritten werden ABER wegen der zu kuzen Zeit dann vom comperator nicht erkannt. Andere uC Schaltungsbereiche können darauf dann undefiniert reagieren. Davon auszugehen, dass im definierten Bereiche von Vcc min-max bei schnellen oder langsamen Durchfahren Probleme auftreten erscheint unbegründet. ABER das beim Durchfahren von Vcc min-max keine Transienten aufteten die Vcc min unterschreiten und vom BOD comparator nicht erkannt werden erschein mir gegeben. Mit der Annahme erscheint dein Ansatz ohne entspr. Meßtechnik zum Transienten Nachweis zweifelhaft. Wirksame Massnahmen gegen Transienten sind umfangreich und zentral ist das Layout einschließlich multilayer PCB. Ich habe mehrer Geräte der Haushaltsbespassung, die in regelmässigen undefinierten Abständen den Speicherinhalt (Senderliste...) verlieren, der zuvor mühevoll reingehämmert wurde (oft sind die Daten im E2Prom oder gepufferten RAM abgelegt) oder die Kisten hängen sich auf ... Ich behaupte, dass zu allererst das PCB (kein Multilayer) plus Layout grundgebend ist ... und dann obendrauf die vielen bekannten anderen Gründe.
:
Bearbeitet durch User
Apollo M. schrieb: > Wirksame Massnahmen gegen Transienten sind umfangreich und zentral ist > das Layout einschließlich multilayer PCB. Das kann ich voll bestätigen. Sehr gute Erfahrungen habe ich mit GND-Inseln gemacht, die an definierter Stelle mit einen Net-Tie verbunden sind. Die ESD-Festigkeit erhöht sich dadurch deutlich. Daß eine Plane überall das gleiche Potential hat, ist ein Märchen. Auch eine Plane hat einen Widerstand und eine Induktivität. Man darf z.B. keine Transienten oder hohe Ströme quer über eine Plane unter dem MC führen, sondern nur außen herum (elektrisch gesehen).
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.