Ide o upravenú verziu monitora teploty v chladničke z roku 2017, ku ktorému som navrhol novú DPS (pôvodná konštrukcia bola na univerzálnej DPS) a napísal nový firmware pre Arduino NANO, v ktorom som odstránil nedostatky z predchádzajúcej verzie + vykonal nejaké HW úpravy. Firmware navyše obsahuje komunikáciu cez MODBUS RTU pre čítanie teplôt a stavu monitora cez zbernicu RS485.
Zmeny v novom firmware a HW:
- odstránené oneskorenie alarmu po prekročení teploty - v reálnom živote to bolo zbytočné, keď teplota prekročila alarmovú hodnotu, už bolo zle
- odstránené blokovanie programu pomocou delay, vymenené za millis - nutné z dôvodu implementácie protokolu MODBUS RTU
- pridaná hysteréza pre ukončenie alarmu (teplota musí klesnúť pod alarmovú hodnotu poníženú o hysterézu - nedochádza tak k zbytočným prekmitom pri teplote na hranici ok/alarm)
- alarmový výstup je typu NC a je oddelený optočlenom (všetko ok - zopnutý, alarm - rozopnutý)
- pridaný stabilizátor na vstupe pre potrebu vyššieho napájacieho napätia (12V)
- pôvodné piezo nahradené samovybudzujúcim typom
- doplnený protokol MODBUS RTU s rozhraním RS485
- ako procesor zostáva Arduino NANO
Popis registrov MODBUS RTU implementovaných v monitore:
400001 : ID monitora
400002 : teplota v chladničke
400003 : znamienko teploty v chladničke: 0-záporná, 1-kladná
400004 : teplota v mrazničke
400005 : znamienko teploty v mrazničke: 0-záporná, 1-kladná
400006 : stav monitora, 1-OK, 0-ALARM
400007 : stav alarmu, 1-ALARM, 0-OK
400008 : stav snímačov, 0-OK, 1-CHYBA
400002 : teplota v chladničke
400003 : znamienko teploty v chladničke: 0-záporná, 1-kladná
400004 : teplota v mrazničke
400005 : znamienko teploty v mrazničke: 0-záporná, 1-kladná
400006 : stav monitora, 1-OK, 0-ALARM
400007 : stav alarmu, 1-ALARM, 0-OK
400008 : stav snímačov, 0-OK, 1-CHYBA
Ako teplotné snímače sú použité čidlá od DALLAS DS18B20 v trojvodičovom zapojení a ako indikácia stavu dvojfarebná LED.
Pri alarme zhasne zelená LED a zasvieti červená + je prítomný zvukový alarm. Ten sa potvrdzuje tlačidlom, ktoré alarm odloží na nastavený čas. Pri poruche čidla bliká červená LED a na LCD svieti informácia o poruche čidla. Na zelenú LED je napojený alarmový výstup oddelený optočlenom - ten sa rozopne aj pri výpadku napájania monitora.
Pri alarme zhasne zelená LED a zasvieti červená + je prítomný zvukový alarm. Ten sa potvrdzuje tlačidlom, ktoré alarm odloží na nastavený čas. Pri poruche čidla bliká červená LED a na LCD svieti informácia o poruche čidla. Na zelenú LED je napojený alarmový výstup oddelený optočlenom - ten sa rozopne aj pri výpadku napájania monitora.
HW časť pre komunikáciu cez RS485
Použil som hotový modul s obvodom MAX485 z Číny ako v tomto zapojení. Pôvodný návrh DPS s rozhraním RS485 nepočítal, na DPS som ale nechal vyvedené piny pre pripojenie modulu (JP2 až JP4). Pri použití kolíkovo-dutinkovej lišty pre Arduino NANO sa dá modul schovať pod samotné Arduino. Dobrá rada na ušetrenie nervov a času - ak použijete tento modul, vymeňte pôvodný budič (xx485) za napríklad ST485 (rovnaké zapojenie vývodov) od overeného výrobcu (nie z Číny). Čínske budiče si robili čo chceli a o náhodnom odchádzaní nehovoriac.
Zapojenie konektorov na DPS:
Hlavná svorkovnica:
X1-1 : RS485 (či je to A alebo B závisí od pripojenia modulu k DPS)
X1-2 : RS485 (či je to A alebo B závisí od pripojenia modulu k DPS)
X1-3 : GND
X1-4 : GND
X1-5 : DS18B20 DATA
X1-6 : +5V pre čidlo
X1-7 : výstup ALARM +
X1-8 : výstup ALARM -
X1-9 : GND
X1-10 : +7-15V napájanie
X1-1 : RS485 (či je to A alebo B závisí od pripojenia modulu k DPS)
X1-2 : RS485 (či je to A alebo B závisí od pripojenia modulu k DPS)
X1-3 : GND
X1-4 : GND
X1-5 : DS18B20 DATA
X1-6 : +5V pre čidlo
X1-7 : výstup ALARM +
X1-8 : výstup ALARM -
X1-9 : GND
X1-10 : +7-15V napájanie
Konektor JP1 (všetko zapojené proti GND):
1 : červená LED (ALARM)
2 : tlačidlo
3 : zelená LED (OK) - NC alarmový výstup na optočlen
4 : spoločná GND,
1 : červená LED (ALARM)
2 : tlačidlo
3 : zelená LED (OK) - NC alarmový výstup na optočlen
4 : spoločná GND,
Konektor JP2 (riadenie modulu s MAX485):
1 : DI
2 : DE+RE (prepojené)
3 : RO
Konektor JP3 (linka RS485):
1,2 - pripojiť na A,B modulu (slúži len na vyvedenie signálov A, B na hlavné svorky X1-1 a X1-2)
Konektor JP4 - napájanie pre modul s budičom 485
1 : DI
2 : DE+RE (prepojené)
3 : RO
Konektor JP3 (linka RS485):
1,2 - pripojiť na A,B modulu (slúži len na vyvedenie signálov A, B na hlavné svorky X1-1 a X1-2)
Konektor JP4 - napájanie pre modul s budičom 485
V [priloženom archíve] nájdete:
- DPS v PDF
- schému a podklady k DPS vo formáte EAGLE
- firmware pre monitor
- firmware pre MASTER a čítanie dát z monitora (výpis na sériovú linku)
- firmware pre zistenie adresy Dallas čidla
- knižnice pre MODBUS
< Dozadu | Dopredu > |
---|