Dwa wyłączniki krańcowe na jednym wejściu

Apetyt rośnie w miarę jedzenia. To powiedzonko sprawdziło się w kwestii mikrokontrolera Arduino, którego posiadam w wersji „nano”, osadzonego na tzw. „shield’zie” dedykowanym do pracy z trzema silnikami krokowymi. Choć „nano” obsługuje 14 wejść/wyjść cyfrowych i 8 wejść analogowych, to jednak większość jest już zajęta przez system (TX/RX i dioda), przez sterowniki silników krokowych, kontroler Nintendo (tak, porzuciłem joystick i wróciłem do kontrolera) i magistralę I²C, której użycie przewiduję dla potrzeb wyświetlacza LCD i różnych dodatków, jak np. GPS. Niektóre sensory, jak np. czujnik temperatury, pracują w oparciu o „one wire”, więc dla nich również należy przewidzieć osobne wejścia. Pomyślałem, że to dobry moment, żeby wymienić Arduino „nano” na „mega”, musiałem jednak szybko podłączyć do systemu wyłączniki krańcowe, więc zdecydowałem się na ich obsługę za pomocą jednego wejścia analogowego.

Aby wykryć dwa stany wzajemnie wykluczające się (dwa przeciwległe wyłączniki krańcowe) na jednym wejściu analogowym, należy zapewnić ich zdecydowaną rozróżnialność. Załóżmy, że brak sygnału to 0V, napięcie odniesienia to +5V, a wymagane rozróżnialne wartości to 1/3 i 2/3 tego zakresu. Do wykonania tego niezwykle prostego układu konieczne są dwa wyłączniki krańcowe, trochę kabelków i 3 rezystory: 5kΩ, 10kΩ, 20kΩ. Cały urok w tym, żeby utworzyć dwa różne dzielniki napięcia, jak na rysunku poniżej:

20171016_003337.jpg

Jak widać, kiedy zwarty jest stycznik W1, stosunek rezystancji w tak powstałym dzielniku jest równy 20kΩ/10kΩ, czyli 2/1, a zatem na wejściu analogowym pojawi się 1/3 napięcia odniesienia. W przypadku stycznika W2 stosunek ten będzie wynosił 5kΩ/10kΩ, czyli 1/2, co spowoduje pojawienie się na wejściu 2/3 napięcia odniesienia. Resztę stanowi bardzo prosta obsługa odczytu napięcia i przełożenie tego na „stosowny warunek” w programie 🙂

Zgodnie z założeniem, „krańcówki” działają bezbłędnie. Jednakże życie pokazało niebawem, że nie jest to rozwiązanie pozbawione wad. Ale o tym przy okazji opisu kolejnej „dużej” modyfikacji – wyposażenia OTA w napęd wyciągu okularowego.

Reklamy