Liebe Nutzer, ich habe einen Arduino Uno mit einem I2C Display und einem KTY Sensor. Nun möchte ich den Messwert über das Display auslesen, leider finde ich nichts konkretes im Internet. Mein Display ohne Sensor kann ich programmieren. Wie sieht der Sketch für die Ausgabe eines Messwertes aus? Oder gibt es gute Beispiele/Erklärungen? Ich wäre über Hilfe sehr dankbar. Mit freundlichen Grüßen.
dein alter Thread ist noch da, nur ins Offtopic verschoben worden: Beitrag "Arduino als Temperaturschalter mit Relais und KTY-Sensor." Da wurden ja schon viele Anregungen gegegeben. Anfragen zu fertigen Hausaufgaben führen hier schnell zu verbalen Attacken...
Hallo, ja, meine andere Frage ist noch vorhanden. Leider komme ich mit den Antworten nicht unbedingt weiter. Ich möchte keine fertigen Hausaufgaben, sind ja auch keine. Die Thematik des Arduino ist mir einfach neu. Es würde mir nur sehr helfen, wenn ich so etwas sehen könnte, wie das funktioniert, zusammenhängt und aussieht, um das Ganze zu verstehen. Mit freundlichen Grüßen.
@ Kai F. (einsteiger94) >Es würde mir nur sehr helfen, wenn ich so etwas sehen könnte, wie das >funktioniert, Für den Temperatursensor brauchst du noch einen Widerstand, um damit einen Spannungsteiler zu bauen. Den klemmst du an GND/VCC vom Arduino. Der Mittelabgriff geht an einen Analogeingang. Den kann man leicht einlesen. Danach einfach noch umrechnen (Spannung -> Temperatur) und anzeigen.
Kai F. schrieb: > Leider komme ich mit den Antworten nicht unbedingt weiter. Das liegt nicht an den Antworten, sondern an deiner Haltung der vollständigen Verweigerung jedes eigenständigen Lernens. Du willst einfach nur, daß andere für dich machen, was du haben willst, weil du schlicht stinkendfaul bist. So ein Verhalten ist komplett asozial und darf nicht unterstützt werden. Das ist auch zu deinem Besten...
:
Wiederhergestellt durch Moderator
Gibt es für den KTY Sensor eine spezielle Umrechnung? Jeder Sketch bei Google sieht anders aus. Dankeschön. Mit freundlichen Grüßen.
Kai F. schrieb: > Gibt es für den KTY Sensor eine spezielle Umrechnung? Sicherlich. Dafür reicht aber die Kenntnis der Grundrechnungsarten aus.
c-hater schrieb: > Kai F. schrieb: > >> Leider komme ich mit den Antworten nicht unbedingt weiter. > > Das liegt nicht an den Antworten, sondern an deiner Haltung der > vollständigen Verweigerung jedes eigenständigen Lernens. Du willst > einfach nur, daß andere für dich machen, was du haben willst, weil du > schlicht stinkendfaul bist. > > So ein Verhalten ist komplett asozial und darf nicht unterstützt werden. > Das ist auch zu deinem Besten... Ich gehe davon aus, dass du anscheinend schon Fahrradfahren konntest, bevor du laufen gelernt hast. Mit freundlichen Grüßen.
:
Wiederhergestellt durch Moderator
Dankeschön. Muss man sonst noch etwas beachten? Man verbindet ja nur den Arduino mit dem Vorwiderstand und dem KTY Sensor. Wie wird dann der Analogwert eingelesen? Mit einem "int" Befehl? Danach gibt man die Formel ein und sendet das Ergebnis an das Display? lcd.print("Test"); -----Dieses Wort wird bei diesem Bsp. ausgegeben. Setzt man dann einfach die Variable "int" ein? Ich kenne mich diesbezüglich wirklich nicht aus. Mit freundlichen Grüßen.
Du suchst dir einen 'Sketch', (ich verbinde das eher mit Comedy Sendungen, aber egal) mit dem du den AD Wandler auslesen kannst und verbindest den mit deinem LC-Display, so das du Rohwerte des ADC auf dem Display hast. So etwas wird es sicher geben. Dann rechnest du ein bisschen mit Hilfe des Datenblattes für den Sensor und findest heraus, welche Rohwerte des ADC mit welcher Temperatur korrelieren. Zuerst solltest du dich aber mit den Eigenheiten des ADC vertraut machen, also Abtastrateneinstellung und Einstellen der Referenzspannung. Ohne das gehts nun mal nicht, bzw. du bekommst nur merkwürdige Werte heraus.
Kai F. schrieb: > Ich gehe davon aus, dass du anscheinend schon Fahrradfahren konntest, > bevor du laufen gelernt hast. Ganz sicher nicht. Aber: Ich habe das Laufen gelernt, indem ich es selber einfach versucht habe. Natürlich bin ich dabei massenhaft auf die Fresse gefallen (auch wenn ich das nur aus Erzählungen weiß). Aber das hat mir offensichtlich jedesmal gezeigt, wie ich es nicht machen sollte. Also habe ich es das nächste Mal anders probiert und irgendwann konnte ich tatsächlich laufen. Und ich habe auch das Radfahren dadurch gelernt, daß ich es selber probiert habe. Ja, ich bin auch dabei noch ein-, zweimal heftig auf die Fresse gefallen. Aber auch das hat mir nur gezeigt, wie man es nicht machen sollte. Und ich habe es das nächste Mal dann auf andere Weise probiert. Und irgendwann konnte ich dann tatsächlich Fahrrad fahren. So (und nur so) funktioniert Lernen nunmal. Nur Vollpfosten glauben, daß man durch stupides Abkupfern was Lernen könnte. Natürlich gehört auch Abkupfern zum Lernen, aber nur dann, wenn es verstehend passiert. Copy&Paste generiert keinerlei Verständnis.
c-hater schrieb: > Kai F. schrieb: > >> Ich gehe davon aus, dass du anscheinend schon Fahrradfahren konntest, >> bevor du laufen gelernt hast. > > Ganz sicher nicht. Aber: > > Ich habe das Laufen gelernt, indem ich es selber einfach versucht > habe. Natürlich bin ich dabei massenhaft auf die Fresse gefallen (auch > wenn ich das nur aus Erzählungen weiß). Aber das hat mir offensichtlich > jedesmal gezeigt, wie ich es nicht machen sollte. Also habe ich es das > nächste Mal anders probiert und irgendwann konnte ich tatsächlich > laufen. > > Und ich habe auch das Radfahren dadurch gelernt, daß ich es _selber_ > probiert habe. Ja, ich bin auch dabei noch ein-, zweimal heftig auf die > Fresse gefallen. Aber auch das hat mir nur gezeigt, wie man es nicht > machen sollte. Und ich habe es das nächste Mal dann auf andere Weise > probiert. Und irgendwann konnte ich dann tatsächlich Fahrrad fahren. > > So (und nur so) funktioniert Lernen nunmal. Nur Vollpfosten glauben, daß > man durch stupides Abkupfern was Lernen könnte. Natürlich gehört auch > Abkupfern zum Lernen, aber nur dann, wenn es verstehend passiert. > Copy&Paste generiert keinerlei Verständnis. Ich lerne täglich selbstständig und ich bin hier nicht aus Spaß angemeldet! Wenn Sie ja wissen wie schwer das Lernen ist, dann seien Sie doch so sozial und teile ihr exorbitantes Wissen mit bedürftigen, anderenfalls sollten Sie sich wohl ein anderes Forum suchen. Mit freundlichen Grüßen.
:
Bearbeitet durch User
aldder die kennlinie eines kty ist nicht linear man. Du musst krasse Bereich definieren und dann mehrere referenz messungen in deinem bereich machen. Sowas nennt man Linearisierung, hast nicht in der schule aufgepasst, oder was? Weil Du korrek bist, noch ein Tipp man: Mache mehrere Messung und rechne Mittelwert aus.
Also ich habe mit google sofort ein kty81 Arduino Beispiel gefunden. Mit Schaltplan und SW. Aber warum nimmst du den? Ich verwende lieber I2C-Sensoren, z.B: LM73. Der macht alles selber und man kann die Temperatur digital abfragen. 4 Leitungen direkt anlöten, und gut ist. Da braucht man auch kein Kalibrieren oder Korrekturkurven mehr.
Hallo, meinst du den hier? --------------------------------------------- float kty(unsigned int port) { float temp = 82; ADCSRA = 0x00; ADCSRA = (1<<ADEN)|(1<<ADPS2)|(1<<ADPS1)|(1<<ADPS0); ADMUX = 0x00; ADMUX = (1<<REFS0); ADMUX |= port; for (int i=0;i<=64;i++) { ADCSRA|=(1<<ADSC); while (ADCSRA & (1<<ADSC)); temp += (ADCL + ADCH*256); } temp /= 101; temp -= 156; return (temp); } float read_temp = kty(0); print(read_temp); --------------------------------------------- Wir haben die Projekte so verteilt und daran ist leider nichts mehr zu machen. Aber gut zu wissen für die Zukunft. Dankeschön. Mit freundlichen Grüßen.
K. F. schrieb: > Danach gibt man die Formel ein und sendet das Ergebnis an das Display? Bevor du irgendeine Formel eingibst, musst du erstmal verstehen, wie der Zusammenhang zwischen Messwerten und Temperatur ist. Dann kannst du überlegen, wie du den Zusammenhang mit einer Formel beschreiben kannst. Wenn das alles klar ist, gilt es einen Algorithmus zu ersinnen, der es dem µC erlaubt, diese Umrechnung ausreichend genau durchzuführen. Und erst dann kommt die Umsetzung in ein Programm. Viel Spaß
Jetzt muss man nur noch wissen, dass die KTY-Sensoren nichtlinear sind, sie haben eine Abhängigkeit 2.Ordnung zwischen Temperatur und Widerstandswert. Durch den Aufbau eines Spannungsteilers aus einen normalen Widerstand und dem KTY kann man bei geeigneter Wahl des Widerstands eine recht gute Linearisierung über einen weiten Temperaturbereich (-40°C ... +100°C) erreichen. Beim KTY81/120 z.B. sind 2.4kΩ ein ganz guter Wert.
Der Seite von Sprut nach sollten es eher 2.7K sein. Ich habe mit diesem Wert selber eine sehr gute Übereinstimmung (1Grad) mit einem angeklebten Lm35 Sensor erreicht. Sein Vorschlag den ADC 64 mal auslesen, LSB-Korrektur addieren und dann durch 101 dividieren, und endlich die Offset zu subtrahieren, ist sehr einfach in die Praxis umzusetzen. Ich finde seinen Vorschlag durchaus sehr nützlich. Für viele praktische Anwendungen ist die Genauigkeit des KTY81-110 durchaus gut genug. Mit der Mittelwertbildung von 64 ADC Konvertierungen bekommt an als Bonus noch etwas mehr Auflösung. Hier noch einmal der Link wo das alles sehr ausführlich erklärt wird. http://www.sprut.de/electronic/pic/projekte/thermo/thermo.htm Mfg, Gerhard HildeK schrieb: > Jetzt muss man nur noch wissen, dass die KTY-Sensoren nichtlinear sind, > sie haben eine Abhängigkeit 2.Ordnung zwischen Temperatur und > Widerstandswert. > > Durch den Aufbau eines Spannungsteilers aus einen normalen Widerstand > und dem KTY kann man bei geeigneter Wahl des Widerstands eine recht gute > Linearisierung über einen weiten Temperaturbereich (-40°C ... +100°C) > erreichen. > Beim KTY81/120 z.B. sind 2.4kΩ ein ganz guter Wert.
Gerhard O. schrieb: > Der Seite von Sprut nach sollten es eher 2.7K sein. Ja, ich hatte mich aber auf den /120 bezogen, bei Sprut ist der /110 verwendet worden und das ergibt einen etwas abweichenden Wert. Den Widerstandswert hatte ich auf Basis der typischen Datenblattwerte alle 10° dadurch ermittelt, indem ich die Summe der quadratischen Fehler minimiert habe, um eine Geradengleichung für den Zusammenhang zwischen gemessener Spannung und Temperatur zu erhalten. Aber auch die 2k7 von Sprut würden beim /120 nur an den Rändern einen etwas größeren Fehler produzieren - vermutlich aber immer noch kleiner, als die im Datenblatt genannten Toleranzen des Sensors selber, die speziell an den Bereichsrändern durchaus schon groß sind.
HildeK schrieb: > Gerhard O. schrieb: >> Der Seite von Sprut nach sollten es eher 2.7K sein. > > Ja, ich hatte mich aber auf den /120 bezogen, bei Sprut ist der /110 > verwendet worden und das ergibt einen etwas abweichenden Wert. Das erklärt alles. Ich arbeitete bis jetzt nur mit den 110ern. Ist eigentlich toll wie niedrig man den Linearitätsfehler mit dieser Methode bekommt. Man müsste eigentlich ein brauchbares Thermometer mit dem ICL7107 Wandler ohne uC erstellen können. Gruß, Gerhard
Gerhard O. schrieb: > Man müsste eigentlich ein brauchbares Thermometer mit dem > ICL7107 Wandler ohne uC erstellen können. Ja, geht! Vor Jahrzehnten habe ich mal einige davon erstellt - mit Sensor TSU102 im einseitig zugeschmolzenen Glasrohr, mit ICL7126, LC Display und 9V-Batterie. Ich glaube, ich habe die Batterien noch nie gewechselt und die Teile sind immer noch gelegentlich im Einsatz ... Den optimalen Widerstand hatte ich damals zu 2450Ω berechnet und 2k4 eingebaut. Wie gut die sind, ist mangels ausreichender Referenz schwer zu sagen, aber der Abgleich mit Eiswasser und kochendem Wasser (ja, luftdruckabhängig) schien gut genug zu sein, dass eine 'Fiebermessung' im Mund ein vertrauenserweckendes Ergebnis ergab.
HildeK schrieb: > Gerhard O. schrieb: >> Man müsste eigentlich ein brauchbares Thermometer mit dem >> ICL7107 Wandler ohne uC erstellen können. > > Ja, geht! Vor Jahrzehnten habe ich mal einige davon erstellt - mit > Sensor TSU102 im einseitig zugeschmolzenen Glasrohr, mit ICL7126, LC > Display und 9V-Batterie. Ich glaube, ich habe die Batterien noch nie > gewechselt und die Teile sind immer noch gelegentlich im Einsatz ... > Den optimalen Widerstand hatte ich damals zu 2450Ω berechnet und 2k4 > eingebaut. > > Wie gut die sind, ist mangels ausreichender Referenz schwer zu sagen, > aber der Abgleich mit Eiswasser und kochendem Wasser (ja, > luftdruckabhängig) schien gut genug zu sein, dass eine 'Fiebermessung' > im Mund ein vertrauenserweckendes Ergebnis ergab. Danke für den Erfahrungsbericht. Das würde mich mal reizen. Das einseitig zugeschlossene Glassrohr ist eine gute Idee. Man könne dann den Ausgang vielleicht mit Epoxydharz abdichten. Wie hast Du das angestellt? Gerhard
K. F. schrieb: > Hallo, > > meinst du den hier? Siehst du. Das ist das eigentlich traurige an vielen Leuten, die hier im Forum aufschlagen und einen Arduino programmieren wollen. Die Arduino Mannschaft hat euch eh schon fast alles was ein bisschen schwer ist und Datenblatt-Recherche erfordert abgenommen. Das ist alles dokumentiert aber ihr kennt es trotzdem nicht. Schon mal was von der Funktion "analogRead()" gehört? Du musst sie nur verwenden und schon hast du den kompletten Teil "Wie benutze ich meinen Analog Digital Wandler?" erledigt. Was koennte einfacher sein, als mit dem KTY und einem Widerstand einen Spannungsteiler aufzubauen, mittels analogRead den Wert vom ADC auszulesen und den ganz einfach mal aufs LCD zu geben. Erwaermen oder kuehlen des KTY muss zu einer Wertaenderung fuehren. Die Umrechnung in eine Temperatur kommt spaeter. Das kriegt man auch hin, wenn man nur Laufen kann und noch nicht radfahren. Aber: man lernt auch nicht radfahren, indem man anderen dabei zusieht, sondern indem man sich selbst aufs Rad setzt und macht!
Karl Heinz schrieb: > Siehst du. Das ist das eigentlich traurige an vielen Leuten, die hier im > Forum aufschlagen und einen Arduino programmieren wollen. agree Karl Heinz schrieb: > Die Arduino > Mannschaft hat euch eh schon fast alles was ein bisschen schwer ist und > Datenblatt-Recherche erfordert abgenommen. Das ist alles dokumentiert > aber ihr kennt es trotzdem nicht. Schon mal was von der Funktion > "analogRead()" gehört? Du musst sie nur verwenden und schon hast du den > kompletten Teil "Wie benutze ich meinen Analog Digital Wandler?" > erledigt. Hier liegt der Knackpunkt. Man wird immer bequemer. Wie oft wollen Leute mit einem Arduino LED's blinken lassen? Da kann ich nur mit dem Kopf schütteln. Man sollte es erstmal ein paar Grundschaltungen aufbauen und einstudieren (ohne einem Arduino oder Atmega oder sonst irgendeinem Mikrocontroller/Board)
HildeK schrieb: > der Abgleich mit Eiswasser und kochendem Wasser (ja, > luftdruckabhängig) schien gut genug zu sein, dass eine 'Fiebermessung' > im Mund ein vertrauenserweckendes Ergebnis ergab. Die "Fiebermessung" ist auch ein guter Kalibrierpunkt, da dieser Punkt viel näher am meist benutztem Meßbereich liegt. Auch sehr alte Quecksilberthermometer sind meist auf ein bis zwei Zehntel Grad genau, solange die Quecksilbersäule nicht unterbrochen ist. Man steckt Sensor und Thermometer unter die Armbeuge, und liest anchliessend ab. Gruss Harald
Gerhard O. schrieb: > Man könne > dann den Ausgang vielleicht mit Epoxydharz abdichten. Wie hast Du das > angestellt? Mit Schrumpfschlauch über wasserfestem Tesafilm. Das Glasrohr war so ca. 7cm lang und es muss ja am Kabeleingang nicht unbedingt wasserdicht sein. Man muss ja nur den vorderen Teil in eine Flüssigkeit tauchen. Natürlich geht durch das Glasrohr die Einstellzeit etwas hoch. Den Sensor habe ich einfach mit ein wenig Wärmeleitpaste am zugeschmolzenen Teil des Glasrohres angebracht. Das Anschlusskabel konnte mit der Isolation ein Stück in das Röhrchen eingeführt werden. Den Sensor war recht klein - kleiner als eine 3mm LED. Diese Röhrchen kannte ich aus dem Chemieunterricht und waren in einem Geschäft für Chemie-Laborbedarf zu bekommen - heute sicherlich irgendwo in einem Online-Shop zu finden. Da hat übrigens jemand viele Datenblätter von TI gescannt und zusammengefasst. Auf S.21 ist übrigens der 2k4 zur Linearisierung genannt ... http://electronicsandbooks.com/eab1/manual/Electronic%20Component%20Databook%20Datasheet/Brand/Texas%20Instruments/Data%20Book/1987%20Texas%20Instruments%20Silicon%20Sensors%20TDS252%20c20080712%20%5B84%5D.pdf
Danke fuer Deine Infos und den tollen Link. Dieses Handbuch kannte ich noch nicht. Werde mir mal den Inhalt näher ansehen. Habe gerade mal gestöbert. Mir scheint fast, NXP hat sich von T.I. etwas "inspirieren" lassen:-) Ich versuchte vor vielen Jahren einen AD590 mit Schrumpfschlauch abzudichten, aber es war ums "verrecken" nicht dicht zu bekommen. Jedes Mal wenn ichs ins Wasser tauchte war es mit der Herrlichkeit zu Ende. Das mit der Trägheit des Sensors ist natürlich nicht so schön. Aber man kann damit leben. Gruß, Gerhard HildeK schrieb: > Gerhard O. schrieb: >> Man könne >> dann den Ausgang vielleicht mit Epoxydharz abdichten. Wie hast Du das >> angestellt? > > Mit Schrumpfschlauch über wasserfestem Tesafilm. > Das Glasrohr war so ca. 7cm lang und es muss ja am Kabeleingang nicht > unbedingt wasserdicht sein. Man muss ja nur den vorderen Teil in eine > Flüssigkeit tauchen. Natürlich geht durch das Glasrohr die Einstellzeit > etwas hoch. > Den Sensor habe ich einfach mit ein wenig Wärmeleitpaste am > zugeschmolzenen Teil des Glasrohres angebracht. Das Anschlusskabel > konnte mit der Isolation ein Stück in das Röhrchen eingeführt werden. > Den Sensor war recht klein - kleiner als eine 3mm LED. > Diese Röhrchen kannte ich aus dem Chemieunterricht und waren in einem > Geschäft für Chemie-Laborbedarf zu bekommen - heute sicherlich irgendwo > in einem Online-Shop zu finden. > > Da hat übrigens jemand viele Datenblätter von TI gescannt und > zusammengefasst. Auf S.21 ist übrigens der 2k4 zur Linearisierung > genannt ... > http://electronicsandbooks.com/eab1/manual/Electronic%20Component%20Databook%20Datasheet/Brand/Texas%20Instruments/Data%20Book/1987%20Texas%20Instruments%20Silicon%20Sensors%20TDS252%20c20080712%20%5B84%5D.pdf
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.