Menü Bezárás

WiFi-s rotctld emulátor Yaesu G5500 antennaforgatóhoz

Az elsősorban a SMOG-1 műholdhoz készült antennánkat és a forgatót márciusban sikerült kihelyeznünk a tetőre és beüzemelnünk. Az első vételek során az antennaforgatóhoz korábban készült vezérlőt használtuk, de mint általában a problémák nagy része, ennek a hiányosságai is élesben jöttek elő. Ezt továbbgondolva készült el a második változat. Kicsit történetmesélés jelleggel írok, így hosszú lesz…

Valamilyen szoftver-kompatibilitási probléma miatt a rotctld nem tudta lekérdezni a pozíciót a vezérlőtől, így a GPredict Rotator Control sem tudott ráállni, ezért kézzel kellett nyomkodni az Engage gombot. Másik probléma, hogy a vezérlő csak egy tengelyt kapcsol be egyszerre, ami jelentős többletidőt eredményez egy másik pozícióra álláskor. Ezeket talán meg is tudtuk volna oldani, de égetőbb probléma, hogy a forgató villámvédelmét alapvetően nehéz kivitelezni így az egész konstrukciót a lehető legjobban el kell szeparálni a többi eszközünktől. Ezeknek a problémáknak a megoldására úgy döntöttem, hogy tervezek egy teljesen új eszközt, ami kiküszöböli az említett problémákat, továbbá megfelel az alábbi kritériumoknak:

  • Vezeték nélkül kapcsolódik a számítógéphez
  • A GS232 portba közvetlenül bedugható
  • Speciális programozó nélkül frissíthető
  • SMD alkatrészekkel szerelt, ezáltal kis méretű
  • Olcsó
  • Egy éjszaka alatt le lehet gyártani a kollégiumban (ez végül teljesült is 🙂 )

Hosszas vacillálás után arra jutottam, hogy a feladatra nincsen tökéletesen megfelelő megoldás, mindenképp kompromisszumokat kell kötni. Mivel a projektet egy éjszaka alatt kezdtem el megtervezni, így nem sok választásom volt, mint olyan alkatrészekből gazdálkodni, melyek a fiókomban vannak: ESP32-WROOM, ESP-12F és STM32 Blue Pill, így ezekben gondolkodtam. Némi agyalás után arra jutottam, hogy az ESP8266 modullal lesz a legoptimálisabb elkészíteni a projektet, viszont hamar kiderült, hogy nem lesz olyan egyszerű, mint gondoltam

Mint látható a képen is, a modulnak nincs túl sok kivezetése, ráadásul szinte mindegyik rendelkezik egy másodlagos funkcióval is. Ezen felül a kivezetések többsége induláskor egy kis ideig magas logikai szintet vesz fel, ami pedig nem túl előnyös egy motorvezérlő elektronika esetén… Bár ez végül is nem akkora probléma, mert csak induláskor jelentkezik és a végálláskapcsoló megakadályozza a problémákat. Ennek ellenére igyekeztem elkerülni minden ilyesmi problémát. Nagyobb probléma, hogy az IC-n csak 1 db ADC bemenet van, ami nem elegendő a két tengely figyelésére. Innentől egy mérnöki problémamegoldási folyamat kezdődött.

Az ADC csatornák mennyiségének bővítésére először egy SPI protokollon kommunikáló 8 csatornás ADC IC-t gondoltam beépíteni, de ez jelentősen megnövelte volna a NYÁK méretét és kiegészítő tápforrást is igényelt, így ezt a lehetőséget hamar elvetettem. A másik ötletem az alábbi ábrán látható. Itt tulajdonképpen annyi történik, hogy egy push-pull rendszerű műveleti erősítővel pufferelem a két csatorna jelét a csatlakozóról, majd közösítem ellenállásokkal. Ezzel úgy lehet mérni, hogy vagy az egyik, vagy a másik csatorna jelét földre húzom egy-egy tranzisztorral, miközben kiolvasom az ADC értékét.

Az analóg „multiplexer”

Fontos megemlíteni az ellenállások értékeit, ugyanis az ESP8266 analóg referenciája 1.024V, ami miatt a bemeneti feszültséget le kell osztani annyira, hogy ezt az értéket ne lépje át. Az értékeket úgy számoltam ki, hogy teljes kivezérlésen körülbelül 980mV legyen a kimeneten, amennyiben az egyik csatorna földre van húzva. Viszont amikor egyik oldalon sem húzzuk le a kimenetet, akkor teljes kivezérlésen túlléphetjük az IC legnagyobb megengedett feszültségét, ezért amikor nem mérünk, érdemes mindkét oldalt letiltani. Olyan lábra tettem a két tiltójelet, amik induláskor magas állapotban vannak és a program legelején magas szintre állítom, hogy minél rövidebb ideig legyen mindkét oldal engedélyezve, de a ~60kOhm ellenállás miatt egyébként sem szabadna problémát okoznia.

A két csatorna mérése oszcilloszkóppal vizsgálva

Az induláskor magas szintű I/O lábak problémáját ezek után mindenképp ki kellett küszöbölni, ugyanis az ESP-nek csupán két kivezetése marad bekapcsoláskor földön, ami pedig már nem elegendő a bemenetek vezérlésére is. Ezt a problémát úgy orvosoltam, hogy az egyik stabil kimenetre kötöttem egy tranzisztort (T7), ami a testet ráengedi a kimeneteket vezérlő tranzisztorokra, így az azokat vezérlő lábak már teljesen mindegy, hogy milyen kimenetre lesznek kötve. Szerencsére pontosan annyi lába van a modulnak, hogy ezt a plusz egy vezérlést még be tudtam kötni.

Ezzel a két „workarounddal” a hardveres hiányosságokat gyakorlatilag teljes mértékben kompenzálni tudtam, így jöhetett a NYÁK megtervezése. Ez innentől már csak idő kérdése volt. Kész lett a terv, kinyomtattam zsírpapírra, ami az A4-es etikettcimke-lap hátán van és laminálógéppel felvittem a rajzolatot a nyers NYÁK-lemezre. Ezután vaskloriddal 10 perc alatt kimarattam, majd kémiai ónózóval is lekezeltem és kifúrtam.

Nagyjából az áramkörtervezéssel szimultán elkezdtem megírni a szoftvert is. A legegyszerűbb megoldás az volt, hogy újraimplementáltam a rotctld protokollját a specifikációk alapján, így közvetlenül használható GPredict-tel. Az áramkör összeépítése után már tudtam tesztelni és debugolni is a kódot.

Természetesen ahogy lenni szokott, az élesztésen mindig derülnek még ki problémák. Sajnos a forgató specifikációjában szereplő 12V-os kimenet helyett 16V volt a csatlakozón, így a panelre tervezett AMS1117 lineáris feszültségstabilizátor IC, ami éppen még jó lehetett volna, már sajnos nem volt megfelelő. Túl nagy volt a veszteség rajta, ami miatt hamar túlterhelődött a G5500 kimenete. Ezt úgy orvosoltam, hogy egy step-down konverter modult forrasztottam a helyére, illetve a műveleti erősítő számára egy külön 7809-es IC-t építettem be.

A sok szöveg után jöjjön néhány kép is, így néz ki az elkészült prototípus:

Amint látszik, az eszköz a forgató vezérlőjének közvetlenül a hátába csatlakoztatható, így rendkívül kompakt. (A be nem kötött földeléstől most tekintsenek el 🙂 ). A képeken a végleges áramkör a szükség-módosítások utáni állapotban látható, ezért van például egy hatalmas kondenzátor pluszban a panel aljára forrasztva. A csatlakozót egyébként némi 1.5mm2 keresztmetszetű tömör rézdróttal helyettesítettem és egészen jól szuperál.

A tervek végül nem lettek aktualizálva a látható állapothoz, de az eredeti áramkör és nyákterv, illetve a szoftver itt érhetők el: https://github.com/simonyiszk/esp8266-g5500-rotator
Mivel elég gyorsan készült el a projekt, a tervek és a kód minősége is hagy némi kívánnivalót maga után. Ennek ellenére ez a megvalósítás a mai napig sikeresen teljesíti a szolgálatot, számtalan SMOG-1 áthaladást vettünk vele, köszönhetően az automatizált vételi rendszerünknek.

Vélemény, hozzászólás?