Forum: Mikrocontroller und Digitale Elektronik Portausgänge mit PWM überlagern


von Robert (Gast)


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

von Marius S. (lupin) Benutzerseite


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.

von Robert (Gast)


Lesenswert?

Ich würde das gerne mit einer Softwarelogik machen, also einfach mit 
einer and-Verknüpfung.

von Robert (Gast)


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 ?

von Karl H. (kbuchegg)


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.

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.