www.mikrocontroller.net

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


Autor: Papsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Felidae (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Holger B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Papsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Papsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann den da keiner helfen

Autor: Thomas Melinat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@papsi

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

Gruß, Thomas.

Autor: Papsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas Melinat (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Papsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Größe ist erstmal nebensächlich.

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Thomas Melinat (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Daniel

....hab Dir gerade was gemailt.

Gruß, Thomas.

Autor: Flötotto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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....????

Autor: Messfux (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Michael von Gersdorff (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Papsi (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Michael von Gersdorff (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Michael von Gersdorff (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Flötotto (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.