Dies ist eine Fortsetzung von Messung des Wasserdrucks in einem Tank . Ich habe beschlossen, es zu versuchen und eine andere Richtung einzuschlagen, also stelle ich eine neue Frage.
Ich habe eine Anwendung, in der ich den Druck in einem Poolfilter elektronisch messen muss. Da der Sensor Chlorwasser ausgesetzt wird, kann ich keinen einfachen Drucksensor wie den MPX5700 von Freescale verwenden.
Ich habe bei Ebay einen günstigen 150 PSI Druckmessumformer mit folgenden technischen Daten bekommen:
Eingang: 0-150 psi. Ausgang: 0,5 V – 4,5 V linearer Spannungsausgang. 0 psi gibt 0,5 V aus, 75 psi gibt 2,5 V aus, 150 psi gibt 4,5 V aus.
Funktioniert für Öl, Kraftstoff, Wasser oder Luftdruck. Kann in Öltanks, Gastanks usw. verwendet werden.
Genauigkeit: innerhalb von 2 % des Messwerts (Vollausschlag).
Gewinde: 1/8”-27 NPT.
Kabelverbinder: wasserdichter Schnelltrenner. Gegenstecker ist im Lieferumfang enthalten.
Verdrahtung: Rot für +5V. Schwarz für Boden. Blau für Signalausgang.
Ich habe es auf der Werkbank mit einem Oszilloskop und Multimeter getestet und folgendes gemessen:
Ich habe das Sensorsignalkabel an meinen LPC1768-Mikrocontroller an P17 (analog in) angeschlossen, das rote Sensorkabel an +5 V und das Sensormassekabel direkt an Masse.
Als ich die Ausgabe des 12-Bit-AD-Wandlers las, sah ich stark variierende Ausgaben wie die folgenden in der Druckspalte:
Cycle Level Pressure
================================
[211] W:[184] F:[2200]
[212] W:[184] F:[2071]
[213] W:[185] F:[1279]
[214] W:[184] F:[418]
[215] W:[184] F:[1514]
[216] W:[184] F:[3002]
[217] W:[185] F:[1499]
[218] W:[185] F:[0]
[219] W:[183] F:[1430]
[220] W:[184] F:[2501]
[221] W:[184] F:[1965]
[222] W:[185] F:[1311]
[223] W:[184] F:[263]
[224] W:[184] F:[1509]
[225] W:[183] F:[3195]
[226] W:[186] F:[1518]
[227] W:[184] F:[74]
[228] W:[185] F:[1306]
[229] W:[184] F:[2037]
[230] W:[184] F:[2409]
[231] W:[184] F:[1478]
[232] W:[184] F:[30]
[233] W:[184] F:[1503]
[234] W:[185] F:[3254]
[235] W:[184] F:[1549]
[236] W:[184] F:[433]
[237] W:[185] F:[1025]
[238] W:[184] F:[1714]
[239] W:[184] F:[2691]
[240] W:[185] F:[1479]
[241] W:[184] F:[0]
Ich verwende dieselbe Softwareroutine, um sowohl die Füllstands- als auch die Druckspalte zu lesen. Die Level-Säule ist im Gegensatz zur Pressure-Säule sehr stabil.
Meine Fragen lauten wie folgt:
Hinweis: Dies ist sowohl eine Elektronik- als auch eine Softwarefrage. Im Moment arbeite ich an der elektrischen Schnittstelle.
Update: Die Dinge scheinen im Moment gelöst zu sein. Ich hatte das Sensorsignal an den LPC1768 P18 angeschlossen, der als Analog In und Analog Out geteilt wird. Das Sensorsignal wird nun an P17 (nur Analog In) angeschlossen. Diese Änderung und das Hinzufügen einer 0,1-uF-Kappe zum Filtern des Sensorausgangs haben dazu geführt, dass der Ausgang bei 0 PSI korrekt erscheint. Ich muss es nur mit einem Luftkompressor und bestimmten PSI-Einstellungen testen, um sicherzustellen, dass die ADC-Messwerte korrekt bleiben.
Diese Probleme sind schwer zu diagnostizieren. Als erstes würde ich die Pegel- und Druck-ADC-Eingänge tauschen, um sicherzustellen, dass kein Softwareproblem vorliegt. Selbst wenn Sie sich den Code tausendmal angesehen haben, würde ich dies tun.
Die Impedanz Ihres Sensors ist ziemlich hoch, um direkt in den ADC-Eingang eingespeist zu werden. Ich denke, Sie sollten einen nicht invertierenden Puffer mit Einheitsverstärkung zwischen dem Sensor und dem ADC-Eingang hinzufügen.
Eventuell sind Bypass-Kondensatoren erforderlich. Es gibt nicht genügend Informationen, um zu sagen, wo sie hinzugefügt werden sollten oder was ihre Werte sein sollten. Ich würde auf jeden Fall die 5V-Versorgung für den Sensor umgehen. Sie könnten dem Ausgang des Sensors auch einen kleinen Kondensator hinzufügen, vorausgesetzt, der Druck ändert sich nicht schnell.
Sie können auch versuchen, die ADC-Taktrate zu verlangsamen, um dem Sample-and-Hold mehr Zeit zum Aufladen zu geben. Manchmal kann es auch helfen, den Prozessor während einer Konvertierung in den Ruhezustand zu versetzen, um das Rauschen zu reduzieren.
Aufgrund der Tatsache, dass der Ausgangsbereich Ihres Sensors den zulässigen Eingangsbereich des LPC1768 ADC-Eingangskanals, maximal Vdda/Vrefp von 3,3 V, überschreitet, ist es möglicherweise besser, den Operationsverstärker zu verwenden, um den Ausgangsbereich der Quelle/des Sensors zu skalieren und den Ausgangsbereich zu reduzieren Quelle/Sensor-Ausgangsimpedanz.
Referenz: NXP AN10974 LPC176x/175x 12-Bit-ADC-Designrichtlinien Erläutert effektive Netzteilfilterung, Verwendung von Bypass-/Entkopplungskondensatoren
Referenz: NXP LPC1769/68/67/66/65/64/63 Datenblatt, Seite 62 und Abb. 27, Seite 65
Max. Ausgangswiderstand der Quelle ~ Rvsi (Spannungsquellen-Schnittstellenwiderstand) maximal 7,5 kOhm
Max. Ausgangskapazität der Quelle ~ Cia analoge Eingangskapazität) maximal 15 pF
Peter Bennett
Joe Hass
Chimäre
Joe Hass
Chimäre
rdtsc