PyDirectMount je python knihovna ovládající montáže astronomických dalekohledů, které mají nahrazené originální řídící HW/SW hardwarem z MLAB. Tento přístup umožňuje kompletní kontrolu nad montáží pomocí známého komunikačního protokolu. Komunikace s montáží probíhá pouze přes I2C. Pro větší vzdálenost mezi řídícím PC a montáží je možné použít diferenciální vedení I2C nebo vedení RS232 a převodník z RS232 na I2C. Pro ovládání motorů montáže byl zvolen inteligentní budič krokových motorů HBSTEP. Budič komunikuje přes SPI a je přímo na montáži použit převodník z I²C na SPI.
Testování tohoto softwaru probíhá na upravené montáži HEQ5, která je řízena krokovými motory. Veškerá původní elektronika montáže byla odpojena a nahrazena moduly z MLABu.
Knihovna pro řízení montáže se nachází na GitHubu. Software je funkční samostatně i bez použití ROSu nebo AROMu. Vyžaduje pouze fungující PyMLAB.
Paralaktické montáže na svislém sloupku mají problém, že při pozorování přes místní meridián můžou pak narazit do svého sloupku. Tento problém řeší přestavení montáže (meridian-flip) při přiblížení meridiánu. Celý proces spočívá v otočení RA i DEC osy o 180°.
Správné ustavení montáže (alignment) při skládání pozorovací sestavy má obrovský vliv na kvalitu pozorování. Některé montáže poskytují polární hledáček, ale ustavení pomocí hledáčku není dostatečně přesné. Existuje několik různých postupů pro přesné ustavení.
Ustavení DARV (Drift Alignment by Robert Vice method) spočívá v několika jednoduchých krocích, kterými se ustavení velmi zpřesní. Při této metodě je potřeba kamera.
Pro získání polohy například po výpadku proudu nebo naražení montáže je nutné získat absolutní polohu pro bezpečné zaparkování. K tomu je dobré použít magnetometr umístěný na tubusu dalekohledu. Získaná poloha pravděpodobně nebude dostatečně přesná pro najíždění na hvězdy.
Pro přejezd montáže na zadané souřadnice je potřeba ovladači předat souřadnice pomocí ROS zpráv. Z terminálu lze zprávu poslat například takto:
rostopic pub /mount/controll std_msgs/String "altaz 0 90" rostopic pub /mount/controll std_msgs/String "name sirius" rostopic pub /mount/controll std_msgs/String "name m31" rostopic pub /mount/controll std_msgs/String "name NGC224" rostopic pub /mount/controll std_msgs/String "name V416_Aql" rostopic pub /mount/controll std_msgs/String "solar sun" rostopic pub /mount/controll std_msgs/String "solar venus" rostopic pub /mount/controll std_msgs/String "solar moon"
Lze poslat přímo souřadnice v AltAz formátu, nebo jméno objektu z některých katalogů. Dostupnost požadovaného objektu v katalogu systému si můžete ověřit na stránkách Sesame. Taktéž lze zadávat požadavky na objekty sluneční soustavy.
Zpětná vazba poskytuje informace o stavu montáže. Těmito stavy se myslí poloha montáže (hadec resp. altaz souřadnice), její příkon a další informace.
Poloha montáže může být získávána několika způsoby. Buď z čítače kroků budiče krokových motorů HBSTEP, pomocí dodatečných enkodérů (optických nebo magnetických) nebo absolutním odměřováním pomocí magnetometru. Poslední varianta by měla být pouze orientační pro zjištění velké nepřesnosti. Například po naražení montáže, uvolnění spojky nebo ztráty parkovací pozice.
ROS wrapper pro PyDirectMount AROM/mount posílá pomocí ROSmsg /mount/status/coordinates/RaDec
svou pozici. Tato zpráva může být přijímána například webovou mapou zobrazující aktuální pozici montáže nebo jiným planetáriem (Stellarium, Kstars, …)
sudo apt install python-astropy python-ephem python3-astropy python3-ephem
Je vyžadována verze astropy v1.3 a vyšší. Starší verze neobsahují všechny potřebné moduly.
git clone https://github.com/Robozor-network/pyDirectMount.git cd pyDirectMount python setup.py develop
V repozitáři je připraveno několik příkladů, které umí fungovat samostatně.
Jeden z příkladů lze použít jako nástroj pro změření počtu kroků na 1 otočení v případě, že tuto informaci přesně neznáme. Počet kroků na jedno otočení je nezbytná informace pro správné fungování zbytku ovladače.
Po spuštění příkladu se provede inicializace driverů krokových motorů a montáž se rozjede požadovaném směrem. Při otáčení montáž vypisuje počet kroků od začátku. Program ukončíme po ujetí nějakého definovaného úhlu a z vypsaných hodnot spočítáme počet kroků na celé otočení.