Forum: Mikrocontroller und Digitale Elektronik Motor und PWM Ansteuerung, Denkanstöße gesucht


von Hagen (Gast)


Lesenswert?

Hi Experten,

ich möchte per PWM eine Motoransteurung mit einen AVR ATMega8 machen.
Dazu benötigt man ja die sogenannten beiden PWM Kanäle A und B, um
beide Richtungen per H-Brücke anzusteuern.

Das eigentliche Problem was ich habe ist die Frage welchen Softwareweg
ich gehen sollte:

1.) PWM Hardware des AVR's nutzen, Nachteile sind feste PIN
Zuordnungen an OC1A und OC1B, schwierige Änderungen der PWM Frequenz
usw. Vorteil könnte sein das sich in großen Teile die Hardware um alles
kümmert und somit in Software weniger Taktzyklen benötigt werden.

2.) per Timer + OCR1A Interrupt die Portpins selber toggeln. Vorteil
wäre großere Flexibilität und Freiheiten, Nachteil könnte sein das mehr
Taktzyklen benötigt werden.

Nun benötige ich aber noch ein klitze kleines aber wichtiges Feature
zusätzlich. Ich muß in der Lage sein die PWM Frequenz schon nach einem
Ansteuerungszyklus sehr variabel abändern zu können ! Das
Tastverhältnis bleibt im Grunde immer gleich aber die
Ansteuerungsfrequenz ändert sich permanent. Dies wird zur zusätzlichen
Datenübertragung benötigt.

Meine Frage ist nun ob einer von euch schon sowas gemacht hat oder
einfach welche Methode am aussichtsreichsten im Hinblick auf
effizienteren Code durchführbar erscheint. Da ich eben auch eine hohe
Ansterungsfrequenz benötige.

Gruß Hagen

PS: eventuell gutgemeinte Vorschläge zusätzliche Spezialhardware zu
benutzen interessieren mich nicht.

von Buchmann (Gast)


Lesenswert?

Wenn du eine hohe Frequenz benötigst, würde ich Hardware PWM nehmen -
die Frequenz kannst du dann ganzeinfach mit dem vorteiler für den
jeweiligen Timer ändern

von Michael (Gast)


Lesenswert?

" Das Tastverhältnis bleibt im Grunde immer gleich aber die
Ansteuerungsfrequenz ändert sich permanent. Dies wird zur zusätzlichen
Datenübertragung benötigt.
Meine Frage ist nun ob einer von euch schon sowas gemacht hat ... "

Das hat bestimmt noch niemand gemacht, und ich würde es aber auch nicht
als genial bezeichnen. Wozu PWM, wenn das Tastverhältnis nicht verändert
werden soll ?

von ...HanneS... (Gast)


Lesenswert?

Das wäre dann PWM (Pulsweitenmodulation) mit fester PW (Pulsweite)...

Ich habe PWM (mit variabler PW) bisher immer per Software gemacht, ist
recht flexibel.

...HanneS...

von Buchmann (Gast)


Lesenswert?

So wie du das machst hat das ganze eigentlich wenig sinn.
wenn du nur die Frequenz des PWM Signals ändern willst, wäre es besser
das PWM Signal per Hardware zu erzeugen, und per Software nur den
Vorteiler zu verändern

von AxelR. (Gast)


Lesenswert?

CTC-Mode vom Timer2 (Tastverhältnis 1zu1 1Mhz)und dann eben den Timer2
mit der harware-PWM vom Timer1 disablen oder halt enablen.

Nee oder wie jetzt, die Frequenz soll sich ändern, aber das
Tastverhältnis gleich bleiben? Nö, kann ich nicht.
Ich ätte jetzt wellenpaketsteuerung weiter ausgeführt mit 1Mhz-Paketen
und entsprenden Pausen, die Variable wären...

Konfus
Axel

von Hagen (Gast)


Lesenswert?

Danke für eure Hilfe, ich werde es in Software machen.

Gruß Hagen

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.