LED vijenac baziran na attiny2313 krugu. LED vijenac za MK Attiny13

10.09.2021

ATtiny2313 vijenac je vrlo jednostavan za sastavljanje. U ovom jednostavnom članku napravit ćemo mini vijenac od 4 LED diode.

Jeste li vi, naše dugme, pritisnuti ili otpušteni?” – to je upravo pitanje koje smo postavili u prošlom članku. I u zavisnosti od stanja dugmeta, napravili smo efekat od 4 LED diode. U ovom članku ćemo analizirati sličnu situaciju. Dakle, idemo!

Sjećate se kineskog vijenca za 100 rubalja?

Pritisnemo dugme i efekat treptanja postaje potpuno drugačiji;-) Upravo to ćemo uraditi u ovom članku;-)

Nećemo praviti kineski vijenac sa N brojem sijalica, već ćemo napraviti pojednostavljeni dijagram takvog vijenca koristeći AVR Tiny2313 MK i četiri LED diode. Koristeći dugme promenićemo efekat treptanja.

Dakle, naš zadatak doslovno zvuči ovako:

Napravite vijenac na AVR Tiny2313 mikrokontroleru od četiri LED diode i jednog samopovratnog dugmeta (dugme koje se pritisne i otpusti). Pritisnemo dugme jednom - pojavljuje se prvi efekat treptanja dugmeta, pritisnemo dugme drugi put - pojavljuje se drugi efekat treptanja i tako dalje. Ukupno ćemo imati sedam efekata. Uslov je da dok LED diode trepću, naš MK ne reaguje na dugme. To jest, sve dok efekat ne prođe, pritiskanje dugmeta se ni na koji način ne odražava na efekat. Efekat se NE prekida. Kada se efekat završi, tek tada će MK obraditi pritisak na dugme.

Čini se da je zadatak jasan. Prvo, napravimo jednostavno kolo u Proteusu. Dijagram će izgledati otprilike ovako (kliknite za povećanje, otvara se u novom prozoru):


Sve? Ne, ne sve! Sada šijemo naš MK sa HEX datotekom. Gdje ga mogu nabaviti? Od Atmel Studio 6. Ali da bismo ga kreirali, prvo treba da napišemo program po kojem će naš MK raditi. Kako sve to učiniti, pogledajte u ovom članku.

Ispod je tekst sa komentarima:



Također obratite pažnju na liniju koda:

(_delay_ms(50); // omogući kašnjenje od 50 milisekundi za sprečavanje odbijanja

Program Proteus Dobro bi funkcionisao i bez ove linije koda. Zašto smo ga onda stavili? Stvar je u tome da je stvarno stanje malo gore. Žrtveni jarac će u ovom slučaju biti najbezopasnije dugme koje ćemo staviti u krug za prebacivanje vijenaca, sastavljajući ga na matičnu ploču.

Što tipka radi u krugu prema dizajnu MK kola? On daje logičku nulu ili jedan na MK pin. pa? Dakle. Ali u stvarnom krugu, on se ne zatvara odmah i ne otvara krug. Prilikom zatvaranja ili otvaranja dugmeta nemamo jasno prebacivanje nivoa signala sa logičke jedinice na nulu i obrnuto. Prebacivanje pomoću dugmeta izgleda otprilike ovako:

Od logičke jedinice do nule otprilike ovako:


Od nule do jedan otprilike ovako:


Sav ovaj bilbord prilikom prebacivanja dugmeta naziva se kontakt odbijanjem i ometa programere logičkih uređaja. Činjenica je da MK ove haotične impulse može računati ili kao logičku jedinicu ili kao nulu. Ovaj nesporazum je sada riješen jednostavnom linijom koda.

Projektu prilažem SIshnik, HEX i Proteus fajl.

Načini ukrašavanja božićno drvce ima ih mnogo, evo jednog od njih.

Slika 1 prikazuje dijagram Novogodišnji vijenac. Sadrži četiri kanala na koje su povezane serijski povezane LED diode, prikazano na slici 2.

Jezgro kola je mikrokontroler PIC16F628A. Mikrokontroler radi prema algoritmu prikazanom na slici 3. Programski kod je napisan u asemblerskom jeziku, pogledajte listu Garland\16F628ATEMP.ASM.

Potpuni ciklus programiranja i otklanjanja grešaka u mikrokontroleru PIC16F628A izveden je korištenjem (integrirano razvojno okruženje), kompajlera MPASM v5.22 (uključen u MPLAB IDE v8.15) i MPLAB ICD 2 (in-circuit debugger - “ Debugger”). Za one koji nemaju gore navedene alate, ali imaju svoj program za rad sa HEX datotekama i drugi programator, možete pronaći datoteku 16F628ATEMP.HEX u odgovarajućem projektu. Tehničke specifikacije mikrokontrolera možete pronaći na web stranici i.

Mikrokontroler DD1 ima funkcionalne izlaze RB4 – RB7, na koje su povezani pojačavajući signali polja MOSFET tranzistori VT1 – VT4. Tehničke specifikacije za tranzistore možete pronaći na web stranici. Odvodi tranzistora su povezani na utične stezaljke X2 – X5. Napon napajanja opterećenja se postavlja pomoću strujnog kruga, koji je spojen na konektor X1. Maksimalna uključena struja po kanalu je 0,5 A. Mikrokontroler DD1 nema funkciju prinudnog resetovanja, pin za resetovanje je povezan preko otpornika R1 na pozitivni potencijal napajanja. Za generiranje frekvencije takta, mikrokontroler koristi generator takta na čipu. Uređaj može raditi u temperaturnom rasponu od – 40 °C do +85 °C.

Uređaj se napaja AC ili stalni izvor napon spojen na konektor X1. Nazivni napon napajanja je 12 V. Nazivna struja napajanja ovisi o opterećenju i iznosi 0,5 - 2 A. Za stabilizaciju napajanja koristi se konvencionalno kolo: diodni most VD1, linearni stabilizator DA1 , filter kondenzatori C1 - C4.

Mikrokontroler je programiran sa 3 svetlosna efekta, zasnovana na efektu „running lights“.
1) Vijenci se naizmjenično pale i gase u jednom smjeru i ponavljaju se na isti način u drugom smjeru.
2) Vijenci svijetle jedan po jedan i kada se upale sva četiri vijenca, počinju se gasiti jedan po jedan u istom smjeru, a isto se ponavlja obrnutim redoslijedom.
3) 1 i 2, 3 i 4 vijenci naizmenično namiguju jedan drugom. Mikrokontroler je programiran da izvrši unapred određeni broj ponavljanja svetlosnog efekta. Vrijedi napomenuti da se vremenski interval između paljenja vijenaca mijenja (povećava se, dostiže vrhunac, a zatim pada), odnosno vidljiv je efekat "privremenog zamaha". Da biste bolje prikazali svjetlosne efekte, vijence (kako su numerirani na dijagramu) treba postaviti redom u istoj ravni. U ovom slučaju, ukrasite smreku od korijena do vrha (okomito, dijeleći smreku na četiri sektora za vijence), od 1 do 4 vijenca.

Napajanje vijenaca je povezano sa izvorom napajanja spojenim na konektor X1, stoga je potrebno izračunati serijski spojene svjetlosne elemente (LED, žarulje sa žarnom niti). Ukupni napon napajanja nalazi se iz zbira napona serijski povezanih elemenata koji emituju svjetlost. Na primjer, u jednom vijencu će biti 6 serijski povezanih svijetlih LED dioda dizajniranih za napon od 2 - 2,5 V. Budući da LED diode troše 20 mA, moguće je spojiti serijski spojene LED diode paralelno u redove.

Ugradnja dijelova je jednostrana. Veličina rupa se kreće od 0,7 mm do 3 mm. Fajlovi za izradu štampane ploče nalaze se u fascikli.

PCB je prikazano na slici 4. Za lokaciju dijelova pogledajte sliku 5.

IN ovaj uređaj Sljedeći dijelovi se mogu zamijeniti. Mikrokontroler DD1 iz serije PIC16F628A-I/P-xxx sa radnom frekvencijom takta od 20 MHz u DIP18 kućištu. Stabilizator napona DA1 domaći KR142EN5A (5 V, 1,5 A). Field MOSFETs tranzistori i VT1 - VT4 (N-kanal) u I-Pak (TO-251AA) paketu, prikladni su analozi ocjena navedenih na dijagramu. Diodni most VD1 za radni napon od najmanje 25 V i struju od najmanje 2 A. Konektor za napajanje X1 je sličan onom prikazanom na dijagramu sa centralnim kontaktom d=2,1 mm. Nepolarni kondenzatori C1 i C2 nominalne vrijednosti 0,01 – 0,47 µF x 50 V. Elektrolitički kondenzatori C3 i C4 imaju istu kapacitivnu snagu, a napon nije niži od onog prikazanog na dijagramu. Višebojne LED diode VD1 – VD6 za napon 2 - 2,5 V.

Spisak radioelemenata

Oznaka Tip Denominacija Količina NapomenaShopMoja beležnica
DD1 MK PIC 8-bit

PIC16F628A

1 U notes
DA1 Linearni regulator

L7805AB

1 KR142EN5A U notes
VT1-VT4 MOSFET tranzistor

IRLU024N

4 U notes
VD1 Diodni most2W10M1 U notes
C1 Kondenzator0,1 µF1 U notes
C2 Kondenzator0,1 µF1 U notes
C3 100uF 10V1 U notes
C4 Elektrolitički kondenzator220uF 25V1

Svima su nam poznati vijenci za božićno drvce koji se sastoje od raznobojnih sijalica. Međutim, u u poslednje vreme Proizvodi bazirani na LED diodama postaju sve popularniji.

Kako su dizajnirani, koji dijagram povezivanja imaju i što učiniti ako vijenac prestane svijetliti, detaljno će se raspravljati u ovom članku.

Od čega se sastoji vijenac za božićno drvce?

Šta je vijenac od LED dioda, da li je lošiji ili bolji od običnog?

Izvana, ovo je gotovo isti proizvod kao i prije - žice, sijalice (LED), upravljačka jedinica.

Najvažniji element je, naravno, upravljačka jedinica. Mala plastična kutija na kojoj su naznačeni različiti načini rada pozadinskog osvjetljenja.

Mogu se mijenjati jednostavnim pritiskom na dugme. Sama jedinica može biti prilično dobro zaštićena IP44 nivoom zaštite od vlage i prašine.

Šta je unutra? Da biste ga otvorili, oštrim vrhom noža ili tankim odvijačem podignite zasune odozdo i skinite zaštitni poklopac.

Usput, ponekad je zalijepljen, a ne samo sjedi na kvakama.

Prije svega, unutra ćete vidjeti žice zalemljene na ploču. Deblja žica je obično mrežna žica, koja dovodi napon od 220V.

Zalemljeno na ploči:

  • kontroler koji stvara sve svjetlosne efekte
  • tiristori, svaki od njih ide na poseban kanal vijenca
  • otpornici
  • kondenzator
  • i diodnih mostova

Broj elemenata ploče ovisi prvenstveno o broju svjetlosnih kanala vijenca. Skuplji modeli mogu imati osigurač.

Dijagram LED vijenca

Mrežni napon naizmjenične struje se dovodi do regulatora napajanja preko otpornika i diodnog mosta, već ispravljenog i izglađenog preko kondenzatora.

U ovom slučaju, ovaj napon se napaja preko dugmeta, koje je otvoreno u normalnom stanju. Kada ga zatvorite, režimi kontrolera se menjaju.

Regulator zauzvrat upravlja tiristorima. Njihov broj zavisi od broja kanala pozadinskog osvetljenja. I nakon tiristora izlazna snaga ide direktno na LED diode u vijencu.

Što je više takvih izlaza, to su boje koje proizvod može imati raznovrsnije. Ako ih ima samo dva, to znači da će samo dva dijela (ili polovice) vijenca raditi u različitim režimima - neke žarulje će se ugasiti, druge će upaliti itd.

Zapravo, ove dvije linije dioda će biti povezane na dva kanala u seriji. Oni će se međusobno povezati na krajnjoj tački - posljednjoj LED diodi.

Ako vas iz nekog razloga nervira treptanje vijenca i želite da ravnomjerno svijetli samo jednom bojom, dovoljno je lemljenjem kratko spojiti katodu i anodu tiristora na stražnjoj strani ploče.

Što je vijenac skuplji, to će više odlaznih kanala i ožičenja napustiti kontrolnu ploču.

U isto vrijeme, ako pratite tragove ploče, jedan od izlaza mrežnog napona uvijek se napaja direktno na završnu LED diodu vijenca, zaobilazeći sve elemente kola.

Uzroci kvara

Situacije s kvarovima vijenca su vrlo raznolike.

Istovremeno, zapamtite da najvažniji element - mikrokolo na ploči - "gori" vrlo, vrlo rijetko.

U otprilike 5-10% svih slučajeva.

  • Loš kontakt na žicama
  • LED u jednoj od sijalica
  • Kondenzator
  • Otpor
  • Jedna od dioda
  • Jedan od tiristora
  • Kontrolerski čip

Loše lemljenje

Ako vam pozadinsko osvjetljenje iznenada prestane raditi, prije svega uvijek provjerite lemljenje dovodnih i izlaznih žica. Sasvim je moguće da je cijeli kontakt držao samo vruće ljepilo.

Vrijedi pomjeriti ožičenje i kontakte kao i obično.

Najčešći problem kod kineskih vijenaca je korištenje vrlo tankih žica, koje se jednostavno prekidaju na mjestima lemljenja na ploči.

Da se to ne bi dogodilo, svi kontakti nakon lemljenja moraju biti prekriveni debelim slojem ljepila za topljenje.

A kada skidate takve vene, savjetuje se da koristite ne nož, već upaljač. Umjesto da izolaciju skidate oštricom, lagano je zagrijte i istopite upaljačem.

Nakon toga jednostavno noktima uklonite vanjski sloj bez oštećenja samih vena.

Oštećenje LED dioda

Ako su kontakti žice u redu i griješite na jednoj od dioda, kako možete provjeriti da li je neispravna? I što je najvažnije, kako ga pronaći među čitavim nizom sijalica?

Prije svega, isključite vijenac iz utičnice. Počnite s posljednjom diodom. Žica za napajanje dolazi do njega direktno iz kontrolne jedinice.

Odlazni provodnik je zalemljen na istu nogu. Odlazi do sljedećeg ogranka svjetlosnog kanala. Također morate testirati diodu između njene dvije žice za napajanje (ulaz-izlaz).

Trebat će vam multimetar i njegove donekle modernizirane sonde.

Tanke igle su navojem čvrsto vezane za vrhove sondi testera tako da im vrhovi vire maksimalno 5-8 mm.

Sve zamotajte odozgo debelim slojem izolacijske trake.

Pošto su LED diode zalemljene, nećete ih moći jednostavno izvući iz sijalice kao kod običnih vijenaca.

Stoga ćete morati probušiti izolaciju vodiča da biste došli do bakrenih vodiča ožičenja. Prebacite multimetar na režim testiranja dioda.

I počinjete uzastopno probijati dovodne žice u blizini svake sumnjive diode.

Ako imate vijenac ne 220V, već 12V ili 24V, koji je priključen na ovo napajanje:

tada bi radna LED dioda iz baterije multimetra trebala upaliti.

Ako je ovo pozadinsko osvjetljenje od 220 V, provjerite očitanja multimetra.

Na radnim elementima bit će približno isti, ali neispravan će pokazati lom.

Metoda je naravno varvarska i oštećuje izolaciju, ali djeluje prilično dobro. Istina, nakon takvih uboda, bolje je ne koristiti ulične vijence na otvorenom.

Haotično treptanje

Postoji situacija kada upalite vijenac i on počne haotično da treperi, nekad jače, nekad slabije. Sama sortira kanale.

Generalno, stiče se utisak da se ne radi o nekom fabričkom efektu, već kao da je vijenac „poludio“.

Ovdje je najčešće problem elektrolitički kondenzator. Može nabubriti i malo nabubriti, a to će biti jasno vidljivo čak i golim okom.

Sve se može riješiti zamjenom. Denominacija je naznačena na kućištu, tako da možete lako kupiti i odabrati sličan u prodavnicama radio delova.

Ako ste zamijenili kondenzator, ali nije dao nikakav efekat, gdje dalje tražiti? Najvjerovatnije je jedan od otpornika izgorio (pokvario). Prilično je problematično vizualno odrediti kvar. Trebaće vam tester.

Mjerite otpor, nakon što ste prethodno saznali njegovu nominalnu (normalnu) vrijednost iz oznaka. Ako se ne poklapa, promijenite ga.

Dio vijenca ne sija

Kada bilo koji od kanala na vijencu ne radi u potpunosti, mogu postojati dva razloga.

Na primjer, kvar na jednom od tiristora ili dioda odgovornih za to.
Da biste bili sigurni u to, jednostavno odlemite ožičenje ovog kanala na ploči sa svog mjesta i spojite tamo susjedni kanal, za koji se zna da radi.

A ako u isto vrijeme prestane raditi i drugi kanal, onda problem nije u samom vijencu, već u komponentama njegove ploče - tiristoru ili diodi.

Provjeravate ih multimetrom, pronalazite one koji odgovaraju parametrima i mijenjate ih.

Vijenac slabo sija

Takođe nema sasvim očiglednih nezgoda, kada se čini da su LED diode posebnog kanala upaljene, ali prilično slabo u poređenju sa ostalima.

šta to znači? Kolo kontrolera radi dobro. Kada pritisnete dugme, svi režimi se menjaju.

Testiranje parametara diodnog mosta i otpora testerom također ne otkriva nikakve probleme. U ovom slučaju, jedino što je preostalo za krivnju su žice. Oni su već prilično krhki, a kada se takva višežilna žica prekine, njen poprečni presjek se još više smanjuje.

Kao rezultat toga, vijenac jednostavno nije sposoban pokrenuti LED diode u načinu nominalne svjetline, jer jednostavno nemaju dovoljan napon. Kako pronaći ovu pokidanu venu u dugačkom vijencu?

Da biste to učinili, morat ćete rukama hodati duž cijele linije. Uključite vijenac i počnite pomicati žice u blizini svake LED diode dok svo pozadinsko svjetlo ne zasvijetli punom snagom.

Prema Murphyjevom zakonu, ovo može biti posljednji komad vijenca, stoga budite strpljivi.

Čim pronađete ovo područje, uzmite lemilicu i rastavite žice na LED diodi. Očistite ih upaljačem i ponovo sve zalemite.

Zatim izolirajte područje lemljenja termoskupljanjem.

Zamolili su me da nekako sastavim jednostavnu i jeftinu vijenac na mikrokontroleru. Naišao sam na najjeftiniji osmobitni AVR mikrokontroler Attiny13. U ovom članku želim opisati korak po korak proces sastavljanja ovog uređaja.

Od detalja će nam trebati:
Mikrokontroler Attiny13 - 1 kom.
DIP-8 utičnica - 1 kom.
Otpornik 4,7 kOhm - 1 kom.
Otpornik 100 Ohm - 5 kom.
PLS igle - 2 kom.
LED diode (bilo koje) - 5 kom.
BLS-2 utičnica - 1 kom.
Pretinac za baterije - 1 kom.

Podijelio sam sastavljanje uređaja u nekoliko faza:
Faza 1. Izrada ploče
Faza 2. Lemljenje radio dijelova na ploču
Faza 3. Izrada programatora za flešovanje firmvera mikrokontrolera
Faza 4. Firmver mikrokontrolera

Faza 1. Izrada ploče

Pažnja! Apsolutno nije potrebno praviti ploču; Ali ipak je bolje i ljepše napraviti ploču za uređaj.

Dakle, prvo nam je potrebno sljedeće:
Komad tekstolita (veličine 45 x 30 mm)

Mali kapacitet
Voda
Trajni marker
Malo tehničkog alkohola ili kolonjske vode
Eraser

Površina PCB-a je prekrivena bakrenom folijom, a folija, kao i svaki drugi metal, ima svojstvo oksidacije na zraku. Stoga, uzmimo gumicu i obrišemo bakreni dio PCB-a.

Jesi li ti nacrtao? Odlično. Sada morate nagrizati ploču pomoću željeznog klorida.
Prilikom jetkanja, željezni hlorid izgriza (nije prefarban markerom) dio bakrenog premaza tekstolita.

I tako, pošto je željezni hlorid prah, moramo ga razrijediti u vodi.
Evo omjera: 100g. željeznog hlorida na 700 ml vode. Ali ne treba nam toliko, pa uzimamo 10g. po 100 ml. vode. Zatim spuštamo našu ploču u ovo rješenje.

I čekamo oko dva sata (dok otopina željeznog klorida ne pojede neobojeni dio bakrenog premaza PCB-a).

Nakon što je ploča nagrizena, izvadite je iz posude i isperite pod tekućom vodom.

Evo fotografije urezane ploče.

Sada brišemo marker sa ploče (tehnički alkohol ili kolonjska voda su odlični za ovo).

Pošto nemam električnu bušilicu koristim školski kompas

Nakon što su napravljene sve rupe na ploči, potrebno je očistiti je finim brusnim papirom.

Sada uključite lemilicu i limajte ploču. Ispod je fotografija kalajisane ploče.

Sva kolofonija koja je ostala na ploči može se obrisati industrijskim alkoholom ili sredstvom za uklanjanje laka za nokte.

Ploča je spremna! Prva faza završena!

Faza 2. Lemljenje radio dijelova na ploču

Nakon što ste napravili ploču (ili je možda neko nije napravio, ali je odlučio koristiti matičnu ploču), morate na nju zalemiti radio dijelove.

Dijagram LED vijenca na Attiny13 mikrokontroleru:

Zalemimo radio dijelove na ploču (prema dijagramu iznad) i dobijemo sljedeći uređaj:

Cijeli uređaj je skoro spreman, preostaje samo flešovanje mikrokontrolera.
Faza 2 završena!

Faza 3. Izrada programatora za flešovanje firmvera mikrokontrolera

Pažnja! Ako već imate programator za AVR mikrokontrolere, možete preskočiti ovaj korak i sami flešovati mikrokontroler! Možete preuzeti firmver sa linka na dnu stranice.

Programator ćemo sastaviti na LPT portu računara. Evo dijagrama programatora:

Na slici u pravougaoniku (gde je LPT port) je kontakt broj na koji treba spojiti ožičenje. Pokušajte da žice budu kraće (ne više od 20 cm). Ako su žice duže od 20 cm, tada će tokom firmware-a ili čitanja mikrokontrolera doći do grešaka koje mikrokontroleru mogu koštati života!
Budite veoma oprezniLPT port je vrlo lako spaliti!

Za izradu programera trebat će nam:
25-pinski konektor za LPT port(tata)
Otpornici 150 Ohm 4 kom.
Otpornik 10 kOhm 1 kom.
Baterija od 3 volta

Evo moje verzije programatora:

Sada možete početi s flešovanjem firmvera mikrokontrolera.

Faza 4. Firmver mikrokontrolera

Pažnja! Ova faza opisuje firmver mikrokontrolera Attiny13 koristeći program i programator za LPT port.

Svi znaju da je bez firmware-a mikrokontroler čip koji ništa ne radi, a da bi kontrolisao naš vijenac, moramo ga flešovati.
Za firmware ćemo koristiti onaj koji smo prethodno napravili LPT programer, kompjuter i program PonyProg2000.
Prvo preuzmite firmver za vijenac (link na dnu stranice), zatim preuzmite program PonyProg2000 s Interneta i instalirajte ga.

Sada je sve gotovo spremno za flešovanje firmvera mikrokontrolera. Ostaje samo da povežete mikrokontroler sa programatorom i povežete programator sa računarom.
Nakon što je sve povezano, pokrenite program PonyProg2000.

Pojavit će se sljedeći prozor:

U prozoru kliknite na dugme „Da“.

Nakon kalibracije, pojavit će se sljedeća poruka:

To je to, program je kalibriran!

Sada idite na podešavanja (Podešavanje > Podešavanje interfejsa…). Pojavit će se sljedeći prozor:

Zatim u glavnom prozoru programa odaberite “AVR micro”, “Attiny13”

Sada ostaje samo da otvorite firmver da biste to uradili, izaberite „Otvori datoteku uređaja…“ u meniju „Datoteka“. Na listi "Vrsta datoteke:" odaberite "*.hex" i navedite put do firmvera našeg LED vijenca, kliknite na dugme "Otvori".

U glavnom prozoru kliknite na dugme "Napiši uređaj":

Nakon što se pojavi ova poruka:

Mikrokontroler je blic i u funkciji! Ali čekajte, još uvijek moramo postaviti bitove osigurača. Usput, bitovi osigurača su dio (4 bajta) u AVR mikrokontroleri u kojoj je pohranjena konfiguracija mikrokontrolera.

Da biste postavili bitove osigurača u “Command” meniju, izaberite “Sigurnosni i konfiguracioni bitovi...”, u prozoru koji se pojavi kliknite na dugme “Pročitaj” i označite kvadratiće kao na slici ispod:

Nakon što označite kućice (kao na slici iznad), kliknite na dugme "Napiši". Sve je spremno!
Sada isključite računar i uklonite mikrokontroler iz programatora, umetnite mikrokontroler u utičnicu na ploči s vijencem. Ako je sve urađeno ispravno, onda kada se uključi napajanje (3 volta) vijenac bi trebao raditi!

U zaključku želim da kažem da sam program napisao u okruženju (izvor je u prilogu), program ima 9 potprograma efekata, tako da vas ništa ne sprečava da kreirate sopstvene efekte.

Uređaj podrazumevano ima 4 različita efekta:
1. Running point
2. Linija za trčanje
3. LED prekidač
4. Trepće

U nastavku možete preuzeti firmver, izvore, projekat u Proteusu

Spisak radioelemenata

Oznaka Tip Denominacija Količina NapomenaShopMoja beležnica
Garland
U1 MK AVR 8-bit

ATtiny13

1 U notes
R1-R5 Otpornik

300 Ohm

5 U notes
R6 Otpornik

4,7 kOhm

1 U notes
D1-D5 LED 5 U notes
Panel 1 DIP-8 U notes
Otpornik

Kako se u narodu kaže - pripremi sanke na ljeto...
Sigurno uključeno Nova godina Jelku kitite svim vrstama vijenaca, a najvjerovatnije su već odavno dosadili monotonijom treptanja. Voleo bih da uradim nešto da, vau, trepće kao na prestoničkim jelkama, samo u manjem obimu. Ili ga, u krajnjem slučaju, okačite na prozor da ova ljepotica obasjava grad sa 5. sprata.
Ali, nažalost, takvih vijenaca nema na prodaju.

Zapravo, upravo je to problem koji je morao biti riješen prije dvije godine. Štaviše, zbog lijenosti su prošle 2 godine od ideje do realizacije, kao i obično, a sve je urađeno u zadnjih mjesec dana. Zapravo, imat ćete više vremena (ili ja ništa ne razumijem u ljudsku psihologiju, a sve će se raditi potpuno isto u zadnje 2 sedmice prije nove godine?).

Rezultat je prilično jednostavan dizajn pojedinačnih modula sa LED diodama, te jedan zajednički koji prenosi komande sa računara na mrežu ovih modula.

Prva verzija modula je zamišljena da ih poveže na mrežu preko dvije žice, kako bi bilo manje zabune i svega toga - ali nije išlo, na kraju je bio potreban prilično moćan i brz prekidač za prebacivanje snage čak i malog broja modula - očito pretjerano zbog jednostavnosti dizajna, pa sam dao prednost trećoj žici nije tako zgodno, ali je mnogo lakše organizirati kanal za prijenos podataka.

Kako sve funkcioniše.

Razvijena mreža je sposobna da adresira do 254 slave modula, koji će se dalje zvati SLAVE - povezani su sa samo 3 žice, kao što ste pretpostavili - dvije žice su +12V za napajanje, zajednička a treća je signalna.
imaju jednostavnu shemu:


Kao što vidite, podržava 4 kanala - crveni, zeleni, plavi i ljubičasti.
Istina, prema rezultatima praktičnog testiranja, ljubičasta je jasno vidljiva samo izbliza, ali kako! Takođe, zbog činjenice da su boje predaleko jedna od druge, mešanje boja se može videti samo sa 10 metara udaljenosti, ako koristite RGB LED, situacija će biti nešto bolja.
Da bismo pojednostavili dizajn, morali smo i odustati kvarcna stabilizacija- prvo, dodatno povlačenje oduzima, a drugo trošak kvarcni rezonator prilično uočljivo i treće - nema hitne potrebe za tim.
Zaštitna kaskada je sastavljena na tranzistoru tako da port kontrolera ne bude uništen statikom - linija i dalje može biti prilično duga, u ekstremnim slučajevima samo će tranzistor patiti. Kaskada je izračunata u MicroCap-u i ima približni prag odziva od oko 7 volti i slabu ovisnost praga o temperaturi.

Naravno, u najboljoj tradiciji, svi moduli odgovaraju na broj adrese 255 - na taj način možete ih sve isključiti u isto vrijeme jednom komandom.

Modul pod nazivom MASTER je također povezan na mrežu - on je posrednik između PC-a i mreže slave SLAVE modula. Između ostalog, to je izvor referentnog vremena za sinhronizaciju slave modula u odsustvu kvarcne stabilizacije u njima.

Šema:

Kolo sadrži opcione potenciometre - mogu se koristiti u PC programu za praktično i operativne postavkeželjene parametre, uključeno trenutno ovo je implementirano samo u testnom programu u vidu mogućnosti da se bilo koji od potenciometara dodijeli bilo kojem od 4 kanala. Kolo je povezano sa računarom preko USB-UART pretvarača interfejsa na FT232 čipu.

Primjer paketa poslanog na mrežu:

Njegov početak:

Električne karakteristike signala: log.0 odgovara +9...12V, a log.1 odgovara 0...5V.

Kao što vidite, podaci se prenose sekvencijalno, fiksnom brzinom od 4 bita. To je zbog neophodne margine greške u brzini prijema podataka - SLAVE moduli nemaju kvarcnu stabilizaciju, a ovaj pristup garantuje prijem podataka kada brzina prijenosa odstupa do +-5% iznad onih koje su kompenzirane programska metoda baziran na mjerenju kalibriranog intervala na početku prijenosa podataka, koji pruža otpor prema pomaku referentne frekvencije za još +-10%.

Zapravo, algoritam rada MASTER modula nije toliko zanimljiv (prilično je jednostavan - podatke primamo preko UART-a i prosljeđujemo ih u mrežu slave uređaja), sva najzanimljivija rješenja implementirana su u SLAVE modulima, koji zapravo omogućavaju da se prilagodite brzini prenosa.

Glavni i najvažniji algoritam je implementacija 4-kanalnog 8-bitnog softvera PWM koji vam omogućava kontrolu 4 LED diode sa 256 gradacija svjetline za svaku od njih. Implementacija ovog algoritma u hardveru također određuje brzinu prijenosa podataka na mreži - radi pogodnosti softvera, jedan bit se prenosi za svaki korak PWM operacije. Preliminarna implementacija algoritma je pokazala da radi u 44 ciklusa takta, pa je odlučeno da se koristi tajmer konfigurisan da prekida svakih 100 ciklusa takta - na taj način prekid ima vremena da bude zagarantovan da se izvrši pre sledećeg i da se izvrši dio koda glavnog programa.
Na odabranoj frekvenciji takta internog oscilatora od 4,8 MHz, prekidi se javljaju na frekvenciji od 48 kHz - ovo je brzina bita koju mreža podređenih uređaja ima i PWM se puni istom brzinom - kao rezultat toga, frekvencija PWM signal je 187,5 Hz, što je sasvim dovoljno da se ne primijeti treperenje LED dioda. Također, u rukovatelju prekida, nakon izvršavanja algoritma odgovornog za generiranje PWM-a, bilježi se stanje sabirnice podataka - ispada otprilike u sredini intervala prelijevanja tajmera, što pojednostavljuje prijem podataka. Na početku prijema sljedećeg 4-bitnog paketa, tajmer se resetuje, što je neophodno za precizniju sinhronizaciju prijema i otpornost na odstupanja brzine prijema.
Rezultat je sljedeća slika:

Zanimljiva je implementacija algoritma za podešavanje brzine prenosa. Na početku prijenosa, MASTER izdaje impuls u trajanju od 4 bita log.0, iz kojeg svi slave moduli određuju potrebnu brzinu prijema pomoću jednostavnog algoritma:

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

St_syn_delay = 60 - konstanta koja određuje maksimalno trajanje startnog impulsa, za koje se uzima da je približno 2 puta veća od nominalne vrijednosti (radi pouzdanosti)

Eksperimentalnom metodom ustanovljena je sljedeća ovisnost rezultirajućeg broja u tmp2 kada frekvencija takta odstupa od nominalne:

4,3Mhz (-10%) 51 jedinica (0x33) odgovara 90 otkucaja tajmera za vraćanje brzine prijema na nominalnu
4,8Mhz (+00%) 43 jedinice (0x2B) - odgovara 100 taktova tajmera (nominalno)
5,3Mhz (+10%) 35 jedinica (0x23) - odgovara 110 otkucaja tajmera za vraćanje brzine prijema na nominalnu

Na osnovu ovih podataka izračunati su faktori korekcije za period prekida tajmera (ovako se brzina prijema prilagođava postojećoj taktnoj frekvenciji kontrolera):

Y(x) = 110-x*20/16
x = tmp2 - 35 = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
Y(x) = (110, 108,75, 107,5, 106,25, 105, 103,75, 102,5, 101,25, 100, 98,75, 97,5, 96,25, 95, 93,75, 93,75, 95, 93,75, 93,75),

Brojevi se zaokružuju na cijele brojeve i pohranjuju u EEPROM.

Ako pri donošenju napona na modul držite liniju u logičkom stanju "1", aktivirat će se potprogram za kalibraciju, koji će vam omogućiti mjerenje perioda PWM signala frekventnomjerom ili osciloskopom bez korekcije i na osnovu na merenjima procenite odstupanje taktne frekvencije kontrolera modula od nominalne, sa jakim odstupanjem od više od 15% Možda će biti potrebno podesiti konstantu kalibracije ugrađenog RC oscilatora. Iako proizvođač obećava kalibraciju u tvornici i odstupanje od nominalne vrijednosti ne više od 10%.

Trenutno je razvijen Delphi program koji vam omogućava da reprodukujete prethodno kompajlirani obrazac za 8 modula na datoj brzini. Kao i uslužni program za rad sa zasebnim modulom (uključujući ponovno dodjeljivanje adrese modula).

Firmware.
za SLAVE modul, potrebno je upaliti samo osigurače CKSEL1 = 0 i SUT0 = 0. Sadržaj EEPROM-a se flešuje iz datoteke RGBU-slave.eep, ako je potrebno, možete odmah postaviti željenu adresu modula na mreži - 0. bajt EEPROM-a, po defaultu se treperi kao $FE = 254 , adresa 0x13 sadrži kalibracionu konstantu ugrađenog RC oscilatora kontrolera, na frekvenciji od 4,8 MHz se ne učitava automatski, pa je potrebno programatorom očitati fabričku vrijednost kalibracije i upisati je u ovu ćeliju - ova vrijednost je individualna za svaki kontroler sa velikim odstupanjima frekvencije od nominalne vrijednosti, možete promijeniti kalibraciju kroz ovu ćeliju bez utjecaja na tvorničku vrijednost.

Za MASTER modul potrebno je upaliti samo osigurače SUT0 = 0, BOOTSZ0 = 0, BOOTSZ1 = 0, CKOPT = 0. Ostalo ostavite neflešenim.

Na kraju, mala demonstracija vijenca koji se nalazi na balkonu:

Zapravo, funkcionalnost vijenca određuje program na PC-u - možete kreirati muziku u boji, elegantno prelivno osvjetljenje prostorije (ako dodate LED drajvere i koristite moćne LED diode) - itd. Šta planiram da radim u budućnosti? Planovi uključuju mrežu od 12 modula sa RGB LED diodama od 3 vata i rasvjetu prostorije baziranu na komadima 12-voltne RGB trake (potrebni su vam samo tranzistori s efektom polja za prebacivanje trake za svaki modul, 3 komada ili 4 ako dodate komad ljubičaste trake druge razlike od tamo neće biti originala).

Da biste upravljali mrežom, možete napisati vlastiti program, čak i na BASIC-u - glavna stvar koju bi odabrani programski jezik trebao učiniti je biti u mogućnosti da se poveže na besmrtne COM portove i konfiguriše njihove parametre. Umjesto USB interfejsa, možete koristiti adapter sa RS232 - ovo daje potencijalnu mogućnost kontrole svjetlosnih efekata sa širokog spektra uređaja koji se općenito mogu programirati.
Protokol razmjene sa MASTER uređajem je prilično jednostavan - šaljemo naredbu i čekamo odgovor o njenom uspjehu ili neuspjehu ako nema odgovora više od nekoliko milisekundi, postoje problemi s vezom ili radom MASTER uređaja; , u kom slučaju je potrebno izvršiti proceduru ponovnog povezivanja.

Trenutno su dostupne sljedeće komande:

0x54; simbol “T” - komanda “test” - provjerite vezu, odgovor bi trebao biti 0x2B.
0x40; simbol "@" je komanda "preuzmi i prenesi". Nakon izdavanja naredbe, trebate pričekati odgovor "?" slijedi 6 bajtova podataka:
+0: ​​Slave adresa 0..255
+1: Komanda za uređaj
0x21 - bajtovi 2...5 sadrže svjetlinu kanala koja se mora odmah primijeniti.
0x14 - postavite vremensko ograničenje, nakon kojeg će biti osvetljenost na svim kanalima
resetujte na 0 ako nijedna komanda nije primljena tokom ovog vremena. Vrijednost vremenskog ograničenja je u ćeliji crvenog kanala, tj. u bajtu na ofsetu +2. vrijednost 0-255 odgovara timeoutu od 0-25,5 sekundi prema zadanim postavkama, timeout = 5 sekundi (zapisano u EEPROM-u tokom firmvera, također se može promijeniti tamo u bajtu sa pomakom +1).
0x5A - promjena adrese uređaja.
Radi pouzdanosti, postupak promjene adrese mora se izvršiti tri puta - tek tada će se nova adresa primijeniti i registrovati u EEPROM. Istovremeno, morate biti oprezni - ako dodijelite istu adresu za dva uređaja, oni će reagirati sinhrono, a možete ih "razdvojiti" samo fizičkim isključivanjem dodatnih modula iz mreže i promjenom adrese preostalih jedan ili pomoću programatora. Vrijednost nove adrese se prenosi u ćeliju crvenog kanala - tj. u bajtu na ofsetu +2.

2: Osvetljenost crvene boje 0...255
+3: Zelena svjetlina 0...255
+4: Plava svjetlina 0...255
+5: Ljubičasta svjetlina 0...255

0x3D; simbol "=" - ADC komanda. Nakon izdavanja naredbe, trebate pričekati odgovor "?" tada treba prenijeti 1 bajt - broj ADC kanala 0..7 u binarnom obliku (ASCII brojevi 0..9 su također prikladni u ovom kapacitetu, pošto se najviša 4 bita zanemaruju).
Kao odgovor, komanda vraća 2 bajta rezultata mjerenja u rasponu od 0...1023

Mogući odgovori na komande:
0x3F; simbol "?" - spreman za unos podataka, znači da je uređaj spreman za primanje komandnih argumenata
0x2B; simbol "+" Odgovor - naredba je izvršena
0x2D; simbol "-" Odgovor - naredba nije definirana ili je netačna

Više detalja možete dobiti iz izvornog koda koji se nalazi na GitHub-u, gdje se nalaze i najnovije verzije gotovih firmvera.