Mündəricat:

Siqnal Yaradıcısı AD9833: 3 addım
Siqnal Yaradıcısı AD9833: 3 addım

Video: Siqnal Yaradıcısı AD9833: 3 addım

Video: Siqnal Yaradıcısı AD9833: 3 addım
Video: Ваш врач ошибается насчет старения 2024, Iyul
Anonim
Siqnal generatoru AD9833
Siqnal generatoru AD9833
Siqnal generatoru AD9833
Siqnal generatoru AD9833

Siqnal generatoru çox faydalı bir sınaq vasitəsidir. Bu bir AD9833 modulu və bir Arduino Nano istifadə edir - hamısı belə, hətta bir PCB deyil. İsteğe bağlı olaraq bir OLED ekranı əlavə edə bilərsiniz. AD9833, 0.1 Hz -dən 12.5 MHz -ə qədər sinus, üçbucaq və kvadrat dalğaları əks etdirə bilər - bu layihədəki proqram təminatı 1 Hz -dən 100 kHz -ə qədərdir.

Burada və burada bir Arduino və AD9833 istifadə edən digər Təlimatlar var. Bu daha sadədir və bir süpürmə generatoru kimi istifadə edilə bilər. Süpürmə generatorları filtrlərin, gücləndiricilərin və s. Digər Instructables dizaynlarından fərqli olaraq, bura gücləndirici və ya amplituda nəzarət daxil deyil, ancaq istəsəniz əlavə edə bilərsiniz.

Addım 1: Ən sadə siqnal generatoru

Ən sadə siqnal generatoru
Ən sadə siqnal generatoru
Ən sadə siqnal generatoru
Ən sadə siqnal generatoru
Ən sadə siqnal generatoru
Ən sadə siqnal generatoru
Ən sadə siqnal generatoru
Ən sadə siqnal generatoru

Ən sadə Siqnal Generatoru üçün sadəcə AD9833 modulunu Arduino Nanonun arxasına lehimləyirsiniz. PCB -yə ehtiyac yoxdur.

Seçdiyim AD9833 modulu buna bənzəyir. Bunun ən yaxşı və ya ən ucuz tədarükçü olduğunu söyləmirəm, ancaq bu fotoşəkilə (və ya yuxarıdakı fotoşəkilə) bənzər birini almalısınız.

Modullar arasındakı əlaqələr aşağıdakılardır:

  • əsaslar bir -birinə bağlıdır
  • D2 = FSync
  • D3 = Clk
  • D4 = Məlumat
  • D6 = AD9833 Vcc

AD9833, Arduino D6 məlumat pinindən işləyir - Arduino kifayət qədər cərəyan verə bilər. 100n ayıran bir kondansatör əlavə etdim, çünki "etməliyəm" deyə düşündüm, amma heç bir fərq görmədim - AD9833 modul lövhəsində artıq ayrılan bir kondansatör var.

Zərif olsaydınız, "analoji yer" ilə "rəqəmsal yer" mövzusunda narahat ola bilərsiniz, amma xülya olsaydınız, 4 funtdan çox xərcləyərdiniz.

Ən sadə Siqnal Generatoru bir PC -dən USB qurğusu ilə idarə olunur və təchiz edilir. USB 115200bps (8 bit, heç bir paritet) ilə işləyən serial portunu təqlid edir. Əmrlər bunlardır:

  • '0'.. '9': rəqəmi "min" tezlik massivinə keçir
  • 'S': AD9833 tezliyini təyin edin və sinus dalğası istehsal edin
  • 'T': tezliyi təyin edin və üçbucaq dalğası istehsal edin
  • 'Q': tezliyi təyin edin və kvadrat dalğa çıxarın
  • 'R': AD9833 -ü sıfırlayın
  • 'M': "min" tezlik massivini "max" sırasına kopyalayın
  • 'G': 1 saniyədən "min" dən "maksimum" a keçin
  • 'H': 5 saniyə ərzində "min" dən "max" a keçin
  • 'Mən': 20 saniyə ərzində "min" dən "maksimum" a keçin

Arduino proqramında "min" və "max" kimi 6 simvoldan ibarət iki sıra var. Bir rəqəmi ötürsəniz "min" sırasına köçürülür. 'S' göndərsəniz, "min" serial simvolları longint tezliyi və AD9833 -ə göndərildi

002500S

AD9833 çıxışını 2500Hz sinüs dalğasına qoyacaq. Həmişə bütün 6 rəqəmi göndərməlisiniz. Minimum tezlik 000001, maksimum tezlik isə 999999 -dur.

Bir 'M' göndərsəniz, "min" dizisi "max" sırasına kopyalanır. Bir 'H' göndərsəniz, AD9833 5 saniyə ərzində tədricən artan bir tezlik çıxarır. "Min" tezliyində başlayır və 5 saniyə sonra "max" tezliyindədir. Belə ki

020000M000100SH

100Hz -dən 20kHz -ə qədər tarama edir. Tezlik dəyişikliyi loqarifmikdir, buna görə 1 saniyədən sonra tezlik 288Hz, 2 saniyədən sonra 833Hz sonra 2402, 6931 və 20000 olacaq. Tezlik hər saniyədə bir dəyişir.

Arduino başqa bir xarakter aldıqda döngə dayanır, buna görə də əmr göndərilməməsi üçün ardınca geri dönmə və ya xətt ötürmə göndərməyin. Bu əlavə xarakter döngəni sonlandıracaq. Serial Monitordan istifadə edirsinizsə, sağ alt tərəfdə, məsələn, "Həm NL, həm də CR" deyə bilən bir qutu var (zənnimcə) əmrinizdən sonra simvol göndərir. "Satır sonu yoxdur" olaraq təyin edin.

Lazım olan əmrləri göndərəcək və ya özünüz yaza biləcəyiniz Windows EXE proqramını aşağıda yükləyə bilərsiniz. Arduino INO faylı da buradadır.

Addım 2: OLED əlavə edin

OLED əlavə edin
OLED əlavə edin
OLED əlavə edin
OLED əlavə edin
OLED əlavə edin
OLED əlavə edin

Bir OLED və iki düymə əlavə etsəniz, siqnal generatoru PC olmadan tək işləyə bilər.

Mənim Instructable osiloskopumu oxuyanlar oxşarlığı tanıyacaqlar. AD9833 modulu "Kibrit qutusunda bir osiloskop və siqnal generatoru" istehsal etmək üçün osiloskopuma əlavə edilə bilər.

Ekran, 3.2V -də işləyən 1.3 OLED -dir və I2C avtobusu vasitəsilə SH1106 çipi ilə idarə olunur.

EBay -də 1.3 "OLED axtarın. Bağlantılar tez köhnəldiyindən xüsusi bir satıcıya məsləhət vermək istəmirəm. Həmin şəkilə bənzəyən," I2C "və ya" IIC "yazan və VDD GND SCL SDA etiketli dörd sancağı olan birini seçin.. (Bəzi ekranlarda sancaqlar fərqli bir qaydada görünür. Onları yoxlayın. I2C saatının uyğun adı "SCL" dir, lakin eBay -də lövhələr fotoda mənimki kimi "SCK" olaraq etiketlənə bilər.)

OLED kitabxanasının daha dolğun təsviri 8 -ci addımda göstərilə bilən mənim osiloskopumdadır. 8 -ci addımdakı Sürücü kitabxanası SimpleSH1106.zip -i yükləməli və quraşdırmalısınız. (Başqa bir nüsxə yükləmək istəmirəm və iki nüsxəni saxlamaq məcburiyyətindəyəm..)

INO faylını aşağıda yükləyə bilərsiniz. OLED üçün istifadə olunan pin nömrələri təxminən 70 -ci sətirdə elan olunur. "Osiloskopumu və Siqnal Generatorumu" bir uyğunluq qutusunda qurmusunuzsa və bu INO faylını onunla sınamaq istəyirsinizsə, alternativ pin nömrələri #define vasitəsi ilə aktiv edilir.

Dövrə üçün bir lövhə düzeni göstərdim. İki zolaq var - biri Nano və AD9833 üçün, biri də ekran üçün. Bir sendviç hazırlamalıdırlar. Lövhələr komponent tərəfdən göstərilir. İncə çevik tellər iki lövhəyə qoşulur. Lövhələri lehimli dayaqlar ilə birlikdə bağlayın. Diaqramımda şeridin lövhəsi mis rəngli mavi rəngdə göstərilmişdir. Qırmızı xətlər, lövhədəki tel bağlantıları və ya lövhələri bir -birinə bağlayan çevik tellərdir. Güc və "siqnal" potensialını göstərmədim.

AD9833 modulu, lövhənin mis tərəfində - Nanonun əks tərəfində lehimlənir. Mis zolaqlara lehim sancaqları, sonra AD9833 -ü onlara bərkidin və lehimləyin.

Ekranda ya tək bir tezlik, ya da "min" və "maksimum" tezlikləri göstərilir.

İki düymə var: tezliklərin bir rəqəmini seçmək üçün "Üfüqi" və bu rəqəmi dəyişdirmək üçün "Şaquli" düymə.

Siqnal generatorunu inkişaf etdirdiyim dövrədən alıram - iş stansiyamda həmişə 5V var.

Addım 3: Gələcək İnkişaflar

Gələcək İnkişaflar
Gələcək İnkişaflar

Batareya ilə işləyə bilərmi? Bəli, yalnız Nanonun RAW pininə qoşulmuş 9V PP3 əlavə edin. Adətən 20mA istifadə edir.

Tək bir lityum hüceyrə ilə təchiz edilə bilərmi? Bilmirəm niyə yox. OLED Vdd və çəkmə müqavimətini 3.7V batareyaya bağlamalısınız (Arduinonun 3.3V çıxışının düzgün işləyəcəyinə şübhə edirəm).

Bir amplituda vs tezliyi qrafikləşdirə bilsəniz, bir filtrin tezlik reaksiyasını sınayarkən bir süpürmə generatoru daha faydalıdır. Siqnalın amplitüdünü ölçmək çətindir - zərf detektorunuzun çürüməsini aşağı tezliklərdə və cavab tezliyini yüksək tezliklərdə satmalısınız. Genişlik detektorunuzu qurduqdan sonra, çıxışını "Ən Sadə Siqnal Generatoru" nun Arduino ADC -nə verə bilərsiniz, sonra nəticəni cari tezliklə birlikdə PC -yə göndərə bilərsiniz.

Bu səhifə faydalı bir başlanğıc nöqtəsidir və ya Google -da "zərf detektoru" və ya "pik detektoru" axtarın. Yuxarıda göstərilən sxemdə, siqnal tezliyini təyin edər, sabitləşməsini gözləyər, Arduino A0 pinini rəqəmsal aşağı çıxarmağa, C -nin boşalmasını gözləyər, A0 -nu girişə qoyar, gözləyər və sonra ADC ilə ölçərdi. Necə davam etdiyinizi mənə bildirin.

Tövsiyə: