mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Datenerhalt bei Spannungseinbruch


Autor: Martin Parr (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Guten Tag liebe Forumbesucher,

ich habe ein Problem. Ich habe auch schon das Forum durchsucht und auch 
einige Threads gefunden, die meinem Problem änhlich sind. Trotzdem 
wollte ich noch einmal das Problem hier angehen.

Bei einem AT90CAN128 sollen Daten aus dem RAM bei Spannungsausfall ins 
EEPROM gesichert werden. Nach Recherche hier im Forum habe ich mich für 
die Variante mit Stützkondensator entschieden (siehe Anhang).

1) Ich habe die Schottky-Diode (D10) eingesetzt, damit der 
Stützkondensator C5 nicht auch den ADC7 PIN stützt. Denn der soll ja den 
Spannungsausfall detektieren. Ist das so prinzipiell korrekt? Kann der 
Spannungsabfall an der Diode (0,2-0,3V) zum Problem werden?

2) Der Diodenabfall ist eh ein Problem für mich, denn ich hätte schon 
gern 5V für die Schaltung, da diese Spannung (dann ja nur 4,8V) auch die 
Vergleichsspannung für den ADC festlegt! sollte ich vielleicht einen 
"5,2V" Spannungsregler nehmen?

3) Hat jemand eine andere Schaltungsidee mit Stützkondensator? Eine 
Batterie ist nicht umsetzbar, da in der Aufgabenstellung lediglich ein 
Netzteil vorgesehen ist.

4) Könnte die Größe des Kondensator (--> Einschaltstrom) irgendwann ein 
Problem werden ? Kennt jemand Möglichkeiten zur Begrenzung?

Falls jemand für eine oder mehrere Fragen Tipps geben könnte, wäre ich 
froh:)
viele Grüße, Martin

Autor: Severino R. (severino)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Warum misst Du die Spannung nicht VOR dem Spannungsregler?
So brauchst Du keine Diode, hast keinen Spannungsabfall, hast eine 
korrekte Referenz für den AD-Wandler.

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die Messpannung noch vor dem Gleichrichter abgreifen.
Diode als Einweggleichrichter, kleiner Kondensator zur Glättung,
Zenerdiode samt Vorwiderstand zum Einstellen
bzw. Begrenzung dieser Hilfsspannung und ein Widerstand um
die Spannung zu belasten. Dann ab damit an einen µC Pin.
Muss noch nicht mal ein analoger Eingang sein.
Fällt die Versorgungsspannung aus, lutscht der Belastungswiderstand
den Kondi leer, während der 100µF im Hauptzweig den µC noch eine
zeitlang versorgt.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anstatt ständig den ADC zu samplen, würde ich den in der Zeichnung als 
ADC7 gekennzeichneten Pfad einfach zusammen mit den 4.8 VDC hinter der 
Schottky auf den ADV-internen Comparator legen und einen Interrupt 
auslösen, wenn die Betriebsspannung unter die besagten 4.8 VDC fällt. 
Das Retten des Speichers kannst Du dann in der ISR machen und bist dort 
gleichzeitig vor unerwünschten Interrupts sicher...

Autor: Thomas B. (owz)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Nur so zur Info bei unseren aktuellen Projekten stüzen wir nicht mehr 
den RAM sondern legen wichtige Daten in einen externen FRAM ab. Hat den 
Vorteil dass die Spannung sogar beliebig lange Ausfallen kann. Bisher 
hatten wir mit einer Goldcap nur rund 4-8h.
Schau mal bei http://www.ramtron.com/
Die Steine kriegt mer z.B. bei farnell.

MfG Owz

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Diode zwischen Gleichrichtung und Siebung. Reihenwiderstand und 
Z-Diode auf einen externen Interrupt. Kommt nach 10ms kein Int, sofort 
speichern.

MW

Autor: Sebastian Eckert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein kleiner Widerstand vor dem Kondensator entschärft den Einschaltrom. 
Es dauert dann halt nur etwas länger, bis der Kondensator voll geladen 
ist.
Ich würde den Spannungseinbruch nicht mit dem ADC erfassen, sondern mit 
einem Komparator, das geht schneller, und Zeit kann hier entscheidend 
sein.

Autor: Wolfram Quehl (quehl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich weiß nicht so recht, ob die Zeit für das Speichern auf EEPROM 
reicht. datenblatt lesen und Anzahl Bytes festlegen, die gesichert 
werden sollen.
Ich hätte da doch Bedenken.

Fram sind zwar schöne Bausteine, aber parallel werden zu viel Pins 
benötigt und seriell ist das ein Soic Gehäuse, nicht gerade hobby 
gehäuse.

mfg

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Wolfram Quehl (quehl)

>Fram sind zwar schöne Bausteine, aber parallel werden zu viel Pins
>benötigt und seriell ist das ein Soic Gehäuse, nicht gerade hobby
>gehäuse.

SOIC kein Hobbygehäuse? Bei 1,27mm Pitch? Bist du Holzfäller?

MfG
Falk

Autor: Wolfram Quehl (quehl)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich habe noch nirgends eine Leiterplatte mit 1,27mm pitch gesehen und 
ein Steckbord auch nicht. Mit der Herstellung von geätzten Leiterplatten 
habe ich keine Erfahrung. Bin da nicht rangegangen, weil das durch 
Stehen schlecht wird und ich nicht viele Platten mache.

mfg

Autor: Unbekannter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Direkt von einem Pin am Trafo über einen Widerstand von ca. 47 kOhm 
(oder mehr) auf ein Pin am Mikrocontroller. Die internen Clamping-Dioden 
des AVR reichen da locker.

Falls man keine weiteren Verbraucher auf der 5-Volt-Seite hat, so dass 
Strom über die 47k die 5 Volt ansteigen lassen kann, eben einen 
entsprechenden Widerstand noch von Vcc nach GND einsetzen, dann ist es 
Dau-Proof, egal ob der Controller aktiv ist oder im Power-Down-Mode ist.

Autor: Martin Parr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Antworten,

Der Tipp mit dem Komparator macht absolut Sinn.  Denn: warum noch 
ADC-Wandlung ??

Zu den Tipps mit dem Abgreifen der Spannung vor dem Spannungsregler:

Das macht Sinn. Zumindest brauche ich dann keine Diode mehr hinten dran 
und hätte 5V als Versorgung. Jedoch: Prüfe ich ja nicht mehr direkt am 
uC! (ok, die Diode hinten kann auch kaputt gehen :) ). Aber vielleicht 
ist das ja nicht notwendig.

Zur Speicherzeit: Laut Datenblatt 8,5 ms/byte. bei 500Byte sind das etwa 
5s, die man einplanen sollte. Ich denke, dass sollte doch mit Goldcaps 
machbar sein. Jedenfalls bei 8Mhz Taktung ist es wohl kein Problem. Bei 
16Mhz und dem damit verbundenen höheren Strom (29mA bei 5V), der in den 
uC fließt - komme ich auf einen Innenwiderstand des uC von circa 17Ohm. 
Bei einem Innenwiderstand der Goldcaps von 30 Ohm und müsste ich ja 
schon etwa 5,3 V aus dem Goldcap kriegen um 4,5 V (minimale Spannung bei 
16Mhz laut Datenblatt) an den uC zu bekommen (Spannungsteiler). Einzige 
Möglichkeit wäre da geringerer ESR, oder? Gibt es sowas aber bei 
Goldcaps ??? Die Elkos werden ja total groß und teuer und so ... mmh ??

Vielen Dank an Euch

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin Parr (Gast)

>Zur Speicherzeit: Laut Datenblatt 8,5 ms/byte. bei 500Byte sind das etwa
>5s, die man einplanen sollte. Ich denke, dass sollte doch mit Goldcaps

Das ist eine EWIGKEIT, da kann vieles passieren. Sowas speichert man auf 
jeden Fall im Page Mode, dann kann man bei gleicher Zeit von 8,5ms je 
nach Typ 8..32 Byte schreiben, was die Speicherzeit um den Faktor 8..32 
verringert!

>machbar sein. Jedenfalls bei 8Mhz Taktung ist es wohl kein Problem.

Das Problem ist das relativ langsame Speichern des EEPROMs, weniger die 
Datenübertragung zum EPROM.

>uC fließt - komme ich auf einen Innenwiderstand des uC von circa 17Ohm.

???

>Goldcaps ??? Die Elkos werden ja total groß und teuer und so ... mmh ??

Deswegem muss man schlicht schneller speichern, bzw. VOR dem 
Spanungsregler einen Elko dranmachen, der 1..X Volt Spannung verlieren 
darf, eher die Spannung NACH dem Spannungsregler kritisch wird. Deshalb 
die Diode und Spannungsmessung mit Comparator und Interrupt VOR der 
Diode!
Und wer grosse Datenmengen in 10ms speichern will, dafür git es 
spezielle SRAM/EEROM ICs, die können den GESAMTEN Speicher (mehrere 
KByte!) parallel in 10ms speichern.

MFG
Falk

Autor: Martin Parr (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist eine EWIGKEIT, da kann vieles passieren. Sowas speichert man auf
>jeden Fall im Page Mode, dann kann man bei gleicher Zeit von 8,5ms je
>nach Typ 8..32 Byte schreiben, was die Speicherzeit um den Faktor 8..32
>verringert!

Danke für den Hinweis! :)

>uC fließt - komme ich auf einen Innenwiderstand des uC von circa 17Ohm.

Laut Datenblatt (Seite 367) zieht der uC bei 16Mhz Taktung bei 5V genau 
29mA. Ich habe jetzt einfach 5V/29mA gerechnet. Ich bin jetzt nicht der 
Elektronik-Guru, aber ist das nicht so ungefähr? R=U/I. Oder habe ich 
einen Denkfehler? Wenn bei 5V genau 29mA fließen, dann ist doch der 
Widerstand genau 5V/29mA = 172,4 Ohm ?

>>machbar sein. Jedenfalls bei 8Mhz Taktung ist es wohl kein Problem.

>Das Problem ist das relativ langsame Speichern des EEPROMs, weniger die
>Datenübertragung zum EPROM.

Das meinte ich so: Laut Datenblatt beträgt die minimale 
Versorgungsspannung bei 16Mhz 4,5 V . Bei 8Mhz sind bereits 2,7V 
Versorgung ausreichend. (siehe Anhang). Wenn ich mir jetzt den 
Kondensator vorstelle mit Ersatzserienwiderstand und dazu in Reihe den 
Mikrocontroller, dann habe ich doch folgendes, oder?
           ___       ___
---||--A--|____|--B--|____|----|
   C       ESR        Ruc    Masse

Der Mikrocontroller zieht bei 5V ungefähr 29mA -->170 Ohm. Der ESR ist 
30hm. Ist das nicht ein normaler Spannungsteiler ? Wenn jetzt bei 16Mhz 
4,5V an Punkt B anliegen müssen, dann müssten doch an A nach dem 
Spannungsteilergesetzt ungefähr 5,3V anliegen ( ((170+30)/170)*4,5 ), um 
das zu erfüllen, oder? Und das geht ja nicht, da es höchstens 5V sind.
Bei 18Ohm sieht die Sache schon wieder anders aus. Da fleißen nur noch 
15mA bei 5V (bei 2,7V sind es noch weniger), wodurch sich der ESR nicht 
so bemerkbar macht.

>Deshalb die Diode und Spannungsmessung mit Comparator und Interrupt VOR >der 
Diode!

Das verstehe nicht so ganz :(

p.s. ich muss dazu sagen, ich bin nicht der elektronik-papst. ;)

Autor: Martin Parr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Bei 18Ohm sieht die Sache schon wieder anders aus.

sorry ich meinte: Bei 8Mhz sieht die Sache schon wieder anders aus:)

Autor: Andreas K. (a-k)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ich habe noch nirgends eine Leiterplatte mit 1,27mm pitch gesehen

Gibt's bei ebay, aber auch Conrad und Reichelt hat sowas.

Und es gibt recht günstige Platinchen, die in ein DIL8-Sockel passen und 
wo man ein SO8 drauflöten kann, u.A. bei elk-tronic und auch wieder 
ebay.

Und ausserdem gibt es FRAMs auch in DIL8 (z.B. bei tme.eu).

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Martin Parr (Gast)

>Laut Datenblatt (Seite 367) zieht der uC bei 16Mhz Taktung bei 5V genau
>29mA. Ich habe jetzt einfach 5V/29mA gerechnet. Ich bin jetzt nicht der
>Elektronik-Guru, aber ist das nicht so ungefähr? R=U/I. Oder habe ich
>einen Denkfehler? Wenn bei 5V genau 29mA fließen, dann ist doch der
>Widerstand genau 5V/29mA = 172,4 Ohm ?

Die Rechnung ist richtig, die Formulierung weniger. Von einem 
Innenwiderstand spricht man eher bei Ein- und Ausgängen, auch bei 
Ausgangswiderständen von Stromversorgungen, nicht aber bei der 
Stromaufnahme von ICs.

>Der Mikrocontroller zieht bei 5V ungefähr 29mA -->170 Ohm. Der ESR ist
>30hm. Ist das nicht ein normaler Spannungsteiler ?

Mehr oder weniger. Aber du willst nicht wirklich sowas bauen, das hängt 
mit dem Goldcap am seidenen Faden, die können nur sehr wenig Strom 
liefern. Auf die 30 Ohm würde ich mich nur sehr ungern verlassen wollen.

>>Deshalb die Diode und Spannungsmessung mit Comparator und Interrupt VOR >der
>>Diode!

>Das verstehe nicht so ganz :(

OK, bezogen auf deinen Schaltplan. D10 ist überflüssig, d) in der 
Schaltung auch, C5 viel zu gross (unnötig). Mach lieber C1 grösser. Wenn 
jetzt dein Gleichrichter beispielsweis 12V Effektivspannung liefert, hat 
C1 in etwa 12V. Der 7805 arbeitet aber bis ca. 7V noch brauchbar. D.h., 
wenn der Strom ausfällt kann C1 noch eine kurze Zeit Strom liefern, bis 
die Spannung über C1 auf 7V abgefallen ist, das sind 5 V Differenz. 
Nehmen wir an, deine Schaltung zieht 50mA und C1 ist 1000uF gross.

C = As/ V (Kapazität des Kondensators)

s= V*C/A = 5V * 1000uF / 50mA = 100ms.

Wenn du nun über einen Spannungsteiler die Spannung an C1 misst und 
bei ca. 11,5V einen Interrupt per Komparator auslöst, dann hast du 100ms 
Zeit, deine Daten zu retten, vielleicht ein wenig mehr.
>p.s. ich muss dazu sagen, ich bin nicht der elektronik-papst. ;)

Wer ist das schon? Und wer will das sein? Ich nicht! Kardinal reicht. Du 
darfst mich mit "Eure Eminenz" ansprechen ;-)

MFG
Falk

Autor: Gast0815 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das ist eine EWIGKEIT, da kann vieles passieren. Sowas speichert man auf
>jeden Fall im Page Mode, dann kann man bei gleicher Zeit von 8,5ms je
>nach Typ 8..32 Byte schreiben, was die Speicherzeit um den Faktor 8..32
>verringert!

Gibt es denn beim AT90CAN128 einen Page Mode ???

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.