Also ich würd da einfach ein Poti dran bauen...
Schaltungstechnisch das Poti zwischen GND und Betriebsspannung,
dann die Betriebsspannungsseite und den Schleifer an je einen ADC Eingang hängen.
(eventuell noch mit je einem Verstärker dazwischen um den ADC möglichst gut auszunutzen)
So, nochmal schnell ein paar Abkürzungen definieren (ja, ich bin schreibfaul )
ADCg = ADCgesamt (also Betriebsspannungsseite)
ADCs = ADCschleifer (sollte klar sein)
In deiner Software ist das Verhältnis ADCg/ADCs dann schon direkt die Positionsangabe in % (naja, nicht ganz... mal 100 sind es dann %).
Du brauchst aber natürlich noch eine Kalibrierung, um möglichst exakte Werte zu erhalten.
Dabei ist wichtig, daß man wo es geht immer nur mit Verhältnissen rechnet, nicht mit absoluten Werten.
(es sollte also nirgends in dem Programm direkt mit den ADC-Werten gerechnet werden)
Bei der Kalibrierung speicherst du dann die beiden Werte (Volausschlag-links/rechts) jeweils als (ADCg/ADCs)*x.
Das x ist einfach nur dein Wert für 100%, denn du willst ja sicherlich einen Integer dafür benutzen. (wegen der Performance)
wenn du deine Kalibrierwerte dann hast, kannst du dir die exakte Position ausrechnen.
(in Abhängigkeit von ADCg, ADCs und halt den zwei Werten)
Man könnte meinen das ADCg sei unnötig, aber dadurch brauchen dich Spannungsschwankungen und andere Störungen erstmal nicht mehr zu interessieren.
Denn wenn sich die Spannung über dem Poti ändert, ändert sich zwar dein Wert für ADCs, aber eben auch der für ADCg.
Und da die berechnete Potition von beiden abhängig ist, verschwindet der Fehler einfach.
(d.h. jede beliebige Störung die beide Werte gleich beeinflusst kann man ignorieren)
Also ich jedenfalls würde das so machen
Lesezeichen