30
Automatizacija kućice za teleskop (i internetsko upravljanje teleskopom) Tomislav Šklebar 1. razred Prirodoslovna Škola Vladimira Preloga, Zagreb Mentorica: Suzana Galović, prof. [email protected] Zagreb, 2011

Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

  • Upload
    vubao

  • View
    220

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

Automatizacija kućice za teleskop

(i internetsko upravljanje teleskopom)

Tomislav Šklebar 1. razred

Prirodoslovna Škola Vladimira Preloga, Zagreb

Mentorica: Suzana Galović, prof.

[email protected]

Zagreb, 2011

Page 2: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

1

Sadržaj

Uvod 2

Materijali i metode 7

Mikrokontroler 9

Software 10

Programiranje glavnog sučelja 11

Pokretanje kućice 11

Sklop za pokretanje elektromotora 12

Releji 13

Senzor kiše 14

Web kamera 16

Spajanje s računala na računalo 17

Teleskop 18

Zaključak 19

Popis literature 20

Životopis 20

Dodatak 21

Page 3: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

2

Uvod

Cijeli projekt započeo je na ljetnoj školi astronomije u Višnjanu 2010. godine. Glavni ciljevi

bili su izraditi kućicu za teleskop te automatizirati teleskop i kućicu kako bi se mogli upravljati preko

interneta. Na ljetnoj školi završena je samo kućica za teleskop. Kućica je izrađena s namjerom

zaštite teleskopa od vanjskih utjecaja i mogućnosti njegovog korištenja u svakom pogodnom

trenutku iako nismo fizički pokraj teleskopa. U obzir su dolazila 4 tipa izvedbe kućice za teleskop,

to su: kontejner (1), pomični krov (2), pomična kućica (3) i oblik kupole (4). Prva ideja je bila

upotrijebiti kontejner za smeće kao vrtni observatorij za teleskop. Izmjeren je i promotren jedan

takav kontejner, te se došlo do zaključka da mehanizam otvaranja / zatvaranja nije dovoljno

jednostavan za pokretanje (slika 2).

Slika 1. Kontejner

Slika 2. Konstrukcija vrtnog observatorija

Page 4: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

3

Sljedeća zamisao zasnivala se na klasičnom obliku vrtnih observatorija s pomičnim krovom,

metalna konstrukcija bila bi obložena panelima (slika 3.), a elektromotor bi pokretao krov. Nakon

premjeravanja zaključilo se da bi vidno polje teleskopa bilo 45° (premalo), rješenje bi bilo da s

nakon spuštanja krova teleskop podiže pomoću dizalice, što nije dovoljno jednostavno.

Slika 3. Kućica za teleskop sa pomičnim krovom

Pomična kućica je konstrukcija s fiksnim zidom i pomičnom metalnom konstrukcijom. Taj oblik bi

omogućio vidljivost cijelog merdijana te se zato na njemu nastavilo raditi (slika 4).

Slika 4. Pomična kućica za teleskop

Postoji mogućnost izrade kupole (slika 5) od staklo plastike, no ova mogućnost će se razmatrati

možda nekom drugom prilikom.

Slika 5. Kupola

Page 5: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

4

Nacrt kućice sa mjerama dan je na slici 6.

Slika 6. Nacrt kućice za teleskop

Kostur kućice izrađen je od metalnih profila koji su spajani varenjem, a stranica su obložene

dvostrukim metalnim panelima unutar kojih se nalazi stirodur. U fiksnom zidu predviđen je prostor

za kompjuter i ostale elektroničke uređaje. Cijela konstrukcija (osim prostora predviđenog za

kompjuter) pokretna je i postavljena je na kotače koji klize po metalnim trakama L profila. Ovi profili

su zavareni na masivnije željezne četvrtaste profile (slika 7).

Slika 7. Skica postavljanja kotača na konstrukciju kućice

Na slici 8 prikazano je planiranje i dimenzioniranje kućice u odnosu na teleskop.

Page 6: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

5

Slika 8. Podnožje konstrukcije i teleskop

Nacrt kućice prikazan je na slici 9. Na prvoj slićici vidi se tlocrt kućice kada je zatvorena, prikazan

je fiksni zid u kojemu je predviđeno mjesto za kompjuter. Na trečoj slićici prikazan je sustav

pokretanja kućice bez motora, tračnice po kojima se konstrukcija pokreče.

Slika 9. Nacrt kućice za teleskop

Page 7: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

6

Njeno prvobitno otvaranje i zatvaranje izvedeno je kao na automatskim kliznim vratima od

dvorišta, pomoću zupčaste letve i elektromotora. Kada je kućica zatvorena dijelom nalježe na

fiksni zid i gotovo se potpuno zatvara. Cijela kućica i teleskop trebaju biti potpuno automatizirani

kako bi se s njima moglo upravljati iz bilo kojeg dijela svijeta preko interneta. Pod automatizacijom

podrazumjeva se mogućnost upravljanja kućicom (otvaranje i zatvaranje), izrada senzora kiše i

naoblake, interface-a (sučelja na koje se spajaju svi senzori, a ono se upravlja preko kompjutera),

usklađivanje teleskopa i kompjutera te povazivanje kompjutera na internet (slika 10).

Slika 10. Automatizacija teleskopa i internetsko upravljanje

Page 8: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

7

Materijali i metode

Automatizaciju sam započeo izradom glavnog sučelja (interface-a) za upravljanje svim

operacijama.

Nacrt tiskane pločice glavnog sučelja napravljen je u programu PCB i prikazan je na slici 11.

Slika 11. Nacrt tiskane pločice glavnog sučelja

Na slici 12 prikazan je tijek izrade tiskane pločice. Tijek izrade opisan je u koracima prema slikama

(1-4).

Page 9: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

8

(1.) (2.) (3.) (4.)

Slika 12. Izrada tiskane pločice

1. nakon završenog projektiranja sučelja izgled pločice ispisuje se laserskim pisačem na toplinski

neosjetljivu foliju i pomoću drugog izvora topline (npr. električno kuhalo/glačalo) tinta se prenese na

bakrenu pločicu koju sam prethodno očistio.

2. bakrenu pločicu s prenesenom tintom uroni se u vodenu otopinu klorovodične kiseline (HCl) i

vodikova peroksida (H2O2), pričeka se nekoliko minuta sve dok kiselina ne otopi sav bakar koji nije

zaštićen tintom (jetkanje).

3. kada je jetkanje gotovo pločica se izvadi iz kiseline te se ispere pod mlazom vode. Sa suhe

pločice spužvicom natopljenom nitro razređivačem se ukloni tintu i probuše se predviđene rupice

odgovarajućim svrdlom (npr. 1mm).

4. u izbušene rupice s gornje strane (gdje nema bakrenih vodova) umetnu se elektroničke

komponente i zaleme se. Podnožja za mikrokontroler PIC 16F877A i za MAX232N leme se prazna.

Lemljenje je postupak spajanja dvaju metala (nožica elektroničkih elemenata i bakrenih

vodova na tiskanoj pločici) legurom olova i kositra (u obliku tanke žice) koja se zagrijavanjem

prevodi iz krutog u tekuće stanje te ponovnim hlađenjem zadržava metale spojene. Vrh lemilice

nasloni se na lemno mjesto tako da dodiruje i vod oko rupe na tiskanoj pločici i metalni vrh

(nožicu) komponente koji se lemi. Odmah potom se tinol žica prisloni na tromeđu vrha lemilice,

metalnog sloja pločice i lemnog vrha komponente. Grije se vrh komponente koja se lemi te se žica

na njoj rastopi. Ako je lemilica dobro zagrijana i ako su lemne površine čiste, vrh tinola će se

trenutno otopiti i, zahvaljujući adheziji, početi obuhvćati sve metalne površine (slika 13).

Page 10: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

9

Slika 13. Postupak lemljenja

Pošto pločica u tjekom lemljenja leži naopako, korisno je podeliti komponente u grupe po

visini, pa prvo lemiti najniže i ići postupno prema najvišoj, jer jedino tako će sve komponente prije

lemljenja moći osloniti na površinu stola, bez opasnosti da neka od njih ispadne.

Mikrokontroler Mikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je

uistinu malo računalo, a složenost mu ovisi o složenosti zadataka koje mora nadzirati. Kako bi

mogli pomoću računala upravljali otvaranjem i zatvaranjem kućice za teleskop te senzorima koristit

će se mikrokontroler i napisat će se potrebni softver. Mikrokontroler posjeduje više vrasta

memorije. Programska ili FLASH memorija koristi se za pohranjivanje napisanog programa. Ova

se memorija može više puta brisati i reprogramirati. EEPROM memorija se koristi za pohranjivanje

podataka koji trebaju biti sačuvani i kad nema napajanja. RAM memoriju koristi program tijekom

svog izvođenja. Ovdje se pohranjuju međurezultati ili privremeni podaci. PORT A, PORT B, PORT

C, PORT D i PORT E su fizičke veze sa vanjskim svijetom. Port A ima 6, port B 8, port C 8, port D

8 i port E 3 pinova (izvoda). Centralni procesor povezuje ostale dijelove mikrokontrolera i kordinira

njihov rad te izvršava korisnički program. Brojač je 8-bitni registar unutar mikrokontrolera koji radi

neovisno o programu. Na svaki četvrti takt iz oscilatora brojač uveća svoju vrijednost dok ne

postigne maksimalnu (255) i brojanje počinje ispočetka. Vrijeme između dva povećanja sadržaja

brojača je poznato, što se može iskoristiti za mjerenje vremena. Takt je osnovni pokretač

mikrokontrolera i dobiva se izvana putem oscilatora.

Page 11: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

10

PIC 16F877A je mikrokontroler u jednom čipu i ima ukupno četrdeset pinova. Najčešće je izveden

u DIP 40 kučištu, shema je prikazana na slici 14.

Slika 14. Shema PIC 16F877A

Da bi mikrokontroler mogao raditi potrebno je nekoliko vanjskih komponenata. Prvo je potreban

regulator napajanja, npr. IC 78L05 (koji regulira napon na 5V). Kao oscilator korišten je kristal od

20 MHz. Osim toga potrebno je još nekoliko pasivnih elemenata, na primjer otpornik od 10 kilooma

i nekoliko kondenzatora. Ulazi mikrokontrolera mogu biti analogne i digitalne prirode (npr. naponi i

frekvencije) a podatke će prosljeđivati neki mjerni pretvornik (senzor). Dakako i izlazi mogu biti i

analogne i digitalne prirode. Senzori se spajaju na mikrokontroler kojemu se putem računala prvo

daje set instrukcija (programiramo) kako bi mikrokontroler uz određeno napajanje mogao postati

zasebna cjelina koja izvršava upisane naredbe.

Software

Software se sastoji od dva osnovna programa. Prvi program se nalazi u mikrokontroleru i

zadužen je za očitavanje signala koji dolaze sa senzora. Drugi dio programa nalazi se na računalu,

a pokreće se nakon priključivanja na sučelje. Preko njega se upravlja sučeljem

Page 12: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

11

Programiranje glavnog sučelja

Programiranje glavnog sučelja vrši se pomoću programa „Microsoft Visual Basic“. Kod

napisanog programa nalazi se u prilogu. Program je osmišljen kako bi se mogao pokretati sa

svakog računala s operativnim sustavom "Windows" i USB ili COM priključkom te instaliranim

programima upogoniteljima od web kamere.

Pokretanje kućice

Prva idea bila je da se kućica pokreče elektromotorom od automobilskih brisača (Slika 15.)

tako da se na osovinu motora spoji navojna šipku (promjera 8 mm), a na pokretni dio kućice

zavarimo maticu te se kućica otvara i zatvara po sistemu odvijanja i zavijanja navojne šipke kroz

maticu. No tu se se pojavili i prvi problemi. Motor se okretao samo u jednom smjeru te je trebalo

izraditi sklop kojim bi se omogučilo upavljanje motora u oba smijera. Taj sam sklop izradio pomoću

dva releja (slika 18.) Nakon postavljanja motora prema zamislili pojavio se drugi problem, presporo

otvaranje kućice te će na kraju vjerojatno ovaj način otvaranja/zatvaranja kućice biti rezervni za

slučaj nestanka električne energije i da nikog nema u blizini. Osnovna zamisao otvaranja kućice

zamjeniti će se načinom otvaranja automatskih dvorišnih vrata, pomoću elektromotora, zupčanika i

zupčaste letve (nacrt motora i općenita primjena su na slici 16). Motor će se postaviti s vanjske

strane jer na sebi ima mogućnost otpuštanja kočnice te ručnog pomicanja kućice što nije

zanemrivo u slučaju nestanka struje.

Slika 15. DC motor (automobilski brisač)

Page 13: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

12

Slika 16. Motor za otvaranje automaskih dvorišnih vrata

Sklop za pokretanje elektromotora

Sklop za pokretanje elektromotora od automobilskih brisača napravio sam pomoću dva

releja, dva tranzistora i dva otpornika. Glavno upravljačko sučelja može isporučiti samo 5VDC

napona vrlo mala struje što je bilo nedovoljno da bi se pobudili releji koji su bili na 12VDC ali pošto

je za pobuđenje relaja potrebno ili napon ili struja izradio sam pojačala struje za svaki od releja.

Ovaj sklop omogućuje promjenu smjera vrtnje kada se zamjene polovi na ulazu sklopa (slika 17)

Zamjena polova na ulazu izvršava se kompjuterski, preko programa.

Slika 17. Nacrt tiskane pločice sklopa za pokretanje elektromotora

Page 14: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

13

Slika 18. Sklop za pokretanje elektromotora

Releji

Releji su sklopni aparati koji se aktiviraju od jedne ili više električnih veličina kao što su

(napon, struja, snaga…). Svi releji se uključuju preko više vrsta kontakata i osnovni im je zadatak

da preko svojih kontakata i pomoćnih strujnih krugova djeluju na druge uređaje radi upravljanja,

mjerenja, signalizacije, zaštite nekih postrojenja i nekih dijelova postrojenja. Relejske kontakte

pomiče namot elektromagnetnom silom. Dijelovi releja su: namot releja, jaram koji na sebi drži

elektromagnet, a koji privlači željeznu kotvu. Kotva uspostavlja ili prekida set električnih kontakata,

a vraća se u polazni položaj uz pomoć opruge, kad kroz elektromagnet više ne teče struja. Namot

releja spojen je u upravljačkom strujnom krugu. Strujni krug s relejom čine dva neovisna strujna

kruga : upravljački krug s upravljačkom strjom i uklopni krug sa radnom strujom. Kad prekidač

uključi, poteče struja kroz namot releja i kotva releja privuče. Kontakti releja se zatvore i u strujnom

krugu potrošača poteče radna struja.

Elektromagnet se obično sastoji od mnogobrojnih namotaja bakrene žice željeznu jezgru. Kada

struja poteče kroz žicu ( primarni strujni krug ), oko elektromagneta se stvara magnetsko polje koje

privlači željeznu kotvu. Kotva nosi na sebi električne kontakte koji onda otvaraju ili zatvaraju

sekundarni strujni krug. Kada se prekine struja kroz elektromagnet, on više ne privlači željeznu

kotvu, i ona se vraća u polazni položaj, obično uz pomoć opruge. Time električni kontakti prekidaju

ili uspostavljaju strujni krug. U gornjem dijelu slike 19, relej je isključen. Kontakti dalje od

elektromagneta su otvoreni. U donjem dijelu slike relej je uključen, kotva pomjera srednji kontakt

Page 15: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

14

koji sad uspostavlja vezu sa desnim. Desni par kontakata je normalno otvoren. Dijelovi : 1)

elektromagnet 2) kotva 3) kontakti.

Slika 19. Relej

U svakom releju se nalaze kontakti, koji se otvaraju ili zatvaraju pri djelovanju releja,

a izvedeni su od srebra ili srebrenih legura. Većina releja ima više parova kontakata.

Radni napon i jakost struje

Na relejima koje sam koristio dati su podaci: 12V, 240V, 10A. To znači da je radni napon

elektromagneta 12V istosmjernog napona, a kontakti su predviđeni za prekopčavanje

na 240V izmjeničnog napona.

Senzor kiše

Senzor kiše izradio sam pomoću promjenjivog otpornika, običng otpornika te tranzistora

(nacrt i izvedba su na slikama slika 22 i 23.) Na senzor kiše spaja se proba (nacrt na slici 21) koja

se postavlja na vanjskoj strani kućice (krovu) kako bi bila u doticaju s kišom kada počne padati.

Ona je izrađena od golih vodova na tiskanoj pločici koji su naizmjenično postavljeni tako da se ne

dodiruju, a razmak između njih je približno 1mm (slika 22). Kroz vodič teče istosmjerna struja te je

njen protok kroz vodič prekinut u slučaju da kiša ne pada, a kada padne prva kap kiše te zatvori

strujni krug srtuja slobodno prolazi kroz vodič te odlazi do promjenjivog otpornika na kojemu se

Page 16: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

15

podešava osjetljivost senzora. Kada struja poteče kroz otpornik te dođe do tranzistora on šalje

signal na glavno upravljačko sučelje. Kada sučelje primi taj signal prosljeđuje informaciju do

računala „Kiša pada!“ te automatski počinje zatvarati kućicu.

Slika 20. Nacrt probe Shema 22. Nacrt senzora kiše

Slika 21. Proba Slika 23. Senzor kiše

Page 17: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

16

Web kamera

U planu je bila izrada senzora naoblake ali pošto za sada to nisam realizirao, privremeno

kao senzor naoblake koristiti će se web kamera za vanjski nadzor. Prvobitna kamera bila je VGA

rezolucuje (loše) i kao takva nije bila pogodna za pračenje neba. Prvobitnu kameru zamjenjena je

boljom rezolucuje od 2 megapiksela. Što je zahtjevalo male preinake u programskom kodu.

Kako bi bilo moguće promatranje preko kamere, računalo koje pokreče program na sebi mora

imati instalirane programe upogonitelje svojstvene svakom modelu kamere. Ova kamera spaja se

na računalo preko USB priključka.

Slika 24. prikazuje senzor kiše, glavno sučelje i sklop za pokretanje motora unutar

plastičnog kučišta (dimenzija: 228x178x68mm). Glavne priključke za struju izvode za elektromotor

te priključak za računalo (RS232) izveo sam na površinu kučišta.

Slika 24. Senzor kiše, glavno sučelje i sklop za pokretanje motora

Page 18: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

17

Spajanje s računala na računalo

Glavno sučelje ne može raditi bez računala što znači da jedno računalo mora biti blizu

sučelja i svih senzora. Predviđeno je da se računalo nalazi u fiksnom zidu kućice te da je nekim

putem (žicom ili bežično) spojeno s internetom kako bi mu se moglo pristupati, pošto je zamišljeno

da se teleskopom može upravljati iz bilo kojeg dijela svijeta u bilo koje vrijeme. Računalo koje će

se nalaziti u kućici mora na sebi imati instaliran i podešen program preko kojega mu se može

pristupati a koristiti će se program „Windows Remote Desktop“. Tijekom instalacije programa

potrebno je izraditi korisnički račun na koji ćemo se kasnije spajati. Kada se računalu pristupi njime

se upravlja kao da smo fizički na njemu.

Slika 25. Windows Remote Desktop

Slika 26. Korisnički račun

Slika 25. Prikazuje prozor programa „Remote Desktop“ te je označeo računalo na koje su spojeni

svi senzori. Za spajanje na računalo s kojim sve upravljamo potrebna nam je lozinka. Slika 26.

prikazuje prozor za unos lozinke računala na koje se spajamo. Nakon potvrde lozinke prikazuje

Page 19: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

18

nam se radna površina drugoga računala na kojemu zatim pokrenemo program za upravljanje

kućicom.

Na slici 27 prikazan je prototip internetskog upravljanja jednog računala drugim te

cjelokupne aparature koja je priključena na njega.

Slika 27. Internetsko upravljanje jednog računala drugim

Teleskop

Teleskop koji se koristiti u projektu je Meade LX200 GPS 8 (slika 28.) koji dolazi u kompletu s

software-om ( „Meade Autostar II” ) za upravljanje. Teleskop će se upravljati s istim računalom s kojim se

upravljaju senzori i pokreće kućica, a spaja se pomoću COM (RS232) priključka. Navođenje teleskopa

olakšano je pomoću GPS-a koji je potrebno podesiti. Za praćenje preko interneta potrebna CCD kamera koja

se postavlja na teleskop. Pošto još nije nabavljena odgovarajuću kamera za obavljanje ove zadaće nisam ju

mogo unjeti u program.

Page 20: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

19

Slika 28. Meade LX200 GPS 8

Zaključak

Ovo je samo početak. U planu je izrada još nakoliko senzora (naoblake, otvorenosti kućice)

te realizacija pokretanja kućice pomoću elektromotora i zupčaste letve. Postavljane kućice na

terasu stare Višnjanske zvjezdarnice u gradu Višnjanu, ugrađivanje računala u fiksni zid kućice i

njegovo spajenje na internet kako bi nam bio dostupan u svakom trenutku. Još smo uvijek u

procesu traženja dovoljno kvalitetne kamere koju bi postavili na teleskop kako bi mogli vršiti

promatranja. Ovaj projekt otvara jednu novu dimenziju promatranja i bilježenja neba, iz bilo kojeg

dijela svijeta s bilo kojeg računala s instaliranim „Windows Remote Desktop“ programom.

Page 21: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

20

Popis literature

-„Small Astronomical Observatories“, Patrick Moore, Springer, 1996

- „Meade manual“, Meade Instruments Corporation

Životopis

Rođen sam u Zagrebu 1995. g, a živio sam u Bjelovaru gdje sam završio osnovnu školu. U

Zagreb se opet vračam 2010. godine te upisujem Prirodoslovnu školu Vladimira Preloga.

Astronomijom sam se počeo baviti prije šest mjeseci. Osim astronomije zanima me i elektronika te

umjetnička fotografija.

Page 22: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

21

Dodatak

Kod programa kodiran u „Microsoft Visual Basic-u“

Module MataSoftInterface

Private WithEvents SerPort As System.IO.Ports.SerialPort

Public Const PORTAnalog As Integer = 8

Public Const PORTB As Integer = 16

Public Const PORTC As Integer = 32

Public Const PORTD As Integer = 64

Private Started As Boolean = False

Private TRISB As String = ""

Private TRISC As String = ""

Private TRISD As String = ""

Private TRISE As String = ""

Public Function InterfaceInit(ByVal comport As String) As Boolean

SerPort = New System.IO.Ports.SerialPort(comport, 19200, IO.Ports.Parity.None, 8,

IO.Ports.StopBits.One)

SerPort.ReadTimeout = 1000

SerPort.RtsEnable = True

Try

SerPort.Open()

Catch ex As Exception

Started = False

SerPort.Close()

InterfaceInit = False

Exit Function

End Try

System.Threading.Thread.Sleep(1000)

SerPort.Write("STARTOK")

Page 23: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

22

Try

If SerPort.ReadLine = "Interface Connected!" Then

PopulateTRIS()

Started = True

InterfaceInit = True

Else

Started = False

SerPort.Close()

InterfaceInit = False

End If

Catch ex As Exception

Started = False

SerPort.Close()

InterfaceInit = False

End Try

End Function

Public Sub InterfaceStop()

If Started Then

Started = False

SerPort.Write("STARTOK")

SerPort.ReadLine()

SerPort.Close()

End If

End Sub

Public Function GetIOStatus(ByVal port As Integer) As String

If Started Then

Select Case port

Case PORTB

PopulateTRIS()

GetIOStatus = TRISB

Case PORTC

PopulateTRIS()

GetIOStatus = Mid(TRISE, 6, 2) & Mid(TRISC, 3, 6)

Case PORTD

PopulateTRIS()

GetIOStatus = TRISD

Case Else

Page 24: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

23

GetIOStatus = ""

End Select

Else

GetIOStatus = ""

End If

End Function

Public Function SetIOStatus(ByVal port As Integer, ByVal tris As String) As Boolean

Dim txt As String = ""

Dim med As String = ""

If Started Then

Select Case port

Case PORTB

If Len(tris) = 8 And CheckTRIS(tris) Then

txt = "TB" & BinaryToDecimal(tris) & "OK"

SerPort.Write(txt)

PopulateTRIS()

SetIOStatus = True

Else

SetIOStatus = False

End If

Case PORTC

If Len(tris) = 8 And CheckTRIS(tris) Then

med = "10" & Mid(tris, 3, 6)

txt = "TC" & BinaryToDecimal(med) & "OK"

SerPort.Write(txt)

med = "00000" & Mid(tris, 1, 2) & "1"

txt = "TE" & BinaryToDecimal(med) & "OK"

SerPort.Write(txt)

PopulateTRIS()

SetIOStatus = True

Else

SetIOStatus = False

End If

Case PORTD

If Len(tris) = 8 And CheckTRIS(tris) Then

txt = "TD" & BinaryToDecimal(tris) & "OK"

SerPort.Write(txt)

PopulateTRIS()

Page 25: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

24

SetIOStatus = True

Else

SetIOStatus = False

End If

Case Else

SetIOStatus = False

End Select

Else

SetIOStatus = False

End If

End Function

Public Function SetBitStatus(ByVal port As Integer, ByVal bit As Integer, ByVal state

As Integer) As Boolean

Dim txt As String = ""

If Started Then

Select Case port

Case PORTB

If bit > -1 And bit < 8 And state > -1 And state < 2 Then

txt = "OB" & bit.ToString & state.ToString & "OK"

SerPort.Write(txt)

SetBitStatus = True

Else

SetBitStatus = False

End If

Case PORTC

If bit > -1 And bit < 8 And state > -1 And state < 2 Then

If bit < 6 Then

txt = "OC" & bit.ToString & state.ToString & "OK"

SerPort.Write(txt)

SetBitStatus = True

Else

txt = "OE" & LTrim(Str(bit - 5)) & state.ToString & "OK"

SerPort.Write(txt)

SetBitStatus = True

End If

Else

SetBitStatus = False

End If

Page 26: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

25

Case PORTD

If bit > -1 And bit < 8 And state > -1 And state < 2 Then

txt = "OD" & bit.ToString & state.ToString & "OK"

SerPort.Write(txt)

SetBitStatus = True

Else

SetBitStatus = False

End If

Case Else

SetBitStatus = False

End Select

Else

SetBitStatus = False

End If

End Function

Public Function GetBitStatus(ByVal port As Integer, ByVal bit As Integer) As Integer

Try

Dim txt As String = ""

Dim ret As String = ""

If Started Then

Select Case port

Case PORTAnalog

If bit > -1 And bit < 6 Then

txt = "A" & bit.ToString & "OK"

SerPort.Write(txt)

ret = SerPort.ReadLine

If Mid(ret, 1, 2) = Mid(txt, 1, 2) Then

GetBitStatus = Val(Mid(ret, 4, 4))

Else

GetBitStatus = -1

End If

Else

GetBitStatus = -1

End If

Case PORTB

If bit > -1 And bit < 8 Then

txt = "IB" & bit.ToString & "OK"

SerPort.Write(txt)

Page 27: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

26

ret = SerPort.ReadLine

If Mid(ret, 1, 3) = Mid(txt, 1, 3) Then

GetBitStatus = Val(Mid(ret, 4, 1))

Else

GetBitStatus = -1

End If

Else

GetBitStatus = -1

End If

Case PORTC

If bit > -1 And bit < 8 Then

If bit < 6 Then

txt = "IC" & bit.ToString & "OK"

SerPort.Write(txt)

ret = SerPort.ReadLine

If Mid(ret, 1, 3) = Mid(txt, 1, 3) Then

GetBitStatus = Val(Mid(ret, 4, 1))

Else

GetBitStatus = -1

End If

Else

txt = "IE" & LTrim(Str(bit - 5)) & "OK"

SerPort.Write(txt)

ret = SerPort.ReadLine

If Mid(ret, 1, 3) = Mid(txt, 1, 3) Then

GetBitStatus = Val(Mid(ret, 4, 1))

Else

GetBitStatus = -1

End If

End If

Else

GetBitStatus = -1

End If

Case PORTD

If bit > -1 And bit < 8 Then

txt = "ID" & bit.ToString & "OK"

SerPort.Write(txt)

ret = SerPort.ReadLine

If Mid(ret, 1, 3) = Mid(txt, 1, 3) Then

Page 28: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

27

GetBitStatus = Val(Mid(ret, 4, 1))

Else

GetBitStatus = -1

End If

Else

GetBitStatus = -1

End If

Case Else

GetBitStatus = -1

End Select

Else

GetBitStatus = -1

End If

Catch ex As Exception

GetBitStatus = 0

End Try

End Function

Private Sub PopulateTRIS()

Dim txt As String = ""

'TRISB

SerPort.Write("GBOK")

txt = SerPort.ReadLine

If Mid(txt, 1, 2) = "GB" Then

TRISB = DecimalToBinary(Val(Mid(txt, 3, 3)))

End If

'TRISC

SerPort.Write("GCOK")

txt = SerPort.ReadLine

If Mid(txt, 1, 2) = "GC" Then

TRISC = DecimalToBinary(Val(Mid(txt, 3, 3)))

End If

'TRISD

SerPort.Write("GDOK")

txt = SerPort.ReadLine

If Mid(txt, 1, 2) = "GD" Then

TRISD = DecimalToBinary(Val(Mid(txt, 3, 3)))

End If

'TRISE

Page 29: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

28

SerPort.Write("GEOK")

txt = SerPort.ReadLine

If Mid(txt, 1, 2) = "GE" Then

TRISE = DecimalToBinary(Val(Mid(txt, 3, 3)))

End If

End Sub

Private Function CheckTRIS(ByVal tris As String) As Boolean

Dim nula As Integer = 0

Dim jedan As Integer = 0

For i = 1 To 8

If Mid(tris, i, 1) = "1" Then

jedan += 1

ElseIf Mid(tris, i, 1) = "0" Then

nula += 1

End If

Next

If nula + jedan = 8 Then

CheckTRIS = True

Else

CheckTRIS = False

End If

End Function

Private Function DecimalToBinary(ByVal dec As Integer) As String

Dim res As String = ""

Dim val As Integer = 128

While val > 0

If dec - val > -1 Then

dec -= val

res &= "1"

Else

res &= "0"

End If

val /= 2

End While

DecimalToBinary = res

End Function

Page 30: Automatizacija kućice za teleskop - · PDF fileMikrokontroleri su elektronički uređaji koji rade na načelu vrlo bliskom računalu. Mikrokontroler je uistinu malo računalo,

29

Private Function BinaryToDecimal(ByVal bin As String) As String

Dim res As Integer = 0

Dim val As Integer = 128

Dim final As String = ""

For i = 1 To 8

If Mid(bin, i, 1) = "1" Then

res += val

End If

val /= 2

Next

final = res.ToString

For i = 2 To final.Length Step -1

final = "0" & final

Next

BinaryToDecimal = final

End Function

End Module