Maailma on täynnä näitä Arduino-fokkariohjaimia, joten miksen minäkin. Kaupasta ostettuna ohjaimet maksavat joitain satasia, joten niissä on toimintoihinsa nähden aika muikeat katteet ja monesti paljon tarpeetonta multimediaa kuten iso kotelo näyttöineen ja nappeineen.
Tarvikkeet:
- Arduino Nano (kiinasta, <2€)
- Pololun DRV8825 -stepperiohjain (aito $9, kiinaklooni 1,25€)
- Pari 100uF konkkaa miljoonalaatikosta
- RJ45-liitin (1€)
- Toisesta projektista ylijäänyt piirilevy ($10). Johtoja ei tarvita montaa, tämän olisi voinut helposti tehdä vaikka perfboardille.
- Powerpole-liitin sähköjä varten (1€)
- Kotelo 3D-tulostimesta
Eli aika halvaksi tuli :).
Tarvittava kytkentä löytyy Pololun
tuotekuvauksesta. Minimikytkennän ohella kytkin myös mikrosteppausvalinnat sekä fokkarin sähköjä ohjaavan enable-pinnin Arduinolle, jotta näitä voi ohjata ohjelmallisesti. Lisäksi Arduinon ominaisuus jossa se resetoituu sarjaportin avautuessa piti estää kytkemällä yksi 100uF konkka Arduinon RST ja GND-pinnien väliin, muuten Moonliten ASCOM-ajuri ei saanut siihen yhteyttä.
Samuli oli tehnyt hyvän pohjan ohjaimen firmwarelle Moonlite-fokkarien sarjaliikenneprotokollaa käyttäen, joten ohjainta pystyy käskyttämään suoraan Moonliten ohjelmistoilla ja ASCOM-ajureilla. Miksi keksiä pyörää uudestaan :-). Tätä pohjaa lähdin sitten kehittelemään eteenpäin, ja lopputuloksena tuossa on nyt seuraavat ominaisuudet:
- Keskeytysohjattu moottoriohjaus, ajaa siististi 1000 askelta sekunnissa.
- Valittava nopeus ja mikrosteppaus täydestä stepistä aina 1/32 steppeihin asti
- Asetusmuisti, fokkarin sijainti tallennetaan Arduinon omaan EEPROMmiin aina siirron päätteeksi
Esprit 100:n 3" fokkarin ja Lacertan stepperimoottorin kanssa päädyin käyttämään täyttä nopeutta kohtuullisen pienillä 1/16 mikrostepeillä. Fokkari liikkuu ripeästi, ja yhden stepin koko on jossain 1.5 mikrometrin paikkeilla eli eiköhän sillä osu kohdilleen nopeammallakin optiikalla.
Arduino-koodi löytyy githubista, jos joku haluaa askarrella vastaavaa:
https://github.com/vehnae/arduino-focuser/
