Orodha ya maudhui:

Jenereta ya Ishara AD9833: 3 Hatua
Jenereta ya Ishara AD9833: 3 Hatua

Video: Jenereta ya Ishara AD9833: 3 Hatua

Video: Jenereta ya Ishara AD9833: 3 Hatua
Video: ВИДЕО С ПРИЗРАКОМ СТАРИННОГО ЗАМКА И ОН… /VIDEO WITH THE GHOST OF AN OLD CASTLE AND HE ... 2024, Novemba
Anonim
Jenereta ya Ishara AD9833
Jenereta ya Ishara AD9833
Jenereta ya Ishara AD9833
Jenereta ya Ishara AD9833

Jenereta ya ishara ni kipande muhimu sana cha gia ya majaribio. Huyu anatumia moduli ya AD9833 na Arduino Nano - hiyo ni yote, hata PCB. Kwa hiari unaweza kuongeza onyesho la OLED. AD9833 inaweza kuchoma sine, pembetatu na mawimbi ya mraba kutoka 0.1 Hz hadi 12.5 MHz - programu katika mradi huu imepunguzwa kwa 1Hz hadi 100kHz.

Kumekuwa na Maagizo mengine yanayotumia Arduino na AD9833, hapa na hapa. Hii ni rahisi na inaweza kutumika kama jenereta ya kufagia. Zoa jenereta husaidia kujaribu majibu ya masafa ya vichungi, viboreshaji na kadhalika. Tofauti na miundo mingine ya Maagizo, hii haijumuishi amplifier au udhibiti wa amplitude lakini unaweza kuiongeza ikiwa ungependa.

Hatua ya 1: Jenereta ya Ishara rahisi

Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi
Jenereta ya Ishara rahisi

Kwa Jenereta ya Ishara rahisi, wewe tu umeuza moduli ya AD9833 nyuma ya Arduino Nano. Hakuna PCB inayohitajika.

Moduli ya AD9833 niliyochagua ni sawa na hii. Sisemi kwamba huyo ndiye muuzaji bora au wa bei rahisi lakini unapaswa kununua inayofanana na picha hiyo (au picha hapo juu).

Uunganisho kati ya moduli ni:

  • misingi iliyounganishwa pamoja
  • D2 = Usawazishaji
  • D3 = Clk
  • D4 = Takwimu
  • D6 = Vcc ya AD9833

AD9833 inaendeshwa kutoka kwa pini ya data D6 ya Arduino - Arduino inaweza kusambaza sasa ya kutosha. Nimeongeza 100n decoupling capacitor kwa sababu nilifikiri "ningepaswa" lakini sikuweza kuona tofauti yoyote - tayari kuna capacitor ya kushuka kwenye bodi ya moduli ya AD9833.

Ikiwa ungekuwa unapenda sana, unaweza kuwa na wasiwasi juu ya "ardhi ya analog" dhidi ya "ardhi ya dijiti" lakini ikiwa ungekuwa dhana, ungetumia zaidi ya pauni 4.

Jenereta rahisi ya Ishara inadhibitiwa na kuwezeshwa juu ya mwongozo wa USB kutoka kwa PC. USB inaleta bandari ya serial inayoendesha kwa 115200bps (8-bits, hakuna usawa). Amri ni:

  • '0'.. '9': badilisha nambari kuwa safu ya masafa ya "min"
  • 'S': weka masafa ya AD9833 na utengeneze wimbi la sine
  • 'T': weka mzunguko na utengeneze wimbi la pembetatu
  • 'Q': weka mzunguko na utengeneze wimbi la mraba
  • 'R': rekebisha AD9833
  • 'M': nakili safu ya masafa ya "min" katika safu ya "max"
  • 'G': fagia kutoka "min" hadi "max" zaidi ya sekunde 1
  • 'H': fagia kutoka "min" hadi "max" zaidi ya sekunde 5
  • 'I': fagia kutoka "min" hadi "max" zaidi ya sekunde 20

Programu ya Arduino ina safu mbili za herufi 6 "min" na "max. Ukipitisha nambari basi inahamishiwa kwenye safu ya" min ". Ukituma 'S' basi herufi za safu ya" min "hubadilishwa kuwa masafa marefu na kupelekwa kwa AD9833. Kwa hivyo kutuma kamba

002500S

itaweka pato la AD9833 kwa wimbi la sine 2500Hz. Lazima utumie kila nambari 6 kila wakati. Mzunguko wa chini ni 000001 na kiwango cha juu zaidi ni 999999.

Ukituma 'M' basi safu ya "min" inakiliwa kwenye safu ya "max". Ukituma 'H' basi AD9833 hutoa mara kwa mara mzunguko unaozidi kuongezeka kwa sekunde 5. Huanza kwa "min" frequency na sekunde 5 baadaye ni kwa "max" frequency. Kwa hivyo

020000M000100SH

inafagia kutoka 100Hz hadi 20kHz. Mabadiliko ya mzunguko ni logarithmic kwa hivyo baada ya sekunde 1 masafa yatakuwa 288Hz, baada ya sekunde 2 833Hz kisha 2402, 6931 na 20000. Masafa hubadilishwa kila milliSecond.

Kitanzi kinasimama wakati Arduino inapokea mhusika mwingine kwa hivyo kuwa mwangalifu usitume amri ikifuatiwa na kurudi-kwa gari au kulisha laini. Tabia hiyo ya ziada ingekomesha kitanzi. Ikiwa unatumia Serial Monitor, kuna sanduku chini kulia ambalo linaweza kusema kwa mfano "Wote NL & CR" ambayo (nadhani) hutuma herufi baada ya amri yako. Weka iwe "Hakuna laini inayoisha".

Unaweza kupakua programu ya Windows ExE hapa chini ambayo itatuma amri zinazohitajika au unaweza kuandika yako mwenyewe. Faili ya INO ya Arduino pia iko hapa.

Hatua ya 2: Ongeza OLED

Ongeza OLED
Ongeza OLED
Ongeza OLED
Ongeza OLED
Ongeza OLED
Ongeza OLED

Ikiwa unaongeza OLED na vifungo viwili, jenereta ya ishara inaweza kufanya kazi peke yake bila PC.

Wale ambao mmesoma oscilloscope yangu inayoweza kufundishwa watatambua kufanana. Moduli ya AD9833 inaweza kuongezwa kwenye oscilloscope yangu ili kutoa "Oscilloscope na jenereta ya Ishara kwenye sanduku la mechi".

Onyesho ni 1.3 OLED inayoendesha 3.3V ambayo inadhibitiwa na chip ya SH1106 kupitia basi ya I2C.

Tafuta eBay kwa 1.3 "OLED. Sitaki kupendekeza muuzaji fulani kwani viungo vimepitwa na wakati haraka. Chagua moja inayofanana na picha hiyo, inasema" I2C "au" IIC "na ina pini nne zilizoitwa VDD GND SCL SDA (Maonyesho mengine yanaonekana kuwa na pini kwa mpangilio tofauti. Zikague. Jina sahihi la saa ya I2C ni "SCL" lakini kwenye eBay bodi zinaweza kuitwa "SCK" kama ile yangu kwenye picha.)

Maelezo kamili ya maktaba ya OLED iko kwenye oscilloscope yangu inayoweza kufundishwa katika Hatua ya 8. Unapaswa kupakua na kusanikisha maktaba ya dereva SimpleSH1106.zip ambayo iko katika Hatua ya 8. (Sitaki kupakia nakala nyingine hapa na lazima nitumie nakala mbili.)

Faili ya INO inaweza kupakuliwa hapa chini. Nambari za pini zinazotumiwa kwa OLED zinatangazwa karibu na mstari wa 70. Ikiwa umeunda "Oscilloscope na Jenereta ya Ishara kwenye sanduku la mechi" na unataka kujaribu faili hii ya INO nayo, nambari mbadala za pini zinawezeshwa kupitia #fafanua.

Nimeonyesha mpangilio wa mkanda kwa mzunguko. Kuna vibao viwili - moja ya Nano na AD9833 na moja ya onyesho. Wanapaswa kuunda sandwich. Bodi zinaonyeshwa kutoka upande wa sehemu. Waya laini rahisi hujiunga na bodi hizo mbili. Ambatisha bodi pamoja na vidonge vilivyouzwa. Katika mchoro wangu, shaba ya ukanda imeonyeshwa kwa cyan. Mstari mwekundu ni viungo vya waya kwenye ubao wa mkanda au waya rahisi zinazojiunga na bodi hizo pamoja. Sijaonyesha nguvu na "ishara" inaongoza.

Moduli ya AD9833 imeuzwa kwa upande wa shaba ya ubao wa kamba - upande wa pili kutoka kwa Nano. Pini za kuuza kwenye vipande vya shaba kisha inafaa AD9833 juu yao na kuiunganisha.

Onyesho linaonyesha ama masafa moja au masafa ya "min" na "max".

Kuna vifungo viwili vya kushinikiza: kitufe cha "Usawa" kuchagua nambari ya masafa na kitufe cha "Wima" kubadilisha nambari hiyo.

Ninawasha jenereta ya ishara kutoka kwa mzunguko ninaoendeleza - kila wakati nina 5V inapatikana katika kituo changu cha kazi.

Hatua ya 3: Maendeleo ya Baadaye

Maendeleo ya Baadaye
Maendeleo ya Baadaye

Inaweza kuwezeshwa na betri? Ndio, ongeza 9V PP3 iliyounganishwa na pini RAW ya Nano. Kwa kawaida hutumia 20mA.

Inaweza kutumiwa na seli moja ya lithiamu? Sioni kwa nini sivyo. Unapaswa kuunganisha OLED Vdd na kontena lake la kuvuta hadi kwenye betri ya 3.7V (nina shaka ikiwa pato la 3.3V la Arduino litafanya kazi vizuri).

Jenereta ya kufagia ni muhimu zaidi wakati wa kujaribu jibu la masafa ya kichujio ikiwa unaweza grafiki ya kiwango cha masafa. Kupima ukubwa wa ishara ni ngumu - lazima uondoe uozo wa kitambuzi chako cha bahasha dhidi ya kuzunguka kwa masafa ya chini na wakati wa kujibu kwa masafa ya juu. Baada ya kujenga kigunduzi chako cha amplitude, unaweza kulisha pato lake kwenye ADC ya Arduino ya "Rahisi zaidi Ishara ya Ishara" kisha utume matokeo, pamoja na masafa ya sasa kwa PC.

Ukurasa huu ni sehemu muhimu ya kuanzia au tafuta Google kwa "kigunduzi cha bahasha" au "kipelelezi cha kilele". Katika mzunguko uliopendekezwa hapo juu, ungeweka masafa ya ishara, subiri itulie, weka pini ya Arduino A0 ili kutoa chini ya dijiti, subiri kutekeleza C, weka A0 kwa pembejeo, subiri, kisha pima na ADC. Nijulishe unaendeleaje.

Ilipendekeza: