Turinys:

Arduino-osciloskopas: kodėl tai veikia: 4 žingsniai
Arduino-osciloskopas: kodėl tai veikia: 4 žingsniai

Video: Arduino-osciloskopas: kodėl tai veikia: 4 žingsniai

Video: Arduino-osciloskopas: kodėl tai veikia: 4 žingsniai
Video: Control Position and Speed of Stepper motor with L298N module using Arduino 2024, Lapkritis
Anonim
Image
Image

Prieš keletą metų pradėjau dirbti elektronikoje ir studijavau pagrindinius principus. Radau, kad taikymo sritis yra įrankis, padedantis beveik viskam. Dabar, kai tai supratau, nusprendžiau išmokti pagrindinius taikymo srities veikimo principus, po kelių mėnesių pagalvojau sau, kad osciloskopas gali būti įdiegtas mikrovaldiklyje, jei pasimokysiu perspektyva. Kodėl mikrovaldiklis, nes turėjo visus reikalingus dalykus, kad jį sukurtų, pavyzdžiui, ADC signalui priimti (bet be valdymo priekinės dalies), jis turėjo GPIO prievadus, kuriuos galima naudoti daugeliui tikslų. turi procesorių, nors ir švelnų! (Galvojau apie arduino).

Pradėjau tyrinėti apie arduino osciloskopus, kurie buvo geri ir labai geri, tačiau norėčiau paprastesnio kodo, kurį būtų lengva pakeisti ir suprasti. Kaip tik ieškojau, arduino forumuose aptikau dabartinio kodo bazę iš „vaupell“. Aš pradėjau jį modifikuoti, komentuoti ir valyti daiktus, kad būtų lengviau skaityti. Originalus kodas yra iš Noriaki Mitsunaga.

Taigi pažiūrėkime, kaip nustatyti aparatinę ir programinę įrangą ir kaip ją naudoti.

Aš dar nepradėjau rašyti kodo paaiškinimo „GitHub wiki“. jei turite laiko, apsidairykite.

! - Šiame projekte nenurodoma, kaip sukurti osciloskopą, o parodoma, kaip galite naudoti paprastą mikrovaldiklį, kad imituotumėte realaus pasaulio osciloskopo elgesį, kad suprastumėte, kaip veikia osciloskopas.

1 žingsnis: žinokite savo aparatūrą

Žinodami savo aparatūrą
Žinodami savo aparatūrą

Šio projekto tikslas yra suteikti informacijos apie apimties veikimą. Dėl šios priežasties pasirinkau paprasčiausią ir populiariausią aparatūros platformą arduino. Kodą galima paleisti naudojant „arduino uno“arba „arduino mega“, kur pirmenybė teikiama pastarajam, nes jame yra daugiau laisvų ir prieinamų kaiščių, kai ant jo yra sumontuotas ekranas.

Taigi šiame projekte naudosiu arduino mega (2560).

Kitas komponentas yra ekranas. Ši sąranka naudoja arduino TFT 2,5 colio jutiklinį skydą (tvarkyklės ID yra0x9341). Tai suteikia galimybę ekrane rodyti kelis kanalus, kuriuos galima atskirti.

Tai viskas. Tačiau šios apimties galimybės yra labai ribotos, todėl nestumkite jos į kraštą. Kai kurie konkretūs dalykai, kuriais reikia rūpintis, yra šie;

„arduino ADC“negali labai gerai valdyti įtampos, didesnės nei 5 voltai, ir negali gerai valdyti įtampos, mažesnės nei 0 voltų. Kodėl, nes taip suprojektuota.

duomenų gavimas iš kelių kanalų vienu metu sumažina faktinį vieno kanalo atrankos dažnį, nes mėginiai imami pakaitomis iš kelių kanalų.

mėginių ėmimo dažnis yra labai mažas (vieno kanalo įsigijimo atveju jis gali siekti iki 10 kSps, tačiau su dviem kanalais jis sumažėja iki 5 kSps/kanalas). Tai galima sušvelninti nustatant ADC atskaitos dažnį (nustatant išankstinį skalą) į mažesnę vertę. Tačiau tai turi savo blogo sprendimo problemų.

Taip pat nepamirškite kompiuterio, kad galėtumėte įkelti kodą į arduino.

2 veiksmas: sąranka

Sąranka
Sąranka
Sąranka
Sąranka

Sąranka yra labai paprasta;

Pritvirtinkite ekrano skydą prie „Arduino Mega“taip, kad abiejų plokščių maitinimo kaiščiai susilygintų.

prijunkite plokštę prie kompiuterio naudodami USB kabelį.

Atidarykite arduino IDE ir pridėkite TFT ekrano biblioteką SPFD5408 (0x9341), jei jos dar nėra.

Dabar įkelkite kodo failą iš „github“į „Arduino“.

„GitHub“- Arduino -osciloskopas

Štai ir turi!. Kodo kanalų sąrankos skyriuje galite įjungti arba išjungti 8 (ch0) ir 15 (ch1) kanalus. Galite pakeisti greičio kintamąjį į vertę iš tarifų masyvo, kad nustatytumėte srities laiką/padalijimą. Kodo aktyviklio skiltyje galite nustatyti aktyviklio tipą kaip automatinį arba vieną.

Šiame žingsnyje parodyta, kad ADXL335 3 ašių akselerometras yra maitinamas ir skaitomas „Arduino-Oscilloscope“, kaip matyti pirmame vaizdo įraše.

3 žingsnis: Pavyzdys - ADXL335 Akselerometro skaitymas

Pavyzdys - ADXL335 Akselerometro skaitymas
Pavyzdys - ADXL335 Akselerometro skaitymas
Pavyzdys - ADXL335 Akselerometro skaitymas
Pavyzdys - ADXL335 Akselerometro skaitymas
Pavyzdys - ADXL335 Akselerometro skaitymas
Pavyzdys - ADXL335 Akselerometro skaitymas

Maitinkite akselerometro modulį iš 5 V DC ir GND arduino plokštės, esančios dešinėje, viršuje ir apačioje. Dabar prijunkite „adxl335“modulio „x-out“kaištį prie „arduino“plokštės kaiščio A8, kaip matyti paveikslėliuose. jei akselerometro x ašis nukreipta žemyn, duomenų linija taikymo srities ekrane bus perkelta nuo nulio, nes adxl modulis skaitys pagreitį dėl gravitacijos. pabandykite pakratyti x kryptimi, kaip pažymėta adxl lentoje, smaigai bus rodomi ekrane.

Norėdami sužinoti daugiau apie taikymo sritį ir jos veikimą, apsilankykite „GitHub Wiki“

4 žingsnis: prisidėti?

Jei norėtumėte prisidėti prie „wiki“dokumentacijos, esate laukiami. Osciloskopas yra fantastiška įranga ir manau, kad tai geras STEM įrankis !.

Šiuo metu dirbu prie mažos priekinės dalies su fiktyviu PGA ir poslinkio valdikliu ir pridėčiau laiko/paskirstymo valdiklį ir galbūt skaityčiau žemos įtampos kintamosios srovės signalus.

Rekomenduojamas: