AVR450 Lader

Gast #308914
Lesenswert?
• ▲
▼
Hi,

ich versuche mich gerade an der App.-Note 450 von Atmel.
Ich nutze den ATmega32(16MHz). PWM habe ich auf 15.625kHz eingestellt,
also 10Bit Fast-PWM.

Nur bei der Rouutine Stop_PWM, wie in der App.-Note, bleibt das
Programm stehen.

void Stop_PWM(void)
  {
  if((TCCR1A & (1<<CS10)) && OCR1A!=0)
    {
    if(OCR1A==1)
      {
      while(TCNT1>2);
      while(TCNT1<2);
      }
    else
      {
      while(TCNT1 > OCR1A);
      while(OCR1A > TCNT1); <-- hier hängt er im Simulator
      }
      TCCR1A=0x00;
    }
  }

Festgestellt habe ich im Simulator, das der Wert von TCNT1 niemals 3FF
erreicht, aber warum?

Mfg Sascha
#308919
Lesenswert?
• ▲
▼
Hallo,

auf

http://www.seattlerobotics.org/encoder/200210/lithiumion.htm

ist auch ne Beispielschaltung aus der AVR450 Appnote.
Allerdings nur speziell für LiIon Akkus. Das Problem ist aber die
alte Version des Quellcodes, der sich mir dem aktuellen WinAVR nicht
compilieren lässt (andere includedateien, Portzuweisungen,
Interrupts...).
@ Sascha: vllt. findest Du ja dort ein paar Infos zu deiner PWM
Routine.

@all: Hat denn niemand ne lauffähige (aktuelle) Version des
Projektes??
Hardwaremäßig binn ich nämlich schon fertig, nur mit der
Implementierung der Software hapert es noch ein wenig.
Wäre nett wenn hier jemand sein Projekt veröffentlichen könnte!

Gruß,

Stefan
Gast #308920
Lesenswert?
• ▲
▼
Hi,

@Stefan S. (SH81)

das Problem liegt bei dem Source, das er wohl unter Codevision progr.
ist und nicht unter WinAVR. Den Link von dir kenne ich leider schon,
die Stop_PWM Routine ist im Prinzip identisch. Nur halt ein anderer
Controller, statt Atmega8, Atmega32.  Er gibt dem Kind nur nen anderen
Namen: #define OC_REG_1             OCR1A  :)
Bringt mir also leider auch nichts. Sobald der OCR-Wert gleich 0x3FF
ist, bleibt die Routine hängen. Ist bestimmt toll, wenn der µC den
Strom mit dem Wert 0x3FF regelt und er dann nicht mehr abschalten kann.
Akku macht dann puff.........

Mfg Sascha
#308923
Lesenswert?
• ▲
▼
N'Abend,

ich habe nochmal ein paar Fragen an Euch, nachdem ich die Appnote
überflogen habe:

Pi mal Daumen - wieviel Platz im Flash würden die Routinen aus der
Appnote kombiniert benötigen? In der Appnote steht zwar was von <1,5K,
aber demnach ja nur für ein bestimmtes Ladeszenario..und das kann ja
nicht Sinn eines Universalladers sein.

Gibt es eigentlich noch andere AVRs, die wie der tiny15 und 26 so ein
100kHz PWM und interne Verstärkung für ADC haben? Schön wäre auch die
passende Menge Flash und ein Hardware Uart :-)
Aber vermutlich verwendet Ihr nicht ohne Grund Fast PWM

Was benutzt Ihr für Widerstände zur Strommessung?

Danke schonmal!
Gast #308924
Lesenswert?
• ▲
▼
@Sascha:

Vielleicht könntest Du den kompletten Code posten,
dann könnte man auch nach einem fehler suchen.....
So ist es ja nur die Stop routine die man einsehen kann.
Das ist wie ein suchen im Heuhaufen...

Gruß Sven

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren