Viena kanāla osciloskopa izgatavošana, izmantojot Arduino

Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai





Šajā interesantajā ierakstā mēs izveidosim vienkāršu viena kanāla osciloskopu, izmantojot Arduino un personālo datoru, kur viļņu formas tiks demonstrētas datora displejā, un ieejas viļņu frekvence un laika periods tiks parādīts 16 x 2 displejā. .

Ievads

Katrs elektronikas entuziasts reiz teica: 'Man ir sapnis, kādu dienu es nopirkšu osciloskopu', taču daudziem joprojām ir sapnis par to, ka viņiem pieder pienācīgs osciloskops saviem projektiem un eksperimentiem.



Osciloskops ir dārgs aprīkojums pat sākuma līmeņa modelim. Mēs tos uzskatām par luksusa elektronikas rīku, un mēs varētu apturēt savus eksperimentus un projektus, jo mēs to nevaram atļauties.

Šis projekts daudziem varētu būt spēļu pārveidotājs, elektronikas entuziastiem nav nepieciešams tērēt daudz tonnu osciloskopam, lai izmērītu viļņa pamatparametrus.



Piedāvātajai idejai ir ļoti ierobežota funkcionalitāte, tāpēc negaidiet, ka funkcijas a augstas klases osciloskops būt klāt šajā projektā. No šī projekta mēs iegūstam trīs pamatfunkcijas:

1) viļņu formas vizuāls attēlojums datora ekrānā

2) ieejas viļņa frekvences mērīšana

3) Ievades viļņa laika perioda mērīšana mikrosekundēs.

Signāla frekvence un laika periods tiks parādīts 16 x 2 LCD displejā. Ir divas metodes viļņu formas vizuālai attēlošanai datora ekrānā, kas tiks aprakstītas raksta turpmākajā daļā.

Tagad ienirsim iestatīšanas tehniskajā daļā.

Piedāvātais iestatījums sastāv no arduino, kas ir smadzenes, kā parasti, no 16 x 2 LCD displeja, IC 7404, 10K potenciometra un datora, vēlams, no Windows mašīnas.

Arduino ir iestatīšanas pamats, un mums šim projektam jāizvēlas Arduino UNO vai Arduino mega vai Arduino nano, jo citiem modeļiem nav iebūvēta USB uz sērijas pārveidotāju, kas ir būtisks saziņai starp Arduino un datoru.

Ja izvēlamies citus arduino dēļu modeļus, mums ir nepieciešams ārējs USB uz sērijas pārveidotāju, kas varētu sarežģīt projektu.

LCD un Arduino savienojuma ilustrācija:

Viena kanāla osciloskopa LCD displejs

Iepriekš minētā shēma ir pašsaprotama. Mēs varam atrast līdzīgu saikni starp displeju un arduino arī citos LCD balstītos projektos.

10K potenciometru izmanto, lai noregulētu 16 x 2 LCD displeja kontrastu, kas lietotājam jāiestata optimālam skatam.

Viena kanāla osciloskops, izmantojot Arduino

IC 7404 funkcija ir novērst jebkādu trokšņa signālu no ieejas un ievadīt frekvences paraugu ņemšanas tapā A0. IC 7404 izvada tikai taisnstūrveida viļņus, kas ir liela priekšrocība arduino, jo arduino spēj vairāk apstrādāt digitālo signālu nekā analogos signālus.

Programma:

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

Kad esat pabeidzis aparatūras daļu un augšupielādējis iepriekš minēto kodu. Ir pienācis laiks uzzīmēt viļņu formu datora ekrānā. To var izdarīt divos veidos, vienkāršākais un slinkākais veids ir aprakstīts tālāk.

1. metode:

• Pievienojiet ievades vadu arduino tapai # 9 (testa režīms).
• Atveriet Arduino IDE (tai jābūt 1.6.6 vai jaunākai versijai)
• Atveriet cilni “tools” un atlasiet sērijveida ploteri

Tiklīdz sērijveida ploteris tiek atvērts, jūs varat redzēt taisnstūra viļņu, kas rodas no zemāk redzamā arduino tapas Nr. 9.

taisnstūrveida vilnis, kas rodas no arduino tapas Nr. 9

Nospiediet spiedpogu, lai parādītu rādījumus, kā arī LCD displeja rādījumu atsvaidzināšanai “testa režīmā” tam jāparāda aptuveni 490Hz.

Testa režīma shēma:

Pārbaudes režīms ir osciloskopa pareizas darbības pārbaude. Spraudnis # 9 ir ieprogrammēts, lai iegūtu 490Hz izvadi.

2. metode:

Šī metode ir samērā vienkārša, taču mums ir jālejupielādē programmatūra no norādītās saites: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Šī programmatūra ļaus mums nedaudz vairāk kontrolēt un funkcijas salīdzināt ar arduino sērijveida ploteri. Mēs varam tuvināt un tālināt ģenerēto viļņu formu, mēs varam iestatīt sprūda funkcionalitāti, kompensēt vertikālās un horizontālās ass kontroli utt.

• Lejupielādējiet programmatūru un izvelciet to.

• Tagad veiciet dubultklikšķi uz Serial Oscilloscope lietojumprogrammas.

arduino sērijveida ploteris

• Tiks parādīts logs, kā parādīts zemāk, un atlasiet datu pārraides ātrumu līdz 9600.

izvēlieties datu pārraides ātrumu līdz 9600.

• Tagad atlasiet cilni “Seriālais ports” un izvēlieties pareizo COM portu, kas var atšķirties no datora uz citu. Ja izvēlaties pareizo COM portu, jūs varat redzēt rādījumus, kā parādīts zemāk.

• Tagad atlasiet cilni “osciloskops” un atlasiet “1., 2. un 3. kanāls” (pirmā opcija).

Tagad atlasiet cilni “osciloskops” un atlasiet “1., 2. un 3. kanāls” (pirmā opcija). Viļņu forma no viena kanāla osciloskopa, izmantojot Arduino

• Jūs varat redzēt ģenerēto testa signālu no Arduino, kā parādīts zemāk.

Kā redzat, programmatūrā ir dažas vadības pogas, ar kurām jūs varat labāk analizēt viļņu formu.

PIEZĪME:

Piedāvātajai uzstādīšanai ir viens būtisks trūkums:

Arduino nevar vienlaicīgi rādīt ieejas viļņu formu datora ekrānā un frekvences / laika perioda rādījumus LCD displejā. Lai novērstu šo problēmu, LCD displejā ir paredzēta spiedpoga frekvences un laika perioda nolasīšanai / atsvaidzināšanai.

Kad jūs nospiedīsit pogu, LCD displejā tiks parādīta frekvence un laika periods, vienlaikus viļņa forma datora ekrānā sastings, ja vien jūs turpināsiet nospiest pogu.

Jūs to varat uzskatīt arī par priekšrocību, jo jebkurā brīdī varat apturēt frekvenci datora monitorā, un tas var dot laiku, lai analizētu parādīto viļņu formu.

Autora prototips:

Arduino osciloskopa shēmas attēla prototips

Ja jums ir kādi jautājumi par šo vienkāršo viena kanāla Arduino osciloskopa shēmu, lūdzu, nekautrējieties izmantot zemāk esošo komentāru lodziņu, lai izteiktu savus īpašos uzskatus




Pāri: Arduino frekvences mērītājs, izmantojot 16 × 2 displeju Nākamais: LiFi interneta raidītāja shēma - USB signāla pārsūtīšana caur LED