Elastyczne obwody czujników pozwalają wykrywać zgięcie, nacisk i zmianę położenia tam, gdzie zwykły, sztywny czujnik byłby niepraktyczny. Typowy przykład to drzwi lub klapka: po zamocowaniu czujnika w miejscu zginania można wykryć, czy element został otwarty, zamknięty albo odkształcony.
Drugim częstym scenariuszem jest pomiar kąta ugięcia części urządzenia. Czujnik flex przyklejony do ruchomego elementu zmienia parametry elektryczne wraz ze zgięciem, dzięki czemu mikrokontroler może odczytać stan mechaniczny jako wartość analogową.
Brzmi prosto, ale przed podłączeniem czujnika do Arduino warto zrozumieć, jak zachowuje się taki element i czego nie należy od niego oczekiwać.
W tym artykule wyjaśniamy, czym jest czujnik flex, jakie są jego główne odmiany, jak działa podstawowy dzielnik napięcia i jak wykorzystać odczyt z czujnika w prostym układzie z Arduino.
Przejdźmy po kolei.
Najpierw uporządkujmy sam element pomiarowy.
Elastyczne obwody czujników - co to jest czujnik flex?
Czujnik flex to prosty i niedrogi element służący do wykrywania zgięcia. Najczęściej ma postać cienkiej, elastycznej taśmy z dwiema końcówkami, którą można przykleić do części pracującej mechanicznie.
Można go traktować jak rezystor zależny od ugięcia: w stanie prostym ma określoną rezystancję, a po wygięciu w zalecanym kierunku rezystancja rośnie. Mikrokontroler nie mierzy samego kąta bezpośrednio, tylko zmianę napięcia lub rezystancji, którą później przelicza się w programie.
Typowy czujnik flex nie ma polaryzacji. Nie ma więc wyprowadzenia dodatniego ani ujemnego: jedną końcówkę można podłączyć do zasilania, a drugą do rezystora tworzącego dzielnik napięcia. Kierunek montażu mechanicznego jest jednak ważny, bo czujnik należy zginać stroną aktywną zgodnie z zaleceniami producenta.
Oto przykładowe parametry popularnych rezystancyjnych czujników flex stosowanych w prototypach:
| Typ czujnika | Rezystancyjny czujnik flex |
|---|---|
| Rezystancja w stanie prostym | około 25 kOhm |
| Temperatura robocza | zwykle około -35 stopni Celsjusza do +80 stopni Celsjusza |
| Rezystancja przy zgięciu | typowo od około 45 kOhm do 125 kOhm, zależnie od promienia i kąta zgięcia |
| Zasada działania | zmiana rezystancji warstwy przewodzącej podczas zginania |
| Moc znamionowa | około 0,5 W ciągle, do 1 W chwilowo |
| Tolerancja rezystancji | często około +/-30% |
| Napięcie pracy | typowo w układach niskonapięciowych, np. 0-5 V |
Czujniki flex są dostępne m.in. w długościach 2,2 cala i 4,5 cala, czyli około 5,6 cm oraz 11,4 cm. Dobór długości zależy od miejsca montażu i promienia zgięcia: zbyt krótki czujnik łatwo przeciążyć mechanicznie.
Elastyczne obwody czujników - struktura czujnika flex
W najpopularniejszej wersji czujnik składa się z elastycznego podłoża, ścieżek elektrod oraz warstwy z materiału przewodzącego. Podczas zginania zmienia się geometria tej warstwy, a wraz z nią rezystancja widziana między wyprowadzeniami. Dzięki temu czujnik działa jak prosty element pomiarowy dla układów analogowych.
Jak korzystać z czujnika Flex
Czujnik flex należy wyginać tylko w kierunku przewidzianym przez producenta i nie wolno go ostro załamywać przy samych wyprowadzeniach. To najbardziej delikatna część elementu. W praktyce czujnik powinien pracować na łagodnym promieniu, najlepiej przyklejony do powierzchni, która ogranicza punktowe naprężenia.
Elastyczne obwody czujników - typy czujników zginania
Skoro wiadomo już, czym jest podstawowy czujnik flex, warto rozróżnić kilka technologii stosowanych do pomiaru zgięcia i odkształcenia.
Światłowodowy czujnik zginania

Światłowodowy czujnik zginania
Światłowodowy czujnik zginania wykorzystuje zmianę parametrów światła prowadzonego przez włókno. Takie rozwiązania stosuje się nie tylko do pomiaru zgięcia, ale także do wykrywania odkształceń, przemieszczeń, ciśnienia czy drgań.
Zaletą światłowodu jest odporność na zakłócenia elektromagnetyczne. Dlatego takie czujniki dobrze sprawdzają się w środowiskach, w których klasyczne pomiary elektryczne byłyby trudne lub zbyt podatne na zakłócenia.
W zależności od konstrukcji pomiar może opierać się na zmianie tłumienia światła albo na strukturach takich jak siatki Bragga. Zmiana sygnału optycznego trafia do detektora, który przelicza ją na wielkość mierzoną.
Elastyczne obwody czujników - czujnik Velostat Flex

Czujnik Velostat Flex
Velostat to przewodząca folia polimerowa, której rezystancja zmienia się pod wpływem nacisku. W czujnikach elastycznych można wykorzystać ją jako warstwę reagującą na docisk powstający podczas zginania.
Typowy układ z Velostatem umieszcza folię między warstwami elastycznego materiału i elektrodami. Sam materiał nie mierzy kąta tak bezpośrednio jak klasyczny czujnik flex, ale dobrze wykrywa nacisk i może być użyty w projektach miękkiej elektroniki, rękawicach sterujących czy prostych panelach dotykowych.
Elastyczne czujniki oparte na przewodzącym tuszu
To najczęściej spotykana grupa czujników flex w projektach hobbystycznych i prototypowych. Warstwa przewodząca jest wykonana z tuszu lub pasty rezystywnej naniesionej na elastyczne podłoże.
Większość takich czujników jest przeznaczona do zginania w jednym kierunku. Zginanie w stronę przeciwną może dawać mało powtarzalny odczyt, a przy zbyt małym promieniu grozi trwałym uszkodzeniem warstwy przewodzącej lub wyprowadzeń.
Elastyczne obwody czujników - pojemnościowe czujniki zginania

Pojemnościowe czujniki zginania
Pojemnościowy czujnik zginania wykorzystuje dwie elastyczne elektrody rozdzielone dielektrykiem. Gdy element się wygina, zmienia się odległość lub wzajemne położenie elektrod, a więc również pojemność elektryczna.
Takie czujniki są przydatne tam, gdzie potrzebna jest miękka, cienka i powtarzalna struktura pomiarowa, np. w rękawicach do śledzenia ruchu dłoni, interfejsach ubieralnych albo elementach robotyki miękkiej. Wymagają jednak układu odczytowego mierzącego pojemność, a nie zwykłego dzielnika rezystancyjnego.
Elastyczne obwody czujników - jak działają czujniki Flex?
Rezystancyjny czujnik flex działa najprościej: podczas zginania taśmy zmienia się rezystancja między jego końcówkami. Arduino lub inny mikrokontroler nie mierzy tej rezystancji bezpośrednio, dlatego czujnik łączy się zwykle z rezystorem stałym w dzielnik napięcia.
Wartości nie są idealnie liniowe i zależą od konkretnego modelu, sposobu montażu oraz promienia zgięcia. W praktyce odczyt trzeba skalibrować: osobno zapisać wartość dla pozycji prostej i osobno dla maksymalnego użytecznego zgięcia w danym urządzeniu.
Im większe zgięcie w zalecanym kierunku, tym zwykle większa rezystancja czujnika. Sam odczyt analogowy może jednak rosnąć albo maleć, zależnie od tego, po której stronie dzielnika umieścimy czujnik.
Podstawowy elastyczny obwód czujnika

Podstawowy elastyczny obwód czujnika
Do odczytu czujnika flex najczęściej wystarcza dzielnik napięcia. Jeden koniec czujnika podłącza się do zasilania, drugi do wejścia analogowego oraz do rezystora stałego, np. 47 kOhm, połączonego z masą. Wartość rezystora dobiera się do zakresu rezystancji czujnika, aby uzyskać użyteczny zakres napięcia na wejściu ADC.
Punkt wspólny czujnika i rezystora należy podłączyć do wejścia analogowego Arduino, np. A0. Dzięki temu przetwornik ADC odczyta napięcie zależne od zgięcia czujnika.
Dla konfiguracji, w której czujnik jest od strony zasilania, a rezystor stały od strony masy, napięcie na wejściu można opisać równaniem:
Vo = Vcc x R / (R + RFlex)
Gdy rezystancja czujnika rośnie, napięcie w tej konfiguracji maleje. Dla Arduino UNO bezpiecznie przyjąć zasilanie 5 V. Jeśli rezystor stały ma 47 kOhm, a czujnik w danym położeniu ma około 26 kOhm, obliczenie wygląda następująco:
Przykładowo:
VO = 5 V x 47 kOhm / (47 kOhm + 26 kOhm)
= około 3,22 V.
Elastyczne obwody czujników - jak podłączyć czujnik flex do Arduino?
Najprostsze połączenie z Arduino polega na zbudowaniu dzielnika napięcia z czujnika flex i rezystora stałego. Czujnik można podłączyć do 5 V, rezystor do masy, a punkt między nimi do wejścia analogowego A0. Jeśli odczyt ma zmieniać się w przeciwną stronę, wystarczy zamienić miejscami czujnik i rezystor.
Warto pamiętać, że wejście analogowe Arduino mierzy napięcie względem masy i nie powinno otrzymywać napięcia wyższego niż napięcie zasilania płytki. Dla klasycznego Arduino UNO oznacza to zwykle zakres 0-5 V.
Jak połączyć czujnik Flex z interfejsem Arduino
Materiały potrzebne do prostego testu czujnika flex z Arduino:
Dioda LED
Płytka stykowa
Rezystory: około 10 kOhm lub 47 kOhm do dzielnika oraz 220 Ohm do diody LED
Czujnik flex
Arduino UNO
Kroki
Krok 1 - schemat obwodu odniesienia
Na płytce stykowej zbuduj dzielnik napięcia: czujnik flex połącz z zasilaniem, rezystor stały z masą, a punkt wspólny z wejściem A0. Diodę LED podłącz do wyjścia PWM przez rezystor 220 Ohm, jeśli chcesz, aby jasność diody zależała od zgięcia czujnika.
Krok drugi - użyj kodu
Typowy czujnik flex nie wykorzysta pełnego zakresu ADC 0-1023, dlatego najpierw trzeba sprawdzić rzeczywiste wartości w monitorze szeregowym. W jednym układzie może to być np. 700-900, w innym 300-650. Te wartości należy wpisać do funkcji map() jako zakres kalibracji.
Logika programu jest prosta:
-> Value = analogRead(FlexPin)
-> Value = map(Value, 700, 900, 0, 255)
-> analogWrite(LEDPin, Value)
Po wgraniu programu do Arduino otwórz monitor szeregowy i obserwuj odczyty dla czujnika prostego oraz zgiętego. Jeżeli dioda działa odwrotnie niż oczekujesz, zamień kolejność wartości w map() albo odwróć wynik programowo.

Następnie dopasuj progi w kodzie do swojego egzemplarza czujnika. To normalne, że dwa czujniki tego samego typu dają różne wartości, zwłaszcza jeśli są zamocowane pod innym kątem lub pracują na innym promieniu zgięcia.
Elastyczne obwody czujników - sterowanie serwem za pomocą Arduino i czujnika flex
Sterowanie serwem jest naturalnym rozszerzeniem poprzedniego ćwiczenia. Zamiast sterować jasnością diody, odczyt z czujnika flex można przeliczyć na kąt zadany dla serwomechanizmu.
Schemat wejścia analogowego pozostaje taki sam jak wcześniej. Różnica polega na tym, że przewód sygnałowy serwa podłącza się do wyjścia cyfrowego obsługiwanego przez bibliotekę Servo, a zasilanie serwa należy dobrać do jego prądu. Większych serw nie powinno się zasilać bezpośrednio z pinu 5 V Arduino.
W programie odczyt analogowy z A0 mapuje się na zakres kątów, np. 0-180 stopni. Po kalibracji zgięcie czujnika może więc płynnie sterować położeniem ramienia serwa.


Zastosowania elastycznych czujników
Elastyczne czujniki sprawdzają się wszędzie tam, gdzie trzeba wykryć ruch, ugięcie lub zmianę kąta bez stosowania dużego enkodera mechanicznego. Można je produkować w różnych długościach i kształtach, dlatego łatwo dopasować je do prototypów elektroniki ubieralnej, robotyki i interfejsów człowiek-maszyna.
Typowe zastosowania obejmują:
Sprzęt treningowy i rehabilitacyjny
Kontrolę przemysłową
Pomiar przemieszczenia kątowego
Urządzenia peryferyjne komputerów
Instrumenty muzyczne i kontrolery MIDI
Robotykę
Elektronikę samochodową
Sterowanie ruchem
Urządzenia medyczne
Terapie i rehabilitację ruchową
Interfejsy rzeczywistości wirtualnej
Podsumowanie
Elastyczne obwody czujników są praktycznym rozwiązaniem w aplikacjach, które wymagają wykrywania zgięcia, ruchu lub kąta. Najprostszy czujnik flex działa jak rezystor zależny od ugięcia, ale w projektach spotyka się też czujniki światłowodowe, pojemnościowe oraz konstrukcje oparte na materiałach naciskowych, takich jak Velostat.
Jeżeli projektujesz elektronikę z czujnikami elastycznymi i potrzebujesz wsparcia w przygotowaniu PCB, doborze technologii albo montażu prototypu, OurPCB może pomóc na etapie produkcji i montażu. Prześlij pliki projektu; nasza obietnica to wycena w 12 godzin roboczych.