Cov txheej txheem:

Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer: 6 Cov Kauj Ruam (nrog Duab)
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer: 6 Cov Kauj Ruam (nrog Duab)

Video: Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer: 6 Cov Kauj Ruam (nrog Duab)

Video: Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer: 6 Cov Kauj Ruam (nrog Duab)
Video: tub huas xyooj koom Nkauj 2023-4 2024, Kaum ib hlis
Anonim
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer
Ua Nkauj (MP3) Nrog Arduino Siv PWM ntawm Tus Hais Lus lossis Flyback Transformer

Nyob Zoo Cov Menyuam, Nov yog kuv thawj qhov kev qhia, Kuv vam tias koj yuav nyiam Nws !!

Yeej, Hauv Txoj Haujlwm no Kuv tau siv Cov Kev Sib Txuas Ntawm Kuv Arduino thiab Kuv Lub Laptop, kom xa cov ntaub ntawv suab paj nruag los ntawm kuv lub laptop mus rau Arduino. Thiab siv Arduino TIMERS los ua cov ntaub ntawv ua PWM teeb liab.

Kuv xav hais txog qhov ntawd, txoj haujlwm no tsis yog rau Cov Pib !!!.

Qhov tseeb, txoj haujlwm no yog ib qhov haujlwm ntev tshaj plaws, vim tias peb yuav tsum ua ntau yam kom nws ua haujlwm.

ZOO SIAB

Kuv tau ua ntu thib ob ntawm cov lus qhia no, uas yog txoj hauv kev yooj yim dua thiab xav tau cov teeb meem me me los ua haujlwm

Txuas mus rau Ntu Ob (qhov yooj yim tshaj plaws).

Kauj Ruam 1: Yam Peb Xav Tau rau Txoj Haujlwm no (Yuav Tsum Muaj)

1. Arduino Board (peb tuaj yeem siv ib lub Rooj Tswjhwm Saib (328, 2560) piv txwv li Mega, Uno, Mini, thiab lwm yam tab sis muaj cov pins sib txawv tshwj xeeb)

2. PC lossis Laptop nrog Linux (Kuv tau siv Fedora 29) lossis Nyob USB nrog Linux

3. Breadboard lossis Perfboard

4. Txuas Cov Xov Tooj

5. TC4420 (Mosfet tsav tsheb lossis lwm yam)

6. Lub Hwj Chim Mosfet (N lossis P channel, thov xaim xov tooj kom haum) (Kuv tau siv N-channel)

7. Hais lus lossis Flyback Transformer (Yog koj nyeem nws raug !!)

8. Cov Khoom Siv Hluav Taws Xob Tsim Nyog (0-12V) (Kuv tau siv kuv tus kheej ATX Fais Fab Khoom)

9. Tshav Kub Kub (Kuv tau khaws los ntawm kuv lub PC qub)

10. PC nrog Windows thiab cwj mem tsav.

Txhawm rau paub cov ncauj lus ntxaws ua haujlwm ntawm txhua feem thiab txoj haujlwm no thov nyeem cov kauj ruam tom ntej.

Kuv tau ua ntu thib ob ntawm cov lus qhia no, uas yog txoj hauv kev yooj yim dua thiab xav tau cov teeb meem me me los ua haujlwm. Link mus rau Ntu Ob (yooj yim ib qho).

Kauj Ruam 2: Nkag Siab Txoj Cai Ua Haujlwm

Ahhh !! qhov ntev tshaj plaws ntawm kev qhia, nyeem thiab sau nqe lus no yog ob qho tib si tsis txaus ntseeg.

Ua ntej tshaj plaws, peb yuav tsum tau txais Tus Txheej Txheem, qhov khoom no ua haujlwm li cas.

peb ua dab tsi ntawm no yog thawj zaug, peb tab tom hloov peb zaj nkauj MP3 rau hauv WAV Cov Ntaub Ntawv thiab cov ntawv no mus rau hauv C header file los ntawm kev siv software, uas yog nyob hauv qhov txuas. Tus lej C no yeej muaj 8-ntsis (vim li cas 8-ntsis ?? nyeem ntxiv) cov ntaub ntawv piv txwv uas peb xav tau los ua si siv peb Arduino ntawm tus nqi ruaj khov lossis nrawm, uas tau teev tseg raws li peb Tus Qauv Piv Txwv.

Txoj Kev Xav Ntawm Lub Teeb Suab.

Rau cov neeg uas tsis paub tias Tus Qauv Piv Txwv lossis Tus Nqi Tus Nqi yog:-

Tus Nqi Sampling yog txhais raws tus naj npawb ntawm Cov Qauv, peb tab tom ua si hauv ib pliag (feem ntau ntsuas hauv Hz lossis KHz).

Kom paub ntau ntxiv hauv Nthuav Qhia:-Nyem qhov no

Cov Qauv Nqi Tus Qauv yog 44100 Hz (zoo tshaj plaws), 32000 Hz, 22050 Hz, thiab lwm yam

uas txhais tau hais tias 44100 Cov Qauv raug siv hauv ib ntus los tsim cov nthwv dej kom haum.

piv txwv tias Txhua Tus Qauv yuav tsum tau ua si ntawm qhov ncua sijhawm ntawm 1/44100 = 22.67 uS.

Tom qab ntawd los Qhov Ntsuas Qhov Ntsuas ntawm Lub Teeb Suab, uas feem ntau yog ntsuas ntsuas qhov tseeb ntawm lub suab yog sawv cev hauv cov suab digital. Qhov siab dua qhov tob, qhov tseeb dua lub suab digital.

Tab sis nrog Arduino lossis lwm yam Micro-controller nrog 16Mhz moos tso cai rau peb siv peb li 8-ntsis nkaus xwb. Kuv yuav piav nws vim li cas.

Muaj tus lej ntawm nplooj ntawv no.102 hauv cov ntawv teev npe ntawm 328p:- Cov ntawv teev tseg

Kuv yuav tsis mus kom ntxaws, vim li cas kuv thiaj siv cov mis no.

Zaus ntawm Teeb Meem = Caij Teeb Meem / N x (1+TOP)

Mloog Teeb Meem = 16Mhz (Arduino board)

N = prescaler (1 yog tus nqi rau peb tes num)

TOP = tus nqi 0 txog 2^16 (Rau 16-ntsis timer txee) (255 = 2^8 (8-ntsis) rau peb qhov project)

peb tau txais tus nqi ntawm qhov zaus ntawm Teeb liab = 62.5 kHz

Qhov no txhais tau tias tus neeg nqa khoom yoj yoj yws yws ntawm Qhov tob.

Piv txwv tias, yog tias peb siv TOP tus nqi = 2^16 = 65536 (piv txwv li qhov tob ntawm 16-ntsis)

tom qab ntawd peb tau txais tus nqi ntawm qhov zaus ntawm Teeb liab = 244 Hz (uas peb siv tsis tau)

OKK… Yog li qhov kev xav no ntau npaum li cas Cov Teeb Meem Suab ua haujlwm txaus, Yog li rov qab mus rau Txoj Haujlwm.

Txoj cai C tsim los rau Ib Zaj Nkauj tuaj yeem theej rau hauv Arduino thiab tuaj yeem ua si, tab sis peb raug txwv txog 3-sec suab tso suab nrog tus lej ntsuas ntawm 8000 Hz. Vim tias tus lej C no yog cov ntawv sau thiab vim li no tsis tau nrawm dua decompressed. Thiab nws siv sijhawm ntau dhau. (piv txwv li C code cov ntaub ntawv nrog 43-sec suab nrog 44, 1 KHz cov qauv coj mus siv qhov chaw txog 23 MB). Thiab peb Arduino Mega muab qhov chaw rau peb txog 256 Kb.

Yog li peb yuav ua nkauj li cas siv Arduino. Nws ua tsis tau. Cov lus qhia no yog cuav. Tsis txhob txhawj cov nyeem, Tias yog vim li cas peb yuav tsum siv qee yam kev sib txuas lus ntawm Arduino ntawm qhov nrawm heev (txog 1 Mb/s) kom xa cov ntaub ntawv Suab mus rau Arduino.

Tab sis Peb xav tau nrawm npaum li cas, ua qhov no ??

Cov lus teb yog 44000 bytes per sec uas txhais tau tias nrawm dua 44000*8 = 325, 000 Bits/s.

Peb xav tau lwm qhov txuas nrog qhov chaw khaws khoom loj los xa cov ntaub ntawv no rau peb Arduino. Thiab qhov ntawd yuav yog peb lub PC nrog Linux (vim li cas PC nrog Linux ??? thov nyeem ntxiv kom paub ntau ntxiv txog nws.)

Ahaa… Qhov ntawd txhais tau tias peb tuaj yeem siv Kev Sib Txuas Lus… Tab sis tos… cov ntawv tuaj yeem ua tau ntawm qhov nrawm txog 115200 Cov Khoom/s uas txhais tau tias (325000/115200 = 3) uas, nws yog peb zaug qeeb dua li qhov xav tau.

Tsis yog, kuv cov phooj ywg, nws tsis yog. Peb yuav siv nrawm lossis Baud Tus Nqi ntawm 500, 000 Bits/s nrawm nrog cov kab txuas mus txog 20-30 cm max., Uas yog 1.5 zaug sai dua qhov xav tau.

Vim li cas Linux, tsis yog Windows ???

Yog li, peb yuav tsum xa cov qauv mus nyob ib ntus (tseem teev tseg saum toj no) ntawm 1/44100 = 22.67 uS nrog peb lub PC.

Yog li peb tuaj yeem ua haujlwm nws li cas ??

Peb tuaj yeem siv C ++ xa cov ntaub ntawv byte los ntawm Serial ntawm lub sijhawm siv qee yam kev ua haujlwm pw tsaug zog

zoo li nanosleep, Chrono, thiab lwm yam, thiab lwm yam….

rau (int x = 0; x

xa cov ntaub ntawv (x);

nanosleep (22000); // 22uS

}

TAB SIS Nws Tsis Ua Haujlwm ntawm WINDOWS kuj tsis ua haujlwm zoo li no ntawm Linux (tab sis kuv pom lwm txoj hauv kev uas koj tuaj yeem pom hauv kuv li Code txuas nrog.)

Vim tias peb tsis tuaj yeem ua tiav qhov ua tau zoo siv qhov rais. Koj xav tau Linux kom ua tiav qhov kev ua tiav.

Teeb meem Kuv pom txawm tias nrog Linux…

peb tuaj yeem ua tiav qhov ua tau zoo siv Linux, tab sis kuv pom tsis muaj lub luag haujlwm zoo li tsaug zog kuv qhov haujlwm rau 22uS.

Kev ua haujlwm xws li nanosleep, Chrono nanosleep, thiab lwm yam, thiab lwm yam.. kuj tsis ua haujlwm, vim tias lawv muab kev pw tsaug zog ntau dua 100 uS. Tab sis kuv xav tau qhov tseeb, meej 22 uS. Kuv tau tshawb fawb txhua nplooj ntawv hauv google thiab sim nrog txhua qhov ua tau uas muaj nyob hauv C/C ++ tab sis tsis muaj dab tsi ua haujlwm rau kuv. Tom qab ntawd kuv tau los nrog kuv tus kheej txoj haujlwm, uas ua haujlwm rau kuv zoo li ntxim nyiam tiag.

Thiab kuv cov cai tam sim no muab qhov tseeb, meej pw ntawm 1uS lossis siab dua !!!

Yog li peb tau npog qhov nyuaj thiab qhov seem yog yooj yim …

Thiab peb xav tsim kom muaj PWM teeb liab siv Arduino nrog qhov tshwj xeeb tshwj xeeb kuj yog cov khoom siv thauj khoom nthwv dej zaus. (62.5KHz (raws li suav sau saum toj no) kom tiv thaiv kab mob tau zoo).

Yog li, Peb yuav tsum siv lub npe TIMERS ntawm Arduino los tsim PWM. Los ntawm txoj kev, Kuv yuav tsis mus rau ntau cov ntsiab lus ntawm qhov ntawd, vim tias koj yuav pom ntau yam kev qhia ntawm lub ntsiab lus ntawm TIMERS, tab sis yog tias koj tsis pom qee qhov, tom qab ntawv tawm hauv qab no kuv yuav ua ib qho.

Kuv tau siv tus tsav tsheb TC4420 Mosfet, txhawm rau txuag peb Arduino Pins, vim tias lawv tsis tuaj yeem xa tawm tam sim no kom tsav MOSFET qee zaum.

Yog li, qhov ntawd yog yuav luag kev xav ntawm txoj haujlwm no, peb tuaj yeem pom tam sim no daim duab qhia chaw.

ZOO SIAB THIAB ZOO TSHAJ PLAWS

Qhov tseeb, txoj haujlwm no tau ua nyuaj nyuaj txhob txwm ua (Kuv yuav qhia yog vim li cas), muaj lwm txoj hauv kev uas xav tau noPC tsuas yog Arduino thiab tus hais lus hauv kuv qhov kev tsim kho txuas ntxiv. Link nyob ntawm no.

*Lub hom phiaj tseem ceeb ntawm txoj haujlwm no yog siv Kev Sib Txuas Lus thiab paub nws lub zog thiab kawm paub yuav ua li cas peb tuaj yeem tsim kho peb lub PC kom ua cov haujlwm kom raug raws lub sijhawm zoo."

Kauj ruam 3: Schematic

Schematic
Schematic

Txuas txhua lub Cheeb Tsam raws li qhia hauv schematic. Yog li koj muaj ntawm no ob txoj kev xaiv:-

1. Txuas Tus Hais Lus (Txuas nrog 5V)

2. Txuas Flyback Transformer (Txuas nrog 12V)

Kuv tau sim ob qho tib si. Thiab ob leeg ua haujlwm zoo heev.

Tsis lees paub:-

*Kuv pom zoo siv Flyback Transformer nrog Kev Ceeb Toom vim tias nws tuaj yeem ua rau muaj kev phom sij vim tias nws tsim hluav taws xob siab. Thiab kuv yuav tsis lav rau ib qho kev puas tsuaj.*

Kauj ruam 4: Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity

Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity
Hloov MP3 rau WAV Cov Ntaub Ntawv Siv Audacity

Yog li, Ua ntej tshaj plaws, rub tawm cov software

1. Audacity, tshawb nrhiav thiab rub tawm los ntawm Google

2. Txhawm rau hloov WAV Cov Ntaub Ntawv rau C-Code, rub tawm daim ntawv thov lub qhov rai, npe hu ua WAVToCode

Koj tuaj yeem kawm paub siv WAVToCode software los ntawm qhov txuas no thiab rub tawm los ntawm qhov txuas no.

Kuv tseem yuav muab cov ncauj lus ntxaws ntxaws txog yuav ua li cas siv ob lub software.

Thov Saib cov duab txuas nrog cov lus qhia no.

Hauv theem no, peb yuav hloov MP3 rau Wav. (Ua raws cov duab, Tus nqi yuav tsum yog 44100Hz)

Hauv kauj ruam tom ntej, peb yuav hloov pauv cov ntaub ntawv wav rau C Code.

Kauj ruam 5: WAV rau C-Code

WAV to C-Code
WAV to C-Code
WAV to C-Code
WAV to C-Code
WAV to C-Code
WAV to C-Code

Ua raws li cov duab.

Pom ob daim duab kawg, qhov kev hloov pauv yuav tsum zoo ib yam, Cov tsiaj ntawv loj yuav tsum yog peev thiab cov ntawv tsawg yuav tsum qis dua, Los yog koj yuav tau txais cov lus yuam kev thaum sau ua ke.

(Koj tuaj yeem pom tias 1 feeb 41s nkauj tau siv 23mb chaw.)

Hloov cov nkauj lub npe thiab ntev nrog lub npe thiab sijhawm ntawm koj zaj nkauj feem.

Thiab Txuag C Code cov ntaub ntawv.

Ua qhov no rau txhua Zaj Nkauj koj xav ua si nrog Arduino

Kauj Ruam 6: Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux

Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux
Ua Cov Ntaub Ntawv Kawg thiab Tua Koj Li Linux

Ntxiv koj txhua zaj nkauj hloov pauv rau hauv Cov Ntaub Ntawv muab hauv qhov txuas no.

Thiab ua raws li cov duab.

Rub cov cai rau hauv Arduino, uas kuv tau txuas nrog.

Nco ntsoov C Code cov ntaub ntawv npe. (Piv txwv li kev ua neej nyob, nyiaj daus las, hnav), vim tias peb yuav tsum hais cov npe zoo ib yam rau hauv peb cov cai nrog cov ntaub ntawv-nkag siab.

Thaum kawg tua koj li Fedora Live USB lossis lwm yam thiab teeb tsa gcc compiler thiab tom qab ntawd siv cov lus qhia ua ke los ntawm daim nplaub tshev suav nrog qhov program thiab khiav nws.

Thaum kawg, koj yuav tuaj yeem mloog nkauj los ntawm Tus Hais Lus lossis Flyback.

Ua tsaug rau koj nyeem cov ntawv qhia no thiab thov tawm tswv yim yog tias koj nyiam.

NCO TSEG Kuv tau ua ntu thib ob ntawm cov lus qhia no, uas yog txoj hauv kev yooj yim dua thiab xav tau teeb meem tsawg kawg nkaus los ua haujlwm. Txuas mus rau Ntu Ob (qhov yooj yim tshaj plaws)

Pom zoo: