Forum: Mikrocontroller und Digitale Elektronik Problem mit PWM am Atmega32L


von Seba (Gast)


Lesenswert?

Ich benötige für meine Motorsteuerung 8khz PWM, leider hat mir das 
Tutorial nicht wirklichweitergeholfen also hoffe ich das mit einer von 
euch helfen kann.
Bisher bin ich soweit gekommen.
Mein Motor ist am AtmelaL am PB3 angeschlossen und setze ihn erst als 
Ausgang und schicke dann die Register (bitte nochmal überprüfen ob die 
stimmen, war mir da sehr unsicher..). Wie setze ich jetzt die gewünschte 
Frequent von 8khz.
Der Atmega32L ist auf 8Mhz intern getaktet.

void Motor1_initialisierung(void)
{
   DDRB = 0xff;
   TCCR0  = 
(1<<WGM01)|(1<<WGM00)|(1<<COM01)|(01<<COM00)|(1<<CS00)|(1<<CS02);
}
 Hoffe einger von euch kann mir das Wochenden retten ;)

von chris (Gast)


Lesenswert?

also meiner meinung nach ist PWM im tutorial so gut beschrieben wie fast 
kein anderes thema!!

http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#PWM_.28Pulsweitenmodulation.29

schönere Beschreibung wirst nirgends mehr finden, inkl Zeichnungen + 
Register


lg

von Dieter E. (netdieter) Benutzerseite


Lesenswert?

Versuch mal das:
void init_pwm_timer0 (){
  PORTD = (0 << PD6) | (1 << PD7);
  TCCR0  =
                (1 << WGM01)|(1 << WGM00)   //Fast PWM
                |(1 << COM01)|(0 << COM00)  //Set OC0 on compare match, 
clear OC0 at BOTTOM,
                |(0 << CS02) |(0 << CS01) |(1 << CS00); //clkI/O/(No 
prescaling)

}

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.