Мазмуну:

Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу: 4 кадам
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу: 4 кадам

Video: Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу: 4 кадам

Video: Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу: 4 кадам
Video: Flyback Converter Design Deep Dive 2024, Ноябрь
Anonim
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу
Flyback трансформаторунда же динамикте PWM үчүн ADC колдонуп Arduino менен ырларды ойнотуу

Салам балдар, Бул менин башка көрсөтмөмдүн экинчи бөлүгү (бул абдан кыйын болчу), Негизи, бул долбоордо мен аудио сигналды PWM сигналына айландыруу үчүн Arduinoдогу ADC жана TIMERSти колдондум.

Бул менин мурунку көрсөтмөмө караганда алда канча жеңил, Бул жерде менин биринчи көрсөтмөмдүн шилтемеси, эгер сиз көргүңүз келсе. шилтеме

Аудио сигналынын теориясын түшүнүү үчүн, Бит ылдамдыгы, Бит тереңдиги, Үлгүлөө ылдамдыгы, Теорияны Instructable боюнча менин акыркы окуу куралымдан окуй аласыз. Шилтеме жогоруда.

1 -кадам: Бул долбоорго керектүү нерселер (талаптар)

1. Arduino Board (биз каалаган тактаны (328, 2560) колдоно алабыз, башкача айтканда Mega, Uno, Mini ж.б.

2. PC Arduino Studio менен.

3. Breadboard же Perfboard

4. Зымдарды туташтыруу

5. TC4420 (Mosfet айдоочусу же башка нерсе)

6. Power Mosfet (N же P каналы, сураныч, ошого жараша өткөрүңүз) (мен N-каналды колдондум)

7. Динамик же Flyback Transformer (Ооба, сиз туура окудуңуз !!)

8. Ылайыктуу Power Supply (0-12V) (Мен өз ATX Power Supply колдонгон)

9. Жылуулук чөгүүчү (мен эски компьютеримден куткардым).

10. Күчөткүч (кадимки музыкалык күчөткүч) же күчөткүч схемасы.

2 -кадам: PWM үчүн ADC теориясы

PWMге ADC теориясы
PWMге ADC теориясы
PWMге ADC теориясы
PWMге ADC теориясы

Ошентип, бул долбоордо, мен Arduinoдун курулган ADCсинде аудио сигналдын маалыматтарын тандоо үчүн колдондум.

ADC (Analog-to-Digital Converter) аты аныктагандай, ADC аналогдук сигналды санарип үлгүлөргө айлантат. Ал эми 10 бит тереңдикке ээ болгон Arduino үчүн. Бирок бул долбоор үчүн биз 8-биттик үлгүлөрдү колдонобуз.

Arduino ADC колдонуп жатканда, биз ADC_reference чыңалуусун эстен чыгарбашыбыз керек.

Arduino Uno 1.1V, 5V (коддо аныкталуучу ички шилтеме) же тышкы шилтемени (AREF пинге сырттан колдонуубуз керек) сунуштайт.

Менин тажрыйбама ылайык, ADCден жакшы жыйынтык алуу үчүн минималдуу 2.0В чыңалуу чыңалуусу катары колдонулушу керек. 1.1V мен үчүн жок дегенде жакшы болгон жок. (Жеке тажрыйба)

*МААНИЛҮҮ**МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ*

Биз 5V чыңалуусу (Max. Voltage) менен Amplifier же Amplifier Circuitтин күчөтүлгөн аудио сигналын колдонушубуз керек

Анткени мен 5В ички чыңалуу шилтемесин койгонбуз, биздин долбоор үчүн. Мен күчөтүлгөн сигналды кадимки күчөткүчтү (музыкалык күчөткүчтү) колдонуп жатам, ал көбүнчө биздин үйдө бар же өзүңүз үчүн кура аласыз.

Ошентип, азыр негизги бөлүгү. Тандоо ылдамдыгы, бул биздин ADC секундасына канча үлгү алат, конверсия ылдамдыгы ошончолук жакшы болот, натыйжа жакшы болот, киргизүүгө салыштырмалуу чыгаруу толкуну окшош болот.

Ошентип, биз бул проектте ADC саатын 500 кГцке коюу менен 33.33Khz үлгүсүн алуу ылдамдыгын колдонобуз. Мунун кандай экенин түшүнүү үчүн, биз ADM Timing баракчасын Atmega (328p) чипинин маалымат барагынан көрүшүбүз керек.

Муну көрө алабыз, авто үлгүлөрдү алуу менен бир үлгү алуу үчүн бизге 13.5 ADC саат циклдери керек. 500Khz жыштыгында, бул 1 ADC цикли үчүн 1/500Khz = 2uS дегенди билдирет, бул авто үлгүлөрдү колдонууда үлгү алуу үчүн 13.5*2uS = 27uS керек. Микроконтроллерге 3uS көбүрөөк берүү менен (коопсуз жагы үчүн), бир үлгү үчүн жалпысынан 30uS жасоо.

Ошентип, 30uSте 1 Үлгү 1/30uS = 33.33 KSamples/S дегенди билдирет.

Тандоо ылдамдыгын орнотуу үчүн, Arduino TIMER0 көз каранды, анткени ADC автоматтык үлгү алуу триггери биздин жагдайга көз каранды, бул коддон жана маалымат барагынан көрүнүп тургандай, биз OCR0A = 60 маанисин түздүк. ???)

Анткени маалымат барагында берилген формула боюнча.

жыштык (же бул жерде Sample Rate) = Arduino/Prescaler саат жыштыгы*OCR0A мааниси (биздин учурда)

Биз каалаган жыштык же үлгү ылдамдыгы = 33.33KHz

Саат жыштыгы = 16 МГц

Prescaler мааниси = 8 (биздин учурда)

OCR0A мааниси = биз тапкысы келет ??

жөн гана OCR0A = 60 берет, биздин Arduino кодубузда дагы.

TIMER1 аудио сигналдын ташуучу толкуну үчүн колдонулат, жана мен анча -мынча деталдарга кирбеймин.

Ошентип, бул Arduino менен PWMге ADC түшүнүгүнүн кыска теориясы болчу.

3 -кадам: схемалык

Схемалык
Схемалык

Бардык компоненттерди схемада көрсөтүлгөндөй туташтырыңыз. Демек, бул жерде сизде эки вариант бар:-

1. Динамикти туташтыруу (5V менен туташкан)

2. Flyback Transformer туташтыруу (12V менен туташкан)

Мен экөөнү тең сынап көрдүм. Анан экөө тең абдан жакшы иштейт.

*МААНИЛҮҮ**МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ ** МААНИЛҮҮ*Биз 5В чыңалуудагы чыңалуусу (Max. Voltage) менен күчөткүчтөн же күчөткүчтөн алынган үн сигналын колдонушубуз керек

Жоопкерчиликтен баш тартуу:-

*Мен Flyback трансформаторун сактык менен колдонууну сунуштайм, анткени ал коркунучтуу болушу мүмкүн, анткени ал жогорку чыңалуу жаратат. Ошондо мен эч кандай зыян тартпайм*.

4 -кадам: Акыркы тест

Ошентип, берилген кодду Arduinoго жүктөп, жана күчөтүлгөн сигналды A0 пинине туташтырыңыз.

Жана бардык жер казыктарын жалпы жерге туташтырууну унутпаңыз.

Жана жөн эле музыка угуудан ырахат алыңыз.

Сунушталууда: