PWM-Modus und ADC bei ATTtiny 26

Gast #34455
Hallo.

Ich hoffe, daß mir hier jemand mit nützlichen Tips bei meinen Problemen 
weiterhelfen kann.

Ich benutze den Attiny26 und benutze den Timer/Counter1 im PWM-Mode.Ich 
habe bisher nur ein PWM-Signal (OC1A) und das invertierte (^OC1A) 
benötigt. Diese beiden Signale brauche ich für meine MosFET's in meinem 
DCDC-Wandler. Nun brauche ich aber für meine Ladungspume, welche den 
Verpolschutz ansteuert noch ein getaktetes Signal. Darum wollte ich auch 
noch den zweiten PWM des Attiny's benutzen. Dafür habe ich das Bit 
COM1B1 und PWM1B im Register TCCR1A gesetzt und auch das Register OCR1B 
mit dem passenden Wert geladen. Eigentlich sollten jetzt an meinen Pins 
PB0, PB1 und PB3 drei PWM_Signale anliegen. Leider kann ich  aber 
weiterhin nur die Signale an PB0 und PB1 sehen.

Wo liegt mein Fehler? Ist es überhaupt möglich beide PWM-Register 
gleichzeitig zu nutzen?


Desweiteren hab ich eine Frage bezüglich des ADC. Bisher lese ich nur 
einen Wert mittels Interrupt  ein. Nun muß ich aber 5 verschiedene 
Spannungswerte einlesen. Der Attiny bietet zwar 11 ADC-Eingänge, aber es 
gibt ja nur einen ADC-Interrupt. Wie würdet Ihr dieses Problem lösen. 
Ich habe mir überlegt den ADC im Free-Running-Mode zu betreiben und dann 
die Eingänge im Polling abzufragen. Gibt es vielleicht eine bessere 
Lösung?


Als letztes noch der Code für die PWM:

;*** Initialisierung Timer/Counter1 -> PWM ***

  ldi temp, 0b01100011 ;Com1A0, PWM1A, PWM1B set
                             ;=>  OC1A (^PB0,PB1)
  out TCCR1A, temp

  ldi temp, 0b00000011 ;CS11, CS10 set => PCK/4
   out TCCR1B, temp

  ldi temp, 0b10011111; ;Timer/Counter Prescale
                              ;=> OCR1C=159d => 100kHz
  out OCR1C, temp

  ldi temp, 0b01100100  ;compare register
  out OCR1A, temp

  ldi temp, 0b01100100
  out OCR1B, temp


Ich weiß, das waren jetzt viele Fragen, aber trotzdem hoffe ich, daß 
vielleicht einer von Euch einen guten Tip für mich hat dieses Problem zu 
lösen.

Danke schon im voraus (allein fürs lesen)

MfG

Ralf

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.