Բովանդակություն:

Ազդանշանի գեներատոր AD9833: 3 քայլ
Ազդանշանի գեներատոր AD9833: 3 քայլ
Anonim
Ազդանշանի գեներատոր AD9833
Ազդանշանի գեներատոր AD9833
Ազդանշանի գեներատոր AD9833
Ազդանշանի գեներատոր AD9833

Ազդանշանի գեներատորը փորձարկման հանդերձանքի շատ օգտակար կտոր է: Այս մեկն օգտագործում է AD9833 մոդուլ և Arduino Nano - վերջ, նույնիսկ PCB չէ: Ընտրովի կարող եք ավելացնել OLED էկրան: AD9833- ը կարող է փոխանցել սինուս, եռանկյուն և քառակուսի ալիքներ 0.1 Հց -ից մինչև 12.5 ՄՀց. Այս ծրագրի ծրագրակազմը սահմանափակված է 1 Հց -ից մինչև 100 կՀց:

Եղել են այլ հրահանգներ ՝ օգտագործելով Arduino և AD9833, այստեղ և այստեղ: Սա ավելի պարզ է և կարող է օգտագործվել որպես ավլելու գեներատոր: Մաքրման գեներատորները օգնում են ստուգել ֆիլտրերի, ուժեղացուցիչների և այլնի հաճախականության արձագանքը: Ի տարբերություն Instructables- ի այլ նախագծերի, սա չի ներառում ուժեղացուցիչ կամ ամպլիտուդային կառավարիչ, բայց ցանկության դեպքում կարող եք դրանք ավելացնել:

Քայլ 1: Ազդանշանի ամենապարզ գեներատոր

Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր
Ամենապարզ ազդանշանային գեներատոր

Ամենապարզ ազդանշանային գեներատորի համար դուք պարզապես կպցրեք AD9833 մոդուլը Arduino Nano- ի հետևի մասում: PCB- ի կարիք չկա:

Իմ ընտրած AD9833 մոդուլը նման է այս մեկին: Ես չեմ ասում, որ դա լավագույն կամ ամենաէժան մատակարարն է, բայց դուք պետք է գնեք մեկը, որը նման է այդ լուսանկարին (կամ վերը նշված լուսանկարին):

Մոդուլների միջև կապերն են.

  • իրար հետ կապված հիմքեր
  • D2 = FSync
  • D3 = Clk
  • D4 = Տվյալներ
  • D6 = AD9833- ի Vcc

AD9833- ը սնուցվում է Arduino- ի տվյալների D6 կապից: Arduino- ն կարող է ապահովել բավարար հոսանք: Ես ավելացրել եմ 100n տարանջատման կոնդենսատոր, քանի որ կարծում էի, որ «պետք է», բայց որևէ տարբերություն չեմ տեսնում. AD9833 մոդուլային տախտակի վրա արդեն կա անջատման կոնդենսատոր:

Եթե դուք շքեղություն էիք անում, կարող եք անհանգստանալ «անալոգային հիմքի» և «թվային հիմքի» մասին, բայց եթե շքեղ լինեիք, ապա կծախսեիք ավելի քան 4 ֆունտ:

Ամենապարզ ազդանշանային գեներատորը վերահսկվում և սնվում է համակարգչից USB կապի միջոցով: USB- ը նմանակում է 115200 բիթ / վ արագությամբ սերիական պորտին (8 բիթ, առանց պարիտետի): Հրամաններն են.

  • '0'.. '9'. Թվանշանը տեղափոխել «min» հաճախականությունների զանգված
  • «S». Սահմանեք AD9833 հաճախականությունը և արտադրեք սինուս ալիք
  • «T». Սահմանեք հաճախականությունը և արտադրեք եռանկյուն ալիք
  • «Q». Սահմանեք հաճախականությունը և արտադրեք քառակուսի ալիք
  • 'R'. Վերականգնել AD9833- ը
  • 'M'. Պատճենեք «min» հաճախականությունների զանգվածը «max» զանգվածում
  • «G». «Min» - ից «max» - ը 1 վայրկյանի վրայով սահեցրեք
  • «H». «Min» - ից «max» - ը 5 վայրկյանի ընթացքում սահեցրեք
  • «Ես». «Min» - ից «max» - ը 20 վայրկյանից ավելի սահեցրեք

Arduino ծրագիրը պարունակում է երկու 6 նիշանոց «min» և «max» զանգված: Եթե դուք փոխանցում եք թվանշան, ապա այն տեղափոխվում է «min» զանգված: Եթե ուղարկեք «S», ապա «min» զանգվածի նիշերը վերածվում են a- ի: longint հաճախականությունը և ուղարկվել է AD9833: Այսպիսով, ուղարկելով տողը

002500 Ս

AD9833 ելքը կդնի 2500 Հց սինուս ալիքի: Դուք միշտ պետք է ուղարկեք բոլոր 6 թվանշանները: Նվազագույն հաճախականությունը `000001, իսկ առավելագույն հաճախականությունը` 999999:

Եթե դուք ուղարկում եք «M», ապա «min» զանգվածը պատճենվում է «max» զանգվածում: Եթե դուք ուղարկում եք «H», ապա AD9833- ը բազմիցս թողարկում է աստիճանաբար աճող հաճախականություն 5 վայրկյանի ընթացքում: Այն սկսվում է «min» հաճախականությամբ և 5 վայրկյան անց գտնվում է «max» հաճախականությամբ: Այսպիսով, 020000M000100SH

անցնում է 100Hz- ից մինչև 20kHz: Հաճախականության փոփոխությունը լոգարիթմական է, ուստի 1 վայրկյանից հետո հաճախականությունը կլինի 288 Հց, 2 վայրկյանից հետո 833 Հց, այնուհետև 2402, 6931 և 20000: Հաճախականությունը փոխվում է ամեն մի միլիոդ երկրորդ:

Օղակը դադարում է, երբ Arduino- ն ստանում է մեկ այլ կերպար, այնպես որ զգույշ եղեք, որ չուղարկվի հրաման, որին հաջորդում է փոխադրման-վերադարձի կամ գծի հոսքը: Այդ լրացուցիչ նիշը կավարտի օղակը: Եթե դուք օգտագործում եք Սերիական մոնիտորը, ներքևի աջ մասում կա մի տուփ, որը կարող է ասել, օրինակ, «Երկու NL և CR», որը (կարծում եմ) ձեր հրամանից հետո նիշ է ուղարկում: Սահմանեք այն «Ոչ մի տող չի ավարտվում»:

Ստորև կարող եք ներբեռնել Windows EXE ծրագիրը, որը կուղարկի անհրաժեշտ հրամաններ կամ կարող եք գրել ձեր սեփականը: Arduino INO ֆայլը նույնպես այստեղ է:

Քայլ 2: Ավելացրեք OLED

Ավելացնել OLED
Ավելացնել OLED
Ավելացնել OLED
Ավելացնել OLED
Ավելացնել OLED
Ավելացնել OLED

Եթե ավելացնեք OLED և երկու կոճակ, ազդանշանի գեներատորը կարող է աշխատել միայնակ ՝ առանց համակարգչի:

Ձեզանից նրանք, ովքեր կարդացել են իմ Instructable oscilloscope- ը, կճանաչեն նմանությունը: AD9833 մոդուլը կարող է ավելացվել իմ օսլիլոսկոպին ՝ «Օսլիլոսկոպ և ազդանշանի գեներատոր համընկնող արկղում» արտադրելու համար:

Էկրանը 1.3 դյույմանոց OLED է, որն աշխատում է 3.3 Վ լարման վրա, որը կառավարվում է SH1106 չիպով ՝ I2C ավտոբուսի միջոցով:

Որոնեք eBay 1.3 "OLED- ով: Ես չեմ ուզում որոշակի վաճառողին խորհուրդ տալ, քանի որ հղումները արագ հնանում են: Ընտրեք մեկը, որը նման է այդ լուսանկարին, որն ասում է" I2C "կամ" IIC "և ունի չորս կապում VDD GND SCL SDA պիտակով:. (Կարծես որոշ էկրաններ ունեն կապումներն այլ կարգով: Ստուգեք դրանք: I2C ժամացույցի համապատասխան անունն է «SCL», բայց eBay- ում տախտակները կարող են պիտակավորված լինել «SCK», ինչպես իմ լուսանկարում):

OLED գրադարանի ավելի ամբողջական նկարագրությունը իմ օսլիլոսկոպում է, որը կարելի է սովորել 8 -րդ քայլում: Դուք պետք է ներբեռնեք և տեղադրեք SimpleSH1106.zip վարորդի գրադարանը, որը գտնվում է Քայլ 8 -ում:.)

INO ֆայլը կարելի է ներբեռնել ստորև: OLED- ի համար օգտագործվող կապի համարները հայտարարվում են 70 -րդ տողի շուրջ: Եթե դուք կառուցել եք իմ «Օսլիլոսկոպը և ազդանշանների գեներատորը համընկնումների արկղում» և ցանկանում եք ստուգել այս INO ֆայլը դրանով, այլընտրանքային կապի համարները միացված են #սահմանման միջոցով:

Ես ցույց եմ տվել շղթայի դասավորությունը սխեմայի համար: Կան երկու ստրիպ տախտակներ `մեկը Nano- ի և AD9833- ի համար, և մեկը` ցուցադրման համար: Նրանք պետք է սենդվիչ կազմեն: Տախտակները ցուցադրվում են բաղադրիչի կողմից: Նուրբ ճկուն լարերը միանում են երկու տախտակին: Կցեք տախտակները եռակցված հենակետերի հետ միասին: Իմ գծապատկերում, երիզավոր տախտակի պղինձը ցիանագույն է: Կարմիր գծերը մետաղալարեր են ՝ ժապավենի տախտակի վրա կամ ճկուն լարեր, որոնք միացնում են տախտակները միասին: Ես ցույց չեմ տվել հզորությունը և «ազդանշանային» տողերը:

AD9833 մոդուլը զոդվում է շերտի տախտակի պղնձե կողմում `Նանոյից հակառակ կողմում: Պղնձե շերտերի վրա կպցրեք կապիչներ, այնուհետև տեղադրեք դրանց վրա AD9833- ը և կպցրեք այն:

Theուցադրումը ցույց է տալիս կամ մեկ հաճախականություն, կամ «min» և «max» հաճախականություններ:

Գոյություն ունի երկու կոճակ ՝ «Հորիզոնական» կոճակ ՝ հաճախականությունների թվանշանը ընտրելու համար և «Ուղղահայաց» կոճակ ՝ այդ թվանշանը փոխելու համար:

Ես միացնում եմ ազդանշանի գեներատորը իմ կողմից մշակվող միացումից. Իմ աշխատատեղում միշտ հասանելի է 5 Վ լարման:

Քայլ 3. Ապագա զարգացումներ

Ապագա զարգացումներ
Ապագա զարգացումներ

Կարո՞ղ է մարտկոցից սնվել: Այո, պարզապես ավելացրեք 9V PP3, որը միացված է Nano- ի RAW կապին: Այն սովորաբար օգտագործում է 20 մԱ:

Կարո՞ղ է այն սնուցվել մեկ լիթիումի բջիջով: Ես չեմ տեսնում, ինչու ոչ: Դուք պետք է OLED Vdd- ն և դրա ձգվող դիմադրությունը միացնեք 3.7V մարտկոցին (կասկածում եմ, որ Arduino- ի 3.3V ելքը ճիշտ կաշխատի):

Մաքրման գեներատորն ավելի օգտակար է ֆիլտրի հաճախականության արձագանքը ստուգելիս, եթե կարող եք գծել ամպլիտուդիան ընդդեմ հաճախականության: Ազդանշանի ամպլիտուդիայի չափումը բարդ է. Դուք պետք է փոխանակեք ձեր ծրարի դետեկտորի քայքայումը ընդդեմ ալիքների ցածր հաճախականությունների և բարձր հաճախությունների արձագանքման ժամանակի հետ: Կառուցելով ձեր ամպլիտուդային դետեկտորը, դուք կարող եք դրա ելքը ներդնել «Պարզագույն ազդանշանի գեներատորի» Arduino- ի ADC- ով, այնուհետև արդյունքը ուղարկել համակարգչին ընթացիկ հաճախականությամբ:

Այս էջը օգտակար ելակետ է կամ Google- ում որոնեք «ծրարների դետեկտոր» կամ «պիկ դետեկտոր»: Վերոնշյալ առաջարկվող սխեմայում դուք պետք է սահմանեք ազդանշանի հաճախականությունը, սպասեք, որ այն կայունանա, Arduino A0 կապը սահմանեք թվային ցածր ելքի համար, սպասեք, որ C- ն լիցքաթափվի, A0- ը մուտքագրեք, սպասեք, այնուհետև չափեք ADC- ով: Ասա ինձ, թե ինչպես ես վարվում:

Խորհուրդ ենք տալիս: