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

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.