Radio konstruktors - zemfrekvences signāla līmeņa LED indikators. Divu kanālu pīķa VU mērītājs uz ATmega8 Pāriesim pie dizaina

10.09.2021

Sveiki. Brīvdienas ir beigušās un var atsākt strādāt. Droši vien daudzi jau ir redzējuši mūsu fotoattēlus ar LED līmeņa indikatoru - viedās gaismas diodes WS2812B. Nolēmu pastāstīt vairāk par kolonnām. Turklāt mani kolēģi skatās uz mani ar tukšu skatienu: tā ir forša lieta, bet tikai daži cilvēki par to zina. Mums tas ir jāizlabo.

Es domāju, ar ko sākt, un nolēmu, ka jau pašā sākumā. Līmeņa indikators vai, kā to sauc arī par VU -metrs, mēs jau sen gribējām dabūt tādu ar LED. To var veiksmīgi izmantot kā dekorāciju, piemēram, iebūvētu pastiprinātājos, novietojot pie audio tehnikas vai datora monitora. Mēs neatradām nevienu gatavu risinājumu, kas mums patika, tāpēc mums bija jārada savs VU-metrs.

Pirmā izstrāde izskatījās šādi:

Šo līmeņa rādītāju uztaisīja mans kolēģis Konstantīns M. un dots man atmodai. Divus kanālus ar 16 vienas krāsas gaismas diodēm katru kontrolēja ATmega8 mikrokontrolleris, izmantojot divus 8 bitu maiņu reģistrus. Ekonomijas un ērtības labad tika izmantota dinamiskā indikācija: vienā kolonnā varēja iedegties tikai 16 gaismas diodes. Palaidu šalli, viss nostrādāja, bet nez kāpēc nevarēju kolonnu līmeņa maiņu padarīt skaistu.

Drīz pēc tam parādījās līmeņa rādītāja izstrāde, kas bija interesantāks par iepriekšējo:

Konstantīns Es to pagatavoju, pirmkārt, sev. Es to izlaidu dažās brīvdienās, bet izjaucu, neuzrādot nekādus rezultātus. Protams, es pēc tam paņēmu dēļus, lai to izmēģinātu pats. Kā prototips tika izgatavots tikai viens līmeņa indikatora kanāls. Pati kolonna sastāv no 32 RGB gaismas diodes moduļa veidā. Tas savienojas ar citu moduli ar 4 maiņu reģistriem, caur kuriem tiek veikta vadība. Hmm... Uz rēķina dinamisks displejs Vadības ierīces ir ļoti unikālas. Četri 8 bitu reģistri kontrolē gaismas diožu atlasi, kurām noteiktā laikā jāiedegas, un trīs tapas nosaka krāsu (R, G vai B). Atliek tikai pievienot dēli ar mikrokontrolleri un doties uz priekšu. Šeit mums izdevās tikt tālāk nekā iekšā iepriekšējā versija kolonnas. Vispirms es mēģināju darīt visu, izmantojot Arduino Due:

Man likās, ka mikrokontrolleris, kas darbojas ar frekvenci 84 MHz ar Arm arhitektūru, bija tieši piemērots. Pati kolonna katrai LED krāsai (R, G un B) atbalstīja 8 spilgtuma gradācijas. Vienlaicīgi varēja iedegt tikai vienu krāsu, tāpēc bija nepieciešams ik pēc 1 ms uz gaismas diodēm pārsūtīt vienu no 24 vērtību kombinācijām. Papildus bija jāstrādā ar ADC, jāveic decimāllogaritma aprēķini un citi aprēķini. Izņemot Arduino vidē Man nav bijusi iespēja strādāt ar šo mikrokontrolleri, tāpēc tas izrādījās neoptimizēts Arduino -kods. Bet pat neskatoties uz to,labi tika galā.

Kāpēc mēs rakstām programmu kādam mazpazīstamam Arm kontrolierim? Mēs par to domājām un paņēmām STM8S105C6T6 mikrokontrollera atkļūdošanas dēli:

Viss sākās bez problēmām. Šoreiz kods bija caurspīdīgs un tāpēc optimizēts. Kolonnai bija vairāki darbības režīmi, taču algoritmi nebija pilnībā izstrādāti, un, neskatoties uz to, mums jau patika līmeņa indikators. Ko darīt ar šo vadu virkni, kam tas vajadzīgs un kurš to vēlas savienot? Vajag kaut ko izdomāt...

Mums bija risinājums, taču šoreiz mēs to neieviesām. Jo kādu dienu – tā bija parasta ceturtdiena – notika sekojošais: kārtējais mans, ne mazāk vērtīgais, kolēģis Deniss V. izteica savu frāzi:"Paskaties, cik foršu es atradu"! Tā bija viedo gaismas diožu josla WS2812B:


Lai to pievienotu, nepieciešami tikai 3 vadi (signāls, 5 V jauda un kopīgs vads). Forši, ardievu virknei papildu vadu - padomājām un pasūtījām testēšanai lenti:



Par šo WS2812B LED lenti internetā ir runāts daudz - vienmēr var atrast ko interesantu un piemērotu. Pārsvarā cilvēki no tā taisa dažādas “gaismas”. Skaisti iznāk – protams, patēriņš"balti karsts"LED ir 40 mA. Ja lente ir gara, līdz USB ports Jūs to nevarat savienot ar datoru. Nepieciešams pietiekami jaudīgs strāvas avots - problēma, kas bija jāatrisina. Neskatoties uz šo sarežģītību, mani piesaistīja ērtība kontrolēt stabus, izmantojot vienu vadu. Kāpēc gan neiztaisīt no šīs lentes līmeņa indikatoru konstruktoru, lai varētu mainīt krāsu shēmas, pārslēgt režīmus... Un tas palīdzēs ar šo Arduino dēlis Pro Mini uz ATmega328 mikrokontrollera. To ir viegli programmēt, izmantojot UART-USB adapteri. Bija vēl viena grūtība: ļoti īsi laika intervāli starp datu ielādi."Gaismas" , protams, cilvēkiem izdevās... Bet, sūtot datus, vēlējāmies, lai būtu laiks paņemt vērtības no ADC, nolasīt no atmiņas, saglabāt, veikt aprēķinus... Tāpēc, kamēr lente bija ceļā, apsvērām iespēju izmantot aparatūras SPI, vai drīzāk MOSI signāls pārraides organizēšanai ar pārtraukumiem. Vai kontrolieris visam sekos līdzi? Vai arī mums būs jāoptimizē kods, kaut kā jākļūst radošam, jāiekļūst montētājā - tas bija jānoskaidro. Bet mēs jau noteikti zinājām, un no pēdējās kolonnas ieviešanas mēs apstiprinājām: LED skaits vienā kanālā būs 32 gabali. Kopumā divām kolonnām bija nepieciešams apstrādāt 64 viedās ugunspuķes. Raugoties nākotnē, es gribu teikt, ka WS2812B ir apgūts. Es joprojām cietīšu ar programmatūras daļu, pastāstīšu par aparatūru - būs turpinājums.

P.S. Ir parādījusies vēl viena kolonnu attīstība. Tas pats risinājums, kas tika uz laiku atlikts WS2812B atklāšanas dēļ, bet, pateicoties tam, tika modernizēts un vienkāršots. Tas ļaus izmantot jebkuras parastās gaismas diodes (vienkrāsu un RGB) un jaudīgāku apgaismojumu: pat prožektorus. Turklāt stieņi ir neliela daļa no tā, kas var rasties no mūsu idejas. Par to vairāk citreiz.

P.P.S. Nākamajā ziņojumā tiks parādīta shēma, kā savienot audio signāla līniju ar līmeņa mērītāju. Un tie, kuri ir ieinteresēti un nevar sagaidīt, lai redzētu, kādas kolonnas esam ieguvuši, var noskatīties šo video:


Ar cieņu, Ņikita O.

Piedāvāju jums vēl vienu vienkāršu stereo audio līmeņa mērītāju pastiprinātājam vai citai audio tehnikai. Indikatoram ir 2 kolonnas ar 20 gaismas diodēm un iespēja norādīt maksimālo līmeni. To kontrolē mikrokontrolleris IO1 - Atmel AVRATmega8A vai vecāks ATmega8 vai ATmega8L. Šī ir vienīgā integrētā shēma ierīcē, kas nodrošina abu audio kanālu norādi.

Indikatoram ir 20 LED sadalījumi katrā kanālā, 1 sadalījums atbilst 2 dB. Displeja diapazons no -34 līdz +4 dB. Kad audio signāla līmenis pārsniedz 0 dB (18. LED), notiek pārslodze. Kā indikācijas gaismas diodes varat izmantot monolītās kolonnas (LED līnijas) vai atsevišķas gaismas diodes. Gaismas diodes tiek vadītas multipleksā 10 soļos, 4 LED katrā solī, multipleksēšanas frekvence ir aptuveni 100 Hz. Rezistori R1 ... R4 nosaka strāvu un līdz ar to gaismas diožu spilgtumu. Kreisā un labā kanāla signāli ir pievienoti ieejām analogo-digitālo pārveidotāju ADC0 un ADC1. Skalas krišanas laiks (vājināšanās) ir aptuveni 600 ms.

Ierīce ir aprīkota arī ar maksimālā līmeņa indikatoru, ko var aktivizēt, izmantojot džemperi uz tāfeles ar uzrakstu IM (Maksimālā indikators). Audio līmeņa mērītāju darbina 5V barošanas avots, un visu gaismas diožu patēriņš ir aptuveni 45mA. Kondensatori C1 un C2 jāatrodas pēc iespējas tuvāk mikrokontrolleram IO1.

Arhīvs rakstam "Audio signāla līmeņa indikators 2x20 LED uz Atmega8"
Apraksts: Avota kods (Assembler), mikrokontrollera programmaparatūras fails
Faila lielums: 2,64 KB Lejupielādes skaits: 798

Es jums piedāvāju vienkāršu audio signāla indikatora projektu, atšķirīga iezīmeŠis projekts no citiem ir tāds, ka ķēdē es izmantoju 32 gaismas diodes katram kanālam, kas izrādījās gara rinda. Ierīces centrā - AVR mikrokontrolleris ATmega8535, ULN2803 - 8 kanālu Darlington slēdzis, lietots arī operacionālais pastiprinātājs, manuprāt, tā mērķis ir tikpat skaidrs. Indikatora jutība tiek regulēta ar rezistoriem R32 un R33, katram kanālam atsevišķi. Šis projekts ir mans diplomdarbs, ko es izdarīju pirms pāris gadiem, es uzgāju diagrammu, kad rakņājos pa mapēm savā datorā, un nolēmu to nosūtīt vietnei.

Diagramma ir diezgan apjomīga, es nesaīsināju gaismas diožu apzīmējumus, jūs varat redzēt diagrammu zemāk:

Runājot par gaismas diodēm, tos ir ērti nomainīt ar īpašām LED sloksnēm, un tās izskatīsies labāk.

Visa ierīce tika salikta uz maizes dēļa, iespiedshēmas plate Es nezīmēju, bet ikviens, kam patika projekts, var uzzīmēt iespiedshēmas plati un nosūtīt to forumam. Visus ķēdes radio komponentus var aizstāt ar līdzīgiem, rezistoru un kondensatoru vērtības var iestatīt līdzīgām vērtībām. Tranzistorus var aizstāt ar citiem līdzīgiem. Kristāla oscilators Varat iestatīt to uz 14-16 MHz, nevis kritiski. Ierīces fotoattēli zemāk:

Programmējot mikrokontrolleri, nav jāiestata drošinātāji, t.i. programmā atlasiet mums nepieciešamo kontrolieri, atveriet programmaparatūru un noklikšķiniet uz zibspuldzes. Ja ierīce ir salikta bez kļūdām, ķēde darbosies nekavējoties.

Radioelementu saraksts

Apzīmējums Tips Denominācija Daudzums PiezīmeVeikalsMans piezīmju bloks
IC1 MK AVR 8 bitu

ATmega8535

1 Uz piezīmju grāmatiņu
IC2, IC3 Kompozītu tranzistors

ULN2803

2 Uz piezīmju grāmatiņu
IC4A, IC4B Operacionālais pastiprinātājs

LM358

1 Uz piezīmju grāmatiņu
Q1-Q4 Bipolārs tranzistors

BD140

4 Uz piezīmju grāmatiņu
Q5 Kvarca rezonators16 MHz1 Uz piezīmju grāmatiņu
C1-C4, C11, C14 Kondensators100 nF6 Uz piezīmju grāmatiņu
C5-C8 Kondensators10 nF4 Uz piezīmju grāmatiņu
C9, C10, C15, C16 Kondensators220 nF4 Uz piezīmju grāmatiņu
C12, C13 Elektrolītiskais kondensators10 µF2 Uz piezīmju grāmatiņu
S17, S18 Kondensators22 pF2 Uz piezīmju grāmatiņu
R1-R16 Rezistors

68 omi

16 Uz piezīmju grāmatiņu
R17-R20, R23, R24, R30, R31, R36, R37 Rezistors

1 kOhm

10 Uz piezīmju grāmatiņu
R21, R22, R29 Rezistors

1,5 kOhm

3 Uz piezīmju grāmatiņu
R25, R26, R34, R35 Rezistors

47 kOhm

4 Uz piezīmju grāmatiņu
R27 Trimmera rezistors100 omi1 Uz piezīmju grāmatiņu
R28 Rezistors

470 omi

1 Uz piezīmju grāmatiņu
R32, R33 Trimmera rezistors20 kOhm2

Turpinot tēmu “Regulējama LED” un tiekties uz mērķi izmēģināt viedo LED sloksne uz pamatnes W.S.2812 B(NeoPixels) radās jauna ierīce - Pielāgošanāssloksne— uzlabotā līmeņa indikators!

Veikals man sagādāja lenti testēšanai.Ja ierīce iepatikās un vēlaties to atkārtot,tad lenti Ukrainā var iegādāties tajā pašā veikalā - saite uz plūsmām. Krievijai to var iegādāties no cita mana partnera TIXER.RU (viņi solīja tuvākajā laikā papildināt klāstu).


Pāriesim pie dizaina.

Ķēde ir elementāra - tikai dažas daļas un ATtyni13. Es ceru, ka jūs zināt, kā uzrakstīt programmaparatūru MK? Nē? Tad tu.

Noklusējuma lentes garums ir 30 pikseļi. Displeja pikseļu skaitu var mainīt, avotā norādot konstantes “Number_Pixels” vērtību, kas vienāda ar reālo pikseļu skaitu (efekti tiks automātiski pārrēķināti uz jauno vērtību).

Neskatoties uz vienkārša diagramma, līmeņa rādītājs izrādījās interesants! Ar lielu lineālu displeja opciju izvēli. Ierīce izmanto īpašu paleti, kas stilizēta kā liesma. Attiecīgi katrai līmeņa vērtībai no paletes būs sava krāsa:


Ierīce
– vizuāli parādās uz lentes ievades līmenis. Šī ir sava veida liela LED kolonna.

Indikators var darboties 9 ievades līmeņa displeja režīmos. Lai pārvietotos pa režīmiem, nospiediet " Režīms" Izvēlētais režīms tiek saglabāts nemainīgā atmiņā un tiks automātiski aktivizēts, kad ierīce tiks restartēta.

Režīmi:
0 – Izslēgts – kasete ir izslēgta
1 – Vienkārša – parasta vienkrāsaina svītra
2 – Stienis – lineāls no zila līdz baltam atbilstoši paletei
3 – Inv_Bar – lineāls no baltas līdz zilai atbilstoši paletei
4 – Krāsa – visa līnija tiek izcelta vienā krāsā atkarībā no garuma
5 – punkts – krāsains punkts, kas norāda līmeni
6 – Solid_Color – visi pikseļi iedegas krāsā atkarībā no līmeņa vērtības
7 – Fire – stilizēta uguns – jo augstāks līmenis, jo lielāka liesma
8 – Haoss – haotisks pikseļu apgaismojums (atkarībā no līmeņa)
9 – Ritināšana – līmeņa maiņa gar joslu

Ierīce var ne tikai parādīt ieejas signāla līmeni, bet arī darboties automātiskais režīms. Lai to izdarītu, slēdzis “Demo” ir jāaizver uz zemes. Demonstrācijas režīmā ierīces līmenis mainās nejauši automātiski.

Tā kā ierīce ir elementāra, lai demonstrētu tās iespējas, pāris minūtēs to samontēju uz maizes dēļa:

Un notika šādi:



Materiāli ierīces montāžai:
- Materiāli ierīces montāžai

Līmeņa indikatora piemērošanas jomaPielāgošanāssloksne:

— Pirmais, kas nāk prātā, ir mūzikas vizualizācija.
— Tāpat, manuprāt, lieliski izskatītos, ja tās izmantotu, lai automašīnā apgaismotu tahometru (atkarībā no ātruma, apgaismojums mainīs krāsu).
— Nākamais ir līmeņa vadības pogu apgaismojums.
— Radot arī oriģinālās lampas priekš akumulatora darbības laiks demonstrācijas režīmā (ugunsgrēka režīms izskatās ļoti iespaidīgi pat atsevišķi).
- Temperatūras vizualizācija (piemēram, varat izmantot lētu analogo termometru LM35) ...


Atjauninājums 2016
Viktors001 darīts lielisks darbs skaņas savienošanai ar ierīci. Tas izrādījās lieliski. Arī programmaparatūra ir nedaudz mainīta - skatiet arhīvu.


Indikatora shēma izrādījās neticami vienkārša un faktiski atbilst uzdevumam - prostata, viegli pieejami komponenti un 100 procentu atkārtojamība. Pareizi samontējot, tas darbojas nekavējoties. Visa iestatīšana ir saistīta ar kompresijas un izvades līmeņu iestatīšanu mikrofona pastiprinātājs. Galvenā un vienīgā prasība nav iestatīt pastiprinājumu uz maksimālo. Kompresora klātbūtne nav līdzeklis pret visu, un, strādājot no mikrofona, tam joprojām ir savi regulēšanas ierobežojumi. Jūs, protams, varat “saspiest” signālu ar kompresijas regulatoru, taču tad cieš displeja mobilitāte. Labākais līdzeklis ir nodrošinātā pastiprinājuma kontrole Ku zemas caurlaidības filtra pirmajā darbības pastiprinātājā. Strādājot no lineārās ieejas, kompresors lieliski tiek galā bez papildu regulēšanas.

Izmantojot strāvas padevi, shēmas ir vēl vienkāršākas. Barošanas avota izvēle tika balstīta uz WS2812B lentes prasībām, precīzāk uz strāvas patēriņu, plus neliela rezerve. Mēs iegūstam 10 voltus caur DC/DC pārveidotāju.

Indikatora shēma izrādījās neticami vienkārša un faktiski atbilst uzdevumam - prostata, viegli pieejami komponenti un 100 procentu atkārtojamība. Pareizi samontējot, tas darbojas nekavējoties. Visa iestatīšana ir saistīta ar kompresijas līmeņu un mikrofona pastiprinātāja izejas iestatīšanu. Galvenā un vienīgā prasība nav iestatīt pastiprinājumu uz maksimālo. Kompresora klātbūtne nav līdzeklis pret visu, un, strādājot no mikrofona, tam joprojām ir savi regulēšanas ierobežojumi. Jūs, protams, varat “saspiest” signālu ar kompresijas regulatoru, taču tad cieš displeja mobilitāte. Labākais līdzeklis ir nodrošinātā pastiprinājuma kontrole Ku zemas caurlaidības filtra pirmajā darbības pastiprinātājā. Strādājot no lineārās ieejas, kompresors lieliski tiek galā bez papildu regulēšanas. Ķēdes barošana ir vēl vienkāršāka. Barošanas avota izvēle tika balstīta uz WS2812B lentes prasībām, precīzāk uz strāvas patēriņu, plus neliela rezerve. Mēs iegūstam 10 voltus caur DC/DC pārveidotāju.

Starp citu, lai pirmie pikseļi nespīd pauzē starp celiņiem, MK ieejā jāliek 100k rezistors attiecībā pret zemi. Es palaidu garām šo punktu, kad zīmēju diagrammu.


Arhīvā ir pastiprinātāja plombas. Es nenorādīju mikrofona pastiprinātāja detaļu atrašanās vietu. Tāpēc MU plati pievienoju kā atsevišķu vienību. Uz tā ir norādīts viss. Pievērsiet uzmanību džemperiem.


(Apmeklēts 21 101 reizi, šodien 1 apmeklējumi)

Signāla stipruma indikators 2 x 20 LED uz ATMEGA8.

Vienā no ārzemju vietnēm es atradu materiālu par signāla līmeņa indikatora montāžu, kas būvēts uz Atmel AVR ATmega8A mikrokontrolleri vai vecāko Atmega8 vai Atmega8L. Rakstu nav jēgas tulkot burtiski, jo autors ķēdi samontēja uz maizes dēļa, taču, neskatoties uz to, indikatoru darbībā varat noskatīties video, ko atradīsit arhīvā. Indikatoram ir 20 LED sadalījumi katrā kanālā. Displeja diapazons ir no -34 līdz +4 dB. Kā indikatora gaismas diodes varat izmantot monolītus stabus, piemēram, DC20/20GGGWA, īpaši tiem LED matricas Es uzzīmēju shēmas plati. Sākumā es jums pateikšu shematiska diagramma signāla līmeņa indikators:

Īstenojot shēmu, varat izmantot arī divas 20 parasto gaismas diodes līnijas. Rezistori R1 ... R4 nosaka strāvu un līdz ar to gaismas diožu spilgtumu. Kreisā un labā kanāla signāli ir savienoti ar analogā-digitālā pārveidotāja ieejām ADC0 un ADC1. Skalas krišanas laiks (vājināšanās) ir aptuveni 600 ms. Ierīcei ir funkcija maksimālā signāla līmeņu parādīšanai, to var aktivizēt, aizverot džemperi “IM” (Maksimālā indikators), džempera vietā var uzstādīt fiksējošu IESLĒGŠANAS/IZSLĒGŠANAS pogu.

LED montāžas veids un tā izmēri ir parādīti zemāk esošajos attēlos:

LED signāla līmeņa indikatora plates skats LAY6 formātā:

Arhīvā atradīsit mikrokontrollera programmaparatūru (fails ar hex paplašinājumu). Konfigurācijas bitu iestatīšana programmā PonyProg ir parādīta nākamajā attēlā.
(Heksadecimālās vērtības: zems drošinātājs: A4, augsts drošinātājs: D9.)

Brīdinājums!!! Es neesmu pārbaudījis ķēdi aparatūrā.

Arhīva izmērs ar materiāliem uz signāla līmeņa indikatora uz AVR Atmega8A 2 x 20 LED ir 4,8 Mb.

Ja atrodat kļūdas vai jums ir ieteikumi, nevilcinieties rakstīt komentārus.