Digitális oszcilloszkóp készítése Via Arduino: 3 lépés

Digitális oszcilloszkóp készítése Via Arduino: 3 lépés

Tartalomjegyzék:

Anonim

Gyakran látható, hogy az online digitális oszcilloszkóppal rendelkező embereknek digitális analóg átalakítóegységgel kell rendelkezniük, a d / a konverziós áramkör szerint két módra osztható: 1. Speciális ADC chip + single-chip, 2. egy chipes ADC számláló használata az átalakító. Az első modellnél, amit kipróbáltam (lásd a blogomat: http://blog.Sina.com.CN/ntwhq), ez az áramkör egy kicsit bonyolultabb, az összetevőt nehezebb befejezni, nehéz a kezdőknek. A második szerkezet viszonylag egyszerű, könnyű, de jelentős hátránya van, vagyis szűk sávszélességgel az egyik tipikusabb munka a http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope külföldi barátai. htm, az oszcilloszkóp sávszélessége csak 7,7 KHz. A hazai felhasználók és az STC egy chipes AVR-gyártása, de a tényleges sávszélesség kisebb, mint 10 KHz. A Fusion PCB-t úgy is használhatja, hogy önmagában forrasztás helyett egy PCB-kártyát készítsen.

kellékek:

1. lépés: Kód

A közelmúltban egy Arduino oszcilloszkópmal rendelkező barátnőt láttam, könnyebb lehet, mint a fenti második módszer, de az eredmények nem ideálisak, a sávszélesség szűk. Szóval meg akartam próbálni, és nincs jó módja a probléma megoldására. A kísérlet által előállított, és a kódot folyamatosan módosítja, és javított d / a konverziós mintavételi arányt, nagyon jó eredményeket értek el.

A végtermék fő paraméterei: Frekvencia-válasz: 10 Hz-50KHz Tápellátás: 5V LCD LCD képernyő: 128x64 (ST7920) Mérési kijelzési terület: 96x64 Az információs kijelző: 32x64, megjeleníti a tesztjel frekvenciáját, Vpp-et és még több szinkronizálást: emelkedő él kiváltja a beolvasási sebességet: 0,02ms / div ~ 10ms / div, kilenc 1-2-5 tartási funkcióval: a megjelenített hullámforma és a paraméterek befagyasztása Második, alapvizsgálat Az Arduino projekt legnagyobb előnye a gazdag erőforrások, és nem szükséges sok tudás az SCM-ről. Az u8glib LCD tárolóeszközt használtam, ami megkönnyítette a programozást, vagy az LCD meghajtó sok időt fog fizetni. U8glib letöltés: u8glib_arduino_v1.13.zip (989.55 KB, letöltések: 2577) Itt van az első tesztköröm az Arduino UNO épületének, amely 12864 LCD LCD-t használ ST7920 vezérléssel. Mindaddig, amíg a bemeneti módszer a következő kódban, a letöltés után össze lett állítva, elérheti a digitális oszcilloszkóp alapvető funkcióit, nem lenne egyszerűbb? # Tartalmazza a // utasítás U8GLIB_ST7920_128X64_4X u8g (13, 12, 11); Statisztika LCD SPI Com: SCK = 13, MOSI = 12, CS = 11 int x, y; Festett pontkoordináták int Buffer 128; Cache Storage array void setup () {} Sample void minta () {for (x = 0; x <128; x ++) puffer x = analóg (A0); Signál mintavétel (x = 0; x <128; x ++) puffer x = 63- (puffer x >> 4); Y értékek kiszámítása} Kijelző érvénytelen rajz () {for (x = 0; x <127; x ++) u8g.drawLine (x, puffer x, x, puffer x + 1); Rajzoljon két sort u8g.drawLine (64,0,64,63); Rajzolja meg az u8g.drawLine tengelyeket (0,32,128,32); For (x = 0; x <128; x + = 8) // az u8g.drawLine (x, 31, x, 33) tengely skála rajzolása; (x = 0; x <64; x + = 8) u8g.drawLine (63, x, 65, x); u8g.drawFrame (0,0,128,64); Rajzolás} üreges hurok () {minta (); Minta u8g.firstPage (); Törölje a képernyőt (); Kijelzés közben (u8g.nextPage ());

}

2. lépés: Áramkör

A tesztkör használatával az Arduino-t közvetlenül az analóg olvasó () függvény segítségével mérik, hogy a hirdetés / konverzió kb. 111 μs sebességű legyen, a sávszélesség nagy része 1KHz, a következő prioritás a digitális analóg sebességének javítása. konverziót, miközben további funkciókat ad.

Harmadszor, a legfrissebb programok Itt van a legfrissebb forráskód, kérjük, tartsa meg a LOGO-t, HA HA-t. Arduino_oscilloscope.zip (2.72 KB, letöltések: 2710)

A fentiekben említett 1.1V-os chip programozási feszültség referencia, ha külső 5V referenciafeszültséget kíván használni, az ADMUX = 0xe0 program legyen; Címzett: ADMUX = 0x60; Vpp = (V_max-V_min) * 1,1 / 255; olvasható: Vpp = (V_max-V_min) * 5/255;

A Fusion PCB használata sokkal jobb áramköri lapot készíthet.

Négy, a géppel végzett kísérletek az Arduino UNO-t használva, az Arduino PRO mini használatakor használt tényleges kártya, hogy kisebb legyen a kötet.

Kördiagramm:

Főbb komponensek listája: Szám neve Arduino PRO mini 1 LCD12864 LCD (ST7920) 1 elektrolit kondenzátor (100 μ 25V) 1 potenciométer (50k) 1 lyuklemez 3 tápkapcsoló 1 akkumulátorpatron 2 gombos kapcsoló (újratölthető akkumulátorral, 7.) 1 1. eset

1, Hegesztés Arduino PRO mini PIN.

2, hegesztő áramköri alkatrészek

3, így az LCD lyuklemez

4, áramköri lapok összeszerelése

Az 5-ös esettanulmányban a kincs dobozának műanyag burkolattal történő feltöltési szerkezetátalakítását alkalmaztam a lyuk megfelelő helyén.

6, Közgyűlés

Töltse be az áramköri lapot a burkolatba, vastag fehér panelrel, amely az előlap belső részéhez van csatlakoztatva.

3. lépés: Feltöltés és tesztelés

Az Arduino PRO mini miatt az USB soros port áramkört nem kapcsolja be, így az USB soros port letöltés előtt továbbítható a program letöltése előtt.

Az oszcilloszkóp hibakeresés nagyon egyszerű, csak az 50 k-os potenciométert kell beállítani a vízszintes szkennerek középpontjába. Jelgenerátor jelforrást használok.

Boot LOGO

Tesztelés:

néhány magyarázat

1, ez az egyik legegyszerűbb digitális oszcilloszkóp, ezt tovább javíthatja;

Lehet, hogy észrevetted, hogy nem használok 0-7-es I / O portot, ami 8-bites AVR egy chipes mikrokomputer és száj, ez az, amit felkészítettem a későbbi frissítésekre speciális ADC chip használatával. adatként is használható, ha érdekli az oszcilloszkóp, akkor megfontolom a frissítést;

3, a munka rohant, és bármilyen hibája és hiányossága volt, kérjük, tanácsolja, bármilyen kérdése van itt.