Forum: Mikrocontroller und Digitale Elektronik digitaler Thermosensor


von Anfänger (Gast)


Lesenswert?

Hallo,

ich hab mir einen digitalen Thermosensor TSIC206/306 geholt. Das Teil 
hat 11 bit und eine Messrate von 10Hz. 3 Beinchen, +5V, 0V und Singal.

Datenblatt:
http://www.produktinfo.conrad.com/datenblaetter/500000-524999/502186-da-01-de-TSIC_206_TEMPERATURSENSOR_TO92.pdf

Doch wie schliesse ich das Teil an meinen µC, einfach mit dem 
Singal-Beinchen an meinen Rx ???

Gruss

von Karl H. (kbuchegg)


Lesenswert?

Anfänger schrieb:

> Doch wie schliesse ich das Teil an meinen µC, einfach mit dem
> Singal-Beinchen an meinen Rx ???

Sieht nicht so aus, als ob da ein Open Collector Ausgang vorhanden wäre. 
Also: rann damit. Solange du den µC-Pin auf Eingang stehen hast, kannst 
du nicht viel Schrotten. Die Versorgungsspannungsbereiche passen 
zusammen.

Sicherheitshalber solltest du dir aber noch das richtige Datenblatt 
besorgen und nicht nur mit diesem Werbefolder operieren.
Das richtige Datenblatt brauchst du sowieso, weil da drinnen steht, in 
welcher Form dir der Sensor seine Daten überspielt (also: das 
Übertragungsprotokoll). Ohne diese Information ist der Sensor so 
nützlich wie ein 2kg Klotz Silizium in einem Stück - nämlich gar nicht.

von Anfänger (Gast)


Lesenswert?

Ok danke für die Hilfe.
Ich werde mir mal das Datenblatt besorgen im Notfall schreibe ich den 
Hersteller an.

Gruss

von Pete K. (pete77)



Lesenswert?

Such mal hier im Forum nach Zac-Wire Protokoll. Datenblätter anbei.

von Anfänger (Gast)


Lesenswert?

Cool....danke.

von Klaus W. (mfgkw)


Lesenswert?

Anfänger schrieb:
> Doch wie schliesse ich das Teil an meinen µC, einfach mit dem
> Singal-Beinchen an meinen Rx ???

Genau so hatte ich mal mit einem TSic 306 an einem AVR gemacht.
Geht einwandfrei, ohne Widerstände oder anderen Schnickschnack.
Mehr Bastelei war die SW-Seite...

von Klaus W. (mfgkw)


Lesenswert?

PS:
Weil der sich doch etwas erwärmt im Betrieb, aber ja nicht
so schnell auf Temperaturänderungen reagiert, daß man ihn
mehrmals pro Sekunde auslesen müsste, hatte ich zusätzlich
einen Pin spendiert und daran die Spannungsversorgung (ebenfalls
direkt) angeschlossen.
Dadurch kann man zur Messung einfach diesen Pin auf High legen,
das reicht zur Versorgung. Kurz warten, bis er "gebootet" hat,
auslesen und wieder abschalten.

von Anfänger (Gast)


Lesenswert?

Klaus Wachtler schrieb:
> Genau so hatte ich mal mit einem TSic 306 an einem AVR gemacht.
> Geht einwandfrei, ohne Widerstände oder anderen Schnickschnack.
> Mehr Bastelei war die SW-Seite...

Und welche Einstellungen hattest Du da ? Baudrate, Stopbit usw ????


> Dadurch kann man zur Messung einfach diesen Pin auf High legen,
> das reicht zur Versorgung. Kurz warten, bis er "gebootet" hat,
> auslesen und wieder abschalten.

Auch nicht schlecht. Das das Teil nur wenige µA zieht und auch über 5V 
läuft könnte ich den direkt an den µC anschliessen.

von Klaus W. (mfgkw)


Lesenswert?

Anfänger schrieb:
> Baudrate, Stopbit usw ????

Guter Witz...

Das ist nicht RS232, sondern ZACWire.
Siehe die Doku von Pete K. (pete77).

von Klaus W. (mfgkw)


Lesenswert?

Mein Quelltext ist im Forum hier:
Beitrag "Re: Serielle Schnittstelle und TSIC 306 Temp.sensor"

Gibt aber auch andere, musst du sehen was dir am ehesten liegt.

von Anfänger (Gast)


Lesenswert?

Dann verstehe ich den Unterschied nicht so ganz.

Nach dem Datenblatt sieht das Protokoll doch genauso aus wie das RS232. 
Startbit, Databit, Parity.

von Karl H. (kbuchegg)


Lesenswert?

Anfänger schrieb:
> Dann verstehe ich den Unterschied nicht so ganz.

:-)

Du gehst nach der logischen Protokollbeschreibung.
Es gibt viele Übertragungsverfahren, die sich logisch nach dem Muster
   Startbit
   Datenbits
   Stoppbit
funktionieren.

Aber schau mal in den Abschnitt 1.2 Bit Encoding
Völlig anders.

von Klaus W. (mfgkw)


Lesenswert?

Erst mal ähnlich, aber halt nicht gleich.
Spontan sehe ich drei Unterschiede:
- Ruhepegel und log. 0 ist bei ZACwire High (5V),
  Signal=1 ist TTL low (0V).
  Bei RS232 ist es eigentlich +10..12V für log. 0 und Ruhepegel,
  -10..12V für logisch 1.
  RS232 vor dem MAX232 hat logisch 0 bei 0V und log. 1 bei 5V.
- Zwei Bytes (nötig für die 11 Bit-Werte) kommen bei ZACwire
  direkt hintereinander (nur von einem halben Stopbit nach dem
  ersten Byte getrennt).
  Bei RS232 muß dazwischen erst einmal der Ruhepegel einkehren,
  um den Start des nächsten Bytes zu erkennen.
- Bei ZACWire hat man eine Manchestercodierung, d.h. jedes
  Bit hat eine Zeit lang log. 1 (0V) und eine Zeit lang log. 0
  (5V). Die Werte 0 und 1 unterscheiden sich darin, ob der Wechsel
  zwischen den beiden früher oder später erfolgt.
  Bei RS232 dagegen ist immer das ganze Bit auf 0 oder das
  ganze Bit auf 1.
  Das macht keinen Unterschied, wenn man nur zur Bitmitte liest,
  aber sicherer ist es immer, ein paar aufeinanderfolgende
  Messungen zu machen. Das klappt dann bei ZACwire nicht,
  wenn diese zu weit über das Bit verstreut sind.

Ich habe es nicht probiert, aber mit dem eingebauten UART
glaube ich nicht, daß es geht.

von Anfänger (Gast)


Lesenswert?

Ne du hast recht das sind ein bisschen anders aus....wäre das nicht 
einfacher ein RS232 draus zu machen. Naja ich werde mich das mal 
durchwuschteln.

Danke

von Klaus W. (mfgkw)


Lesenswert?

Das wäre zu einfach, dann könnte es ja jeder :-)

von Anfänger (Gast)


Lesenswert?

Hehe, ja ich merk schon. Jetzt will man nur "mal eben" einen Sensor an 
eine Schaltung bringen und muss fast schon eine Doktorarbeit draus 
machen.

Also lt. Datenblatt muss ich das Teil am besten an einen Eingang mit dem 
der µC einen Interrupt auslösen kann. Also nicht einfach an Rx und Du 
hast schonwieder recht, schmeckt mir gar nicht :-)

von Klaus W. (mfgkw)


Lesenswert?

Tip:
DS18S20 geht viel einfacher

von Micha B. (mbcontrol)


Lesenswert?

schau mal hier rein ...

Beitrag "Re: wie Daten an MSP430F1611 seriell einlesen?"

Rubert K. hat in dem Beitrag einen Code für den Atmega8 hochgeladen. Mit 
dem arbeite ich. Funktioniert problemlos!

Gruß MB

von Anfänger (Gast)


Lesenswert?

...super.....

von Jörg S. (joerg-s)


Lesenswert?

Klaus Wachtler schrieb:
> Tip:
> DS18S20 geht viel einfacher
Nö, viel schwieriger. Das Tsic Protokoll ist pipieinfach. Das Problem 
ist nur das es nicht so viele Beispiele dafür gibt wie für den DS.

von Stephan S. (uxdx)


Lesenswert?

Ich habe schon einige TSICs verbaut, der Daten-PIN wird direkt an den 
Dateneingang des µC angeschlossen, keine Pullups oder andere 
Widerstände.

Das ZACwire-Protokoll ist absolut easy und trotzdem tricky. Falls Du 
ohne Interrupt arbeiten willst (was die Sache noch weiter wesentlich 
vereinfacht, Du willst ja wohl nicht 10x/sec die Temperatur messen), 
dann schalte den TSIC über einen zusätzlichen Port ein (Port über 
100-220 Ohm an V+ des TSIC), warte die 2 Datenbytes ab und schalte ihn 
wieder aus.

Wichtig: so dicht wie möglich an den TSIC einen 100 nF 
Keramik-Kondensator.

Wenn Du mit PICs arbeitest, habe ich eine erprobte ASM-Routine für Dich.

von Klaus W. (mfgkw)


Lesenswert?

Jörg S. schrieb:
> Klaus Wachtler schrieb:
>> Tip:
>> DS18S20 geht viel einfacher
> Nö, viel schwieriger. Das Tsic Protokoll ist pipieinfach. Das Problem
> ist nur das es nicht so viele Beispiele dafür gibt wie für den DS.

Hm, vielleicht Geschmackssache.
Ich kam mit DS18S20 viel schneller voran und finde die SW einfacher, 
aber egal.

von Anfänger (Gast)


Lesenswert?

Stephan S. schrieb:
> Wenn Du mit PICs arbeitest, habe ich eine erprobte ASM-Routine für Dich.

...immer her damit...mein nächstes Projekt mache ich mit PIC's.

Gruss
Peter

von Stephan S. (uxdx)


Angehängte Dateien:

Lesenswert?

> ...immer her damit...mein nächstes Projekt mache ich mit PIC's.

Voila ...
Gruss S.

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.