Mundarija:

Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish: 4 qadam
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish: 4 qadam

Video: Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish: 4 qadam

Video: Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish: 4 qadam
Video: Designing a flyback DC/DC converter - Fundamentals of flyback converters 2024, Iyul
Anonim
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish
Flyback transformatorida yoki karnayda PWM uchun ADC yordamida Arduino bilan qo'shiqlar ijro etish

Salom bolalar, Bu mening boshqa o'qituvchi qismimning ikkinchi qismi (bu juda qiyin edi), asosan, men ushbu loyihada Arduino -dagi ADC va TIMER -dan audio signalni PWM signaliga aylantirish uchun foydalanganman.

Bu mening oldingi ko'rsatmaga qaraganda ancha oson, agar ko'rishni istasangiz, bu mening birinchi ko'rsatmasimning havolasi. havola

Ovoz signalining nazariyasini, bit tezligini, bit chuqurligini, namuna olish tezligini tushunish uchun siz nazariyani mening "Instructable" bo'limidagi oxirgi darsimda o'qishingiz mumkin. Havola yuqorida.

1 -qadam: Ushbu loyihaga kerak bo'lgan narsalar (talablar)

1. Arduino kengashi (biz har qanday taxtadan (328, 2560) foydalanishimiz mumkin, ya'ni Mega, Uno, Mini va hk.

2. Arduino Studio bilan kompyuter.

3. Breadboard yoki Perfboard

4. Simlarni ulash

5. TC4420 (Mosfet haydovchisi yoki shunga o'xshash)

6. Mosfet Power (N yoki P kanali, iltimos, shunga mos ravishda sim o'tkazing) (men N-kanalni ishlatganman)

7. Karnay yoki Flyback transformatori (Ha, siz uni to'g'ri o'qidingiz !!)

8. Mos keladigan quvvat manbai (0-12V) (men o'z ATX quvvat manbaidan foydalanganman)

9. Isitgich (men eski kompyuterimdan qutqarganman).

10. Kuchaytirgich (oddiy musiqa kuchaytirgichi) yoki kuchaytirgich davri.

2 -qadam: ADC nazariyasi - PWM

PWM ga ADC nazariyasi
PWM ga ADC nazariyasi
PWM ga ADC nazariyasi
PWM ga ADC nazariyasi

Shunday qilib, men ushbu loyihada Arduino -ning ADC -da ovozli signaldan ma'lumotlarni tanlash uchun foydalanganman.

ADC (Analog-to-Digital Converter) nomi aniqlaganidek, ADC analog signalni raqamli namunalarga o'zgartiradi. Va maksimal 10-bit chuqurlikdagi Arduino uchun. Ammo bu loyiha uchun biz 8-bitli namuna olamiz.

Arduino ADC -dan foydalanganda biz ADC_reference kuchlanishini yodda tutishimiz kerak.

Arduino Uno 1.1V, 5V (kodda belgilanadigan ichki mos yozuvlar) yoki tashqi havolani (biz AREF piniga tashqi tomondan qo'llashimiz kerak) taklif qiladi.

Mening tajribamga ko'ra, ADCdan yaxshi natija olish uchun mos yozuvlar zo'riqishida kamida 2,0V bo'lishi kerak. 1.1V hech bo'lmaganda men uchun yaxshi ishlamadi. (Shaxsiy tajriba)

*MUHIM**MUHIM ** MUHIM ** MUHIM ** MUHIM*

Kuchaytirgich yoki kuchaytirgich pallasida 5V kuchlanishli (Maks. Kuchlanish) kuchaytirilgan ovozli signalni ishlatishimiz kerak

Chunki men loyihamiz uchun 5V ichki kuchlanish ma'lumotnomasini o'rnatdim. Men odatdagi kuchaytirgich (musiqiy kuchaytirgich) yordamida kuchaytirilgan signalni ishlataman, u asosan bizning uyimizda mavjud yoki siz uni o'zingiz qura olasiz.

Shunday qilib, endi asosiy qism. Namuna olish tezligi, bu bizning ADC sekundiga qancha namuna oladi, konvertatsiya tezligi qanchalik ko'p bo'lsa, chiqish natijasi shunchalik yaxshi bo'ladi, kirish to'lqiniga o'xshash bo'ladi.

Shunday qilib, biz ADC soatini 500 kHz ga o'rnatib, ushbu loyihada 33,33 kHz chastotali namuna olish tezligidan foydalanamiz, bu qanday bo'lishini tushunish uchun biz Atmega (328p) chipining ma'lumotlar sahifasida ADC vaqt sahifasini ko'rishimiz kerak.

Ko'rib turganimizdek, bitta namunani avtomatik tanlash bilan to'ldirish uchun bizga 13,5 ADC soat tsikli kerak. 500 KGts chastotada, bu bitta ADC tsikli uchun 1/500Khz = 2uS, ya'ni avtomatik namuna olishda namunani to'ldirish uchun 13,5*2uS = 27uS kerak. Mikrokontrollerga 3uS ko'proq berish (xavfsiz tomoni uchun), bitta namuna uchun jami 30uS qilish.

Shunday qilib, 30uS da 1 namuna 1/30uS = 33.33 KSamples/S ni bildiradi.

Namuna olish tezligini o'rnatish, Arduino -ning TIMER0 -ga bog'liq, chunki ADC avtomatik namuna olish tetiği bizning holatimizga bog'liq, buni kod va ma'lumotlar jadvalida ko'rib turganingizdek, biz OCR0A = 60 qiymatini yaratdik. ???)

Chunki ma'lumotlar jadvalida berilgan formulaga muvofiq.

chastota (yoki bu erda namuna tezligi) = Arduino/Prescaler soat chastotasi*OCR0A qiymati (bizning holatda)

Biz xohlagan chastota yoki namuna tezligi = 33.33KHz

Soat chastotasi = 16 MGts

Prescaler qiymati = 8 (bizning holatda)

OCR0A qiymati = biz topmoqchimizmi?

bu shunchaki OCR0A = 60 ni beradi, bizning Arduino kodimizda ham.

TIMER1 ovozli signal uzatish to'lqinlari uchun ishlatiladi va men bu haqda juda ko'p tafsilotlarni aytmayman.

Shunday qilib, bu Arduino bilan PWM uchun ADC kontseptsiyasining qisqa nazariyasi edi.

3 -qadam: sxematik

Sxematik
Sxematik

Sxemada ko'rsatilganidek, barcha komponentlarni ulang. Shunday qilib, sizda ikkita variant bor:-

1. Karnayni ulang (5V ga ulangan)

2. Flyback transformatorini ulang (12V ga ulangan)

Men ikkalasini ham sinab ko'rdim. Va ikkalasi ham juda yaxshi ishlaydi.

*MUHIM**MUHIM ** MUHIM ** MUHIM ** MUHIM*Biz kuchaytirgich yoki kuchaytirgich pallasida 5V kuchlanishli maksimal kuchlanishli ovozli signalni ishlatishimiz kerak

Ogohlantirishlar:-

*Men Flyback transformatorini ehtiyotkorlik bilan ishlatishni maslahat beraman, chunki u xavfli bo'lishi mumkin, chunki u yuqori kuchlanish hosil qiladi. Va men hech qanday zarar ko'rmayman*.

4 -qadam: Yakuniy test

Shunday qilib, berilgan kodni Arduino -ga yuklang va kuchaytirilgan signalni A0 piniga ulang.

Va barcha pimlarni umumiy erga ulashni unutmang.

Va faqat musiqa tinglashdan zavqlaning.

Tavsiya: