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
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.
Ich würde das gerne mit einer Softwarelogik machen, also einfach mit einer and-Verknüpfung.
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 ?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.