Memutar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker: 4 Langkah
Memutar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker: 4 Langkah
Anonim
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker
Putar Lagu Dengan Arduino Menggunakan ADC ke PWM di Flyback Transformer atau Speaker

Hallo teman-teman, Ini adalah bagian kedua dari instruksi saya yang lain (yang jauh lebih sulit), Pada dasarnya, Dalam Proyek ini, saya telah menggunakan ADC dan TIMER pada Arduino saya untuk mengubah Sinyal Audio menjadi Sinyal PWM.

Ini jauh lebih mudah daripada Instructable saya sebelumnya, Ini adalah tautan Instructable pertama saya jika Anda ingin melihatnya. tautan

Untuk memahami teori sinyal Audio, Bitrate, Bit depth, Sampling rate, Anda dapat membaca teorinya di tutorial terakhir saya tentang Instructable. Linknya ada di atas.

Langkah 1: Hal-hal yang Kami Butuhkan untuk Proyek Ini(Persyaratan)

1. Papan Arduino (kita dapat menggunakan Papan apa saja (328, 2560) yaitu Mega, Uno, Mini, dll tetapi dengan pin tertentu yang berbeda)

2. PC dengan Arduino Studio.

3. Breadboard atau Perfboard

4. Menghubungkan Kabel

5. TC4420 (driver MOSFET atau semacamnya)

6. Power MOSFET (saluran N atau P, harap sambungkan dengan benar) (Saya telah menggunakan saluran N)

7. Speaker atau Flyback Transformer (Ya Anda membacanya dengan benar!!)

8. Catu Daya yang Sesuai (0-12V) (Saya telah menggunakan Catu Daya ATX saya sendiri)

9. Heat Sink (Saya telah menyelamatkan dari PC lama saya).

10. Sebuah Amplifier (Penguat Musik normal) atau Rangkaian Amplifier.

Langkah 2: Teori ADC ke PWM

Teori ADC ke PWM
Teori ADC ke PWM
Teori ADC ke PWM
Teori ADC ke PWM

Jadi dalam Proyek ini, saya telah menggunakan ADC Arduino bawaan untuk melakukan pengambilan sampel data Sinyal Audio.

ADC (Analog-To-Digital Converter) sesuai namanya, ADC mengubah sinyal Analog menjadi sampel Digital. Dan untuk Arduino dengan kedalaman maksimal 10-bit. Tetapi untuk Proyek ini, kami akan menggunakan Sampling 8-bit.

Saat menggunakan ADC Arduino, kita harus mengingat Tegangan ADC_reference.

Arduino Uno menawarkan 1.1V, 5V (Referensi internal, yang dapat diatur dalam kode) atau referensi eksternal (yang harus kita terapkan secara eksternal ke pin AREF).

Menurut pengalaman saya, minimal 2.0V harus digunakan sebagai tegangan referensi untuk mendapatkan hasil yang baik dari ADC. Karena 1.1V tidak berjalan dengan baik setidaknya untuk saya. (Pengalaman pribadi)

*PENTING* *PENTING**PENTING**PENTING**PENTING*

Kita perlu menggunakan sinyal audio yang diperkuat dari Amplifier atau Rangkaian Amplifier dengan tegangan puncak (Max. Voltage) 5V

Karena saya mengatur Referensi Tegangan internal 5V, untuk Proyek kami. Dan saya menggunakan Sinyal yang diperkuat menggunakan Amplifier normal (Penguat Musik), yang sebagian besar tersedia di rumah kami atau Anda dapat membuatnya sendiri.

Jadi sekarang bagian utama. Sampling Rate, yaitu berapa banyak sampel yang diambil ADC kami per detik, semakin banyak tingkat konversi, semakin baik hasil keluaran, semakin mirip gelombang keluaran dibandingkan dengan masukan.

Jadi, kita akan menggunakan laju sampling 33,33Khz dalam Proyek ini, dengan menyetel jam ADC pada 500Khz. Untuk memahaminya, kita harus melihat Halaman Waktu ADC di lembar data chip Atmega(328p).

Kita dapat melihat bahwa, kita membutuhkan 13,5 siklus clock ADC untuk menyelesaikan satu sampel dengan pengambilan sampel otomatis. Dengan frekuensi 500Khz, itu berarti 1/500Khz=2uS untuk satu siklus ADC, yang berarti diperlukan 13,5*2uS=27uS untuk menyelesaikan sampel saat pengambilan sampel otomatis digunakan. Dengan memberikan 3uS lebih banyak ke Mikrokontroler (untuk sisi aman), Membuat total 30uS total untuk satu sampel.

Jadi 1 Sampel pada 30uS berarti 1/30uS=33,33 KSampel/S.

Untuk mengatur laju Sampling, yang bergantung pada TIMER0 Arduino, karena pemicu pengambilan sampel otomatis ADC bergantung pada itu dalam kasus kami, seperti yang juga dapat Anda lihat dalam kode dan lembar data, kami telah membuat nilai OCR0A=60(Mengapa demikian ???)

Karena sesuai dengan rumus yang diberikan di datasheet.

frekuensi (atau di sini Sample Rate)=Frekuensi jam Arduino/Prescaler*Nilai OCR0A (dalam kasus kami)

Frekuensi atau Tingkat sampel yang kami inginkan = 33,33 KHz

Frekuensi jam = 16MHz

Nilai prescaler = 8 (dalam kasus kami)

Nilai OCR0A=kami ingin mencari??

yang hanya memberikan OCR0A=60, juga dalam kode Arduino kami.

TIMER1 digunakan untuk gelombang pembawa sinyal audio, Dan saya tidak akan membahas begitu banyak detailnya.

Nah itulah tadi teori singkat tentang konsep ADC to PWM dengan Arduino.

Langkah 3: Skema

Skema
Skema

Hubungkan semua Komponen seperti yang ditunjukkan pada skema. Jadi Anda memiliki dua opsi di sini: -

1. Hubungkan Speaker (Terhubung dengan 5V)

2. Hubungkan Transformator Flyback (Terhubung dengan 12V)

Saya telah mencoba keduanya. Dan keduanya bekerja dengan cukup baik.

*PENTING* *PENTING**PENTING**PENTING**PENTING*Kita perlu menggunakan sinyal audio yang diperkuat dari Amplifier atau Rangkaian Amplifier dengan tegangan puncak (Max. Voltage) 5V

Penafian:-

*Saya sarankan menggunakan Trafo Flyback dengan Hati-hati karena bisa berbahaya karena menghasilkan Tegangan Tinggi. Dan saya tidak bertanggung jawab atas kerusakan apa pun.*

Langkah 4: Tes Akhir

Jadi unggah kode yang diberikan ke Arduino Anda, Dan hubungkan Sinyal yang Diperkuat ke pin A0.

Dan jangan lupa untuk menghubungkan semua pin ground ke ground yang sama.

Dan Nikmati saja mendengarkan musik.