pondelok, 16. decembra 2013

Ovládač pre otáčanie antény v dvoch osiach.



V našom rádioklube OM3RRC sme sa začali zapodievať prevádzkou EME a otáčanie anténneho systému 4x10DK7ZB sme vyriešili zakúpením Az/El rotátora s ovládačom. Keď o prevádzku prejavili záujem aj ďalší členovia, jedna zo základných otázok znela ako vyriešiť dobre a lacno otáčanie malého anténneho systému v dvoch osiach – v azimute aj elevácii. 
Pri diskusiách sa často spomínalo využitie DiSEqC/USALS satelitných motorov antén pre príjem satelitnej TV, resp. ich predchodcov – tiahlových motorov pre polárne závesy. Tiahlové motory úspešne využívajú rádioamatéri po celom svete a o ich kvalitách nebolo pochýb. Horšie to bolo s použitím DiSEqC/USALS motorov o ktorých používaní pre takéto účely sme nemali dostatok informácii. Preto sme sa pustili do pátrania a laborovania.

Najskôr prišiel na rad tiahlový motor. V klubovom sklade už niekoľko rokov ležal starší 12“ model. Jeho otvorením sme zistili, že obsahuje jednoduchú prevodovku. Na oske motorčeka je pripevnený magnet v tvare a veľkosti malej mince. Pod ním je umiestnený jazýčkový kontakt. Otáčaním magnetu sa spína kontakt. Frekvencia je asi 2 impulzy na 1mm vysunutia tiahla. Celkový počet impulzov na vysunutie celého tiahla bol asi 600. Analýzou trojuholníka, ktorý vznikne medzi dvoma rovnako dlhými ramenami a meniacim sa tretím ramenom, ktoré predstavuje tiahlový motor so svojou meniacou sa dĺžkou zistíme, že funkcia uhla v závislosti od dĺžky oproti ležiacej strany nie je lineárna. Jedná sa o pomerne zložitú trigonometrickú funkciu. Spravili sme si tabuľku s grafom do Excelu a podrobili skúmaniu, ako túto funkciu naprogramovať , prípadne čo najviac zlinearizovať. Nakoniec sme sa rozhodli pre druhú možnosť s nasledujúcimi podmienkami. Minimálny elevačný uhol bude -10°, maximálny +90° (Mesiac môže dosahovať v našich zemepisných šírkach elevačný uhol od 0 do 62°). Priamka bude prechádzať bodmi 0 a 45°. To budú jediné dva body, kde bude anténa nasmerovaná presne. Po pridaní ďalšieho stĺpca s touto lineárnou funkciou do excelovskej tabuľky a porovnaní so stĺpcom funkcie uhla od dĺžky tiahla sme dospeli k záveru, že najväčšia chyba bude pri elevácii asi 30° a požadovanej maximálnej elevácii 62° a to do 5%, čiže maximálne 2°. Uhly -10 a +90° nás až tak nezaujímali, nakoľko mali slúžiť len na zaparkovanie systému, resp. lepšej možnosti inštalácie. Uvedená nepresnosť je pre najpoužívanejšie smerové antény nepodstatná. Odber zo zdroja v záťaži bol 350mA.
Niekoľko kusov starších satelitných motorov DiSEqC/USALS sme zadarmo získali od miestneho predajcu čiernej techniky a súčiastok HDL elektronik  Považská Bystrica, čím sa mu chceme aj touto cestou poďakovať. Všetky sme ich otvorili a začala kovbojka. Čo kus, to iné mechanické prevedenie. Princíp snímania otáčok motora bol zhodný s tiahlovým motorom, len namiesto jazýčkového kontaktu bola použitá Hallova sonda. Analýzou prevodovky bol zistený počet impulzov na 1° otočenia hriadeľa medzi 38 až 40. Horšie bolo to, že v niektorých prevodovkách bolo plastové, v niektorých kovové hlavné ozubené koleso. Najhoršie, že vo všetkých prevodovkách malo koleso zuby iba na polovici obvodu. Mesiac ale dosahuje pri najvyššej deklinácii azimut od 45 až do 315° pri elevácii 0° a eleváciu spomínaných 62° pri azimute 180°. Málokto má k dispozícii celý obzor a väčšinou sa dá pracovať pri elevácii až nad 5°. Kto sa zmieri s týmto obmedzením, ktoré môže nastať pár dní v roku, získa pomerne solídny rotátor. Urobili sme ešte jeden záťažový test. Nainštalovali sme tiahlový motor  a jeden satelitný motor s kovovým hlavným kolesom na 3,5m parabolu, ktorú mal Peter OM6PM už dlhšiu dobu na statíve. Parabolu má dokonale vyváženú a použil kvalitné dvojradové ložisko z nejakého vozidla, takže stačilo urobiť prispôsobenie medzi osku motora a osku ložiska. Myslel som, že ozubené koleso nemôže túto záťaž vydržať, ale čuduj sa svete, fungovalo to bez problémov. Motor zvládal rozbehy a dojazdy hravo. Odber z 12V zdroja bol aj v najväčšej záťaži okolo 150mA, čo umožní použiť malý hotový zdroj. Našťastie Peter má vyriešené parkovanie s aretáciou. Zaparkovaná a zaaretovaná anténa nekladie na rotátor žiadnu námahu. Pre malý anténny systém s jednou anténou na 2m, alebo štvorčaťom na 70cm by však nemal byť problém ani bez parkovania a aretácie. Okrem toho cena je taká, že prípadné zničenie motora nebude bolestivé.




Obr.1: Statív s parabolou na ktorej bol skúšaný satelitný motor.



Obr.2: Detail upevnenia satelitného a tiahlového motora na statíve s ložiskom.

Na rôznych internetových bazároch sa pravidelne objavujú satelitné motory za dobrú cenu. Objavili sme motor DM3800S, ktorý sa predáva pod značkou Opticum, Optibox, alebo Amiko, ktorý má kovové koleso so zubami po celom obvode. Študenti zo žilinskej univerzity na ovládanie malej antény pre amatérske satelity použili 2 kusy SG9120B s kovovým kolesom a ozubením po celom obvode, viď obrázok č.3 a [1]. Podobný motor ako pre azimut je samozrejme možné použiť namiesto tiahlového motora aj pre eleváciu. Riadenie bude presnejšie a navyše lineárne.





Obr.3: Antény s dvoma DiSEqC satelitnými motormi SG9120B na streche žilinskej univerzity


Tieto zistenia nás povzbudili a bolo treba urobiť návrh zapojenia riadiaceho obvodu. Bohužiaľ všetci naši programátori v súčasnosti riešia neporovnateľne zložitejšie projekty pre svojich chlebodárcov a tak padla voľba hlavného programového menežéra na mňa. Je to už dobrých 30 rokov čo som sa zoznámil s ASM51 a tak to dlho vyzeralo na použitie nejakého kompatibilného klonu. Mladší z klubu ma vysmiali, že dnes všetko fičí na AVR, ARM a podobných mne nič nehovoriacich skratkách. Po večeroch som vyhľadával informácie, zostrojil skúšobnú doštičku a ISP programátor. Keď po nejakej dobe na skúšobnej doštičke blikala LEDka, nebolo šťastnejšieho človeka. Svetlo sveta uzrel jeden iný menší projekt s ATtiny13. Program som písal v AVR Studio v asembleri. Bolo to veľmi zdĺhavé, ale na jazyk C som si netrúfal. Neskôr som natrafil na Basic pre AVR [2], ktorého demo verzia umožňuje vygenerovať 4kB kódu. Zo študentských čias a môjho ponocovania nad Sinclair Spectrum zostala ešte hmlistá spomienka na Basic a tak nainštalovanie Bascom AVR bolo dielom okamihu.

Výrobu riadiacich obvodov, ktoré by nahradili pôvodné prijímače DiSEqC príkazov sme zamietli hneď na začiatku. Musel by sa vyrobiť ešte vysielací modul, ktorý by prijímal príkazy z trakovacieho programu. Jednoduchosť by spočívala iba v použití tenkého koaxiálneho kábla, ktorým by sa k motorom dostávalo napájacie napätie a DiSEqC príkazy. Vzhľadom na predpokladanú vzdialenosť do 10m sme to nepovažovali za prínos. Pri tvorbe zapojenia riadiaceho obvodu padla voľba na mikroprocesor ATmega8 [3], zobrazenie pomocou jednoriadkového LCD displeja, ovládanie štyrmi tlačítkami a spojenie s trackovacím programom cez RS232 oddelenou optočlenom. Rozhrania pre snímače polohy budú rovnaké pre oba, pretože Hallova sonda má výstup s otvoreným kolektorom, čím pripomína kontakt. Trochu nepraktické je, že potrebuje napájanie 5V, kvôli čomu motor potrebuje až 5 vodičový ovládací kábel. Čisto teoreticky sa dalo odobrať napätie z motora, ale túto alternatívu sme neskúšali. Nejaké impulzy by sa mohli stratiť pri rozbehu a dobehu. Tiahlový motor vystačí so 4-vodičovým káblom, avšak jeden vodič môže byť spoločný pre oba snímače, čím sa počet vodičov v ovládacom kábli zredukoval na 8. Po doplnení stabilizátora napájania a odporového deliča na snímanie poklesu napájacieho napätia bola schéma úplna. Delič má tú funkciu, že pri výpadku napájacieho napätia dochádza k jeho poklesu určitú dobu (veľká kapacita na napájacej zbernici). Mikroprocesor cez svoj A/D prevodník zistí pokles napájacieho napätia pod 10V a uloží všetky potrebné dáta do vnútornej EEPROM. Pri opätovnom pripojení  napájacieho napätia sa pokračuje tam, kde sa skončilo. Ako výkonové prvky pre spínanie motorov boli použité miniatúrne relé s kontaktom dimenzovaným na 1A.

 Schéma zapojenia:




Konštrukčné usporiadanie bude riešené vo vhodnej plastovej krabičke. Na jej prednom paneli bude vypínač, displej a ovládacie tlačítka. Na zadnom paneli napájací konektor pre 12V, konektor pre pripojenie ovládacieho kábla k motorom a konektor pre RS232. Napájanie je možné riešiť buď zo samostatného jednosmerného zdroja 12-19V/1A, alebo zo zdroja ktorý napája TCVR. My sme použili kalkulačkový zdroj asi 14V/500mA. Zapojenie je pomerne jednoduché a preto som plošný spoj nenavrhoval, ale použil univerzálny plošný spoj o rozmeroch 80x70mm. Displej je pripojený za pomoci 10 pinového konektora do plošného spoja. Takým istým konektorom sú pripojené tlačítka, snímače polohy a sériová linka. Na pripojenie napájania a motorov sú použité malé svorkovnice do plošného spoja. Po rozložení pätíc a ostatných súčiastok a ich zaletovaní sú jednotlivé nožičky prepojené tenkým vodičom s teflónovou izoláciou. Spínacie tranzistory sú zo strany spojov. V rohoch plošného spoja sú 3mm otvory pre pripevnenie cez dištančné podložky do krabičky. Pri vývoji sa hodili ako nožičky. Peter namiesto tlačítok zabudoval do krabičky štvorkanálový prijímač diaľkového ovládania na 433MHz. Anténu ovláda miniatúrnym DO s dosahom niekoľko desiatok metrov.


Obr.4 Vývojová vzorka



Samotný riadiaci program, ako už bolo spomínané, bol napísaný v prostredí Bascom-AVR. Program má na začiatku deklarácie parametrov a premenných a vbehne do nekonečnej slučky Do – Loop, kde rozoznať sekciu pre príjem z RS232. Parametre sériového prenosu sú 600, 8, N, 1. Implementovaný je príkaz Waaa_eee<CR> (CR=0Dh) z protokolu GS232 [4]. Ďalej sekciu pre zabezpečenie automatického otáčania po prijatí príkazu, sekciu snímania impulzov a sekciu snímania ovládacích tlačidiel. Protokol bol doplnený o príkaz Xaaaaa_eeeee<CR>. Po prijatí tohto príkazu sa do vnútornej EEPROM uloží počet impulzov aaaaa v azimute pre uhol 360° a počet impulzov eeeee v elevácii pre uhol 45°. Toto umožňuje pripojiť motory v podstate s ľubovoľným počtom impulzov do 99999. V praxi si vystačíme do 15000. Ďalší príkaz v tvare Kaaa_eee<CR> vykoná kalibráciu na hodnotu aaa/eee. Je to obdoba ručnej kalibrácie ktorá bude popísaná v ďalšom texte. V praxi sa nám osvedčilo pripevniť k otočnému mechanizmu antény malé laserové ukazovátko. Pri kalibračnej procedúre sa laserový bod natočí na označené miesto v priestore, napr. na značku na stene domu o ktorej presne vieme, na akom azimute a elevácii sa nachádza. Najlepšie sa tieto údaje zisťujú pri meraní šumu slnka. Označené miesto môže byť totožné s parkovacou polohou antény. Potom už len stačí poslať kalibračný príkaz. Na displeji sa zobrazí zaslaná hodnota. Riadiaci program vnútorne pracuje s presnosťou akú umožňuje snímanie impulzov z motorov, t.j. na približne 0,025° a 0,167°. Skutočný uhol natočenia je len zobrazovaná hodnota, ktorú si program vypočíta z maximálneho počtu impulzov na 360 a 45° (zaslaných príkazom X) a aktuálnych čítačov impulzov.

Ručné ovládanie umožňuje nastavovať rotátory v rozsahu -45° až +405° v azimute a -10° až +90° v elevácii. Pre možnosť ručnej kalibrácie bol zvolený smer 180 azimut/0 elevácia. Stlačením dvoch tlačítok pre ovládanie azimutu a zapnutím prístroja sa nastaví azimut 180°. Stlačením dvoch tlačítok pre ovládanie elevácie a zapnutím prístroja sa nastaví elevácia 0°.

Pre zasielanie príkazov cez sériovú linku som používal terminálový program Terminal ver.1.9 stiahnutý z Internetu (www.hw-server.com).  S výhodou som využíval jeho možnosť vyslať preddefinované makrá. Je možné však použiť akýkoľvek terminálový program. Pre automatické otáčanie antény využívame trackovací program od F1EHN.

Stavba je vhodná aj pre začínajúcich konštruktérov. S jej oživením nie sú žiadne problémy. Po zostavení obvodu sa bez osadeného mikroprocesora, odpojených motorov a oboch 10 pinových konektorov pripne obvod na zdroj a zmeria sa odoberaný prúd a napätie za stabilizátorom, prípadne napätia na napájacích pinoch mikroprocesora, displeja a snímačov. Krátkym vodičom prepájame +5V s bázami tranzistorov a odskúšame funkčnosť spínania relátok. Keď je všetko v poriadku a nič nehorí odpojíme zdroj, zasunieme do pätice mikroprocesor, pripojíme konektor displeja a snímačov, pripojíme motory a opäť pripojíme na napätie. Na displeji sa zobrazí údaj AZ=-1 EL=-1. Je to preto, lebo vnútorná EEPROM má všetky bajty nastavené na FFh (čiže -1). Ak máme presne zistené  počty impulzov na 360°/45°, tak ich vyšleme cez príkaz X" a následne ručne, alebo príkazom „K“ skalibrujeme. Ak nepoznáme počty impulzov na 360°/45°, vyšleme príkaz X00360_00045<CR> a následne K180_000<CR>. Po prijatí každého príkazu blikne testovacia LED. Hodnoty sa uložia do EEPROM. Skúsime pomocou tlačitiel točiť motory. Vidíme ako rýchlo sa menia na displeji údaje a akú zmenu to znamená pre motory. Metódou pokusu a omylu sa dopracujeme ku skutočným počtom impulzov. U vývojovej vzorky to bolo X13680_00270<CR>. Tieto uložené údaje vieme skontrolovať, lebo po zapnutí prístroja sa na krátku dobu objavia na displeji. U satelitného DiSEqC motora sa hodnota už meniť nebude, ale u tiahlového motora je skutočný uhol elevácie závislý od mechanického usporiadania. Pri inštalácii treba dodržať zásadu, že na maximálne vysunutie tiahla sa elevačný uhol dá zmeniť od -10 do 90° s malou rezervou. Tak treba nastaviť aj elektrické dorazy.

V súčasnosti prebiehajú dlhodobejšie funkčné skúšky. Bolo zistené, že po niekoľkých desiatkách otočení dochádza k malej chybe. Táto bude spôsobená pravdepodobne zaokrúhľovaním pri neustálom prepočte uhlov na impulzy a naopak. Preto odporúčam použiť kalibračnú procedúru pred každým použitím. Použitie satelitných motorov vzhľadom na rýchlosť otáčania a menšiu záťaž nie je vhodné v závodoch. Okrem malých anténnych systémov kozmickej komunikácie je vhodné aj pre iné aplikácie, napr. natáčanie malých solárnych a fotovoltaických panelov.

Táto konštrukcia má za cieľ ponúknuť lacné a dostupné riešenie otáčania malého anténneho systému pre kozmickú komunikáciu. Autor sa vyvaroval používaniu drahých a nedostupných prostriedkov. Opísal postup ako dospel k riešeniu bez predchádzajúcej praxe v problematike a znalosti dokonalých programovacích prostredí. Program v tvare HEX je k dispozícii u autora. Autor poskytne záujemcovi aj zdrojový text pre jeho prípadné vylepšenie, ale upozorňuje, že ide o veľmi amatérsky napísaný program, navyše v prostredí ktorým skutočný programátori opovrhujú. Autor sa snažil o ďalšie vylepšenia, ale každá ďalšia pridaná inštrukcia prekročila kapacitu 4kB.



Použitá literatúra:

[1] Ľubomír Pasternák: Pozemná pozorovacia a meteorologická stanica, bakalárska práca 2013, Žilinská univerzita v Žiline

[2] Bascom-AVR, MCS Elektronics, www.mcselec.com

[2] ATMega8, datasheet www.atmel.com

[3] Yaesu_GS-232B_Manual.pdf