. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Zesilovač třídy D s obvodem AVR
7. dubna 2010 - 6:41 | Pandatron | Zesilovač třídy D s obvodem AVR | Komentářů: 9  

Zesilovač třídy D s obvodem AVR

Referenční schéma a ukázkový zdrojový kód zesilovače třídy D s mikrokontrolérem AVR, určený pro experimentování s algoritmy i vlastním kódem zpracování audio signálu.

V poslední době se používají stále efektivnější zesilovače s účinností 90 % a více - zesilovače třídy D. V nich je prakticky vždy analogový zvukový signál převeden na signál PWM (pulsně-šířková modulace), který zajišťuje vysokou účinnost zesilovače, především v jeho koncové a výkonové části. Moderní konstrukce využívají monolitický čip (například od firmy Texas Instruments a dalších), který v jediném pouzdře kombinuje jak procesor, tak i výkonový analogový výstup. Taková řešení jsou ideální do spotřební a zábavní elektroniky, kde poskytují jednoduché a komplexní řešení. Bohužel jejich nevýhodou je prakticky velice omezená možnost experimentování, například změnou algoritmů PWM konverze a pod.

Tato konstrukce přináší jednoduchý příklad nízkofrekvenčního zesilovače třídy D s mikrokontrolérem klasické řady AVR, typu ATtiny15L. Výhodou takového provedení je možnost seznámení se s jednou z možností provedení zesilovače třídy D a široké možnosti experimentování nejen v použitých algoritmech zpracování a filtrace signálů, ale i jejich modifikací a frekvenční filtraci.

Obvod firmy Atmel rodiny AVR typu ATtiny15L je přímo ideální pro použití v této aplikaci, neboť obsahuje deset kanálů analogově/digitálního převodníku (ADC) a časovač s pulsně-šířkovou modulací (PWM).

Schéma zapojení:
Na následujícím obrázku je uvedeno referenční schéma zapojení zesilovače třídy D s obvodem ATtiny15L.


Obr. 1: Schéma zapojení

Referenční napětí pro ADC převodník je nastavením bitů ADMUX REFS1=0, REFS0=0 zvoleno jako interní. Vstupní nízkofrekvenční signál je veden na jeden z analogových vstupů jednotky ADC, v tomto případě je to pin č.3 (RS4). Výstupní PWM signál je získáván z časovače Timer1 (pin PB1). Pomocné výstupy PB0 a PB2 zajišťují pozitivní a negativní signál.

Pro základní zesílení analogového signálu s lineárním ziskem K = 10 je využit obvod TL071. Jeho úkolem je zároveň přizpůsobení velikosti výstupního napětí polovině napájecího napětí, takže hodnoty odporů R1 a R2 jsou shodné a operační zesilovač TL071 má velký vstupní odpor.

Obslužný program využívá dva zdroje přerušení. První je od časovače Timer1 v případě jeho přetečení a druhý po dokončení převodu ADC. ADC je nastaven tak, aby výsledek zarovnal na pravou stranu. Při přerušení od dokončení převodu ADC je získaná hodnota přenesena do pracovních registrů a posunuta o jednu číslici vpravo. Nulový bit je tak využíván pro test a přepínání pozitivní a negativní poloviny vlny. Přerušení od Timer1 způsobí aktualizaci obsahu registru PWM.

Pro generování signálů potřebných pro řízení můstkových budičů je využito libovolných hradel typu NAND, například 7400 a pod. V zapojení jsou použity tranzistory typu KT972A a KT973A, které je možné nahradit prakticky libovolnými výkonovými typy, podle požadavků konkrétní konstrukce.

Dostupný ukázkový program (uvedený na konci článku) je určen pro základní otestování aplikace a další vývoj. Po naprogramování je možné přivést přímo na pin PB4 obdélníkový signál s frekvencí 1 kHz a amplitudou menší než 2V. Na výstupních pinech PB0 a PB2 musí být v tu chvíli dostupný signál o shodné frekvenci a na pinu PB1 musí být dostupný PWM signál s frekvencí zhruba 100 kHz.

Použitá literatura:
Zesilovač třídy D pro ATtiny15L - Yuri Suprun

Odkazy & Download:
Ukázkový zdrojový kód - DOWNLOAD
http://www.amctools.com
http://www.atmel.no/avrstudio
http://www.LancOS.com







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (9):

Zobrazit starší 30 dnů (9)...

host
9. Dne 15. 07. 2010 v 22:32 zaslal host
Anebo ...
Pro potlačení zkreslení by asi šlo zvýšit počet bitů z 8 (48dB SNR) na 16 (96dB SNR). Zapojení doplníme neinvertujícím zesilovačem ze ziskem 48dB. Výstup z tohoto zesilovače přivedeme na další analogový vstup mikrokontroléru. Jako výstup pak použijeme 16-bitový čítač-časovač (nutno použít jiný MCU, napr. atmega16).


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PBTM s integrovanou anténou
Modul s BTM-112 od firmy Rayson usnadňuje jeho použití a doplňuje modul o anténu.
Skladem od 349 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007