Contacte

Controler de ghirlande de Crăciun pe un pic de microcontroler. Cum să faci o ghirlandă puternică de Anul Nou cu creierul chinez. Explicarea codului programului

Înainte de Anul Nou, rămâne destul de puțin, iar în magazine și pe piețe, alegerea este oferită o cantitate mare Tot felul de ghirlande chinezești. Toate acestea sunt bune, dar am decis să fac o ghirlandă de Anul Nou pentru copac pe cont propriu, pe microcontrolerul.

În primul rând, a vrut pur și simplu creativitatea, în al doilea rând, ghirlanda de casă strălucește cumva și distractivă și achiziționată mai mult.
Ghirlanda este colectată pe un microcontroler ATMEGA8 și constă din 42 de LED-uri.
Autorul acestui proiect Dmitri Bazlov (DIMA9350) și a scris un cod pentru un microcontroler, în care au fost puse 11 efecte (programe) pentru implementarea dispozitivului, din care 8 programe pentru LED-uri albastre, roșii și galbene (în funcție de rândul de sus ) și 3 efecte (programe) pentru LED-uri albe (rândul inferior de LED-uri), printre care există un efect de a cădea fulgi de zăpadă.
Tensiunea de alimentare a ghirlandelor este de la 7 la 15 volți (puteți până la 24 volți, dacă puneți un radiator mic la stabilizator) sau dacă fără un stabilizator de tensiune L7805, apoi 5 volți, de exemplu: port USB Calculator. Lungimea ghirlandelor din versiunea autorului a fost de un metru. Mai jos este videoclipul ghirlandei autorului cu putere din portul USB.

Schema dispozitivului constă în:
- Microcontroler ATMEGA8;
- rezistoare de cip pentru LED-uri 300-330 ohm - 21pcs;
- Chip L293:
- 2 condensator de 16 volți 10MKF;
- stabilizator pentru 5 volți - 7805.
Puține biți de microcontroler sunt instalate pe 8 MHz de la generatorul intern.

Imaginea 1.
Schema de ghirlande.

Taxa de tipărire a ghirlandelor.

Figura 2.
Taxa de tipărire a ghirlandelor.

Aspect Ghirlande colectate la pCB. Din partea detaliilor.

Figura 3.
Apariția ghirurilor colectate pe placa de imprimare din partea părții.

Apariția ghirlandelor asamblate pe placa de editare a circuitului.

Figura 4.
Apariția ghirlandelor asamblate pe placa de editare a circuitului.

Deci, în schema autorului, microcircuitul L293 (driverul de control cu \u200b\u200b4 canale) este disponibil, care este exact proporțional cu un microcontroler, și nu pretutindeni probabil este disponibil, diagrama a fost un pic redonă, iar șoferul este înlocuit cu două tranzistoare diverse conductivitate (CT814, KT815 și un rezistor pentru 1 com), care sunt destul de bine cu sarcina lor.
Schema actualizată a ghirlandei este prezentată în figura de mai jos.

Figura 5.
Schema de ghirlande.

Rândul inferior al LED-urilor din diagramă este LED-urile luminii albe, rândul superior este alternanța LED-urilor în culoare: - albastru, galben, roșu și așa mai departe.
Culorile pot fi la discreția dvs. LED-urile sunt de preferință utilizate cu creșterea luminozității strălucire.
Începutul ghirlandei, (sau sfârșitul său, așa cum doriți) - merge la dreapta. "Flowflakes", începând cu LED-ul alb HL2 și la LED-ul HL42, adică LED-urile HL1 și HL2 ar trebui să fie amplasate la partea de sus (se termină sau începe ghirlanda).
Două tranzistoare sunt aplicate aici ca șofer de structuri diferite. Au fost utilizate, așa cum am menționat mai sus, tranzistoarele CT814, KT815. Completați complet în această schemă și tranzistori CT315 și CT361, dar nu am încercat să le pun.

În autor, LED-urile albe sunt instalate la un nivel cu culoarea, deoarece sunt conectate în paralel cu ele, dar în mod diferit polar. Distanța dintre LED-uri este de 4-5 cm, deoarece lungimea ghirlandei a fost un contor.
Am pus LED-uri albe și colorate separat unul de celălalt și la o distanță de 5-6 cm. Lungimea ghirlandei în versiunea mea este de două cu un metru mic, care este destul de potrivit pentru copacul de dimensiuni mari. Și taxa sa stabilit la o jumătate de oră, iar cu ghirlanda pe care trebuia să o fac puțin. Firurile pentru conectarea LED-urilor Este de dorit să se aplice subțire, blocate. Am folosit fire conectate, cu un diametru de 0,5-0,6 mm. (Împreună cu izolarea), și ghirlande de la bord, sa dovedit nu la Tolstoy.

Vedeți un videoclip demonstrativ al ghirlandei de Anul Nou.

Sărbătorile de Anul Nou sunt aproape și, cu această ocazie, vreau să fac ceva luminos festiv! A decis, aici, face o ghirlandă de Anul Nou. Ceea ce ar putea fi mai ușor și sărbători decât garland de Anul Nou? :). Girlanda a decis să nu facă altceva și concentrat! 12 canale plus controlul de la telecomanda IR. Să nu facă ghirlande de la zero, a fost decis ca donatori organe interne Piese de schimb pentru a utiliza ghirlande chinezești gata. Are sens pentru următoarele considerații:
- Costul ghirlandelor va vorbi sincer, costul este Kopeck. Încercați pentru aceiași bani pentru a cumpăra fire, LED-uri, piese de schimb ... și dacă nu luați o ghirlandă LED în acest scop, ghirlandele lampa vin acum aproape pentru aproape un cadou;
- Un factor important - deja pregătit să fie lipit la o linie de LED-uri de heap. Soluționarea dvs., percică în căldură se micșorează, lucrările greșite de 12 linii este destul de viguroasă;
- De asemenea, nu știu cum ai și am mințit o anumită sumă de Ghirlande non-de lucru (adesea tragându-le să prevaleze - este posibil să faceți acest lucru) Nu puteți cheltui deloc pe alți noi, ci să colectați ceea ce este.

Pentru semințe, urmăriți videoclipul:

ATENŢIE!
tensiune periculoasă 220V!

Viața amenințătoare!
ASA DE:




daca tu conștient de pericol asamblarea unei astfel de ghirlande și sunt de acord să respecte regulile de securitate Când lucrați cu o tensiune periculoasă, puteți citi despre cum să colectați o super ghirlandă.

1 Pacienți cu ghirlande.

3 ghirlande noi au fost cumpărate ca victime - aici sunt frumuseți 🙂

Costați 3 USD pe bucată (100 LED-uri). Dar chinezii, dacă nu salvează, se vor schimba! În ghirlande, de fapt, sa dovedit a fi 3 canale. Adică, controlerul de patru canale, dar tiristorii trei și linii de LED-uri sunt de asemenea trei. Pentru a ascunde o astfel de rușine, chinezii într-o singură linie interferează cu LED-urile de două culori. Pe scurt, a trebuit să cumpăr altul :(. Dar aceasta nu este limita de economii, deseori și canalele groase sunt, în general, două! Aveți grijă - deschideți caseta și vedeți cât de mult costurile tiristorului.

De la controlorii originali pentru îmbrăcăminte îmbunătățită, rezistențe, diode de redresor, tiristori, butoane, cutii vor fi implicate. Va dura pentru a cumpăra un pic mai mult de o duzină de rezistori, o pereche de condensatori, un microcontroler attiny2313 și mai multe lucruri mici.

2 schemă.

Iată schema ghirlandei originale:

Din schemă se poate observa că diminuarea canalelor LED-urilor este efectuată de tiristori PCR406.

PCR406 TRISTOR PCR406.

Nu văd punctul de a le schimba la altceva. Pentru a forma o tensiune de alimentare controller original Rezistența rezultată este utilizată (rezistența de stingere, împreună cu rezistența internă a controlerului, formează un divizor de tensiune). Decizia este contradictorie, dar în acest caz este justificată de ieftin (controlerul curent, nesemnificativul și puterea alocată pe rezistor este foarte mică). Cântărind și împotriva unei astfel de decizii, am decis și în schema mea să fac ceva similar. Adevărat ATTINING2313 (în decurs de 8m) Un număr semnificativ mai mare decât controlerul original, dar totuși vă permite să utilizați rezistoare de stingere.

Schema unui nou controler de ghirlandă:

6 Construiți placa de alimentare.

Înainte de a asambla placa de alimentare, trebuie să faceți anumite măsurători pentru calcularea cantității de rezistențe de stingere. Pentru a face acest lucru, conectați încărcarea constantă a controlerului cu microcontrolerul intermitent la o sursă externă de 5 volți (platforme + 5V și -5V) și măsurați curentul consumat. Conectați liniile LED-urilor nu sunt necesare, practic nu afectează curentul consumat. Pentru microcontrolerul obișnuit Attiny2313 fără scrisori de scrisori Current consumat ar trebui să fie de aproximativ 7 - 9 mA. Pentru microcontrolerul Attiny2313 cu indexuri (poate A, P ...) Curentul va fi diferit.

Conform consumului curent (IPOTR), calculează rezistența rezistoarelor de stingere în baterie (luăm mai mult din rândul standard):

R \u003d 430 / iPottr

De exemplu, am consumat curentul a fost de 9 mA, înseamnă R \u003d 430 / 0.009 \u003d 47777 ohm (acceptăm 47 kΩ).

Absorbția rezistoarelor de stingere este făcută pentru a distribui puterea de risipă și a reduce încălzirea. Rezistoarele trebuie să fie o capacitate de cel puțin 0,5 W (și mai bună decât 1 W).

Diodele rectificabile și rezistența de stingere se mișcă din schema inițială, restul va trebui să fie achiziționat. Taxa finalizată este plasată în carcasa ghirlandelor.

Conectăm cartelele de alimentare și controlerul (firele și prizele luate din ghirlanda originală). Nu uitați, consolidați firul de închidere cu adeziv fierbinte, deoarece firele folosite de chinezi, pentru ao pune ușor, rahat și pot cădea în orice moment.

7 Formarea liniilor LED.

Aceasta este ceea ce va trebui să-l tinker, așa că este cu formarea a 12 canale de linii LED. Va fi necesar din partea a trei hamuri (și în cazul celor trei canale din ghirlanda - patru hamuri) ale ghirlandelor originale pentru a colecta un ham comun cu douăsprezece linii (plus un fir comun). Ghirlandele nu trebuie doar să se răsucească împreună, dar aveți grijă ca LED-urile celor douăsprezece canale, sunt localizate secvențial unul câte unul. În plus, dacă ghirlanda este multi-colorată, trebuie să aveți grijă ca culorile să fie amestecate cât mai mult posibil.

În general, ghirlandele cu o singură culoare sunt mai potrivite pentru efecte mai bune de imagistică, dar pentru a crea o imagine mai luminoasă, ghirlande multicolore sunt probabil câștigătoare. Aici trebuie să identificați sau mai multe efecte expresive sau o impresie mai colorată.

Pentru o lungă perioadă de timp pentru a explica în cuvinte - uitați-vă la desene sau gândiți-vă cum să răsuciți recoltatorii:

Hamele sunt răsucite - acum sunt lipite la controler, astfel încât canalele canalelor să se îndrepte reciproc.

8 Descrierea activității ghirlandei.

Când ghirlandele sunt pornite, începe să lucreze imediat cu un efect aleatoriu. În procesul de lucru, efectele se vor schimba accidental reciproc. Dacă apăsați butonul, efectele se vor înlocui în mod constant reciproc la rândul său:
1 val
2 Falling Star.
3 scântei
4 Swelffluri lente
5 lumini de funcționare
6 lumini pâlpâitoare
7 Totul arde
8 Totul arde
0 TOATE Oprirea

Când alegeți un efect cu butonul, acesta este întârziat pentru mai mult timp, dar mai târziu efectele vor începe să se înlocuiască reciproc.

Lucrul din consola este similar cu butonul de pe controler (apăsați butonul de pe schimbarea efectelor la distanță). Pentru a studia butonul oricărei telecomenzi IR, trebuie să apăsați butonul de pe controler până când ghirlanda nu va ieși (aproximativ 3 secunde), apoi trebuie să apăsați butonul selectat de pe telecomandă. Codul butonului este înregistrat în memorie non-volatilă, iar ghirlanda va reveni la efecte. Deoarece codul este stocat în memorie non-volatilă, ghirlanda va "aminti" telecomanda, chiar și după deconectarea de la rețea.

În cele din urmă, consider că nu sunt inutile:

ATENŢIE!
Schema de ghirlande este declanșată din punct de vedere galvanic din rețea tensiune periculoasă 220V!
Atingerea oricărei părți conductoare incluse în rețeaua Garlands
Viața amenințătoare!
ASA DE:

- dacă nu înțelegeți energia electrică - nu repetați acest design;
- orice acțiuni (lipit, măsurători etc.) cu schema de care aveți nevoie pentru a opri numai din rețea;
- Programarea unui microcontroler trebuie să fie produs sau separat de la bord (de exemplu, într-un strat asamblat special pentru acest lucru) sau bea ghirlande de la sursă externă tensiune 5 volți (de exemplu, din baterii);
- designul finit trebuie să fie bine izolat și nu este disponibil pentru copii și animale mici;
- Fii atent la construirea construcției!

Și aici sunt exemple, astfel încât să spunem, trăiți:

Trimiteți-vă propriul - adăugați aici.

Crăciunul Ot. Andreevkv. Big sa întâmplat! 🙂.

Crăciunul Ot. Boyka59.. Toți familiari și în special copiii sunt încântați de ea)

Și mai departe!

An Nou Fericit!

Bună starea de spirit și concediu distractiv!

Actualizați 1 (2013)

Nu a fost planificat în mod deosebit să facă ceva cu această ghirlandă, deoarece nu mai este timp pentru acest an, dar la cererea cititorilor, toate acestea au decis pe o mică actualizare!

Schimbat un pic.
Adăugat 6 efecte noi:
- Rularea în direcții diferite de un val de 2 LED-uri
- umplerea și scăderea consecventă
- umplerea și scăderea secvențială cu un val de călătorie variabil
- umplerea și îndepărtarea aleatoare
- umplerea și îndepărtarea aleatorie cu un val de conducere variabil
- Flicker agresiv
Timpul de funcționare al efectului în timpul unei comutare obligatorii (la distanță sau buton) a crescut aproape de două ori.
E bine. Schema și fuburile au rămas la fel. Trebuie să reîncărcați firmware nou.
- Supergrown cu 12 canale (Update 2013)
- Actualizarea sursei Supergown

Venitura fericită, acum, 2014 !!! 😉.

Opțiuni pentru Superground de la Readers Blog

Sergey negru (bleck_s)
Garland este implementat pe același consiliu folosind componente SMD

Deci, anul nou în curând! Pe rafturile magazinelor de lângă tangerine, dulciuri și șampanie apar jucării de Crăciun: bile multicolore, tinsel, tot felul de steaguri, margele și, desigur, ghirlande electrice.

Ghirlanda obișnuită din becurile multicolore, poate să nu cumpere. Dar diverse flashers, în cea mai mare parte producție chineză, doar nu iau în considerare. Becurile de lumină microscopice pot fi amplasate pe o bucată de carton sau țesute în covor din firele care pot fi decorate cu o fereastră întreagă.

Ghirlandele de Crăciun sunt, de asemenea, distinse printr-un mare varietar, în primul rând un design extern, design. Costul acestor ghirlande este mic, deoarece, de fapt, puterea becurilor.

Cele mai multe ghirlande au o cutie de plastic mică cu un buton, un cablu cu o furcă de rețea și fire, mergând la ghirlanda becurilor multicolore. Designul ghirlandelor poate fi cel mai divers.

Cea mai ușoară și opțiune ieftină constă în becuri microscopice introduse. În partea reversă a casetei de ambalare, instrucțiuni de înlocuire a becurilor și a reglementărilor de siguranță, deși luminile de rezervă nu sunt atașate. Este astfel de ghirlande de vânzare în rețeaua de magazine "Toate 38", cu toate acestea, în În ultima vreme Deja patruzeci de ruble.

Figura 1. Garland pentru patruzeci de ruble

Ghirlandele unui alt stil au materiale plastice plastice mici pe becuri, de exemplu, sub formă de flori transparente cu petale. Dar caseta cu butonul rămâne aceeași, deși prețul ghirlandelor vine până la două sute. Să încercăm să deschidem cutia și să vedem ce este înăuntru.

Figura 2. Aspectul controlerului de ghirlande cu trei tiristori

În partea de jos a figurii, sunt afișate două fire, ci doar conectarea dispozitivului în rețea. Aici este butonul, cu care modurile de operare comută. În partea superioară puteți vedea trei tiristori și fire care pleacă spre ghirlande.

În mijlocul plăcii se află, - o astfel de picătură neagră instalată pe o mică placă de circuite imprimate. Placa are tampoane de contact prin care controlerul este lipit în taxa principală.

Câți tiristori ai consiliului

Electrozii de control al tiristorilor sunt conectați la ieșirile microcontrolerului, care includ ghirlande de bec. Microcontrolerul are patru ieșiri, dar adesea, în loc de patru tiristori, doar trei sunt instalate pe tablă, iar în unele cazuri există doar două.

Necesar efect vizual Se realizează prin conectarea ghirlandelor și a localizării luminilor: într-o ghirlandă, bulbii de două sau chiar trei culori sunt sigilate. Doar o astfel de placă și prezentată în figura 2.

Dacă vă uitați la această placă din partea de montare tipărită, puteți vedea că trei tiristoare sunt investit și, sub a patra, există găuri cu plăcuțe de contact enumerate, așa cum se arată în figura 3. În unele cazuri, deschiderile nu sunt chiar forate, Ei spun cine va fi folosit pentru a se antrena.

Figura 3. Comitetul controlerului ghirlandelor. Tiristor.

Aici trebuie remarcat o astfel de caracteristică: dacă ieșirea controlerului nu este conectată nicăieri, aceasta nu înseamnă că nu funcționează. Programul de la toți controlorii este cusut, aparent, unul și același lucru, toate ieșirile controlerului sunt implicate.

Acest lucru este ușor de asigurat cu tester de Est. Dacă măsurați presiune constantă Pe piciorul liber, săgeata va merge, se răsuci și se abatează împreună cu intermiterea altor ghirlande. Este suficient să luați pur și simplu tiristorul dispărut și vă rugăm să obțineți o ghirlandă cu patru canale complete.

Tiristorul poate fi luat cu o veche taxă defectuoasă (se întâmplă că controlorul vine în lipsă) sau pentru patruzeci de ruble pentru a cumpăra o ghirlandă suplimentară și de acolo pentru a extrage un tiristor. Pentru o afacere bună, cheltuielile sunt extrem de nesemnificative!

Schema schematică a ghirlandelor

Pe placa de circuite imprimate este ușor de făcut schema principală. Există două tipuri de scheme, oarecum diferite unul de celălalt. Prima este cea mai perfectă variantă prezentată în Figura 4.

Figura 4. Controlerul ghirlandei chinezești. Opțiunea 1

Alimentele în circuit se efectuează prin VD1 ... Vd4. Ghirlandele sunt alimentate prin tensiune pulsatoare și sunt incluse împreună cu controlerul prin tiristoare vs1 ... vs4. Rezistorul R1 și microcontrolerul DD1 formează un divizor de tensiune, la ce tensiune se obține 12V.

Conderul C1 netedează Tensiunea îndreptată. Prin rezistența R7, tensiunea de alimentare este alimentată la intrarea controlerului 1 pentru a sincroniza circuitul cu frecvența rețelei de 220V, care permite controlul fazelor tirisrii. Această sincronizare permite o aprindere ușoară și dispariția ghirlandelor. Astfel de astfel de taxe pot fi găsite în ghirlande scumpe.

Placa indicată în figura 3 este colectată prin mai multe scheme simplificate, care este prezentată în Figura 5.

Figura 5. Controlorul chinez ghirlande. Opțiunea 2.

Este imediat lovită că tiristorii sunt doar trei bucăți, iar o singură diodă a rămas din podul de redresor. Rezistoarele de la electrozii de control al tirisrii au dispărut, de asemenea,. Dar, în general, proprietățile consumatorilor au rămas la fel ca în schema anterioară, în ciuda faptului că becurile de lumină sunt aprinse numai atunci când se prezintă o semiprode pozitivă a tensiunii de rețea pe firul superior. Fără rectificarea podului, se obține o rectificare de o singură poziție.

Această variantă a soluției de circuite este inerentă acelor ghirlande că "toți la patruzeci". Aici, de fapt, tot ceea ce se poate spune despre ingineria schemei de ghirlande chineze de Crăciun.

Cum se conectează lămpile puternice

Puterea ghirlandelor este mică, becurile sunt pur și simplu microscopice, în plus față de copacul de acasă, este puțin probabil ca acesta să fie încă potrivit. Dar uneori trebuie să conectați ghirlanda cu lămpi puternice incandescente, de exemplu, pentru iluminarea decorativă a fațadelor clădirilor. O astfel de rafinament a fost deja prezentată în articol. Schema ghirlandelor modificate este prezentată în Figura 8 din articolul menționat.

Dacă nu doriți să redo bordul

Este mult mai ușor de făcut fără modificarea cardului controlerului. Tot ce trebuie să faceți este să faceți patru taste puternice de ieșire cu optocuplere și să le atașați în loc de ghirlande cu putere redusă. Schema cheie de alimentare este prezentată în Figura 6.

Figura 6. Cheie de putere puternică cu Optocoupler

De fapt, schema este tipică, funcționează sigur, nu conține pietre submarine în sine. De îndată ce se lansează LED-ul MOC3021, se deschide un tiristor optic cu putere redusă și prin concluziile 4, 6 și rezistența R1 conectează electrodul de control și anodul Simistor BTA16-600. Symistor se deschide și include o sarcină, în acest caz, ghirlanda.

Optron trebuie aplicat fără circuitul încrucișat încorporat (detector de tranziție a tensiunii de rețea prin zero), de exemplu, MOC3020, MOC3021, MOC3022, MOC3023. Dacă Optron are un nod Cristzerro, atunci schema nu va funcționa! Nu ar trebui să uite de asta.

Simistorul BTA16-600 are următorii parametri: curent continuu 16A, tensiune inversă 600v. Când curentul 5A și tensiunea 220V, capacitatea de încărcare este deja un kilowatt întreg. Adevărat, va trebui să instalați un simistor pe radiator.

Substratul metalic este izolat din cristal, ca litera A în marcajul simistorului. Acest lucru face posibilă instalarea simiertorilor pe radiator fără garnituri și izolatoare de mica pentru șurub. Apropo, acești simistori care stau în regulatori de alimentare cu aspiratoare de uz casnic, în timp ce radiatorul este suflat de fluxul de aer la ieșirea aspiratorului.

Dacă puterea de încărcare nu este mai mare de 400W, atunci puteți face fără radiator. Symistor CodeLka este prezentat în Figura 7.

Figura 7. Symistor Cocolevka BTA16-600

Acest desen nu va fi complet inutil atunci când asamblați schema de taste de alimentare. Toate cele patru taste de alimentare sunt cele mai bune pentru a colecta pe o placă comună de circuite. Rezistența R este mai bine să se colecteze de la două rezistențe cu o capacitate de 2W, ceea ce va evita încălzirea lor excesivă. Curentul maxim al LED-ului de intrare OPROCE 50MA, astfel încât curentul de 20 ... 30mA va oferi operația sa pe termen lung fără probleme.

Figura 8. Conectarea tastelor rezistenței la placa de controler

În general, totul este clar și simplu. Ghirlandele sunt dispărute de la controler, iar circuitele de intrare ale cheilor de putere sunt cusute în schimb. Nu necesită intervenție în instalarea tipărită a controlerului. Excepția se află doar un tiristor suplimentar, cu condiția ca acesta să fie posibil să se găsească. De asemenea, trebuie să salvați un cablu de rețea cu o furculiță, deoarece originalul are o secțiune foarte mică.

Cu o instalare adecvată și piese service, diagrama nu trebuie să fie configurată. Designul dispozitivului este arbitrar, cel mai bun în cazul metalicDimensiuni adecvate care vor efectua rolul unui radiator pentru simistori.

Pentru a asigura siguranța electrică, dispozitivul trebuie inclus prin intermediul întrerupător de circuitsau cel puțin siguranța.

Garland pe Attiny2313 merge foarte simplu. În acest articol simplu, vom face o mini-ghirlandă de 4 LED-uri.

Sunteți apăsat, butonul sau apăsat? ", - Aceasta este întrebarea pe care am întrebat-o în ultimul articol. Și în funcție de starea butonului, am făcut efectul de 4 LED-uri. În acest articol, vom analiza o situație similară. Deci, a condus!

Amintiți-vă ghirlanda chineză pentru 100 de ruble?

Apăsați butonul și efectul clipirii devine absolut diferit ;-) Este exact ceea ce noi amândoi vom fi făcut în acest articol ;-)

Nu vom face o ghirlandă chineză cu o cantitate de becuri și vom face o schemă simplificată a unei astfel de ghirlande la AVR Tiny2313 MK și patru LED-uri. Folosind butonul, vom schimba efectul de a clipi.

Deci, sarcina noastră sună literalmente așa:

Creați o ghirlandă pe MK AVR Tiny2313 din patru LED-uri și un buton cu auto-dezavantaj (butonul care a apăsat și se strânge în sine). Apăsați o dată butonul - apare primul efect al blink-ului buton, apăsat butonul pentru a doua oară - al doilea efect al clipirii și așa mai departe a apărut. Tot vom avea șapte efecte. Condiția este că, în timp ce LED-urile sunt blocate de clipește, MK nu răspunde la buton. Aceasta este, până când efectul a trecut, apăsarea butonului nu apare pe efect. Efectul nu este întrerupt. Când efectul sa terminat, numai atunci MK va procesa apăsarea butonului.

Sarcina pare a fi clară. Pentru a începe cu, vom face o schemă simplă în Proteus. Schema va arăta ceva de genul asta (faceți clic pentru a mări, se deschide într-o fereastră nouă):


Tot? Nu, nu toți! Acum coasem dosarul nostru MK Hex. Și unde să o luați? De la ATMEL STUDIO 6. Dar pentru ao crea, va trebui să începem să scriem programul pe care MK va funcționa. Cum să faci toate astea, să privești în acest articol.

Mai jos este textul cu comentarii:



Rețineți și pe linia de cod:

(_delay_ms (50); // întoarce o întârziere de 50 de milisecunde pentru anti-grade

Programul Proteus ar funcționa în condiții de siguranță fără această linie de cod. De ce am introdus-o atunci? Lucrul este că situația reală este puțin mai mare. Țapul ispășitor în acest caz va fi cel mai inofensiv buton pe care l-am pus în schemă pentru a comuta ghirlande, colegându-l pe placa de dumping.

Ce face butonul din diagramă în funcție de circuitul MK? Oferă un zero logic sau o unitate la podeaua MK. Asa de? Asa de. Dar, în schema reală, nu mai apropie și nu blochează lanțul. La închiderea sau deschiderea butonului, nu avem o schimbare clară a nivelurilor de semnal de la o unitate logică la zero și invers. Comutarea cu butonul Ajutor arată astfel:

De la o unitate logică la zero ceva de genul acesta:


De la zero pe unitate cumva ca aceasta:


Toate acest Biliberd, la pornirea butonului, se numește lotul de contacte și interferează cu dezvoltatorii dispozitivelor logice. Faptul este că aceste impulsuri haotice ale MK pot calcula atât pentru unul logic, cât și pentru zero. În prezent, această neînțelegere cu un cod simplu de cusătură este eliminată.

Am atașat un fișier Sischik, Hex și Proteus la proiect.

Așa cum am menționat în oameni - pregătiți Sani în vară ...
Cu siguranță pentru Anul Nou decorează pomul de Crăciun cu tot felul de ghirlande și, cel mai probabil, au venit mult la monotonia lor cu mult timp în urmă. Aș dori să fac ceva, astfel încât wow, la fel ca pe pomii de Crăciun din Moscova, numai la o scară mai mică. Sau în cazul extrem - atârnă pe fereastră, astfel încât această frumusețe directă să acopere orașul de la etajul 5.
Dar, din păcate, nu există astfel de ghirlande la vânzare.

De fapt, această problemă a trebuit să decid acum doi ani. Mai mult, din cauza lenea de la ideea de implementare, a trecut de obicei 2 ani, și totul a fost făcut în ultima lună. De fapt, veți avea mai mult timp (sau nu voi avea sens în psihologia umană și totul se va face în ultimele 2 săptămâni înainte de Anul Nou?).

Sa dovedit un design suficient de simplu de module separate cu LED-uri și una comună care transmite comenzi de la computer la rețeaua acestor module.

Prima versiune a modulului se gândea astfel încât să le conecteze la rețea pe două fire, astfel încât mai puțină confuzie și tot ceea ce - dar nu au venit, ca rezultat, a luat o cheie destul de puternică și de mare viteză pentru a comuta Puterea unei cantități mici de module - Bustul clar pentru simplitatea designului, așa că preferința a dat cel de-al treilea fir nu este atât de convenabil, dar este mult mai ușor să organizați un canal de date.

Cum se aranjează totul.

Rețeaua dezvoltată este capabilă să abordeze până la 254 de module subordonate, care vor fi numite sclav - ele sunt conectate numai de 3 fire, după cum ați ghicit deja - două fire sunt masa + 12V, totalul și al treilea este alarma.
Au o schemă simplă:


După cum puteți vedea, suportă 4 canale - roșu, verde, albastru și violet.
Adevărat, în funcție de rezultatele testelor practice, violetul este vizibil numai în apropiere, dar cum! De asemenea, datorită faptului că culorile sunt situate prea departe, amestecarea culorilor poate fi văzută doar de metri de 10, dacă utilizați LED-uri RGB, situația va fi oarecum mai bună.
Pentru a simplifica designul, am trebuit să refuz stabilizarea cuarțului - În primul rând, concluzia excesivă are și în al doilea rând, costul unui rezonator de cuarț este destul de tangibil și al treilea - nu există o nevoie ascuțită.
O cascadă de protecție este asamblată pe tranzistor, astfel încât portul controlerului să nu fie bătut de la statică - linia este încă destul de lungă poate fi, în cazul extrem, numai tranzistorul va suferi. Cascada este concepută pentru microcap și are un prag exemplar de aproximativ 7 volți și o dependență slabă a pragului de la temperatură.

În mod natural, în cele mai bune tradiții la adresa de la numărul 255, toate modulele reacționează - astfel încât să le puteți dezactiva în același timp cu o singură comandă.

De asemenea, rețeaua este conectată la rețea numită Master - este un intermediar între PC și rețea de la subordonarea modulelor slave. Printre altele, este o sursă de timp exemplar, de a sincroniza modulele subordonate în absența stabilizării cuarțului în ele.

Sistem:

Nu există potențiometre obligatorii în diagramă - ele pot fi utilizate în programul PC pentru a configura convenabil și prompt parametrii doritori, acest moment Este implementat numai în program de testare Ca o oportunitate de a atribui oricare dintre cele 4 canale ale oricăruia dintre potențiometre. Schema este conectată la PC prin convertorul de interfață USB-UART pe chipul FT232.

Un exemplu de pachet prezentat în rețea:

Începutul său:

Caracteristicile electrice ale semnalului: log.0 corespunde la + 9 ... 12V, iar log.1 corespunde la 0 ... 5V.

După cum puteți vedea, datele sunt transmise în serie, cu viteză fixă 4 biți. Acest lucru se datorează rezervării necesare pentru o eroare de recepție a datelor - modulele slave nu au stabilizare de cuarț, iar această abordare garantează recepția datelor atunci când rata de transfer este deviată la + -5% față de cei compensați metoda software. Pe baza măsurării intervalului calibrat la începutul transmisiei de date care oferă rezistență la suportul frecvenței de referință cu un alt + -10%.

De fapt, algoritmul de lucru al master-modulului nu este la fel de interesant (este suficient de simplu - primim datele despre UART și le trimitem în rețeaua de dispozitive subordonate), toate cele mai interesante soluții sunt implementate tocmai în module slave care permit efectiv vă adaptați la rata de transfer.

Algoritmul principal și cel mai important este implementarea Software-ului cu 4 bit cu 4 canale PWM care vă permite să controlați 4 LED-uri la 256 de absolvire a luminozității fiecăruia dintre ele. Implementarea acestui algoritm în glandă determină, de asemenea, rata de transfer de date a rețelei - pentru confortul software-ului, un bit este transmis în fiecare pas de lucru PWM. Implementarea preliminară a algoritmului a arătat că este efectuată pentru 44 de tact, prin urmare, sa decis să se utilizeze un cronometru configurat pentru a întrerupe fiecare 100 de ceasuri - astfel încât întreruperea are timp să fie garantată înainte de următoarea și să execute o parte a coderului Programul principal.
Pe selectat frecvența ceasului Generatorul intern în interruptoarele de 4,8 MHz apare cu o frecvență de 48kHz - exact o astfel de viteză de biți are o rețea de dispozitive subordonate și la aceeași viteză este umplută cu PWM - ca rezultat, frecvența semnalului PWM este de 187,5Hz, ceea ce este destul de suficient nu observați pâlpâirea LED-urilor. De asemenea, în manipulatorul de întrerupere, după efectuarea algoritmului responsabilului pentru formarea PWM, se înregistrează starea magistrale de date - se dovedește despre mijlocul intervalului de depășire a cronometrului, simplifică datele de primire. La începutul recepției următorului pachet în 4 biți, cronometrul este resetat, acest lucru este necesar pentru o sincronizare mai precisă a recepției și rezistenței la deviația vitezei de recepție.
Ca rezultat, se pare că o astfel de imagine:

Implementarea algoritmului de ajustare pentru rata de transfer este interesantă. La începutul transferului, stăpânul emite un impuls în 4 biți ai log.0, pentru care toate modulele subordonate determină viteza de recepție necesară cu un algoritm simplu:

LDI TMP2, ST_SYN_DELAY DEC TMP2;<+ BREQ bad_sync ; | SBIC PINB, cmd_port; | RJMP PC-0x0003 ;-+

St_syn_delay \u003d 60 - o constantă care determină durata maximă a impulsului de pornire, care este adoptată cu aproximativ 2 ori mai mare decât valoarea nominală (pentru fiabilitate)

O metodă experimentală a fost stabilită prin dependența numărului rezultat din TMP2, când abaterile de frecvență a ceasului de la nominal:

4.3MHz (-10%) 51 unități (0x33) corespund cu 90 de ceasuri pentru a returna viteza de recepție la nominal
4.8MHz (+ 00%) 43 unități (0x2b) - corespunde la 100 de thametrii (nominali)
5.3MHz (+ 10%) 35 unități (0x23) - corespunde cu 110 Tamise ale cronometrului pentru a returna viteza de recepție la nominal

Conform acestor date, coeficienții de corecție ai perioadei de întrerupere a temporizatorului au fost calculate (în acest fel, viteza recepției este ajustată sub frecvența ceasului existent a controlerului):

Y (x) \u003d 110-x * 20/16
X \u003d Tmp2-35 \u003d (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 11, 12, 13, 14, 15, 16, 12 , 13, 14, 15, 16, 12, 13, 14, 15, 12, 12, 13, 14, 15, 16, 12, omule
Y (x) \u003d (110, 108,75, 107,5, 106,25, 105, 103,75, 102,5, 101,25, 91,25, 92,5, 91,25, 92, 95

Numerele sunt rotunjite la întreg și enumerate în EEPROM.

Dacă, atunci când tensiunea este introdusă în modul, subrutina de calibrare va porni linia din starea logică "1" care va fi măsurată prin frecvența sau osciloscopul semnalului PWM fără corectare și pe baza măsurătorilor pentru a judeca abaterea Din frecvența ceasului controlerului modulului din nominal, cu o abatere puternică mai mare de 15% poate fi necesară pentru a corecta constanta de calibrare a generatorului RC încorporat. Deși producătorul promite calibrarea la fabrică și abaterea de la nominal nu mai mult de 10%.

În prezent, a fost dezvoltat un program pe Delphi care vă permite să reproduceți modelul compus anterior pentru 8 module la o viteză dată. Precum și utilitatea de a lucra cu un modul separat (inclusiv reasignarea adresei modulului).

Firmware.
Pentru modulul slave, este necesar să clipească numai siguranțele CKSEL1 \u003d 0 și Sut0 \u003d 0. Restul trebuie să fie nefeptat. Conținutul de EEPROM din fișierul RGBU-Slave.Eep, dacă este necesar, puteți solicita imediat adresa dorită a modulului în rețea - byte-ul EEPROM al 0-lea, implicit va clipi ca $ Fe \u003d 254, la 0x13 conține o constantă de calibrare de Controlerul generatoarelor RC încorporat, la frecvența de 4.8MHz, nu se încarcă automat. Prin urmare, este necesar ca programatorul să ia în considerare valoarea fabricii de calibrare și să scrie în această celulă - această valoare este individuală pentru fiecare controler , cu abateri de înaltă frecvență de la nominal, puteți schimba calibrarea prin această celulă fără a afecta valoarea fabricii.

Pentru un modul master, trebuie să clipească numai siguranțele Sut0 \u003d 0, Bootsz0 \u003d 0, Bootsz1 \u003d 0, ckopt \u003d 0. Alte Lăsați nefeptat.

În cele din urmă, o mică demonstrație de ghirlande situate pe balcon:

De fapt, funcționalitatea ghirlandelor este determinată de programul PC - puteți face o iluminare colorată, elegantă a camerei (dacă adăugați drivere de LED-uri și utilizați LED-uri puternice) - etc. Ceea ce intenționez să fac în viitor. Planurile ochiului de plasă de 12 module cu LED-uri RGB 3-watts și iluminarea camerei pe bază de bucăți de panglică RGB de 12 volți (numai tranzistoare de câmp sunt necesare pentru comutarea panglicilor la fiecare modul de 3 bucăți sau 4. Dacă adăugați O bucată de bandă purpurie Alte diferențe de la original nu va).

Pentru a gestiona rețeaua, puteți să vă scrieți programul, cel puțin la bază - principalul lucru pe care ar trebui să-l facă limba de programare selectată este să se poată conecta la porturile nemuritoare com și să ajusteze parametrii acestora. În loc de interfața USB, puteți utiliza un adaptor RS232 - oferă potențialului de a controla efectele luminii dintr-o gamă largă de dispozitive care pot fi programate deloc.
Protocolul de schimb cu dispozitivul principal este destul de simplu - trimiteți comanda și așteptați un răspuns la succesul sau eșecul său dacă nu există răspuns mai mult decât mai multe Milisecani - există probleme cu conexiunea sau munca dispozitivului principal, în acest caz este necesar să se efectueze o procedură de reconectare.

Următoarele comenzi sunt disponibile în prezent:

0x54; Simbolul "T" este comanda "Test" - Verificarea conexiunii, răspunsul trebuie să fie 0x2b.
0x40; Simbolul "@" este comanda "descărcare și transmitere". După trimiterea comenzii, trebuie să așteptați răspunsul "?" În continuare urmează 6 octeți de date:
+0: \u200b\u200badresa dispozitivului subordonat 0..255
+1: Dispozitiv de echipă
0x21 - Bytes 2 ... 5 conțin luminozitate peste canalele care trebuie aplicate imediat.
0x14 - Setați timpul de expirare, după care va fi luminozitatea pe toate canalele
Resetați la 0 dacă, în acest timp, o singură comandă nu recepționează. Valoarea timelului este în celula canalului roșu, adică În octeți cu offset +2. Valoarea de 0-255 corespunde perioadei de timp la 0-25,5 secunde în mod implicit, Timeout \u003d 5 secunde (înregistrate în EEPROM Când firmware, poate fi schimbat și în octet cu offset +1).
0x5A - Schimbați adresa dispozitivului.
Procedura de schimbare a adresei pentru fiabilitate trebuie să fie finalizată de trei ori - numai atunci noua adresă va fi aplicată și înregistrată în EEPROM. În același timp, este necesar să fii atent să înregistreze două dispozitive. Ei vor răspunde sincron. Și puteți doar să le "împărțiți" vor fi dezactivate fizic numai din rețeaua de module inutile și vor schimba adresa de la restul sau programatorul. Valoarea noii adrese este transmisă în celula canalului roșu - adică În octeți cu offset +2.

2: Luminozitate roșie 0 ... 255
+3: Luminozitate verde 0 ... 255
+4: Luminozitate albastră 0 ... 255
+5: Luminozitate violet 0 ... 255

0x3d; Simbolul "\u003d" - echipa "ADC". După trimiterea comenzii, trebuie să așteptați răspunsul "?" Apoi, 1 octet trebuie transferat - numărul canalului ADC 0..7 în formă binară (numerele ASCII 0..9 sunt, de asemenea, adecvate în această capacitate, deoarece cele mai vechi 4 biți sunt ignorate).
Ca răspuns, comanda returnează 2 octeți ai rezultatului de măsurare în intervalul 0 ... 1023

Răspunsuri posibile la echipe:
0x3f; Simbol "?" - disponibilitatea introducerii datelor, înseamnă că dispozitivul este pregătit pentru primirea argumentelor de comandă
0x2b; Caracterul "+" Răspuns - comanda este executată
0x2d; Simbol "-" Răspuns - comanda nu este definită sau eronată

Mai multe detalii pot fi excretate din sursele situate pe Gethab, există și cele mai recente versiuni ale firmware-ului finit.



Ți-a plăcut articolul? Împărtășește-l