----------
När man pysslar med amatörradio och speciellt i en rätt extremt stor skala, har massor med roterbara antenner, massvis med antennkombinationer, stackade antenner (flera ihopkopplade), lyssnarantenner osv, så blir det väldigt mycket lådor för att styra allting. Man har i normala fall en låda för varje rotor, en låda för antennerna på varje bandområde vilket resulterar i mycket lådor, mycket kablar och i normala fall en rejäl oreda. En annan sak är också att om man har flera operatörsplatser (t.ex. en klubbstation) är det ofta svårt att arrangera allt så att man kommer åt att rotera antennerna från alla platser utan det brukar resultera i att man får skrika åt polaren att rotera antennen till 310 grader t.ex.
openASC
----------
Ideen för detta fick för några år sedan men det är först nu som jag verkligen tagit tag i det och börjat utveckla det som jag kallar openASC. Open står för att det kommer bli open source, ASC står för Antenna Switch Controller. Iofs har den blivit så pass flexibel nu att det som från början bara skulle bli ett system att byta antenner har nu blivit betydligt mer omfattande så namnet kanske är lite missvisande. Jag kanske ska säga att det står för Antenna System Controller istället

Boxen kommer ha stöd för 4st antenner per bandområde mellan 0-30 MHz. (160M, 80M, 40M, 30M, 20M, 17M, 15M, 12M, 10M). Det finns möjligheten att ha en undermeny på varje antenn, som kan vara t.ex. att byta riktning på fasade vertikaler, ändra kombination på stackade antenner (t.ex. sätta två antenner ur fas från varandra). Man kan även lägga in att vissa antenner går att rotera och i så fall kommer det visas bredvid antennen vilken riktning den står i. Vill man sedan rotera en antenn klickar man på knappen rotate. Vill man använda TX/RX mode vilket betyder att man sänder på en kombination av antenner och lyssnar på en annan kombination klickar man på TX/RX-knappen. Detta är framförallt användbart om du har någon från Europa som stör din frekvens medans du t.ex. har en mängd nordamerikaner som ropar på dig så kan du "störa ut" europeerna medans du bara lyssnar på nordamerikanerna.
Knappen RX ANT är om du vill använda en mottagarantenn när du lyssnar, t.ex. på de lägre frekvenserna har man ofta långa trådar utspända (beverage antenner) som man lyssnar på då de påverkas betydligt mindre av störningar, är riktningskänsliga och har ofta bra front to back ratio, dvs dämpning bakåt.
Vridpotten är en pulsgivare som man ska kunna använda till olika saker. T.ex. välja RX antenn, stega i menyn, byta riktning på sändarantennerna osv.
ON/OFF knappen har jag gjort så att den lyser när lådan är avstängd så man hittar av den lätt och sedan släcks den när man trycker igång lådan. Jag har gjort så att ON/OFF knappen styr ett relä som ger hela boxen spänning, när den fått spänning tar processorn över och håller boxen aktiverad. På så sätt när jag trycker på knappen för att stänga av den kan den skicka ut meddelanden till alla enheter att avaktivera de utgångarna som boxen slagit igång, spara ner inställning i EEPROM, slå av alla utgångar och sist "släppa" reläet.

Om man tittar på baksidan av boxen:

På bottenvåningen ser vi 2st DB15 där vi har 12st utgångar som klarar 2A styck, den ena är sink och den andra source. Tanken med dessa är att man kan koppla in sådana saker man behöver till t.ex. bandpassfilter och annat som man har i närheten av radion.
Sedan finns det ingång för ett PS/2 tangentbord, förslagsvis ett keypad som man kan ställa in att varje knapp ska utföra olika kommandon. Ni kan se lite mer om detta på bilden från konfigurationsprogrammet. Ingången ovanför EXT är bara utgång med I2C och lite andra I/O pinnar för möjligheten att koppla in mer saker i framtiden, kanske en till display t.ex? RCA-kontakterna är för nyckling av slutsteg där man kan välja att antingen nykla slutsteget med ett relä eller med en transistor, detta byts med en jumper på kortet. FOOTSW är ingång för en fotpedal som man använder om man inte kör med VOX (röstaktiverad sändning) och den återstående RCA-kontakten är en ingång från t.ex. "amp out" på radion, dvs radions utgång för att nyckla ett slutsteg. Detta är för att boxen ska kunna känna efter när radion sänder, dvs om man kör VOX.
Bredvid detta är det en ingång för 12V+ och även USB (FT2232 som ger en COM-port för varje processor).
På övervåningen ser vi en DB25 som är interfacet mot radion. Man kan bygga olika kablar beroende på vilken radio man använder eftersom de ofta har olika signalnivåer på kommunikationen, vissa använder RS232, vissa kör TTL UART, andra kör en inverterad TTL och vissa (ICOM) använder CI-V som är ett entrådsprotokoll. Jag har även gjort det galvaniskt avskiljt genom att använda isolatorkretsar från Texas och konverterdelen drivs av spänning från radion. Här finns även optokopplad utgång för att aktivera sändningen på radion osv.
TX LED är en lampa som indikerar när det är trafik på bussen. Själva kommunikationsbussen är rätt lik gamla KOAX-ethernet där jag har en RG58 som är terminerad på varje ände med 50 ohm och med hjälp av en strömspegel sänder jag ut 130mA på bussen vilket ger en peakspänning av runt 3V. Jag har en komparator på ingången som tar emot vad som sänds på bussen. Anledningen att jag valde att göra det så här var främst för att det finns ton med RG-58 på en amatörradiostation, det blir störtåligt, enkelt att lägga till fler enheter och jag klarar mig med en vanlig UART på alla enheter kopplade till bussen.
AUX-kontakten är bara lite olika in/utgångar och även två reläutgångar som kan jumpras att antingen dra till jord eller +12V.
Processorerna jag använt mig av är en ATMEGA2560 för frontpanelen och en MEGA128 på själva dotterkortet.
Drivarmodul
-------------
Jag har gjort två varianter av drivarmoduler till bygget. Den ena har 20st utgångar för sink och den andra 20st utgångar med source. Varje utgång klarar 2A. Man kan sätta adressen på modulen genom att switcha om DIL-switchen på kortet. Varje utgång är skyddad med MOV (Metal Oxide Varistor) + flybackdiod + kondensator. Det sitter även polyswitches till varje drivkrets som bryts vid > 3A.



USB-dongel
-------------
Jag har även gjort en USB-dongel som kan användas för att kommunicera direkt ut på bussen. Detta använder jag mest för debugging just nu men man kan ju även i framtiden skriva ett program som "simulerar" en openASC-box så att man kan sitta hemma i lägenheten och använda stationen ute i obygden med datorn.

Konfigurationsprogrammet
------------------------------
Jag har valt att skriva detta i JAVA och det är till en rätt stor del klart men jag har mycket kvar när det gäller att skriva klart överföringen av inställningarna från programmet till openASC-boxen. Jag kommer spara datat i EEPROM:et och göra en karta över var datat ligger då allt behöver vara dynamiskt för att spara plats. Så den första delen av EEPROM:et blir en beskrivning av vart allt ligger, t.ex. submenyer för olika antenner osv. Så när jag sedan väljer ett bandområde kommer datat hämtas ut EEPROM:et och sedan skrivas ut på skärmen.
Här är lite screenshots...

Konfiguration av radio-interfacet. Boxen kan avkoda radion antingen genom att lyssna på kommunikationen mellan datorn och radion, fråga radion men vissa radior har BCD-utgång med information om vilket band de är på. På så sätt kan den automatiskt välja rätt filter, visa vilka antenner som finns tillgängliga osv.

Inställning av vilka antenner som finns, vilka undermenyer som finns. Det ni ser som 1,2,3@5 t.ex. betyder att utgång 1,2,3 på adress 5 (kort med address 5) ska aktiveras. Band outputs är vilka utgångar som ska aktiveras när det bandområdet väljs.

Konfigurationen av lyssnarantenner.

Konfiguration av SEQUENCERN. Detta är tiderna som boxen väntar vid olika situationer. Om du t.ex. trycker in fotpedalen kan man ställa in hur lång tid den ska vänta att nyckla slutsteget, radion osv. Detta är för att alla reläer ska hinna slå om osv. innan effekt läggs ut.

Konfiguration av vad de olika knapparna på tangentbordet ska göra. Genom att klicka på en knapp kan man få välja vad som ska ske när man trycker på keypaden kopplad till PS/2 ingången på openASC-boxen.

Konfigurationen av undermenyer. K9AY t.ex. är en sorts lyssnarantenn som man kan välja riktningar på. Så undermenyn för den lyssnarantennen blir alltså valet av 4st riktningar.
Här sker det mesta av utvecklingsarbetet, på mitt kontor här på universitet


Här är en bild på protokollet som använder time slots. Varje modul får börja sin sändning i sitt eget time slot men kan sända över flera slots.

Oj, blev rätt långt detta och mycket bilder. Jag har enormt mycket kvar att göra på projektet, framförallt när det gäller kodning. Det har blivit några små moddar på hårdvaran men inte något rejält än så länge tack och lov.
Hoppas ni finner detta intressant även fast användningsområdet är relativt begränsat.