Hallo,
ich möchte gerne einen Druckgeber auswerten.
Dazu dachte ich an einen Spannungsteiler mit 200Ohm und eben dem Sensor.
Nur wir rechne ich den gelesenen Spannungswert dann in den
entsprechenden Druck um?
Gruß
Uwe
Puh,
ich war da ja faul...
Ich habe zu jedem Druckwert (volle bar) über den Widerstandswert den
Wert des ADCs errechnet und in einer Tabelle abgespeichert.
Zur Auswertung:
Dann hole ich mir 2 Werte aus der Tabelle und sehe nach, ob der der
gelesene Wert dazwischen liegt - wenn nein, 1 bar weiter und den
nächsten Wert aus der Tabelle holen.
sonst:
ich teile die Differenz in x (20) Teile auf und suche den Punkt, wo der
gelesene Wert über dem aufaddierten liegt. (Rundungsfehler!)
Dann habe ich meinen Wert mit einer Genauigkeit, die mir genügt.
Man programmiert diese Routine etwas tricky um die Rundungsfehler in den
Griff zu bekommen !
Hier mal mein Basic-Code:
1
ConvertDruck:
2
If Ct_Druck<n_Mittel Then Ct_Druck=Ct_Druck+1 ;Anzahl mitzählen
Hmm dankeschön!
Also schon über ne Lookup Tabelle? Wäre es nicht einfacher ne Tabelle
mit 1024 Einträgen zu erstellen? Dann spare ich mir das ewige
vergleichen. Zumal ich gerne eine Genauigkeit von 0,1Bar hätte.
Wie rechne ich überhaupt die entsprechende Spannung aus? Das ist ja dann
ein belasteter Spannungsteiler oder?
Ich weiß ja nicht, welchen uC Du nutzen möchtest. Ich habe mit einem PIC
gearbeitet, der einen deutlich höheren Eingangswiderstand gegenüber den
200 Ohm Sensoren hat. Er ist sogar so hoch, daß ich ihn in der Rechnung
gar nicht berücksichtigt habe.
Und wie willst Du mit den Werten auf 0,1 bar genau messen ?
Das ist doch auch sicher so eine Druckdose, die einen Schiebewiderstand
bewegt. Da kannst Du Dich über 0,5bar freuen.
Und laß Dir von dem Rechenpolygon keine Genauigkeit vortäuschen !
Ich wollte auch keinen (kostbaren) Platz für 1024 Werte opfern. Etwas
Hirn spart da schon mal knappen Platz.
Ich verwende einen AVR(ATMega 16/32). Da ist der Eingangswiderstand ja
auch recht hochohmig.
Wie der Druckgeber intern aufgebaut ist, weiß ich nicht. Aber genauer
wie 0,5Bar sollte er laut Datenblatt schon messen.
OK,
wer ist der Hersteller des Druckgebers, wie heißt die Bestellnummer -
ich such mir selbst das Datenblatt.
In Deiner Tabelle berühren sich die Worst-Case-Werte ja an den
0,5bar-Schritten. Wie soll da 0,1bar möglich sein ?
Das Datenblatt musst du nicht suchen, das habe ich angehängt :)
Stimmt, die Überschneidung ist mir noch gar nicht aufgefallen. Das ist
aber schade, ich hätte halt schon gerne eine Schrittweite von 0,1 Bar.
Ja,
genau so ein "Ding" habe ich von Motometer hier.
Du kannst evtl. Druckänderungen so fein auflösen, aber ich habe hier
auch einen Druckmesser, da habe ich das Gefühl, daß der Schleifer
manchmal etwas "hängt" und der Druck schon stärker ansteigen muß, damit
sich der gemessene Wert ändert.
Der absolute Druck ist halt immer mit einem systematischen Fehler
behaftet, je nach Kennlinie der Schleifbahn.
Für grobe Sachen reicht der aus und ist bezahlbar.
Naja was er in Wirklichkeit misst, ist ja nicht so wild. Wichtig ist
halt, dass die Anzeige dann im 0,1 Bar bereich interpoliert. ;)
Der kritische Bereich ist eh um 1 Bar oder so. Also erst wenn der Druck
um 1 Bar fällt wirds kritisch.
Wie hast du den Geber ausgewertet? Ohne Spannungsteiler? Momentan läuft
der ADC mit der internen Referenzspannung von 2,56V. Daher hab ich halt
den 1:1 Spannungsteiler. Aber ich könnte ja auch auf 5V Referenzspannung
gehen.
Also wenn ich mir den Toleranzbereich ansehe, ist da nichts mit 0,1Bar.
Bis 2 Bar sinds bestenfalls 0,5 Bar und dann wirds rapide schlechter.
Nimm ne simple Tabelle in 0,5Bar Schritten (= 19 Einträge) und gut is.
Peter
Ja klar mit einem Spannungsteiler, anders geht es nicht.
Ich arbeite hier mit 5V Systemen, wo mir die Genauigkeit der
5V-Versorgung als Referenz ausreicht.
Gemeinerweise ist Kopieren aus dem VDO-PDF verhindert, hier deshalb
abgetippt die Kennlinie mit Toleranzschlauch. Die mittlere Linie sieht
bis auf einen Versatz nach oben ziemlich linear aus, aber die
Abweichungen sind am oberen Ende schon recht groß.
Eine eigene Frage?
Dieser Thread ist über 19 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.