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.
Na klar - kein Poti! Sondern ein Gray-Code Decoder, i.a. auch Schrittmotor.
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.
Warum nimmst du nicht einen 24Bit ADC, z.B. einen HX711, wie er für DMS gerne verwendet wird. https://www.ebay.de/itm/201502614307
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.
Gibt es durchaus: https://www.bing.com/images/search?q=wegsensor&id=D38E1F3BE62BA4689BF68BD618113FCE09E16024&FORM=IQFRBA
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.
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.