Hlavní stránka‎ > ‎

Aquamat pro akvárka (Assembler)

 
 
Vyšlo v časopise AR Praktická Elektronika č.7 a 8/2007
 
 
 
 
 
 
Toto zařízení vzniklo z pouhé lenosti každodenní péče o rybičky.
Obsluhuje filtrování, vzduchování, topení, krmení a 2x osvětlení.
Detekuje přehřátí vody,  načež vypne světla, topení, zapne vzduchování a začne pípat.
Veškeré vlastnosti jsou nastavitelné pro autom. režim nebo i ručně ovladatelné.
Viz. vlastnosti zásuvek a obr. přednastavené časové průběhy periférií.
 
 
 
 
 

Vlastnosti:

Vlastnosti zásuvek

Ikona

 

Zásuvka

on v závislosti na

off v závislosti na

manuální ovládání (Tl2)

Základní nastavení


Filtru

čase

čase

stiskem on/off

on 8:00, off 19:30


Vzduchu

čase a teplotě vody

čase

stiskem on/off

on 10:00, off 17:30, Temp1 on 26 °C

 

Topení

teplota vody

teplota vody

po dobu stisku on

na 23 °C


Krmení

čase

cm ryb

po dobu stisku on

on 9:30, cm 6


Světla1

čase

čase a teplotě vody

stiskem on/off

on 8:00, off 19:00, Temp1 off 26 °C

 

Světla2

čase

čase a teplotě vody

stiskem on/off

on 8:30, off 19:30, Temp1 off 26 °C

 

-Zobrazuje:

Hodiny (Vlastní obvod RTC se záložním zdrojem)

Teplotu vody měřenou digitálně (žádná kalibrace)

Teplotu v interiéru (doma) měřenou digitálně (žádná kalibrace)

Stav zásuvek 220V~ (on či off)

Všechna nastavení jsou ukládána do paměti EEPROM

 

 

Obsah:

-         Zařízení na obsluhu akvária

-         Vlastnosti

-         Obsah

-         Popis procesoru

-         Nahrání programu

-         Popis ovládacího programu

-         Popis displeje LCD

-         Podsvícení displeje LCD

-         Jas symbolů LCD

-         Popis Expandéru

-         Popis RTC

-         Popis čidel teploty

-         Popis I2C

-         Propojení jednotek

-         Zálohování

-         Tlačítka

-         Chladič a spotřebovaná el. Energie

-         Konstrukce

-         Oprava nedokonalostí

-         Upozornění!!!

-         Popis dávkování krmiva

-         Závěr

-         Seznam součástek

-         Seznam použité literatury

-         Seznam požitého SW
 
 
 
Schéma expanderu: 
 
Schéma ovladače: 
 
 
 

Popis procesoru:

PIC16F876 je výkonný kontrolér s architekturou RISC.

   Obsahuje -    8K x 14 bitů programové paměti FLASH

-         368 bytů paměti RAM pro data

-         256 bytů paměti EEPROM

 

  V této aplikaci obsahuje -      7,9K x 14 bitů programové paměti FLASH

-         40 bytů paměti RAM pro data

-         256 bytů paměti EEPROM

 

Nahrání programu:

Program se do procesoru PIC 16F876 nahrává přes konektor H1 (ICSP sériové programování).

 
Zapojení konektoru H1 : pin č.            1 – Data  (u konektoru pro LCD)
                                                           2 - Clock

                                                           3 - MCLR/VPP

                                                           4 - GND

                                                           5 – VDD +

 

Pro programování paměti programu v PIC či modifikaci ikon nebo textu v EEProm Pic jsem použil programátor fy ASIX UP-Presto.

Nejdříve doporučuji nahrát paměť EEprom Picu a poté paměť programu Picu.

Jinak při verifikaci EEprom Picu bude  programátor hlásit chybu zápisu dat na adrese hodin (tj.: adr. 6-8 DEC). Tato chyba je způsobena načítáním a zápisem hodin z RTC do již zmíněných míst v EEprom.

Toto hlášení programátoru ignorujte.

 

Kompletní program můžete stáhnout zde.

 

Popis ovládacího programu:

Schématické znázornění menu je uloženo v prezentaci ‚Hierarchie menu‘.

 

 

 

 

 

 

Po výpadku elektřiny program znovu naběhne, zobrazí zálohovaný čas a sepne zásuvky až v nastavený čas.  (tzn. mezi časem on a off program spínání zásuvek nehlídá).

Provozní hodnoty jsou ukládány v EEProm procesoru PIC.

Při potřebě úprav SW zde uvádím obsazení EEprom procesoru.

Až po adresu 52 DEC je možné hodnoty nastavovat programem Aquamatu.

Ikony a texty(adr. 53- 226 DEC) je možné programátorem libovolně upravovat jen je zapotřebí dodržet jejich datovou délku (tzn. rozdíl adres).

Pro výrobu ikon doporučuji program : LCDChar- Editor.

 

                 Popis obsazení Adr. EEPROM PICu :       

Adr. EEPROM

Typ obsahu

Jméno obsahu

0,1

Verze SW

Firmware

2,3

Teplota Vody

MSB Temp1, LSB Temp1

4,5

Teplota Doma

MSB Temp2, LSB Temp2

 6,7,8

Hodiny

Hod,Min,Sec

9

Zásuvky

Stav Expandéru

10,11,12,13

nastav. čas

Filtr_on

14,15,16,17 

nastav. čas

Filtr_off

18,19

°C přehřátí

Vzduch_on,SV1 SV2_off /Tmp1,

20,21,22,23

nastav. čas

Vzduch_on

24,25,26,27

nastav. čas

Vzduch_off

28,29

°C vody

Topení_na

30,31,32,33

nastav. čas

Krmení_on

34,35,36

cm ryb

KrmeníDávka

 37,38,39,40

nastav. čas

SV1_on

41,42,43,44

nastav. čas

SV1_off

45,46,47,48

nastav. čas

SV2_on

49,50,51,52

nastav. čas

SV2_off

53

Ikona

Světla1

61

Ikona

Světla2

69

Ikona

Filtr

77

Ikona

Krmeni

85

Ikona

Vzduch

93

Ikona

Topení

101

Ikona

Domek

109

Ikona

Voda

117

Ikona_unlin

Světla1

125

Ikona_unlin

Světla2

133

 Ikona_unlin

Krmeni

141

 Ikona_unlin

Vzduch

149

Ikona_unlin

Topení

157

Ikona_unlin

Hodiny

165

Ikona_unlin

Šipka

173

Text

'Created by'

183

Text

'PterNosek2006'

196

Text

'Manual'

202

Text

'Filtr '

208

Text

'Vzduch'

214

Text

'Topeni'

220

Text

'Krmeni'

226

Text

'Svetlo'

232

Text

'Zpet  '

238

Text

'Menu: '

244

Text

'Nastav'

250

Text

'Hodiny'

 

 

 

 

Datové složení ikon

Vzduchovaní


db 09h,00h,14h,01h,10h,06h,06h,03h ;

Filtr


db 0Eh,0Ah,02h,1Fh,0Eh,1Fh,0Eh,1Fh;

Topeni


db 04h,04h,04h,04h,04h,04h,0Eh,0Eh ;

Krmení


db 04h,0Eh,1Bh,1Fh,03h,1Fh,0Eh,04h ;

Světlo1


db 04h,0Eh,1Fh,0Eh,04h,04h,04h,04h ;

Světlo2


db 04h,0Eh,1Bh,0Eh,04h,04h,04h,04h ;

Doma


db 05h,0Eh,1Fh,0Ah,0Ah,0Eh,0Eh,00h ;

Voda


db 00h,00h,0Ah,15h,00h,0Ah,15h,00h ;

Hodiny


Adr. 64 DEC v EEPr. LCD                        ;

Šipka


db 0Fh,03h,05h,09h,08h,08h,08h,00h ;

 

 

Popis displeje LCD:

LM16X21A je podsvětlený zobrazovač složený z 16x2 znaků. Každý znak se skládá z 5x8 bodů.

V tomto zapojení je LCD zapojeno na 8 bitové sběrnici, která přenáší data i instrukce.

Vývod R/W je v Log 0 = zápis dat.

Vývod RS  v Log 1 = registry pro zápis dat.

Vývod RS  v Log 0 = registry pro zápis instrukcí.

Vývod E nahozením a shozením zapisuje data nebo instrukce.

LCD je s DPS ovladače přiletován přes 16-ti pinový hřebínek a přišroubován na distanční sloupky vysoké jako izolace hřebínku.

 

Podsvětlení displeje LCD:

LCD je podsvětleno vestavěnou LED, která je spínaná při Log 1 na bázi T1 .

Pro nižší spotřebu (mA) je před bází T1 zařazen  R1= 10 Kohm. (trochu nižší jas).

Nižší jas a doba poosvětlení LCD je volená s ohledem na měření vnitřní teploty ( teplota doma).

 

Jas symbolů displeje LCD:

Za pomoci R12 lze nastavit jas (zobrazení údajů ) LCD.

Eliminaci rozdílného jasu v závislosti na teplotě  zajišťuje T2.

Při prvním zapnutí zařízení pípne a zobrazí se hodnoty na displeji LCD.

Pokud se hodnoty nezobrazí, je zapotřebí pootočit R12.

Nejlepší nastavení R12 je v okamžik rozhraní zobrazování všech znaků LCD ( 16x2 obdelníčků).

 

Popis Expandéru:

PCF8574 je obvod osmi vstupně-výstupních linek.

Tento obvod umístěný na DPS expandéru má volací adresu: 64 Dec.

Horní část adr. Exp. je přednastavena výrobcem (4 Dec), spodní část adr. volíme propojením vývodu

A0-A2 do Log1 nebo 0.

 

Popis RTC:

PCF8583 je obvod reálného času. (Obsahuje kromě času i klendář a 240 byt RAM, v této aplikaci nepoužito.)

S přesností odchylky ±5 minut za rok.

RTC umístěný na DPS ovladače má volací adresu: 80 Dec.

Horní část adr. RTC je přednastavená výrobcem (40 Dec), spodní část adr. volíme propojením vývodu A0 do Log1 nebo 0.

Přesné nalazení hodinového taktu se nechá docílít výměnou C3 – 10 pF za otočný kondenzátor 5-25 pF.

 

Popis čidel teploty:

LM75A  je digitální tepelné čidlo a teplotní watchdog s přesností  ± 2 °C v rozsahu od -25 do +100 °C.

Čidlo umístěné na DPS ovladače má volací adresu: 72 Dec.

Čidlo zapojené na kabelu (externí) má volací adresu: 73 Dec.

Horní část adr. těchto čidel je přednastavená výrobcem (9 Dec), spodní část adr. volíme propojením vývodu A0-A2 do Log1 nebo 0.

Toto čidlo vysílá 11-ti bitové hodnoty teploty v rozmezí –55 až +125 °C .

V tomto případě program zobrazuje teplotu obou čidel v rozmezí –55 až +99 °C.

Zapojení externího čidla teploty vody je znázorněná obr. ‚ Schema AquaMatu-externí čidlo teploty vody LM75A‘.

 

Výroba externího čidla teploty vody je znázorněná obr. ‘Výroba čidla teploty vody LM75A‘ .

 

 

 

Popis I2C:

Sběrnice I2C použitá v tomto případě má rychlost 100 Kbit/s.

V podstatě se jedná o dvouvodičovou oboustrannou sběrnici mající hodinový signál Clock a

datový oboustranný signál Data.

V tomto zapojení je hlavní součástka vysílající požadavek (master) procesor PIC.

Tento PIC má na své sběrnici dva teploměry LM75A, RTC obvod reálného času PCF8583 a

expandér PCF8574 zajišťující buzení šesti optorelé a piezo měniče.

           

Propojení jednotek:

Toto zařízení se skládá z Ovladače, který je přes konektor H2  spojen s konektorem H1 Expandéru (ozn. Out kon.), a externího čidla teploty, které je připojeno na kon. H2 EXPANDÉRU (ozn. LM 75 kon.).

Schématické zapojení je zobrazeno obr. ‚Propojení ovladače s expandérem‘.

 

 

Instalace celého zařízení je zobrazena obr. ‚instalace Aquamatu‘.

 

 

Zálohování:

Použil jsem pack baterek NiCd o celkovém napětí 3,6 V/60 mA.

Tento záložní zdroj napájený přes D3 a R2 (jenž udržuje správný nabíjecí proud) napájí při výpadku síťového napětí přes nízkoúbytkovou D4 obvod RTC (obvod reálného času) PCF 8583.

Tento záložní zdroj dokáže napájet RTC cca 50 dní/ max 50uA.

Určitě je možné použít článek s menší kapacitou nebo vhodný kondensátor.

RTC udržuje čas již od U > 1V.

 

Tlačítka:

Původní návrh DPS byl navržen pro montáž ovládacího kolečka z telefonu SonyEricson, který má v sobě integrována tři ovládací tlačítka (SW 1-3), (rolování nahoru, dolu a stisk).

Nakonec jsem použil tři  mikrospínače  B 6819, které jsem dle potřeby zkrátil.
 

Chladič a spotřebovaná el. energie:

Každá zásuvka je spínaná optorelém S202 S02 ( 220V ~ / dle chladiče až 1760W (200x200x2 Al)).
Konstrukce je přibližně dimenzovaná viz. Tabulka příkonů spotřebičů.
 

Tabulka_příkonů_spotřebičů

 

 

Název spotřebiče

Odhadovaná spotřeba (W)

Odh. Spotřeba (mA)

Filtr                      

40

181

Vzduchování

40

181

Topení         

200

909

Krmení        

20

90

Světlo 1     

60

272

Světlo 2    

60

272

                   

420

1905





Chladič nemusí být instalován cca do 3,5A / zásuvka (optorelé). Pro jistotu jsem však do expandéru chladič optorelé nainstaloval (viz: obr. Chladič). Chladič jsem nejdříve přišrouboval do krabičky, optorelé natřel termo-kontaktní pastou a poté do připravených otvorů samořezy přišrouboval. Pod hlavičky šroubů jsem nastříhal malé čtverečky ze slabého kuprextitu ( nebo jiný izolační matriál).

  

Konstrukce:

DPS jsou oboustranné, prokovené a lakované.
viz. následující obrázky
 
 
 

           

.

           

 

DPS ovladače připevníme na distanční sloupky v krabičce společně se zadním víkem. Distanční sloupky přední části krabičky musíme snížit o tloušťku DPS.

Do této krabičky umístíme průduch pro čidlo vnitřní teploty. Viz. prezentace ‚Průduch čidla vnitřní teploty‘.
 

 

Nakonec přilepíme přední štítek. Viz. obr. ‚Štítky‘.

 
 

 

 
 

 

Celou jednotku Ovladače jsem připevnil na zeď za pomocí přišroubovaného plastového odřežku a suchého zipu, který jsem nalepil na tento odřezek a zadní stěnu Ovladače.

Ovladač umístíme mimo zdroje rozdílných teplot v místnosti. 

Krabička Expanderu je upravena dle rozměru chladiče a je slepena lepidlem s aktivátorem Samson. Také by se nechala spojit pryskyřicí nebo svařit.

Před instalací zásuvek nalepíme štítek. Viz. obr. ‚Štítky‘.

 

Oprava nedokonalostí:

Na jednotce Ovladače přiletujte čidlo teploty LM75A zrcadlově (tzn. IO otočte nožičkami nahoru, opatrně je přihněte k DPS).

Dříve popsané mikrospínače lze nainstalovat za drobné asistence kleští. Dva páry nožiček ohneme nahoru a dva zbylé páry přihnem do DPS.
Pozor na propojku ovladačů. Viz. prezentace ‚Propojení ovladače s expandérem‘.

Na jednotce Expanderu pozor  na polaritu stabilizátoru napětí,  při ohnutí k DPS musí být jeho kovová část nahoru.

K instalaci optorelé je zapotřebí opět trochu zručnosti a kleští. Optorelé ohněte v nohou tak, aby tělo leželo na DPS.

Blokovací kondenzátor C3 zapojte podle schématu.  tj.: Upravte DPS tak, aby vývod C3 byl spojen s VCC + 5V, GND od něj odpojte.

 

Upozornění !!!:

                Zařízení Aquamat je napájené síťovým napětím 220 V~!

            Toto napětí je životu nebezpečné!

Proto doporučuji při jakékoli manipulaci s akváriem (plném vody) toto zařízení odpojit od elektrické sítě.

Jednotku ‚ Expandér‘ doporučuji umístit tak, aby v případě úniku vody z akvária toto zařízení nebylo namočeno!

Přívodní kabely napojené do zásuvek Expandéru doporučuji spojit ve svazek. Tento svazek prohněte tak, aby případně stékající voda po tomto svazku ukápla mimo jednotku Expandér.

Doporučuji doplnit přívodní hadičku vzduchu v horní části akvária zpětným ventilem, který zabrání případnému vzlínání a následnému úniku vody přes vzduchovací motorek.

Celé zařízení je produkt amatérského snažení.

Proto se zříkám jakékoliv odpovědnosti za Vaši konstrukci mnou navrženého zařízení.

 

Popis dávkování krmiva:

Existuje jité pravidlo: Rybkám dodáme jen tolik potravy, kolik ji sežerou během 10- 20 minut.

Proto je nejprve  nutné znát součet délek rybek, ze kterého pak vychází požadovaná dávka krmení- ( doba otáčení unášecího šnečku v krmítku).

Zařízení krmí jen jednou s přednastavením v 9:30 hod (samozřejmě lze změnit), kdy se akvarista většinou nemá čas rybkám věnovat.

Rybkám po ránu nevadí třeba i větší dávka krmiva.

S večerním krmením program nepočítá.

Toto krmení jsem zanechal pro vlastní potěchu, kdy rybkám většinou dáváme menší nebo žádnou dávku.

Konstrukce krmítka je posaná v další části.

 

Závěr:

Zařízení Aquamat je pojato univerzálně. Jednotlivé jednotky je možné různě doplňovat třeba dalšími jednotkami nebo je použít v úpně jiné aplikaci.

Program v PIC se zřejmě bude ještě vyvíjet. Vychytávat nedokonalosti SW, či další fce.

Původně jsem celé zařízení chtěl doplnit ještě o komunikaci RS 232 a spojit tak s PC, proto jsou provozní data a texty  uloženy v paměti EEPROM. 

Z výše uvedených tabulek časů sepnutí ( topení sepnuté odhadem 1/3 dne ) a příkonů vnějších spotřebičů vyplívá, že přibližná cena spotřebované el. energie  za den je cca 14 Kč při ceně 4 Kč/KWh.

 

Seznam součástek:

       

 

Seznam součástek čidla teploty

 

 

 

Název

Hodnota

Pouzdro

Cena (Kč)

max. Spotřeba (mA)

Dodavatel

H1

HEADER-1X5

S1G5

0

0

GES

U1

LM75

SO-8

127

5

Conrad

Kabel stíněný x4

 

2 m

20

0

GES

 

 

 

147

5

 

 

 

Seznam součástek ovladače

 

 

 

Název

Hodnota

Pouzdro

Cena (Kč)

cca Spotřeba (mA)

Dodavatel

C1

22pF

X7R 1206

1,9

0

GES

C2

22pF

X7R 1206

1,9

0

GES

C3

10pF

X7R 1206

1,9

0

GES

H1

HEADER-1X5

S1G5

2,2

0

GES

H2

HEADER-1X5

S1G5

2,2

0

GES

MC1

PIC16F876-04/SO

SO-28

285,5

25

Asix

LCD

LCD/  CM 160244

S1G16 ?

322

50

GES

R1

10K

CR 1206

1,9

0

GES

R2

10K

CR 1206

1,9

0

GES

R3

10K

CR 1206

1,9

0

GES

R4

10K

CR 1206

1,9

0

GES

R5

10K

CR 1206

1,9

0

GES

R6

330R

CR 1206

1,9

0

GES

R7

330R

CR 1206

1,9

0

GES

R8

1K

CR 1206

1,9

0

GES

R9

180

CR 1206

1,9

0

GES

R10

100R

CR 1206

1,9

0

GES

R11

100R

CR 1206

1,9

0

GES

R12

R TRIM-S 5K

PC25

17

0

GES

R13

4K7

CR 1206

1,9

0

GES

R14

4K7

CR 1206

1,9

0

GES

SW1

Mikrospínač

B 6819

3

0

GES

SW2

Mikrospínač

B 6819

3

0

GES

SW3

Mikrospínač

B 6819

3

0

GES

T1

BC817-16

SOT23

3

0

GES

T2

BC817-16

SOT23

3

0

GES

U1

PCF8583T

SO-8

98

0,2

GES

U2

LM75ADP

SO-8

127

5

Conrad

XT1

Q 4.000 MHz

HC49U/S

18

0

GES

XT2

Q 32.768KHz

MTF32

18

0

GES

DPS

 

Oboustranná + film

572

0

Signal Mont

Krabička

 

KP24U

32

0

Krabičky.cz

Suchý zip

 

Samolepící

29

0

Š Hoby

Potisk     

 

Samolepka

40

0

Protisk H.K.

 

 

 

1608,3

80,2

 

 

 

Seznam součástek expandéru

 

 

 

Název

Hodnota

Pouzdro

Cena (Kč)

max. spotřeba (mA)

Dodavatel

BAT1

BATTERY NiCd 3,6V/60mA

do DPS

34

 

GES

C1

CF2-100N/J

RM5

2

0

GES

C2

CF2-100N/J

RM5

2

0

GES

C3

CT 10M/10V

RM2,5/radiální

1

0

GES

C5

E 470M/25V

RM5/radiální

1

0

GES

P1

2x0,5 mm Přívod 220 V

flexo NKS 200W

14

0

GES

P1

Svorka vodičů DPS

AKR550/2

9

0

GES

D1

RB152 1,5A můstek

DIP-G kulatý

3

0

GES

D2

1N4007

DO-41

1

0

GES

D3

1N4007

DO-41

1

0

GES

D4

BAT46

DO35

1

0

GES

F1

Patice pojistky

PTF15 do DPS

4

0

GES

F1

Pojistka F2,5A

Skleněná

4

0

GES

H1

HEADER-1X5 Out Kon.

S1G5

2,2

0

GES

H2

HEADER-1X5 LM75 Kon

S1G5

2,2

0

GES

IO1

L7805CV

TO220-006

8,5

8

GES

Piez

QMB-06

Piezo

20

0

GES

R1

RRA8 8 x 470 ohm 9A471G

RRA8

6

0

GES

R2

R 2K2

RM0207

2

0

GES

TR1

TR 220/9 200mA  1,8VA

EI 30/12,5        

70

0

GES

SSR1

S202 S02

SIP

172

20

GES

SSR2

S202 S02

SIP

172

20

GES

SSR3

S202 S02

SIP

172

20

GES

SSR4

S202 S02

SIP

172

20

GES

SSR5

S202 S02

SIP

172

20

GES

SSR6

S202 S02

SIP

172

20

GES

U1

PCF8574

DIP16

88

0,1

GES

Z

Zásuvka světlo 2

viz. text

19

0

Š Hoby

Z1

Zásuvka světlo 1

viz. text

19

0

Š Hoby

Z2

Zásuvka krmení

viz. text

19

0

Š Hoby

Z3

Zásuvka topení

viz. text

19

0

Š Hoby

Z4

Zásuvka vzduchováníI

viz. text

19

0

Š Hoby

Z5

Zásuvka filtru

viz. text

19

0

Š Hoby

Kabel stíněný x4

 

2 m

20

0

GES

DPS

 

Oboustranná + film

572

0

Signal Mont

Potisk

 

Samolepka

40

0

Protisk H.K.

Krabička

 

KP28

62

0

Krabičky.cz

 

 

 

2115,9

128,1

 

 

 

Seznam použité literatury:

Komunikace mikrokontrolérů s okolím – J. Hrbáček

Mikrokontroléry PIC 16F87X - O. Peroutka

Využití rozhraní PC pod Windows – B. Kainka aj. Berndt

Datasheety použitých součástek z internetu

 

Seznam použitého SW:

MPLAB IDE – editor , simulátor, překladač zdrojových textů pro mikrokon. PIC (volně stažitelný z internetu)

ASIX UP- obslužný program  univerzálního programátoru PRESTO pro naprogramování PIC (volně stažitelný z internetu)

FORMICA - Schematic editor pro kreslení schémat a PCB Layout editor pro tvorbu DPS (volně stažitelný z internetu)

LCDChar- Editor (5x8) znaku pro LCD - ikony, české znaky (volně stažitelný z internetu)