Mit PWM motor ansteuern

Gast #1585932
Lesenswert?
• ▲
▼
Hallo,

Also ich würd gern mit PWM einen Motor ansteuern....
Habe mir eine einfache H-brücke zusammen gebaut und die jeweiligen 
tranistoren an das PIN OC1A und OC1B angeschlossen.
Wenn ich mich nicht irre muss ich den Timer1 dementsprechend aktivieren 
und mein Problem ist, wenn ich ja den Timer1 aktiviere wird OC1A und 
OC1B aktiviert. Wie kann ich es so programmieren das immer nur einer von 
den PWM-Ausgängen aktiv ist?? Weil wenn ich beide gleichzeitg auf "1" 
habe wird ein Kurzschluss verursacht....

Hier sind beide Ausgänge aktiv oder??

void init(void)
{
  TCCR1A = (1<<WGM10) | (1<<WGM11) | (1<<COM1A1);
  TCCR1B = (1<<CS10);
  OCR1A = 0xFF0F;
  OCR1B = 0xFF0F;
}

Danke im Vorraus
lg Karl
Gast #1586846
Lesenswert?
• ▲
▼
Also wenn ich dich richtig verstanden habe, möchtest du den Motor in 
beide Richtungen drehen lassen - dafür die H-Brücke.

Den Kurzschluss verhinderst du, indem du die COM - Register für jede 
Richtung extra einstellst. Du darfst sie natürlich nicht gleichzeitig 
(als Beispiel) auf "Clear on Compare Match" setzen. Genau dann entsteht 
der Kurzschluss. Das heißt wenn du Linkslauf steuern möchtest das eine 
Register auf (als Beispiel) "Clear on Compare Match" und das andere auf 
"Normal Port Operation". Für den Rechtslauf dementsprechend umgekehrt.

Ich hoffe, dass ich helfen konnte.


lg Torsten
Gast #1586895
Lesenswert?
• ▲
▼
Hm... ich versuche es mal.

Ich halte mich jetzt mal nicht an das Datenblatt!!!

Angenommen PA0 = OC1A (PWM-Signal Linkslauf)
           PA1 = OC1B (PWM-Signal Rechtslauf)
           PA2 = Durchschalttransistor Linkslauf
           PA3 = Durchschalttransistor Rechtslauf

Für den Linkslauf
-----------------

1. Schritt :  PA1 abschalten, also OC1B = "Normal Port Operation"
2. Schritt :  PA3 abschalten

Somit sind die Transistoren für den Rechtslauf abgeschaltet und der 
Stromfluss ist in eine einzige Richtung definiert.

3. Schritt :  PA2 einschalten
4. Schritt :  PA0 einschalten, also OC1A = "Clear on Compare Match"

Für den Rechtslauf musst du es eben andersherum machen.


lg Torsten
Gast #1586963
Lesenswert?
• ▲
▼
Karl schrieb:
> Wie kann ich es so programmieren das immer nur einer von
> den PWM-Ausgängen aktiv ist??



PWM Ausgang OC1A abschalten:
 TCCR1A = (1<<WGM10) | (1<<WGM11) | (0<<COM1A1|0<<COM1A0)

PWM Ausgang OC1A einschalten:
 TCCR1A = (1<<WGM10) | (1<<WGM11) | (1<<COM1A1 | 0<<COM1A0)


PWM Ausgang OC1B abschalten:
 TCCR1A = (1<<WGM10) | (1<<WGM11) | (0<<COM1B1 | 0<<COM1B0)

PWM Ausgang OC1B einschalten:
 TCCR1A = (1<<WGM10) | (1<<WGM11) | (1<<COM1B1 | 0<<COM1B0)


Übrigens kann kein C :-)
#1587173
Lesenswert?
• ▲
▼
Hier mal eine kleine Anregung.

Anmerkungen:

1. Es kann kein Kurzschluss durch fehlerhafte Ansteuerung entstehen.

2. Die unteren FETs werden nicht optimal angesteuert - evtl. also noch 
eine Treiberstufe erforderlich. Funktioniert aber auch so.

3. Bei einem Tastverhältnis von 50% steht der Motor.

4. Die Schaltung sollte nicht längere Zeit ohne Signal (PWM) sein, da 
irgendwann die Ladung im Bootstrap-Kondensator nachlässt und der obere 
Transistor hochohmig und somit heiß wird.

T: z.B. IRF720
D: z.B. 1N4007
C: z.B. 22uF 25V
R: ca. 1k

Die Betriebsspannung sollte die maximal zulässige Gate-Source-Spannung 
nicht überschreiten.


Gruß

Jobst
Angehängte Dateien:

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.