Realització d’un oscil·loscopi d’un canal mitjançant Arduino

Proveu El Nostre Instrument Per Eliminar Problemes





En aquest interessant post, farem un simple oscil·loscopi d’un sol canal mitjançant Arduino i un ordinador personal, on es mostraran les formes d’ona a la pantalla del PC i la freqüència i el període de temps de les ones d’entrada es mostraran a la pantalla de 16 x 2 .

Introducció

Tots els aficionats a l'electrònica van dir una vegada: 'Tinc un somni, un dia compraré un oscil·loscopi', però, encara és el somni de molts tenir un oscil·loscopi decent per als seus projectes i experiments.



Com que l’oscil·loscopi és un equip car fins i tot per a un model d’entrada, els considerem com una eina electrònica de luxe i podríem aturar els nostres experiments i projectes perquè no ens ho podem permetre.

Aquest projecte podria ser un canvi de joc per a molts entusiastes de l'electrònica sense necessitat de gastar tones de diners en un oscil·loscopi per mesurar els paràmetres bàsics d'una ona.



La idea proposada té una funcionalitat molt limitada, de manera que no espereu les funcions de oscil·loscopi de gamma alta per estar present en aquest projecte. Aquest projecte obté tres funcionalitats sòlides:

1) representació visual de la forma d’ona a la pantalla de l’ordinador

2) mesura de freqüència de l'ona d'entrada

3) Mesura del període de temps de l’ona d’entrada en microsegons.

La freqüència i el període de temps del senyal es mostraran a la pantalla LCD de 16 x 2. Hi ha dos mètodes per representar visualment la forma d'ona a la pantalla de l'ordinador que es descriurà a la part posterior de l'article.

Ara aprofundim en la part tècnica de la configuració.

La configuració proposada consisteix en arduino que és el cervell del nostre projecte com de costum, una pantalla LCD de 16 x 2, IC 7404, potenciòmetre de 10K i un ordinador preferentment una màquina Windows.

L’arduino és el cervell de la configuració i hem de triar Arduino UNO o Arduino mega o Arduino nano per a aquest projecte, ja que altres models no tenen convertidor USB a sèrie incorporat, que és essencial per comunicar-se entre Arduino i l’ordinador.

Si escollim altres models de placa arduino, necessitarem un convertidor USB a sèrie extern que pot complicar el projecte.

Il·lustració de la connexió LCD a Arduino:

Pantalla LCD d

El circuit anterior s’explica per si mateix. Podem trobar connexions similars entre la pantalla i l’arduino en altres projectes basats en LCD.

El potenciòmetre de 10K s’utilitza per ajustar el contrast de la pantalla LCD de 16 x 2 que ha de configurar l’usuari per a una visualització òptima.

Oscil·loscopi monocanal que utilitza Arduino

La funció de l'IC 7404 és eliminar qualsevol senyal de soroll de l'entrada i alimentat al pin de mostreig de freqüència A0. L'IC 7404 només emet ones rectangulars, cosa que suposa un gran avantatge per a arduino, ja que arduino és més capaç de processar senyals digitals que els senyals analògics.

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

Un cop hàgiu completat la part de maquinari i hàgiu penjat el codi anterior. És hora de representar la forma d’ona a la pantalla de l’ordinador. Això es pot fer de dues maneres: la forma més senzilla i mandrosa es descriu a continuació.

Mètode 1:

• Connecteu el cable d’entrada al pin número 9 d’arduino (mode de prova).
• Obriu l'IDE d'Arduino (ha de ser la versió 1.6.6 o superior)
• Aneu a la pestanya 'Eines' i seleccioneu el traçador en sèrie

Tan bon punt s’obre el plotter en sèrie, podeu veure l’ona rectangular que es genera a partir del pin núm. 9 d’Arduino, que es mostra a continuació.

ona rectangular que es genera a partir del pin número 9 d’Arduino

Premeu el botó per mostrar les lectures i també per actualitzar les lectures de la pantalla LCD, ha de mostrar al voltant de 490Hz en el 'mode de prova'.

Esquema del mode de prova:

El mode de prova consisteix a comprovar el bon funcionament de l’oscil·loscopi. El pin # 9 està programat per donar una sortida de 490Hz.

Mètode 2:

Aquest mètode és relativament senzill, però hem de descarregar programari des de l'enllaç indicat: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Aquest programari ens donarà poc més control i les seves funcions es compararan amb el traçador serial d’Arduino. Podem ampliar i reduir la forma d’ona generada, podem configurar la funcionalitat d’activació, compensar el control sobre l’eix vertical i horitzontal, etc.

• Descarregueu el programari i extraieu-lo.

• Feu doble clic a l'aplicació Oscil·loscopi sèrie.

plotter en sèrie d’arduino

• Apareixerà una finestra tal com es mostra a continuació i selecciona la velocitat de transmissió fins a 9600.

seleccioneu la velocitat en bauds fins a 9600.

• Ara seleccioneu la pestanya 'Port sèrie' i seleccioneu el port COM adequat que pot variar d'ordinador a ordinador. Si seleccioneu el port COM correcte, podeu veure les lectures tal com es mostra a continuació.

• Ara seleccioneu la pestanya 'oscil·loscopi' i seleccioneu 'canals 1, 2 i 3' (primera opció).

Ara seleccioneu la pestanya Forma d

• Podeu veure el senyal de prova generat des d’Arduino tal com es mostra a continuació.

Com podeu veure, hi ha alguns botons de control al programari mitjançant els quals podeu analitzar millor la forma d'ona.

NOTA:

La configuració proposada té un desavantatge important:

L'Arduino no pot mostrar la forma d'ona d'entrada a la pantalla de l'ordinador ni la lectura de la freqüència / període de temps a la pantalla LCD simultàniament. Per solucionar aquest problema, es proporciona un polsador per llegir / actualitzar la freqüència i el període de temps a la pantalla LCD.

Un cop premeu el botó, es mostrarà la freqüència i el període de temps a la pantalla LCD al mateix temps que la forma d'ona es congelarà a la pantalla de l'ordinador sempre que mantingueu premut el botó.

També podeu considerar-ho com un avantatge, ja que podeu aturar la freqüència del monitor de l'ordinador en qualsevol moment i això us pot donar temps per analitzar la forma d'ona visualitzada.

Prototip de l'autor:

Imatge del prototip per al circuit oscil·loscopi Arduino

Si teniu més preguntes sobre aquest senzill circuit d'oscil·loscopi Arduino d'un sol canal, no dubteu a utilitzar el quadre de comentaris següent per expressar les vostres opinions específiques.




Anterior: mesurador de freqüència Arduino amb pantalla de 16 × 2 Següent: Circuit transmissor d'Internet LiFi: transferència de senyal USB mitjançant LED