Cuprins:

Generatorul de comutare generic: 3 pași
Generatorul de comutare generic: 3 pași

Video: Generatorul de comutare generic: 3 pași

Video: Generatorul de comutare generic: 3 pași
Video: Simptome de DEBITMETRU defect (MAF) 2024, Noiembrie
Anonim
Generic Switch Hijacker
Generic Switch Hijacker

Acest articol descrie cum se construiește un dispozitiv cu microcontroler în stare solidă care controlează comutatoarele fizice. Este foarte ieftin de realizat (aproximativ 4 $), presupunând că aveți un programator de microcontroler. Circuitul în sine are o complexitate banală.

Acest proiect este foarte simplu și nu implică tehnici noi uimitoare. Ar servi ca un prim proiect bun de microcontroler. Codul sursă de asamblare vă va fi furnizat în acest articol. Am un șef foarte tare la serviciu. Uneori, ne place să ne jucăm glume practice. Din păcate pentru el, sunt om de știință. Scopul meu aici este să fac diferite dispozitive la locul de muncă să se aprindă misterios pentru perioade scurte de timp. Aparate de radio, imprimante zgomotoase, chiar și acele cărți de naștere muzicale enervante ascunse într-un obiect obișnuit. În plus, proiectul este un exemplu al modului în care controlați sarcini mai grele cu un AVR decât pot face față pinii de ieșire. Aceasta este o mare varietate de lucruri, deoarece pinii de ieșire vă oferă doar o tensiune mică și un curent foarte limitat. Acest circuit ar putea fi extins cu un releu pentru a controla într-adevăr unele sarcini foarte grele.

Pasul 1: Proiectare și circuit

Proiectare și circuit
Proiectare și circuit

Pentru acest proiect, puteți utiliza aproape orice microcontroler, regulator de tensiune de 5V și tranzistor NPN. Obisnuiam:

1x ATtiny26L-8PU (~ 2 $) 1x regulator de tensiune TL780 5v (~ 0,7 $) 1x tranzistor N2222 (~ 0,07 $) 1x baterie de 9v sau baterie de telecomandă de 12v pentru a economisi spațiu … și, bineînțeles, încrederea mea STK500, acum cu ZIF prize adăugate! Proiectarea de bază este următoarea: microcontrolerul trece prin două bucle de sincronizare. O buclă lungă pentru a determina când porniți dispozitivul și o buclă scurtă pentru a determina cât timp trebuie să păstrați dispozitivul pornit. Când este timpul să cauzeze probleme, microcontrolerul trimite un pin logic de ieșire 14 (cel mai puțin semnificativ bit de PORTA). Aceasta declanșează tranzistorul. Dacă ați conectat clemele la cablurile unui comutator, aceasta face ca rezistența din întrerupător să scadă brusc de la foarte mare la mai puțin de 1 ohm, ceea ce este suficient pentru majoritatea dispozitivelor să ia în considerare pornirea. Rețineți că tranzistoarele sunt și diode, deci dacă nu funcționează … polaritatea clemelor este probabil greșită, comutați-le! De asemenea, acest dispozitiv necesită o baterie decentă de 9v, să zicem cu un potențial de peste 8v rămas … în afară de faptul că nu consumă multă energie. Există o mulțime de pini neutilizați, așa că, desigur, le-ați putea folosi pentru a controla mai multe comutatoare pentru mai mult haos, dar acest lucru a fost suficient pentru scopurile mele. Următorul pas este codul sursă pe care l-am scris pentru a începe acest lucru. Lungimile implicite pentru stările „pornit” și „oprit” sunt de aproximativ 10 secunde și respectiv 13 minute. Există comentarii în cod despre cum să modificați aceste valori. În cele din urmă, vă rugăm să scuzați utilizarea pe scară largă a funcției "nop" (petrece un ciclu CPU fără a face nimic) pentru a modifica temporizatoarele. Este neelegant, deoarece poate rupe funcția rjmp dacă nu sunteți atent la cât de mulți folosiți!

Pasul 2: Cod sursă

START:

. INCLUDE "tn26def.inc"; Fișier de definiție. Google pentru aceasta dacă aveți nevoie de o copie. clr r30 clr r29 clr r28 clr r27 ldi r28, 0b00000000 ldi r27, 0b11111111 ldi r26, 0b00000000 clr r25 out DDRA, r27 out PORTA, r28 TIMER: inc r30 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 nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop nop inc r29 cpi r29, 0b1111 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; Reduceți acest număr pentru a reduce timpul "off" 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 r30 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 nop nop inc r29 cpi r29, 0b11111 111 breq TIMER6 rjmp TIMER4 TIMER6: inc r25 cpi r25, 0b00000011; Măriți acest număr pentru a crește timpul „on” breq FUNC rjmp TIMER4

Pasul 3: Notă finală

Distrează-te, dar amintește-ți că tranzistorul are limite în ceea ce privește puterea pe care o poți pompa prin el. Asta înseamnă că nu există tensiune de rețea! Pe lângă faptul că ar supraîncărca tranzistorul foarte repede, acest dispozitiv nu va controla bine semnalele alternative … dacă nu aplicați modificarea descrisă mai jos * și * adăugați un releu: Dacă vă enervați polaritatea clemei, conectați doar un al doilea tranzistor cu placa de bază conectată la aceeași sursă ca primul tranzistor, dar cu colectorul și emițătorul în configurația opusă. În acest fel, indiferent de modul în care atașați clemele, un nivel logic care iese din microcontroler va „activa” întotdeauna comutatorul. Rețineți că curentul de scurgere din acest sistem poate fi suficient pentru a activa unele comutatoare sensibile, cum ar fi matricile tastaturii, poate fi necesar să adăugați un rezistor în serie pentru această aplicație. Amintiți-vă că puteți scoate puterea de pe dispozitivul țintă în loc să utilizați o baterie. În cele din urmă … am instalat dispozitivul într-un calculator de contabilitate antic, tipul care are funcții de imprimare. Am proiectat matricea tastaturii cu ajutorul unei agrafe pentru a determina ce pini IC atunci când sunt conectați ar provoca alimentarea hârtiei și am conectat pinii corecți împreună cu dispozitivul. Apoi, am dezactivat comutatorul care vă permite să opriți funcția de imprimare. Consider aparatul subvertizat corect. Se aprinde alimentarea de hârtie destul de zgomotoasă la fiecare 10 minute, timp de 10 secunde, ori de câte ori dispozitivul este pornit. De asemenea, a funcționat bine cu circuitul de pe una dintre acele cărți muzicale de aniversare hiper-obositoare. Locul meu de muncă este acum mai bizar!

Recomandat: