Hallo,
ideal für Batteriebetrieb wäre ja eigentlich, eingeschalteter
Brown-Out. Ab 2.7 oder 1.8 Volt resetet dann einfach der Prozessor und
keine undefinierten Zustände entstehen. Leider schluckt der Brown-Out
des Tiny12 auch im Power-Down 30-50 uA Strom - sehr ungünstig, wenn das
Gerät dauerhaft an der Batterie bleiben soll.
Wer also eine lange Lebensdauer der Batterie braucht, kann den nur
ausschalten. Wie sind die Erfahrungen, läuft die Sache auch ganz gut
ohne Brown-Out oder braucht es andere Schaltungskniffe?
Ohne Brown-Out-Detektor läuft gar nichts gut. Im Übergang der Spannung
von "gerade noch so" bis "gar nicht mehr gut" macht die CPU dann,
was sie will - deswegen sollte man sie schon lange vorher von der
Arbeit befreien. Wenn keine kritischen Sachen zu machen sind
(EEPROM-Nutzung oder lebensbedrohliche Schaltzyklen an Hochspannung),
kann man auch ohne klarkommen - die CPU wird´s überleben. Die
angesteuerte Schaltung vielleicht nicht, je nachdem wofür die CPU alles
verantwortlich ist. Externe Brown-Out-Detektoren verbrauchen aber
meistens mehr, als der interne. Bei Sendemodulen z.B., die nur auf
Tastendruck eine IR-Diode ansteuern und wo der Prozi ansonsten nur
pennt, kann man wohl auf Brown-Out-Detektion verzichten.
Wie ist das eigentlich bei den MSP-Prozessoren von Texas gelöst? Die
stehen ja im guten Ruf, gerade extrem stromsparend zu sein und werden
auch gerne für batteriebetriebene Geräte benutzt. Haben die dann keine
Brown-Out-Detection? Oder ist die dort extrem sparsam?
@Winfried
"sehr ungünstig, wenn das Gerät dauerhaft an der Batterie bleiben
soll."
Woher willst Du das wissen ?
Rechne doch erstmal nach, ehe Du so etwas behauptest.
Also, was für eine Kapazität hat Deine Batterie, wieviel Strom wird
unter Last für wie lange benötigt und wie lange soll sie denn halten ?
Wenns dann nicht ausreicht:
Es gibt 3-beiner Unterspannungsreset-ICs, die nur 1µA ziehen, dann
kannst Du den internen Brownout abschalten. Ich glaube von TI oder
Maxim waren die.
Peter
50 uA Dauerstrom sind nunmal 438mAh pro Jahr. Das ist unverschämt viel,
wenn man eine Lithum 2032 Knopfzelle hat. Dann ist die nämlich in einem
viertel Jahr leer. Halten sollte sie aber eigentlich 2-3 Jahre, wovon
die Hälfte der Kapazität auch noch für sinnvolle Sachen gebraucht wird.
Das habe ich natürlich auch vor dem Posting schon nachgerechnet ;-)
Unerspannungs-ICs: Ich denke, da werde ich mich mal auf die Suche
begeben. Um 1uA klingt gut.
Und einen hochohmigen Spannungteiler an ein Pin, den µC schlafenlegen,
wenn die Spannung unter einen bestimmten Wert fällt? Aufwachen müßte er
dann, wenn die Spannung von "unter minimaler Betriebsspannung" wieder
ansteigt, von alleine. Kann sowas gehen?
Sven
@Peter: Ein sehr schöner Baustein. Allerdings gibt es für die konkrete
Problematik auch wieder Einschränkungen: Das Teil kann auch bis zu 50
uA, zumindest aber typisch 17 uA an Strom ziehen (bei 3V). Das ist
ähnlich, wie der Tiny selbst für den Brownout braucht. Andererseits
habe ich mit Maxim sehr oft die Erfahrung gemacht: Tolle Bausteine, nur
wenn man sie in eine Serienfertigung verbauen will, setzt schnell
Ernüchterung ein wegen des Preises. So auch hier: Das Teil ist doppelt
so teuer, wie der Tiny selbst: 3,32 Euro habe ich bei einem Händler
entdeckt.
@Sven: Kann ich mir nicht vorstellen, dass sowas funktionieren kann.
Mal was anderes: Warum nicht eine Schaltung an den Reset-Pin, die wie
ein externer Brown-Out arbeitet, aber so dimensioniert, dass sie den
Anforderungen entspricht, dürfte doch mit einem Transi und ein paar Rs
zu erschlagen sein? Werd ich mal bei Gelegenheit in den Simulator
klopfen...
Sven
Bei den Anforderungen geringster Stromverbrauch und Funktionsfähigkeit
bis 1.8 Volt runter wirst du große Schwierigkeiten haben, da was
diskretes mit ein paar Bauteilen zu bauen.
Doch, geht: Spannungsteiler mit 1..3,3Meg, über Diode 1N4148 an Basis
PNP Transistor, Emitter an Vcc, Kollektor über 10k an Reset-Pin, von
Reset-Pin 1meg parallel 1-10n an GND. Etwa 1µA im Stand-By bei 2,5V.
Schaltspannung wird über Spannungsteiler eingestellt, Diode verbessert
Schaltverhalten, 10k verhindert Kurzschluss bei Reset über
Programmieradapter, kann also entfallen, wenn kein ISP gewünscht. 1meg
an Reset zieht Pin auf GND, wenn Transistor nicht geschalten.
Funktioniert aber nur bei Tiny, weil Mega und andere einen
Reset-Pull-Up haben. Und hoffe, dass die angegebenen 8µA Input Leakage
Current nur für die normalen I/Os gelten, nicht für den Reset-Pin,
sonst ist es sinnlos.
Das Ganze klein aufbauen, kurze Leitungen, dürfte gut brummempfindlich
sein aufgrund der hochohmigen Rs.
Sven
Atmel hat auch irgendwo eine Application-Note, in der beschreiben sie
eine diskrete Resetschaltung, glaube aus drei oder vier Transitoren,
die extrem wenig Strom verbraucht.
Es ist wie immer: Den Stromverbrauch kann man durch erhöhten
Bauteileinsatz (und Hirnschmalz) fast beliebig klein machen.
Der Texas-Baustein ist sehr interessant.
Bei dem diskreten Lösungsansatz könnte es Probleme wegen langsamer
Übergänge geben, ich glaube, Reset hat kein Schmitt-Trigger-Eingang und
gewisse Signalsteilheiten werden benötigt. Leider steht nichts im Tiny12
Datenblatt zu drin. Ansonsten: So in der Art könnte man experimentieren,
ist schonmal ein guter Ansatz.
Hallo Sven
Ich bin auf der Suche nach einer diskreten Resetschaltung für einen MSP.
Einen Resetchip kann ich leider nicht verwenden, da meine Applikation
vom Power-up an Strombegrenzt ist und der Resetchip beim Aufstarten zu
viel Strom verbraucht.
Ich habe versucht deine beschrieben Schaltung:
>Doch, geht: Spannungsteiler mit 1..3,3Meg, über Diode 1N4148 an Basis>PNP Transistor, Emitter an Vcc, Kollektor über 10k an Reset-Pin, von>Reset-Pin 1meg parallel 1-10n an GND. Etwa 1µA im Stand-By bei 2,5V.
nachzuvollziehen (siehe Anhang), hat aber nach Simulation nicht
funktioniert.
Hab ich die Schaltung richtig interpretiert?
Gruss
Peter
>Ich bin auf der Suche nach einer diskreten Resetschaltung für einen MSP.
Völlig unnötig!
Aktuelle Typen mit BOR verwenden und alles ist in Butter!
Falls engere Toleranzgrenzen der Vcc zu überwachen sind, eventuell Typen
mit SVS einsetzen.
Man sollte die BOD grundsätzlich aktivieren. Sonst kann sich der
Controller auch beim Boot aufhängen, weil er mal ganz kurz in den
Zustand kommt, in dem er irgendwas macht.
>>>Man sollte die BOD grundsätzlich aktivieren.>>Wir reden hier über den MSP.>Nöö, es geht um Tiny12, siehe Eingangsposting.
Nö, eben nicht:
>Ich bin auf der Suche nach einer diskreten Resetschaltung für einen MSP.
Weil manche meinten so eine zusätzliche Brownout-Schaltung würde für
Knopfzell-Geräte recht viel fressen, ein kleine kleine Idee:
Solche Geräte sind meistens auf sehr lange Laufzeit ausgelegt,
ne Möglichkeit wäre somit vllt. nur jeden Tag einmal kurz die
Versorgungsspannung checken zu lassen.
Der nötige Stromverbrauch für einen derartigen Brownout-Check wäre
vernachlässigbar gering. (Wenn der Controller während der Pause(24h)
dieser Schaltung den Saft abdreht)