Forum: Mikrocontroller und Digitale Elektronik RTC mit Goldcap an Atmega644: Problem bzw. Fehler


von Patrick V. (patrick_v)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

ich habe mir eine Digitaluhr bzw. einen Wecker mit einem großen 
Grafikdisplay EA-DOGL 126-6 gebaut. Laufen tut Sie hervorragend.

Ich habe allerdings ein Problem mit der Spannungsversorgung. Ich hatte 
geplant, die Uhr bei Stromausfall weiterhin über den asynchronen RTC vom 
Atmega644 zu betreiben. Allerdings ist mir hier wohl ein Fehler im 
Design unterlaufen, wenn ich das richtig sehe.

Trenne ich die Schaltung von der Versorgungsspannung, fließen immer noch 
ca. 6mA vom Goldcap aus. Kann es sein, dass der Spannungsregler diese 
Strom über seinen internen Spannungsteiler verbraucht?


Zudem kann ich selbst im Extended Sleep Mode noch den Takt vom externen 
8Mhz mit dem Multimeter messen. Nach Datenblatt sollte dieser doch 
ausgeschaltet sein und nur der vom RTC noch laufen.

Anbei nochmal mein Testcode, um den AVR in den Sleep-Modus zu setzen.

Wäre euch sehr dankbar, wenn da wer eine Idee oder einen Denkanstoß 
hätte, woran es liegen könnte.

#include <avr/io.h>
#include <avr/sleep.h>
#include "port.h"
#include "timer.h"


//Intialisierung von Timer2 mit externem Uhrenquarz
void init_timer2(void)
{
  TCCR2A = (0<<WGM21) | (0<<WGM20);  //Normal operation
  TCCR2B = (0<<WGM22) | (1<<CS22) |   //normal port operation
      (0<<CS21) | (1<<CS20);   //Prescaler = 128, Overflow bei 1s

  ASSR =  (1<<AS2); //Asynchonous Timer clocked via external Crystal an 
TOSC1/2

  //Overflow Interrupt aktivieren
  TIMSK2 |= (1<<TOIE2);

  //Overflow Interrupt tritt jede Sekunde auf
}


//********************************************************************** 
*******************//
//Hauptprogramm
//********************************************************************** 
*******************//
int main (void)
{
  init_port();
  init_timer2();

  set_sleep_mode(SLEEP_MODE_EXT_STANDBY);
  sleep_enable();
  sleep_cpu();

  while(1)
  {
  }

  return 0;
}

von mr. mo (Gast)


Lesenswert?

spannungsregler mögen keine großen kapazitäten am ausgang. der strom der 
so gesehen falsch rum in den regler fließt macht diesen unter umständen 
kaputt. deshalb verbaut man meist auch freilaufdioden über den regler.

von Patrick V. (patrick_v)


Lesenswert?

Diesen Rückstrom unterbinde ich ja mit der Diode vor dem 
Spannungsregler. Zudem haben moderne Spannungsregler diese Rücklaufdiode 
parallel zum Spannungsregler schon integriert. Beim 1117 auch der Fall.

von Rolf P. (rolfp)


Lesenswert?

Den Sleep-Modus einschalten muss man innerhalb der while(1) Schlaufe. 
Sonst wird nach dem ersten Interrupt der Sleep-Modus nie wieder 
erreicht.

von Peter D. (peda)


Lesenswert?

Patrick V. schrieb:
> Diesen Rückstrom unterbinde ich ja mit der Diode vor dem
> Spannungsregler.

Nö, der Spannungsregler ist es, der keinen Rückstrom will.
Es stimmt ja dann kein Arbeitspunkt mehr und er kann sogar mehr Strom 
verbrauchen, als im regelnden Betrieb.



mr. mo schrieb:
> spannungsregler mögen keine großen kapazitäten am ausgang.

Nö, die kommen damit gut zurecht.
Müssen sie auch, denn viele Lasten wollen große Kapazitäten an ihrer 
VCC.
Wichtig ist nur, daß noch ein kleiner Keramik parallel liegt für die 
hohen Frequenzen.


Peter

von (prx) A. K. (prx)


Lesenswert?

Bei asynchronen Betrieb des Timers empfiehlt es sich, mal über die 
Registerbelegung hinaus ins Datasheet zu blicken. Da gibts ein paar 
Kleinigkeiten zu beachten, weshalb diesem Thema dort immerhin 2 Seiten 
gewidmet sind, darunter auch die Initialisierungssequenz.

von Marko ⚠. (mos6502) Benutzerseite Flattr this


Lesenswert?

Peter Dannegger schrieb:
> Wichtig ist nur, daß noch ein kleiner Keramik parallel liegt für die
> hohen Frequenzen.

Vorsicht! Viele Low Drop Regler fangen an zu schwingen, wenn der ESR des 
Ausgangskondensators einen bestimmten Wert unterschreitet. Bei diesen 
sind Elkos Pflicht und es darf kein Kerko vorhanden sein. Im 
Zweifelsfall Datenblatt lesen.

von (prx) A. K. (prx)


Lesenswert?

Eine Untergrenze für den ESR scheint der LT1117 nicht zu benötigen - 
aber das Datasheet hätte dennoch gerne einen anderen Kondensator am 
Ausgang. Die Schaltung hier sieht jedenfalls nicht so aus, als ob dabei 
das Datasheet Pate stand ("Normally, capacitor values on the order of 
100μF are used in the output of many regulators...").

Merke: Was dem 7805 gut steht kann einem LT1117 oder auch LM2940 sauer 
aufstossen, und auch LDOs sind sich über dieses Thema untereinander 
uneins. Ein Blick ins Datasheet ist durchaus empfehlenswert.

Was den Stromverbrauch angeht: Nun ja, meistens macht man die Diode 
dahinter, auch wenn man dadurch Spannung verliert. Auch wenn ein Regler 
durch Spannung "verkehrt" nicht unbedingt kaputt geht - direkt 
vorgesehen ist dieser Betrieb nicht und stromsparend muss er schon 
garnicht sein.

von Marko ⚠. (mos6502) Benutzerseite Flattr this


Lesenswert?

A. K. schrieb:
> Eine Untergrenze für den ESR scheint der LT1117 nicht zu benötigen

Tja, das kommt darauf an, welches Datenblatt man liest. Z.B. steht in 
dem von National:

"1.3 Output Capacitor
[...] The ESR of the output capacitor should range between 0.3Ω - 22Ω. 
In the case of the adjustable regulator, when the CADJ is used, a larger
output capacitance (22μf tantalum) is required."

Bei der Suche nach schwingenden Spannungsreglern bin ich gerade übrigens 
auf diesen interessanten Thread gestoßen:

Beitrag "USB-IDE Adapter - schwingender Spannungsregler"

von (prx) A. K. (prx)


Lesenswert?

Malignes Melanom schrieb:

> Tja, das kommt darauf an, welches Datenblatt man liest. Z.B. steht in
> dem von National:

Das ist ja auch kein LT1117, sondern ein LM1117. ;-)
Ich sag ja, die Dinger sind sich untereinander uneins.

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.