Sadržaj:

Opći otmičar prekidača: 3 koraka
Opći otmičar prekidača: 3 koraka

Video: Opći otmičar prekidača: 3 koraka

Video: Opći otmičar prekidača: 3 koraka
Video: КАКИМ БУДЕТ PORTAL 3 2024, Juli
Anonim
Generički otmičar prekidača
Generički otmičar prekidača

Ovaj članak opisuje kako izgraditi čvrsti mikrokontrolerski uređaj koji kontrolira fizičke prekidače. Izrada je vrlo jeftina (oko 4 USD), pod pretpostavkom da imate programer za mikrokontroler. Sam krug je trivijalne složenosti.

Ovaj projekt je vrlo jednostavan i ne uključuje zapanjujuće nove tehnike. To bi poslužilo kao dobar prvi projekat mikrokontrolera. Izvorni kod sklopa bit će vam dan u ovom članku. Imam stvarno super šefa na poslu. Ponekad volimo da se međusobno šalimo. Na njegovu žalost, ja sam naučnik. Moja je svrha ovdje učiniti da se različiti uređaji na radnom mjestu misteriozno uključuju na kraće vrijeme. Radio, bučni štampači, čak i one dosadne muzičke rođendanske čestitke skrivene u nekom uobičajenom predmetu. Osim toga, projekt je primjer kako kontrolirate veća opterećenja pomoću AVR -a nego što se izlazni pinovi mogu sami nositi. Ovo je veliki izbor stvari, budući da vam izlazni pinovi daju samo mali napon i vrlo ograničenu struju. Ovaj bi se krug mogao proširiti relejem za kontrolu nekih vrlo velikih opterećenja.

Korak 1: Dizajn i sklop

Dizajn i sklop
Dizajn i sklop

Za ovaj projekt možete koristiti gotovo bilo koji mikrokontroler, regulator napona od 5 V i NPN tranzistor. Koristio sam:

1x ATtiny26L-8PU (~ 2 $) 1x TL780 5v regulator napona (~ 0.7 $) 1x N2222 tranzistor (~ 0.07 $) 1x 9v baterija, ili 12v baterija za daljinsko upravljanje radi uštede prostora … i naravno moj pouzdan STK500, sada sa ZIF-om utičnice dodane! Osnovni dizajn je sljedeći: Mikrokontroler prolazi kroz dvije vremenske petlje. Duga petlja za određivanje vremena uključivanja uređaja i kratka petlja za određivanje koliko dugo treba držati uređaj uključenim. Kada dođe vrijeme za izazivanje problema, mikrokontroler šalje logički visoki pin 14 (Najmanji bit PORTA). Ovo pokreće tranzistor. Ako ste spojili stezaljke na vodiče prekidača, otpor na prekidaču naglo će pasti sa vrlo visokog na manje od 1 ohma, što je većini uređaja dovoljno da razmotre uključivanje. Imajte na umu da su tranzistori također diode, pa ako ne radi … polaritet stezaljki je vjerojatno pogrešan, zamijenite ih! Također, ovom uređaju je potrebna pristojna baterija od 9 V, recimo s preostalim potencijalom od 8 V … osim toga, ne troši mnogo energije. Postoji mnogo neiskorištenih pinova, pa biste ih, naravno, mogli koristiti za kontrolu više prekidača za veći kaos, ali to je bilo dovoljno za moje potrebe. Sljedeći korak je izvorni kod koji sam napisao kako bih pokrenuo ovu stvar. Zadane dužine za stanja "uključeno" i "isključeno" su približno 10 sekundi odnosno 13 minuta. U kodu postoje komentari o tome kako promijeniti te vrijednosti. Na kraju, oprostite zbog opsežne upotrebe funkcije "nop" (troši procesorski ciklus ne radeći ništa) za podešavanje tajmera. Neelegantno je jer može slomiti rjmp funkciju ako ne pazite koliko ih koristite!

Korak 2: Izvorni kod

POČETAK:

. INCLUDE "tn26def.inc"; Datoteka definicije. Potražite Google ako vam treba kopija. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 izlaz DDRA, r27 izlaz PORTA, r28 TIMER: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop 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 ne nop nop nop nop nop nop 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; Smanjite ovaj broj da biste smanjili "off" vrijeme breq FUNC rjmp TIMER FUNC: nop nop cpi r28, 0x00 breq FUNC2 dec r28 clr r30 clr r29 clr r25 izlaz PORTA, r28 rjmp TIMER FUNC2: nop nop inc r28 out PORTA, r28 clr r25 clr r30 clr r29 rjmp TIMER4 TIMER4: inc r30 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop 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; Povećajte ovaj broj da biste povećali vrijeme "uključenosti" breq FUNC rjmp TIMER4

Korak 3: Završna napomena

Zabavite se, ali zapamtite da tranzistor ima ograničenja u pogledu količine snage koju možete pumpati kroz njega. To znači da nema mrežnog napona! Osim što bi vrlo brzo preopteretio tranzistor, ovaj uređaj neće dobro kontrolirati izmjenične signale … osim ako ne primijenite dolje opisanu izmjenu * i * dodate relej: Ako vas zabrinjava polaritet stezaljki, samo povežite drugi tranzistor s osnovna ploča spojena na isti izvor kao i prvi tranzistor, ali sa kolektorom i odašiljačem u suprotnoj konfiguraciji. Na taj način, bez obzira na to kako ste pričvrstili stezaljke, logičko visoko iz mikrokontrolera uvijek će "uključiti" prekidač. Imajte na umu da struja curenja u ovom sistemu može biti dovoljna za aktiviranje nekih osjetljivih prekidača, poput matrica tipkovnice, možda ćete za ovu aplikaciju morati dodati otpornik u seriji. Upamtite da možete izvlačiti energiju iz ciljnog uređaja umjesto pomoću baterije. Konačno … Instalirao sam uređaj unutar drevnog računovodstvenog kalkulatora, tipa koji ima funkcije ispisa. Promijenio sam matricu tipkovnice pomoću spajalice kako bih utvrdio koje bi igle IC-a pri povezivanju uzrokovale uvlačenje papira i povezao ispravne pinove zajedno s uređajem. Zatim sam onemogućio prekidač koji vam omogućuje isključivanje funkcije ispisa. Smatram da je mašina pravilno podvrnuta. Uključuje prilično bučno ulaganje papira svakih 10 minuta, na 10 sekundi, kad god je uređaj uključen. Također je dobro funkcionirao sa strujnim krugom jedne od onih hiper-odvratnih muzičkih rođendanskih čestitki. Moje radno mjesto je sada bizarnije!

Preporučuje se: