Hallo,
habe mal eine Frage zu den AVR Mikrocontrollern, über die ich mir
bislang überhaupt keine Gedanken gemacht habe. Wie sieht es eigentlich
aus wenn im ausgeschalteten Zustand (Vcc=0V) oder bei Unterspannung
immer noch Spannung an einem (Eingangs-)Pin anliegt?
Im Datenblatt unter Electrical Characteristics, Absolute Maximum Ratings
steht ja "Voltage on any Pin except RESET with respect to Ground: -0,5V
to Vcc+0,5V" demnach wäre das unzulässig und eventuell problematisch.
Mir ist aber auch klar das jeder Pin 2 Schutzdioden, gegen GND und Vcc
hat und das somit eigentlich wegstecken können sollte.
Was natürlich dabei zum Problem werden könnte, wäre die Rückspeisung
über den Pin auf die Versorgung des Mikrocontrollers und eventueller
anderer Bauteile, wie sieht es da aus?
Im konkreten Fall hängt bei mir am Pin ein Spannungsteiler mit dem ich
per ADC die Versorgungsspannung überwache und zusätzliche Hardware bei
Unterspannung abschalte. Irgendwann kommt aber definitiv auch der Punkt
an dem die (gepufferte) Versorgungsspannung die minimale
Eingangsspannung des 7805 und auch die des AVR unterschreitet.
Einfachste Lösung die mir spontan einfällt, wäre ein Mosfet der aktiv
vom µC durchgeschaltet wird und ansonsten per Pulldown am Gate gesperrt
wird. Nur müsste ich dafür wieder einen Pin verbraten und frage mich ob
es nicht auch so geht. Eventuell den Spannungsteiler so hochohmig machen
das der Strom durch die Schutzdiode klein genug bleibt oder sonstige
Ideen?
Tim T. schrieb:> Wie sieht es eigentlich> aus wenn im ausgeschalteten Zustand (Vcc=0V) oder bei Unterspannung> immer noch Spannung an einem (Eingangs-)Pin anliegt?
Das ist pöße und der µC wird dann parasitär über die Eingangsschutzdiode
gespeist und läuft damit eventuell sogar. Die Chancen, dass der von
Atmel maximal für die Diode empfohlene Strom überschritten wird, ist
groß.
Tim T. schrieb:> Im konkreten Fall hängt bei mir am Pin ein Spannungsteiler mit dem ich> per ADC die Versorgungsspannung überwache und zusätzliche Hardware bei> Unterspannung abschalte.
unnötig, ADCref auf Vcc und internal Vref an ANx und Vcc ausrechnen!
Tim T. schrieb:> ausgeschalteten Zustand (Vcc=0V)
geht nicht, wird immer rückgespeist!
Tim T. schrieb:> über die ich mir> bislang überhaupt keine Gedanken gemacht habe.
Das Datenblatt ist da recht klar!
Vcc +0,5V sind erlaubt (?)
Ausnahme: Der Reset Pin.
Bei abgeschaltetem AVR sind also 0,5V erlaubt.
Sonst wird der AVR über den Pin versorgt.
Und das will man meist nicht.
Kann auch Rauch geben.
Wolfgang schrieb:> Das ist pöße und der µC wird dann parasitär über die Eingangsschutzdiode> gespeist und läuft damit eventuell sogar.
Ich kenne Projekte die nutzen das explizit, nicht ganz unklug.
Dadurch hat der Avr dann echt simple in off/0uA
http://www.doc-diy.net/photo/smatrig21/
Das mir alles was dazu oben getextet wurde klar ist, sollte bereits aus
dem Eingangspost hervorgegangen sein.
merciMerci schrieb:> Tim T. schrieb:>> Im konkreten Fall hängt bei mir am Pin ein Spannungsteiler mit dem ich>> per ADC die Versorgungsspannung überwache und zusätzliche Hardware bei>> Unterspannung abschalte.>> unnötig, ADCref auf Vcc und internal Vref an ANx und Vcc ausrechnen!
Doch, die Versorgungsspannung des Gerätes liegt bei etwa 20V, darum ja
auch der Spannungsteiler. Die weitere Hardware läuft schon bei einer
Spannung unter 15V nicht mehr, darum will ich das dann abfangen, noch
bevor die min Vcc des AVR unterschritten wird.
> Tim T. schrieb:>> ausgeschalteten Zustand (Vcc=0V)>> geht nicht, wird immer rückgespeist!
Natürlich kann ich die Vcc auf 0V haben, der Strom durch den
Spannungsteiler und die Clampingdioden kann auch nicht unendlich groß
werden.
Arduino Fanboy D. schrieb:> Tim T. schrieb:>> über die ich mir>> bislang überhaupt keine Gedanken gemacht habe.>> Das Datenblatt ist da recht klar!> Vcc +0,5V sind erlaubt (?)> Ausnahme: Der Reset Pin.
Natürlich, hab ich das irgendwo infrage gestellt? Bislang hatte ich nur
noch nicht den Fall das die Vcc unabhängig von den Eingangspins abfallen
konnte.
> Bei abgeschaltetem AVR sind also 0,5V erlaubt.> Sonst wird der AVR über den Pin versorgt.> Und das will man meist nicht.> Kann auch Rauch geben.
Zum Strom durch die Clampingdioden hatte ich ja schon was geschrieben
und auch wie man den senken kann, eventuell auch so weit das es nicht
mehr für den AVR zum Starten reicht und der Brownout zubeisst.
Mir ging es eher um praktische Ideen wie man damit umgeht, ausser eben
einfach nen Mosfet am Pin dazwischen zu setzen.
Tim T. schrieb:> Mir ging es eher um praktische Ideen wie man damit umgeht, ausser eben> einfach nen Mosfet am Pin dazwischen zu setzen.
Dann würde ich zuerst mal den Stromlaufplan hochladen ...
Ich sehe da noch andere Ideen ... Optokoppler+internal AC, der schon
erkennt, wenn die Wechselspannung (wenn vorhanden) weg geht.
merciMerci schrieb:> Tim T. schrieb:>> Mir ging es eher um praktische Ideen wie man damit umgeht, ausser eben>> einfach nen Mosfet am Pin dazwischen zu setzen.>> Dann würde ich zuerst mal den Stromlaufplan hochladen ...> Ich sehe da noch andere Ideen ... Optokoppler+internal AC, der schon> erkennt, wenn die Wechselspannung (wenn vorhanden) weg geht.
Ist eigentlich extrem simpel: Solarpanel, dahinter über Diode nen
Pufferkondensator und ein 7805 der den AVR und eine H-Vollbrücke
versorgt.
Parallel zum Solarpanel liegt der Spannungsteiler der mit dem
Mittelabgriff auf den AVR geht. Die Vollbrücke schaltet dabei die
Spannung vom Panel (also noch vor der Diode und 7805) direkt auf den
Verbraucher.
Tim T. schrieb:> Im konkreten Fall hängt bei mir am Pin ein Spannungsteiler mit dem ich> per ADC die Versorgungsspannung überwache und zusätzliche Hardware bei> Unterspannung abschalte. Irgendwann kommt aber definitiv auch der Punkt> an dem die (gepufferte) Versorgungsspannung die minimale> Eingangsspannung des 7805 und auch die des AVR unterschreitet.>> Einfachste Lösung die mir spontan einfällt, wäre ein Mosfet der aktiv> vom µC durchgeschaltet wird und ansonsten per Pulldown am Gate gesperrt> wird.
In deiner Posa bleibt einiges unklar für mich!
Aus dem Geschriebenen sehe ich keinen Grund warum hier überhaupt ein
Problem ansteht, nur weil der AVR rückgespeist werden könnte. Da du ja
schreibst, dass dieser die andere HW abschaltet ... und dann kann er
auch weiter auf sein Ende warten.
Ohne Gesamtschaltplan blicke ich nicht durch was überhaupt das
funktionale Problem sein soll. Das "Überspannungsthema am ÁDC" kannst
die einfach durch richtige Spannungsteilerwahl erledigen, sprich der ANx
sieht dann nie mehr als 0.5V.
Tim T. schrieb:> Ist eigentlich extrem simpel: Solarpanel, dahinter über Diode nen> Pufferkondensator und ein 7805 der den AVR und eine H-Vollbrücke> versorgt.> Parallel zum Solarpanel liegt der Spannungsteiler der mit dem> Mittelabgriff auf den AVR geht. Die Vollbrücke schaltet dabei die> Spannung vom Panel (also noch vor der Diode und 7805) direkt auf den> Verbraucher.
Und wann geht bei dieser Konstellation die Spannung für den AVR weg? So
wie von dir beschrieben, kann sich die Eingangsspannung für den 7805
beliebig im Bereich 0..xx Volt bewegen, was macht dann deiner Meinung
nach der Ausgang bzw. die Versorgung des AVR?
Tim T. schrieb:> wie sieht es da aus?
Rückspeisung verhindern bzw. durch Vorwiderstand unschädlich machen in
dem durch Rückspeisung zumindest VCC nicht relevant angehoben wird,
womöglich noch über 6V hinaus.
Tim T. schrieb:> Was natürlich dabei zum Problem werden könnte, wäre die Rückspeisung> über den Pin auf die Versorgung des Mikrocontrollers und eventueller> anderer Bauteile, wie sieht es da aus?
Korrekt, dass kann Probleme bereiten. Die ESD Schutzdioden leiten
Überspannug >0,5V an die Versorgungspins ab. Wenn die
Versorgungsspannung Null Volt ist, dass ist 0,6V schon eine Überspannung
in diesem Sinne.
Tim T. schrieb:> Eventuell den Spannungsteiler so hochohmig machen> das der Strom durch die Schutzdiode klein genug bleibt oder sonstige> Ideen?
Genau. Der Strom muss einfach so gering sein, dass die
Versorgungsspannung durch diesen nicht wesentlich angehoben wird. Der µC
darf auf keinen Fall auf die Idee kommen, zu starten.
merciMerci schrieb:> Ohne Gesamtschaltplan blicke ich nicht durch was überhaupt das> funktionale Problem sein soll. Das "Überspannungsthema am ÁDC" kannst> die einfach durch richtige Spannungsteilerwahl erledigen, sprich der ANx> sieht dann nie mehr als 0.5V.
Prinzipiell hab ich auch kein Problem damit wenn der AVR rückgespeist
wird, er ist eben nur ausserhalb der absolute maximum ratings. Da es
aber sicherlich öfters vorkommt das Hardware an den Pins betrieben wird,
die ein High Pegel liefern bevor oder nachdem der AVR eingeschaltet
wird, sollte es dafür wahrscheinlich so etwas wie eine übliche
Vorgehensweise geben.
Das Problem mit der Rückspeisung lässt sich in diesem ganz konkreten
Fall natürlich durch einen hochohmigen Spannungsteiler lösen, der
einfach nicht genug Spannung für den AVR zum starten liefert oder auch
indem ich die Bandgap Referenz nutze und den Spannungsteiler dafür
auslege, dann liege ich sogar innerhalb der Vcc+0,5V. Aber wie gesagt,
mir ging es eher darum wie man sowas üblicherweise machen würde.
Der µC darf auf keinen Fall auf die Idee kommen, zu starten.
Wenn du den Brown-Out Detektor verwendest (was bei Batteriebetrieb
ohnehin sinnvoll ist um (DatenVerlust im EEprom/Flash zu vermeiden),
muss die Spannung unter der eingestellten Schwelle bleiben. Ohne
Brown-Out Detektor würde ich unter 1V bleiben wollen.
Der ADC Eingang ist ja sehr hochohmig (etwa 100MOhm), so das der
Spannungsteiler auch sehr hochohmig sein kann. Allerdings muss der S&H
Kondensator im ADC geladen werden, aber dazu kann man einen kleinen
Kondensator extern schalten, der dann in den ADC geladen wird. Dazu
reichen 1nF - 10nF locker aus.
"Man" macht das wohl anders, ich hab's mal so gemacht, also die
Rückspeisung nach VDD reduziert. Erstmal fließt der Strom über Q2 und
dann nach GND. VDD sieht davon um die Stromverstärkung von Q2 weniger.
Der Spannungsteiler kann also so niederohmig werden bis R1 abbrennt. Mit
R2 und R3 stellt man einen Kompromiss zwischen Messbereich und
(positiver) Überspannung am ADC-Eingang ein; R2 ist hier evt. etwas
klein geraten.
Kalli schrieb:>> Und wann geht bei dieser Konstellation die Spannung für den AVR weg? So> wie von dir beschrieben, kann sich die Eingangsspannung für den 7805> beliebig im Bereich 0..xx Volt bewegen, was macht dann deiner Meinung> nach der Ausgang bzw. die Versorgung des AVR?
Die Ausgangsspannung des 7805 bzw. die Versorgung des AVR wird sich dann
wohl im Bereich 0..5V bewegen. Zugegeben hab jetzt keine intensiven
Studien dazu angestellt, aber bislang hat keiner meiner 78xx bei
Unterspannung mehr(!) als die Nennspannung geliefert. Allerdings kann
durch die Vorwärtsspannung der Diode vor dem 7805 und der
Vorwärtsspannung im 7805 immer noch eine Spannungsdifferenz zwischen Vcc
und dem Pin existieren die zu einer Rückspeisung führt.
MaWin schrieb:>> Rückspeisung verhindern bzw. durch Vorwiderstand unschädlich machen in> dem durch Rückspeisung zumindest VCC nicht relevant angehoben wird,> womöglich noch über 6V hinaus.
Ok, ein Pulldown am Vcc in Kombination mit einem Hochohmigen
Spannungsteiler am Pin. Gute Idee, an den Pulldown hatte ich gar nicht
gedacht. Das mit den 6V kann ich zuverlässig ausschließen weil der
Spannungsteiler entsprechend dimensioniert wird.
Stefan ⛄ F. schrieb:> Der µC darf auf keinen Fall auf die Idee kommen, zu starten.>> Wenn du den Brown-Out Detektor verwendest (was bei Batteriebetrieb> ohnehin sinnvoll ist um (DatenVerlust im EEprom/Flash zu vermeiden),> muss die Spannung unter der eingestellten Schwelle bleiben. Ohne> Brown-Out Detektor würde ich unter 1V bleiben wollen.
Hatte in jedem Fall vor den Brownout Detektor zu verwenden, ist zwar
keine Batterie vorhanden, aber bei der Versorgungslage, sicherlich
angeraten.
Matthias S. schrieb:> Der ADC Eingang ist ja sehr hochohmig (etwa 100MOhm), so das der> Spannungsteiler auch sehr hochohmig sein kann. Allerdings muss der S&H> Kondensator im ADC geladen werden, aber dazu kann man einen kleinen> Kondensator extern schalten, der dann in den ADC geladen wird. Dazu> reichen 1nF - 10nF locker aus.
Hatte dafür einfach einen 100nF vorgesehen weil ich die für alles
mögliche rumfliegen hab. Ansonsten guter Einwand, wird oft vergessen das
der S&H Kondensator auch noch durch die Hochohmige Zuleitung geladen
werden muss.
Bauform B. schrieb:> "Man" macht das wohl anders, ich hab's mal so gemacht, also die> Rückspeisung nach VDD reduziert. Erstmal fließt der Strom über Q2 und> dann nach GND. VDD sieht davon um die Stromverstärkung von Q2 weniger.> Der Spannungsteiler kann also so niederohmig werden bis R1 abbrennt. Mit> R2 und R3 stellt man einen Kompromiss zwischen Messbereich und> (positiver) Überspannung am ADC-Eingang ein; R2 ist hier evt. etwas> klein geraten.
Ok, sieht schon etwas aufwändiger aus als ich das vorhatte...
Also ausgelöst wurde der Gedankengang wegen der Überlegung ob ich eine
Diode antiparallel über den 7805 lege um ihn gegen zu hohe Spannung auf
der Ausgangsseite zu schützen. Im ersten Moment habe ich die Idee dann
verworfen weil woher soll da denn eine Spannung größer als auf der
Eingangsseite kommen, auf den zweiten Blick allerdings kamen mir die
Clamping Dioden in den Sinn.
Ansonsten nehme ich einfach mal als Idee mit, dass man die Zuleitung zum
Pin, in diesem Fall den Spannungsteiler etwas hochohmiger macht und den
Strom dann über die Clampingdiode (oder eventuell ne zusätzliche Diode
mit kleiner Vorwärtsspannung vom Pin) nach VCC leitet. VCC wird dann mit
einem Pulldown gegen Masse gezogen.
Tim T. schrieb:> (oder eventuell ne zusätzliche Diode> mit kleiner Vorwärtsspannung vom Pin)
Kleine Vorwärtsspannung bringt meist großen Leckstrom mit. Das,
kombiniert mit einem hochohmigen Teiler, mag man auch nicht.
Matthias S. schrieb:> Der ADC Eingang ist ja sehr hochohmig (etwa 100MOhm), so das der> Spannungsteiler auch sehr hochohmig sein kann
genau so ist es nicht, wenn ich mich richtig erinnere (steht im
Datenblatt) muss die Quellenimpedanz 10K oder so sein, sonst passt der
precharge/s&h timeslot nicht mehr. Das wäre aber auch nur wichtig, wenn
du genau messen willst.
Warum nicht einfach einen Spannungsteiler von 1:30, dann stehen bei 15V
max 0.5V am ADC an und ADCref auf 1,024V, das macht dann eine Auflösung
von theoretisch rund 1mV.
Ist der AVR geheim oder eine Sonderanfertigung, weil hier nicht genannt?
Oder, übersehe ich hier irgendwas?
merciMerci schrieb:> Matthias S. schrieb:>> Der ADC Eingang ist ja sehr hochohmig (etwa 100MOhm), so das der>>> Spannungsteiler auch sehr hochohmig sein kann> genau so ist es nicht, wenn ich mich richtig erinnere (steht im> Datenblatt) muss die Quellenimpedanz 10K oder so sein, sonst passt der> precharge/s&h timeslot nicht mehr. Das wäre aber auch nur wichtig, wenn> du genau messen willst.
Sind nach Datenblatt bis 100kOhm um den 14pF S&H Kondensator zu laden,
aber ganz genau muss es auch nicht sein, werde eh nur 8 Bit auslesen.
Abgesehen davon hab ich ja noch den externen Kondensator am Pin.
>> Warum nicht einfach einen Spannungsteiler von 1:30, dann stehen bei 15V> max 0.5V am ADC an und ADCref auf 1,024V, das macht dann eine Auflösung> von theoretisch rund 1mV.
Genau das war ja eine der oben genannten Möglichkeiten, für diesen Fall.
>> Ist der AVR geheim oder eine Sonderanfertigung, weil hier nicht genannt?
Geht mir um verschiedene AVR, aber im konkreten Fall um einen Tiny13A
oder 25/45/85 jenachdem wie viel Platz ich noch für zusätzliche Sachen
brauche.
>> Oder, übersehe ich hier irgendwas?
Nein.
merciMerci schrieb:> Matthias S. schrieb:>> Der ADC Eingang ist ja sehr hochohmig (etwa 100MOhm), so das der>>> Spannungsteiler auch sehr hochohmig sein kann> genau so ist es nicht, wenn ich mich richtig erinnere (steht im> Datenblatt) muss die Quellenimpedanz 10K oder so sein, sonst passt der> precharge/s&h timeslot nicht mehr. Das wäre aber auch nur wichtig, wenn> du genau messen willst.
Die Quellenimpedanz eines hochohmigen Spannungsteilers reduziert man
indem bei einem quasi statischen Signal dieses mit einem Kondensator am
ADC Eingang puffert.
> Warum nicht einfach einen Spannungsteiler von 1:30, dann stehen bei 15V> max 0.5V am ADC an und ADCref auf 1,024V, das macht dann eine Auflösung> von theoretisch rund 1mV.>> Ist der AVR geheim oder eine Sonderanfertigung, weil hier nicht genannt?
Ich denke auch, der Spannungsteiler ist das kleinste Problem. Ab einem
Teilerverhältnis von 1:6 sehe ich keine Probleme mehr, der ADC Pin sieht
ja nur die heruntergeteilte Versorgungsspannung (weiter oben wurden mal
20V genannt).
Ist der 7805 die richtige Wahl? Er braucht mindestens 5mA Laststrom um
zu regeln. Ist das gewährleistet, wenn dein unbekannter AVR in den Reset
geht.
Was macht dein AVR, wenn Vcc um die Brown-Out Schwelle herum verbleibt.
Viele Prozessoren erwarten einen bestimmten zeitlichen Anstieg von Vcc
damit die interne Resetschaltung richtig funktioniert.
... also alles entspannt, der ATtiny45/85 kommt auch noch mit einem ADC
analog Gain von 20 daher.
Den 7805 würde ich sicher nicht mehr nehmen, der braucht soviel/oder
mehr Strom als der AVR und rauscht auch mächtig ...
Kalli schrieb:> st der 7805 die richtige Wahl? Er braucht mindestens 5mA Laststrom um> zu regeln. Ist das gewährleistet, wenn dein unbekannter AVR in den Reset> geht.
Ich denke, damit ist der 7805 sicher raus. Es ist traurig, aber ich
schmeiß die Dingre nur noch in die Tonne.
Was man hier wieder lernen könnte, ein Stromlaufplan macht irgendwie
immer Sinn. Auch wenn alles ganz ganz einfach aus sieht!?
Kalli schrieb:>> Ich denke auch, der Spannungsteiler ist das kleinste Problem. Ab einem> Teilerverhältnis von 1:6 sehe ich keine Probleme mehr, der ADC Pin sieht> ja nur die heruntergeteilte Versorgungsspannung (weiter oben wurden mal> 20V genannt).
Bleibt halt der Offset durch die Diode vor dem 7805 und dem 7805 selber.
Dazu die Verzögerung bei einem schnellen Anstieg der Panelspannung. Aber
ja, im aktuellen Fall ist das eher unkritisch.
> Ist der 7805 die richtige Wahl? Er braucht mindestens 5mA Laststrom um> zu regeln. Ist das gewährleistet, wenn dein unbekannter AVR in den Reset> geht.
Bislang habe ich dafür eine Bereitschafts LED verbaut, die jetzt aber
noch durch einen Pulldown ergänzt oder ersetzt wird.
> Was macht dein AVR, wenn Vcc um die Brown-Out Schwelle herum verbleibt.> Viele Prozessoren erwarten einen bestimmten zeitlichen Anstieg von Vcc> damit die interne Resetschaltung richtig funktioniert.
Das ist eine gute Frage. Bin bislang davon ausgegangen das der Reset
spätestens beim Wiederherstellen der vollen VCC vom Brownout Detektor
sauber ausgelöst wird.
merciMerci schrieb:> ... also alles entspannt, der ATtiny45/85 kommt auch noch mit einem ADC> analog Gain von 20 daher.> Den 7805 würde ich sicher nicht mehr nehmen, der braucht soviel/oder> mehr Strom als der AVR und rauscht auch mächtig ...
Was bei dem Anwendungsfall aber absolut egal ist. Auch die Bereitschafts
LED frisst mehr als der AVR. Glaube das mit dem Solarpanel wurde etwas
unterschätzt, es geht dabei nicht um eine kleine Zelle sondern um
Leistung im 3-stelligen Watt Bereich.
Tim T. schrieb:> Nur müsste ich dafür wieder einen Pin verbraten
Man kann den LL-FET (BSS138) auch mit dem Gate an VCC hängen und in den
Spannungsteiler Schalten.
Source hängt am unteren Spannungsteilerwiderstand.
Drain am oberen Widerstand des Spannungsteilers.
Damit hat man am Source = ADC-Eingang maximal VCC abzüglich der
Pinch-Off Spannung (max 1.5V) des FETs.
Gruß Anja
Ich löste vor vielen Jahren dasselbe Problem in einem Firmenprojekt mit
Hilfe eines PNP Transistors der solche externe Pfade nur durch
Einschalten des PNPs durch einen MOSFET vom uC her erlaubte um im
abgeschalten Zustand dann wegen dieser Abschaltung keinen uC PIN oder
Beschaltung irgendeiner externen zugeführten Spannung auszusetzen.
Anja schrieb:> Tim T. schrieb:>> Nur müsste ich dafür wieder einen Pin verbraten>> Man kann den LL-FET (BSS138) auch mit dem Gate an VCC hängen und in den> Spannungsteiler Schalten.> Source hängt am unteren Spannungsteilerwiderstand.> Drain am oberen Widerstand des Spannungsteilers.>> Damit hat man am Source = ADC-Eingang maximal VCC abzüglich der> Pinch-Off Spannung (max 1.5V) des FETs.>> Gruß Anja
Da sieht man mal wieder wie betriebsblind man werden kann. Hab in der
Vergangenheit schon häufiger zum Stromsparen Mosfets in die
Spannungsteiler gesetzt um zwischen den Messungen den Querstrom zu
vermeiden, allerdings immer aktiv. Darum bin ich hier gar nicht auf die
Idee gekommen dass es ja auch passiv über Vcc geht. Danke dafür.