www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AD-Wandler und Winkelberechnung


Autor: Tilo Grune (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich möchte einen Poti mit 270 Grad Drehbereich als Winkelgeber nutzen.
Dazu hängt er zwischen 5Volt und Masse. Der Schleifer geht an den Port
eines 10bit AD-Wandlers. Um aus den Rohwert des AD Wandlers einen
Winkelwert zu erhalten, kann ich folgende Berechnung durchführen:

Winkelwert = Rohwert * (270 / 1023).

Was mir nicht klar ist, ist der Teiler 1023. Müßte evtl. durch 1024
geteilt werden, wegen der Auflösung 10 bit.

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Prinzip ja, aber der Fehler in Deinen 270° dürfte deutlich größer
sein als der im Unterschied zwischen 1023 und 1024. ;-)

Miß den nutzbaren Winkelbereich mal nach.  Meistens haben die Potis
am Ende noch versilberte Flächen, also ein Stück ,,toten Gang''.

Außerdem dürfte der Linearitätsfehler eines gängigen Kohleschicht-
Potis um einiges größer sein als das, was Dein 10-bit-ADC als
Genauigkeit bringt.  Nur mal als Vergleich, sehr gute ausgemessene
Tandem-Potis waren mal mit 3 dB deklariert -- das ist die Abweichung
im Gleichlauf zwischen den beiden Potis.  Anders gesagt, die Spannung
am Spannungsteiler des einen Potis durfte sich von der des anderen um
40 % unterscheiden...

Entweder mißt Du jedes Poti einzeln aus und hinterlegst eine Tabelle
mit der tatsächlichen Übertragungskurve, oder Du gehst auf ein völlig
anderes Prinzip.  Genaue Winkeleingabe wird meist mit
Inkrementalgebern gemacht.  Schraub' mal eine einfache Computermaus
auf, da hast Du zwei davon drin.

Falls die Programmiersprache C ist, dran denken, daß Du das im
Gleitkommabereich rechnen mußt.

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie kommst du auf 40%??
Und warum MUSS man das mit float rechnen?? Muss man gar nicht, wenn man
die Klammer wegnimmt, also erstmal mit 270 multipliziert und dann
teilt. Einzige Bedingung: long-Zahlen verwenden.

Autor: Sebastian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
der AD-Wandler gibt 0-1023 aus. Darum wird auch durch 1023 geteilt.
Das Rechenverfahren was CH da vorschlägt verschluckt leider ein
bisschen was.
3*270/1023=0 mit long
Rauskommen sollten 0,79. Falls man die Genauigkeit nicht braucht kann
man dies aber vernachläßigen.

Autor: dominik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich mache gerade ein Praktikum bei PIHER, falls jemand die Firma kennt.
Stellt Potentiometer her. Die Linearität liegt im Normalfall bei 10%
oder 20%, je nach Modell. Gibt natürlich auch Sonderanfertigungen.
Da machts aber wohl immernoch nicht viel aus ob man mit 1023 oder 1024
rechnet.

Ciao
  Dominik

Autor: Sebastian Wille (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sebastian:

> der AD-Wandler gibt 0-1023 aus. Darum wird auch durch 1023 geteilt.

Darum? Ich habe doch 1024 verschiedene Schritte, also wohl schon durch
1024.

Sebastian

Autor: Fragezeichen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian_Wille

Hallo Mathematiker, Wenn du einen Wert von 0 - 1023 bekommst, der 0 -
270 Grad entsprechen soll, dann sag mir mal bitte, wie du bei einer
Teilung durch => 1024 <= auf 100% oder halt 270 Grad kommst ?????

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Sebastian!

Nein! Dein größter Wert ist 1023. Also

Rohwert = 1023 => 1023*270/1023 = 270
Rohwert = 0 => 0*270/1023 = 0

Allerdings ist Teilen durch 1024 deutlich einfacher: 2mal ShiftRight =
/4 und letztes Byte weglassen = /256 ergibt /1024. Der entstehende
Fehler dürfte akzeptabel sein. Zwei Befehle statt einer
24bit-Divisionsroutine sind überzeugend, oder?

Sven

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@das verrückte Pferd (wußte noch gar nicht, daß Pferde auch Lötkolben
halten können ;-):

> wie kommst du auf 40%?

3 dB = 1,4<irgendwas>, anders gesagt, ein Kanal hat 40 % mehr Pegel
als der andere.

Ich weiß allerdings gerade nicht, auf welchen Winkelbereich sich die 3
dB Angabe bei Tandempotis bezog.  Sicher wird das nicht bis zum
minimalen Anschlag gemessen worden sein, der größte Gleichlauffehler
dürfte aber typischerweise am unteren Anschlag auftreten.

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jörg,

das mit den 3 dB stimmt nicht ganz.
Als E-Techniker hat man die Faustregel, dass +3 dB einer Verdopplung
des Signals entspricht. Kann man mit 10log2 = 3.01 auch nachrechnen.

Aber das nur am Rande :-)

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du verwechselst Spannung mit Leistung. ;-)

Autor: Jens Renner (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stimmt, Asche auf mein Haupt :-)
Da haben wir ja 20log1.4 = 3
Danke für die Korrektur.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.