Forum: Mikrocontroller und Digitale Elektronik Unterschied Auflösung ADC zu Auflösung PWM ausgleichen


von Mr Bean (Gast)


Lesenswert?

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

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> 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.

von spess53 (Gast)


Lesenswert?

Hi

>Oder wie komme ich von meinem 10Bit ADC Wert zu einem 16Bit Compare Wert?

6x nach links schieben.

MfG Spess

von Peter D. (peda)


Lesenswert?

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

von Karl H. (kbuchegg)


Lesenswert?

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.

von MarioT (Gast)


Lesenswert?

Drehgeber
Ich weiß aber nicht wieviele Runden man bei voller Auflösung drehen muß.

von Mr Bean (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.