Hallo,
Ich brächte für folgenden Anschluss einen Bascom Code.
Ich bin erst seit einer Woche mit Bascom beschäftigt, würde aber gerne
eine Temperatur messen.
Der Messbereich sollte so zwischen 10 und 50 Grad liegen.
Der Anschluss ist klar:
+5V---Widerstand---KTY81---GND
|
|
Mega16
Kann mir da einer einen Bascom Cde zusammenstellen oder einen Link
nennen, wo ich sowas finde.
Viel Dank
Papsi
Hallo Papsi,
zu meiner Schaltung:
http://mikrocontroller.cco-ev.de/de/heizung_anleitung.php
(Ähnlich wie Du schon oben beschrieben hast)
Gehört folgender Code:
Temperatur = ((ADWERT * 25) / 4) - 2250;
Das sollte in BASCOM ähnlich gehen.
Gruss,
Holger
Kann mir da keiner mal den Sourcecode dafür schicken oder hier posten.
So fit bin ich noch nicht mit Bascom, geschweige denn mit anderen
Programmiersprachen.
Das wäre echt super...
Hallo,
Die Ausgabe am LCD bekomme ich auch hin, mir geht es nur um die
Berechnung und um die Sachen die dazu gehören.
Von mir aus auf einem LCD ausgeben.
Brauche aber hauptsächlich eine Var mit Temp o.ä., die ich dann weiter
verarbeiten kann.
@papsi
du könntest mit "if then..." arbeiten, wenn Dir die Größe des Bascom
Codes egal ist.
Da kein Sensor 100% linear ist, könntest Du anstelle zu rechnen eine
Lookup-Tabelle bemühen.
Gruß, Thomas.
Der Funktionsparser von BASCOM ist ziemlich primitiv, daher muss man den
Ausdruck
Temperatur = ((ADWERT * 25) / 4) - 2250;
auf mehrere Zeilen aufteilen.
Temperatur = ADWERT * 25;
Temperatur = Temperatur / 4;
Temperatur = Temperatur - 2250;
Und fertig.
Habe Code mit LCD-Ausgabe, allerdings ein -210, d.h. mit 2 kOhm.
Referenzwiderstand 2,2 kOhm. Bei einem -110 müsste es mit 1 ,1 KOhm
funktionieren (Kalibrierfunktion)
Wer`s will bitte email an mich.
Gruß
Messfux
Hallo Papsi
Ich mache viel mit Bascom und kann Dir auch bestimmt helfen. Zunächst
ist es bei Bascom wichtig mur einen ausführbaren Befehl in jeder Zeile
zu haben. Deine Schaltung ist die "primitivste" Methoden eine
Temperatur zu messen. Die Auflösung wird auch nicht gerade berauschend
sein aber für einen Anfang durchaus geeignet.
Welchen Prozessor nimmst Du?
Dein Sensor wird bei 10 Grad ca 886 Ohm haben und bei 50 Grad ca 1209
Ohm. Das ist ziemlich gering da Du, wenn Du mit einem 1K Vorwiderstand
arbeitest, bereits 2,5mA Strom bekommst und dadurch 12,5 mW
Heizleistung im Sensor.
Die Spannung am ADC wird bei 10 Grad ca 5*(886/(886+1000))=2,3488 Volt
betragen. bei 50 Grad ca 5*(1290/(1290+1000))=2,736 Volt
Du hast also nur einen Messbereich von 2,736-2,3488=0,387 Volt
Falls Dein Prozessor 10 Bit ADCs hat dann hast Du 4,88mV/Bit also
387/4,88=79 Bit
Das ergibt also 2 Bit je Grad celsius.
Soweit alles klar?
Hä was wie Zahlen - Bits :-)
Als Chip habe ich einen Mega16.
Als Sensor einen KTY 81-110
Ich habe es schon am laufen, und die Ausgabe erledigt ein LCD.
Habe zur Zeit zum testen einen Aussensensor und einen Innensensor für
meine Experimente.
Momentan hab ich ja ganze Zahlen als Werte
Vieleicht brauche ich später noch Werte mit einer Kommastelle, das wird
aber bestimmt mit der beschriebenen Hardware nicht möglich sein.
Da muß ich bestimmt einen anderen Temp.Sensor verwenden.
Welchen?
2 Teil
Ich habe eine Tabelle der Bits und Temperaturen berechnet und eine
Lineare Regression durchgeführt.
Das Ergebnis ist:
Temperatur=0,503571*Bits minus 232,69
Beispiel 512 Bits: 25,13 Grad
Das kleine fertige Programm findest Du im Anhang. Ich hab es nicht
getestet aber es compiliert fehlerfrei. Du mußt nur noch die Ausgabe
(LCD oder Print usw) ergänzen
Hallo Papsi
Ich war nicht schnell genug da Du es inzwischen schon geschafft
hattest.
Der KTY 81 ist ein analoger Sensor, der wäre auch für genauere
Messungen geeignet. Allerdings müsste das Signal verstärkt werden damit
Du mehr als 79 Bits für den Messbereich erhältst.
Michael