Auflösung von Analog Input verbessern

Guten Abend liebe Freunde

Ich arbeite gerade an einem Projekt, und zwar soll ein 24V DC Motor mit Hilfe eines Folienpotis (runde Ausführung; Softpot von Spectra Symbol) gesteuert werden. Das Folienpoti dient zur Wegmessung und soll gleichzeitig als „Endlagen Sensor“ dienen. Nun habe ich das folgende Problem, dass die Auflösung des Analog Inputs zu schlecht ist und manchmal der Motor zu weit dreht

Ich habe hier irgendwo gelesen, dass man mit einem Komparator die Auflösung erhöhen kann, aber nur versteh ich von der Materie nicht soviel :frowning:

Jetzt nun die Frage: Kann man mit Hilfe eines Komparators die Auflösung steigern? Kann man die Daten dann immernoch über analogRead() auslesen? Und wie würde das Codetechnisch aussehen?

Ich wäre sehr dankbar, wenn jemand einen guten Tipp, Link oder ähnliches für mich hat☺️

Verwendet wird das Arduino Mega, das Poti wird mit 5V versorgt.

Liebe Grüsse
Vali

Nein!

Man kann evtl die Genauigkeit verbessern.
Aber nicht die Auflösung erhöhen.

Oversampling?
Eher nicht....
Wenn alles andere ausgeschöpft ist, kannste das ja mal versuchen.

Eher schon einen externen (I2C/SPI) ADC verwenden.

und manchmal der Motor zu weit dreht

Dann hast du ganz andere Probleme, würde ich mal sagen.

deswegen (vermute ich).

Wären deine diagnostischen Fähigkeiten soweit ausgebildet, dass diese Aussage ....... dann ....

Ich arbeite gerade an einem Projekt, und zwar soll ein 24V DC Motor mit Hilfe eines Folienpotis (runde Ausführung; Softpot von Spectra Symbol) gesteuert werden. Das Folienpoti dient zur Wegmessung und soll gleichzeitig als „Endlagen Sensor" dienen. Nun habe ich das folgende Problem, dass die Auflösung des Analog Inputs zu schlecht ist und manchmal der Motor zu weit dreht deswegen (vermute ich).

Das habe ich nicht verstanden. Soll das Folienpoty als Eingabe für die Sollposition dienen oder als Rückkopplung der Istposition? Zweiteres sehe ich problematisch und andere Lösungswege besser geeignet.

Das Überdehen des Motors ist duch die Regelschleife und die Trägheit des Motors bestimmt. Wenn Du die Spannung am Motor erst wegnimmst wenn der Ist-Wert dem Soll-Wert entspricht dann dreht sich der Motor durch seine Massenträgheit übder den Sollwert hinaus.
Du brauchst eine bessere Regelung.

Grüße Uwe

Viele Dank für die Antworten.

Das mit dem externen I2C ADC klingt gut, werde mich mal schlau machen.

Wird aber nichts bringen. Zur Lösung der Aufgabe wurden Endschalter erfunden. Alternative dazu wären Potentiometer mit sehr vielen Gängen (aber das nutzt auch nicht viel) oder Absolutencoder.

Zur Lösung der Aufgabe wurden Endschalter erfunden.

Auch das FolienPoti kann das.
Mehrgangpotis sind eher ungeeignet, da viel Verschleiß.

Und ja, es gibt viele Möglichkeiten.

Das mit dem externen I2C ADC klingt gut, werde mich mal schlau machen.

Identifiziere erstmal deine Probleme.

Ich wiederhole:
Das "übers Ziel hinaus schießen", ist sicherlich kein Problem der Auflösung.
(zumindest glaube ich das erst, wenn du das beweisen kannst)

Hallo,

von welchen Geschwindigkeiten reden wir denn . Ist die Kontaktübergabe des "Schleifers" gesichert, mechanischer Aufbau der Folie. Ich habe auch gute Erfahrungen mit Linear und Seil-Potis gemacht.

Bei langsamen Bewegungen kann man durchaus mit einem Potiwert, als Istwert, auf eine bestimmte Position fahren. Zu beachten ist natürlich wie oft das gemacht wird. Je nach Typ sind 10.000-100.000 Bewegungen durchaus kein Problem. Die normale Auflösung 1024 reicht, da kann nicht das Problem des Überfahrens sein. Du brauchst auf jeden Fall ein Fenster für die Abfrage " Position erreicht". Wie groß dieses Fenster ist hängt von der Fahrgeschwindigkeit und Reaktionszeit deines Systems ab. Eventuell mußt Du da auch schnell, langsam , Stop benutzen.

Heinz