فهرست مطالب:

پخش آهنگ با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو: 4 مرحله
پخش آهنگ با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو: 4 مرحله

تصویری: پخش آهنگ با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو: 4 مرحله

تصویری: پخش آهنگ با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو: 4 مرحله
تصویری: پخش موسیقی با میکورکنترلر AVR -بخش سخت افزاری 2024, نوامبر
Anonim
آهنگ ها را با آردوینو با استفاده از ADC to PWM در Flyback Transformer یا Speaker پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC to PWM در Flyback Transformer یا Speaker پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC to PWM در Flyback Transformer یا Speaker پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC to PWM در Flyback Transformer یا Speaker پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو پخش کنید
آهنگ ها را با آردوینو با استفاده از ADC به PWM در Flyback Transformer یا بلندگو پخش کنید

سلام بچه ها،

این بخش دوم از دستورالعمل دیگر من است (که بسیار دشوار بود) ، اساساً ، در این پروژه ، من از ADC و TIMERS در Arduino خود برای تبدیل سیگنال صوتی به سیگنال PWM استفاده کرده ام.

این بسیار ساده تر از دستورالعمل قبلی من است ، اگر می خواهید ببینید ، پیوند اولین دستورالعمل من است. ارتباط دادن

برای درک نظریه سیگنال های صوتی ، میزان بیت ، عمق بیت ، میزان نمونه برداری ، می توانید این نظریه را در آخرین آموزش من در مورد دستورالعمل مطالعه کنید. پیوند بالاست.

مرحله 1: موارد مورد نیاز برای این پروژه (شرایط مورد نیاز)

1. برد آردوینو (ما می توانیم از هر برد (328 ، 2560) یعنی Mega ، Uno ، Mini و غیره اما با پین های مختلف خاص استفاده کنیم)

2. کامپیوتر با استودیو آردوینو.

3. Breadboard یا Perfboard

4. اتصال سیم

5. TC4420 (راننده Mosfet یا موارد دیگر)

6. پاور Mosfet (کانال N یا P ، لطفاً پس از آن سیم خود را متصل کنید) (من از کانال N استفاده کرده ام)

7. بلندگو یا Flyback Transformer (بله درست خوانده اید !!)

8. منبع تغذیه مناسب (0-12V) (من از منبع تغذیه ATX خودم استفاده کرده ام)

9. هیت سینک (من از رایانه قدیمی خود نجات داده ام).

10. تقویت کننده (تقویت کننده موسیقی معمولی) یا مدار تقویت کننده.

مرحله 2: نظریه ADC به PWM

نظریه ADC به PWM
نظریه ADC به PWM
نظریه ADC به PWM
نظریه ADC به PWM

بنابراین در این پروژه ، من از ADC ساخته شده آردوینو برای نمونه برداری از داده های یک سیگنال صوتی استفاده کرده ام.

ADC (مبدل آنالوگ به دیجیتال) همانطور که از نامش مشخص است ، ADC سیگنال آنالوگ را به نمونه های دیجیتال تبدیل می کند. و برای آردوینو با حداکثر عمق 10 بیتی. اما برای این پروژه ، از نمونه گیری 8 بیتی استفاده می کنیم.

هنگام استفاده از ADC آردوینو ، باید ولتاژ مرجع ADC_ را در نظر داشته باشیم.

Arduino Uno 1.1V ، 5V (مرجع داخلی ، که می تواند با کد تعریف شود) یا یک مرجع خارجی (که ما باید از خارج به پین AREF اعمال کنیم) ارائه می دهد.

طبق تجربه من ، حداقل 2.0 ولت باید به عنوان ولتاژ مرجع مورد استفاده قرار گیرد تا نتیجه خوبی از ADC حاصل شود. به عنوان 1.1V حداقل برای من خوب نبود. (تجربه شخصی)

*مهم**مهم ** مهم ** مهم ** مهم ** مهم*

ما باید از یک سیگنال صوتی تقویت شده از یک تقویت کننده یا یک مدار تقویت کننده با حداکثر ولتاژ (حداکثر ولتاژ) 5 ولت استفاده کنیم

زیرا من مرجع ولتاژ داخلی 5 ولت را برای پروژه خود تنظیم کردم. و من از یک سیگنال تقویت شده با استفاده از یک تقویت کننده معمولی (تقویت کننده موسیقی) استفاده می کنم ، که بیشتر در خانه ما موجود است یا می توانید برای خود بسازید.

بنابراین اکنون قسمت اصلی. نرخ نمونه برداری ، یعنی میزان ADC ما در هر ثانیه ، نرخ تبدیل بیشتر است ، نتیجه خروجی بهتر است ، موج خروجی مشابه تر از ورودی است.

بنابراین ، در این پروژه با تنظیم ساعت ADC در 500Khz از نرخ نمونه برداری 33.33Khz استفاده خواهیم کرد. برای درک نحوه انجام این کار ، باید صفحه زمان بندی ADC را در برگه داده تراشه Atmega (328p) مشاهده کنیم.

می بینیم که برای تکمیل یک نمونه با نمونه گیری خودکار به 13.5 چرخه ساعت ADC نیاز داریم. با فرکانس 500Khz ، به معنی 1/500Khz = 2uS برای یک چرخه ADC است ، که به معنی 13.5*2uS = 27uS برای تکمیل نمونه هنگام نمونه گیری خودکار مورد نیاز است. با دادن 3uS بیشتر به میکروکنترلر (برای طرف امن) ، مجموعاً 30uS برای یک نمونه.

بنابراین 1 نمونه در 30uS به معنی 1/30uS = 33.33 KS نمونه/S است.

برای تنظیم نرخ نمونه برداری ، که به TIMER0 آردوینو وابسته است ، زیرا محرک نمونه گیری خودکار ADC بستگی به آن دارد در مورد ما ، همانطور که در کد و برگه داده نیز مشاهده می کنید ، ما مقدار OCR0A = 60 (چرا ؟؟؟)

زیرا طبق فرمول داده شده در برگه داده.

فرکانس (یا در اینجا نرخ نمونه) = فرکانس ساعت Arduino/Prescaler*مقدار OCR0A (در مورد ما)

فرکانس یا نرخ نمونه مورد نظر ما = 33.33KHz

فرکانس ساعت = 16 مگاهرتز

مقدار پیش فروش = 8 (در مورد ما)

مقدار OCR0A = ما می خواهیم پیدا کنیم ؟؟

که به سادگی OCR0A = 60 را نیز در کد Arduino ما نشان می دهد.

TIMER1 برای موج حامل سیگنال صوتی استفاده می شود ، و من جزئیات زیادی از آن را بیان نمی کنم.

بنابراین ، این نظریه کوتاه مفهوم ADC به PWM با آردوینو بود.

مرحله 3: شماتیک

شماتیک
شماتیک

همه اجزا را همانطور که در شماتیک نشان داده شده است وصل کنید. بنابراین شما در اینجا دو گزینه دارید:-

1. اتصال بلندگو (متصل به 5V)

2. یک ترانسفورماتور Flyback را وصل کنید (متصل به 12 ولت)

من هر دو را امتحان کرده ام. و هر دو بسیار خوب کار می کنند.

*مهم**مهم ** مهم ** مهم ** مهم ** مهم*ما باید از یک سیگنال صوتی تقویت شده از یک تقویت کننده یا یک مدار تقویت کننده با حداکثر ولتاژ (حداکثر ولتاژ) 5 ولت استفاده کنیم

سلب مسئولیت:-

*توصیه می کنم از Flyback Transformer با احتیاط استفاده کنید زیرا ممکن است خطرناک باشد زیرا ولتاژهای بالا تولید می کند. و هیچ گونه خسارتی متوجه من نخواهد بود.*

مرحله 4: آزمایش نهایی

بنابراین کد داده شده را در Arduino خود بارگذاری کرده و Amplified Signal را به پین A0 متصل کنید.

و فراموش نکنید که همه پین های زمین را به یک نقطه مشترک متصل کنید.

و فقط از گوش دادن به موسیقی لذت ببرید.

توصیه شده: