Yksikanavaisen oskilloskoopin tekeminen Arduinolla

Yksikanavaisen oskilloskoopin tekeminen Arduinolla

Tässä mielenkiintoisessa viestissä aiomme tehdä yksinkertaisen yksikanavaisen oskilloskoopin käyttämällä Arduinoa ja henkilökohtaista tietokonetta, jossa aaltomuodot näytetään tietokoneen näytöllä ja tuloaaltojen taajuus ja aika näytetään 16 x 2 -näytössä. .

Johdanto

Jokainen elektroniikan harrastaja sanoi kerran: 'Minulla on unelma, jonain päivänä ostan oskilloskoopin', mutta monien unelma on silti omistaa kunnollinen oskilloskooppi projekteilleen ja kokeilleen.



Oskilloskooppi on kallista laitteistoa jopa lähtötasomallille. Pidämme niitä ylellisen elektroniikan työkaluna ja saatamme lopettaa kokeilumme ja projektimme, koska meillä ei ole varaa sellaiseen.

Tämä projekti voi olla pelinvaihtaja monille, elektroniikan harrastajille ei tarvitse kuluttaa tonnia rahaa oskilloskoopille aallon perusparametrien mittaamiseksi.

Ehdotetun idean toiminnallisuus on hyvin rajallinen, joten älä odota ominaisuuksia a huippuluokan oskilloskooppi olla läsnä tässä projektissa. Saamme tästä projektista kolme vahvaa toimintoa:



1) aaltomuodon visuaalinen esitys tietokoneen näytöllä

2) tuloaallon taajuusmittaus

3) Tuloaallon ajanjakson mittaus mikrosekunteina.



Signaalin taajuus ja ajanjakso näytetään 16 x 2 LCD-näytöllä. Aaltomuodon visuaaliseen esittämiseen tietokoneen näytöllä on kaksi menetelmää, joita kuvataan artikkelin myöhemmässä osassa.

Sukelletaan nyt asennuksen tekniseen osaan.

Ehdotettu kokoonpano koostuu arduinosta, joka on aivomme projektimme tavalliseen tapaan, 16 x 2 LCD-näytöstä, IC 7404: stä, 10K-potentiometristä ja tietokoneesta, mieluiten Windows-koneesta.

Arduino on asennuksen aivot, ja meidän on valittava Arduino UNO tai Arduino mega tai Arduino nano tähän projektiin, koska muissa malleissa ei ole sisäänrakennettua USB-sarjamuunninta, mikä on välttämätöntä Arduinon ja tietokoneen välisessä viestinnässä.

Jos valitsemme muita arduino-korttimalleja, tarvitsemme ulkoisen USB-sarjamuuntimen, mikä saattaa hankaloittaa projektia.

Kuva LCD-Arduino-yhteydestä:

Yksikanavainen oskilloskooppi-LCD-näyttö

Yllä oleva piiri on itsestään selvä. Voimme löytää samanlaisen yhteyden näytön ja arduinon välillä muissa LCD-pohjaisissa projekteissa.

10K-potentiometriä käytetään säätämään 16 x 2 LCD-näytön kontrastia, jonka käyttäjän on asetettava optimaalisen näkymän saamiseksi.

Yksikanavainen oskilloskooppi Arduinoa käyttämällä

IC 7404: n tehtävänä on poistaa kaikki melusignaalit tulosta ja viedä taajuuden näytteenottotapiin A0. IC 7404 tuottaa vain suorakulmaisia ​​aaltoja, mikä on suuri etu arduinolle, koska arduino pystyy käsittelemään digitaalista signaalia paremmin kuin analogisia signaaleja.

Ohjelmoida:

//-----Program Developed by R.Girish-----//
#include
LiquidCrystal lcd(12, 11, 5, 4, 3, 2)
int X
int Y
float Time
float frequency
const int Freqinput = A0
const int oscInput = A1
int Switch = A2
const int test = 9
void setup()
{
Serial.begin(9600)
lcd.begin(16,2)
pinMode(Switch,INPUT)
pinMode(Freqinput,INPUT)
pinMode(oscInput,INPUT)
pinMode(test, OUTPUT)
analogWrite(test,127)
lcd.setCursor(0,0)
lcd.print('Press the button')
}
void loop()
{
if(digitalRead(Switch)==HIGH)
{
lcd.clear()
lcd.setCursor(0,0)
X = pulseIn(Freqinput,HIGH)
Y = pulseIn(Freqinput,LOW)
Time = X+Y
frequency = 1000000/Time
if(frequency<=0)
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print('0.00 Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print('0.00 us')
}
else
{
lcd.clear()
lcd.setCursor(0,0)
lcd.print('F=')
lcd.print(frequency)
lcd.print('Hz')
lcd.setCursor(0,1)
lcd.print('T=')
lcd.print(Time)
lcd.print(' us')
delay(500)
}
}
else
{
Serial.println(analogRead(oscInput))
}
}
//-----Program Developed by R.Girish-----//

Kun olet suorittanut laitteisto-osan ja ladannut yllä olevan koodin. On aika piirtää aaltomuoto tietokoneen näytölle. Tämä voidaan tehdä kahdella tavalla, helpoin ja laiskin tapa on kuvattu alla.

Menetelmä 1:

• Liitä tulojohto arduinon tapaan # 9 (testitila).
• Avaa Arduino IDE (sen on oltava 1.6.6 tai uudempi versio)
• Siirry välilehdelle 'Työkalut' ja valitse sarjapiirturi

Heti kun sarjapiirturi avautuu, näet suorakulmaisen aallon, joka syntyy arduinon nastasta # 9, joka on kuvattu alla.

suorakulmainen aalto, joka syntyy arduinon tapista # 9

Paina painiketta näyttääksesi lukemat ja myös LCD-näytön lukemien päivittämiseksi sen on näytettävä noin 490 Hz: n tilassa 'testitilassa'.

Testimoodin kaavio:

Testimoodina on tarkistaa oskilloskoopin moitteeton toiminta. Tappi # 9 on ohjelmoitu antamaan 490 Hz: n lähtö.

Menetelmä 2:

Tämä menetelmä on suhteellisen helppo, mutta meidän on ladattava ohjelmisto annetusta linkistä: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Tämä ohjelmisto antaa meille hieman enemmän hallintaa ja ominaisuuksia verrattuna arduinon sarjapiirturiin. Voimme lähentää ja loitontaa muodostettua aaltomuotoa, voimme asettaa laukaisutoiminnon, kompensoida pystysuoran ja vaaka-akselin ohjauksen jne.

• Lataa ohjelmisto ja pura.

• Kaksoisnapsauta nyt Serial Oscilloscope -sovellusta.

arduinon sarjapiirturi

• Ikkuna avautuu alla olevan kuvan mukaisesti ja valitsee siirtonopeuden 9600: ksi.

valitse baudinopeudeksi 9600.

• Valitse nyt Sarjaportti-välilehti ja valitse oikea COM-portti, joka voi vaihdella tietokoneesta toiseen. Jos valitset oikean COM-portin, näet lukemat alla olevan kuvan mukaisesti.

• Valitse nyt ”oskilloskooppi” -välilehti ja valitse ”kanavat 1, 2 ja 3” (ensimmäinen vaihtoehto).

Valitse nyt ”oskilloskooppi” -välilehti ja valitse ”kanavat 1, 2 ja 3” (ensimmäinen vaihtoehto). Aaltomuoto yksikanavaisesta oskilloskoopista Arduinoa käyttämällä

• Näet Arduinon luoman testisignaalin alla olevan kuvan mukaisesti.

Kuten näette, ohjelmistossa on joitain ohjauspainikkeita, joiden avulla voit analysoida aaltomuotoa paremmin.

HUOMAUTUS:

Ehdotetulla asetuksella on yksi merkittävä haitta:

Arduino ei voi näyttää tuloaaltomuotoa tietokoneen näytöllä ja taajuuden / ajanjakson lukemista samanaikaisesti LCD-näytöllä. Tämän ongelman ratkaisemiseksi on käytettävissä painike taajuuden ja ajanjakson lukemiseen / päivittämiseen nestekidenäytössä.

Kun painat painiketta, taajuus ja ajanjakso näytetään LCD-näytössä samaan aikaan aaltomuoto jäätyy tietokoneen näytöllä niin kauan kuin painat jatkuvasti painiketta.

Voit myös pitää tätä etuna, koska voit pysäyttää taajuuden tietokoneen näytössä milloin tahansa, mikä voi antaa sinulle aikaa analysoida näytettyä aaltomuotoa.

Kirjoittajan prototyyppi:

Arduino-oskilloskooppipiirin prototyyppikuva

Jos sinulla on kysyttävää tästä yksinkertaisesta yksikanavaisesta Arduino-oskilloskooppipiiristä, voit käyttää alla olevaa kommenttiruutua ilmaisemaan erityisiä näkemyksiisi




Edellinen: Arduino-taajuusmittari 16 × 2 -näytöllä Seuraava: LiFi-Internet-lähetinpiiri - USB-signaalinsiirto LED-valon kautta