2010.09 Zaskakujaco proste uniwersalne łącze bezprzewodowe, Projekty AVT
[ Pobierz całość w formacie PDF ]
2956
uniwersalne
łącze bezprzewodowe
łącze bezprzewodowe
Do czego to służy?
Uniwersalne łącze bezprzewodowe tworzą
zaskakująco proste moduły, mające 8 wejść
i 8 wyjść. Dwa moduły tworzą najprost-
sze łącze dwukierunkowe. Wtedy nie jest
potrzebna żadna konfiguracja, a działanie
jest proste i oczywiste: na wyjścia każdego
modułu przekazywany jest bezprzewodowo
stan wejść modułu współpracującego.
Większa liczba modułów pozwala stworzyć
sieć o dowolnej konfiguracji. Możliwa jest
jednoczesna praca wielu sieci, zawierają-
cych wiele modułów.
A to wszystko dzięki zastosowaniu niedro-
gich transceiverów RFM12 oraz popularnego
mikrokontrolera ATmega8.
Przedstawiane moduły rozwiążą mnóstwo
problemów, związanych ze sterowaniem na
odległość i monitoringiem. Liczba zastoso-
wań takich modułów jest ogromna za sprawą
ich ogromnej elastyczności. Moduły może-
my wykorzystać np. w sterowaniu modeli
RC, a także w robotach. Niemałą zaletą jest
możliwość śledzenia stanu wejść po drugiej
stronie, umożliwi to np. nadzorowanie stanu
czujników. Innym zastosowaniem może być
sterowanie oświetleniem i innymi pasywny-
mi urządzeniami. Przykładowo, mając kilka
pomieszczeń, możemy sterować oświetleniem
w każdym z każdego. Ważną cechą jest możli-
wość pracy na dziesiątkach różnych kanałów,
co umożliwia zrealizowanie dużej liczby sieci
działających jednocześnie obok siebie.
Cechy sprzętowe:
•
•
moduł RF 433MHz,
zasięg w otwartym terenie >150m.
Podstawowe wykorzystanie:
praca w parach,
Dodatkowe możliwości:
• praca w sieci typu master i slave
• możliwość dowolnej konfiguracji kierun-
ków przekazywania informacji,
• maksymalna liczba modułów w jednej
sieci: 9,
• 153 kanały fizyczne (różna częstotliwość),
• 16 kanałów wirtualnych (oddalone sieci),
• czas opóźnienia przełączania wyjść: dla
dwóch modułów: 25ms – w jednym kie-
runku, 50ms – w obu kierunkach, dla 9
modułów min. 0,5s – w obu kierunkach,
max. 1,2s.
8 wejść podciągniętych do „plusa”,
•
8 wyjść, maksymalny prąd 5mA/na wyj-
ście,
•
wejście konfigurujące tryb master/slave
(przydatne jedynie bez tablicy routingu),
Jak to działa?
Schemat ideowy jednego modułu został przed-
stawiony na
rysunku 1
. Właściwie jedynymi
elementami zastosowanymi w modułach są
mikrokontroler US1 ATmega8L oraz ostatnio
coraz bardziej popularny niedrogi transceiver
M1 RFM12, firmy HOPE RF.
Transceiver został zbudowany na bazie
układu RF12, na jego płytce znajduje się
zaledwie kilka elementów zewnętrznych.
Układ ten jest wyposażony w interfejs SPI,
za pomocą którego można go nie tylko skon-
figurować, ale również odbierać i nadawać
dane. Ja zdecydowałem się na wykorzystanie
tylko SPI (Serial Peripheral Interface), czyli 4
wyprowadzeń, ponieważ chciałem dokładnie
sprawdzać stan flag statusu. Wadą tego roz-
wiązania jest mniejsza szybkość transmisji
danych.
Konfiguracja rozpoczynana jest komendą
Configuration Setting Command
(0x8000),
•
zasilanie 3–5V (25mA przy 5V),
Rys. 1
V
C
C
CON1
C4 100n
C2 100n
R1 10k
1
2
3
4
5
6
7
8
IN1
VCC
nFFS
M1 RFM12
IN2
IN3
IN4
IN5
IN6
IN7
IN8
RST
VC
C
1
nINT/VDI
C3 100n
R2 10k
2
VCC
22
MOSI
SCK
SS
MISO
3
ADC7
SDI
30
19
4
OUT3
PD0 (RXD)
ADC6
SCK
31
29
5
OUT2
RST
PD1 (TXD)
(RESET) PC6
nSEL
OUT1
32
(ADC5/SCL) PC5
28
OUT4
OUT5
OUT6
OUT7
OUT8
6
PD2 (INT0)
SDO
1
27
7
PD3 (INT1)
(ADC4/SDA) PC4
nIRQ
2
26
8
IN1
nFFS
PD4 (XCK/T0)
(ADC3) PC3
FSK/DATA/nFFS
IN4
IN5
IN6
9
25
9
PD5 (T1)
(ADC2) PC2
DCLK/CFIL/FFIT
CON2
10
24
10
PD6 (AIN0)
(ADC1) PC1
CLK
1
2
3
4
5
6
7
8
11
23
11
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
MC
PD7 (AIN1)
(ADC0) PC0
nRES
12
GND
IN2
IN3
7
15
MOSI
SS
PB6 (XTAL1/TOSC1)
(MOSI/OC2) PB3
8
14
PB7 (XTAL2/TOSC2)
(SS/OC1B) PB2
V
C
C
17
13
SCK
MISO
IN8
PB5 (SCK)
(OC1A) PB1
D1 SM5818M
16
12
IN7
PB4 (MISO)
(ICP1) PB0
C1 10u
1
2
US1 ATMEGA8L
MC
P1
CON3
VCC DC 2.7-5V
52
Wrzesieñ 2010
Elektronika dla Wszystkich
Zaskakująco proste
Zaskakująco proste
uniwersalne
•
52
wysyłane są w niej ustawienia dotyczące czę-
stotliwości pracy nadajnika i odbiornika. W
tym przypadku jest to 433MHz, gdyż na taką
częstotliwość dobrane są elementy modułu
RFM12. Włączana jest kolejka FIFO (First
Input First Output) oraz wewnętrzny rejestr
danych, a dodatkowo należy też wybrać
pojemność obciążającą zastosowany kwarc.
Wstępnie wyłączany jest zarówno nadajnik,
jak i odbiornik, komendą
Power Management
Command
związanych z torem odbiorczym. Istotnym
parametrem jest szerokość pasma filtru pas-
mowoprzepustowego – została ona ustawiona
na 67kHz, oraz wzmocnienie przedwzmac-
niacza, które ustawiono na maksimum, tj.
0dB. Określana jest też siła sygnału, przy któ-
rej jest ustawiana wewnętrzna flaga DRSSI.
Składa się ona wraz z innymi flagami CR_
LOOK (Clock Recovery Look) oraz DQD
(Data Quality Detector) na sygnał VDI (Valid
Data Indicator), który jest używany m.in. do
rozpoczęcia napełniania kolejki. Odbiornik
konfiguruję tak, aby koniunkcja wszystkich
trzech flag składała się na VDI.
Data Filter
Command
, z ustawionym
bitem
er
(Enable Receiver). Następnie, zapi-
sywana jest komenda
FIFO and Reset Mode
Command
, z ustawionym bitem
ff
(FIFO fill).
Po czym następuje cykliczne sprawdzanie,
czy odebrano bajt. Jest to realizowane komen-
dą
Status Read Command
(0x0000) i testowa-
nia bitu FIIT. Jeśli bit jest ustawiony, nastę-
puje odczyt odebranych danych za pomocą
Receiver FIFO Read Command
(0xB000), bit
FIIT zostanie wtedy wyzerowany. Czynność
ta powtarzana jest aż do odebrania żądanej
liczby bajtów, składających się na pakiet. Jeśli
się to stanie, bit
ff
(FIFO fill) jest czyszczony.
Brak wyzerowania tego bitu mogłoby skutko-
wać ciągłym napływem danych, nawet przy
braku nadawania.
Podobna jest procedura nadawania, przed-
stawiona na diagramie czynności –
rysunek
3
. Początkowo uruchamiany jest tor nadajni-
ka. Od razu następuje cykliczny odczyt sta-
tusu (Status Read Command). Jeśli bit RGIT
jest ustawiony, przesyłany jest bajt do kolejki
nadajnika komendą
Transmitter Register Write
Command
(0x8200). Dodatkowo wyłączam
nieużywane wyjście zegara, którego prze-
znaczeniem jest taktowanie np. proceso-
ra. Komenda
Frequency Setting Command
(0xA000) jest bardzo istotna – za jej pomocą
określana jest dokładna częstotliwość pracy
odbiornika i nadajnika. Cały zakres częstotli-
wości wynoszący 9,525MHz został podzie-
lony ze skokiem 62,5kHz, co pozwoliło na
uzyskanie 153 kanałów. Ustawienie dwóch
sąsiednich kanałów nie powoduje przenikania
sygnału między nimi, nawet jeśli moduły leżą
obok siebie. Komenda
(0xC200) określa sposób odzyska-
nia sygnału zegara (CR_LOOK), polega to
na zliczaniu kolejnych przejść 0/1. Tak więc,
zanim jakiekolwiek użyteczne dane zostaną
nadane, wysyłany jest ciąg 0/1. Dodatkowo
ustawiany jest próg DQD oraz filtr cyfrowy.
Komenda niezbędna przy odbiorze to
FIFO
and Reset Mode Command
(0xCA00), usta-
wia ona m.in. wartość progową liczby ode-
branych bitów, która spowoduje ustawienie
flagi FIIT. Wartość ta zostaje ustawiona na
8. Ponadto ustawiany jest wymóg odbio-
ru słowa/sygnatury składającej się z dwóch
bajtów (0x2DD4), a powodującej rozpoczę-
cie napełniania kolejki, gdy DVI i bit ff są
ustawione. Współpracujące transceivery mają
możliwość automatycznego odstrojenie się od
częstotliwości głównej. Umożliwia to lepsze
zgranie nadajnika z odbiornikiem, zwłaszcza
gdy rezonator kwarcowy nie jest zbyt dokład-
ny oraz przy pracy z wieloma różnymi modu-
łami. Włączenie tej możliwości dokonywane
jest za pomocą
AFC Command
(0xC400).
Konfiguracja nadajnika dokonywana jest za
pomocą
Data Rate Command
(0xC600) ustawia prędkość transmisji i zosta-
ła ona ustawiona na 4800bps, dyktuje to, ile
czasu ma program, by przesłać lub odebrać
kolejny bajt z kolejki. Oczywiście, czym więk-
sza prędkość transmisji, tym mniejszy zasięg
i większa podatność na błędy. Transceiver
posiada maleńką 16-bitową kolejkę FIFO,
która może być i jest używana zarówno
przy transmisji, jak i odbiorze danych.
Zastosowanie tak małej kolejki jest trochę
uciążliwe dla sterownika zajmującego się
obsługą modułu, gdyż musi on naprzemiennie
badać stan flag oraz odczytywać lub zapisy-
wać kolejkę, co powoduje spadek wydajności.
Kolejna komenda,
Receiver Control Command
(0x9000),
ustawia sze-
reg
(0xB800). Czynność ta powtarzana
jest aż do wysłania wszystkich bajtów pakie-
tu, w tym bajtów poprzedzających (0xAA),
preambuły (0x2DD4), właściwej zawartości
pakietu, bajtu zaślepki.
Oczywiście wysyłanie zawartości pakietu
w oryginalnej, niezmienionej postaci nie było-
by możliwe, bo ciągi zer i jedynek spowodo-
wałyby rozsynchronizowanie odbiornika i nie
mógłby on poprawnie odebrać danych. Dlatego
też wysyłany
pakiet zamienia-
ny jest zgodnie
z regułą 1 do 2
bitów. Zero jest
kodowane jako
01, a jeden jako
10. Pakiet wypo-
sażony jest też w
sumy kontrolne,
zapobiegając
błędnej interpre-
tacji danych.
Zasada dzia-
łania sieci opie-
ra się na zało-
żeniu, że jeden
moduł musi
władać pozo-
stałymi
. Stąd
też specjalny pin
konfiguracyj-
ny, określający,
który moduł jest
władcą (master).
TX Configuration Control Command
(0xB800) i sprowadza się wyłącznie do usta-
wienia mocy
Rys. 2
opcji
Rys. 4
Rys. 3
Elektronika dla Wszystkich
Wrzesieñ 2010
Wrzesieñ 2010
53
wyjściowej (0dB) oraz głębokości modulacji
FSK (30kHz).
Procedura odbioru składa się z szeregu
operacji, przedstawionych na diagramie czyn-
ności –
rysunek 2
. Początkowo uruchamiany
jest tor odbiorczy poprzez zapis komendy
Power Management Command
53
Rys. 6
wiada trzem pierwszym war-
stwom modelu OSI, pewność
transmisji nie jest spełniona.
Oznacza to, że w przypadku
błędu dane są odrzucane. Jeśli
władca nie otrzymał żądane-
go stanu wejść któregoś ze
sług, to przyjmuje za niego
stan, w którym żadne wejście
nie jest aktywne (połączone
z masą), wiadomość ta roz-
syłana jest do odpowiednich
modułów w kolejnym cyklu.
Zapobiega to utrzymywaniu
się stanów wysokich na wyj-
ściach modułów po zerwaniu
połączenia z modułem ustającym ten stan.
Inny przypadek – groźny jest wtedy, gdy
moduł władcy z jakichś przyczyn przestanie
działać, wtedy cała sieć obumiera, a wyjścia
sług po chwili automatycznie przejdą w stan
zerowy.
Ponieważ wszystkie moduły są jed-
nakowe, tylko zawartość pamięci EEPROM
lub stan pinu konfiguracyjnego decyduje o
tym, który moduł jest władcą, a które słu-
gami
.
Rys. 5
ścia o tym numerze na wyjście o tym samym
numerze. Jeśli w danym wierszu jest więcej
jedynek na danej pozycji, stan wyjścia jest
traktowany jako alternatywa z nich. Wejścia
jednego modułu mogą być przekazane na wyj-
ścia różnych modułów lub żadnego. Możliwa
jest też dziwna konstrukcja przekazania wejść
na wyjścia tego samego modułu, np. w celu
kontroli zestawienia połączenia. Jeśli moduł
nie uczestniczy w wymianie, tj. jego wejścia
nie są przekazywane na żadne wyjścia i do
jego wyjść nie są przekazywane żadne wej-
ścia, to jest on wyłączany z sieci.
Rysunek 4
przedstawia opis przeznaczenia
poszczególnych komórek pamięci. Na
rysun-
ku 5
przedstawiono przykład tablicy routin-
gu. Analizując rysunek, możemy doszukać
się następujących tras: – Wszystkie wejścia
modułu 0 przypisane są do wszystkich wyjść
modułu 1. – Wszystkie wejścia modułu 1
przypisane są do wszystkich wyjść modułu
0. – Wejścia 6 i 8 modułu 3 przypisane są do
wyjść modułu 2 o tych samych numerach.
Dodatkowo, wejścia modułu 3 o numerach 1,
3, 5, 7 przypisane są do wyjść o tych samych
numerach modułu 4. – Wejścia 1–4 modułu 2
przekazywane są na wyjścia o tych samych
numerach, modułu 4. – Na stan wyjść modułu
4 składa się alternatywa odpowiednich wejść,
modułów 2 i 3. – Wejścia 1–5, 7
modułu 6 przypisane są do wyjść
o tych samych numerach modułu
2. – Dodatkowo, wszystkie wej-
ścia modułu 6 przekazywane są
na wszystkie wyjścia modułu 7.
– Moduł o identyfikatorze 5 i 8 nie
uczestniczy w wymianie, więc nie
musi być go w sieci. Obrazowo
przedstawia to
rysunek 6
.
Władca, czyli moduł o iden-
tyfikatorze 0 i wpisanej zawar-
tości tablicy routingu, odpytuje
kolejno wszystkie moduły, znaj-
dujące się w sieci, o stan ich
wejść. Stan wejść tych modułów
jest buforowany w celu później-
szego przekazania na wyjścia
innego modułu. Ponieważ sieć
tworzona poprzez moduły odpo-
To władca wysyła pierwszy pakiet, a jego
sługa (slave), odbierając go, odpowiada.
Proces ten trwa bez przerwy, a pasmo sieci
jest całkiem zajęte, ponieważ gdy tylko moduł
odbierze dane, od razu przechodzi do wysyła-
nia i znowu do odbioru.
Niezaprogramowanie
pamięci EEPROM umożliwia prostą pracę
dwóch modułów.
W konfiguracji tej wejścia
jednego modułu dołączone są do wyjść dru-
giego i na odwrót.
Moduły mogą też tworzyć większą sieć,
przypomina ona wtedy topologię gwiazdy.
Obrazowo mówiąc, pośrodku znajduje się
władca, a dookoła otaczają go słudzy. Aby
było możliwe takie działanie sieci, wymagane
jest zdefiniowanie statycznej tablicy routingu
i umieszczenie jej w pamięci EEPROM pro-
cesora władcy. Władcę można utożsamiać
z routerem. W tablicy routingu znajdują się
wytyczne dotyczące tego, który pin jakiego
modułu ma zostać przekazany, na które wyj-
ście jakiego modułu. W tej konfiguracji modu-
ły muszą być kolejno ponumerowane, nume-
racji należy dokonać samodzielnie, wpisując
odpowiednie wartości do pamięci EEPROM
każdego modułu. Identyfikator modułu sługi
musi być z przedziału wartości 1–8, a wład-
cy – musi być równy 0. Oczywiście w sieci
na tym samym kanele nie może być dwóch
modułów o tym samym identyfikatorze. W
sieci musi być jeden władca, czyli moduł o
identyfikatorze 0. Brak władcy uniemożliwia
działanie sieci – słudzy nie mogą komuniko-
wać się między sobą bezpośrednio.
Tablica routingu ma kształt tabeli o takiej
samej liczbie wierszy, co kolumn. Kolumn
i wierszy jest dziewięć, czyli tyle, ile może
być maksymalnie modułów w jednej sieci.
Identyfikatory kolumn i wierszy odpowiadają
identyfikatorom modułów. Kolumna o danym
identyfikatorze odpowiada wejściom modułu
o tym identyfikatorze, a wiersz wyjściom
modułu o identyfikatorze wiersza. Komórka
pamięci występująca na przecięciach wierszy
i kolumn określa, które piny z wejścia mają
być przekazane na wyjście. Wpisanie jedynki
na danej pozycji powoduje przekazanie wej-
Rys. 7
Montaż i uruchomienie
Układ można zmontować na płytce drukowa-
nej pokazanej na
rysunku 7
. Montaż rozpo-
czynamy od wlutowania mikrokontrolerów
(uwaga na właściwe wlutowanie, wyżłobio-
ne kółko na obudowie mikrokontrolera musi
zgadzać się z tym na płytce drukowanej), a
kończymy wlutowaniem goldpinów i pod-
stawki pod moduł RFM. Do modułów RFM
lutujemy dostarczone razem z nimi ante-
ny. Po upewnieniu się, że wszystko zostało
zlutowane poprawnie, wgrywamy oprogra-
mowanie (można je ściągnąć z Elportalu)
do mikrokontrolera – jeśli jeszcze go tam
nie ma. Napięcie zasilające moduł powinno
być stabilizowane, w zakresie 2,7–5V – w
czasie programowania 5V.
Rysunek 8
poka-
zuje połączenie układu. Szczególną uwagę
zwracamy na poprawność zapro-
gramowania FuseBits, bez zapro-
gramowania których program na
pewno nie będzie działał popraw-
nie.
W wariancie z dwoma modu-
łami nie jest konieczne programo-
wanie pamięci EEPROM, w tym
przypadku w jednym z modułów
wystarczy zewrzeć pin 23 (ozna-
czanie P1 na PCB) procesora z
masą, nadając mu w ten sposób
funkcję master
. Jeśli zdecydu-
jemy się na wgranie ustawień do
pamięci EEPROM, uzyskamy
możliwość zdefiniowania sta-
tycznej tablicy routingu, fizycz-
nego i wirtualnego kanału pracy
oraz identyfikatora urządzenia.
Szczegóły dotyczące zawar-
tości pamięci EEPROM były
Rys. 8
54
Wrzesieñ 2010
Elektronika dla Wszystkich
podawane wcześniej. Zwarcie wcześniej oma-
wianego pinu z masą ma większy priorytet
niż zaprogramowane ID modułu w pamięci
EEPROM. Tak więc zalecane jest wypełnie-
nie obszaru tablicy routingu zerami, nawet
dla modułów typu slave. Razem z plikami
wsadowymi przygotowałem też obraz pamięci
EEPROM, ułatwiający stworzenie wymaga-
nych ustawień. Tablica routingu w module
typu slave (ID: 1–8) nie będzie normalnie uży-
wana, można ją jednak aktywować bez zmian
w pamięci EEPROM, zwierając wcześniej
omawiany pin do masy. Wtedy moduł stanie
się modułem master i zacznie używać tej
tablicy. Możliwość taka może być potrzebna
w przypadku awarii wcześniejszego modułu
master. Po zmianie ustawień pinu moduł nale-
ży zrestartować. Przypominam, że w sieci nie
mogą równocześnie pracować dwa moduły
typu master (na tych samych kanałach).
Sieci wirtualne to tylko dodatkowe zabez-
pieczanie przed przeniknięciem sygnału z
innej sieci w przypadku, gdy dwie sieci na
tym samym kanale fizycznym znajdą się z
jakichś przyczyn obok siebie. Wtedy żadna
sieć nie będzie działać. Jeśli spodziewamy się
natłoku sieci z tymi modułami, powinniśmy
zmienić domyślne ustawienia kanałów.
I tu bardzo ważna uwaga przy wkładaniu
transceiverów. Przynajmniej moje podstawki
pod transceiver były słabej jakości, co skutko-
wało spadkiem napięcia uniemożliwiającym
poprawną pracę transceivera. Poszukiwania
ewentualnej przyczyny niedziałania należy
rozpocząć od sprawdzenia napięcia na sty-
kach zasilania transceivera (trzeba dokładnie
zmierzyć napięcie na płytce transceivera
Wykaz elementów
, w
miejscu wlutowania goldpinów, pin pierwszy
i ostatni od strony układu scalonego), powin-
no ono być równe napięciu zasilania układu.
Zazwyczaj dociśnięcie pomaga. Oczywiście
transceiver wkładamy tak, aby pokrywał się
z płytką drukowaną, a nie wystawał poza
nią. UWAGA! Wlutowanie transceivera bez
podstawki uniemożliwi późniejsze zmiany
pamięci EEPROM.
Maksymalny prąd, jaki może być pobie-
rany z wyjścia modułu nie może przekroczyć
5mA. Na wyjściach nie powinny pojawiać się
„obce” napięcia wymuszające przepływ prądu.
W przypadku sterowania np. oświetleniem
należy we własnym zakresie dodać matry-
cę tranzystorów (ULN2803A) wzmacniającą
prąd oraz przekaźniki lub tyrystory (nie są to
skomplikowane obwody). Do wejść modułu
nie doprowadzać „obcych” napięć. Wejścia są
podciągnięte do plusa zasilania, w takim przy-
padku ich stan jest nieaktywny i odpowiada
stanu niskiemu na wyjściu. Do wejść można
bezpośrednio dołączyć przyciski, pod warun-
R1,R2 . . . . . . . . . . . . . . . . . . . . . . . 10k
Ω
/SMD/0805
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . 10μF/SMD/1206
C2-C4 . . . . . . . . . . . . . . . . . . . . . . .100nF/SMD/0805
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SM5818M
US1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ATmega8L
M1. . . . . . . . . . . . . . . . . . . . . . . . . . . . RFM12-433-D
CON1,CON2 . . . . . . . . . . . . . . . . . . . . . . goldpin 1x8
CON3,CON4 . . . . . . . . . . . . . . . . . . . . . . goldpin 1x2
Dwurzędowe gniazdo pod małe goldpiny
Komplet podzespołów z płytką jest dostęp ny
w sieci handlowej AVT jako kit szkolny AVT-2956.
kiem że są umieszczone nie dalej jak 20cm.
W przypadku większych odległości zalecane
jest stosowanie transoptorów, a w przypadku
prądu przemiennego zalecane jest stosowanie
transoptorów z dwoma diodami (np. PC814),
dodatkowo na wejściu modułu wykorzystać
filtr tłumiący tętnienia.
Jeszcze raz przypomi-
nam (dla wystraszonych), że moduły mogą
pracować bez jakiejkolwiek ingerencji w
pamięć EEPROM procesora
.
Ustawiając moduły, należy pamiętać, że
największy zasięg uzyskamy, ustawiając ante-
ny w tej samej polaryzacji, czyli równolegle
do siebie w obu płaszczyznach.
Szymon Janek
R E K L A M A
Elektronika dla Wszystkich Wrzesieñ 2010
Wrzesieñ 2010
55
[ Pobierz całość w formacie PDF ]
zanotowane.pl doc.pisz.pl pdf.pisz.pl charloteee.keep.pl
2956
uniwersalne
łącze bezprzewodowe
łącze bezprzewodowe
Do czego to służy?
Uniwersalne łącze bezprzewodowe tworzą
zaskakująco proste moduły, mające 8 wejść
i 8 wyjść. Dwa moduły tworzą najprost-
sze łącze dwukierunkowe. Wtedy nie jest
potrzebna żadna konfiguracja, a działanie
jest proste i oczywiste: na wyjścia każdego
modułu przekazywany jest bezprzewodowo
stan wejść modułu współpracującego.
Większa liczba modułów pozwala stworzyć
sieć o dowolnej konfiguracji. Możliwa jest
jednoczesna praca wielu sieci, zawierają-
cych wiele modułów.
A to wszystko dzięki zastosowaniu niedro-
gich transceiverów RFM12 oraz popularnego
mikrokontrolera ATmega8.
Przedstawiane moduły rozwiążą mnóstwo
problemów, związanych ze sterowaniem na
odległość i monitoringiem. Liczba zastoso-
wań takich modułów jest ogromna za sprawą
ich ogromnej elastyczności. Moduły może-
my wykorzystać np. w sterowaniu modeli
RC, a także w robotach. Niemałą zaletą jest
możliwość śledzenia stanu wejść po drugiej
stronie, umożliwi to np. nadzorowanie stanu
czujników. Innym zastosowaniem może być
sterowanie oświetleniem i innymi pasywny-
mi urządzeniami. Przykładowo, mając kilka
pomieszczeń, możemy sterować oświetleniem
w każdym z każdego. Ważną cechą jest możli-
wość pracy na dziesiątkach różnych kanałów,
co umożliwia zrealizowanie dużej liczby sieci
działających jednocześnie obok siebie.
Cechy sprzętowe:
•
•
moduł RF 433MHz,
zasięg w otwartym terenie >150m.
Podstawowe wykorzystanie:
praca w parach,
Dodatkowe możliwości:
• praca w sieci typu master i slave
• możliwość dowolnej konfiguracji kierun-
ków przekazywania informacji,
• maksymalna liczba modułów w jednej
sieci: 9,
• 153 kanały fizyczne (różna częstotliwość),
• 16 kanałów wirtualnych (oddalone sieci),
• czas opóźnienia przełączania wyjść: dla
dwóch modułów: 25ms – w jednym kie-
runku, 50ms – w obu kierunkach, dla 9
modułów min. 0,5s – w obu kierunkach,
max. 1,2s.
8 wejść podciągniętych do „plusa”,
•
8 wyjść, maksymalny prąd 5mA/na wyj-
ście,
•
wejście konfigurujące tryb master/slave
(przydatne jedynie bez tablicy routingu),
Jak to działa?
Schemat ideowy jednego modułu został przed-
stawiony na
rysunku 1
. Właściwie jedynymi
elementami zastosowanymi w modułach są
mikrokontroler US1 ATmega8L oraz ostatnio
coraz bardziej popularny niedrogi transceiver
M1 RFM12, firmy HOPE RF.
Transceiver został zbudowany na bazie
układu RF12, na jego płytce znajduje się
zaledwie kilka elementów zewnętrznych.
Układ ten jest wyposażony w interfejs SPI,
za pomocą którego można go nie tylko skon-
figurować, ale również odbierać i nadawać
dane. Ja zdecydowałem się na wykorzystanie
tylko SPI (Serial Peripheral Interface), czyli 4
wyprowadzeń, ponieważ chciałem dokładnie
sprawdzać stan flag statusu. Wadą tego roz-
wiązania jest mniejsza szybkość transmisji
danych.
Konfiguracja rozpoczynana jest komendą
Configuration Setting Command
(0x8000),
•
zasilanie 3–5V (25mA przy 5V),
Rys. 1
V
C
C
CON1
C4 100n
C2 100n
R1 10k
1
2
3
4
5
6
7
8
IN1
VCC
nFFS
M1 RFM12
IN2
IN3
IN4
IN5
IN6
IN7
IN8
RST
VC
C
1
nINT/VDI
C3 100n
R2 10k
2
VCC
22
MOSI
SCK
SS
MISO
3
ADC7
SDI
30
19
4
OUT3
PD0 (RXD)
ADC6
SCK
31
29
5
OUT2
RST
PD1 (TXD)
(RESET) PC6
nSEL
OUT1
32
(ADC5/SCL) PC5
28
OUT4
OUT5
OUT6
OUT7
OUT8
6
PD2 (INT0)
SDO
1
27
7
PD3 (INT1)
(ADC4/SDA) PC4
nIRQ
2
26
8
IN1
nFFS
PD4 (XCK/T0)
(ADC3) PC3
FSK/DATA/nFFS
IN4
IN5
IN6
9
25
9
PD5 (T1)
(ADC2) PC2
DCLK/CFIL/FFIT
CON2
10
24
10
PD6 (AIN0)
(ADC1) PC1
CLK
1
2
3
4
5
6
7
8
11
23
11
OUT1
OUT2
OUT3
OUT4
OUT5
OUT6
OUT7
OUT8
MC
PD7 (AIN1)
(ADC0) PC0
nRES
12
GND
IN2
IN3
7
15
MOSI
SS
PB6 (XTAL1/TOSC1)
(MOSI/OC2) PB3
8
14
PB7 (XTAL2/TOSC2)
(SS/OC1B) PB2
V
C
C
17
13
SCK
MISO
IN8
PB5 (SCK)
(OC1A) PB1
D1 SM5818M
16
12
IN7
PB4 (MISO)
(ICP1) PB0
C1 10u
1
2
US1 ATMEGA8L
MC
P1
CON3
VCC DC 2.7-5V
52
Wrzesieñ 2010
Elektronika dla Wszystkich
Zaskakująco proste
Zaskakująco proste
uniwersalne
•
52
wysyłane są w niej ustawienia dotyczące czę-
stotliwości pracy nadajnika i odbiornika. W
tym przypadku jest to 433MHz, gdyż na taką
częstotliwość dobrane są elementy modułu
RFM12. Włączana jest kolejka FIFO (First
Input First Output) oraz wewnętrzny rejestr
danych, a dodatkowo należy też wybrać
pojemność obciążającą zastosowany kwarc.
Wstępnie wyłączany jest zarówno nadajnik,
jak i odbiornik, komendą
Power Management
Command
związanych z torem odbiorczym. Istotnym
parametrem jest szerokość pasma filtru pas-
mowoprzepustowego – została ona ustawiona
na 67kHz, oraz wzmocnienie przedwzmac-
niacza, które ustawiono na maksimum, tj.
0dB. Określana jest też siła sygnału, przy któ-
rej jest ustawiana wewnętrzna flaga DRSSI.
Składa się ona wraz z innymi flagami CR_
LOOK (Clock Recovery Look) oraz DQD
(Data Quality Detector) na sygnał VDI (Valid
Data Indicator), który jest używany m.in. do
rozpoczęcia napełniania kolejki. Odbiornik
konfiguruję tak, aby koniunkcja wszystkich
trzech flag składała się na VDI.
Data Filter
Command
, z ustawionym
bitem
er
(Enable Receiver). Następnie, zapi-
sywana jest komenda
FIFO and Reset Mode
Command
, z ustawionym bitem
ff
(FIFO fill).
Po czym następuje cykliczne sprawdzanie,
czy odebrano bajt. Jest to realizowane komen-
dą
Status Read Command
(0x0000) i testowa-
nia bitu FIIT. Jeśli bit jest ustawiony, nastę-
puje odczyt odebranych danych za pomocą
Receiver FIFO Read Command
(0xB000), bit
FIIT zostanie wtedy wyzerowany. Czynność
ta powtarzana jest aż do odebrania żądanej
liczby bajtów, składających się na pakiet. Jeśli
się to stanie, bit
ff
(FIFO fill) jest czyszczony.
Brak wyzerowania tego bitu mogłoby skutko-
wać ciągłym napływem danych, nawet przy
braku nadawania.
Podobna jest procedura nadawania, przed-
stawiona na diagramie czynności –
rysunek
3
. Początkowo uruchamiany jest tor nadajni-
ka. Od razu następuje cykliczny odczyt sta-
tusu (Status Read Command). Jeśli bit RGIT
jest ustawiony, przesyłany jest bajt do kolejki
nadajnika komendą
Transmitter Register Write
Command
(0x8200). Dodatkowo wyłączam
nieużywane wyjście zegara, którego prze-
znaczeniem jest taktowanie np. proceso-
ra. Komenda
Frequency Setting Command
(0xA000) jest bardzo istotna – za jej pomocą
określana jest dokładna częstotliwość pracy
odbiornika i nadajnika. Cały zakres częstotli-
wości wynoszący 9,525MHz został podzie-
lony ze skokiem 62,5kHz, co pozwoliło na
uzyskanie 153 kanałów. Ustawienie dwóch
sąsiednich kanałów nie powoduje przenikania
sygnału między nimi, nawet jeśli moduły leżą
obok siebie. Komenda
(0xC200) określa sposób odzyska-
nia sygnału zegara (CR_LOOK), polega to
na zliczaniu kolejnych przejść 0/1. Tak więc,
zanim jakiekolwiek użyteczne dane zostaną
nadane, wysyłany jest ciąg 0/1. Dodatkowo
ustawiany jest próg DQD oraz filtr cyfrowy.
Komenda niezbędna przy odbiorze to
FIFO
and Reset Mode Command
(0xCA00), usta-
wia ona m.in. wartość progową liczby ode-
branych bitów, która spowoduje ustawienie
flagi FIIT. Wartość ta zostaje ustawiona na
8. Ponadto ustawiany jest wymóg odbio-
ru słowa/sygnatury składającej się z dwóch
bajtów (0x2DD4), a powodującej rozpoczę-
cie napełniania kolejki, gdy DVI i bit ff są
ustawione. Współpracujące transceivery mają
możliwość automatycznego odstrojenie się od
częstotliwości głównej. Umożliwia to lepsze
zgranie nadajnika z odbiornikiem, zwłaszcza
gdy rezonator kwarcowy nie jest zbyt dokład-
ny oraz przy pracy z wieloma różnymi modu-
łami. Włączenie tej możliwości dokonywane
jest za pomocą
AFC Command
(0xC400).
Konfiguracja nadajnika dokonywana jest za
pomocą
Data Rate Command
(0xC600) ustawia prędkość transmisji i zosta-
ła ona ustawiona na 4800bps, dyktuje to, ile
czasu ma program, by przesłać lub odebrać
kolejny bajt z kolejki. Oczywiście, czym więk-
sza prędkość transmisji, tym mniejszy zasięg
i większa podatność na błędy. Transceiver
posiada maleńką 16-bitową kolejkę FIFO,
która może być i jest używana zarówno
przy transmisji, jak i odbiorze danych.
Zastosowanie tak małej kolejki jest trochę
uciążliwe dla sterownika zajmującego się
obsługą modułu, gdyż musi on naprzemiennie
badać stan flag oraz odczytywać lub zapisy-
wać kolejkę, co powoduje spadek wydajności.
Kolejna komenda,
Receiver Control Command
(0x9000),
ustawia sze-
reg
(0xB800). Czynność ta powtarzana
jest aż do wysłania wszystkich bajtów pakie-
tu, w tym bajtów poprzedzających (0xAA),
preambuły (0x2DD4), właściwej zawartości
pakietu, bajtu zaślepki.
Oczywiście wysyłanie zawartości pakietu
w oryginalnej, niezmienionej postaci nie było-
by możliwe, bo ciągi zer i jedynek spowodo-
wałyby rozsynchronizowanie odbiornika i nie
mógłby on poprawnie odebrać danych. Dlatego
też wysyłany
pakiet zamienia-
ny jest zgodnie
z regułą 1 do 2
bitów. Zero jest
kodowane jako
01, a jeden jako
10. Pakiet wypo-
sażony jest też w
sumy kontrolne,
zapobiegając
błędnej interpre-
tacji danych.
Zasada dzia-
łania sieci opie-
ra się na zało-
żeniu, że jeden
moduł musi
władać pozo-
stałymi
. Stąd
też specjalny pin
konfiguracyj-
ny, określający,
który moduł jest
władcą (master).
TX Configuration Control Command
(0xB800) i sprowadza się wyłącznie do usta-
wienia mocy
Rys. 2
opcji
Rys. 4
Rys. 3
Elektronika dla Wszystkich
Wrzesieñ 2010
Wrzesieñ 2010
53
wyjściowej (0dB) oraz głębokości modulacji
FSK (30kHz).
Procedura odbioru składa się z szeregu
operacji, przedstawionych na diagramie czyn-
ności –
rysunek 2
. Początkowo uruchamiany
jest tor odbiorczy poprzez zapis komendy
Power Management Command
53
Rys. 6
wiada trzem pierwszym war-
stwom modelu OSI, pewność
transmisji nie jest spełniona.
Oznacza to, że w przypadku
błędu dane są odrzucane. Jeśli
władca nie otrzymał żądane-
go stanu wejść któregoś ze
sług, to przyjmuje za niego
stan, w którym żadne wejście
nie jest aktywne (połączone
z masą), wiadomość ta roz-
syłana jest do odpowiednich
modułów w kolejnym cyklu.
Zapobiega to utrzymywaniu
się stanów wysokich na wyj-
ściach modułów po zerwaniu
połączenia z modułem ustającym ten stan.
Inny przypadek – groźny jest wtedy, gdy
moduł władcy z jakichś przyczyn przestanie
działać, wtedy cała sieć obumiera, a wyjścia
sług po chwili automatycznie przejdą w stan
zerowy.
Ponieważ wszystkie moduły są jed-
nakowe, tylko zawartość pamięci EEPROM
lub stan pinu konfiguracyjnego decyduje o
tym, który moduł jest władcą, a które słu-
gami
.
Rys. 5
ścia o tym numerze na wyjście o tym samym
numerze. Jeśli w danym wierszu jest więcej
jedynek na danej pozycji, stan wyjścia jest
traktowany jako alternatywa z nich. Wejścia
jednego modułu mogą być przekazane na wyj-
ścia różnych modułów lub żadnego. Możliwa
jest też dziwna konstrukcja przekazania wejść
na wyjścia tego samego modułu, np. w celu
kontroli zestawienia połączenia. Jeśli moduł
nie uczestniczy w wymianie, tj. jego wejścia
nie są przekazywane na żadne wyjścia i do
jego wyjść nie są przekazywane żadne wej-
ścia, to jest on wyłączany z sieci.
Rysunek 4
przedstawia opis przeznaczenia
poszczególnych komórek pamięci. Na
rysun-
ku 5
przedstawiono przykład tablicy routin-
gu. Analizując rysunek, możemy doszukać
się następujących tras: – Wszystkie wejścia
modułu 0 przypisane są do wszystkich wyjść
modułu 1. – Wszystkie wejścia modułu 1
przypisane są do wszystkich wyjść modułu
0. – Wejścia 6 i 8 modułu 3 przypisane są do
wyjść modułu 2 o tych samych numerach.
Dodatkowo, wejścia modułu 3 o numerach 1,
3, 5, 7 przypisane są do wyjść o tych samych
numerach modułu 4. – Wejścia 1–4 modułu 2
przekazywane są na wyjścia o tych samych
numerach, modułu 4. – Na stan wyjść modułu
4 składa się alternatywa odpowiednich wejść,
modułów 2 i 3. – Wejścia 1–5, 7
modułu 6 przypisane są do wyjść
o tych samych numerach modułu
2. – Dodatkowo, wszystkie wej-
ścia modułu 6 przekazywane są
na wszystkie wyjścia modułu 7.
– Moduł o identyfikatorze 5 i 8 nie
uczestniczy w wymianie, więc nie
musi być go w sieci. Obrazowo
przedstawia to
rysunek 6
.
Władca, czyli moduł o iden-
tyfikatorze 0 i wpisanej zawar-
tości tablicy routingu, odpytuje
kolejno wszystkie moduły, znaj-
dujące się w sieci, o stan ich
wejść. Stan wejść tych modułów
jest buforowany w celu później-
szego przekazania na wyjścia
innego modułu. Ponieważ sieć
tworzona poprzez moduły odpo-
To władca wysyła pierwszy pakiet, a jego
sługa (slave), odbierając go, odpowiada.
Proces ten trwa bez przerwy, a pasmo sieci
jest całkiem zajęte, ponieważ gdy tylko moduł
odbierze dane, od razu przechodzi do wysyła-
nia i znowu do odbioru.
Niezaprogramowanie
pamięci EEPROM umożliwia prostą pracę
dwóch modułów.
W konfiguracji tej wejścia
jednego modułu dołączone są do wyjść dru-
giego i na odwrót.
Moduły mogą też tworzyć większą sieć,
przypomina ona wtedy topologię gwiazdy.
Obrazowo mówiąc, pośrodku znajduje się
władca, a dookoła otaczają go słudzy. Aby
było możliwe takie działanie sieci, wymagane
jest zdefiniowanie statycznej tablicy routingu
i umieszczenie jej w pamięci EEPROM pro-
cesora władcy. Władcę można utożsamiać
z routerem. W tablicy routingu znajdują się
wytyczne dotyczące tego, który pin jakiego
modułu ma zostać przekazany, na które wyj-
ście jakiego modułu. W tej konfiguracji modu-
ły muszą być kolejno ponumerowane, nume-
racji należy dokonać samodzielnie, wpisując
odpowiednie wartości do pamięci EEPROM
każdego modułu. Identyfikator modułu sługi
musi być z przedziału wartości 1–8, a wład-
cy – musi być równy 0. Oczywiście w sieci
na tym samym kanele nie może być dwóch
modułów o tym samym identyfikatorze. W
sieci musi być jeden władca, czyli moduł o
identyfikatorze 0. Brak władcy uniemożliwia
działanie sieci – słudzy nie mogą komuniko-
wać się między sobą bezpośrednio.
Tablica routingu ma kształt tabeli o takiej
samej liczbie wierszy, co kolumn. Kolumn
i wierszy jest dziewięć, czyli tyle, ile może
być maksymalnie modułów w jednej sieci.
Identyfikatory kolumn i wierszy odpowiadają
identyfikatorom modułów. Kolumna o danym
identyfikatorze odpowiada wejściom modułu
o tym identyfikatorze, a wiersz wyjściom
modułu o identyfikatorze wiersza. Komórka
pamięci występująca na przecięciach wierszy
i kolumn określa, które piny z wejścia mają
być przekazane na wyjście. Wpisanie jedynki
na danej pozycji powoduje przekazanie wej-
Rys. 7
Montaż i uruchomienie
Układ można zmontować na płytce drukowa-
nej pokazanej na
rysunku 7
. Montaż rozpo-
czynamy od wlutowania mikrokontrolerów
(uwaga na właściwe wlutowanie, wyżłobio-
ne kółko na obudowie mikrokontrolera musi
zgadzać się z tym na płytce drukowanej), a
kończymy wlutowaniem goldpinów i pod-
stawki pod moduł RFM. Do modułów RFM
lutujemy dostarczone razem z nimi ante-
ny. Po upewnieniu się, że wszystko zostało
zlutowane poprawnie, wgrywamy oprogra-
mowanie (można je ściągnąć z Elportalu)
do mikrokontrolera – jeśli jeszcze go tam
nie ma. Napięcie zasilające moduł powinno
być stabilizowane, w zakresie 2,7–5V – w
czasie programowania 5V.
Rysunek 8
poka-
zuje połączenie układu. Szczególną uwagę
zwracamy na poprawność zapro-
gramowania FuseBits, bez zapro-
gramowania których program na
pewno nie będzie działał popraw-
nie.
W wariancie z dwoma modu-
łami nie jest konieczne programo-
wanie pamięci EEPROM, w tym
przypadku w jednym z modułów
wystarczy zewrzeć pin 23 (ozna-
czanie P1 na PCB) procesora z
masą, nadając mu w ten sposób
funkcję master
. Jeśli zdecydu-
jemy się na wgranie ustawień do
pamięci EEPROM, uzyskamy
możliwość zdefiniowania sta-
tycznej tablicy routingu, fizycz-
nego i wirtualnego kanału pracy
oraz identyfikatora urządzenia.
Szczegóły dotyczące zawar-
tości pamięci EEPROM były
Rys. 8
54
Wrzesieñ 2010
Elektronika dla Wszystkich
podawane wcześniej. Zwarcie wcześniej oma-
wianego pinu z masą ma większy priorytet
niż zaprogramowane ID modułu w pamięci
EEPROM. Tak więc zalecane jest wypełnie-
nie obszaru tablicy routingu zerami, nawet
dla modułów typu slave. Razem z plikami
wsadowymi przygotowałem też obraz pamięci
EEPROM, ułatwiający stworzenie wymaga-
nych ustawień. Tablica routingu w module
typu slave (ID: 1–8) nie będzie normalnie uży-
wana, można ją jednak aktywować bez zmian
w pamięci EEPROM, zwierając wcześniej
omawiany pin do masy. Wtedy moduł stanie
się modułem master i zacznie używać tej
tablicy. Możliwość taka może być potrzebna
w przypadku awarii wcześniejszego modułu
master. Po zmianie ustawień pinu moduł nale-
ży zrestartować. Przypominam, że w sieci nie
mogą równocześnie pracować dwa moduły
typu master (na tych samych kanałach).
Sieci wirtualne to tylko dodatkowe zabez-
pieczanie przed przeniknięciem sygnału z
innej sieci w przypadku, gdy dwie sieci na
tym samym kanale fizycznym znajdą się z
jakichś przyczyn obok siebie. Wtedy żadna
sieć nie będzie działać. Jeśli spodziewamy się
natłoku sieci z tymi modułami, powinniśmy
zmienić domyślne ustawienia kanałów.
I tu bardzo ważna uwaga przy wkładaniu
transceiverów. Przynajmniej moje podstawki
pod transceiver były słabej jakości, co skutko-
wało spadkiem napięcia uniemożliwiającym
poprawną pracę transceivera. Poszukiwania
ewentualnej przyczyny niedziałania należy
rozpocząć od sprawdzenia napięcia na sty-
kach zasilania transceivera (trzeba dokładnie
zmierzyć napięcie na płytce transceivera
Wykaz elementów
, w
miejscu wlutowania goldpinów, pin pierwszy
i ostatni od strony układu scalonego), powin-
no ono być równe napięciu zasilania układu.
Zazwyczaj dociśnięcie pomaga. Oczywiście
transceiver wkładamy tak, aby pokrywał się
z płytką drukowaną, a nie wystawał poza
nią. UWAGA! Wlutowanie transceivera bez
podstawki uniemożliwi późniejsze zmiany
pamięci EEPROM.
Maksymalny prąd, jaki może być pobie-
rany z wyjścia modułu nie może przekroczyć
5mA. Na wyjściach nie powinny pojawiać się
„obce” napięcia wymuszające przepływ prądu.
W przypadku sterowania np. oświetleniem
należy we własnym zakresie dodać matry-
cę tranzystorów (ULN2803A) wzmacniającą
prąd oraz przekaźniki lub tyrystory (nie są to
skomplikowane obwody). Do wejść modułu
nie doprowadzać „obcych” napięć. Wejścia są
podciągnięte do plusa zasilania, w takim przy-
padku ich stan jest nieaktywny i odpowiada
stanu niskiemu na wyjściu. Do wejść można
bezpośrednio dołączyć przyciski, pod warun-
R1,R2 . . . . . . . . . . . . . . . . . . . . . . . 10k
Ω
/SMD/0805
C1 . . . . . . . . . . . . . . . . . . . . . . . . . . 10μF/SMD/1206
C2-C4 . . . . . . . . . . . . . . . . . . . . . . .100nF/SMD/0805
D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SM5818M
US1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ATmega8L
M1. . . . . . . . . . . . . . . . . . . . . . . . . . . . RFM12-433-D
CON1,CON2 . . . . . . . . . . . . . . . . . . . . . . goldpin 1x8
CON3,CON4 . . . . . . . . . . . . . . . . . . . . . . goldpin 1x2
Dwurzędowe gniazdo pod małe goldpiny
Komplet podzespołów z płytką jest dostęp ny
w sieci handlowej AVT jako kit szkolny AVT-2956.
kiem że są umieszczone nie dalej jak 20cm.
W przypadku większych odległości zalecane
jest stosowanie transoptorów, a w przypadku
prądu przemiennego zalecane jest stosowanie
transoptorów z dwoma diodami (np. PC814),
dodatkowo na wejściu modułu wykorzystać
filtr tłumiący tętnienia.
Jeszcze raz przypomi-
nam (dla wystraszonych), że moduły mogą
pracować bez jakiejkolwiek ingerencji w
pamięć EEPROM procesora
.
Ustawiając moduły, należy pamiętać, że
największy zasięg uzyskamy, ustawiając ante-
ny w tej samej polaryzacji, czyli równolegle
do siebie w obu płaszczyznach.
Szymon Janek
R E K L A M A
Elektronika dla Wszystkich Wrzesieñ 2010
Wrzesieñ 2010
55
[ Pobierz całość w formacie PDF ]