Mündəricat:

Arduino-Osiloskop: Niyə İşləyir: 4 addım
Arduino-Osiloskop: Niyə İşləyir: 4 addım

Video: Arduino-Osiloskop: Niyə İşləyir: 4 addım

Video: Arduino-Osiloskop: Niyə İşləyir: 4 addım
Video: Резонансный блок питания своими руками. LLC резонанс. 2024, Noyabr
Anonim
Image
Image

Bir neçə il əvvəl elektronikaya girəndə və əsas prinsipləri öyrənərkən. Bir əhatənin demək olar ki, hər şeydə sizə kömək edən bir vasitə olduğunu gördüm. Bunu başa düşdükdən sonra bir işin əsas prinsiplərini öyrənmək üçün yola çıxdım, bir neçə aydan sonra öz-özümə düşündüm ki, özümü öyrənmə nöqtəsinə qoysam bir mikro nəzarətçi üzərində bir osiloskop tətbiq oluna bilər. perspektiv Niyə bir mikro nəzarətçi, bir siqnal qəbul etmək üçün bir ADC kimi bir qurmaq üçün lazım olan hər şeyə sahib olduğu üçün (lakin heç bir idarəetmə ucu yoxdur), bir çox məqsəd üçün istifadə edilə bilən GPIO portlarına sahib idi. yumşaq olsa da CPU var! (Arduino haqqında düşünürdüm).

Yaxşı və çox yaxşı olan arduino osiloskopları araşdırmaqla başladım, amma dəyişdirmək və başa düşmək asan olan daha sadə bir kod istərdim. Axtardığım anda 'vaupell'dən arduino forumlarında mövcud kodun əsasına rast gəldim. Daha çox oxunaqlı olması üçün onu dəyişdirməyə, şərh etməyə və əşyaları təmizləməyə başladım. Orijinal kod Noriaki Mitsunaga'dır.

Beləliklə, hardware və proqram təminatının necə qurulacağını və necə istifadə ediləcəyini görək.

GitHub vikisində kodun izahını yazmağa hələ başlamamışam. boş vaxtınız varsa ətrafa nəzər salın.

! - Bu layihə bir osiloskopun necə hazırlanacağını ətraflı izah etmir, əksinə bir osiloskopun necə işlədiyini anlamaq üçün əsl dünya osiloskopunun davranışını təqlid etmək üçün sadə bir mikro nəzarətçidən necə istifadə edə biləcəyinizi göstərir.

Addım 1: Avadanlıqlarınızı bilmək

Avadanlığınızı Bilmək
Avadanlığınızı Bilmək

Bu layihənin məqsədi, bir sahənin işlənməsi haqqında bir fikir verməkdir. Bu səbəbdən ən sadə və populyar hardware platformasını arduino seçdim. Kod, bir ekran quraşdırıldıqda daha sərbəst və əlçatan pinlərə sahib olduğu üçün arduino uno və ya arduino mega üzərində işləyə bilər.

Beləliklə, bu layihədə bir arduino mega (2560) istifadə edəcəyəm.

Növbəti komponent ekrandır. Bu qurğuda arduino TFT 2,5 düymlük toxunma qalxanı istifadə olunur (sürücü identifikatoru is0x9341). Bu, ekranda bir -birindən fərqlənən bir çox kanalı göstərmək imkanı verir.

Bütün bunlar budur. Lakin, bu əhatə dairəsi imkanları baxımından çox məhduddur, buna görə də onu kənara itələməyin. Diqqət etməli olduğunuz bəzi xüsusi şeylər;

arduino ADC 5 voltdan yuxarı olan gərginliyi çox yaxşı idarə edə bilməz və 0 voltdan aşağı olan gərginliyi də yaxşı idarə edə bilməz. Niyə, çünki belə dizayn edilmişdir.

Nümunələr alternativ olaraq birdən çox kanaldan alındığı üçün birdən çox kanaldan məlumat əldə etmək eyni kanalın effektiv seçmə sürətini azaldır.

nümunə götürmə sürəti çox aşağıdır (bir kanal əldə etmək üçün 10kSps -ə qədər gedə bilər, ancaq iki kanalda 5kSps/kanala düşür). Bu, ADC istinad tezliyini (prescalar təyin etmək) daha aşağı bir dəyərə təyin etməklə azaldıla bilər. Ancaq bunun özünün pis həll problemləri var.

Kodu arduinoya yükləmək üçün bir kompüteri də unutmayın.

Addım 2: Quraşdırma

Qurmaq
Qurmaq
Qurmaq
Qurmaq

Quraşdırma çox sadədir;

Ekran panelini Arduino Mega -ya bağlayın ki, hər iki lövhədəki güc pinləri hizalansın.

USB kabelindən istifadə edərək lövhəni kompüterə qoşun.

Arduino IDE -ni açın və hələ mövcud deyilsə SPFD5408 (0x9341) TFT ekran kitabxanasını əlavə edin.

İndi kod faylını github -dan Arduino -ya yükləyin.

GitHub - Arduino -Osiloskop

Orada var!. Kod kanalının qurulması bölməsində 8 (ch0) və 15 (ch1) kanallarını ON və ya OFF olaraq təyin edərək kodla məşğul ola bilərsiniz. Kapsamın vaxtını/bölgüsünü təyin etmək üçün dərəcəsi dəyişənini dərəcələr aralığından bir dəyərə dəyişə bilərsiniz. Kodun tetikleyici hissəsində tətik növünü avtomatik və ya tək olaraq təyin edə bilərsiniz.

Aşağıdakı addım, ilk videoda göründüyü kimi, Arduino-Osiloskop tərəfindən işlədilən və oxunan ADXL335 3 oxlu akselerometrini göstərir.

Addım 3: Nümunə - ADXL335 Akselerometrin oxunması

Misal - ADXL335 Akselerometrin Oxunması
Misal - ADXL335 Akselerometrin Oxunması
Misal - ADXL335 Akselerometrin Oxunması
Misal - ADXL335 Akselerometrin Oxunması
Misal - ADXL335 Akselerometrin Oxunması
Misal - ADXL335 Akselerometrin Oxunması

Akselerometr modulunu yuxarı sağda və aşağıdakı arduino lövhəsinin 5V DC və GND -dən gücləndirin. İndi adxl335 modulunun x-out pinini şəkillərdə göründüyü kimi arduino lövhəsinin A8 pininə bağlayın. akselerometrin x oxu aşağıya doğru yönəldilsə, əhatə dairəsindəki məlumat xətti sıfırdan ofset olunacaq, çünki adxl modulu cazibə qüvvəsi səbəbindən sürətlənməni oxuyacaq. adxl lövhəsində qeyd edildiyi kimi x istiqamətində sarsıtmağa çalışın, sünbüllər ekranda görünəcək.

Əhatə dairəsi və işləməsi haqqında daha çox məlumat əldə etmək üçün GitHub Wiki -yə baxın

Addım 4: Töhfə verin?

Viki sənədləşməsinə töhfə vermək istəyirsinizsə, xoş gəlmisiniz. Osiloskop fantastik bir avadanlıqdır və məncə yaxşı bir STEM vasitəsidir!

Hal -hazırda kiçik bir PGA və ofset nəzarəti olan kiçik bir ön uç üzərində işləyirəm və vaxt/div üçün bir nəzarət əlavə edərdim və bəlkə də aşağı gərginlikli AC siqnallarını oxuyuram.

Tövsiyə: