I2C Messwerte

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,
    ich wollte mich mal mit AD/DA Wandler vertraut machen und habe also einen alten Temperaturfühler abgeschnitten und an einen YL40 Wandler angeshlossen.
    Der YL40 wird mit 5 Volt betrieben.
    Der Temperatursensor zeigt folgende Widerstandswerte.
    Parallel dazu habe ich ein Voltmeter angeschlossen, 3,3 Volt über den Widerstand.


    Eiswasser 105 kOhm 2,95 Volt
    Kochwasser 8 kOhm 3,25 Volt
    Zimmertemp. 40 kOhm 3,16 Volt

    Zugegeben, die 0,3 Volt Differenz total sind arg wenig für eine genaue Messung.

    Aber ich habe zunächst ein anderes Problem, die Messwerte.
    Wenn ich fix 3,3 Volt auf die AIN0 Leitung lege bekomme ich dauerhaft den Messwert 169 angezeigt.
    Wenn aber der Widerstand dazwischen ist springen die Werte sekündlich ausgemessen bei Zimmertemperetaur z. B. zwischen 143 und 170 was ja eigentlich nicht sein kann. Also gut und gerne 27 Punkte Differenz.
    Wobei laut Dreisatz der Wert 162 sein sollte.

    Was könnte man denn theoretisch tun um überhaupt irgendwelche halbwegs gescheiten Werte zu bekommen?

    Genau muss das nich sein, es ist ja nur eine Übung zum Thema AD Wandler.

    VM


  • Eiswasser 105 kOhm 2,95 Volt
    Kochwasser 8 kOhm 3,25 Volt
    Zimmertemp. 40 kOhm 3,16 Volt

    Zugegeben, die 0,3 Volt Differenz total sind arg wenig für eine genaue Messung.


    Da gebe ich Dir recht mit 0,3V bei so einem riesigen Temperaturunterschied wirst Du nicht glücklich. Aber ich vermute Du verwendest den Temperatursensor falsch: Die Widerstandswerte zeigen ja deutlich eine Beeinflussung durch die Temperatur. Die Spannungswerte kaum. Für mich sieht es so aus als würdest Du den Widerstand einfach in Serie (3V3 - TSensor - V+ / V- - GND) schließen - so klappt das nicht: Du brauchst einen Spannungsteiler ich würde mal 22Kohm oder ähnlichen Vorwiderstand vorschlagen. Jetzt die Schaltung: 3V3 - 22KOhm - TSensor - GND. Jetzt kannst du eine Spannung am Widerstand (TSensor-GND) messen. Rechnerisch wären das:
    Eiswasser 105 kOhm 2,73 Volt (3,3V / 127KOhm * 105KOhm)
    Kochwasser 8 kOhm 0,88 Volt (3,3V / 30KOhm * 8 KOhm)
    Zimmertemp. 40 kOhm 2,13 Volt (3,3V / 62KOhm * 40 KOhm)

    Ich hoffe ich konnte helfen...

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Hallo.

    Paar Tip's dazu:
    Du brauchst nen Spannungsteiler um einen vernünftigen Spannungshub zu bekommen.Also den Rv an 5V dann an den Sensor der gegen Masse geht.
    Der Mittelabgriff ist der Analogeingang des YL40.
    Wenn du deine 3 Messwerte mal in ein Koordinatensysten zeichnest, wirst du sehen dass der Sensor ein NTC mit stark exponentiell negativer Steigung ist.
    Also nix mit Dreisatz.
    Wie das ganze Prinzip funktioniert hab ich >hier< mal erklärt.

    Dann zu den 5V.
    Das ist mit Vorsicht zu geniesen.Raspi liefert 3,3V an den GPIO's.Der YL40 erwartet aber 5V da du ihn mit 5V betreibst.Also nen Levelshifter in die I²C Leitung.

    gruß root

    Einmal editiert, zuletzt von root (14. Mai 2016 um 12:43)

  • Also zunächst vielen Dank.
    Habe das so einigermassen verstanden.
    Wie so oft im Leben ist in meiner Sammlung von Widerständen nie der dabei, der gerade benötigt wird.
    Also habe ich 1 megaOhm genommen.
    Dadurch hat sich die Spannung quasi halbiert.
    Von Zimmer zu Eiswürfel 0,8 Volt. also 1,62 bis 1,54.

    Nur, das Problem mit den Messwerten hat sich nicht geändert, die springen immer noch wie verrückt, eben nur niedriger,
    damit kann man nichts anfangen.
    Sauber ist nur fix 3,3 Volt mit 169 Messwert.
    Selbst wenn nichts angelegt ist schwanken die Werte zwischen 0 und 60.

    Selbst ein zweiter YL40 half nicht.


    Da ist doch was ganz anderes faul.

    VM

  • Hallo Villamarinella,


    das sieht ja ganz nach einer fehlenden gemeinsamen GND-Leitung aus.

    Kannst Du mal die Schaltung posten?

    Wenn Du das Ganze über einen MCP 3x0y machen würdest, dann könnte ich Dir ein Icon-Programm zum Auslesen geben. Dass läuft dann aber über SPI.


    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    Einmal editiert, zuletzt von Andreas (14. Mai 2016 um 15:02)

  • Ich hoffe auf den Bildern kann man es erkennen.
    Und nein, die Bilder sind insofern falsch als das der Temp Ohm nicht an den Mega OHM angeschlossen ist.
    Ist er aber:-)
    Das Breadboard hat links die 3,3 Volt Schiene und rechts die 5 Volt Schiene.
    Links fliesst der Strom wie folgt:
    + 3,3 Volt, 1 MOhm, Temp OHM, YL40.

    GND ist korrekt überall.

    Selbst wenn ich den variablen TEMP Ohm weglasse, also fix 1 MegaOhm und nur alle 3 Sekunden messe liegen die Werte zwischen 144 und 172.

    Habe also mal einen MQ3 Gassensor angeschlossen.
    Der liefert so ca. 0,4 Volt und dann habe ich auch ca. adäquate Messwerte zwischen 23 und 26 ohne Ausreisser.

    Ich habe hier noch so einen MiniMini Chip von dem ich nicht weiß was es ist.
    Das Ding hat 10 Anschlüsse, HV1,2,3,4 , HV GND verbunden mit LV1,2,3,4, LV GND.

    @ Andreas
    Gerne nehme ich das Icon Programm. Habe zwar nur eine SPI Sache hier, einen RFID Reader den ich bisher mit keiner
    Software ans Laufen bekommen habe. Ich nehme also an ,der ist kaputt:-)

    VM


  • + 3,3 Volt, 1 MOhm, Temp OHM, YL40.VM


    a) Also mit 1MOhm hast Du keine gute Wahl getroffen: Ein ADC hat in der Regel eine Eingangsimpetanz zum laden seiner Kondensatoren - und bei einer so hochohmigen Versorgung verzieht es Dir die ziemlich. Hast Du irgend was zwischen, 500 Ohm und 50K?
    b) Du brauchst einen Spannungsteiler: +3,3Volt, 0K5-50K, TEMP OHM, GND. Den YL40 hängst Du zu der Verbindung Widerstand / TempOhm. Dann sollte es klappen.
    c) Du hast 3,3V mit Vorwiderstand (1MOhm) und Temp OHM an den ADC gehängt - da misst Du bestenfalls 3V3, wenn die Eingangsimpetanz nicht zu hoch ist.

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Hallo Villamarinella.


    Ich hoffe auf den Bildern kann man es erkennen.


    ... sorry aber da kann keiner was erkennen.
    Wenn man das rechte Bild betrachtet... der orange Draht kommt irgendwo her,geht auf den weissen der im Nirwana endet.
    Der schwarze drüber verschwindet über ne Verlängerung in Briefumschlägen.... :huh:
    Sowas nenn ich Chaos in Perfection.
    Es steht mir nicht zu, dich zu kritisieren, will ich auch gar nicht.
    Soweit ich weiss, bist du älteren Semesters.Das akzeptiere ich, bin selbst in dieser Richtung.
    Aber ein Schaltplan (wenn auch grober) ist was anderes.


    Selbst wenn ich den variablen TEMP Ohm weglasse, also fix 1 MegaOhm und nur alle 3 Sekunden messe liegen die Werte zwischen 144 und 172.


    ...was verstehst du unter "variabler TEMP OHM" ?. Das ist Unsinn.
    Was du brauchst ist ein fixer Rv vor dem Fühler der dir nen vernünfitigen Spannungshub am Sensor erzeugt.
    Überleg mal.Ein MegOhm als Rv... da spielt doch der Sensor fast keine Rolle mehr.
    Du bekommst vernünftige Antworten, ignorierst sie aber mit "ja ja, passt schon", machst deinen eigenen Stiefel weiter und wunderst dich, dass nix geht, und fragst weiter.
    Massse ist nicht geklärt.
    CS auf Low während der Messung ist nicht geklärt.... usw.

    ...sry das mag jetzt hart geklungen haben, aber auch ich helfe dir gerne weiter... nur setz halt das mal um, was dir vorgeschlagen wurde.

    gruß root

  • Ich habe hier noch so einen MiniMini Chip von dem ich nicht weiß was es ist.

    Das Ding hat 10 Anschlüsse, HV1,2,3,4 , HV GND verbunden mit LV1,2,3,4, LV GND.

    Das wird wohl mit ziemlicher Sicherheit ein Levelshifter sein.

    HV = High Voltage ( 5V )
    LV = Low Voltage ( 3,3V )

    Der Rest ist die Masse und die Ein- bzw. Ausgänge. Falls Du nicht die richtigen Widerstände zur Hand hast, könnte man sich auch mit eine Kombination aus paralell o. seriell geschalteten Widerstände an die richtigen Werte ran tasten.

  • Ja, ich akzeptiere jede Kritik, keine Sorge, solange es hilft.
    Ich wollte so viel als Entgegnung schreiben.
    Aber dann...................
    Was ist passiert?`Alles ausgeschaltet, Sportschau gekuckt, mich mit Werder Bremen gefreut,
    Posting gelesen, kleineren Widerstand aufgesteckt, alles eingeschaltet und alles funktioniert.
    Keine Messwertsprünge mehr. Der neue Widerstand, der alte 1 MOhm, die gesamte Schaltung, selbst die Null Leitung ist Null.
    Ich bin sprachlos.

    Fazit:
    Ich hab den AD/DA Vorgang verstanden, die Idee des Spannungsteilers auch.

    Danke an alle für die Geduld mit meiner Wundertüte, denn das ist sie.

    VM
    PS: und bevor ich jetzt noch einmal poste wird alles auf Video gesichert. Komme mir ja selber langsam blöde vor:-)
    Und offensichtlich eine alte Windows Regel befolgen, alles ausschalten und Neustart.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!