Forum: Mikrocontroller und Digitale Elektronik Mikrocontroller bei abgesteckter Spannung zu ende arbeiten lassen


von Frank (Gast)


Lesenswert?

Guten Abend,
ich sende mit einem ATtiny45 Daten über ein 433Mhz-Modul. Zum einen 
Sende ich Daten beim Einschalten des Mikrocontroller und zum anderen 
möchte ich beim Ausschalten Daten Senden. Hier komme ich allerdings 
nicht weiter. Habe von der Spannung eine Verbindung zum INT0 und bei 
einer Fallenden Flanke rufe ich die ISR auf um die Daten zu senden. 
Allerdings funktioniert das ganze nicht. Ist auch klar, da wenn die 
Spannung wegfällt und die ISR aufgerufen wird, hat der Mikrocontroller 
und das Sendemodul natürlich auch keine Spannung mehr.
Gibt es eine Möglichkeit, eine Art Speicher zu erstellen, der so lange 
hält, bis die Daten gesendet worden sind?`Das Senden dauert ca. 0,5 
Sekunden. Habe schon gedacht (und auch probiert) einen Elko (100uF) 
zwischen Vcc und Gnd zu stecken, aber dadurch würde die ISR einfach auch 
nur später aufgerufen werden und es funktioniert immer noch nicht.

Frnak

von A. S. (Gast)


Lesenswert?

Diode von Spannungsversorgung zum Stütz-Kondensator.

Spannungsversorgung (über hochohmigen Widerstand) an den Eingang. (Ggf. 
über Transistor).

von Possetitjel (Gast)


Lesenswert?

Frank schrieb:

> Gibt es eine Möglichkeit, eine Art Speicher zu erstellen,
> der so lange hält, bis die Daten gesendet worden sind?

Klar.

> Das Senden dauert ca. 0,5 Sekunden. Habe schon gedacht
> (und auch probiert) einen Elko (100uF) zwischen Vcc und
> Gnd zu stecken,

Guter Ansatz.

> aber dadurch würde die ISR einfach auch nur später
> aufgerufen werden und es funktioniert immer noch nicht.

Du musst natuerlich das Triggersignal fuer die ISR extra
erzeugen. Dazu fuehrst Du die Betriebsspannung zuerst
an den Interrupteingang und von dort aus ueber eine
Schottky-Diode an Vcc und den Elko. Ggf. ist am
Interrupteingang ein Pull-down-Widerstand sinnvoll.

von Joe F. (easylife)


Lesenswert?

Possetitjel schrieb:
> Ggf. ist am Interrupteingang ein Pull-down-Widerstand sinnvoll

Das ist auf jeden Fall sinnvoll, denn eine Schottky hat einen nicht 
unerheblichen Leckstrom.

von Frank (Gast)


Angehängte Dateien:

Lesenswert?

Erst einmal danke für eure Antworten.
Ist die Schaltung so richtig aufgebaut?
Beim Ausschalten funktioniert es nämlich noch nicht. Evtl müsste ich 
einen größeren Kondensator nehmen? Wie viel Kapazität müsste dieser 
ungefähr haben?

Frank

von A. S. (Gast)


Lesenswert?

Wenn der Kondensator 2V einbrechen darf, dann etwa 1mF pro mA 
Stromverbrauch.

von Joe F. (easylife)


Lesenswert?

Frank schrieb:
> Beim Ausschalten funktioniert es nämlich noch nicht.

Wo hängt denn das 433 MHz Modul dran? Das braucht ja auch noch Saft...

von Noch einer (Gast)


Lesenswert?

> Wie viel Kapazität müsste dieser ungefähr haben?

Bei 1 Farad und 1 Ampere sinkt die Spannung um 1 Volt pro Sekunde.

Du musst zunächst heraussuchen, wie weit die Spannung absinken darf. 
Dann musst du herausfinden, wie viel Strom deine Teile brauchen.

Wahrscheinlich ergibt die Berechnung irrsinnig grosse Kondensatoren und 
du musst dir was anderes ausdenken. Z.B. ein 12V Netzteil und die 
Kondensatoren vor dem 5V Spannungsregler. Oder ein Step-Up/Down 
Spannungsregler, der auch noch 5V liefert, wenn die Kondensatoren auf 1V 
entladen sind.

von Wolfgang (Gast)


Lesenswert?

Noch einer schrieb:
> Du musst zunächst heraussuchen, wie weit die Spannung absinken darf.
> Dann musst du herausfinden, wie viel Strom deine Teile brauchen.

Wieviel Strom die Teile brauchen, ist ziemlich egal. Entscheidend ist 
die Ladung, die benötigt wird, um die Ausschaltmeldung noch abzusetzen.

von THOR (Gast)


Lesenswert?

"Mikrocontroller bei abgesteckter Spannung zu ende arbeiten lassen"

Das Wort dafür lautet übrigens "Nachlauf".

von Keller Im (Gast)


Lesenswert?

Meinst Du Ausschalten oder Stromausfall ?

Im ersten Fall genügt ein Taster, der die Senderoutine aufruft sendet
und danach die Stromversorgung abschaltet.

Der zweite Fall ist ein anderer Strumpf.

von Georg (Gast)


Lesenswert?

Frank schrieb:
> Evtl müsste ich
> einen größeren Kondensator nehmen? Wie viel Kapazität müsste dieser
> ungefähr haben?

Vermutlich einen viel grösseren. Schau doch mal nach, was der controller 
und v.a. was das HF-Modul braucht, dann kann man dir weiterhelfen. Die 
brauchen relativ viel Strom, und 0,5 s ist auch eine lange Zeit. Die 
üblichen Sachen wie wegspeichern von Daten brauchen nur ms.

Georg

von Wolfgang (Gast)


Lesenswert?

Frank schrieb:
> ich sende mit einem ATtiny45 Daten über ein 433Mhz-Modul. Zum einen
> Sende ich Daten beim Einschalten des Mikrocontroller und zum anderen
> möchte ich beim Ausschalten Daten Senden.

Selbst wenn es dir gelingt, die Daten noch zu senden, gibt dir das keine 
Sicherheit.
Bei Funk und gerade im 433MHz SRD-Bereich weisst du nicht, ob der 
Empfänger eine blind gesendete Ausschaltmeldung überhaupt zur Kenntnis 
nimmt. Bei einem Funkthermometer ist es egal, ob der Messwert mal nicht 
aktualisiert wird und bei der Funkfernbedienung drückt man eben noch 
mal. Aber für eine einmalig Ausschaltmeldung sieht das anders aus.

von Dietrich L. (dietrichl)


Lesenswert?

Frank schrieb:
> Ist die Schaltung so richtig aufgebaut?

Unabhängig von der schon angesprochenen Dimensionierung des 
Kondensators:
Du solltest noch einen Widerstand vor den I/O einbauen. Andernfalls kann 
der Strom über die Schutzdiode des I/O diesen Eingang zerstören.
Achim S. hatte diesen Widerstand aber auch schon erwähnt.

von A. S. (Gast)


Lesenswert?

Wolfgang schrieb:
> Wieviel Strom die Teile brauchen, ist ziemlich egal. Entscheidend ist
> die Ladung, die benötigt wird, um die Ausschaltmeldung noch abzusetzen.

Naja, und die Ladung muss so groß sein, dass bei gegebenenm Strom und 
Zeit (0,5s) die Spannung nicht zu weit einbricht. Und die Formeln 
hierfür ergeben halt die 1000µF pro mA I bei 2V Delta U.

von Dietrich L. (dietrichl)


Lesenswert?

Achim S. schrieb:
> Naja, und die Ladung muss so groß sein, dass bei gegebenenm Strom und
> Zeit (0,5s) die Spannung nicht zu weit einbricht. Und die Formeln
> hierfür ergeben halt die 1000µF pro mA I bei 2V Delta U.

Ich komme auf 250µF:
C = Q / U = (I * t) / U = (0,001A * 0,5s) / 2V = 250µF

von Conny G. (conny_g)


Lesenswert?

Probiere es doch einfach aus mit verschiedenen C wielange die Schaltung 
läuft. Muss man doch jetzt keine Wissenschaft draus machen.

So ein Funkmodul braucht wenige 10ma, sagen wir mal mit Prozessor 30mA.
Sagen wir es überträgt noch 50 Bytes mit 1.200 Baud, das sind 0,05 
Sekunden. Nehmen wir an die Schaltung läuft mit 5V und geht auch noch 
mit 4V.
Nach der genannten Formel 1mF pro mA pro Sekunde und V brauchen wir 
30x0,05 = 1500uF.

Evtl kann man auch den Spannungsabfall schon früher feststellen und 
schon während des abfallens senden, dann kann der C auch noch etwas 
kleiner sein.
Da müsste man einen Komparator oder Opamp und eine 
Spannungsreferenz/Spannungsteiler nutzen, den Abfall bei 4,5V bereits 
feststellen.
Damit nutzt man die C des Netzteil dann mit.

Aber vermutlich ist es billiger und einfacher einen oder mehrere Cs 
einzubauen, 2x 1000uF oder 4x 470 oder so.

von Wolfgang (Gast)


Lesenswert?

Achim S. schrieb:
> Naja, und die Ladung muss so groß sein, dass bei gegebenenm Strom und
> Zeit (0,5s) die Spannung nicht zu weit einbricht. Und die Formeln
> hierfür ergeben halt die 1000µF pro mA I bei 2V Delta U.

Eben, dafür musst du die mittlere Stromaufnahme erstmal wissen, d.h. das 
komplette Stromprofil für die Nachlaufzeit bestimmem.

Und wie bestimmt diesen Strommittelwert?
Man integriert über die Zeit und teil durch eben die Integrationszeit.

Genau die Integration kann ein Kondensator bestens übernehmen. Man lädt 
einen großzügig dimensionierten Kondensator auf und guckt an, wie weit 
er sich entladen hat, bis die Daten raus sind. Ohne sich dann überhaupt 
um die Zeit zu kümmern und irgend welche Mittelwertschätzereien über das 
Stromprofil zu veranstalten, ergibt sich die Ladung aus Kapazität und 
Spannungsabnahme. Wenn man nun die Ladung weiss, kann man den 
endgültigen Kondensator so dimensionieren, dass am Ende der Aussendung 
noch ausreichen Betriebsspannung vorhanden ist.

Bei Verwendung eines Senders, dessen Leistung von der Betriebsspannung 
abhängt, ist es, wie schon vorgeschlagen, eventuell sogar günstig, den 
Kondensator vor einem Spannungsregler zu plazieren, damit die 
Sendeleistung über die Dauer des Datentelegramms nicht absackt.

von Conny G. (conny_g)


Lesenswert?

Ihr macht da alle eine Riesenwissenschaft draus.
Der soll mal 2000uF dranhängen und fertig.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> Ihr macht da alle eine Riesenwissenschaft draus.
> Der soll mal 2000uF dranhängen und fertig.

L.O.L.
JA!

Ich haette aber eher zu 10 mF tendiert.
Die gibt es ja fuer 6.3V auch in sehr handlich.

von Ganz-meiner-Meinung (Gast)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4985141:
> L.O.L.
> JA!
>
> Ich haette aber eher zu 10 mF tendiert.
> Die gibt es ja fuer 6.3V auch in sehr handlich.

Im postfaktischen Zeitalter wird gemacht und nicht gedacht

von Noch einer (Gast)


Lesenswert?

> Im postfaktischen Zeitalter wird gemacht und nicht gedacht

Umgekehrt.

Isaak Newton sagte - das Experiment hat immer recht. Wenn du was anderes 
denkst, sind deine Überlegungen falsch.

Damit begann das Zeitalter der Fakten.

von Ganz-meiner-Meinung (Gast)


Lesenswert?

Noch einer schrieb:
> Isaak Newton sagte - das Experiment hat immer recht.

Und wer bestreitet das? Nur jemand der jegliche Fakten ignoriert.

Auch mit einem beliebig überdimensionierten Kondensator wird es 
natürlich immer funktionieren.

Die Frage an das Experiment ist hier aber eine andere.

Ein Punkt war die Frage nach der Mindestgröße eines Kondensators, 
damit die Aussendung noch funktioniert und ob man mit den genannten 
100µF hoffnungslos daneben liegt.

von THOR (Gast)


Lesenswert?

Noch einer schrieb:
> Isaak Newton sagte - das Experiment hat immer recht. Wenn du was anderes
> denkst, sind deine Überlegungen falsch.

Das Experiment kann auch falsch sein, also nicht zu den Überlegungen 
passen. Und schon haben wir das Grundproblem der Wissenschaft, zu wenige 
Gleichungen mit zu vielen Unbekannten.

von (º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· (Gast)


Lesenswert?

> ob man mit den genannten 100µF hoffnungslos daneben liegt.

Davon kann Mann wohl ausgehen.

von Frank (Gast)


Lesenswert?

Joe F. schrieb:
> Wo hängt denn das 433 MHz Modul dran? Das braucht ja auch noch Saft...

Den hatte ich ebenfalls am Kondensator drangehängt.

THOR schrieb:
> "Mikrocontroller bei abgesteckter Spannung zu ende arbeiten lassen"
>
> Das Wort dafür lautet übrigens "Nachlauf".

Super, Danke.


Ich habe jetzt 1000uF dran gehangen und es funktioniert ganz gut. Sogar 
eine LED während des Sendens kann ich noch aufleuchten lassen.
Ich danke euch für eure hilfe.

von Ganz-meiner-Meinung (Gast)


Lesenswert?

(º°)·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.·´¯`·.¸¸.· schrieb im Beitrag 
#4985202:
> Davon kann Mann wohl ausgehen.

Mann hat das Problem aber gar nicht, der diskutiert hier nicht mit.

Und natürlich kommt es auch auf die Übertragungsgeschwindigkeit, das 
Übertragungsprotokoll, die Datenmenge und die Latenz des Programms drauf 
an. Die Parameter kennt hier aber keiner. Also müssen die Tips 
naturgemäß allgemeiner Natur bleiben.

von Sebastian S. (amateur)


Lesenswert?

Das Grundkonzept lässt sich relativ einfach umreißen:
Zwei Versorgungszweige
a) Nur die CPU und der Sender
b) Alles andere. Dabei unterstelle ich mal, dass Deine Schaltung
   irgend etwas macht;) Messsensoren; Die beliebten LEDs; usw.
 - Die zwei Zweige müssen getrennt sein. Am Besten durch eine Diode mit
   geringem Durchlasswiderstand (Schottky oder so).
 - Die Größe des Stützkondensators oder besser HiCap hängt natürlich vom
   Verbrauch des Senders und der CPU ab. Weshalb Dir hier auch keiner in
   diesem Punkt helfen kann.
 - Eine "Erkennung" wann die Spannung ausgefallen ist. Ist nicht ganz
   einfach, da man ja nicht erst den "halben" Stützkondensator
   leersaugen will, bevor man auf die sichere Seite wechselt. Allerdings
   soll natürlich auch Sichergestellt sein, dass die Peripherie oder die
   CPU schon Amok laufen.
   Darüber hinaus sollte bei unruhigen Verhältnissen nicht zweimal
   Schluss gemacht werden.
   Schön wäre es auch, wenn beim Einschalten nicht schon in den Notmodus
   gegangen würde. Der Stützkondensator (bzw. die Spannung in diesem
   Zweig) führt zu diesem Zeit ein interessantes Eigenleben.

von PittyJ (Gast)


Lesenswert?

Warum nicht ein anderes Konzept?
Warum muss das Gerät eigentlich etwas Senden, wenn es ausfällt? Hätte 
man das nicht schon früher machen können? Etwas bei Änderungen, oder 
zyklisch alle n Sekunden.
Dann weiss die Gegenstelle nach n+1 Sekunden: das Gerät ist aus, hat 
aber trotzdem vorher schon alle Daten übertragen.

So ein Konzept ist vielleicht einfacher als die ganze 
Kondensator-Geschichte.

von PittyJ (Gast)


Lesenswert?

Nachtrag:
Ich sichere wichtige Daten beim Herunterfahren im EEprom. Das geht 
schneller. Danach kann man die Daten beim Neustart verschicken.

von Conny G. (conny_g)


Lesenswert?

Frank schrieb:
>
>
> Ich habe jetzt 1000uF dran gehangen und es funktioniert ganz gut. Sogar
> eine LED während des Sendens kann ich noch aufleuchten lassen.
> Ich danke euch für eure hilfe.

So ist es recht.

von Joe F. (easylife)


Lesenswert?

"Viel hilft viel" stimmt dann doch ab und zu mal... ;-)

Als Alternative wollte ich noch vorschlagen einfach im Betrieb 
regelmäßig (z.B. alle 5-10 Sek) zu senden. Wenn das Signal dann länger 
als sagen wir mal 2 Perioden ausbleibt, kann der Empfänger davon 
ausgehen, dass der Sender ausgeschaltet wurde.
Kommt halt auf die Anwendung an, ob das praktikabel ist.

von Manfred (Gast)


Lesenswert?

Ich halte den Ansatz mit dem Pufferelko für äußerst fragwürdig. In 
diversen Threads wurde schon mehrfach der AVR-Transistortester erwähnt, 
der sich seine Versorgung selbst abschaltet, wenn er fertig ist.

Anstatt eines Schalters gibt es dann eben zwei Taster für Ein und Aus, 
der µC sendet seine Daten und klemmt sich dann selbst ab.

von Keller Im (Gast)


Lesenswert?

Wenn von den 1000uF nur noch 500 übrig bleiben,
dann reicht es nicht mehr für die komplette Sendung...

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
Noch kein Account? Hier anmelden.