Spisu treści:

Ogólny porywacz przełącznika: 3 kroki
Ogólny porywacz przełącznika: 3 kroki

Wideo: Ogólny porywacz przełącznika: 3 kroki

Wideo: Ogólny porywacz przełącznika: 3 kroki
Wideo: Złomnik: Renault 21 to dwa auta w jednym 2024, Listopad
Anonim
Ogólny porywacz przełącznika
Ogólny porywacz przełącznika

W tym artykule opisano, jak zbudować mikrokontroler półprzewodnikowy, który steruje przełącznikami fizycznymi. Jest bardzo tani w wykonaniu (około 4 $), zakładając, że masz programator mikrokontrolera. Sam obwód ma trywialną złożoność.

Ten projekt jest bardzo prosty i nie zawiera żadnych oszałamiających nowych technik. Służyłby jako dobry pierwszy projekt mikrokontrolera. Kod źródłowy zestawu zostanie dostarczony w tym artykule. Mam w pracy naprawdę fajnego szefa. Czasami lubimy sobie nawzajem żartować. Na nieszczęście dla niego jestem naukowcem. Moim celem jest sprawienie, aby różne urządzenia w miejscu pracy włączały się tajemniczo na krótkie okresy czasu. Radia, hałaśliwe drukarki, nawet te irytujące muzyczne kartki urodzinowe ukryte w jakimś pospolitym przedmiocie. Poza tym projekt jest przykładem tego, jak sterować cięższymi obciążeniami za pomocą AVR, niż mogą sobie poradzić same piny wyjściowe. Jest to wiele różnych rzeczy, ponieważ piny wyjściowe dają tylko małe napięcie i bardzo ograniczony prąd. Ten obwód można by rozszerzyć za pomocą przekaźnika do kontroli niektórych bardzo ciężkich obciążeń.

Krok 1: Projekt i obwód

Projekt i obwód
Projekt i obwód

Do tego projektu można użyć prawie dowolnego mikrokontrolera, regulatora napięcia 5V i tranzystora NPN. Użyłem:

1x ATtiny26L-8PU (~2$) 1x TL780 5v regulator napięcia (~0,7$) 1x tranzystor N2222 (~0,07$) 1x bateria 9V lub bateria do pilota 12V, aby zaoszczędzić miejsce … i oczywiście mój zaufany STK500, teraz z ZIF dodano gniazda! Podstawowa konstrukcja jest następująca: mikrokontroler przechodzi przez dwie pętle czasowe. Długa pętla do określania, kiedy włączyć urządzenie i krótka pętla do określania, jak długo urządzenie ma być włączone. Gdy nadejdzie czas, aby spowodować kłopoty, mikrokontroler wysyła pin 14 o wysokim poziomie logicznym (najmniej znaczący bit PORTA). To odpala tranzystor. Jeśli podłączyłeś zaciski do wyprowadzeń na przełączniku, powoduje to gwałtowny spadek rezystancji na przełączniku z bardzo wysokiego do mniej niż 1 oma, co jest wystarczające, aby większość urządzeń rozważała włączenie przełącznika. Pamiętaj, że tranzystory to także diody, więc jeśli to nie działa… polaryzacja zacisków jest prawdopodobnie nieprawidłowa, zamień je! Ponadto to urządzenie wymaga przyzwoitej baterii 9 V, powiedzmy, że pozostało ponad 8 V… poza tym nie zużywa dużo energii. Jest dużo nieużywanych pinów, więc oczywiście można by nimi sterować większą liczbą przełączników, by uzyskać więcej chaosu, ale to wystarczyło do moich celów. Następnym krokiem jest kod źródłowy, który napisałem, aby to wszystko uruchomić. Domyślne długości dla stanów „włączony” i „wyłączony” wynoszą odpowiednio około 10 sekund i 13 minut. W kodzie znajdują się komentarze dotyczące zmiany tych wartości. Na koniec, proszę wybacz szerokie wykorzystanie funkcji „nop” (nie robi ona nic w cyklu procesora) w celu dostrojenia liczników. Jest to nieeleganckie, ponieważ może zepsuć funkcję rjmp, jeśli nie uważasz, ile używasz!

Krok 2: Kod źródłowy

POCZĄTEK:

. INCLUDE "tn26def.inc"; Plik definicji. Google za to, jeśli potrzebujesz kopii. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 wyj DDRA, r27 wyj PORTA, r28 TIMER: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER2 rjmp TIMER TIMER2: nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi TIMER113 rjq11 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r25 cpi r25, 0b11111111;Opuść tę liczbę, aby zmniejszyć czas wyłączenia breq FUNC rjmp TIMER FUNC: nop nop cpi r28, 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 out PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA, r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc nop nop nop nop nop nop nop nop nop nop nop nop cpi r30, 0b11111111 breq TIMER5 rjmp TIMER4 TIMER5: nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Zwiększ tę liczbę, aby zwiększyć czas "on" breq FUNC rjmp TIMER4

Krok 3: Ostatnia uwaga

Baw się dobrze, ale pamiętaj, że tranzystor ma ograniczenia pod względem mocy, którą możesz przez niego przepompować. Oznacza to brak napięcia sieciowego! Poza tym, że bardzo szybko przeciążyłoby tranzystor, to urządzenie nie będzie dobrze sterować sygnałami przemiennymi… chyba że zastosujesz modyfikację opisaną poniżej *i* dodasz przekaźnik: Jeśli martwisz się polaryzacją zacisków, po prostu podłącz drugi tranzystor z płytka bazowa podłączona do tego samego źródła co pierwszy tranzystor, ale z kolektorem i emiterem w odwrotnej konfiguracji. W ten sposób, bez względu na sposób podłączenia zacisków, wysoki stan logiczny wychodzący z mikrokontrolera zawsze "włączy" przełącznik. Należy pamiętać, że prąd upływu w tym systemie może wystarczyć do aktywacji niektórych wrażliwych przełączników, takich jak matryce klawiatury, może być konieczne dodanie rezystora szeregowo dla tej aplikacji. Pamiętaj, że możesz pobierać energię z urządzenia docelowego zamiast korzystać z baterii. W końcu… Zainstalowałem urządzenie w starym kalkulatorze księgowym, takim, który ma funkcje drukowania. Zmodyfikowałem matrycę klawiatury za pomocą spinacza do papieru, aby określić, które styki układu scalonego po podłączeniu powodują podawanie papieru, i połączyłem odpowiednie styki razem z urządzeniem. Następnie wyłączyłem przełącznik, który pozwala na wyłączenie funkcji drukowania. Uważam, że maszyna jest odpowiednio podważona. Włącza dość głośny podajnik papieru co 10 minut, na 10 sekund, za każdym razem, gdy urządzenie jest włączone. Działało również dobrze z obwodem jednej z tych niesamowicie nieprzyjemnych muzycznych kartek urodzinowych. Moje miejsce pracy jest teraz bardziej dziwaczne!

Zalecana: