Hallo zusammen,
ich wuerde gerne ein lineares Poti nur in einem Teilbereich genau
auswerten. Aktuell haengt es zwischen Vcc und Gnd, mit dem Abgriff an
einem 10-Bit-ADC. Die Samplewerte sind etwa im Raum von 800 bis 1000
(das Poti bestimmt einen Drehwinkel, der mechanisch begrenzt auch immer
in diesem Bereich bleibt, d.h. das Poti wird nie voll bewegt). Hinterher
benoetige ich auch ein 10-Bit-Signal, welches aktuell interpoliert wird
und daher in Stufen von 1024/(1000-800) ~= 5 Countern "ruckelt".
Die offensichtlich einfachste Loesung a) waere, das Poti durch
geaenderte mechanische Uebersetzung voll auszulenken, was allerdings
raeumlich nicht passt. Die naechste Idee b) waere, dass man einen
genaueren ADC nimmt, z.B. 16-bittig, und weiterhin in Software
interpoliert. Variante c) wuerde dagegen den Analogpegel vom Abgriff per
OpAmp (?) verstaerken, sodass der ADC grundsaetzlich seine
0->Vcc-Spannung sieht. Eventuell kann man auch als d) das Poti per
Trimmer passend "schieben", aber dann geht wohl die Linearitaet verloren
(?).
Das Sahnehaeubchen waere, wenn die Loesung direkt I2C oder ein
aehnliches Protokoll sprechen wuerde, da zwischen Poti und ADC etwa 2m
(Cat5e-)Kabel liegen; es erscheint mir ungeschickt, analoge Pegel weit
durch die Landschaft zu schieben. Selbstredend muss
Potidrehung->Samplewert einen linearen Bezug haben.
Was nehme ich da am besten fuer Komponenten?
Danke fuer Eure Aufmerksamkeit.
Idealerweise:
https://ams.com/as5047u#tab/description
plus ein Dauermagnet statt Poti.
Das ganze ist dann verschleißfrei, weil der Chip das Feld des
Dauermagneten misst, und SPI liefert Dir eine 14 Bit Absolutposition des
Drehwinkels.
fchk
Ein Mensch schrieb:> ich wuerde gerne ein lineares Poti nur in einem Teilbereich genau> auswerten. Aktuell haengt es zwischen Vcc und Gnd, mit dem Abgriff an> einem 10-Bit-ADC. Die Samplewerte sind etwa im Raum von 800 bis 1000
Ich glaube, Du überschätzt die Genaigkeit eines Potis. Wenn Du einfach
nur den Bereich 800...1000 auswertest, ist das völlig ausreichend.
Falls dein ADC andere Referenzspannungen unterstützt, kannst du das Poti
umpolen, so dass die benötigten Werte zwischen 20 und 200 liegen und
dann die Referenzspannung auf einen niedrigeren Wert setzten (z.B. statt
5V auf 1V).
Danke fuer die Anregungen!
An Encoderscheibe oder Hallsensor hab' ich jetzt nicht gedacht. Ich
denke durchaus, dass es die technisch angepassteren Loesungen sind, u.a.
weil ich in einer Achse eine mechanische Linearbewegung erst per
Zahnstange auf das Poti umsetze; da waere ein Codestreifen plus
Lichtschranken viel direkter (oder kapazitive Kodierung a la
Schieblehre).
Wie wuerde man aber mit der Poti-Variante weiter verfahren? Ich messe
mit dem Oszi durchaus stimmige Aenderungen im 0.01V-Bereich, die wegen
der ADC-Aufloesung aber verloren gehen. Ich find' das sehr
unbefriedigend, dass die aktuell sichtbare Ungenauigkeit erst im
Digitalteil entsteht.
Ein Mensch schrieb:> An Encoderscheibe oder Hallsensor hab' ich jetzt nicht gedacht. Ich> denke durchaus, dass es die technisch angepassteren Loesungen sind, u.a.> weil ich in einer Achse eine mechanische Linearbewegung erst per> Zahnstange auf das Poti umsetze; da waere ein Codestreifen plus> Lichtschranken viel direkter (oder kapazitive Kodierung a la> Schieblehre).
Die Linearbewegung kannst Du direkt messen, ohne weitere Mechanik. Da
plumpst dann ohne extera ADC usw direkt ein digitaler Wert raus.
https://ams.com/linear-position> Wie wuerde man aber mit der Poti-Variante weiter verfahren? Ich messe> mit dem Oszi durchaus stimmige Aenderungen im 0.01V-Bereich, die wegen> der ADC-Aufloesung aber verloren gehen. Ich find' das sehr> unbefriedigend, dass die aktuell sichtbare Ungenauigkeit erst im> Digitalteil entsteht.
Potis verschleißen und verschmutzen mit der Zeit. Die Genauigkeit, die
Du jetzt siehst, wird nur eine begrenzte Zeit überleben. Ist halt
Mechanik.
Ansonsten: analog-Addierer/Subtrahierer und Multiplizierer.
Standard-OP-Schaltungen aus dem Lehrbuch. Nachteil: Du wirst Dir wohl
oder übel negative Hilfsspannungen erzeugen müssen.
https://www.mikrocontroller.net/articles/Operationsverst%C3%A4rker-Grundschaltungen
fchk
foobar schrieb:> Falls dein ADC andere Referenzspannungen unterstützt [...]
Ebenfalls gute Anregung! Das Problem ist nur, dass es mehrere Potis sind
(was ich klammheimlich verschwieg), die via Multiplexer an einem ADC
haengen. Die Potis sind natuerlich nicht synchronisiert und braeuchten
dann unterschiedliche Vref... aber ich hab' beim Nachschlagen im
Datenblatt dazu eine nette Ueberraschung erlebt: es ist tatsaechlich ein
16-bit-ADC (13 bit usable), wo aber aus
Rueckwaertskompatibilitaetsgruenden per Default nur 10 Bit rausfallen.
Wenn man das umstellt, wird er genauer.
Dank auch an fchk, die Verschleissproblematik hatte ich nicht wirklich
auf dem Schirm. Und die kontaktlosen Encoder sehen deutlich passender
aus als mein aktueller Setup. Mit den OpAmp-Schaltungen hatte ich mal im
falstad.com-Simulator herumprobiert und konnte sie prinzipiell
nachvollziehen, zumindest um die untere Peakspannung aus dem Poti auf
Vref zu verstaerken.
Ein Mensch schrieb:> Wie wuerde man aber mit der Poti-Variante weiter verfahren? Ich messe> mit dem Oszi durchaus stimmige Aenderungen im 0.01V-Bereich, die wegen> der ADC-Aufloesung aber verloren gehen.
Öhm, dann musst du an deinen ADC aber noch mal ran. 10 Bit ADC bei 5 VDC
hat eine Auflösung von ca. 5 mV, damit sind Änderungen bei 10 mV
problemlos feststellbar. Und wenn du geschickt verschaltest kannst du
sicher auch noch weiter mit der Referenzspannung runter, z.B. auf 1.1 V
(denke da grade an einen Atmega328p der ja sowas integriert hat). Da
kannst du dann auf knapp 1 mV auflösen.
Für einen besseren Tipp müsste man aber genauer wissen, was gemessen
werden soll. Etwas mehr Infos zum Aufbau wären echt nützlich. Spontan
fällt mir bei der bisherigen Beschreibung eigentlich auch so
Linear-Geber wie sie z.B. Heidenhain anbietet ein.
> Wie wuerde man aber mit der Poti-Variante weiter verfahren?
Wenn du das machen willst dann brauchst du dafuer geeignete Potis.
Positionsabfragen ueber Potis sind/waren in der Industrie nicht
ungewoehnlich weil sie sofort einen Absolutwert liefern und man keine
Endschalter braucht. Allerdings sind uebliche Potis nicht fuer haeufige
Bewegungen geeignet. Es gibt dafuer extra Typen mit anders beschichteter
Widerstandsbahn. Die Unterschiede in der Lebensdauer sind IMHO so 1:10
und die im Preis auch. .-)
Olaf
Moin,
Ok, wenns aus Gruenden der Religiositaet oder politischen Ueberzeugung
unbedingt Potis und ein ADC sein muessen, hier noch ein zweifelhafter
Vorschlag: Lass einen Pin des µC wackeln, haeng' daran (ggf. nach einem
geeigneten Treiber) einen Haufen Kondensatoren und Dioden die du als
Spannungsvervielfacher verschaltest, danach ggf. noch stabilisieren und
dann die Potis nicht zwischen 0 und 5V haengen, sondern z.b. zwischen
-5V und +10V. Oder zwischen -15V und 15V, oder sonst irgendwelche
Spannungen, die zum eingeschraenkten Drehwinkel passen. Musst halt
gucken, dass das Pingewackel und die Ladestroeme der Kondensatoren nicht
in den ADC rein"pfeifen".
Gruss
WK
Ungeachtet der Nachteile bzgl. des Potiverschleißes und der Störungen
durch die lange Leitung kannst du das Potisignal mit der Schaltung im
Anhang passend verstärken. An REF wird dabei die Referenzspannung des
ADC (bei dir vermutlich VCC) angeschlossen. Ist U_L die minimale und U_H
die maximale Eingangsspannung und R3 vorgegeben, so ist
Sind die Versorgungsspannungen des Opamp gleich Uref und 0V, muss der
Opamp ein ein Rail-to-Rail-Typ sein. Da dessen Ausgangsspannung nicht
ganz an die Versorgungsspannungsgrenzen herankommt, solltest du U_L und
U_H etwas großzügiger auslegen.
Im Beispiel bin ich von
Uref = 5V,
U_L = 3,9V ⪅ Uref · 800/1024 und
U_H = 4,9V ⪆ Uref · 1000/1024
ausgegangen. Die Schaltung kann aber für beliebige 0 ≤ U_L ≤ U_H ≤ Uref
dimensioniert werden.
Nur einen Teilbereich des Potis zu nutzen ist ein ernster Design Fehler!
Abhilfe:
Ein spielfreies Getriebe nehmen welches dann den kompletten Drehbereich
ausnutzt!
Röhry schrieb:> Nur einen Teilbereich des Potis zu nutzen ist ein ernster Design Fehler!>>> Abhilfe:>> Ein spielfreies Getriebe nehmen welches dann den kompletten Drehbereich> ausnutzt!
IMO ist es ja generell ein ernster Design-Fehler ein Poti als Sensor zu
nutzen. Werden sie durch den Menschen benutzt (Bedienelemente) dann geht
das IMO grade noch aber als Positionsmelder für irgend welche Antriebe?
Dafür waren Potis nie gedacht und nur die wenigsten sind dafür geeignet.
Die Sache mit dem Teilbereich kommt da dann noch on top.
Esmeralda P. schrieb:> Gibt es durchaus:>> https://www.bing.com/images/search?q=wegsensor&id=D38E1F3BE62BA4689BF68BD618113FCE09E16024&FORM=IQFRBA
Natürlich gibts durchaus Potis, die als Wegsensoren verbaut werden.
Haben wir auch hier in der Firma an Maschinen. Ich seh aber auch wie oft
selbst langlebige Modelle z.B. von Burr-Brown ausgetauscht werden müssen
einfach weil die Potis durch sind. Mit nem Encoder hätte man da besser
getan und meist ist da mehr Platz als nötig wäre, nicht nur für einen
Encoder.