Radio konstruktor - LED indikator nivoa niskofrekventnog signala. Dvokanalni vršni VU mjerač na ATmega8 Pređimo na dizajn

10.09.2021

Zdravo. Praznici su prošli i možete ponovo početi sa radom. Vjerovatno su mnogi već vidjeli naše fotografije LED indikatora nivoa - stubovi na pametnim LED diodama WS2812B. Odlučio sam da vam kažem nešto više o kolonama. Štaviše, moje kolege me gledaju praznim pogledom: to je kul stvar, ali malo ljudi zna za to. Moramo to popraviti.

Razmišljao sam o tome odakle da počnem i to sam odlučio od samog početka. Indikator nivoa ili kako ga još nazivaju VU -metar, dugo smo htjeli nabaviti jedan sa LED diodama. Može se uspješno koristiti kao dekoracija, na primjer, ugrađena u pojačala, postavljena pored audio opreme ili kompjuterskog monitora. Nismo pronašli gotova rješenja koja su nam se svidjela, pa smo morali napraviti svoja VU-metar.

Prvi razvoj je izgledao ovako:

Ovaj indikator nivoa je napravio moj kolega Konstantin M. i dato mi za preporod. Dva kanala od po 16 jednobojnih LED dioda su kontrolisana ATmega8 mikrokontrolerom preko dva 8-bitna registra pomaka. Za ekonomičnost i udobnost korištena je dinamička indikacija: samo 16 LED dioda jedne kolone moglo je upaliti istovremeno. Lansirao sam šal, sve je radilo na njemu, ali iz nekog razloga nisam mogao da ulepšam promenu nivoa stubova.

Ubrzo nakon toga pojavio se razvoj indikatora nivoa koji je zanimljiviji od prethodnog:

Konstantin Napravio sam ga, prije svega, za sebe. Puštao sam ga na neke praznike, ali sam ga rastavljao bez ikakvih rezultata. Naravno, onda sam uzeo daske da i sam probam. Kao prototip proizveden je samo jedan kanal indikatora nivoa. Sama kolona se sastoji od 32 RGB LED diode u obliku modula. Povezuje se na drugi modul sa 4 pomaka registra preko kojih se vrši kontrola. Hmm... Na trošak dinamički prikaz Kontrole su veoma jedinstvene. Četiri 8-bitna registra kontrolišu izbor LED dioda koje treba da svetle u datom trenutku, a tri pina određuju boju (R, G ili B). Ostaje samo dodati ploču sa mikrokontrolerom i nastaviti dalje. Ovde smo uspeli da odemo dalje nego unutra prethodna verzija kolone. Prvo sam pokušao sve napraviti koristeći Arduino Due:

Mikrokontroler koji radi na 84 MHz sa Arm arhitekturom unutra je bio taman, pomislio sam. Sama kolona je podržavala 8 gradacija svjetline za svaku LED boju (R, G i B). U isto vrijeme mogla je biti upaljena samo jedna boja, pa je bilo potrebno prenijeti jednu od 24 kombinacije vrijednosti na LED diode svakih 1 ms. Osim toga, bilo je potrebno raditi sa ADC-om, izvoditi decimalne logaritamske proračune i druge proračune. Osim u Arduino okruženju Nisam imao priliku da radim sa ovim mikrokontrolerom, pa se ispostavilo da nije optimizovan Arduino -kod. Ali čak i uprkos tome,dobro se snašao.

Zašto pišemo program za neki malo poznati Arm kontroler? Razmislili smo o tome i uzeli ploču za otklanjanje grešaka na mikrokontroleru STM8S105C6T6:

Sve je počelo bez problema. Ovaj put je kod bio transparentan i stoga optimiziran. Bilo je nekoliko načina rada kolone, ali algoritmi nisu bili u potpunosti razvijeni, a ipak nam se već svidio indikator nivoa. Šta da radim sa ovom gomilom žica, kome je to potrebno i ko želi da je poveže? Treba nesto smisliti...

Imali smo rješenje, ali ovoga puta nismo stigli da ga implementiramo. Jer jednog dana - bio je to običan četvrtak - desilo se sledeće: još jedna moja, ništa manje vredna, kolegica Denis V. izgovorio svoju frazu:"Pogledaj kakvu sam kul stvar našao"! Bila je to traka pametnih LED dioda WS2812B:


Potrebne su mu samo 3 žice za povezivanje (signal, napajanje od 5 V i zajednička žica). Cool, zbogom pregršt dodatnih žica - pomislili smo i naručili traku za testiranje:



O ovoj LED traci WS2812B puno je rečeno na internetu - uvijek možete pronaći nešto zanimljivo i prikladno. Uglavnom ljudi od toga prave razna "svjetla". Prelijepo ispada - naravno, potrošnja"užareno"LED je 40 mA. Ako je traka duga, do USB port Ne možete ga povezati sa računarom. Potreban je dovoljno snažan izvor napajanja - problem koji je morao biti riješen. Uprkos ovoj složenosti, privukla me pogodnost kontrole stubova pomoću jedne žice. Zašto ne napravite konstruktor indikatora nivoa od ove trake, tako da možete mijenjati šeme boja, mijenjati modove... I to će pomoći u tome Arduino ploča Pro Mini na ATmega328 mikrokontroleru. Lako je programirati pomoću UART-USB adaptera. Postojala je još jedna poteškoća: vrlo kratko vrijeme između učitavanja podataka."Svjetla" , naravno, ljudi su uspjeli... Ali dok smo slali podatke, ipak smo htjeli imati vremena da uzmemo vrijednosti sa ADC-a, pročitamo iz memorije, sačuvamo, izvršimo proračune... Dakle, dok je traka bila na putu, razmotrili smo mogućnost korišćenja hardverski SPI, odnosno MOSI signal za organiziranje prijenosa s prekidima. Hoće li kontrolor sve pratiti? Ili ćemo morati optimizirati kod, nekako postati kreativni, ući u asembler - ovo je trebalo otkriti. Ali već smo sigurno znali i od posljednje implementacije kolone koju smo odobrili: broj LED dioda po kanalu bit će 32 komada. Ukupno je bilo potrebno obraditi 64 pametne krijesnice za dvije kolone. Gledajući unaprijed, želim reći da je WS2812B savladan. I dalje ću patiti sa softverskim dijelom, reći ću vam o hardveru - bit će nastavak.

P.S. Pojavio se još jedan razvoj kolona. Isto rješenje koje je neko vrijeme odloženo zbog otkrića WS2812B, ali je zahvaljujući njemu modernizirano i pojednostavljeno. Omogućit će vam korištenje bilo koje konvencionalne LED diode (jednobojne i RGB) i snažnijeg osvjetljenja: čak i reflektora. Štaviše, šipke su mali dio onoga što može proizaći iz naše ideje. Više o ovome neki drugi put.

P.P.S. Sljedeći post će pokazati dijagram kako spojiti liniju audio signala na mjerač nivoa. A oni koji su zainteresovani i jedva čekaju da vide kakve smo kolumne dobili mogu pogledati ovaj video:


Srdačan pozdrav, Nikita O.

Predstavljam vam još jedan jednostavan stereo mjerač nivoa zvuka za pojačalo ili drugu audio opremu. Indikator ima 2 kolone od 20 LED dioda i mogućnost označavanja maksimalnog nivoa. Njime upravlja mikrokontroler IO1 - Atmel AVRATmega8A ili stariji ATmega8 ili ATmega8L. Ovo je jedino integrisano kolo u uređaju koje daje indikaciju oba audio kanala.

Indikator ima 20 LED podjela na svakom kanalu, 1 podjela odgovara 2 dB. Raspon prikaza -34 do +4 dB. Kada nivo audio signala pređe 0 dB (18. LED), dolazi do preopterećenja. Možete koristiti monolitne stubove (linije LED dioda) ili pojedinačne LED diode kao indikacijske LED diode. LED diode se kontrolišu na multipleks način u 10 koraka, po 4 LED u svakom koraku, frekvencija multipleksiranja je oko 100 Hz. Otpornici R1 ... R4 određuju struju, a time i svjetlinu LED dioda. Signali lijevog i desnog kanala su povezani na ulaze analogno-digitalni pretvarač ADC0 i ADC1. Vrijeme pada (slabljenja) skale je oko 600 ms.

Uređaj je opremljen i indikacijom vršnog nivoa, koja se može aktivirati pomoću kratkospojnika na ploči sa oznakom IM (Indicator of Maximum). Audio mjerač nivoa se napaja putem napajanja od 5V, a potrošnja svih LED dioda je oko 45mA. Kondenzatori C1 i C2 trebaju biti smješteni što bliže mikrokontroleru IO1.

Arhiva za članak "Indikator nivoa audio signala 2x20 LED na Atmega8"
Opis: Izvorni kod (Assembler), datoteka firmvera mikrokontrolera
Veličina fajla: 2,64 KB Broj preuzimanja: 798

Predstavljam vam jednostavan projekat indikatora audio signala, karakteristična karakteristika Ovaj projekat od drugih je da sam u krugu koristio 32 LED diode za svaki kanal, što se pokazalo kao dugačak red. U srcu uređaja - AVR mikrokontroler ATmega8535, ULN2803 - 8-kanalni Darlington prekidač, također korišten operaciono pojačalo, mislim da je njegova svrha jednako jasna. Osetljivost indikatora se podešava otpornicima R32 i R33, za svaki kanal posebno. Ovaj projekat je moje diplomski rad, što sam uradio pre par godina, naišao sam na dijagram kada sam preturao po fasciklama na svom računaru i odlučio da ga pošaljem na sajt.

Dijagram je prilično obiman, nisam skratio oznaku LED dioda, dijagram možete vidjeti u nastavku:

Što se tiče LED dioda, zgodno ih je zamijeniti posebnim LED trakama i izgledat će bolje.

Cijeli uređaj je sastavljen na matičnoj ploči, štampana ploča Nisam crtao, ali svako kome se svidio projekat može nacrtati štampanu ploču i poslati je na forum. Sve radio komponente u krugu mogu se zamijeniti sličnim, vrijednosti otpornika i kondenzatora mogu se postaviti na slične vrijednosti. Tranzistori se mogu zamijeniti bilo kojim drugim sličnim. Kristalni oscilator Možete ga postaviti na 14-16 MHz, nije kritično. Fotografije uređaja u nastavku:

Prilikom programiranja mikrokontrolera nema potrebe za postavljanjem osigurača, tj. odaberite kontroler koji nam je potreban u programu, otvorite firmver i kliknite flash. Ako je uređaj sastavljen bez grešaka, krug će odmah raditi.

Spisak radioelemenata

Oznaka Tip Denominacija Količina BilješkaProdavnicaMoja beležnica
IC1 MK AVR 8-bit

ATmega8535

1 U notes
IC2, IC3 Kompozitni tranzistor

ULN2803

2 U notes
IC4A, IC4B Operativno pojačalo

LM358

1 U notes
Q1-Q4 Bipolarni tranzistor

BD140

4 U notes
Q5 Kvarcni rezonator16 MHz1 U notes
C1-C4, C11, C14 Kondenzator100 nF6 U notes
C5-C8 Kondenzator10 nF4 U notes
C9, C10, C15, C16 Kondenzator220 nF4 U notes
C12, C13 Elektrolitički kondenzator10 µF2 U notes
S17, S18 Kondenzator22 pF2 U notes
R1-R16 Otpornik

68 Ohm

16 U notes
R17-R20, R23, R24, R30, R31, R36, R37 Otpornik

1 kOhm

10 U notes
R21, R22, R29 Otpornik

1,5 kOhm

3 U notes
R25, R26, R34, R35 Otpornik

47 kOhm

4 U notes
R27 Trimer otpornik100 Ohm1 U notes
R28 Otpornik

470 Ohm

1 U notes
R32, R33 Trimer otpornik20 kOhm2

Nastavljajući temu „Prilagodljive LED diode” i težimo cilju isprobavanja smarta LED traka na bazi W.S.2812 B(NeoPixels) rođen je novi uređaj - Adjustyskinuti se— napredni indikator nivoa!

Trgovina mi je dala traku za testiranje.Ako vam se uređaj sviđa i želite da ga ponovite, traku u Ukrajini možete kupiti u istoj prodavnici - link do feedova. Za Rusiju se može kupiti od drugog mog partnera, TIXER.RU (obećali su da će dopuniti asortiman u bliskoj budućnosti).


Pređimo na dizajn.

Kolo je elementarno - samo nekoliko dijelova i ATtyni13. Nadam se da znate kako napisati firmware na MK? Ne? Onda ti.

Podrazumevana dužina trake je 30 piksela. Broj piksela prikaza može se promijeniti tako što se u izvoru specificira vrijednost konstante “Number_Pixels” jednaka stvarnom broju piksela (efekti će se automatski preračunati na novu vrijednost).

Uprkos jednostavan dijagram, indikator nivoa se pokazao zanimljivim! Sa velikim izborom opcija prikaza lenjira. Uređaj koristi posebnu paletu stiliziranu kao plamen. U skladu s tim, svaka vrijednost nivoa će imati svoju boju iz palete:


Uređaj
– vizuelno se prikazuje na traci ulazni nivo. Ovo je vrsta velike LED kolone.

Indikator može raditi u 9 načina prikaza nivoa ulaza. Za kretanje kroz modove, pritisnite “ Mode" Odabrani način rada je pohranjen u nepromjenjivoj memoriji i automatski će se aktivirati kada se uređaj ponovo pokrene.

Načini rada:
0 – Isključeno – traka je isključena
1 – Jednostavna – obična jednobojna pruga
2 – Bar – lenjir od plave do bijele prema paleti
3 – Inv_Bar – lenjir od bijele do plave prema paleti
4 – Boja – cijela linija je istaknuta jednom bojom ovisno o dužini
5 – Tačka – obojena tačka koja označava nivo
6 – Solid_Color – svi pikseli svijetle u boji ovisno o vrijednosti nivoa
7 – Vatra – stilizovana vatra – što je viši nivo, veći je plamen
8 – Haos – haotično osvjetljenje piksela (razlikuje se u zavisnosti od nivoa)
9 – Scroll – pomeranje nivoa duž trake

Uređaj, osim što prikazuje nivo ulaznog signala, može i raditi automatski način rada. Da biste to učinili, morate zatvoriti "Demo" prekidač na masu. U Demo načinu rada, nivo uređaja se automatski mijenja nasumično.

Kako je uređaj elementaran, da bih demonstrirao njegove mogućnosti sastavio sam ga na matičnoj ploči za nekoliko minuta:

I evo šta se desilo:



Materijali za sastavljanje uređaja:
- Materijali za sastavljanje uređaja

Područje primjene indikatora nivoaAdjustyskinuti se:

— Prvo što mi pada na pamet je vizuelizacija muzike.
— Takođe, mislim da bi odlično izgledalo da se koriste za osvetljavanje obrtomera u automobilu (u zavisnosti od brzine, osvetljenje će promeniti boju).
— Sledeće je osvetljenje dugmadi za kontrolu nivoa.
— Takođe kreiranje originalnih lampi za trajanje baterije u demo modu (režim vatre izgleda vrlo impresivno čak i sam po sebi).
— Vizualizacija temperature (na primjer, možete koristiti jeftini analogni termometar LM35) ...


Ažuriranje 2016
viktor001 urađeno odličan posao za povezivanje zvuka na uređaj. Ispalo je odlično. Firmware je također malo promijenjen - pogledajte arhivu.


Kolo za indikator se pokazalo nevjerovatno jednostavnim i zapravo odgovara zadatku koji je pri ruci - prostata, lako dostupne komponente i 100 posto ponovljivost. Kada se pravilno sklopi, odmah radi. Cijelo podešavanje se svodi na postavljanje nivoa kompresije i izlaza mikrofonsko pojačalo. Glavni i jedini zahtjev je ne postaviti pojačanje na maksimum. Prisustvo kompresora nije lijek za sve, a kada se radi s mikrofonom, on i dalje ima svoja ograničenja regulacije. Možete, naravno, "štipnuti" signal regulatorom kompresije, ali tada pati mobilnost ekrana. Najbolji lek je obezbeđena kontrola pojačanja Ku na prvom op-pojačalu niskopropusnog filtera. Kada radi sa linearnog ulaza, kompresor se odlično snalazi bez dodatnih podešavanja.

Sa napajanjem, kola su još jednostavnija. Izbor napajanja bio je baziran na zahtjevima trake WS2812B, tačnije na potrošnji struje, plus mala marža. Dobijamo 10 volti preko DC/DC pretvarača.

Krug za indikator se pokazao nevjerovatno jednostavnim i zapravo odgovara zadatku koji se nalazi - prostata, lako dostupne komponente i 100 posto ponovljivost. Kada se pravilno sklopi, odmah radi. Cijelo podešavanje se svodi na postavljanje nivoa kompresije i izlaza mikrofonskog pojačala. Glavni i jedini zahtjev je ne postaviti pojačanje na maksimum. Prisustvo kompresora nije lijek za sve, a kada se radi s mikrofonom, on i dalje ima svoja ograničenja regulacije. Možete, naravno, "štipnuti" signal regulatorom kompresije, ali tada pati mobilnost ekrana. Najbolji lek je obezbeđena kontrola pojačanja Ku na prvom op-pojačalu niskopropusnog filtera. Kada radi sa linearnog ulaza, kompresor se odlično snalazi bez dodatnih podešavanja.Napajanje strujnog kruga je još jednostavnije. Izbor napajanja bio je baziran na zahtjevima trake WS2812B, tačnije na potrošnji struje, plus mala marža. Dobijamo 10 volti preko DC/DC pretvarača.

Inače, kako prvi pikseli ne bi svijetlili tokom pauze između staza, na ulaz MK-a mora se postaviti otpornik od 100k u odnosu na masu. Promašio sam ovu tačku dok sam crtao dijagram.


U arhivi se nalaze pečati pojačala. Nisam naveo lokaciju delova mikrofonskog pojačala. Stoga MU ploču pričvršćujem kao zasebnu jedinicu. Na njemu je sve naznačeno. Obratite pažnju na džempere.


(Posjećeno 21 101 puta, 1 posjeta danas)

Indikator jačine signala 2 x 20 LED na ATMEGA8.

Na jednom od stranih sajtova našao sam materijal o sklapanju indikatora nivoa signala izgrađenog na Atmel AVR ATmega8A mikrokontroleru ili starijem Atmega8 ili Atmega8L. Nema smisla prevoditi članak doslovce, jer je autor sklopio sklop na matičnoj ploči, ali ipak, indikator u akciji možete pogledati u videu koji ćete pronaći u arhivi. Indikator ima 20 LED podjela na svakom kanalu. Raspon prikaza je od -34 do +4 dB. Kao indikatorske LED diode možete koristiti monolitne stubove kao što je DC20/20GGGWA, posebno za ove LED matrice Nacrtao sam ploču. Za početak, daću vam shematski dijagram indikator nivoa signala:

Prilikom implementacije kruga možete koristiti i dvije linije od 20 običnih LED dioda. Otpornici R1 ... R4 određuju struju, a time i svjetlinu LED dioda. Signali lijevog i desnog kanala povezani su na ulaze analogno-digitalnog pretvarača ADC0 i ADC1. Vrijeme pada (slabljenja) skale je oko 600 ms. Uređaj ima funkciju za prikaz vršnih nivoa signala; može se aktivirati zatvaranjem kratkospojnika “IM” (Indikator maksimuma), umjesto kratkospojnika možete ugraditi dugme za uključivanje/isključivanje sa zaključavanjem.

Tip LED sklopa i njegove dimenzije prikazani su na slikama ispod:

Pogled na LED ploču indikatora nivoa signala u LAY6 formatu:

Pronaći ćete firmver mikrokontrolera u arhivi (datoteka sa hex ekstenzijom). Podešavanje konfiguracionih bitova u PonyProgu je prikazano na sledećoj slici.
(Heksadecimalne vrijednosti: Niski osigurač: A4, Visoki osigurač: D9.)

Upozorenje!!! Nisam testirao sklop u hardveru.

Veličina arhive sa materijalima na indikatoru nivoa signala na AVR Atmega8A 2 x 20 LED je 4,8 Mb.

Ako nađete greške ili imate prijedloge, ne ustručavajte se pisati komentare.