Nov projekt Cubicus 2005  1 del

Avtor: Bojan Jerina

 

Pričujoči članek je uvod v nov projekt Cubicus 2005, ki ma za cilj izgradnjo zelo zmogljivega akvarijskega  krmilnika v samogradnji. Cubicus2005 je v marsičem podoben 3 leta starejši zasnovi Cubicus2002  , vendar ima nekaj koristnih novosti. Osnovna razlika med projektoma Cubicus2002 in Cubicus2005 je predvsem v tem, da bo izdelava Cubicus-a 2005 enostavnejša. Cubicus 2005 je zasnovan na novi enoti C-CONTROL I STATION 2.0, ki ima velik del potrebne strojne opreme za akvarijski krmilnik že narejene in montirane v ustrezno ohišje.

C-Control I Station 2

Conrad ima sedaj v prodajnem programu tudi C-CONTROL I STATION 2.0, ki ima skoraj idealno zasnovo za akvarijski krmilnik , pa čeprav je to univerzalni krmilnik (PLC). Ima standardno ohišje za montažo na letev, ki se uporablja v profesionalnih električnih sistemih za avtomatizacijo. V enakem sistemu (za letev) lahko nabavimo tudi podnožja za releje, varovalke in zaščitna stikala, ki prav tako sodijo v sistem akvarijske električne instalacije. V trgovinah z materialom za električne instalacije pa imajo veliko izbiro omaric z letvijo, ki je predvidena za namestitev teh naprav. Naredimo lahko resnično zelo profesionalen sistem.

Cena v Nemčiji za C-CONTROL I STATION 2.0 je povsem sprejemljiva za tak tip naprave 149 EURO. Cena v Avstriji (Gradec)  pa je le nekoliko višja 157 EURO.

C-CONTROL I STATION 2.0 ima nekaj pomembnih prednosti v primerjavi z enoto, ki jo uporablja Cubicus2002. Te prednosti so predvsem sledeče:

  • ma več RAM pomnilnika, kar omogoča lažje programiranje,

  • ima I2C vodilo , kar omogoča več portov in

  • BASIC++ pozna dodatne ukaze, kar omogoča lažje programiranje.

C-CONTROL I STATION 2.0 strojna oprema vključuje:

  • 4 releje za 220 V AC , (takoj lahko preizkusiš nekaj funkcij brez dodatnega lotanja)

  • še dodatne 4 releje lahko realiziraš dodatno s priključkom na zunanje pine (razširitveni porti) (skupno že 8 )

  • še dodatnih 8 relejev lahko priključiš na digitalne porte (skupno že 16)

  • in preko I2C-Bus-a lahko realiziraš še dodatne relejske izhode, ki jih torej ne bo zmanjkalo.
     

  • 5 prostih analognih vhodov, (Ph, Orp, temperatura, nivojska stikala, seveda je potrebno nekaj dela z adapterji),

  • realizirano funkcijo merjenja napetosti napajanja in napetosti akumulatorja,

  • vgrajeno napajanje,

  • predviden priključek za zunanji akumulator,

  • dva analogna izhoda,

  • tipkovnico in LCD 16 x 2 z osvetlitvijo in še LED diode ,

  • priključek za časovno sinhronizacijo DCF uro (v Sloveniji običajno dobro deluje).

  • spredaj RS232 port za programiranje (Ta port tudi omogoča priključitev na Tixi modeme.)
     

Seveda C-CONTROL I STATION 2.0 nima vse potrebne strojne opreme za celoten akvarijski krmilnik, je pa možno z to enoto pričeti projekt avtomatizacije akvarija takoj, ne da bi naredili en sam dodatek k strojni opremi.

Pravzaprav potrebujemo še kabel za 220 V z vtikačem ,ki ga na eni strani privijačimo na krmilnik (priključka 15 in 16) na drugi strani pa vtaknemo v omrežno vtičnico.

Na PC računalnik naložimo programsko opremo, katero dobimo na CDju,  za programiranje enote C-CONTROL I STATION 2.0 (instalacija je enostavna in traja manj kot eno minuto). PC računalnik z RS232 kablom , ki ga tudi dobimo v paketu povezemo z enoto C-CONTROL I STATION 2.0 in sedaj lahko v enoto naložimo program akvarijskega krmilnika.

Programska oprema verzija 0.1

Programska oprema , ki je opisana v tem članku, seveda še ni končna verzija programske opreme Cubicus2005, o čemer dovolj zgovorno priča že oznaka verzije 0.1 .

Celotna programska oprema je razdeljena na tri datoteke.

Programska oprema bi lahko bila tudi vsa skupaj v eni datoteki, ampak razdelitev v tri datoteke je narejena zato, da uporabnik lahko brez  študiranja teh funkcij prične z avtomatizacijo svojega akvarija.

V datoteki Cubicus_lib1.bas so knjižnice, katere navadnemu uporabniku  niti ni potrebno poznati, razen če se ne želi vključiti v razvoj programske opreme Cubicus2005.

Datoteka Cubicus_prg_0_1.bas vsebuje osnovni program Cubicus2005 in definicijo uporabe strojne opreme. Za uporabnika je zelo priporočljivo, da razume delovanje tega programa, če želi izkoristiti vse možnosti, ki mu jih nudi programska oprema.

Datoteko Cubicus1.bas pa morajo poznati vsi uporabniki. V njen je zbran le tisti del kode, ki jo običajno prilagodimo potrebam avtomatizacije konkretnega akvarija. Datoteka je napisana tako, da jo lahko spreminjamo tudi če ne poznamo programskega jezika BASIC.

Instalacija programske opreme Cubicus

1.) Datoteke Cubicus1.bas, Cubicus_prg_0_1.bas in Cubicus_lib1.bas prekopiramo v eno mapo na našem PC računalniku. Priporočam , da neredimo novo mapo (Primer C:\Cubicus2005)

2.) Zaženemo program BASIC++, izberemo meni "Datei-Offnen" in poiščemo našo datoteko Cubicus1.bas. Zaženemo prevajanje programa Kompileren-Kompileren in počakamo da se program uspešno prevede.

3.) Na krmilniku ističasno pritisnemo tipki Prog in Reset in nato najprej spustimo Reset, nato pa še Prog. Na ta način je C-CONTROL I STATION 2.0 pripravlen za programiranje.

4.) Sledi pa samo še nalaganje prevedenega programa v enoto, kar naredimo z  uporabo "Kompileren-Programm ubertragen"

Navodila za delo s programsko opremo Cubicus ver 1.0

Po uspešno naloženi programski opremi Cubicus enota C-CONTROL I STATION 2.0 avtomatsko prične z delovanjem.

Zagon

Na zaslonu se najprej pojavi napis, ki nas informira i verziji  osnovne programa Cubicus2005 Cubicus_prg_0_1.bas in o datumu, ko jebil ta program razvit.

Cubicus ver 0.1 
date: 20.08.2005

Po petih sekundah se pojavi še en podoben napis, ki nas informira i verziji  uporabniškega dela programa  Cubicus2005 Cubicus1.bas in o datumu, ko je bila ta datoteka zadnjikrat popravljena. 

Config 1            
date: 20.08.2005

Po petih sekundah pa je inicializacija končana in na zaslonu se pojavi osnovna stran programske opreme Cubicus

pH=?.?? T=??.? C
                           

V bistvu je prikazana le prva izmed 4 strani, ki so definirane v uporabniškem delu programa Cubicus1.bas. Na prvi stani so podatki, ki so najbolj zanimivi za spremljanje dogajanja v našem akvariju. Trenutno je ta stran še prazna, ker del krmilnika , ki meri temperaturo in pH še ni narejen. V bistvu je na prvi strani samo tekst, ki približno ilustrira, čemu bo ta prva stran namenjena v prihodnosti.

Na tem  mestu naj omenim, da lahko s pritiskom na tipko RESET vedno poženo program od začetka, če recimo želimo še enkrat preveriti kakšno verzijo osnovne programske opreme in uporabniškega dela imamo.

Preden nadaljujemo z ekranskimi prikazi , pa si poglejmo še pomem tipkovnice.

Tipka Opis
PROG Na krmilniku ističasno pritisnemo tipki Prog in Reset in nato najprej spustimo Reset, nato pa še Prog. Na ta način je C-CONTROL I STATION 2.0 pripravlen za programiranje.
RESET požene program od začetka
F1 pomeni naprej (naslednja stran).
F2 pomeni nazaj(ena stran nazaj).
E# pomeni vstop v nek meni (ENTER)
C* pomeni brisanje (oziroma izstop iz menija).
0..9 Tipke od 0 do 9 se uporabljajo pri vnos številk, kadar smo v meniju za nastavitve. Imajo pa te tipke še poseben dodatem pomen, pri ročnem krmiljenju izhodov.

Ročno krmiljenje izhodov

Ročno krmiljenje izhodov  je zelo koristna fukcija, ki je že popolnoma realizirana v verziji 0,1 pa si torej poglejmo kako deluje.Ročno krmiljenje nam omogoča , da določene naprave vklapljamo oziroma izklapljamo,  ne glede na to, kako se odloči avtomatika, ki smo jo programirali. 

Vsaka numerična tipka je dodeljena enemu izhodu  in sicer po sledeči tabeli.

Tipka Opis
0 Vsi izhod  preidejo v avtomatski način krmiljenja
1 LED1 Prvi prtisk na tipko pomeni prehod v ročni način krmiljenja in obenem preklop. Preklop pomeni iz vklopljenega stanja v izklopljeno ali obratno. Vsak naslednji pritisk pomeni le preklop. V avtomatski način krmiljenja  se lahko vrnemo le za vse izhode skupaj s pritiskom na tipko 0 .
2 LED2 (Glej opis LED1)
3 LED3 (Glej opis LED1)
4 LED4 (Glej opis LED1)
5 REL1 (Glej opis LED1)
6 REL2 (Glej opis LED1)
7 REL3 (Glej opis LED1)
8 REL4 (Glej opis LED1)
9 ni v uporabi za krmiljenje relejev

Ko ste preverili možnost ročnega krmiljenja, pa si poglejmo še ostale strani.

Kot sem že omenil, ima uporabniška datoteka Config 1 le 4 strani (na LCDju). Program, ki ga lahko vsak uporabnik prilagodi  svojim željam, je podan v nadaljevanju, tako da lahko vidite, da res ni ni prezahtevno delo, zaslonske prikaze prilagoditi vašim idejam in željam.

SELECT CASE page
CASE 1
LCD.POS 1,1
LCD.PRINT "pH=?.?? T=??.? C"
CASE 2
LCD.POS 1,1
LCD.PRINT "Time:"
SHOW_TIME ()
LCD.POS 2,1
LCD.PRINT "Date:"
SHOW_DATE ()
IF GET_KEY()=11 THEN SET_DATE_TIME()
CASE 3
LCD.POS 1,1
LCD.PRINT "Relay 12345678"
LCD.POS 2,1
LCD.PRINT "Manual "
SHOW_BINARY (Manual)
CASE 4
LCD.POS 1,1
LCD.PRINT "Input 12345678"
LCD.POS 2,8
SHOW_BINARY (DIGITAL_IO)
END SELECT

Omenjeni program torej prikaže sledeče štiri strani.

pH=?.?? T=??.? C   Stran 1
                           
Time:00:00:00         Stran 2
Date:00.00.2000 
Relay      12345678    Stran 3  Status krmiljenja (Kot primer stran 3 prikazuje stanje, ko je izhod 2 v ročnem načinu)
Manual     o           
Input       12345678     Stran 4 Status vhodov
               oooooooo

Med temi štirimi stranmi se sprehajamo s tipkama F1 in F2.

Nastavitev ure in datuma

Vsakič, ko programiramo C-CONTROL I STATION 2.0 ali pritisnemo tipko RESET, je potrebno ponovno nastaviti uro in datum. Nastavitev ure in datuma je zelo enostavna in hitra.

1.) Izberemo stran 2, kjer je prikaz ure in datuma.
2.) Pritisnemo tipko E#
3.) Vpišemo uro in datum

Navodila za spreminjanje uporabniške datoteke Cubicus1.bas

S programiranjem C-CONTROL I STATION 2.0 imamo v rokah zelo močno orodje , s katerim lahko realiziramo takorekoč vsako idejo vezano na avtomatizacijo akvarija. Vse je pač odvisno od naše kreativnosti in znanja. No vedno je potrebo začeti z enostavnimi problemi. V datototeki Cubicus1.bas najdemo v delu programa za avtomatizacijo dva enostavna primera.

Navadno časovno stikalo za vklaplanje luči

Omenjeni del kode definira , da so luči priklopljene na rele 1, vklopljene od 8:00 do 21:00, drugače pa so izklopljene.
Fukcija During ( ura vklopa, minuta vklopa, ura izklopa, minuta izklopa)
IF mREL1=off THEN 'if REL1 is not in manual mode
IF DURING (8,0,21,0) THEN REL1=on ELSE REL1=off
END IF

Omenjeni del kode definira , da so luči priklopljene na rele 2, vklopljene od 8:30 do 20:30, drugače pa so izklopljene.
IF mREL2=off THEN 'if REL2 is not in manual mode
IF DURING (8,30,20,30) THEN REL2=on ELSE REL2=off
END IF

Enostavna simulacija valovanja z vklaplanjem črpalk

Omenjeni del kode izhod LED1 vklaplja in izklaplja s periodo 10 sekund , pri čemer je 5 sekund vklopljena
IF mLED1=off THEN 'if LED1 is not in manual mode
IF ((SECOND MOD 10) >=
5) THEN LED1=on ELSE LED1=off
END IF

Omenjeni del kode izhod LED2 vklaplja in izklaplja s periodo 2  minuti , pri čemer je 1 sekundo vklopljena
IF mLED2=off THEN 'if LED2 is not in manual mode
IF ((MINUTE MOD 2) >=
1) THEN LED2=on ELSE LED2=off
END IF

Vprašanja  so možna na forumu