Hallo zusammen Ich habe hier ja schon etwas über den ADS115 lesen können
und mich informiert es bleiben trotzdem ein paar fragen offen. Wenn das
ja ein 16Bit gerät ist warum ist der messwert dan 0.1875 mV bei maximal
6.144V
das ergit ja ein umrechen facktor von 2hoch 15 und nicht 16.
Hintergrund der suche nach lösung bzw verständis ist das ich am Rasberry
ein ADS1115 angebaut habe und einen drucksensor von 60 PSI wobei 0PSI
0.5V 30PSI 2.5V und 60PSI 4.5V sind der anschluss am PI ist wie im bild.
der Leseteil für druck im script sieht so aus:
1
value = [0]
2
# Read ADC channel 0
3
value[0] = adc.read_adc(0, gain=GAIN)
4
# Ratio of 15 bit value to max volts determines volts
5
volts = value[0] / 32768.0 * 6.144
6
# Tests shows linear relationship between psi & voltage:
7
psi = 13.33 * (volts -0.5)
8
# Bar umrechnung
9
bar = psi * 0.0689475729
aber das messergebnis weicht von einem analogen Druckmesser um ca 0.5
bar ab.
und schwankt extrem obwohl ich ein 1nF und auch schon ein 10nF
kondensator zur stabieliesierung versucht habe.
Vielleicht hat ja jemand eine idea.
Christian B. schrieb:> Wenn das ja ein 16Bit gerät ist
Eins vorneweg: auf dieser Platine und mit dieser Beschaltung kommen da
niemals mehr als 10..12 verwertbare Bit heraus. Aber das merkst du ja
selber:
>>> aber das messergebnis ... schwankt extrem
Definiere "extrem"...
> Ich habe hier ja schon etwas über den ADS115 lesen können
So einen Baustein gibt es nicht. Also gut, ein Schlamperfehler. Die
lassen wir mal durchgehen...
> Wenn das ja ein 16Bit gerät ist warum ist der messwert dan 0.1875 mV> bei maximal 6.144V
Du stueerst den ADC doch an, dann solltest du doch wissen, was da
passiert.
Für mich wäre interessant: was ist GAIN?
> das messergebnis weicht von einem analogen Druckmesser um ca 0.5 bar ab.
Was misst du mit einem Messgerät? Also ganz ohne deine RPi-Schaltung
nur mit Drucksensor und Multimeter: passt das Signal des Sensors
zusammen mit dem Messwert zum analogen Drucksensor?
Wenn das stimmt, dann kanst du kontrollieren, ob die Spannung nach dem
ADC richtig hereinkommt.
Und danach kannst du noch die Umrechnung vom der Spannung in den Druck
kontrollieren.
BTW: warum rechnest du eigentlich nicht gleich den ADC-Wert in den Druck
um? Die Spannung ist doch nur ein lästiger Umweg...
Hallo Lothar,
sorry für den Tip fehler ADS1115 so sollte es schon besser Passen.
extreme Schwankung definiere ich mit die Pumpe ist aus und ein kugelhan
vor den beiden Messinstromenten (analog und digital)geschlossen somit
sollte keine druckschwankung vorkommen. Schwangt der digitale messwert
von 0.5 Bar bis zu 2.0 Bar.
Gain bezeichnet den Spannungsbereich in diesem fall 2/3 ist bis 6.144V
Das Digitale Messgerät schwangt zwischen 1,42 Volt und 1,45 Volt wobei
dann die Ausgabe an der Console 1.040V und 1.022V anzeigt was allerdings
anscheinen durch die rundung schon 0.1 bar unterschied macht.
Wenn ich das jetzt mal so Betrachte würde ich fast behaupten das diese
schwankungen durch die (groben 60PSI) kommen.
Wenn ich mal wüsste was der maximale druck der Pumpe am Filter sein
könnte dann könnte ich mir einen Nidrigeren drucksensor bestellen. weil
dann währe ja der bereich feiner abgestimmt.
Christian B. schrieb:> Gain bezeichnet den Spannungsbereich in diesem fall 2/3 ist bis 6.144VChristian B. schrieb:> das ergit ja ein umrechen facktor von 2hoch 15 und nicht 16.
6.114V ist kein Bereich sondern nur eine Spannung. Für einen Bereich
brauchst du eine Maximalspannung und eine Minimalspannung. Die Differenz
von beiden durch 2^16 ergibt deine Auflösung. Wenn du "ein Bit
vermisst", dann überleg dir, was der Minimalwert deines Bereichs ist.
Christian B. schrieb:> wobei 0PSI 0.5V ... 60PSI 4.5V
Die Empfindlichkeit deiner Messanordnung ist also 4V/60PSI (bzw. ca.
1V/Bar)?
Christian B. schrieb:> Schwangt der digitale messwert> von 0.5 Bar bis zu 2.0 Bar.Christian B. schrieb:> Das Digitale Messgerät schwangt zwischen 1,42 Volt und 1,45 Volt
Der Messwert aus dem ADC schwankt also um ~1,5V (entsprechend 1,5 Bar).
Während ein Multimeter an der selben Stelle nur um 10mV wackelt?
Dann ist etwas ganz grundsätzliches mit deinem Aufbau im Argen. Es ist
sicher eine gute Idee, einen Sensor mit passenden Messbereich zu
verwenden. Aber so große Schwankungen über den halben Messbereich des
Sensors kommen nicht durch "ungünstige Messbereiche" zustande sonder nur
durch "grundsätzliche Fehler".
Christian B. schrieb:> und schwankt extrem obwohl ich ein 1nF und auch schon ein 10nF
Was für einen Drucksensor verwendest du denn (bitte Link zum
Datenblatt). Vielleicht mag der ja keine kapazitiven Lasten am Ausgang
und fängt an zu schwingen? Das Multimeter im DC-Messbereich mittelt
diese Schwingungen weg und zeigt den Mittelwert an. Bekommst du mit dem
Multimeter denn eine Anzeige, wenn du in den AC-Messbereich schaltest?
Christian B. schrieb:> Das Digitale Messgerät schwangt zwischen 1,42 Volt und 1,45 Volt wobei> dann die Ausgabe an der Console 1.040V und 1.022V anzeigt was allerdings> anscheinen durch die rundung schon 0.1 bar unterschied macht.
Nun bin ich etwas verwirrst. Ist das "digitale Messgerät" dein Aufbau
mit ADC und RPi? Dann würde es nicht dazu passen, dass du jetzt von
0,1Bar Schankungen sprichst, weiter oben von Schwankungen zwischen
0,5Bar und 2Bar.
Auch die "Ausgabe an der Console" (die wohl vom RPi stammt) schankt nur
um +-10mV, was nicht zu den zuvor beschriebenen Druckschwankungen passt.
Kannst du nochmal übersichtlich sortieren, was du womit misst und was
dabei wie stark schwankt und voneinander abweicht?
Ich habe letztens so ein Breakout Board in der Hand gehabt. Am Pi sah
das ganz gut aus.
Christian B. schrieb:> Hallo zusammen Ich habe hier ja schon etwas über den ADS115 lesen können> und mich informiert es bleiben trotzdem ein paar fragen offen. Wenn das> ja ein 16Bit gerät ist warum ist der messwert dan 0.1875 mV bei maximal> 6.144V
15 Bit + Sign
btw: Default sind +-2.048V. Auch bei höheren Messbereichen darf der
Eingang nicht VDD überschreiten (was effektiv dazu führt, dass man
höhere Messbereiche nicht ausfahren kann).
> das ergit ja ein umrechen facktor von 2hoch 15 und nicht 16.
Passt dann, oder? (habe jetzt nicht nachgerechnet)
> Hintergrund der suche nach lösung bzw verständis ist das ich am Rasberry> ein ADS1115 angebaut habe und einen drucksensor von 60 PSI wobei 0PSI
Tip: Nimm ein Poti/Spindelregler als Spannungsteiler zum Testen und
prüfe damit, wenn du die Quelle des Problems nicht eindeutig
identifizieren kannst.
Christian B. schrieb:> Wenn ich das jetzt mal so Betrachte würde ich fast behaupten das diese> schwankungen durch die (groben 60PSI) kommen.
Ich wollte dir eigentlich vermitteln: nicht vermuten, sondern das
Problem aufteilen. Leg eine definierte Spannung an den ADC an und
kontrolliere, ob du diese Spannung misst.
> Das Digitale Messgerät schwangt zwischen 1,42 Volt und 1,45 Volt wobei> dann die Ausgabe an der Console 1.040V und 1.022V anzeigt
Ja, da fehlt doch ein halbes Volt.
Christian B. schrieb:> # Tests shows linear relationship between psi & voltage:
Da muss man eignetlich keinen Test machen, sondern nur das Datenblatt
anschauen.
Alles was ich an Daten gefunden habe siehe Bilder mit dem Multimeter
gemessen 1,42v was Ca 1 bar ergibt analog Druck Messer zeigt wie auf dem
Bild zu sehen an.
Christian B. schrieb:> 1,42v was Ca 1 bar
Wie kommst du auf diesen Schluss?
1 Bar sind 15psi und damit laut Datenblatt ca. 2,5V.
Von daher passen die angezeigten 0,6 Bar gut zu den gemessenen 1,4V.
Wobei der Druckmesser etwa 0,1 Bar zu viel anzeigt. Denn dem Sensor
traue ich da mehr als diesem Plastikmesswerk...
Aufbau und Teil des Script von diesem Link
http://www.rototron.info/raspberry-pi-analog-water-sensor-tutorial/
Ich glaube balt es ist am sinnvollsten die 0,5v für 0psi von dem
Messwert value[0] abzuziehen frage ist für mich gerade nur wie ich das
da abziehe weil dann kann ich ja sagen das 1psi 0,06666v sind wen ich
mich verrechnet habe Rechnung
Christian B. schrieb:> Alles was ich an Daten gefunden habe
Warum zeigst du ein abgeschnittenes Bild von einem Datenblatt statt
einfach auf die Quelle zu verlinken?
Christian B. schrieb:> siehe Bilder mit dem Multimeter> gemessen 1,42v was Ca 1 bar ergibt analog Druck Messer zeigt wie auf dem> Bild zu sehen an.
Das ist leider immer noch nicht die übersichtliche Zusammenstellung der
verschiedenen Werte. Aber zusammen mit folgender Beschreibung:
Christian B. schrieb:> Das Digitale Messgerät schwangt zwischen 1,42 Volt und 1,45 Volt wobei> dann die Ausgabe an der Console 1.040V und 1.022V anzeigt
reime ich mir mal folgendes zusammen:
Das analoge Druckmessgerät zeigt 0,62Bar (= 9 psi)
Ein Digitalmultimeter zeigt 1,42V
Mit dem ADC misst du gleichzeitig im Mittel 1,03V und gibst diese über
den RPi aus. Nur dein digitales Messgerät liegt völlig daneben.
Stimmt das so?
1,03V entsprechen mit der Kennlinie deines Sensors einem Druck von 8
psi. Ist schon recht nahe an dem Wert, den der analoge Druckmesser
anzeigt, oder. Was dein Digitalmessgerät anzeigt (und was aus den
anfangs erwähnten "extremen Schwankungen" geworden ist, kann ich nicht
recht nachvollziehen: deine Darstellung der Messungen ist für mich nicht
schlüssig.
Christian B. schrieb:> Ich glaube balt es ist am sinnvollsten...
Da gibt es nicht viel Raum zum Diskutieren, was sinnvoll oder weniger
sinnvoll ist. Es gibt einen linearen Zusammenhang zwischen Druck und
Ausgangsspannung des Sensors. Die Geradengleichung ist mit den gegebenen
Punkten festgelegt.
Hallo zusammen,
ich häng mich hier mal dran da ich ein änlich gelagertes Problem hab.
1 Ardu + ADS1115 + Ceracore UCS2
https://portal.endress.com/wa001/dla/5000213/1619/000/00/TI901PDE_0808.pdf
Ueber den ADS lese ich vom Sensor 2.45V, dies deckt sich mit der
Erwartung.
Gleichzeitig lese ich die VDD(voltageD) mit 4,95V (USB Versorgung des
Ardu) und 4,99V (Versorgung des Ardu vom Netzteil) aus.
Mit dem Unterschied von 0.4V auf VDD steigt meine Signalspannung am
Sensor proportional an (voltageA = 2,45V --> 2,47V).
Nun fehlt mir der Ansatz wie man damit korrekterweise umgeht, bzw. den
Unterschied in die Berechnung mit einfließen lässt damit ich von
Schwankungen auf der Spanungsversorgung unabhängig bin.
Im folgenden mal die entscheidenden Zeilen:
Kompletter Code im Anhang.
p_offs ist hier dann der Unterschied zu dem Einstellwert p_atmo, der
sich über die Keys vom LCD.Shield einstellen lässt.
Grüße