Zwei Motoren unabhänig über Timer1 - PWM

Gast #4763458
Lesenswert?

Hallo,

ich möchte gerne 2 Motoren unabhängig per PWM regeln und Drehrichtung 
ändern:

ich hab folgenen Code:

#define  MOTORB  PD4
#define  MOTORA  PD5

/* fpwm = F_CPU/(Prescaller*Obergrenze)*/
TCCR1A |= (1<<WGM11)|(1<<COM1A1)|(1<<COM1B1); /* Modus 14: Fast PWM mit 
beliebiger Schrittzahl (festgelegt durch ICR1) nicht 
Invertiert(COM1x1)*/
TCCR1B |= (1<<WGM13)|(1<<WGM12)|(1<<CS12) | (1<<CS10); /*(WGM13 und 
WGM12 gehören zu Modi auswahl) CS = Prescaler 1024*/

ICR1 = 31250;  /* Obergrenze */ /* Test Frequenz = 16MHz/(1024*31250) = 
0,5Hz = 2s Periodendauer*/

OCR1A = 31250/2; /* Einschaltzeit MOTORA 50%*/
OCR1B = 31250/3; /* Einschaltzeit MOTORB 33%*/

DDRD |= (1<<MOTORA)|(1<<MOTORB); /* MOTORA und MOTORB als Ausgang*/

das klappt auch super. hab die beiden andern Eingänge des Motors jetzt 
erstmal mit Masse verbunden so laufen beide unabhängig.

jetzt möchte ich auch die Drehrichtung ändern heißt ich müsste die 
beiden andern Eingänge jetzt auch am UC anschließen.

Jetzt sind ja ORC1A und ORC1B die PWM Ausgänge um die dreh Richtung zu 
ändern müsste ich ja die jetzigen PWM Ausgänge auf Masse ansteuern und 
die Masse Kanal die PWM bekommen.

Nur wie kann ich das bewerkstelligen.

Dachte es über Interrups für Overflow und Comp Match der beiden Motoren 
nur was passiert, wenn beide wenn beide Motoren die selbe Frequenz haben 
dann würden ja beide COMP Interrups gleichzeitig aufgerufen und das ist 
ja ein Problem oder?

oder gibt es dort bessere Lösungen?
#4763508
Lesenswert?

Also wenn Du die beiden anderen Eingänge der Motoren nicht auf Masse 
legst, sondern je ein Ausgang spendierst, kannst du die Drehrichtung 
ändern. Durch Änderung des Pegels an den zusätzlichen verwendeten 
Ausgängen.

Ich nehme jetzt mal bewust keine Rücksicht auf die Belastbarkeit der 
Ausgänge. Die sind normalerweise nicht für eine Motoransteuerung 
geeignet.


PWM ----- Motor1 ----- Ausgang(low) Drehrichtung links

PWM ----- Motor1 ----- Ausgang(high) Drehrichtung rechts

Du musst natürlich beim ändern der Drehrichtung auch das PWM Verhältnis 
umkehren.

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