Hallo Ich möchte mich in den kommenden Tagen mit PWM beschäftigen. Ich würde gerne über ein Poti das Tastverhältniss einer PWM ändern. Controller soll ein AtMega8 sein. Hier habe ich ein 10Bit ADC sowie einen 16Bit Timer/Counter. Am einfachsten wäre es natürlich, den 10Bit Wert des ADC in das Compareregister des Timers zu laden. Aber dann verliere ich doch wenn ich mich nicht täusche 6Bit Auflösung. Wenn ich schon einen 16Bit Timer/Counter habe, dann würde ich natürlich auch gerne die komplette Auflösung nutzen. Habe ich hier nun irgend einen Denkfehler? Oder wie komme ich von meinem 10Bit ADC Wert zu einem 16Bit Compare Wert? Wie habt ihr so etwas gelöst? Grüße Bean
> Oder wie komme ich von meinem 10Bit ADC Wert zu einem 16Bit Compare Wert? Gar nicht. Du kannst mit ein paar Tricks (Rauschsignal zugeben, dann Mehrfachmessung und Mittelung) evtl. noch 2 Bits herausschinden, aber dann ist absolutes Ende der Fahnenstange. > Wie habt ihr so etwas gelöst? Gib den 16-Bit Wert über die serielle Schnitte ein.
Hi
>Oder wie komme ich von meinem 10Bit ADC Wert zu einem 16Bit Compare Wert?
6x nach links schieben.
MfG Spess
Mr Bean schrieb: > Habe ich hier nun irgend > einen Denkfehler? Ja. Entscheidend ist, was deine Anforderungen sind und nicht, was die PWM kann. Abgesehen davon ist die PWM direkt am MC-Ausgang eh nicht auf 16Bit stabil. Abgesehen davon liefert ein Poti eh keine 16Bit. Peter
Man kann es auch so ausdrücken: Wenn du eine Wand mauern musst, wie sinnvoll ist es dann, wenn du die Länge eines Ziegelsteins in Atomlagen exakt einstellen (abschneiden) kannst? Prinzipiell ist das schon möglich, aber wenn du den Ziegelstein auf Millimeter (und damit in jeweils in Vielfachen von Millionen Atomlagen) abschneidest, reicht das für den Verwendungszweck 'Ziegelstein in Lücke einpassen' auch aus. Mit dem ADC kannst du eine Potistellung in 1024 'Positionen' auflösen. Ich unterstelle jetzt mal, dass kein Mensch eine Hand hat, die ruhig genug ist, um bei einem normalen Poti mit einem normalen Drehknopf eine ganz bestimmte Position (und damit ADC Wert) gezielt einstellen zu können. Selbst bei einem 10-Gang Poti sind das immer noch 102 unterscheidbare Positionen pro Umdrehung. Also alle ca. 3 Grad wird auf den nächsten ADC Wert weitergedreht. Also ADC Wert mal 64 (oder eben 6 mal links shiften) und ab damit ins Vergleichsregister. Du kannst dann die PWM nur in Vielfachen von 64 einstellen, aber das ist nun mal das Beste was du kriegen kannst.
Drehgeber Ich weiß aber nicht wieviele Runden man bei voller Auflösung drehen muß.
Ah Ok, so hab ich das noch nicht betrachtet. Danke für die Erläuterungen! Werde mich dann wieder melden wenn ich an der PWM scheiter... :-) Aber dazu gibt es ja auch schon einige Beiträge. Grüße Bean
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.