Forum: Projekte & Code TSIC206 TSIC306 Temperatursensor / Thermometer LCD Assembler ATmega8


von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Ein kleines Programmierbeispiel um die Daten aus einem TSIC206 / TSIC306
auszulesen.

Besonderheiten:

- Strobe vom TSIC Sensor wird ermittelt und angezeigt

- Messung erfolgt ohne Interrupt

- die Interrupts werden für ca. 25ms gesperrt, liese sich aber
  sicherlich noch optimieren

- Programmcode ist für 1MHz Takt vorbereitet

- im Bereich von 1 bis 4 MHz (Takt) arbeitet der Programmcode
  ohne Fehler, oberhalb 4 MHz müssen ggf. die Warteschleifen
  angepasst werden

- Parität wird geprüft und Bit 7 bis 4 (MSB) auf NULL-Wertigkeit

- Die Spannung vom TSIC 206 / TSIC 306 wird nach der Messung wieder
  abgeschaltet (wegen ev. Erwärmung des Sensors).

- LED ROT signalisiert einen Fehler (z.B. Parität), lässt sich nur durch
  ein Reset löschen

- LED GELB signalisiert den Messvorgang (Interruptsperrung)

- LED GRÜN Bits der Messung



Programmablauf:

- Spannung am Sensor einschalten und etwas warten (Bootvorgang)

- Prüfung, ob Sensor-Signale am µC anliegen

- Auf eine Sendepause vom Sensor warten

- Auf Start-Bit warten und Strobe messen

- Alle folgenden Bits speichern und auswerten

- Umrechnung der Bits in Temperatur (vereinfachtes Verfahren)



Bernhard

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

...die LED Variante....

Besonderheiten:

- Aufpassen, die Schaltung ist relativ einfach aufgebaut, ein
  Kurzschluss am Display könnte den µC schädigen, da das Display mit
  9V betrieben wird (hohe Flußsspannung der Displays)

- Fehlercodes werden angezeigt (z.B. Kurzschluss am Sensor, keine Daten,
  Paritäts- und Bitfehler)

- bei der TSIC-Messung werden die Interrupts gesperrt und die 7-Segment-
  Anzeigen für einige ms abgeschaltet

- der Programmcode lässt sich relativ einfach an Beschaltungsänderung
  anpassen


Bernhard

von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

...die etwas verbesserte LED Variante...

- das "flackern" der LEDs beim Messvorgang kaum noch sichtbar

- Sensorbetriebsspannung wird nicht geschaltet
  (diese Variante baucht weniger Pins)

- Strobemessung etwas verbessert

- Fehlermeldung wird als Temperaturwert angezeigt
 (z.B. "-99,9" keine Sensordaten)


Bernhard

von Horst H. (horha)


Lesenswert?

Hallo,

die Berechnung ist so witzig.
*2000 durch 2000 Additionen.
Hier steht ein verkuerztes Verfahren in Assembler:
Beitrag "Re: Temp.Sensor TSIC 306 - Temperaturwert"

von peter__s (Gast)


Lesenswert?

@Bernhard:
siehe oben.
http://www.mikrocontroller.net/attachment/preview/115753/page_snapshots
/001.png

hier realisierst Du wohl das für das KTY81-Thermometer gesuchte 
Low-Level-Signal hardwaremässig.

Hast du mal den Tip, wie das in der alten Software umgedreht werden 
kann.
Würde gerne PNP-Transistoren direkt ansteuern?

Gruss Peter

Da bitte lang zum KTY81:
Beitrag "Re: KTY81-121 KTY81-122 Temperatursensor / Thermometer LED 0,5°C Auflösung Assembler ATmega8"

von Bernhard S. (bernhard)


Lesenswert?

@alle

mich störte bis jetzt, dass immer 3 Leitungen nötig waren,

um den TSIS-206 zu versorgen, mit wenigen Hadgriffen kann

eine 2 Leitungs-Schaltung (1-WIRE) realisiert werden:



Beitrag "TSIC206 im 1WIRE 1-WIRE ONE-WIRE Betrieb Schaltung Diskussion"


Bernhard

: Bearbeitet durch User
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

UPDATE-2015

Nun flackert bei der Messung nichts mehr :-)


Warum nicht?

Wenn der TSIC sein kurzes Datenprotokoll alle 100ms sendet,
kann der Timer-Interrupt für die 7-Segment-Anzeige die Datenabtastung 
empfindlich stören und die einzelnen Datenbits verfälschen.

Das macht nichts, denn die der Programmcode ist so gestaltet, dass drei 
Temperaturwerte (Datenpakete) gleich sein müssen.


Programmstart:

"2015"  ---> Version Jahr
"t.016" ---> Strobe
" 21,6" ---> Temperatur (Beispiel)

Werden keine Daten vom TSIC empfagen, dann leuchtet die rote LED und es 
wird "-50.0" angezeigt.



Bei jeder Messung leuchtet kurz der Punkt im Digit3 (linkes Digit).


Der TSIC kann problemlos in 1-WIRE (spart eine Leitung) oder 2-Wire 
Beschaltung betrieben werden.


Bernhard

: Bearbeitet durch User
von Bernhard S. (bernhard)


Angehängte Dateien:

Lesenswert?

Messungen am TSIS206

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.