APRS repeater s PIC18F26K22

Úvod:

Masívnym nástupom internetu sme si mysleli, že packet radio je už minulosťou a upadne do zabudnutia. Bob Bruninga - WB4APR - však mal iný názor a vytvoril system APRS - Automatic Position Reporting System. Aj keď nám názov systému vnucuje predstavu, že sa jedná len o odovzdávanie informácií o polohe, v skutočnosti je to systém omnoho zložitejší a zaujímavejší. Pomocou protokolu APRS môžeme prenášať okrem informácií o polohe aj údaje o meteorologickej situácii, telemetrické údaje, ale aj krátke správy pre konkrétnu stanicu, sledovať na mape aktuálnu polohu záchranných složiek pri odstraňovaní následkov havárie alebo pri riešení mimoriadnych situácií.. Systém je založený na protokole amatérskeho packet rádia - AX25 a využíva výlučne UI rámce.
APRS nie je sieť, jednotlivé súčasti systému nie sú na sebe závislé, nie je potrebné vybudovať cesty. Vzhľadom na to, že sa používajú len UI rámce, netreba sa nikam pripájať . Odošleme svoje informácie a keď sme v dosahu digitálneho opakovača, tak všetko ostatné už zabezpečí systém. Samotný systém pozostáva z:
1. užívateľského zariadenia, ktoré spracuje údaje a prevedie do podoby potrebnej pre APRS ako je napr. tracker, meteorologická stanica, vysielač telemetrických údajov atď.
2. digitálnych opakovačov, ktoré prijímajú prvotné informácie a podľa potreby odovzdajú ostatným
3. internetových brán, I-GATE, ktoré zabezpečujú prechod medzi internetom a rádioamatérskymi zariadeniami.
Na účely APRS v celej európe je vyhradený kmitočet 144,800 MHz nie je preto potrebná koordinácia kmitočtov (mapa).

Ukážka z mapy aprs.fi:



Hardware:

V súvislosti s digitálnym opakovačom, v ktorom bol použitý procesor PIC16F876A, som obdržal od viacerých pripomienky, že prijímacia časť funguje len s čistým a silným signálom. Väčšinou spomínali starý, ale osvedčený modem TCM3105. Pretože som taký obvod od jedného z nich dostal do daru, nemal som inú možnosť, ako sa pustiť do realizácie opakovača s uvedeným modemom. Z dôvodu, že prevod signálu zabezpečuje modem, nie je potrebné tak úzkostlivo dodržiavať časovanie a nebolo nutné písať program v assembleri. Je to pohodlné a má to tú výhodu, že nie je problém implementovať do programu aj ďalšie funkcie. Na druhej strane má ale tú nevýhodu, že je potrebná väčšia pamäť. Zvolil som preto pocesor PIC18F26K22, ktorý  má pamäť 64kB a je aj cenovo prijateľnejší. Moderné procesory obsahujú veľa podporných obvodov, ako RAM, EEPROM, USART, časovače atď. Vďaka tomu celé zariadenie obsahuje okrem stabilizátora len 3 integrované obvody, niekoľko konektorov a pár drobných súčiastok (tranzsitory, rezistory, kondenzátory, diódy atď.). Obvod, ktorý som použil ako stabilizátor, je trochu luxusným prvkom, ale nemám v krabici miesto pre chladič. Kto použije väčšiu krabičku, kľudne môže použiť aj analógový stabilizátor, ale keď bude pripojený aj GPS prijímač, chladič musí mať úctyhodné rozmery. Nebude to vhodné ani na prevádzku z batérií alebo slnečného článku. Pretože 28 vývodové púzdro bolo zvolené len kvôli rozmeru pamäte, sú k dispozícii porty, ktoré som využil nasledovne:
    P2   - tracker zapnutý
    P3   - vstup čítača impulzov
    P4   - KISS, zariadenie funguje ako KISS TNC - momentálne je nefunkčné
    P5   - MIC-E / BIT0
    P6   - HOLD TIME / BIT1
    P7   - EN ROUTE / BIT2
    P8   - IN SERVICE / BIT3
    P9   - telemetria zapnutá - tracker dáva aj výškový údaj
    P12 - vstupy pre analógový signál, alebo teplomer
    P13 - čidlo teplomeru DS1820
Okrem týchto konektorov sú tam aj prepojky:
    P1   - napájacie napätie pre GPS prijímač
    P10 - PTT cez mikrofón - rúčky
    P11 - vstup s nízkou impedanciou - vstup z reproduktorového výstupu prijímača

Aby procesor mal dostatok času na vykonanie príkazov, je zapnutý vnútorný PLL, čo znamená že pri krystalu 10 MHz, hodinový kmitočet procesora je 40 MHz.

Software:

Program v procesore obsahuje tieto hlavné funkčné bloky:

    Command interpreter - základná časť programu. Jednotlivé parametre programu môžeme nastaviť cez sériový port z klávesnice PC. K tomu treba nainštalovať a spustiť ľubovolný terminálový program a nastaviť parametre: 38400 Bd, 8 bitov, žiadna parita a 
1 stopbit. Rýchlosť prenosu je možné zmeniť napísaním príkazu SERCOM. Rýchlosť môže byť 4800, 9600, 19200, 38400, 57600 alebo 115200 Bd. Keď máme monitor zapnutý, je vhodné nastaviť čo najväčšiu rýchlosť, aby sme zbytočne neokrádali procesor o vzácny čas.

    Receiver - prijíma vstupné digitálne impulzy z modemu. Vynechá vsunuté bity, kódovanie prevedie podľa pravidiel NRZI. Už čisté dekódované ASCII znaky uloží do pamäte. Táto časť programu je základom pre dobré fungovanie celého zariadenia. Ak sú dáta správne prijaté a uložené, ostatná časť je už len hra s dátami. Prax ukázala, že optimálna úroveň nízkofrekvenčného signálu na vstupe do modemu je 40 až 60 mVef. Obvod TCM nemá rád príliš veľké napätie na vstupe.

    Monitor - slúži na sledovanie diania na rádiovom kanáli. Je ho možné používať v štyroch variantach:
ALL - všetko pošle na sériový port. Môžeme kontrolovať či náš opakovač spracoval prijatý balík správne alebo nie, či opakujeme len to čo treba, a nevyrábame zbytočné rušenie na pásme.
RCV - na sériový port pošle len prijatý text. Je to asi najpoužívanejší spôsob sledovania. Vidíme čo sa deje na rádiovom kanáli, ktoré stanice sú aktívne.
XMIT - pošle na sériový port len text, ktorý vysielame. Slúži na kontrolovanie nášho zariadenia.
OFF - monitorovanie je vypnuté
GON - Zapnutie GATEWAY. V tomto prípade na sériový port sa posiela zdrojový text, bez úpravy, a to buď prichádzajúci (MON RCV), alebo odchádzajúci (MON XMIT). Ak nullmodem káblom spojíme dva TNC, v jednom aktivujeme KISS a v druhom tento mód, dostaneme bránu, ktorou môžeme spojiť dva kanály na rôznom kmitočte, alebo na dvoch pásmach.
GOF - vypnutie GATEWAY.

    Trace - slúži na ladenie. Funguje podobne ako monitor, ale dáta posiela na sériový port ako dvojmiestne hexadecimálne číslo. Ak máme problémy a nevieme prečo náš opakovač nefunguje podľa našich očakávaní, tak môžeme prekontrolovať ako náš packet v skutočnosti vyzerá. Aby sme však vedeli urobiť serióznu analýzu, musíme preštudovať protokol AX25. Možné varianty:
RCV - len prijatý text. Keď máme zapnutý aj monitor, môžeme porovnať skutočný obsah packetu a význam jednotlivých bytov.
XMIT - vysielaný text - v tomto prípade text v skutočnosti nie je odvysielaný cez rádiový port.
OFF - vypnutý

    Beacon- táto časť programu oznamuje svetu že zariadenie je zapnuté. Je možné nastaviť dva texty. Prvý BTEXT 1, sa vysiela častejšie, preto je tu vhodné a slušné nastaviť kratší text s dôležitými informáciami. Druhý BTEXT 2 sa vysiela menej často a preto tu môžeme umiestniť aj podrobnejšie informácie. Frekvenciu opakovania prvého textu nastavíme príkazom BEACON EVERY n, kde n je čas v minútach a môže mať hodnotu od 0 do 99 kde 0 znamená, že beacon je vypnutý a frekvenciu opakovania druhého textu je možné nastaviť príkazom TAIL EVERY n, keď druhý text sa vysiela každý n-tý krát (n môže mať hodnotu 0 až 9, kde 0 znamená, že druhý text je vypnutý).
pr.: keď BTEXT1 je
!4815.91N/01949.21Ey BCDIGI v.\z Qth Filakovo, BTEXT 2 je !4815.91N/01949.21EyPHG32304/A=000577 BCDIGI v.\z  APRS Repeater with PIC18F26K22 - http://www.om3bc.com a TAIL je 3 tak beacon bude vyzerať takto:
    !4815.91N/01949.21Ey BCDIGI v.3.0 Qth Filakovo
    !4815.91N/01949.21Ey BCDIGI v.3.0 Qth Filakovo
    !4815.91N/01949.21EyPHG32304/A=000577 BCDIGI v.3.0  APRS Repeater with PIC18F26K22 - http://www.om3bc.com
V týchto textoch môže byť vložený aj príkaz na vysielanie teploty alebo napätia.
    \t  - momentálna teplota
    \s - priemer teploty za posledných 15 minút
    \h - maximálna teplota za posledných 15 minút
    \l -  minimálna teplota za posledných 15 minút
    \a - momentálna teplota - trojmiestne celé čislo podľa pravidiel APRS
    \u - napätie na vstupe U1 alebo teplota T1
   
\v - napätie na vstupe U2 alebo teplota T2
    \w - napätie na vstupe U3 alebo teplota T3
    \x - napätie na vstupe U4 alebo teplota T4
   
\y - teplota T5
    \r - prevádzkový čas od posledného reštartu - ukáže kedy bol naposledy výpadok el. energie
    \z - číslo verzie programu
    \f - stav čítača
Príkazy t, s, h, l, a a platia len pre teplotné čidlo pripojené na konektor P13. Ktorý vstup je analógový a ktorý slúži na meranie teploty, nadefinujeme príkazom DEFS. Hodnoty T1, T2, T3, T4, T5 sú vždy aktuálne teploty. Teplota môže byť v stupňoch celsia alebo farenheitu. Zvoliť sa dá príkazom TEMP C/F. Po odvysielaní teploty sa vyšle aj merná jednotka teploty. V prípade merania napätia na analógový vstup treba pripojiť taký odporový delič, ktorý zaručí, že na vstup procesora nedostane napätie väčšie ako 4V. Píkaz \f vsunie do beacon textu stav čítača. Vstup čítača je na P3 a výsledok je polovica načítaných impulzov za minutu. Tento čítač sa slúži predovšetkým na meranie otáčok ventilátorov používaných v PC. Ak na P3 pripojíme žltý vodič ventilátora (čierný na zem a červený na 12V), tak údaj za príkazom \f bude ukazovať otáčky za minutu. Na text beaconu platia pravidlá, ktoré sú špecifikované v popisu APRS.

    Calibrate- s týmto príkazom je možné kontrolovať, pripadne kalibrovať rýchlosť prenosu na strane rádia. Keď to spustíme, na vývode procesoru č.27 sa objavia impulzy s kmitočtom 600Hz. Tento kmitočet môžeme upravovať prikazom U hore, D dole prípadne ukončiť kalibráciu príkazom E. Kalibrácia slúži aj na nastavenie zdvihu rádia.

    Digipeat- tento program má za úlohu zabezpečiť aby sa digipeater správne začlenil do systému APRS. Sleduje prevádzku, vyhodnotí volacie znaky a v prípade potreby balíky, ktoré treba opakovať vyšle cez rádiový port. Pravidlá sú popísané v dokumentoch APRS. Pre opakovač môžeme určiť niektoré pravidlá. Ako prvé je potláčanie viacnásobných balíkov. Keď je funkcia zapnutá s príkazom SUPPRESS ON, tak balíky prichádzajúce od tej istej stanice v priebehu 10 sekúnd, budú ignorované. Ako ďalšiu možnosť môžeme určiť aj stanice, ktoré chceme vylúčiť z prevádzky. Môže to byť nutné napríklad vtedy, keď niektorý opakovač je nesprávne nastavený a je riziko, že sa vytvorí slučka a  packety sa budú opakovať nekonečne. Maximálny počet staníc v zozname je 10. Ďalšou funkciou je FILL IN DIGI. Ak ju zapneme, digipeater bude opakovať len balíky, prichádzajúce priamo od odosielateľa, ktoré ešte neboli opakované iným opakovačom.
Opakovač funguje aj v režime trackeru, ako aj v režime telemetrie. Môžeme ho však vypnúť príkazom DIGIpeat OFF.

    Tracker- je to samostatná časť programu. Po skratovaní prepojky P2 dostaneme plnohodnotné trackovacie zariadenie. V takomto prípade zariadenie komunikuje s GPS prijímačom cez sériový port. Pozor na zapojenie konektora CANNON! Na základe nastavených parametrov tracker posiela pozíciu buď v závislosti od rýchlosti alebo v pevných časových intervaloch. V tomto prípade prepojky P5 až P8 majú funkciu:
P5 - rozpojená = MIC-E, spojená = nekódovaná pozícia
P6 - rozpojená = opakovanie podľa rýchlosti, spojená = podľa hodnoty HOLDOFF
P7,P8 - EN ROUTE, IN SERVICE, RETURNING, OFF DUTY
Keď chceme posielať nekódované údaje, musíme nastaviť, ktoré údaje budeme získavať z GPS. Môže to byť RMC, GGA, GLL. Význam a obsah týchto údajov popisuje dokument NMEA2.2. Keď pozíciu vysielame podľa rýchlosti, tak časy medzi vysielaním pozície sú:
0                    4                  11                 24                  50               80                  120                          km/h
        256                200               120                60                  30                20                    10                sek.
Dve LED-ky vpravo od konektora CANNON teraz ukazujú stav GPS dát. Keď je komunikácia medzi zariadením a GPS prijímačom v poriadku a prichádzajú údaje so správnym CRC kódom, rozsvieti sa horná LEDka. Keď GPS prijímač našiel našu polohu a údaje o pozícii sú platné (to môže trvať aj dlhšie podľa kvality GPS prijímača), tak sa rozsvieti aj spodná LEDka. Samozrejme kým tento stav nenastane, zariadenie nebude vysielať pozíciu. V nastavovacom režime (COMMAND INTERPRETER) je možné zvoliť znak z APRS tabuľky.

    Telemetry- ďalšia samostatná časť programu. Slúži na prenos telemetrických údajov. Má 5 analógovo-digitálne a 4 digitálne vstupy. K analógovo-digitálnym vstupom môžeme pripojiť napätie od 0 do 4V alebo teplotný snímač typu DS1820 (DS18S20, DS18B20). Do tejto časti programu sa dostaneme buď príkazom TELEMETRY ON alebo skratovaním prepojky P9. Interpreter príkazov funguje aj v tejto časti programu, preto jednotlivé parametre môžeme upraviť cez sériový port. Podrobnejší popis je na: http://www.aprs.net/vm/DOS/TELEMTRY.HTM . Dĺžka PARM, UNIT, EQNS môže byť maximálne 80 a dĺžka BITS maximálne 50 znakov. Pretože procesor nemá viac voľných vstupov, z 8 možných bitov sa používajú len 4 najnižšie bity. Stav bitov určujú logické úrovne na P5 až P8. Príkazom BEACON EVERY n nastavíme čas, ako často chceme vysielať namerané údaje a príkazom TAIL EVERY n určíme ako často sa majú vysielať aj doplňujúce údaje PARM, UNIT, EQNS a BITS. V bežnom prípade sa vysielajú len namerané údaje vo forme T#sss,111,222,333,444,555,xxxxxxxx, kde T# informuje systém, že sa jedná o telemetrické údaje, sss je poradové číslo údajov a mení sa postupne od 0 do 999, 111,222,333,444,555 sú údaje jednotlivých napätí alebo teplôt a xxxxxxxx je 8 bitov jednobitových údajov.Príkazom DEFS definujeme funkciu jednotlivých analógovo digitálnych vstupov, kde A znamená že k vsupu je pripojený analógový signál, T že je pripojené teplotné čidlo DS1820 a 0 znamená, že vstup nie je používaný. Pr.: DEFS AA00T. Treba dávať pozor na to, že na 5. vstup je pripojený aj druhý konektor pre teplotný snímač a už je pripojený rezistor 4,7k. Ak aktivujeme surové data (RDATA ON) tak údaj pre napätie je od 0 do 999 a pre teplotu je n = (teplota + 50) * 2 (aby výsledok v celom rozsahu čidla bol väčší ako nula). Aby sa zobrazovala správna hodnota, EQN je 0,0.5,-50. V tomto režime zariadenie funguje aj ako opakovač. Túto funkciu môžeme vypnúť príkazom DIGI OFF. Ak ale zariadenie pracuje v normálnom režime ako opakovač a zistí, že balik je adresovaný pre neho a obsahuje telemetrické údaje, tak tento balík nevysiela ďalej, ale pošle informačnú časť balíka na sériový port. Ak je monitor vypnutý, na sériový port sa dostanú len telemetrické údaje a preto je ich možné jednoduchým spôsobom spracovať. Takto môžeme vytvoriť súkromný kanál na predávanie telemetrických údajov. Ak je priama počuťeľnosť medzi jednotlivými zariadeniami a do UNPROTO napíšeme len volací znak bez via staníc, tak namerané údaje sa nedostanú von do systému a nebudeme rušiť ostatných s údajmi, ktoré sú pre nich aj tak bezvýznamné.

Pri nastavovaní programu môžeme určiť tieto parametre:

FILTER ON/OFF - v prípade ON sa na sériový port sa dostanú len znaky "tlačitelné"
ECHO ON/OFF - ON vráti znak prijatý cez sériový port.
TEMP C/F - jednotka teploty celzius - farenheit
TXDelay - čas od aktivovania PTT do začatia vysielania dát v 10ms.
PERSistence - parameter na redukovanie kolízií na rádiovom kanáli
TXTail - počet FLAG bytov na konci vysielania - minimálny
počet je 2
GPS $GPRMC/$GPGGA/$GPGLL - určenie typu dát pri vysielaní polohy - v móde MIC-E používa vždy RMC
TRace RCV/XMIT/OFF - sledovanie prevádzky na rádiovom kanáli v hexadecimálnom tvare
MONitor ALL/RCV/XMIT/GON/GOF/OFF - monitorovanie prevádzky
DIGIpeat ON/OFF - digitálny prevádzač zapnutý/vypnutý
FILLindigi ON/OFF - ak je v stave ON, tak opakuje len baliky, ktoré este opakované neboli (len priame baliky od odosielateľa)
BEAcon Every n - čas medzi vysielaním beacon textu
CONverse ON/OFF - konverzačný mód - hlavne pre ovládanie ďalšieho zariadenia na dialku.
CALibrate ON - kalibrovanie prenosovej rýchlosti
SUPPress ON/OFF - potláčanie viacnásobných packetov - keď náš opakovač počuje viac ďalších opakovačov - čo by malo byť normálne - nemáme opakovať ten istý packet pochádzajúci od tej istej stanice ktorý sa k nám prichádza rôznou cestou
TAIL Every n - v DIGI móde určí, ako často je vysielaný BTEXT2. V móde Tracker n znamená, že za každé n-té vysielanie pozície pripojí aj TTEXT.
SYMBOL - určí typ ikony, ktorá sa objaví na mape. (pr. na www.aprs.fi )
HOLDoff n - ak sme prepojkou zvolili HOLD OFF,  n znamená čas v sekundách medzi vysielaním pozície.
UCal n - Kalibrovanie vstupu U1 - pripojíme napätie na vstup U1 (na vstup procesora sa nesmie dostať napätie vyššie ako 4V) v prípade potreby použijeme odporový delič.
Na vstup (alebo na delič napätia) pripojíme napätie a odmeráme ho. Za príkazom UCAL napíšeme skutočnú hodnotu napätia.
VCal n - Kalibrovanie vstupu U2 - plati to isté ako na UCAL.
WCal n - Kalibrovanie vstupu U3 - plati to isté ako na UCAL.
XCal n - Kalibrovanie vstupu U4 - plati to isté ako na UCAL.
SERCOM - prenosová rýchlosť sériového portu v móde DIGI - možné hodnoty: 48 (4800), 96 (9600), 192 (19200), 384 (34800), 576 (57600) a 115 (115200) Bd
GPSCOM - ako pre SERCOM, ale platí v režime "tracker" pre komunikáciu s GPS prijímačom
UNProto - volacia značka cieľovej stanice - pr.: APBC31 (PIC procesor) + číslo softwaru VIA značky prevádzačov (maximálne 3). pr.: UNPROTO APBC31 via WIDE1-1 via WIDE2-2 via WIDE3-3 - namiesto via stačí napísať v.
MYCall - vlastná znažka (povinná)
BTEXT 1 - prvý beacon text - tento text sa vysiela častejšie. Dĺžka môže byť maximálne 200 znakov.
BTEXT 2 - druhý beacon text, dĺžka max 200 znakov
TTEXT - text ktorý sa vysiela po údajoch o pozícií v móde tracker.Maximálna dĺžka 100 znakov
DCALL - zoznam volacích znakov, ktoré sú vylúčené z DIGI prevádzky - maximálny počet volacích znakov je 10. Každý volací znak treba napísať osobitne. Príkazom DCALL RESA môžeme vymazať celú tabuľku zakázaných staníc, príkazom DCALL RESn môžeme vymazať zo zoznamu  n-tý volací znak
REMOTE xxxxxxxxxx - heslo pre nastavenie parametrov z diaľky
PARM -
parametre telemetrických údajov
UNIT - jednotky telemetrických údajov
EQNS
- prepočítacie koeficienty
BITS
- popis 1 bitových vstupov + názov projektu
DEFS
- definovanie analógových vstupov
RDATA - Ak príkazom ON zapneme túto funkciu, tak telemetrické údaje budú vysielané v neupravenej podobe - prevod na správnu hodnotu musí zabezpečiť EQNS údaj
PARAM ON/OFF - potlačenie vysielania parametrov PARM, UNIT, EQNS a BITS.
Posledný, no možno najdôležitejší príkaz je HELP.
Stačí napísať len tú časť príkazu, ktorá je písaná veľkými písmenami.

Jednotlivé parametre je možné nastaviť aj cez rádiový port. K tomu aby to fungovalo správne, musíme nastaviť heslo na obidvoch stranách. Heslo je ľubovolných 10 znakov. Prednastavené je 0000000000. Týchto 10 znakov je možné zmeniť príkazom REMOTE xxxxxxxxxx. Diaľkové nastavenie parametrov funguje nasledovne: V našom zariadení pre UNPROTO napíšeme volaciu značku zariadenia, ktoré chceme diaľkovo ovládať. Potom napíšeme príkaz CONVERSE ON, ktorým sa dostaneme do konverzačného módu, kde text napísaný cez sériový port sa odošle pre cieľovú stanicu bez zmeny. Teraz cez klávesnicu počítača napíšeme príkaz tak, ako by sme mali zariadenie pripojené priamo k sériovému portu. Na príkaz DISP a HELP však odpoveď nedostaneme, pretože výpis by sa nezmestil do jedného balíka.
Z CONVERSE módu vystúpime príkazom CTRL C.

Zapojenie konektorov:
Sériový port:
                    2 - TxD
                    3 - RxD
                    4 - +5V (zkratovaná prepojka P1)
                    5 - GND
                    9 - +5V
(zkratovaná prepojka P1)
TCVR:
                   1 -
+12V
                   2 - Audio out
                   3 -
GND
                   4 - GND
                   5 -
Audio in
                   6 - PTT
Napájanie:
                   Vonkajší kontakt - GND
                   Vnútorný kontakt - +8V až  +24V
teplomer:
                   1 - GND
                   2 - DQ
                   3 - +5V
Analógový vstup:
                   1 - GND
                   2 - U1/U/T1
                   3 - U2/V/T2
                   4 - U3/W/T3
                   5 - U4/X/T4
                   6 - U5/Y/T5
                   7 - +5V

LED diódy:
                   D5      - DCD
                   D6      - GPS platné údaje
                   D7      - GPS CRC je v poriadku
                   D8      - PTT
 

Zariadenie nepotrebuje nastavovanie, len nízkofrekvenčný vstup a výstup treba nastaviť podľa konkrétneho pripojeného rádia. Trimrom na vstupe treba nastaviť cca 40mV na vstupe modemu. Výstupnú úroveň nastavíme tak, aby zdvih nebol väčší ako 2,5 kHz. Napájanie môžeme vyriešiť buď cez osobitný konektor napájania alebo z rádia, keď je na to prispôsobené. Odber bez GPS prijímača je zanedbateľný. Procesor vie súčasne ovládať len jednu perifériu, preto nastavme čo najväčšiu prenosovú rýchlosť sériového portu.



  Osadenie - rozmer 50x120 mm

Plošný spoj (skutočný rozmer 50x120 mm, pozor!, výkres je zrkadlovo otočený, pripravený na výrobu pl. spoja "žehličkovou metódou"):


Program:

TNC firmware

Konfigurácia:

Ak sme terminálový program nastavili správne (38400Bd,8N1) a aj kábel je zapojený štandardne ako modemový (a máme pripojený aj snímač teploty), tak na obrazovke uvidíme:

APRS DIGIPEATER V 3.0
BY OM3BC FOR PIC18F26K22
Type HELP for Info
Temperature Sensor DS1820 Connected

cmd >

Napíšme príkaz HELP a na základe pokynov skúsme nastaviť jednotlivé parametre. Keď napíšeme príkaz DISP uvidíme momentálne platné parametre. U mňa sú nastavené:

disp
Repeater running: 0 h.
Filter ON
ECHO ON
TEMPerature C
PERSistence 64
SLOTtime 30
TXDELAY 35
TXTAIL 2
GPS $GPRMC
TRace OFF
MONitor RCV
DIGIpeat ON
FILL in digi OFF
SUPPress ON
RDATA OFF
PARAM OFF
BEAcon Every 15
TAIL Every 5
SYMBOL />
HOLDoff 30
SERCOM 38400 Bd
SERGPS 4800 Bd
UNProto APBC30 V WIDE1-1 V WIDE2-2
MYCall OM3BC-2
DEAD CALLS
DEFS ATTAT
BTEXT 1 !4816.72N/01950.34E#PHG32304/A=000974 BCDIGI v.\z Qth Filakovo
BTEXT 2 !4816.72N/01950.34EyPHG32634/A=000974 BCDIGI v.\z APRS Repeater with PIC18F26k22 - http://www.om3bc.com
TTEXT Opel Astra mobil

OK
cmd>

Keď je zapnutý režim telemetrie, tak namiesto BTEXT 1, BTEXT 2 a TTEXT uvidíme text pre PARM, UNIT, EQNS, BITS.

PARM :OM3BC-2 :PARM.Bat_A,Temp1,Temp2,Bat_B,Temp3,NC,NC,NC,NC,Camra,Chassis,Sun,door
UNIT :OM3BC-2 :UNIT.Volts,Celsius,Celsius,Volts,Celsius,nc,nc,nc,nc,OPEN!,on,on,high
EQNS :OM3BC-2 :EQNS.0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
BITS :OM3BC-2 :BITS.00001111,TEST PROJECT

Beacon s údajmi teploty a napätia môže vyzerať nasledovne:
BTEXT 1 !4815.91N/01949.21EyPHG32304/A=000577 APRS Repeater with PIC18F26K22 Temp. \t in Filakovo U1: \u Volt, U2: \v Volt Runtime: \r h.

Moje zariadenie v krabici HAMMOND 1455C1202:



a bez:



Na záver:

    Viem, že program nie je dokonalý a určite sa tam najdú aj chybičky. Preštudoval som popis niekoľkých podobných zariadení a funkcie, ktoré som považoval za užitočné som implementoval do svojho zariadenia. Určite sú aj ďalšie veci, ktoré by možno boli užitočné, ako je KISS a podobne. Rozmer pamäte je však limitujúci, z 64kB je momentálne voľných asi 1,5kB, takže veľké rozširovanie funkcií už neočakávajte. Popis je pomerne stručný, ale obsahuje základné informácie. Kto potrebuje pomoc pri realizáci, alebo má ďalšie nápady ako funkčnosť vylepšiť, môže sa na mňa obrátiť cez moju e-mailovú adresu.
    Výkresová dokumentácia, ako aj program umiestnený v procesore sú duševným majetkom autora! Na komerčné účely ich možno používať len po predchádzajúcom súhlase autora.

p.s.
Je tu návod na programovanie PIC od OK1DX - tnx