37_40.pdf

(183 KB) Pobierz
Radiowy przedłużacz pilotów, część 1. AVT-559
Radiowy przedłużacz pilotów
P R O J E K T Y
Radiowy przedłużacz
pilotów, część 1
AVT−559
Pomys³ budowy
ìprzed³uøaczaî zrodzi³ siÍ,
gdy autor, utrudzony
ca³odzienn¹ prac¹, musia³
wstaÊ z wygodnego fotela
stoj¹cego przed komputerem
(s³uø¹cym w†tym przypadku
jako odbiornik - monitor
telewizyjny) i†pÛjúÊ do
s¹siedniego pokoju, aby
zmieniÊ kana³ w†tunerze
satelitarnym.
Oczywiúcie, aby zmieniÊ kana³
w tunerze satelitarnym stoj¹cym
w innym pokoju, moøna wyko-
rzystaÊ jeden z†ìprzed³uøaczyî,
opisanych chociaøby na ³amach
Elektroniki Praktycznej czy Elek-
troniki dla Wszystkich. Jednak
prezentowane w tych artyku³ach
uk³ady wymaga³y albo przeci¹ga-
nia przewodÛw z†pomieszczenia
do pomieszczenia, albo przynaj-
mniej wykorzystania tego samego
egzemplarza pilota zdalnego ste-
rowania. Do sterowania tunerem
z†innego pomieszczenia autor po-
stanowi³ wykorzystaÊ inny egzem-
plarz pilota niø oryginalny (ten
ostatni pozostawiaj¹c w†pokoju
z†tunerem), gdyø jak wynika z†do-
úwiadczenia, przemieszczanie pi-
lota z†miejsce na miejsce unie-
moøliwia jego odnalezienie w†mo-
mencie, gdy jest najbardziej
potrzebny.
Zaprojektowany uk³ad ma na-
stÍpuj¹ce cechy:
- moøliwoúÊ wykorzystania dowol-
nego pilota pracuj¹cego w†stan-
dardzie RC5,
- radiowa transmisja danych po-
miÍdzy odbiornikiem i†nadajni-
kiem podczerwieni,
- programowa regeneracja impul-
sÛw po stronie odbiornika ra-
diowego (nadajnika podczerwie-
ni), poprawiaj¹ca niezawodnoúÊ
radiowej transmisji danych,
- kontrola poprawnoúci danych
(CRC) przesy³anych kana³em ra-
diowym,
- prosta wizualizacja pracy
uk³adÛw (sygnalizacja odebrania
polecenia z†pilota i†wys³ania pa-
kietu danych drog¹ radiow¹,
sygnalizacja odebrania danych
z†kana³u radiowego, itp.).
Opis uk³adÛw nadawczo-
odbiorczych - czÍúÊ
sprzÍtowa
Ca³y zestaw sk³ada siÍ z†dwÛch
p³ytek, zawieraj¹cych repeatery
sygna³Ûw zdalnego sterowania,
wykorzystuj¹ce rÛøne media trans-
misyjne: podczerwieÒ i†fale radio-
we.
Pierwszy przemiennik IR-RF
(podczerwieÒ - fale radiowe) de-
koduje sygna³y z†pilota zdalnego
sterowania pracuj¹cego w†standar-
dzie RC5 i†uzyskan¹ w†ten sposÛb
informacjÍ retransmituje drog¹ ra-
diow¹ do drugiego przemiennika
RF-IR (fale radiowe - podczer-
wieÒ). Przemiennik ten odbiera,
dekoduje i†odpowiednio przetwa-
rza informacjÍ (m.in. zamienia
Elektronika Praktyczna 2/2004
37
32666660.021.png 32666660.022.png
Radiowy przedłużacz pilotów
Rys. 1. Schemat przemiennika IR−RF
ne przez tranzystor T1 i†podawa-
ne na wejúcia przerwania mikro-
kontrolera AT89C2051. CzÍúÊ
uk³adu z³oøona z†multiwibratora
astabilnego NE555, tranzystora T2
oraz dwÛch diod IRED jest mo-
dulatorem podczerwieni wytwa-
rzaj¹cym falÍ noún¹ o†czÍstotli-
woúci 36 kHz. Modulator stero-
wany†jest sygna³em z portu P1.7
mikrokontrolera. Poziom niski na
tym wyjúciu mikrokontrolera
wprowadza wejúcie zerowania ti-
mera 555 w†stan aktywny, powo-
duj¹c wymuszenie poziomu nis-
kiego na wyjúciu i†brak wystero-
wania tranzystora T2 i†diod IRED.
Jeøeli na tymøe wejúciu timera
pojawi siÍ poziom wysoki, wÛw-
czas uk³ad generuje falÍ prosto-
k¹tn¹ o†czÍstotliwoúci i†wspÛ³-
czynniku wype³nienia regulowa-
nym za pomoc¹ potencjometrÛw
P1 i†P2. DiodÍ D1 dodano w†celu
uzyskania moøliwoúci zmiany
wspÛ³czynnika wype³nienia w†pe³-
nym zakresie (bez diody D1 moø-
na jedynie uzyskaÊ wype³nienie
>50%). Tranzystor T2 pracuje ja-
ko klucz, bezpoúrednio steruj¹cy
diodami IRED. Z†portÛw P1.1
i†P1.2 sterowane s¹ diody LED
sygnalizuj¹ce stan pracy prze-
miennika. Ca³y uk³ad zasilany jest
napiÍciem 5†V†z†zasilacza wtycz-
kowego.
adres urz¹dzenia RC5, zamienia
niektÛre kody rozkazÛw), a†na-
stÍpnie ponownie koduje zgodnie
ze standardem RC5 i†przesy³a do
modulatora (nadajnika) podczer-
wieni. DziÍki zastosowaniu trans-
misji radiowej pomiÍdzy prze-
miennikami, jest moøliwe przesy-
³anie sygna³Ûw zdalnego sterowa-
nia na znacznie wiÍksze odleg³oú-
ci niø w†przypadku zastosowania
podczerwieni jako medium trans-
misyjnego. Odleg³oúÊ ta zaleøna
jest od parametrÛw toru radiowe-
go oraz od warunkÛw otoczenia.
Schemat uk³adu przemiennika
IR-RF przedstawiono na rys. 1 .
Jako jednostkÍ centraln¹ zastoso-
wano mikrokontroler AT89C2051.
Do odbioru sygna³Ûw†z†pilota zdal-
nego sterowania wykorzystano sca-
lony odbiornik podczerwieni. Jako
nadajnik radiowy zastosowano
hybrydowy modu³ RT4 firmy Te-
lecontrolli pracuj¹cy ze stosunko-
wo niewielk¹ moc¹ (max. 10
dBm) na czÍstotliwoúci 433,92
MHz. Nadajnik pracuje z†modula-
cj¹ ASK.
SposÛb kodowania sygna³Ûw
dla nadajnika zostanie opisany
dalej. Komentarza wymaga sposÛb
pod³¹czenia wejúcia danych na-
dajnika, ktÛre jest sterowane bez-
poúrednio z†portu P1.7 mikrokon-
trolera. Sam nadajnik zasilany jest
napiÍciem 12 V†(w celu uzyskania
wiÍkszej mocy wyjúciowej), jed-
nak zgodnie z†dokumentacj¹ do
wysterowania jego wejúcia danych
wystarcza sygna³ o amplitudzie
5†V. NapiÍcie o†takiej (mniej wiÍ-
cej) amplitudzie dostÍpne jest
bezpoúrednio na linii†portu mik-
rokontrolera, dlatego nie ma
potrzeby stosowania dodatkowych
uk³adÛw przesuwania poziomu.
Przemiennik IR-RF zasilany jest
napiÍciem 12 V†z†niewielkiego za-
silacza wtyczkowego.
Uk³ad drugiego przemiennika -
RF-IR - jest nieco bardziej skom-
plikowany. Jego schemat zamiesz-
czono na rys. 2 . Jako odbiornik
radiowy zastosowano superreak-
cyjny, hybrydowy modu³ RR3 fir-
my Telecontrolli . Dane z†modu³u
odbiornika radiowego s¹ negowa-
Dzia³anie przed³uøacza
radiowego
W†wersji pierwotnej radiowy
przed³uøacz pilotÛw akceptuje
sygna³y pilotÛw, ktÛrych adres
urz¹dzenia RC5 jest rÛwny 00h
(pilot od OTV Elemis), zamienia-
j¹c go po stronie przemiennika
Rys. 2. Schemat przemiennika RF−IR
38
Elektronika Praktyczna 2/2004
32666660.023.png 32666660.024.png 32666660.001.png 32666660.002.png 32666660.003.png 32666660.004.png 32666660.005.png 32666660.006.png 32666660.007.png 32666660.008.png 32666660.009.png 32666660.010.png 32666660.011.png 32666660.012.png 32666660.013.png 32666660.014.png
Radiowy przedłużacz pilotów
RF-IR na adres 16h (pilot od
tunera satelitarnego). Dodatkowo
radiowy przed³uøacz pilotÛw do-
konuje zamiany niektÛrych kodÛw
rozkazÛw, tak aby uk³ady klawia-
tury obu pilotÛw by³y†zgodne.
W†przypadku poprawnego odebra-
nia polecenia RC5 w†przemienni-
ku IR-RF, na krÛtko zapala siÍ
dioda LED sygnalizuj¹ca ten fakt.
Jeøeli adres urz¹dzenia RC5 jest
rÛøny od 00h, wÛwczas dioda
úwieci siÍ znacznie d³uøej (kod
polecenia nie jest transmitowany
do drugiego przemiennika RF-IR).
Pomyúlne odebranie danych z†to-
ru radiowego sygnalizowane jest
krÛtkim migniÍciem zielonej dio-
dy LED w†przemienniku RF-IR.
W†przypadku b³Ídu w†transmisji
(nieprawid³owe CRC) zapalana jest
dioda czerwona.
Rys. 3. Kodowanie RC5
Kod RC5 charakteryzuje siÍ
jednakowym czasem trwania
wszystkich bitÛw. Zmiana pozio-
mu sygna³u (zbocze narastaj¹ce
lub opadaj¹ce) w†po³owie prze-
dzia³u czasowego przypisanego
kaødemu bitowi okreúla logiczn¹
wartoúÊ. I†tak ì0î jest kodowane
jako opadaj¹ce zbocze sygna³u,
a†ì1î jako zbocze narastaj¹ce (wiÍ-
cej na temat kodu RC5 moøna
znaleüÊ w†[1,2,3,4]).
Na rys. 3 przedstawiono ilu-
stracjÍ sposobu kodowania bitÛw
w†standardzie RC5. Przesy³anych
jest 14 bitÛw, z†ktÛrych dwa
pierwsze s¹ bitami startowymi
(dwie jedynki), nastÍpnie przesy-
³any jest bit informuj¹cy o†przy-
trzymaniu klawisza w†pilocie, na-
stÍpnych 5†bitÛw jest adresem
urz¹dzenia RC5, a†ostatnie 6†bi-
tÛw stanowi kod transmitowanego
polecenia.
Algorytm dekodowania sygna-
³Ûw w†standardzie RC5 moøna
zapisaÊ za pomoc¹ grafu automatu
sekwencyjnego [3], czyli inaczej
grafu przejúÊ i†wyjúÊ wed³ug
modelu Mealy'ego, znanego z†teo-
rii uk³adÛw†cyfrowych. Graf taki
przedstawiono na rys. 4 . Etykiety
opisuj¹ce ³uki oznaczaj¹ odpo-
wiednio rodzaj zdarzenia (impuls
- przerwa) oraz po przecinku
wartoúÊ logiczn¹ zdekodowanego
bitu. Zdarzenia opisane s¹ nastÍ-
puj¹cymi symbolami:
ki - krÛtki impuls,
kp - krÛtka przerwa,
di - d³ugi impuls,
dp - d³uga przerwa,
przy czym co do wartoúci bez-
wzglÍdnej zdarzenia te - zgodnie
ze standardem - sklasyfikowane s¹
w†sposÛb pokazany w† tab. 1 (czas
podany w†mikrosekundach).
Algorytm opisany grafem z†rys.
4 rozpoczyna swoje dzia³anie od
stanu S0, przy czym wejúcie do
tego stanu spowodowane jest po-
jawieniem siÍ zbocza narastaj¹ce-
go dekodowanego sygna³u i†jedno-
czeúnie oznacza, øe†odebrany zo-
sta³ pierwszy bit o†wartoúci lo-
gicznej 1. NastÍpnie dekodowa-
nych jest pozosta³ych 13 bitÛw
(odebranie kolejno 14 bitÛw sta-
nowi warunek zatrzymania pracy
automatu). Kaøde wystÍpuj¹ce
zdarzenie nieopisane grafem z†rys.
4 traktowane jest jako b³¹d, po-
woduj¹cy przerwanie dekodowa-
nia i†ponowne jego rozpoczÍcie
od punktu startowego.
Na list. 1 przedstawiono fun-
kcjÍ obs³ugi przerwania zewnÍt-
rznego, dokonuj¹c¹ dekodowania
sygna³Ûw zdalnego sterowania
w†standardzie RC5 zgodnie z†algo-
rytmem opisanym diagramem sta-
nÛw†z†rys. 4. Funkcja wykorzys-
tuje sprzÍtowy licznik T0 mikro-
kontrolera pracuj¹cy w†trybie 1,
taktowany z†czÍstotliwoúci¹
1†MHz. Do klasyfikacji zdarzeÒ
z†diagramu wykorzystano tylko
bardziej znacz¹cy bajt licznika T0.
Zastosowano teø nieco inne (bar-
dziej rygorystyczne) niø podane
w†tabeli wartoúci progowe defi-
niuj¹ce impuls (przerwÍ) d³ugi
i†krÛtki (impuls krÛtki zawiera siÍ
w†przedziale 768
Oprogramowanie (wybrane
zagadnienia)
CzÍúÊ sprzÍtowa radiowego
przed³uøacza pilotÛw, zawieraj¹ca
typowe komponenty, jest jak wi-
daÊ bardzo prosta. W³aúciwe cechy
funkcjonalne nadaje przed³uøaczo-
wi oprogramowanie. Przygotowano
je w jÍzyku C i†skompilowano
kompilatorem firmy KEIL .
Dekodowanie sygna³Ûw
zdalnego sterowania
w†standardzie RC5
Poniewaø zarÛwno pilot od
tunera satelitarnego, jak i drugi
pilot przeznaczony do sterowania
tunerem z†innego pomieszczenia
(wykorzystano pilot od telewizo-
rÛw ELEMIS) pracowa³y w†stan-
dardzie RC5, st¹d†zaistnia³a ko-
niecznoúÊ dekodowania sygna³Ûw
zdalnego sterowania opartych na
tym standardzie. W†artykule [2]
opisano zbiÛr gotowych funkcji
w†jÍzyku C†s³uø¹cych do dekodo-
wania sygna³Ûw†zdalnego stero-
wania. Jednak wykorzysta³em
w³asne procedury oparte na bar-
dziej efektywnym algorytmie ba-
zuj¹cym na automacie sekwen-
cyjnym [3].
s...1279
µ
s, im-
puls d³ugi w 1280
µ
s...2047
s).
Tab. 1. Czasy występowania zdarzeń
podczas transmisji RC5
Zdarzenie
Idea³ Min. Max.
ki
889 444 1333
kp
889 444 1333
di
1778 1334 2222
Rys. 4. Diagram stanów opisujący
algorytm dekodowania sygnałów RC5
dp
1778 1334 2222
Elektronika Praktyczna 2/2004
39
µ
µ
32666660.015.png 32666660.016.png 32666660.017.png 32666660.018.png 32666660.019.png
Radiowy przedłużacz pilotów
List. 1. Funkcja obsługi przerwania zewnętrznego służąca do
dekodowania sygnałów zdalnego sterowania
void int_ext0(void) interrupt 0 using 1
{
unsigned int tmp;
char p_th,state,cntbit;
bit p_in,c_in;
List. 2. Przykład wykorzystania
funkcji dekodowania kodu RC5
w programie
if(rdy)
{ // odebrano polecenie
rdy=0;
if(addr==0x16)
{ // jeżeli zgadza się adres RC5
if(cmd==0x10)
{ // przykładowe polecenie
...
}
else
if(cmd==0x11)
{ // kolejne polecenie
...
}
// itd.
}
}
TL0=0; TH0=0; tmp=0; cntbit=1; state=0;
while(1)
{
p_in=in; //zapamiętanie wejścia
while(p_in==in) if (TH0>8) return;
//oczekiwanie na zbocze, jeżeli zbyt długo powrót (błąd)
p_th=TH0;
// zapamiętanie stanu licznika T0 (tylko starszy bajt)
TL0=0; TH0=0; c_in=in;
// zerowanie licznika T0 i buforowanie wejścia
switch(state)
{
case 0: // stan S0
if(!p_in&&c_in&&p_th>2&&p_th<5) state=1;
// jeżeli krótki impuls przejdź do stanu S1
else
if(!p_in&&c_in&&p_th>4&&p_th<8)
{ state=2; tmp<<=1; cntbit++; }
// jeżeli długi impuls to następny stan - S2,
// odebrany bit ma wartość 0
itp. Funkcja nie musi byÊ teø
funkcj¹ obs³ugi przerwania ze-
wnÍtrznego, lecz wÛwczas na-
leøy†w†programie g³Ûwnym umieú-
ciÊ fragment kodu sprawdzaj¹cy
cyklicznie stan wejúcia sygna³u
z†odbiornika RC5 i†w†przypadku
kiedy wykryte zostanie opadaj¹ce
zbocze, naleøy wywo³aÊ opisan¹
wyøej funkcjÍ.
Zbigniew Hajduk
else return;
// w przeciwnym przypadku błąd
break;
case 1: // Stan S1
if(p_in&&!c_in&&p_th>2&&p_th<5)
{ state=0; tmp<<=1; tmp|=1; cntbit++; }
// jeżeli krótka przerwa następny stan - S0,
// odebrany bit ma wartość 1
else return;
break;
Wzory p³ytek drukowanych w for-
macie PDF s¹ dostÍpne w Internecie
pod adresem: pcb.ep.com.pl oraz na
p³ycie CD-EP2/2004B w katalogu PCB .
case 2: // Stan S2
if(p_in&&!c_in&&p_th>4&&p_th<8)
{ state=0; tmp<<=1; tmp|=1; cntbit++; }
// Jeżeli długa przerwa powrót do stanu S0,
// odebrany bit ma wartość 1
else
if(p_in&&!c_in&&p_th>2&&p_th<5) state=3;
// Jeżeli krótka przerwa następny stan - S3
WYKAZ ELEMENTÓW
Rezystory
R1, R27, R28: 240
else return;
break;
case 3: // Stan S3
if(!p_in&&c_in&&p_th>2&&p_th<5)
{ state=2; tmp<<=1; cntbit++; }
// Jeżeli krótki impuls następny stan - S2,
// odebrany bit ma wartość 0
R2, R21: 100
R23: 3,6k
R24, R25: 10
else return;
break;
}
if(cntbit>=14) { rdy=1; addr=(tmp>>6)&0x1f; cmd=tmp&0x003f;
T=(tmp&0x0800)?1:0; return; }
// Jeżeli odebrano 14 bitów - koniec dekodowania
}
}
P1, P2: potencjometry montażowe
22k
Kondensatory
C1, C2, C22, C23: 33pF
C3, C24, C28: 1
Funkcja komunikuje siÍ z†pro-
gramem g³Ûwnym poprzez nastÍ-
puj¹ce zmienne:
bit rdy,T;
char addr,cmd;
Poprawne odebranie transmisji
z†pilota zdalnego sterowania syg-
nalizowane jest ustawieniem glo-
balnego bitu rdy . WÛwczas zmien-
ne addr oraz cmd zawieraj¹ od-
powiednio adres urz¹dzenia RC5
oraz kod polecenia. Zmienna bi-
towa T przechowuje wartoúÊ bitu
úwiadcz¹cego o†przytrzymaniu kla-
wisza. Wykorzystanie tej funkcji
we w³asnym programie moøe wy-
gl¹daÊ jak pokazano na list. 2
(przy czym naleøy pamiÍtaÊ
o†ustawieniu trybu 1†pracy liczni-
ka T0 oraz o†zezwoleniu przyjmo-
wania przerwaÒ z†zewnÍtrznego
wejúcia INT0 opadaj¹cym zbo-
czem sygna³u - wyjúcie ze scalo-
nego odbiornika podczerwieni
jest negowane, aktywny poziom
niski).
Opisana funkcja dekodowania
sygna³Ûw w†standardzie RC5 mo-
øe byÊ rÛwnieø wykorzystana dla
innego typu mikrokontrolera, choÊ
moøe siÍ to wi¹zaÊ np. ze zmian¹
odpowiednich sta³ych definiuj¹-
cych okreúlone zdarzenie (inna
czÍstotliwoúÊ pracy licznika),
zmian¹ nazw zmiennych odnosz¹-
cych siÍ do licznika sprzÍtowego
F
C4, C5, C25, C27: 100nF
C6: 220nF
C21: 10
µ
F
C26 1,2nF
Półprzewodniki
mikroprocesor AT89C2051 − 2szt.
T1: tranzystor BC817 (SMD)
T2: tranzystor BD135
scalony odbiornik podczerwieni
D1: dioda BAV17,
diody IRED − 2szt.
diody LED − 3szt.
Różne
RT4: hybrydowy nadajnik
433,92MHz
RR3: hybrydowy odbiornik
µ
40
Elektronika Praktyczna 2/2004
R22: 22k
R26: 1k
32666660.020.png
Zgłoś jeśli naruszono regulamin