Cuprins:

Arduino-Osciloscop: De ce funcționează: 4 pași
Arduino-Osciloscop: De ce funcționează: 4 pași

Video: Arduino-Osciloscop: De ce funcționează: 4 pași

Video: Arduino-Osciloscop: De ce funcționează: 4 pași
Video: How to make an Oscilloscope using Arduino | Arduino as Oscilloscope 2024, Noiembrie
Anonim
Image
Image

Cu câțiva ani în urmă, când începeam să folosesc electronica și să studiez principiile de bază. Am constatat că un scop este instrumentul care vă ajută în aproape orice. Acum, când am înțeles asta, mi-am propus să învăț principiile de bază ale funcționării unui domeniu, după câteva luni, m-am gândit la mine, ei bine, un osciloscop este implementabil pe un microcontroler dacă mă pun într-un punct de învățare a perspectivă. De ce un microcontroler, deoarece avea toate lucrurile necesare pentru a construi unul, cum ar fi un ADC pentru a prelua un semnal (dar fără front end de control), avea porturi GPIO care puteau fi utilizate în multe scopuri, de asemenea are un CPU, deși blând! (Mă gândeam la un arduino).

Am început cu cercetări despre osciloscoapele arduino care erau bune și foarte bune, dar mi-aș fi dorit un cod mai simplu, ușor de modificat și de înțeles. În timp ce căutam, am dat peste baza codului curent pe forumurile arduino din „vaupell”. Am început să-l modific și să-l comentez și să curăț lucrurile pentru a-l face mai ușor de citit. Codul original este de la Noriaki Mitsunaga.

Deci, să vedem cum să configurați hardware-ul și software-ul și cum să le utilizați.

Încă nu am început să scriu explicația pentru cod pe wiki-ul GitHub. dacă aveți ceva timp liber, aruncați o privire în jur.

! - Acest proiect nu detaliază modul de realizare a unui osciloscop, ci mai degrabă vă arată cum puteți utiliza un simplu micro-controler pentru a imita comportamentul unui osciloscop din lumea reală pentru a înțelege cum funcționează un osciloscop.

Pasul 1: Cunoașterea hardware-ului dvs

Cunoașterea hardware-ului dvs
Cunoașterea hardware-ului dvs

Scopul acestui proiect este de a oferi o perspectivă asupra funcționării unui domeniu. Din acest motiv, am ales cea mai simplă și populară platformă hardware arduino. Codul este rulabil pe un arduino uno sau un arduino mega, unde acesta este preferat deoarece are mai mulți pini liberi și accesibili atunci când este instalat un afișaj pe el.

Deci, în acest proiect voi folosi un mega arduino (2560).

Următoarea componentă este afișajul. Această setare utilizează un ecran tactil arduino TFT de 2,5 inci (ID-ul driverului este 0x9341). Acest lucru oferă posibilitatea de a afișa mai multe canale pe ecran care se disting între ele.

Cam despre asta e. Cu toate acestea!, Acest domeniu este foarte limitat în ceea ce privește capacitățile sale, așa că nu îl împingeți până la margine. Câteva lucruri specifice de care să îți pese sunt:

arduino ADC nu poate rezolva foarte bine tensiunile de peste 5 volți și nici nu poate rezolva tensiunile sub 0 volți. De ce, pentru că este conceput așa.

achiziționarea de date de la mai multe canale reduce simultan rata efectivă de eșantionare a unui singur canal, deoarece eșantioanele sunt preluate alternativ de la mai multe canale.

rata de eșantionare este foarte scăzută (pentru o achiziție cu un singur canal s-ar putea ajunge până la 10kSps, dar cu două canale scade la 5kSps / canal). Acest lucru poate fi atenuat prin setarea frecvenței de referință ADC (setarea prescalarului) la o valoare mai mică. Cu toate acestea, aceasta are propriile sale probleme de rezoluție proastă.

De asemenea, nu uitați un computer pentru a încărca codul pe arduino.

Pasul 2: Configurare

Înființat
Înființat
Înființat
Înființat

Configurarea este foarte simplă;

Atașați ecranul ecranului la Arduino Mega, astfel încât pinii de alimentare de pe ambele plăci să se alinieze.

conectați placa la computer utilizând un cablu USB.

Deschideți IDE-ul arduino și adăugați biblioteca de afișare TFT SPFD5408 (0x9341), dacă nu este deja prezentă.

Acum încărcați fișierul de cod din github pe Arduino.

GitHub - Arduino-Osciloscop

Iată-l!. Puteți schimba codul setând canalele 8 (ch0) și 15 (ch1) ON sau OFF în secțiunea de configurare a canalului de cod. Puteți schimba variabila de rată la o valoare din matricea de rată pentru a seta timpul / divizarea domeniului. Puteți seta tipul de declanșare la automat sau unic în secțiunea de declanșare a codului.

Următorul pas arată un accelerometru cu 3 axe ADXL335 alimentat și citit de Arduino-Osciloscopul, așa cum se vede în primul videoclip.

Pasul 3: Exemplu - ADXL335 Citirea accelerometrului

Exemplu - ADXL335 Citirea accelerometrului
Exemplu - ADXL335 Citirea accelerometrului
Exemplu - ADXL335 Citirea accelerometrului
Exemplu - ADXL335 Citirea accelerometrului
Exemplu - ADXL335 Citirea accelerometrului
Exemplu - ADXL335 Citirea accelerometrului

Alimentați modulul accelerometru de la 5V DC și GND al plăcii arduino din extrema dreaptă, în partea de sus și de jos. Acum conectați pinul x-out al modulului adxl335 la pinul A8 al plăcii arduino așa cum se poate vedea în imagini. dacă axa x a accelerometrului este îndreptată în jos, linia de date de pe ecranul scopului va fi decalată de la zero, deoarece modulul adxl va citi accelerația din cauza gravitației. încercați să-l scuturați în direcția x așa cum este marcat pe placa adxl, vârfurile vor apărea pe ecran.

Pentru a afla mai multe despre domeniul de aplicare și funcționarea acestuia, consultați GitHub Wiki

Pasul 4: Contribuiți?

Dacă doriți să contribuiți la documentația wiki, sunteți mai mult decât binevenit. Osciloscopul este o piesă fantastică de echipament și cred că este un instrument STEM bun !.

În prezent lucrez la un frontend mic cu un PGA fictiv și un control offset și aș adăuga un control pentru timpul / div și poate citi semnalele AC de joasă tensiune.

Recomandat: