Tartalomjegyzék:

Arduino-oszcilloszkóp: Miért működik: 4 lépés
Arduino-oszcilloszkóp: Miért működik: 4 lépés

Videó: Arduino-oszcilloszkóp: Miért működik: 4 lépés

Videó: Arduino-oszcilloszkóp: Miért működik: 4 lépés
Videó: Az Arduino és a PWM 2024, December
Anonim
Image
Image

Néhány évvel ezelőtt, amikor elkezdtem foglalkozni az elektronikával és tanulmányoztam az alapelveket. Azt tapasztaltam, hogy a hatókör az az eszköz, amely szinte mindenben segít. Most, hogy ezt megértettem, néhány hónap elteltével elkezdtem megtanulni a hatókör működésének alapelveit, és azt gondoltam magamban, hogy egy oszcilloszkóp megvalósítható egy mikrovezérlőn, ha tanulási pontra helyezem magam perspektíva. Miért egy mikrovezérlő, mert minden szükséges eszközzel rendelkezett, mint például egy ADC, amely jelet vesz (de nem rendelkezik kezelőfelülettel), GPIO-portokkal rendelkezik, amelyek sok célra használhatók. CPU -ja van, bár szelíd! (Arduinora gondoltam).

Az arduino oszcilloszkópok kutatásával kezdtem, amelyek jók és nagyon jók voltak, de szerettem volna egy egyszerűbb, könnyen módosítható és érthető kódot. Amikor keresgéltem, az arduino fórumokon találkoztam a jelenlegi kód bázisával a "vaupell" -től. Elkezdtem módosítani és megjegyzéseket fűzni hozzá, és tisztítani a dolgokat, hogy olvashatóbb legyen. Az eredeti kód a Noriaki Mitsunaga -tól származik.

Lássuk tehát a hardver és a szoftver beállítását és használatát.

Még nem kell elkezdenem írni a kód magyarázatát a GitHub wikibe. ha van egy kis szabadidőd, nézz körül.

! - Ez a projekt nem részletezi az oszcilloszkóp készítésének módját, inkább azt mutatja be, hogyan használhat egy egyszerű mikrovezérlőt a valós oszcilloszkóp viselkedésének emulálására, hogy megértse az oszcilloszkóp működését.

1. lépés: A hardver ismerete

A hardver ismerete
A hardver ismerete

Ennek a projektnek a célja betekintést nyújtani egy hatókör működésébe. Ezért a legegyszerűbb és legnépszerűbb hardveres platformot választottam. A kód futtatható arduino uno -n vagy arduino mega -n, ahol az utóbbit részesítik előnyben, mert több szabad és hozzáférhető csapja van, ha kijelzőt telepítenek rá.

Tehát ebben a projektben egy arduino mega -t fogok használni (2560).

A következő összetevő a kijelző. Ez a beállítás egy 2,5 hüvelykes arduino TFT érintőképernyőt használ (az illesztőprogram azonosítója 0x9341). Ez lehetővé teszi több, egymástól megkülönböztethető csatorna megjelenítését a képernyőn.

Ennyi az egész. Ez a hatókör azonban nagyon korlátozott a képességeiben, ezért ne nyomja a szélére. Néhány konkrét dolog, amivel törődni kell;

az arduino ADC nem tudja nagyon jól kezelni az 5 volt feletti feszültségeket és a 0 volt alatti feszültségeket sem. Miért, mert így tervezték.

Az adatok több csatornáról történő egyidejű beszerzése csökkenti egyetlen csatorna effektív mintavételi arányát, mivel a mintákat alternatív módon veszik a több csatornából.

a mintavételi arány nagyon alacsony (egycsatornás felvétel esetén akár 10 kSps -ra is felmehet, de két csatorna esetén 5 kSps/csatorna). Ezt mérsékelheti az ADC referenciafrekvencia alacsonyabb értékre állítása (az előskála beállítása). Ennek azonban megvannak a maga problémái a rossz felbontással.

Ne felejtse el a számítógépet sem, hogy feltöltse a kódot az arduino -ba.

2. lépés: Beállítás

Beállít
Beállít
Beállít
Beállít

A beállítás nagyon egyszerű;

Csatlakoztassa a kijelzővédőt az Arduino Mega készülékhez úgy, hogy mindkét tábla tápcsatlakozói illeszkedjenek.

csatlakoztassa a táblát a számítógéphez USB -kábel segítségével.

Nyissa meg az arduino IDE -t, és adja hozzá az SPFD5408 (0x9341) TFT kijelzőkönyvtárat, ha még nincs meg.

Most töltse fel a kódfájlt a githubból az Arduino -ba.

GitHub - Arduino -oszcilloszkóp

Tessék, itt van!. A kóddal bánhat a 8 (ch0) és a 15 (ch1) csatornák BE vagy KI beállításával a kódcsatorna beállítási részben. A sebességváltozót a sebességtömbből származó értékre módosíthatja, hogy beállítsa a hatókör idejét/felosztását. Az aktiválástípust automatikus vagy egyszeri értékre állíthatja be a kód trigger szakaszában.

A következő lépés egy ADXL335 3 tengelyes gyorsulásmérőt mutat be, amelyet az Arduino-oszcilloszkóp táplál és olvas, amint az az első videóban látható.

3. lépés: Példa - ADXL335 A gyorsulásmérő leolvasása

Példa - ADXL335 A gyorsulásmérő leolvasása
Példa - ADXL335 A gyorsulásmérő leolvasása
Példa - ADXL335 A gyorsulásmérő leolvasása
Példa - ADXL335 A gyorsulásmérő leolvasása
Példa - ADXL335 A gyorsulásmérő leolvasása
Példa - ADXL335 A gyorsulásmérő leolvasása

Táplálja a gyorsulásmérő modult az arduino kártya 5V DC és GND -jéről a jobb szélső részen felül és alul. Most csatlakoztassa az adxl335 modul x-out tűjét az arduino kártya A8-as érintkezőjéhez, amint az a képeken is látható. ha a gyorsulásmérő x tengelye lefelé mutat, akkor a hatókör képernyő adatvonala nulláról eltolódik, mivel az adxl modul a gravitáció miatt gyorsulást olvas. próbálja rázni az x irányban, ahogy az adxl-táblán meg van jelölve, a tüskék megjelennek a képernyőn.

Ha többet szeretne megtudni a hatókörről és annak működéséről, tekintse meg a GitHub Wikit

4. lépés: Hozzájárulás?

Ha szeretne hozzájárulni a wiki dokumentációjához, szívesen látjuk. Az oszcilloszkóp fantasztikus berendezés, és szerintem jó STEM eszköz!

Jelenleg egy kis kezelőfelületen dolgozom, hamis PGA -val és eltolásvezérlővel, és hozzáadnék egy vezérlőt az idő/div és az alacsony feszültségű AC jelek olvasásához.

Ajánlott: