Paggawa ng Single Channel Oscilloscope gamit ang Arduino

Subukan Ang Aming Instrumento Para Sa Pagtanggal Ng Mga Problema





Sa kagiliw-giliw na post na ito, gagawa kami ng isang simpleng solong oscilloscope gamit ang Arduino at isang personal na computer, kung saan ipapakita ang mga waveform sa display ng PC at dalas at tagal ng panahon ng mga input na alon ay ipapakita sa 16 x 2 display .

Panimula

Ang bawat taong mahilig sa electronics ay nagsabing minsan 'May pangarap ako, balang araw ay bibili ako ng isang oscilloscope' ngunit, pangarap pa rin ng marami na magkaroon ng isang disenteng oscilloscope para sa kanilang mga proyekto at eksperimento.



Ang oscilloscope na mamahaling kagamitan kahit para sa isang modelo ng antas ng pagpasok, isinasaalang-alang namin ang mga ito bilang isang mamahaling kasangkapan sa electronics at maaari naming ihinto ang aming mga eksperimento at proyekto dahil hindi namin kayang bayaran ang isa.

Ang proyektong ito ay maaaring isang changer ng laro para sa marami, mga mahilig sa electronics ay hindi na kailangang gumastos ng toneladang pera para sa isang oscilloscope upang masukat ang mga pangunahing parameter ng isang alon.



Ang iminungkahing ideya ay may limitadong pag-andar kaya't huwag asahan ang mga tampok sa a high end oscilloscope na naroroon sa proyektong ito. Nakukuha namin ang tatlong solidong pag-andar mula sa proyektong ito:

1) visual na representasyon ng form ng alon sa screen ng computer

2) pagsukat ng dalas ng input wave

3) Pagsukat ng tagal ng oras ng input wave sa microseconds.

Ang dalas at tagal ng panahon ng signal ay ipapakita sa 16 x 2 LCD display. Mayroong dalawang pamamaraan para sa biswal na kumakatawan sa waveform sa computer screen na ilalarawan sa susunod na bahagi ng artikulo.

Ngayon sumisid tayo sa teknikal na bahagi ng pag-setup.

Ang iminungkahing pag-set up ay binubuo ng arduino na siyang utak ng aming proyekto tulad ng dati, isang 16 x 2 LCD display, IC 7404, 10K potentiometer at isang computer na mas mabuti na isang windows machine.

Ang arduino ay utak ng pag-setup at dapat nating piliin ang Arduino UNO o Arduino mega o Arduino nano para sa proyektong ito dahil ang ibang mga modelo ay walang built-in na USB sa serial converter na mahalaga para sa pakikipag-usap sa pagitan ng Arduino at computer.

Kung pipiliin namin ang iba pang mga modelo ng arduino board kailangan namin ng panlabas na USB sa serial converter na maaaring kumplikado sa proyekto.

Paglalarawan ng LCD sa koneksyon ng Arduino:

Ipakita ang Single Channel Oscilloscope LCD

Ang circuit sa itaas ay nagpapaliwanag sa sarili. Mahahanap namin ang katulad na koneksyon sa pagitan ng display at arduino sa iba pang mga proyektong batay sa LCD.

Ginagamit ang 10K potentiometer upang ayusin ang kaibahan ng 16 x 2 LCD display na dapat itakda ng gumagamit para sa pinakamainam na pagtingin.

Single Channel Oscilloscope gamit ang Arduino

Ang pagpapaandar ng IC 7404 ay upang maalis ang anumang signal ng ingay mula sa input at pinakain sa frequency sampling pin A0. Ang IC 7404 ay naglalabas lamang ng mga hugis-parihaba na alon na kung saan ay isang mahusay na kalamangan para sa arduino, dahil ang arduino ay mas may kakayahang iproseso ang digital signal kaysa sa mga signal ng analogue.

Programa:

//-----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-----//

Kapag nakumpleto mo na ang bahagi ng hardware at na-upload ang code sa itaas. Panahon na upang magplano ng waveform sa computer screen. Maaari itong magawa sa dalawang paraan, ang pinakamadali at pinakatamad na paraan ay inilarawan sa ibaba.

Paraan 1:

• Ikonekta ang input wire sa pin # 9 ng arduino (Test mode).
• Buksan ang Arduino IDE (dapat itong 1.6.6 o mas mataas na mga bersyon)
• Pumunta sa tab na 'mga tool' at piliin ang serial plotter

Sa lalong madaling pagbukas ng serial plotter maaari mong makita ang hugis-parihaba na alon na nabuo mula sa pin ng # 9 ng arduino, na nakalarawan sa ibaba.

parihabang alon na nabuo mula sa pin ng # arduino

Pindutin ang pindutan ng itulak upang ipakita ang mga pagbasa at para din sa pag-refresh ng mga pagbasa sa display ng LCD, dapat itong ipakita sa paligid ng 490Hz sa 'mode na pagsubok'.

Schema ng test mode:

Ang mode ng pagsubok ay upang suriin ang wastong paggana ng oscilloscope. Ang pin # 9 ay na-program upang magbigay ng 490Hz output.

Paraan 2:

Medyo madali ang pamamaraang ito ngunit kailangan naming mag-download ng software mula sa ibinigay na link: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Magbibigay sa amin ang software na ito ng kaunti pang kontrol at mga tampok na ihambing sa serial plotter ng arduino. Maaari kaming mag-zoom in at out ng nabuong waveform na maaari nating itakda ang pagpapaandar ng pag-trigger, i-offset ang kontrol sa patayo at pahalang na axis atbp.

• I-download ang software at kumuha.

• Ngayon mag-double click sa application ng Serial Oscilloscope.

serial plotter ni arduino

• Ang isang window ay pop-up tulad ng nakalarawan sa ibaba at piliin ang rate ng baud sa 9600.

piliin ang baud rate hanggang 9600.

• Ngayon piliin ang tab na 'Serial port' at piliin ang tamang COM port na maaaring mag-iba ng computer sa computer. Kung pinili mo ang tamang COM port, maaari mong makita ang mga pagbabasa tulad ng nakalarawan sa ibaba.

• Ngayon piliin ang tab na 'oscilloscope' at piliin ang 'mga channel 1, 2 at 3' (unang pagpipilian).

Piliin ngayon ang tab na Waveform mula sa solong channel Oscilloscope Gamit ang Arduino

• Maaari mong makita ang nabuong signal ng pagsubok mula sa Arduino tulad ng nakalarawan sa ibaba.

Tulad ng nakikita mo mayroong ilang mga pindutan ng kontrol sa software kung saan maaari mong masuri nang mas mahusay ang waveform.

TANDAAN:

Ang ipinanukalang pag-setup ay may isang pangunahing kawalan:

Hindi maipakita ng Arduino ang input waveform sa computer screen at dalas / oras na pagbasa sa LCD display nang sabay-sabay. Upang mapagtagumpayan ang isyung ito ang isang pindutan ng itulak ay ibinigay para sa pagbabasa / pag-refresh ng dalas at tagal ng panahon sa LCD display.

Sa sandaling pinindot mo ang pindutan ay ipapakita nito ang dalas at tagal ng oras sa pagpapakita ng LCD sa parehong oras na form na freeze sa screen ng computer hangga't patuloy mong pinindot ang pindutan ng push.

Maaari mo ring isaalang-alang ito bilang isang kalamangan dahil maaari mong ihinto ang dalas sa monitor ng computer sa anumang instant at maaari kang bigyan ng oras upang pag-aralan ang ipinakitang waveform.

Prototype ng may-akda:

Prototype Image para sa Arduino oscilloscope circuit

Kung mayroon kang anumang mga karagdagang katanungan tungkol sa simpleng solong channel na Arduino oscilloscope circuit na ito, mangyaring huwag mag-atubiling gamitin ang kahon ng puna sa ibaba para sa pagpapahayag ng iyong tukoy na mga pagtingin




Nakaraan: Arduino Frequency Meter Gamit ang 16 × 2 Display Susunod: LiFi Internet Transmitter Circuit - USB Signal Transfer sa pamamagitan ng LED