APRS repeater s
procesorom 16F88 funguje veľmi dobre, ale pretože má len 18 vývodov a
aj konfiguracia vnútorného analógového komparátora je riešená tak
nešťastne, že zaberie celý A port. Z uvedeného dôvodu nie je dostatok
vývodov pre ďalšiu konfiguráciu. Preto som pristúpil k
realizácii TNC procesorom, ktorý má viac vývodov, konkrétne s
PIC16F876A. Tento obvod má 28 vývodov, a to už bohate stačí na to aby
TNC mohol byť konfigurovaný aj bez preprogramovania procesora. Na doske sú
3 nové vstupy a 3 LED na indikáciu. Tento TNC je adaptáciou
pôvodného, preto tam uvedený popis viac-menej platí aj na túto verziu.
Aby vygenerovaný sinusový signál bol krajší, rozšíril som aj D/A prevodník zo 4 na 5 bitový.
Funkcia jednotlivých JUMPERov:
P1,P2 - rýchlosť komunikačného portu
P3
- test - keď je spojený, nekontroluje CRC
P4
- GPS pripojený
P5
- nízka vstupná impedancia
P6
- +5V pre GPS prijímač
P7
- PTT cez mikrofón (rúčky)
Na doske sú 4 konektory - RS232, TCVR, napájanie, teplomer.
Zapojenie jednotlivých konektorov:
RS232:
2 - TxD
3 - RxD
4 - +5V
5 - GND
9 - +5V
TCVR:
1 - Audio in
2 - GND
3 - Audio out
4 - PTT
5 - +12V napájanie
Napájanie:
Vonkajší kontakt - GND
Vnútorný kontakt - +8V až +12,8V
Teplomer:
1 - GND
2 - DQ
3 - +5V
Na indikáciu slúží 6 LED diód, ich
funkcie sú:
D5 - PTT
D6 -
zapnuté
D7 - DCD
D8 - GPS
pripojený
D9 -
Converse
D10 - rezerva
Nastavenie RS232:
P1 P2
r
r
4800 Bd
r
s
9600 Bd
s
r
19200 Bd
s
s
38400 Bd
r- rozpojený, s - spojený
Doporučujem nastaviť čím väčšiu rýchlosť na RS232,
pretože procesor dokáže obsluhovať len jeden proces. Keď je rýchlosť
komunikácie cez sériový port nízka, procesor nemá pri silnej prevádzke
dosť času na spacovanie paketov. Výsledok je, že strácame pakety, ale
nie z dôvodu toho, že demodulátor funguje nesprávne, ale preto, lebo
procesor jednoducho nestačí spracovať signál. U mňa je nastavená
rýchlosť 38400 Bd a nestrácam pakety ani pri silnej prevádzke.
Samozrejme najlepším riešením je, že v prípade keď nechceme sledovať
prevádzku, tak monitor s príkazom MON OFF vypneme. Keď zariadenie
budeme používať ako APRS opakovač, monitorovanie aj tak nebudeme
potrebovať.
Zariadenie nepotrebuje žiadne nastavenia, jediný ovládací prvok je potenciometer na nastavenie zdvihu. TNC môžeme napájať z osobitného zdroja alebo priamo z TCVR. Ak nie je pripojený GPS prijímač, tak odber je minimálny.
Činnosť
teplotného čidla je odskúšaná a funguje
bez problémov. Pretože existuje podstatne jednoduchšie zariadenie,
ktoré
sa dá používať ako APRS Tracker, preto TNC s GPS prijímačom som
nevylepšoval. Pozíciu vysiela podľa nastavenia BEACONu (minimálny čas 1
minuta) bezohľadne na to, aká je rýchlosť. Z uvedeného dôvodu ako
tracker doporučujem používať BCTrack, ten má podstatne inteligentnejší
softvér.

Osadená doska - rozmer 75x88 mm

Plošný spoj (skutočný rozmer: 75x88 mm):
Program do procesora:
TNC firmware
Konfigurácia TNC:
Ak rýchlosť komunikácie je správne nastavená na TNC a aj v terminálovom programe, tak po zapnutí sa objavý tento text:
MODEMLESS TNC v 2.32
MODIFIED BY OM3BC FOR 16F876A
Type HELP for Info
cmd >
Po napísaní príkazu HELP, dostaneme krátky popis príkazov. Ja mám nastavené perametre takto:
cmd >disp
Filter ON
ECHO ON
TEMPerature C
TXDELAY 35
GPS $GPRMC
TRace OFF
MONitor ALL
DIGIpeater ON
BEACON On EVERY 30
UNPROTO APE232-0 V WIDE1-1 V WIDE2-2 V SK2-2
MYCALL OM3BC-1
MYALIAS FIL1
BTEXT !4815.91NS01949.21E#PHG32304/A=000577 APRS Repeater with PIC16F876A http://www.om3bc.com Temp. \t C
OK
cmd >
Malé vysvetlenie parametrov:
Filter - filtruje komunikáciu ktorá smeruje na seriový port, aby do
terminálového programu sa nedostali riadiace znaky, ktoré majú kód od 0
do 31, výnimkou znakov CR,LF a BS.
ECHO - či program má poslať späť prijaté znaky cez sériový port, alebo nie
TEMP - teplotu má posielať v stupňoch celsia alebo farenheitu
TXDELAY - n x 10ms, určí koľko času má uplynúť od aktivovania PTT do vysielania paketu
GPS - v pripade pripojenia GPS prijímača program BEACONTEXT v uvedenom formáte
TR - slúží na testovanie, na seriový port vyšle nespracovaný text v
hexadecimálnom tvare. Keď je aktívny XMIT, tak data idú len na seriový
port - TCVR nevysiela
MON - monitorovanie paketov: ALL - všetko, OFF - nič. ME nie je implementovaný.
DIGI - zapnúť funkciu DIGIPEATER, keď je to Off, tak nebude fungovať ako opakovač.
BEACON EVERY - ako často má vysielať identifikačné údaje. Keď táto hodnota je 0, tak BEACON je vypnutý.
UNPROTO - APE232 znamená, že sa jedná o zariadenie s procesorom PIC a verzia programu je 2.32
MYCALL - vlastná značka (to ale asi nemusím vysvetlovať)
MYALIAS - to môže byť hocičo, len nesmie byť dlhší ako 6 znakov
BTEXT - hociaký text, len v prípade že chceme vysielať dohodnuté kódy tak treba dodržať patričné
pravidlá.
Keď chceme vysielať teplotu tak napíšeme znak \ a potom malé písmeno t
- momentálna teplota, l - najnižšia teplota, h- najvyššia
teplota, s - počet meraní, a - APRS formát (pevný počet znakov). Keď
počet meraní prekročí hodnotu 99, tak minimálna a maximálna teplota sa
vynuluje.
Počas testovania som zistil v pôvodnom programe viac
nedostatkov.
Hlavný nedostatok, ktorý ma aj trošku šokoval, že časť DIGIPEAT vôbec
nefunguje podľa špecifikácií. Túto časť som musel od základov prepísať.
Počas testovania som prišiel na to, že program asi budem musieť úplne
prepracovať. Z pôvodného programu tam zostalo len jadro - kódovanie a
dekódovanie paketov. Ostatné časti som musel prepísať buď z dôvodu
funkčnosti, nedostatku pamäte alebo kvôli estetike.
Na záver
Pôvodný článok mal názov: MODEMLESS TNC..... Možno to bol TNC, ale po
analýze programu o tom nie som presvedčený. Ja to budem propagovať ako
APRS DIGIPEATER a som toho názoru, že je to celkom dobre fungujúci
opakovač paketov a ako jednoduché zariadenie bude dobre fungovať v
sieti APRS. Ani tento program nie je dokonalý (platí Murphyho zákon,
podľa ktorého
dokonalý program neexistuje. Ak áno, tak určite si to nepísal ty).
Zatiaľ program je v štádiu vývoja. Keď so svojimi poznámkami vieš
uľahčiť moju prácu, tak mi ich napíš na moju e-mailovú adresu, čo
nájdeš na mojej webovej stránke.