Talaan ng mga Nilalaman:

Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker: 4 Hakbang
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker: 4 Hakbang

Video: Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker: 4 Hakbang

Video: Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker: 4 Hakbang
Video: Loud horn 3 sounds (current reading) Tagalog 2024, Nobyembre
Anonim
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker
Magpatugtog ng Mga Kanta Sa Arduino Gamit ang ADC sa PWM sa Flyback Transformer o Speaker

Hello Guys, Ito ang ikalawang bahagi ng aking isa pang itinuro (na mahirap), Karaniwan, Sa Proyekto na ito, ginamit ko ang ADC at TIMERS sa aking Arduino upang i-convert ang Audio Signal sa isang PWM Signal.

Ito ay mas madali kaysa sa dati kong Instructable, Narito ang link ng aking unang Instructable kung nais mong makita. link

Upang maunawaan ang teorya ng Audio signal, Bitrate, Bit lalim, Sampling rate, Maaari mong basahin ang teorya sa aking huling tutorial sa Instructable. Ang link ay nasa itaas.

Hakbang 1: Mga Bagay na Kailangan namin para sa Proyekto na Ito (Mga Kinakailangan)

1. Arduino Board (maaari naming gamitin ang anumang Lupon (328, 2560) ie Mega, Uno, Mini, atbp ngunit may tukoy na magkakaibang mga pin)

2. PC kasama ang Arduino Studio.

3. Breadboard o Perfboard

4. Mga Koneksyon sa Mga Wires

5. TC4420 (Mosfet driver o ganoong bagay)

6. Power Mosfet (N o P channel, mangyaring mag-wire pagkatapos nito) (Gumamit ako ng N-channel)

7. Speaker o Flyback Transformer (Oo basahin mo ito nang tama !!)

8. Angkop na Power Supply (0-12V) (Gumamit ako ng sarili kong ATX Power Supply)

9. Heat Sink (Nakatipid ako mula sa aking dating PC).

10. Isang Amplifier (normal Music Amplifier) o Amplifier Circuit.

Hakbang 2: Teorya ng ADC sa PWM

Teorya ng ADC sa PWM
Teorya ng ADC sa PWM
Teorya ng ADC sa PWM
Teorya ng ADC sa PWM

Kaya sa Proyekto na ito, ginamit ko sa built ADC ng Arduino upang gawin ang sample ng data ng isang Audio Signal.

Ang ADC (Analog-To-Digital Converter) bilang pangalan ay tumutukoy, binago ng ADC ang signal ng Analog sa mga Digital na sample. At para kay Arduino na may maximum na 10-bit na lalim. Ngunit para sa Project na ito, gagamitin namin ang 8-bit Sampling.

Habang ginagamit ang ADC ng Arduino, dapat nating tandaan ang ADC_referensi Voltage.

Nag-aalok ang Arduino Uno ng 1.1V, 5V (Panloob na sanggunian, na maaaring maitakda sa pagtukoy sa code) o isang panlabas na sanggunian (na kailangan nating ilapat sa labas sa mga pin ng AREF).

Ayon sa aking karanasan, isang minimum na 2.0V ang dapat gamitin bilang isang boltahe ng sanggunian upang makakuha ng magandang resulta mula sa ADC. Bilang 1.1V ay hindi naging maayos kahit papaano para sa akin. (Personal na karanasan)

* MAHALAGA * * MAHALAGA ** MAHALAGA ** MAHALAGA ** MAHALAGA *

Kailangan naming gumamit ng isang pinalakas na audio signal mula sa isang Amplifier o isang Amplifier Circuit na may isang boltahe ng rurok (Max. Boltahe) na 5V

Dahil itinakda ko ang panloob na Sanggunian ng Boltahe ng 5V, para sa aming Project. At gumagamit ako ng isang pinalakas na Signal gamit ang isang normal na Amplifier (Music Amplifier), na karamihan ay magagamit sa aming sambahayan o maaari kang bumuo ng isa para sa iyong sarili.

Kaya ngayon ang pangunahing bahagi. Sampling Rate, na kung gaano karaming mga sample ang kinukuha ng aming ADC bawat segundo, higit pa ang rate ng conversion, mas mahusay na magiging resulta ng paglabas, mas katulad ang output wave kumpara sa input.

Sa gayon, gagamit kami ng isang rate ng pag-sample ng 33.33Khz sa Proyekto na ito, sa pamamagitan ng pagtatakda ng orasan ng ADC sa 500Khz. Upang maunawaan kung paano ito talaga, kailangan nating makita ang ADC Timing Page sa datasheet ng Atmega (328p) chip.

Makikita natin iyan, kailangan natin ng 13.5 ADC cycle ng orasan upang makumpleto ang isang sample na may awtomatikong pag-sample. Sa dalas na 500Khz, nangangahulugan ito ng 1 / 500Khz = 2uS para sa isang ADC cycle, na nangangahulugang 13.5 * 2uS = 27uS ang kinakailangan upang makumpleto ang isang sample kapag ginamit ang auto sampling. Sa pamamagitan ng pagbibigay ng 3uS higit pa sa Microcontroller (para sa ligtas na bahagi), Gumagawa ng kabuuang 30uS ganap para sa isang sample.

Kaya't ang 1 Sample sa 30uS ay nangangahulugang 1 / 30uS = 33.33 KSamples / S.

Upang maitakda ang rate ng Sampling, na nakasalalay sa TIMER0 ng Arduino, dahil ang ADC auto sampling trigger ay nakasalalay sa na sa aming kaso, tulad ng makikita mo rin sa code at datasheet, ginawa namin ang halaga ng OCR0A = 60 (Bakit kaya ???)

Dahil ayon sa ibinigay na pormula sa datasheet.

dalas (o dito Sample Rate) = dalas ng orasan ng Arduino / Prescaler * Halaga ng OCR0A (sa aming kaso)

Dalas o Sample rate na gusto namin = 33.33KHz

Dalas ng orasan = 16MHz

Prescaler halaga = 8 (sa aming kaso)

Halaga ng OCR0A = nais naming hanapin ??

na nagbibigay lamang ng OCR0A = 60, din sa aming Arduino code.

Ang TIMER1 ay ginagamit para sa alon ng carrier ng isang audio signal, At hindi ako pupunta sa napakaraming mga detalye ng iyon.

Kaya, iyon ang maikling teorya ng konsepto ng ADC sa PWM kasama si Arduino.

Hakbang 3: Skematika

Skematika
Skematika

Ikonekta ang lahat ng mga Components tulad ng ipinakita sa eskematiko. Kaya mayroon kang dalawang mga pagpipilian dito: -

1. Kumonekta sa isang Speaker (Nakakonekta sa 5V)

2. Ikonekta ang isang Flyback Transformer (Nakakonekta sa 12V)

Sinubukan ko ang pareho. At kapwa gumagana nang maayos.

* MAHALAGA * * MAHALAGA ** MAHALAGA ** MAHALAGA ** MAHALAGA * Kailangan naming gumamit ng isang amplified audio signal mula sa isang Amplifier o isang Amplifier Circuit na may tuktok na boltahe (Max. Boltahe) na 5V

Pagwawaksi: -

* Inirerekumenda ko ang paggamit ng Flyback Transformer na may Pag-iingat dahil maaari itong mapanganib dahil gumagawa ito ng Mataas na Boltahe. At hindi ako mananagot sa anumang pinsala. *

Hakbang 4: Pangwakas na Pagsubok

Kaya i-upload ang ibinigay na code sa iyong Arduino, At ikonekta ang Amplified Signal sa A0 pin.

At huwag kalimutang ikonekta ang lahat ng mga ground pin sa isang karaniwang lupa.

At Masaya Lang sa pakikinig ng musika.

Inirerekumendang: