Bezpłatna biblioteka techniczna ENCYKLOPEDIA RADIOELEKTRONIKI I INŻYNIERII ELEKTRYCZNEJ Dialer z płaskim kablem. Encyklopedia elektroniki radiowej i elektrotechniki Encyklopedia radioelektroniki i elektrotechniki / Technologia pomiarowa Pierwszym pomysłem, jaki przyszedł mi do głowy, było wykonanie prostego „dialera”: każdy pin złącza zainstalowanego na jednym końcu kabla połączyć przez rezystor 330...510 Ohm ze źródłem napięcia 5 V, a z drugiej - z diodą LED. Niestety w ten sposób sprawdzana jest tylko integralność przewodów. Możesz nie zauważyć, że sąsiednie przewody są ze sobą połączone.
Postanowiono skomplikować algorytm weryfikacji i wykonać urządzenie na mikrokontrolerze. Na ryc. 1 przedstawia schemat takiego urządzenia. Wykorzystuje mikrokontroler ATtiny13, który był pod ręką. Można go zastąpić innym, ale w tym celu konieczne może być lekkie przerobienie urządzenia. Na przykład w mikrokontrolerach ATtiny 1, ATtiny 12, ATtiny15L linia PB5 nie może pracować jako wyjście, będzie musiała być skonfigurowana jako wejście, a linia PB4 lub PB13 jako wyjście sygnału wygaszania wskaźnika. Oprócz mikrokontrolera zajęły tylko dwa rejestry przesuwne, tranzystor i dwie liniowe skale LED pokazujące kod błędu. Przyjrzyjmy się bliżej funkcjom portu I/O mikrokontrolera ATtiny5. Jego linie POY-PB0 mogą przesyłać sygnały w obu kierunkach. Każdy z nich jest konfigurowany oddzielnie za pomocą rejestru DDRB. Na przykład, jeśli trzy najmniej znaczące bity DDRB[2]-DDRB[2] są zapisane jako jedynki, a pozostałe bity są zerami, wówczas linie PBO-PB5 staną się wyjściami, a linie PBXNUMX-PBXNUMX staną się wejściami . Istnieją jeszcze dwa rejestry do kontroli portów - PINB i PORTB. Pierwszy z nich służy do wprowadzania informacji do mikrokontrolera. W jego cyfrach aktualne, aktualnie obowiązujące logiczne poziomy napięć na wyjściach mikrokontrolera są wyświetlane jako jedynki i zera. Nie ma znaczenia, czy to napięcie pochodziło z zewnętrznego źródła, czy z bufora wyjściowego samego mikroukładu. Rejestr PORTB służy do wyprowadzania informacji z mikrokontrolera. Jeśli linia portu jest skonfigurowana jako wyjście, zostanie ustawiona na poziom napięcia podobny do wartości zapisanej w odpowiednim bicie tego rejestru. Ponieważ omawiany mikrokontroler ma tylko sześć linii I/O, a trzeba sprawdzić kable do 14-żyłowe, a nawet wyświetlić wyniki testu na wskaźniku, musiałem go uzupełnić o dwa mikroukłady - rejestry przesuwne. Taki rejestr to zestaw przerzutników typu D-flip, z których wyjście każdego z nich jest połączone z wejściem następnego. Głównym celem jest konwersja kodu szeregowego na równoległy. Gdy niski poziom napięcia na wejściu zegara C zmieni się na wysoki, informacja przechowywana w rejestrze jest przesuwana o jeden bit (D-flip-flop) w kierunku starszego, a stan wejścia informacyjnego jest wpisywany do zwolniony niski bit. Zastosowany układ rejestru przesuwnego 74LS164 ma dwa wejścia informacyjne D połączone z funkcją AND. Aby użyć tylko jednego z nich, do drugiego stosuje się stały wysoki poziom (+5 V). Aby zapisać siedmiobitowy kod binarny do rejestru przesuwnego (dokładnie to jest wymagane do działania urządzenia), należy najpierw włączyć rejestr, ustawiając wejście R na wysoki i wejście C na niski poziom, oraz zastosować wartość najbardziej znaczącego bitu (D6) kodu wyjściowego do informacji wejściowych . Następnie wygeneruj impuls zegarowy na wejściu C (ustaw wysoki, a potem znowu niski poziom). W rezultacie wartość bitu D6 zostanie zapisana do najmniej znaczącego bitu rejestru i wyprowadzona na jego wyjście 1 (pin 3). Następnie na wejście informacyjne podawana jest wartość bitu D5 i ponownie tworzony jest impuls zegarowy. Wartość D6 zostanie przeniesiona do następnego bitu rejestru i pojawi się na wyjściu 2 (pin 4). Wartość D5 będzie wyprowadzana na wyjście 1. Każdy nowy impuls zegarowy przesuwa kod w rejestrze o jeszcze jeden bit, a po siódmym impulsie zajmie należne mu miejsce: na wyjściu 1 - DO, na wyjściu 7 (pin 12 ) — D6. Schematy czasowe na ryc. 2 ilustrują, w jaki sposób rejestr przesuwny przekształca kod szeregowy 1011001 na ten sam kod równoległy.
Aby zwiększyć pojemność rejestru przesuwnego do 14 (maksymalna liczba żył w kablu), dwa 74-bitowe rejestry 164HC1 (DD2 i DD14) są połączone szeregowo, każdy z nich siedmiobitowym. Pełna konwersja kodu zajmuje XNUMX impulsów zegarowych. Przy opracowywaniu układu i programu urządzenia przyjęto następujący rozkład linii portów mikrokontrolera ze względu na realizowane funkcje: PBO - wyjście taktowania rejestru przesuwnego;
W zależności od ilości żył w badanym kablu są one podłączane do 14-pinowych złącz XP1 i XP10 lub 2-pinowych XP4 i XP1. Wskaźniki HL2 i HL1 podłączone są do tych samych wyjść rejestrów przesuwnych, co przewody badanych kabli. Aby nie dopuścić do migotania wskaźników, należy je wyłączać w czasie, gdy mikrokontroler przeprowadza procedurę weryfikacji, a włączać dopiero po wczytaniu do rejestrów kodu wyświetlającego jego wynik. Odbywa się to za pomocą tranzystora VTXNUMX, sterowanego sygnałem mikrokontrolera. Podczas sprawdzania kabla należy „zadzwonić” każdy z jego przewodów i upewnić się, że nie jest on podłączony do jednego z sąsiednich. W kablach płaskich nie ma innych wad. Procedura weryfikacji rozpoczyna się od zapisania jednostki do zewnętrznego rejestru przesuwnego. W rezultacie pierwszy pin złącza XP1 jest ustawiony na wysoki poziom. Jeśli przewód kabla podłączony do niego i do pierwszego styku złącza XRP jest dobry, to na wejście PB4 mikrokontrolera zostanie podane napięcie wysokiego poziomu, które na wejściu PB pozostanie niskie. Jeśli ten warunek zostanie spełniony, program zapisze 0 do najmniej znaczącego bitu zmiennej n_err, w przeciwnym razie zapisze 1. Następnie generowany jest kolejny impuls zegarowy i sprawdzany jest drugi przewód. Ponieważ jego liczba jest parzysta, wynik jest zapisywany w zmiennej ch_err. Aby sprawdzić wszystkie czternaście przewodów, procedurę powtarza się siedmiokrotnie, a przed sprawdzeniem następnej pary przewodów wartości zmiennych n_err i ch_err są przesunięte o jedną cyfrę binarną. Po zakończeniu kontroli uzyskane wartości zmiennych n_err i ch_err są ładowane do zewnętrznego rejestru przesuwnego i włączane są wskaźniki. Po przerwie test jest powtarzany. Sprawdzanie dziesięciożyłowego kabla podłączonego do złączy XP2 i XP4 jest podobne, ale na wskaźniku brak czterech przewodów (po dwa z każdej strony). W przypadku użycia wewnętrznego zegara mikrokontrolera 4,8 MHz, test kabla (przed włączeniem się wskaźnika) trwa około 70 µs i powtarza się z okresem około 240 µs. Dlatego wydaje się, że wskaźniki są zawsze włączone. Diody VD1-VD14 są potrzebne do odsprzęgnięcia wyjść rejestrów. Wygląd „dialera” zamontowanego na płytce stykowej pokazano na ryc. 3. Zespoły LED (wagi) GNA-R102510ZS-11 można zastąpić wymaganą liczbą pojedynczych diod LED; tranzystor KT3156 - dowolny z serii KT315, KT3102 lub inny tranzystor małej mocy o strukturze npn z dopuszczalnym prądem kolektora co najmniej 100 mA. Zamiast mikroukładów 74NS164 można zainstalować 74LS164 lub domowy K555IR8. Mikrokontroler ATtiny13-10PU można zastąpić ATtiny13-10PI, ATtiny13-20PU, ATtiny13-20PI. Program mikrokontrolera napisany jest w języku asemblerowym w środowisku AVR Studio. Jego kody do ładowania do pamięci programu mikrokontrolera podano w tabeli. 1. Konfiguracja mikrokontrolera musi odpowiadać podanej w tabeli. 2. Zerowa wartość bitu RSTDISBL jest niezbędna do działania pinu 1 mikrokontrolera jako linii portu, a nie jako wejścia sygnału konfiguracyjnego. To niestety sprawia, że mikrokontroler jest niedostępny do programowania przez interfejs SPI. Dlatego konieczne jest zastosowanie metody programowania „wysokiego napięcia”. Dostarcza go większość uniwersalnych programistów. Szybkość testu i częstotliwość powtarzania jego cykli można podwoić zwiększając częstotliwość taktowania mikrokontrolera z 4,8 do 9,6 MHz. W tym celu wystarczy ustawić wartość bitu konfiguracyjnego CKSEL1 na 1, a CKSEL0 na 0. Urządzenie nie wymaga regulacji i od razu po prawidłowym montażu jest gotowe do użycia. Program mikrokontrolera „dialer” można pobrać tutaj. Zobacz inne artykuły Sekcja Technologia pomiarowa. Czytaj i pisz przydatne komentarze do tego artykułu. Najnowsze wiadomości o nauce i technologii, nowa elektronika: Maszyna do przerzedzania kwiatów w ogrodach
02.05.2024 Zaawansowany mikroskop na podczerwień
02.05.2024 Pułapka powietrzna na owady
01.05.2024
Inne ciekawe wiadomości: ▪ Szczepionka na słodką malarię ▪ Xiaomi Inteligentne kocie oko 1S ▪ Odporność wpływa na psychikę Wiadomości o nauce i technologii, nowa elektronika
Ciekawe materiały z bezpłatnej biblioteki technicznej: ▪ sekcja serwisu Mikrokontrolery. Wybór artykułów ▪ artykuł Felicite-Robert de Lamennay. Słynne aforyzmy ▪ artykuł Jak porusza się ośmiornica? Szczegółowa odpowiedź ▪ artykuł Charlesa de Coulomba. Biografia naukowca
Zostaw swój komentarz do tego artykułu: Wszystkie języki tej strony Strona główna | biblioteka | Artykuły | Mapa stony | Recenzje witryn www.diagram.com.ua |