Gast
#108202
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.