Mündəricat:
- Addım 1: MAX038 Təsviri
- Addım 2: Dövrə …
- Addım 3: Dövrə Açıqlaması - Enerji Təchizatı (1)
- Addım 4: Dövrə Açıqlaması - Tezlik Aralığı Nəzarəti (2)
- Addım 5: Dövrə Açıqlaması - Tezlik Ayarı (3)
- Addım 6: Dövrə Açıqlaması - Genlik Nəzarəti, SYNC Siqnal Yaradılması … (4)
- Addım 7: PCB Dizaynı
- Addım 8: Lehimləmə
- Addım 9: Lehimləmə…
- Addım 10: Daha Lehimləmə…
- Addım 11: Proqram təminatı
- Addım 12: Ediləcək…
Video: Funksiya generatoru: 12 addım (şəkillərlə birlikdə)
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:43
Bu təlimat, MAX038 Maxims -in Analog inteqral dövrəsinə əsaslanan funksiya generatorunun dizaynını təsvir edir
Funksiya generatoru elektronika ucbatları üçün çox faydalı vasitədir. Rezonans sxemlərin tənzimlənməsi, audio və video avadanlıqların sınanması, analoq filtrlərin dizaynı və bir çox başqa məqsədlər üçün lazımdır.
Bu gün iki əsas növ funksiya generatoru var; getdikcə daha çox istifadə edilən və mənşəyi olan rəqəmsal (DSP əsaslı, DDS…).
Hər iki növün üstünlükləri və mənfi cəhətləri var. Rəqəmsal generatorlar çox sabit tezlikdə siqnallar yarada bilər, lakin çox təmiz sinus siqnalları yaratmaqda problemləri var (analoq üçün problem deyil). Həm də DDS yanaşmasına əsaslanan əsasən yayılmış funksiya generatorları o qədər də böyük tezlik istehsal aralığına malik deyillər.
Uzun müddətdir ki, hər iki növün (analoq və rəqəmsal) generatorlarının bəzi üstünlüklərini özündə birləşdirə biləcək faydalı bir funksiya generatoru hazırlamaq istəyirdim. Dizaynı Maxim çip MAX038* üzərində qurmağa qərar verdim.
* Qeyd - bu çip artıq Maxim tərəfindən istehsal olunmur və satılmır. Bu köhnəlmişdir. Hələ eBay, Aliexpress və elektron komponentlər üçün digər saytlarda tapmaq mümkündür.
Digər analoq funksiyalı generator çipləri də var (Exar -dan XR2206, Intersildən icl8038), amma məndə
bir MAX038 mövcuddur və mən istifadə etdim. Funksiya generatorunun rəqəmsal xüsusiyyətləri bir Atmega328 çipi tərəfindən yerinə yetirildi. Onun funksiyaları aşağıdakılardır:
- tezlik aralığının seçilməsinə nəzarət edir
- siqnal növünü idarə edir (sinus, düzbucaqlı, üçbucaq, mişar dişi)
- siqnalın amplitüdünü ölçür
- DC ofsetini ölçür
- siqnalın tezliyini ölçür
- sinus siqnalının səs diapazonunda THD ölçür (bu hələ də tətbiq olunmalıdır)
- bütün bu məlumatları 16x2 xarakterli LCD displeydə göstərir.
Addım 1: MAX038 Təsviri
MAX038 məlumat cədvəlini əlavə etdim. Ən əhəmiyyətli çip parametrlərini görmək olar:
♦ 0.1Hz -dən 20MHz -ə qədər İşləmə Tezlik Aralığı
♦ Üçbucaq, Sawtooth, Sine, Square və Pulse Dalğa Formaları
♦ Müstəqil Tezlik və Vəzifə Dövrü Düzəlişləri
♦ 350 -dən 1 -ə qədər Tezlik Süpürmə Aralığı
♦ 15% -dən 85% -ə qədər Dəyişən Duty Cycle
♦ Aşağı Empedanslı Çıxış Tamponu: 0.1Ω
♦ Aşağı 200ppm/° C temperatur sürüşməsi
Digər vacib tələb ikili təchizata ehtiyacdır (± 5V). Çıxış amplitudu sabitdir (0 V DC ofset ilə ~ 2 VP-P).
Məlumat cədvəlinin 8-ci səhifəsində çipin blok-sxemini görmək olar. Səhifə 11 -də sinus dalğa siqnalı yaratmaq üçün istifadə edilə bilən ən sadə dövrə görə bilərsiniz. Bu sxem funksiya generatorunun dizaynı üçün əsas götürülmüşdür.
Addım 2: Dövrə …
Şəkildə hər bir cihaz dəyərinin düzgün oxunmasını təmin etmək üçün bu görüntünü mümkün olan ən yüksək qətnamə ilə etdiyim funksiya generatorunun dövrəsi təqdim olunur. Sxemlər olduqca mürəkkəb görünür və daha yaxşı başa düşmək üçün onun əsas hissələrini ayrıca izah edəcəyəm. Bir çox oxucu, dövrənin həddən artıq çox olması məni günahlandıra bilər. Bu doğrudur. Əvvəlcə iki MAX038 çipi olduğunu görə bilərsiniz. Bunun səbəbi, PCB -nin həm SO, həm də DIP paketlərini dəstəkləməsidir. İşdən çıxarmağı bəzi funksiyalarda da görmək olar -
1) LED -lər cari aktiv tezlik aralığını göstərir, eyni zamanda LCD -də də göstərilir;
2) LEDlər siqnal növünü göstərmək üçün də istifadə olunur, eyni zamanda LCD də bu məlumatı göstərir
Dizayn istifadəçiyə daha çox rahatlıq təmin etmək üçün bu şəkildə edilir - istəyi ilə LCD -dən istifadə edə bilmir və ya sadəcə LED -lərin lehimlənməsini buraxa bilər. Dizayn mərhələlərində funksionallığı ayıklaya bilmək üçün onları lehimləmişəm.
Bir çox opamp istifadə etdiyimi də qeyd etmək olar. Bəziləri problemsiz buraxıla bilər - xüsusən də tamponlar. Hal -hazırda, opamplar özləri tərəfindən böyük bir ixtisar təklif edirlər - bir paketdə 2, 4 hətta 8 ayrı gücləndirici tapa bilərsiniz və bu nisbətən aşağı qiymətə. Niyə onlardan istifadə etməyək?
Filtreleme kondansatörleri də artıqdır - istifadə olunan hər bir analog çipin öz kondansatör bankı var (hər iki təchizat üçün tantal + keramika kondansatörləri). Bəzilərini də buraxmaq olar.
Addım 3: Dövrə Açıqlaması - Enerji Təchizatı (1)
Dediyim kimi, bu generator ikili təchizat tələb edir. Müsbət gərginlik 7805 xətti gərginlik tənzimləyicisinin istifadəsi ilə yaranır. Mənfi təchizat 7905 çipi tərəfindən yaradılır. 2x6V transformatorunun orta vurma nöqtəsi lövhənin ümumi zəminə bağlıdır. İstehsal olunan enerji təchizatı - həm müsbət, həm də mənfi tərəflər takozlarla analoq və rəqəmsal olaraq ayrılır. İki LED hər bir təchizatın olduğunu göstərir.
Addım 4: Dövrə Açıqlaması - Tezlik Aralığı Nəzarəti (2)
Böyük tezlik aralığını əhatə etmək üçün birdən çox kondansatör bankı istifadə olunur. Kondansatörler fərqli dəyərlərə malikdir və fərqli tezlik alt aralığını təyin edir. İş zamanı bu kondansatörlərdən yalnız biri istifadə olunur - alt plitəsi MOS tranzistor açarı ilə topraklanır. Torpaqlanacaq alt kondansatörlərin hansı hissəsi 74HC238 demultiplexer çipi ilə Atmega328 tərəfindən idarə olunur. MOS açarları olaraq BSS123 tranzistorlarından istifadə etdim. Bu keçid üçün əsas tələb aşağı Rona və mümkün olan ən aşağı drenaj tutumuna malik olmaqdır. Kondansatör bankının rəqəmsal nəzarətini buraxmaq olar - PCB -də mexaniki fırlanan açar üçün telləri lehimləmək üçün deliklər var.
Addım 5: Dövrə Açıqlaması - Tezlik Ayarı (3)
Şəkildə tezlik və iş dövrü nəzarət dövrəsi göstərilir. Orada standart LM358 opamp (bir paketdə ikiqat gücləndirici) istifadə etdim. Həm də ikili 10K potansiyometrlərdən istifadə etdim.
MAX038 çipi, normal olaraq bütün tənzimləmələr üçün istinad olaraq istifadə edilən 2.5V daxili gərginlik referansı yaradır.
Bu gərginlik IC8a inverting girişində tətbiq olunur və DADJ (vəzifə dövrü tənzimlənməsi) üçün istifadə olunan mənfi gərginlik istinadını yaradır. Hər iki gərginlik DADJ üçün potensiometrdə tətbiq olunur, orta tap tamponlanır və MAX038 çipinin DADJ pininə tətbiq olunur. JP5 tullanan, yerə qoşulduqda DADJ funksiyasını söndürmək üçün istifadə edilə bilər. "Kurs" tezlik nəzarəti, MAX038 "IIN" pinindəki cari batmış / qaynaq dəyişdirilərək əvvəlcədən hazırlanır. Bu cərəyan R41 rezistoru və kursun tezlik nəzarət potansiyometrinin orta kranını tamponlayan opampın çıxış gərginliyi ilə müəyyən edilir. Bütün bunlar REF və IIN MAX038 pinləri arasındakı tək potansiyometrlə (reostat bağlantısında) əvəz edilə bilər.
Addım 6: Dövrə Açıqlaması - Genlik Nəzarəti, SYNC Siqnal Yaradılması … (4)
Məlumat cədvəlində yazıldığı kimi, MAX038 pf çıxış siqnalı, torpaq potensialına bərabər olan DC gərginliyi ilə ~ 1 V amplitüdünə malikdir.
Siqnal amplitüdünü idarə etmək və DC ofsetini özüm təyin edə bilmək istədim. Əlavə xüsusiyyət olaraq, çıxış siqnalına paralel olaraq CMOS səviyyəli SYNC siqnalına sahib olmaq istədim. Varsayılan olaraq MAX038 çipi belə bir siqnal yaradır, ancaq məlumat cədvəlində oxudum ki, bu xüsusiyyət aktivdirsə (nə deməkdir - 5V -ə qoşulmuş DV+ pin), çıxış analog siqnalında bəzi zirvələr (səs -küy) müşahidə oluna bilər. mümkün qədər təmizdir və bu səbəbdən SYNC siqnalını xaricdən yaratdım. PCB, DV+ pininin əsas təchizata asanlıqla bağlana biləcəyi şəkildə edilir. SYNC pin BNC konnektoruna yönəldilir - yalnız 50 Ohm müqavimət lehimli olmalıdır. Bu vəziyyətdə, SYNC siqnal istehsalı dövrəsi buraxıla bilər. Gördüyünüz kimi, ikili potensiometrlərdən də istifadə edirəm, lakin onlar paralel olaraq bağlanmır. Bunun səbəbi - amplitudunu nisbətən ölçürəm. Bir potansiometrin orta nöqtəsindəki gərginlik Atmega328 ADC tərəfindən algılanır və bu dəyərə əsasən siqnal amplitudası hesablanır. Əlbəttə ki, bu üsul çox dəqiq deyil (hər zaman baş verməyən hər iki potansiyometr bölməsinin uyğunluğuna əsaslanır), amma tətbiqlərim üçün kifayət qədər dəqiqdir. Bu dövrədə IC2A gərginlik tamponu kimi işləyir. IC4A da. IC2B opampi toplayıcı gücləndirici kimi işləyir - funksional generatorun ofset gərginliyinin və tənzimlənmiş amplituda əsas siqnalın cəmi olaraq çıxış siqnalını yaradır. Gərginlik bölücü R15. R17, DC əsas siqnal ofsetini ölçmək üçün uyğun gərginlik siqnalı yaradır. Atmega328 ADC tərəfindən hiss olunur. IC4B opampı müqayisəçi olaraq işləyir - iki MOS tranzistoru (BSS123 və BSS84) tərəfindən həyata keçirilən SYNC nəsil çeviricisini idarə edir. U6 (THS4281 - Texas Instruments), MAX038 DC tərəfindən istehsal olunan çıxış siqnalını 2,5 V ilə dəyişir və 1,5 dəfə gücləndirir. Beləliklə yaradılan siqnal AVR ADC tərəfindən algılanır və daha sonra FFT alqoritmi ilə işlənir. Bu hissədə 130 MHz bant genişliyi ilə (TI - LMH6619) opampları dəmir yolu üçün yüksək keyfiyyətli dəmir yolu istifadə etdim.
SYNC siqnalının necə işlədiyini başa düşmək asan olar ki, dövrənin LTSpice simulyasiyalarının bəzi şəkillərini daxil edim. Üçüncü şəkildə: mavi siqnal ofset gərginliyidir (IC2B girişi). Yaşıl, amplitudası tənzimlənən çıxış siqnaldır. Qırmızı olan funksional generatorun çıxış siqnalıdır, Mavi əyri SYNC siqnaldır.
Addım 7: PCB Dizaynı
PCB dizaynı üçün "Qartal" dan istifadə etdim. PCB -ləri "PCBway" də sifariş etdim. Lövhələri hazırlamaq üçün cəmi dörd gün və onları çatdırmaq üçün bir həftə çəkdi. Onların keyfiyyəti yüksəkdir və qiyməti son dərəcə aşağıdır. 10 PCB üçün cəmi 13 USD ödədim!
Əlavə olaraq qiymət artımı olmadan fərqli rəngli PCB sifariş edə bilərəm. Sarı olanları seçdim:-).
Gerber fayllarını "PCBway" dizayn qaydalarına uyğun olaraq əlavə edirəm.
Addım 8: Lehimləmə
Əvvəlcə enerji təchizatı sxem cihazlarını lehimlədim..
Təchizat blokunu sınadıqdan sonra Atmega328 çipini dəstəkləyici qurğuları ilə lehimlədim: kvars kristal, kondansatörlər, filtr qapaqları və ISP konnektoru. Gördüyünüz kimi AVR çipinin təchizat xəttində bir tullanan var. Çipi ISP vasitəsilə proqramlaşdıranda onu ayırıram. Bu məqsədlə USBtiny proqramlaşdırıcısından istifadə edirəm.
Növbəti addım olaraq 74HC238 de-mux çipini, LED-lərin tezlik aralığını göstərən lehimlə işlətdim. Kiçik bir Arduino proqramını çoxaltmağı sınayan Atmega çipinə yüklədim. (yuxarıdakı linkin altındakı videoya baxın)
Addım 9: Lehimləmə…
Növbəti addım olaraq, DC rejimində (LM358) işləyən opampları və tezlik və DADJ tənzimləmə potansiyometrlərini lehimlədim və bütün funksiyalarını yoxladım.
Bundan əlavə, BSS123 açarlarını, tezliyi təyin edən kondansatörləri və MAX039 çipini lehimlədim. Yerli çip siqnal çıxışında siqnalı yoxlayan funksional generatoru sınadım. (1986-cı ildə istehsal edilmiş, hələ işləyən osiloskopum olan köhnə Sovetimi görə bilərsiniz:-))
Addım 10: Daha Lehimləmə…
Bundan sonra LCD displey üçün yuvanı lehimlədim və "Hello world" eskizi ilə sınadım.
Qalan digər opampları, kondansatörləri, potensiometrləri və BNC bağlayıcılarını lehimlədim.
Addım 11: Proqram təminatı
Atmega328 firmware yaratmaq üçün Arduino IDE -dən istifadə etdim.
Tezlik ölçümü üçün "FreqCounter" kitabxanasından istifadə etdim. Eskiz faylı və istifadə olunan kitabxana yükləmək üçün mövcuddur. Hal -hazırda istifadə olunan rejimi (sinus, düzbucaqlı, üçbucaq) təmsil etmək üçün xüsusi simvollar yaratdım.
Yuxarıdakı şəkildə LCD -də göstərilən məlumatları görə bilərsiniz:
- Tezlik F = xxxxxxxx Hz -də
- Tezlik aralığı Rx
- MV -də genlik A = xxxx
- MV -də ofset 0 = xxxx
- siqnal növü x
Funksiya generatorunun sol tərəfində ön tərəfdə iki düymə var - onlar tezlik aralığının dəyişdirilməsində istifadə olunur (yuxarı - aşağı addım). Onların sağında, rejimi idarə etmək üçün sürüşmə açarı var, sonra soldan sağa, tezliyi (kurs, incə, DADJ), amplituda və ofsetin idarə edilməsi üçün potensiometrini izləyin. Ofset tənzimləmə potansiyometrinin yaxınlığında, 2.5V DC -də sabit olan və tənzimlənmiş arasında dəyişmək üçün istifadə olunan keçid yerləşdirilir.
Poçt sənədindəki "Generator.ino" kodunda kiçik bir səhv tapdım - sinus və üçbucaq dalğa formalarının simvolları dəyişdirildi. Buraya əlavə edilmiş tək "Generator.ino" faylında səhv düzəldilir.
Addım 12: Ediləcək…
Son addım olaraq, əlavə bir funksiyanı həyata keçirmək niyyətindəyəm - FFT istifadə edərək real vaxtda sinus sinus siqnalının THD ölçülməsi. Buna ehtiyac var, çünki sinus siqnalının iş dövrü 50%-dən fərqlənə bilər, daxili çip uyğunsuzluqlarından və digər səbəblərdən yarana bilər və harmonik təhriflər yarada bilər. Vəzifə dövrü potensiometrlə tənzimlənə bilər, ancaq osiloskopda və ya spektr analizatorundakı siqnalı müşahidə etmədən onun şəklini kəsmək mümkün deyil. THF -nin FFT alqoritmi əsasında hesablanması problemi həll edə bilər. THD hesablamalarının nəticəsi sağ üst boşluqdakı LCD -də göstəriləcək.
Videoda MAX038 sinus siqnalının yaratdığı spektri görmək olar. Spektr analizatoru Arduino UNO board + 2.4 TFT qalxanı əsasında qurulmuşdur. Spektr analizatoru FFT -ni real vaxtda yerinə yetirmək üçün Anatoli Kuzmenko tərəfindən hazırlanmış SpltRadex Arduino kitabxanasından istifadə edir.
Hələ də qərar verməmişəm - bu kitabxanadan istifadə etmək və ya Musiclabs tərəfindən yaradılan FHT kitabxanasından istifadə etmək.
Düzgün seçmə pəncərəsini hesablamaq və FFT hesablamaları zamanı əlavə pəncərələrin istifadəsini dayandırmaq üçün tezlik ölçmə cihazlarından alınan məlumatlardan istifadə etmək niyyətindəyəm. Bunun üçün bir az boş vaxt tapmalıyam. Ümid edirəm ki, tezliklə bəzi nəticələr əldə edəcəyik ….
Tövsiyə:
LED təsadüfi ədəd generatoru: 5 addım (şəkillərlə birlikdə)
LED təsadüfi ədəd generatoru: Bu çox sadə bir Arduino layihəsidir. Məhsul təsadüfi ədədləri təmsil etmək üçün LED -lərdən istifadə edir. Düyməni basdığınızda (basılı tutduğunuzda), LEDlər irəli və irəli gedəcək, sonra təsadüfi bir LED dəstinin sayını ifadə etmək üçün parlamasına icazə verəcək. Bu bir Ardu
Arduino Dalğa Formatı Generatoru: 5 addım (şəkillərlə birlikdə)
Arduino Dalğa Formatı Generatoru: 2021 -ci il fevral ayının yeniləməsi: Raspberry Pi Pico əsasında 300 dəfə seçmə nisbətinə malik yeni versiyanı yoxlayın. Gücləndiricini sınamaq, bir dövrə yoxlamaq ola bilər
Fidget Spinner generatoru: 3 addım (şəkillərlə birlikdə)
Fidget Spinner Generator: FIDGET SPINNER JENERATOR Aşağıdakı sətirlərdə, A4 laminatorları və mikrodalğalı sobalarda, 230 V - sinxron mühərrikdən 3 neodim maqnit, özəyi olmayan bir rulon istifadə edərək sadə elektrik generatorunun necə hazırlanacağını göstərəcəyik
Galvani-Edison Luminiferous Aether Bozukluğu Generatoru: 4 Addım (Şəkillərlə birlikdə)
Galvani-Edison Luminiferous Aether Disturbance Generator: The Instructablist, Messrs Galvani və Edisonun son inkişaflarına və praktik bir Parlaq Eter Bozukluğu Jeneratörü hazırlamaqda araşdırmalarının istifadəsinə diqqət çəkmək istəyir
Funksiya generatoru: 4 addım
Funksiya Yaradan: Hamıya Salam, Ucuz Fonksiyonlu Generatora Ehtiyacınız varmı?, Almaq İstəmirsiniz ….? …. bu dərslikdən birini edə bilərsiniz ….. Funksiya generatoru ehtiyacdır …. Layihənin çox hissəsində … simsiz enerji ötürmə modu etmək üçün istifadə etdim