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
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.
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.
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...
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
Eine Diode zwischen Gleichrichtung und Siebung. Reihenwiderstand und Z-Diode auf einen externen Interrupt. Kommt nach 10ms kein Int, sofort speichern. MW
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.
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
@ 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
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
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.
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
@ 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
>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. ;)
>Bei 18Ohm sieht die Sache schon wieder anders aus.
sorry ich meinte: Bei 8Mhz sieht die Sache schon wieder anders aus:)
> 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).
@ 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
>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 ???
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.