Forum: Mikrocontroller und Digitale Elektronik KTY81-110 an Mega16 - Bascom Code???


von Papsi (Gast)


Lesenswert?

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

von Felidae (Gast)


Lesenswert?

Ist zwar kein Bascom, doch die Erklärung ist so gut, dass es Dir möglich
sein sollte es auf Deine Wunschanwendung anzupassen.

http://www.sprut.de/electronic/pic/projekte/thermo/thermo.htm

von Holger B. (Gast)


Lesenswert?

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

von Papsi (Gast)


Lesenswert?

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...

von Papsi (Gast)


Lesenswert?

Kann den da keiner helfen

von Thomas Melinat (Gast)


Lesenswert?

@papsi

wie soll die Temparatur denn ausgegeben werden ? -LCD- ?

Gruß, Thomas.

von Papsi (Gast)


Lesenswert?

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.

von Thomas Melinat (Gast)


Lesenswert?

@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.

von Papsi (Gast)


Lesenswert?

Die Größe ist erstmal nebensächlich.

Zur weiteren Bearbeitung wäre mir jetzt mal eine if then Lösung am
liebsten.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

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.

von Thomas Melinat (Gast)


Lesenswert?

@ Daniel

....hab Dir gerade was gemailt.

Gruß, Thomas.

von Flötotto (Gast)


Lesenswert?

@Rufus T. Firefly (Rufus)

habe dein Beispiel gerade in Bascom umgesetzt.
Bei einem ADC-Wert von 798 erhalte ich eine Temparatur von 2737
Grad....????

von Messfux (Gast)


Lesenswert?

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

von Michael von Gersdorff (Gast)


Lesenswert?

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?

von Papsi (Gast)


Lesenswert?

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?

von Michael von Gersdorff (Gast)


Angehängte Dateien:

Lesenswert?

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

von Michael von Gersdorff (Gast)


Lesenswert?

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

von Flötotto (Gast)


Lesenswert?

@all

hat einer von Euch eine geeignete Schaltung parat, um die
zugegebenermaßen kleine Spannung am KTY zu verstärken ?
(erhöhung der Messgenauigkeit)

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
Noch kein Account? Hier anmelden.