Portausgänge mit PWM überlagern

Gast #881894
Lesenswert?
• ▲
▼
Hallo,

ich benötige 6 Ports zur Ansteuerung einer B6 Brücke.
Diese müssen auch eine PWM ausgeben können.

Da es kaum Controller gibt, die sowiele PWM Ausgänge besitzen und da sie 
auch nicht unabhängig voneinander einstellbar sein müssen, habe ich mir 
überlegt, über eine Software-and Verschaltung einen PWM Ausgang mit den 
6 Ports zu verknüpfen. Das PWM läuft permanent und über das Schalten von 
den Ports wird es sozusagen nur durchgeschalten.

Das sollte funktionieren, allerdings weis ich nicht, wie ich das 
softwaremäßig umsetze.

Vielen Dank schonmal für die Hilfe.

Grüße
Persönliche Seite #881899
Lesenswert?
• ▲
▼
Je Port einen NPN Transistor in Emitterschaltung. Über die 
Kollektor-Widerstände führst du dein PWM Signal zu. Schaltet Transistor 
(ausgang HIGH) so wird das PWM Signal "platt gemacht" und es fällt im 
eingeschalteten Zustand keine Spannung über den Transistor ab.

Schaltest du nicht, kannst du das PWM Signal hochohmig am Kollektor 
abgreifen. Brauchst dann vlt nen weiteren Verstärker.
Gast #881907
Lesenswert?
• ▲
▼
Also mein Portausgang sieht zb so aus:

PORTD=((1  << PD1)|(1<<PD2))

hier werden jetzt PD1 und PD2 angeschalten, also auf 1.

Nebenbei läuft der Timer, der über den Pin PB3 vom PORTB das PWM 
ausgibt.

Wie würde man das codemäßig nun schreiben, dass der PORTD mit dem Pin 
PB3 vom PORTB and-verknüpft wird ?
#881917
Lesenswert?
• ▲
▼
Nur weil der Timer einen PWM Ausgang bedient, heißt das ja nicht,
dass die entsprechenden Interrupts (Compare-Interrupts) nicht
mehr ausgelöst werden. Dort musst du dich reinsetzen.

Einfacher wäre sicherlich die Hardwarelösung.
Oder aber gleich eine Software-PWM mit 6 Kanälen.

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