Autori: Zoran Aleksić, E73S & Saša Tošić ,dipl. el. inž.

PICDTMFMONTTOP

Radeći mnogo godina na izgradnji i održavanju amaterskih repetitora više puta mi se ukazala potreba da repetitor privremeno ugasim, "zavrnem " skvelč, uključim drugu antenu, smanjim snagu tx-a, itd... Sredinom 90-tih godina dočepao sam se jednog jednokanalnog on-off DTMF modula ( sa ic MT8870, CD4028 i LS7220) koji sam ugradio u repetitor R2 na Leotaru i koji je pomoću koda od četiri DTMF cifre uključivao i isključivao repetitor prema potrebi. Kasnije se ispostavilo da to nije dovoljno komotno , jer je postojala potreba upravljanja sa više parametara repetitora.
Godine 1999. sam imao sreću da sarađujem sa jednim vrsnim stručnjakom za mikrokontrolere i elektroniku, inž.Tošić Sašom , kome sam izložio svoj problem i ideju, tj. dao sam mu sve neophodne ulazne parametre i nakon nekoliko dana je "rođeno bebče" tj. softver. U međuvremenu ja sam odradio probnu pločicu, mnotirao sve komponente i uređaj je bio spreman za testiranje. Nakon prvog testa stvar je prilično dobro funkcionisala, ali se ispostavilo da ipak ima nekih nedostataka i tada je Sašina kreativnost došla do izražaja. Nakon par dana testiranja i korigovanja softvera i manjih izmjena na hardveru stiglo se do uređaja koji će ovdje biti opisan i čije osnovne karakteristike ću pokušati da objasnim.

Koncepcija uređaja

PICDTMFSCH

Kao što se iz same šeme može vidjeti koncepcija uređaja je veoma prosta. Kolo U2 MT8870 radi u svom klasičnom režimu DTMF dekodera. Iz ovoga kola se isporučuje 4 bitna riječ primljenog DTMF signala i kao peti bit tu je STROB signal koji uC saopštava da je primljena riječ ispravna i prepoznata od strane dekodera. Drugi u nizu je U1 mikrokontroler, veoma popularni, PIC16F84 koji preuzima primljenu DTMF sekvencu od U2 i započinje njenu obradu. Nakon obrade signala, zavisno od toga kakva je poruka poslata mikrokontroleru , kao rezultat može biti programiranje funkcija jednog od sedam izlaza ili njihovo aktiviranje ili isključivanje, a komanda može biti i zahtjev za promjenu trenutno važeće lozinke novom lozinkom ili zahtjev za softverski reset uređaja. Sigurno se pitate zašto je samo 7, a ne 8 kanala, koliko je bilo moguće bez nekog multipleksiranja, dobiti iz samog kontrolera. Razlog za to je prihvat STROB signala preko porta RB0, tako da je na raspolaganju ostalo slobodno sedam kanala.

I na kraju ostaje da objasnimo ulogu U3 i U4. Uloga U3 je da rastereti i ujedno zaštiti izlazne portove mikrokontrolera od prevelikih struja koje bi se pojavile u slučaju direktnog pogona nekog releja. Uz pomoć U3 ULN2803 obezbjeđena je sasvim dovoljna struja za pogon i zahtjevnijih releja ( oko .5A po izlazu). Još je ostao U4 78L05 koji obezbjeđuje stabilan napon 5V za napajanje U1 i U2. Tranzistor Q1 ima ulogu reset kola koje obezbjeđuje pravilnu inicijalizaciju samog mikrokontrolera.


Funkcije uređaja

Kao što je već pomenuto ovaj uređaj je napravljen za daljinsko komandovanje amaterskim repetitorima, ali isto tako je upotrebljiv za bilo koju drugu namjenu upravljanja el. uređajima.

Svaki od sedam kanala se može po potrebi programirati da obavlja jednu od tri moguće funkcije, a to su:
Bistabil (2), monostabil (3) i astabil (4), sa tim da je kod astabila i monostabila moguće programirati vrijeme trajanja stanja u intervalu od 0.1 do 14.4 sekundi (vidi parametar T,T). Prostije rečeno svaki kanal može da se programira da radi kao klasični on/off prekidač ili preklopnik u zavisnosti od toga kakav relej je upotrebljen (bistabil). Druga funkcija je da na izlazu imamo jedan impulsa sa programibilnim trajanjem od 0.1 do 14.4 sekundi (monostabil). Treća funkcija je stalna povorka impulsa na izlazu sa programibilnim trajanjem jednog impulsa od 0.1 do 14.4 sekundi i odnosom impuls-pauza 1:1 (astabil). Za prvobitnu namjenu uređaja najvažnija je ipak prva funkcija on/off.

A sada nekoliko riječi i o komandama za upravljanje. Uređaj je osmišljen tako da je na sigurnost od zlonamjerne upotrebe od strane nekog neovlaštenog lica posvećeno mnogo pažnje. To znači da je za pristup potrebno poznavati lozinku koja ima pet karaktera i koja se po potrebi može izmjeniti neograničen broj puta. Ako je ipak došlo do «provale» lozinke, istu je moguće lako zamjeniti sa novom, bez potrebe da se posjećuje uređaj. I još da kažem da uređaj posjeduje i poseban ključ za softverski reset u slučaju da je SYSOP zaboravio važeću lozinku. Ovaj reset ključ je fiksan i njegova vrijednost se izabira prilikom programiranja samog mikrokontrolera. U demo verziji softvera koji se može besplatno preuzeti sa ovoga sajta zajedno sa ostalom dokumentacijom, ključ za softverski reset je 12345.

 

Još ostaje da objasnimo kako se komanduje ovim uređajem, a to će biti najlakše objasniti kroz nekoliko praktičnih primjera.

 

Svaka nova komanda koja se šalje uređaju mora početi sa znakom * (zvijezda), što znači «pripremi se za novu komandu», a završiti sa znakom # (taraba) što bi trebalo da znači «kreni sa izvršenje komande».

 

Programiranje lozinke

Kada prvi put uključite uređaj njegova polazna lozinka će biti 11111, kao i u slučaju kada uređaj resetujete sa ključem za softverski reset. Ako želite da je promjenite novom lozinkom prema vlastitom izboru potrebno je to uraditi ovako:
* 00 11111 2A3B1 #
nakon čega će nova važeća lozinka postati
2A3B1.
Dvije nule na početku su dio komande koji mikrokontroleru saopštavaju da se komanda koja slijedi odnosi na promjenu lozinke.

Programiranje kanala

Kada želite da programirate kanal princip je da prvo ukucate broj kanala a zatim funkciju, zatim lozinku i ako u funkciji postoji i parametar vremena (funkcija monostabila i astabila) potrebno je ukucati još dvije cifre npr 33 za 3.3 sekunde.

dtmffunkcije

 

A sada kakobi to i praktično izgledalo kada želimo da isprogramiramo funkciju bistabila za neki kanal, npr. kanal 3
* 32 2A3B1 # - ovim je kanal tri programiran kao bistabil.
* 31 2A3B1 # - kanal uključen
* 30 2A3B1 # - kanal isključen, a može i ovako
* 30 # , jer je uređaj otključan nakon prve komande!

Ili da programiramo kanal 5 sa funkcijom monostabila i dužinom impulsa od 5.8 sekundi.
* 53 2A3B1 58 # ovim je kanal programiran u funkciji monostabila sa impulsom dužine 5.8 sek.
* 51 2A3B1 # ili
* 51 # uključi kanal 5.
* 50 2A3B1 # ili
* 50 # isključi kanal 5

Još da programiramo kanal 8 sa funkcijom astabila i trajanjem impulsa od 11.5 sekundi.
* 84 2A3B1 B5 #
* 81 2A3B1 # ili
* 81 # uključi kanal 8 u programiranoj funkciji astabila.
* 80 2A3B1 # ili
* 80 # isključi kanal 8.
U ovom primjeru parametar vremena je B5. Evo i objašnjenja. Parametar vremena je moguće podesiti u rasponu od 0.1 do 14.3 sekunda. Ukupno vrijeme dobije se kao zbir TS+TD. Treba imati u vidu da DTMF karakteri A,B,C,D,* i # u stvari predstavljaju samo heksadecimalni oblik za dekadne brojeve 10 do 16, gdje je A=10, B=11,C=12 i D=13. Kako su * i # rezervisani za početak i kraj dtmf komande nije ih moguće koristiti u parametru vremena. Parametar TS predstavlja sekunde i mogući raspon je od 0-13 sek., a parametar TD predstavlja desetinke sekunde i tu je moguć raspon od 0-1.3 sek., što kao maksimalni mogući zbir TS+TD daje 13+1.3 = 14.3 sek. Znači, u prethodnom primjeru B5 je u stvari 11 sek. + 0.5 sek, a to je 11.5 sekundi!
I ovako redom, kanal po kanal...prema potrebi...

Na kraju rada potrebno je zaključati uređaj sledećom komandom:
* 99 #
Nakon ove komande uređaj je zaključan i za bilo koju novu komandu neophodno je ponovo poslati i lozinku, u ovom slučaju 2A3B1.


Softverski reset lozinke (važno za zaboravne!)

Ako je kojim slučajem vlasnik zaboravio kako glasi važeća lozinka za komandovanje uređajem, može upotrebiti ključ za softverski reset (zaboravljene) lozinke.
* 00 12345 #
Nakon ove komande zaboravljena lozinka će biti zamjenjena inicijalnom lozinkom 11111. Ranije opisanom procedurom programiranja lozinke ,sada je moguće inicijalnu lozinku zamjeniti drugom lozinkom.


Povezivanje

Povezivanje sklopa je veoma jednostavno. Iz UKT prijemnika potrebno je dovesti audio signal na ulaz uređaja AF IN. Nivo audio signala koji je potreban iznosi oko 150mV, mada će uređaj raditi i sa daleko većim nivoom audio signala, ali ne treba pretjerivati. Kada uključite uređaj postavite RX na frekvenciju nekeog TRX-a koji ima ugrađen DTMF koder i pošaljite neki DTMF signal. Ako je komander prepoznao primljeni signal upalit će se LED dioda koja je spojena na STROB. Kada je ovo ok, može se redukovati NF iz RX-a na nivo koji je malo preko praga kada uređaj prestane da prepoznaje primljeni signal.
Ako želite da ovaj uređaj koristite za daljinsko upravljanje repetitorom poželjno je za to koristiti pomoćni RX, a ne RX samog repetitora. Osnovni razlog za ovo je što je time smanjen rizik od zloupotrebe uređaja, jer savremeni UKT uređaji mogu lako da dekodiraju i prikažu na svom ekranu primljenu DTMF poruku. Za to je pomoćni RX bolje rješenje, uz to da samo odgovorni znaju njegovu radnu frekvenciju!


Gradnja uređaja
PICDTMFMONTTOP
PICDTMFMONTBOOTOM
  Izgled dvostrane PCB  sa SMD komponentama 1206   

Prvobitna verzija uređaja je bila urađena u klasičnoj jednostranoj varijanti. Sada je uređaj modifikovan u SMD verziju i redizajniran je na dvostranu pločicu. Za one koji žele da sagrade ovaj uređaj na raspolaganju je kompletna tehnička dokumentacija (šema, PCB fajl, montažna šema i DEMO verzija softvera u .hex fajlu) koju možete dobiti od autora projekta E73S.(mejl adresa vidljiva na PCB) .

Napomena: DEMO verzija softvera je 100% funkcionalna, ali je ključ za softverski reset veoma prost 12345. Za one koji žele softver sa drugim reset ključem potrebno je da se jave autoru i da pošalju ključ koji bi želili da koriste, nakon čega će dobiti odgovarajući hex-a fajl, koji je potrebno napuniti u mikrokontroler PIC 16F84-04P.
Takođe, preko Radio kluba "TREBINJE" je moguće naručiti gotov testiran uređaj ili u KIT-u, samo pličicu ili isprogramiran mikrokontroler PIC16F84-04P.


SOFTWARE JE PRIVATNO VLASNIŠTVO AUTORA I ZABRANJENA JE NJEGOVA UPOTREBA U KOMERCIJALNE SVRHE BEZ SAGLASNOSTI.
UPOTREBA ZA RADIO-AMATERSKE POTREBE NIJE OGRANIČENA!

Od 2000-te godine ovaj uređaj je sagradilo preko 30 amatera i koriste ga za upravljanje repetitorima, ATV repetitore, daljinsko upravljanje opremom ...