Realizzazione di un oscilloscopio a canale singolo utilizzando Arduino

Prova Il Nostro Strumento Per Eliminare I Problemi





In questo interessante post, realizzeremo un semplice oscilloscopio a canale singolo utilizzando Arduino e un personal computer, in cui le forme d'onda verranno mostrate sul display del PC e la frequenza e il periodo di tempo delle onde in ingresso verranno visualizzati sul display 16 x 2 .

introduzione

Ogni appassionato di elettronica una volta ha detto 'Ho un sogno, un giorno acquisterò un oscilloscopio' ma è ancora il sogno di molti possedere un oscilloscopio decente per i loro progetti ed esperimenti.



Essendo l'oscilloscopio un'apparecchiatura costosa anche per un modello entry level, lo consideriamo uno strumento elettronico di lusso e potremmo sospendere i nostri esperimenti e progetti perché non possiamo permettercelo.

Questo progetto potrebbe essere un punto di svolta per molti appassionati di elettronica che non hanno bisogno di spendere un sacco di soldi per un oscilloscopio per misurare i parametri di base di un'onda.



L'idea proposta ha funzionalità molto limitate, quindi non aspettarti le funzionalità su un file oscilloscopio di fascia alta essere presenti in questo progetto. Otteniamo tre solide funzionalità da questo progetto:

1) rappresentazione visiva della forma d'onda sullo schermo del computer

2) misura della frequenza dell'onda in ingresso

3) Misura del periodo di tempo dell'onda in ingresso in microsecondi.

La frequenza e il periodo di tempo del segnale verranno visualizzati sul display LCD 16 x 2. Esistono due metodi per rappresentare visivamente la forma d'onda sullo schermo del computer che verranno descritti nella parte successiva dell'articolo.

Ora passiamo alla parte tecnica della configurazione.

Il setup proposto consiste in arduino che è il cervello del nostro progetto come al solito, un display LCD 16 x 2, IC 7404, potenziometro 10K e un computer preferibilmente una macchina Windows.

Arduino è il cervello del setup e dobbiamo scegliere Arduino UNO o Arduino mega o Arduino nano per questo progetto poiché altri modelli non hanno un convertitore da USB a seriale integrato, essenziale per la comunicazione tra Arduino e il computer.

Se scegliamo altri modelli di scheda arduino abbiamo bisogno di un convertitore esterno da USB a seriale che potrebbe complicare il progetto.

Illustrazione della connessione da LCD ad Arduino:

Display LCD per oscilloscopio a canale singolo

Il circuito sopra è autoesplicativo. Possiamo trovare una connessione simile tra il display e arduino su altri progetti basati su LCD.

Il potenziometro 10K viene utilizzato per regolare il contrasto del display LCD 16 x 2 che deve essere impostato dall'utente per una visualizzazione ottimale.

Oscilloscopio a canale singolo utilizzando Arduino

La funzione dell'IC 7404 è quella di eliminare qualsiasi segnale di rumore dall'ingresso e alimentato al pin di campionamento della frequenza A0. L'IC 7404 emette solo onde rettangolari, il che è un grande vantaggio per arduino, poiché arduino è più in grado di elaborare il segnale digitale rispetto ai segnali analogici.

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

Una volta completata la parte hardware e caricato il codice sopra. È ora di tracciare la forma d'onda sullo schermo del computer. Questo può essere fatto in due modi, il modo più semplice e più pigro è descritto di seguito.

Metodo 1:

• Collega il cavo di ingresso al pin # 9 di arduino (modalità Test).
• Apri l'IDE di Arduino (deve essere 1.6.6 o versioni successive)
• Vai alla scheda 'strumenti' e seleziona plotter seriale

Non appena il plotter seriale si apre puoi vedere l'onda rettangolare che viene generata dal pin n.9 di arduino, illustrata di seguito.

onda rettangolare generata dal pin n. 9 di arduino

Premere il pulsante per visualizzare le letture e anche per aggiornare le letture il display LCD, deve mostrare circa 490Hz in 'modalità test'.

Schema della modalità di test:

La modalità test serve per verificare il corretto funzionamento dell'oscilloscopio. Il pin # 9 è programmato per fornire un'uscita a 490Hz.

Metodo 2:

Questo metodo è relativamente semplice, ma dobbiamo scaricare il software dal link indicato: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Questo software ci darà un po 'più di controllo e funzionalità rispetto al plotter seriale di Arduino. Possiamo ingrandire e rimpicciolire la forma d'onda generata, impostare la funzionalità di trigger, il controllo dell'offset sull'asse verticale e orizzontale, ecc.

• Scarica il software ed estrailo.

• Fare doppio clic sull'applicazione Oscilloscopio seriale.

il plotter seriale di arduino

• Verrà visualizzata una finestra come illustrato di seguito e selezionare la velocità di trasmissione a 9600.

selezionare la velocità di trasmissione su 9600.

• Ora seleziona la scheda 'Porta seriale' e seleziona la porta COM corretta che può variare da computer a computer. Se si seleziona la porta COM corretta, è possibile visualizzare le letture come illustrato di seguito.

• Ora seleziona la scheda 'oscilloscopio' e seleziona 'canali 1, 2 e 3' (prima opzione).

Ora seleziona la scheda Forma d

• È possibile vedere il segnale di test generato da Arduino come illustrato di seguito.

Come puoi vedere ci sono alcuni pulsanti di controllo sul software con cui puoi analizzare meglio la forma d'onda.

NOTA:

La configurazione proposta presenta uno dei principali svantaggi:

Arduino non può mostrare la forma d'onda in ingresso sullo schermo del computer e la lettura della frequenza / periodo di tempo sul display LCD contemporaneamente. Per ovviare a questo problema, viene fornito un pulsante per leggere / aggiornare la frequenza e il periodo di tempo sul display LCD.

Una volta premuto il pulsante, la frequenza e il periodo di tempo verranno visualizzati sul display LCD e allo stesso tempo la forma d'onda si bloccherà sullo schermo del computer fintanto che si tiene premuto il pulsante.

Puoi anche considerare questo come un vantaggio poiché puoi interrompere la frequenza sul monitor del computer in qualsiasi istante e questo potrebbe darti il ​​tempo di analizzare la forma d'onda visualizzata.

Prototipo dell'autore:

Immagine prototipo per circuito oscilloscopio Arduino

Se hai ulteriori domande su questo semplice circuito dell'oscilloscopio Arduino a canale singolo, non esitare a utilizzare la casella dei commenti qui sotto per esprimere le tue opinioni specifiche




Precedente: Misuratore di frequenza Arduino con display 16 × 2 Avanti: Circuito trasmettitore Internet LiFi - Trasferimento del segnale USB tramite LED