- jednostronne, bezprzewodowe łącze radiowe o zasięgu kilkudziesięciu metrów,
- wejście układu: mechaniczny potencjometr poruszany ręcznie,
- wyjście układu: podwójny potencjometr cyfrowy typu AD5207,
- możliwość ustawienia reakcji układu na poziom minimalny potencjometru w nadajniku,
- diody LED sygnalizujące stan pracy układu,
- liniowa charakterystyka regulacji, z możliwością zmodyfikowania do logarytmicznej,
- zasilanie napięciem stałym 7…20 V lub stabilizowanym 3,3 V.
Pomimo dążeń cyfrowego świata do oswajania nas z wirtualnymi przyciskami, paskami lub innymi zero-jedynkowymi manipulatorami, ludzie nadal chętnie używają zwykłych, ręcznie obracanych regulatorów. Ta płynność ruchu i charakterystyczny, lekki opór przy obracaniu dają swego rodzaju poczucie sprawczości, co niekoniecznie ma miejsce przy użyciu nawet najwymyślniejszych, wygenerowanych na wyświetlaczu ikonek. Jednocześnie potencjometry bardzo trudno sterować w sposób zdalny, a możliwość manipulowania potencjometrem bez potrzeby bycia bezpośrednio przy nim, daje wiele interesujących możliwości. Pewnym rozwiązaniem w takiej sytuacji może być zaprezentowany układ, który pobiera z mechanicznego potencjometru informację o położeniu, przesyła ją do urządzenia odbiorczego, a tam jest ona zamieniana na jedną z 256 pozycji podwójnego potencjometru cyfrowego. Użytkownik ma do dyspozycji lubiane przez siebie mechaniczne pokrętło, które może znajdować się z dala od sterowanego urządzenia. Tę ideę obrazuje rysunek 1.
Budowa
Schemat ideowy modułu nadajnika został pokazany na rysunku 2. Znajduje się tam mały i popularny mikrokontroler ATtiny24A, którego głównym zadaniem w tym układzie jest cykliczne odczytywanie położenia ślizgacza potencjometru P1, odpowiednie kodowanie tej informacji i wysłanie jej drogą radiową.
Do transmisji służy gotowy moduł transceivera radiowego typu RFM12B firmy HopeRF. Pracuje on na częstotliwości nośnej 868 MHz, która leży w tak zwanym paśmie ISM, w którym nadawanie z określoną mocą nie wymaga odpowiedniego zezwolenia. Jego zasilanie powinno odbywać się napięciem stałym, dobrze stabilizowanym, o wartości 3,3 V. Dla uproszczenia komunikacji między mikrokontrolerem a tym modułem, oba komponenty są zasilane napięciem o takiej samej wartości.
Komunikacja z modułem RFM12B odbywa się poprzez magistralę SPI. Ale te same linie mikrokontrolera są używane do jego programowania w systemie (ISP), co może rodzić konflikty sygnałów podczas programowania. Dlatego rezystor R1 podciąga linię odpowiedzialną za uaktywnienie interfejsu ISP w RFM12B do dodatniego potencjału zasilania, co dezaktywuje go w momencie, kiedy ATtiny24 jest w stanie zerowania. Mikrokontroler obniża ten potencjał do zera w momencie wymiany danych z modułem radiowym. Złącze J1 służy do zaprogramowania bitów zabezpieczających oraz pamięci Flash mikrokontrolera wlutowanego w płytkę.
Kąt obrotu osi potencjometru P1 jest odczytywany przez przetwornik analogowo-cyfrowy, wbudowany w mikrokontroler. P1 jest włączony jako dzielnik napięcia zasilającego, ADC ma to samo napięcie jako swoją wartość referencyjną, zatem na wyjściu przetwornika pojawia się liczba proporcjonalna do pozycji ślizgacza P1, niezależnie od dokładnej wartości napięcia zasilania. Prosty filtr RC zmniejsza skuteczne napięcie szumów na wejściu przetwornika, choć program w mikrokontrolerze i tak wykonuje uśrednienie czterech pomiarów z rzędu.
Zasilanie dla układu należy podłączyć do złącza J2, wbudowany stabilizator obniży je do odpowiedniej wartości. Jeżeli do dyspozycji jest stabilizowane napięcie 3,3 V można użyć go bezpośrednio, z pominięciem stabilizatora liniowego US3.
Schemat ideowy odbiornika (rysunek 3) jest w znacznej mierze zgodny ze schematem nadajnika, lecz nie zawiera potencjometru P1. Zamiast niego, na płytce znalazł się układ typu AD5207, którego schemat blokowy można zobaczyć na rysunku 4. To dwukanałowy, 256-pozycyjny potencjometr cyfrowy. Żądane nastawy są wpisywane do szeregowych rejestrów przesuwnych – w tej aplikacji takie same dla obu kanałów, bo są one sterowane współbieżnie. Odczep A jest zwierany ze ślizgaczem (W) w najwyższym położeniu, a B z W w najniższym.
W prototypie użyto układu AD5207BRUZ100, którego rezystancja ścieżki wynosi 100 kΩ, ale są też dostępne wersje o rezystancji 10 kΩ i 50 kΩ. Wszystkie one mają wejście wyłączające (SHDN), którym można zrealizować całkowite odłączenie źródła sygnału (co zostanie opisane w dalszej części). Układ ten również komunikuje się poprzez SPI, więc jeden mikrokontroler ma do obsłużenia trzy różne peryferia na tym samym interfejsie – moduł radiowy, potencjometr półprzewodnikowy oraz programator ISP. Dlatego linia CS układu US4 również jest podciągnięcia do dodatniego potencjału zasilania – z tego samego powodu, co w module radiowym.
Odbiornik aktualizuje stan potencjometru cyfrowego po każdym poprawnym odbiorze, a pomiędzy nimi lub przy braku poprawnego odbioru – utrzymuje ostatnio zaktualizowany stan. Zworką JP1 na płytce odbiornika można wybrać sposób reakcji układu na obrócenie osi potencjometru na minimum:
- JP1 nałożona: zacisk A jest odłączany, między zaciskami W i B jest najniższa możliwa rezystancja;
- JP1 zdjęta: zacisk A jest stale podłączony, między zaciskami W i B jest najniższa możliwa rezystancja.
Pierwszy wariant pozwala na zrealizowanie opcji pełnego wyciszenia źródła sygnału, ponieważ potencjometry cyfrowe posiadają relatywnie wysoką rezystancję przy maksymalnym tłumieniu – w przypadku AD5207 jest to około 45 Ω. Odłączenie źródła sygnału pozwoli całkowicie stłumić sygnał przechodzący przez potencjometr.
Montaż i uruchomienie
Układ został zmontowany na dwóch dwustronnych płytkach drukowanych o wymiarach 70×20 mm (nadajnik) i 75×30 mm (odbiornik). Ich schematy zostały pokazane na rysunkach 5 i 6.
W odległości 3 mm od krawędzi płytek znalazły się otwory montażowe, każdy o średnicy 3,2 mm.
Montaż obu płytek proponuje rozpocząć od elementów lutowanych powierzchniowo, a dopiero na końcu przejść do złącz i kondensatorów elektrolitycznych. Zmontowane płytki zostały pokazane na fotografii 1. W ramach czynności uruchomieniowych należy ustawić bity zabezpieczające mikrokontrolera ATtiny24A, takie same wartości dla obu płytek:
Low Fuse = 0xE2
High Fuse = 0xDE
Spowoduje to wyłączenie wbudowanego dzielnika częstotliwości sygnału zegarowego przez 8 oraz uruchomienie obwodu Brown-Out Detector, który będzie monitorował napięcie zasilające mikrokontroler i wyłączy go, jeżeli napięcie zasilania spadnie poniżej 1,8 V. Szczegóły znajdują się na rysunku 7. Trzeba również zaprogramować pamięć Flash dostarczonymi wsadami w postaci plików heksadecymalnych. Można to zrobić przy użyciu 5-pinowych złącz goldpin na płytkach, na które są wyprowadzone sygnały AVR ISP.
Zasilanie układu powinno odbywać się napięciem stałym. Są tutaj możliwe dwa warianty. Pierwszy zakłada użycie napięcia niestabilizowanego 7…20 V (dolna granica wynika z dropoutu stabilizatora US1, górna z wydzielanej na nim mocy), które podłącza się do zacisków złącza J1. Druga opcja polega na wylutowaniu stabilizatora US1, zwarciu pól lutowniczych SJ1 przy użyciu dużej kropli spoiwa lutowniczego i zasilenie płytki napięciem stabilizowanym 3,3 V. Pobór prądu przez nadajnik wynosi około 30 mA, a przez odbiornik około 10 mA.
Moduły do pracy wymagają anten radiowych. Można użyć specjalistycznych rozwiązań przeznaczonych do pracy w paśmie 868 MHz, a może to być odcinek izolowanego przewodu. Jego długość powinna być dobrana do pożądanej długości fali, na przykład dla dopasowania na połowę długości fali powinien mieć około 17 cm.
Potencjometr P1 nie musi być jednoobrotowy, można z równie dobrym skutkiem użyć suwakowego albo wieloobrotowego. Pola lutownicze pod potencjometr (na płytce nadajnika) zostały tak dobrane, że pasują pod listwę zaciskową ARK3/500, do której można potem wygodnie przykręcić przewody łączące płytkę z potencjometrem, jeżeli ma się on znajdować poza jej obrysem.
Prawidłowo zmontowane i zaprogramowane układy są od razu gotowe do działania. Jeżeli na danym obszarze miałyby pracować dwa, trzy lub cztery takie komplety, można nadać im adresy poprzez zwarcie kroplą spoiwa lutowniczego pól lutowniczych SJ2 i/lub SJ3. Ważne, aby nadajnik i współpracujący z nim odbiornik miały te same adresy. Możliwości są cztery: obie zworki rozwarte, zwarta jedna z nich lub zwarte obie.
Podłączony do zasilania nadajnik zaczyna cyklicznie wysyłać do odbiornika informację o położeniu ślizgacza potencjometru. Sygnalizuje swoją pracę szybkimi mignięciami diody LED. Poprawny odbiór pakietu danych jest sygnalizowany przez odbiornik dłuższym mignięciem diody (250 ms), a brak komunikacji lub odbiór nieprawidłowy krótszym (20 ms). W ten sposób można zdiagnozować miejsce potencjalnego wystąpienia trudności w komunikacji między modułami.
Układ umożliwia liniową regulację tłumienia przez potencjometr cyfrowy, lecz w niektórych zastosowaniach wymagana jest inna charakterystyka, chociażby logarytmiczna. Można z dobrym przybliżeniem zrealizować taką charakterystykę poprzez włączenie między zaciski W i B w potencjometrze cyfrowym rezystora stałego. Jego wartość można ustalić doświadczalnie, ale moje testy wykazały, że jego rezystancja powinna wynosić 20…25% całkowitej rezystancji ścieżki potencjometru liniowego. Oznacza to, że układ AD5207BRUZ100 (100 kΩ) wymagałby rezystora o wartości z przedziału 20…25 kΩ.
Michał Kurzela, EP
- R1: 100 kΩ SMD0805
- R2: 10 kΩ SMD0805
- R3: 330 Ω SMD0805
- P1: 10 kΩ liniowy, jednoobrotowy, do obudowy (opis w tekście)
- C1, C5, C7, C8: 100 nF SMD0805
- C2, C9: 10 μF 16 V SMD0805
- C3: 10 nF SMD0805
- C4: 47 pF SMD0805
- C6: 100 μF 25 V raster 2,5 mm
- LED1: czerwona (SMD0805)
- US1: ATtiny24A (SO14)
- US2: RFM12B 868MHz SMD
- US3: 78L33 (SOT89)
- J1: goldpin 5 pin męski 2,54 mm THT
- J2: ARK2/500
- Antena (opis w tekście)
- R1, R3, R4: 100 kΩ SMD0805
- R2: 330 Ω SMD0805
- C1, C6, C7, C9: 100 nF SMD0805
- C2, C8, C10: 10 μF 16 V SMD0805
- C3: 10 nF SMD0805
- C4: 47 pF SMD0805
- C5: 100 μF 25 V raster 2,5 mm
- LED1: czerwona SMD0805
- US1: ATtiny24A (SO14)
- US2: RFM12B 868MHz SMD
- US3: 78L33 (SOT89)
- US4: AD5207BRUZ100 (TSSOP14) (opis w tekście)
- J1: goldpin 5 pin męski 2,54 mm THT
- J2: ARK2/500
- J3, J4: ARK3/500
- Antena (opis w tekście)