Petr Faltus OK1CFP

Teplotní čidlo s rozhraním RS232 (Temperature sensor with the RS232 interface)

Toto teplotní čidlo narychlo vzniklo pro potřebu měření teploty programem Autopaket (viz odkaz dále), který provozuji u mého nódu na síti Packet rádio v pásmu 27MHz. Celá konstrukce čidla je zabudována do PC. Napájení přivádím 12V ze zdroje PC, kabel k sériovému portu COM je připojen přímo do řadiče a z PC je vyveden kroucený pár pro vlastní teplotní senzor.

Mikroprocesor AT89C2051 je zde využit jen velmi málo. Na velikosti odporu připojeného senzoru závisí doba nabíjení a vybíjení kondenzátoru C6, za kterou se překlopí vnitřní přesný komparátor mezi piny P1.0 a P1.1 v mikroprocesoru. Referenční úroveň udává komparátoru dělič rezistorů R1 a R2. Po dobu změny úrovně výstupu komparátoru od definované změny P1.2 je spuštěn vnitřní čítač, jehož výsledná hodnota je nakonec posílána po sériovém kanále do sériového portu PC. IO MAX232 pouze převádí úrovně CMOS na úrovně COM.

Program Autopaket pro Packet rádio - obsahuje obsluhu pro toto teplotní čidlo

Schema zapojení teplotního čidla


U1 - 7805 - Stabilizátor 5V (5V voltage supply)
U2 - AT89C2051 - Osmibitový mikroprocesor, 128B RAM, 2k FLASH (8-bit mikroprocessor, 128B RAM memory, 2kB FLASH memory)
U3 - MAX232 - Převodník úrovní pro RS232 (RS232 voltage values converter)


J1 - Power - Napájení 12V z PC (12V DC from PC power supply)
J2 - RS232 - Seriový port PC (serial port PC)

Přesnost měření hlavně závisí na stabilitě napájení 5V mikroprocesoru. Proto je použit extra vnitřní stabilizátor. Pro nastavení měření lze měnit nabíjený kondenzátor C6. Teplotní čidlo je úmyslně sériově zdvojeno, aby bylo měření zjemněno.

Software Intel HEX (tepcidlo.hex) pro teplotní čidlo - napsán přesně pro uvedené zapojení.


Popis komunikace s teplotnim cidlem po RS232:
---------------------------------------------

- cekani na volny vysilac
- vyslani znaku 's' do cidla

- cekani na prijem z cidla
- prijem 1.prijateho znaku - musi byt 0 (zkontrolovat)

- cekani na prijem z cidla
- prijem 2.prijateho znaku - je horni byte poctu taktu cidla

- cekani na prijem z cidla
- prijem 3.prijateho znaku - je dolni byte poctu taktu cidla

- prepocet poctu taktu cidla pres tabulku

- cekani priblizne 60 vterin
- opakovat znovu

Tabulka pro prepocet
--------------------
vyrobce uvadi tabulku, jaky odpor musi mit cidlo pro teploty v urcitem kroku.
Tyto odpory lze (po minute) simulovat (vhodnym) trimrem a zaznamenat pocty taktu cidla.
Ostatni hodnoty lze linearne aproximovat vždy z nejblizsich okolnich hodnot.

Intel HEX file (tepcidlo.hex) for this Counter - the software is designed for aplication in this page only.


Communication with temperature sensor via RS232:
------------------------------------------------

- wait for a free transmitter
- send character 's' in the temperature sensor

- wait for a receive from a temperature sensor
- receive 1.character - must be 0 (compare it)

- wait for a receive from a temperature sensor
- receive 2.character - high byte of sensor counter

- wait for a receive from a temperature sensor
- receive 3.character - low byte of sensor counter

- calculate temperature via a table

- wait about 1 minute
- repeat it again

Table for a temperature calculating
-----------------------------------
there is a table temperature-resistivity from a producer. You can simulate all values
via resistor and write down result values of sensor counter. Other values can be aproximated
lineary.

Datasheets

Drivers datasheets
Microcontrollers datasheets
Voltage references datasheets


(c) Petr Faltus OK1CFP 10/7/2001