Kicseréltem az eredeti FZ1-es menetvezérlőmet egy saját készítésű, vezeték nélküli, androidos tabletről irányított vezérlőre. Az alábbiakban ennek a lépéseit mutatom be.
A szerelési folyamat több helyen is veszélyes lehet, kérem, hogy csak az lásson hozzá, aki rendelkezik alapvető műszaki ismeretekkel, ért az elektromossághoz. Ezek a dolgok árammal működnek, ami veszélyes ha nem vagy elég körültekintő, forrasztani is kell néhány helyen, ami megint csak figyelmet igényel a hőhatások és a felhasznált anyagok miatt. Ez a cikk alapvetően azért született hogy saját magamnak dokumentáljam azt amit csináltam, nem szakszerű útmutató.
Hogyan működik a menetvezérlő?
A BTTB modellvasút mozdonyok 12V egyenárammal működnek. Minél magasabb a feszültség annál gyorsabban forog a motorja, tehát a 12V-ot inkább egyféle maximumnak lehet tekinteni. Szétszedtem egy mozdonyt, annak a motorjára az volt írva, hogy már 1,2V-nál indul. Ugyanitt megtalálható volt az áramfelvétel is, ami 1A alatt volt.
Minden kezdőkészlethez tartozott egy transzformátor, de persze lehetett külön is venni. Nekem egy FZ1-es Piko gyártmányú van. Ez alapban úgy működik, hogy egy kis potméter segítségével lehet szabályozni, hogy melyik irányba és milyen gyorsan menjenek a vonatok. A trafó ennek megfelelően 0-12V közötti egyenáramot tesz a kimenetére. Ezeket a kimeneteket kell a két sínre rákapcsolni, a mozdony pedig a kerekei segítségével szedi az áramot, ami az egyenáramú motort hajtja.
Nem szedtem szét a trafót, de azt olvastam, hogy a potméter egy ellenállás sor segítségével állít elő több vagy kevesebb a feszültséget. A felesleget az ellenállások segítségével fűti el. Nem túl energiatakarékos megoldás, de nem ez volt a fő szempont amikor a trafó lecserélésén kezdtem gondolkodni.
Trafó csere
A cél tehát a trafó cseréje lett, valami modernebb megoldásra, ami már kapcsolóüzemű transzformátort használ. Lehet kapni készen is ilyesmit, de nézzük mit kell tudnunk, ha egy kis pluszra vágyunk, mint például androidos vezérlés, és saját magunk készítjük el. Ha valakinek egyébként is van már otthon routere, tabletje, akkor ez a házi megoldás is nagyjából ugyanannyiba kerül, mint a készen kapható változatok és többet tud.
Hardver 1
A megoldásom arduino alapú. Én egy arduino megát választottam, mert később egyéb kiegészítőket is ezzel akarok majd vezérelni úgyhogy a mega rengeteg outputja jól jön majd. Ehhez kell még egy motorvezérlő is. Egy sparkfun ardumoto klónt vettem. A kettő úgy működik együtt, hogy az arduino megfelelő outputjait PWM módban használva az ardumoto képes a saját outputjain 0-18V előállítására, persze ehhez kell egy külön tápegység is. Az ardumoto csak skáláz, szóval ha 12V a bemeneti feszültsége akkor 0-12V tartományba tud kimeneti feszültséget adni. Vettem is egy 12V-os tápegységet. 5A-es, az ardumoto 4A-ig van hitelesítve. Fontos, hogy immár a tápegységünk kapcsoló üzemű, szóval energiatakarékosabb is, mint az FZ1.
Az ardumotot és az arduinot simán egymásra lehet pakolni az arduino igen ötletes dizájnja miatt, viszont a többi alkatrészt forrasztani kell, és kellett egy készülékház is. A készülékház szerepét egy 0,8 literes műanyag mikrós doboz látja el. Elég olcsó megoldás és ha a megmunkálás nem sikerül elsőre, akkor sem kell elkeseredni a drága alapanyag miatt. Azért bűvészkedtem a kajás dobozzal, mert valamiféle por elleni védelem mindenképpen szükséges és elfogadható árban erre való készülékházat nem találtam, de ez is teljesen megfelel a célnak. Azért, hogy könnyen bontható legyen a rendszer feltettem néhány csatlakozót a dobozra. A menetvezérlőhöz elég csak az ardumoto kimenetét kivezetni. Én ilyen aljzatokat és dugókat vettem. A 12V-os tápegységet be lehet dugni az arduino megába. Vigyázzunk, hogy a kisebb arduinók már lehet nem fogják szeretni ezt a magas feszültséget, szóval kell valami megoldás arra, hogy az ardumoto tápja független legyen az arduinoétól.
Teszt
Ha ezt mind összeszereljük, akkor már készen is vagyunk egy kis tesztre. Szükségünk lesz egy számítógépre és egy multiméterre. Az arduinot rákötjük számítógépünk USB portjára. Letöltjük az Arduino IDE-t. Ha minden jól megy az IDE felismeri az arduinonkat és már tölthetjük is fel az egyik IDE-be beépített példát innen: File/Samples/Firmata/Standard Firmata.
Lépjünk ki az IDEből és indítsuk el a firmata_test programot. Állítsuk, be hogy melyik portra van csatlakoztatva az arduino, majd kezdődhet a játék. Ha minden jó akkor most az ardumoto vin pontján 12V a feszültség, ha pedig a B kiemenetet nézzük akkor 0V. Állítsuk át a firmata test programban a 11-es pint PWM módba majd játszunk a csúszkával. Ha mindent jól csinálunk, akkor egyrészt az ardumotón ki fog gyulladni egy led, másrészt ha megint megmérjük a B kimenetet akkor már valami 0V-tól különböző értéket fogunk látni.
Ez így egy elég fapados megoldás, már kb. azt tudjuk, amit a boltban kapható menetvezérlő, szóval akár már elkezdhetünk játszani is. A szoftver résznél majd leírom, hogy lehet profibb a szabályzás, de teszteléshez egyelőre ez is elég. Az ardumoto B kimenete mehet a sínekre, építsünk egy körpályát és játsszunk a sebességgel! Irányt váltani a 13-as pin átbillentésével lehet.
Hardver 2
A második rész jóval veszélytelenebb, mint az első. Mivel nem akarjunk a számítógépünket cipelni és a firmata test sem annyira barátságos kis alkalmazás, nézzük mit tehetünk! Az én megoldásomban szükségünk lesz valami kicsi eszközre, ami tud linuxot futtatni, a linuxnak viszonylag barátságos az alkalmazás ellátottsága és van rajta USB port és wifi. Valamint szükségünk lesz egy androidos készülékre, amiben van wifi.
Az én linux boxom a már korábban említett Asus WL-500g router. A linux pedig openwrt. Az androidos készülékem is van kettő, a minimum 2.3.3-as android verzió szükséges. A routert úgy állítottam be, hogy az otthoni hálózattól független wlan-t csináljon, az IP-je legyen 192.168.2.1. Az androidos eszközzel erre a wlan-ra csatlakozom.
Szoftver
A router szoftverről már írtam egyszer. Kell stty és valamilyen web server ami tud cgi-bin-t futtatni. A cgi script kb ennyi. A query string-ben érkező firmata parancsokat szépen kitolja az USB portra, amin az aruduino van.
A firmata parancsokat pedig ezzel az androidos alkalmazással fogjuk készíteni és a web servnek elküldeni. A kezelőfelületen a felső sávra koncentráljunk, az itt levő csúszka segítségével lehet a vonatok irányát és sebességét szabályozni. Van egy extra stop gomb is, ami segítség a megálláshoz, ha nem tudnánk eltalálni a csúszka közepét.
A következő részben a kiegészítők vezérlését is beépítjük a rendszerbe. Ennek kezdeményeit már a fenti képen fel lehet fedezni.