Création d'un oscilloscope à canal unique à l'aide d'Arduino

Essayez Notre Instrument Pour Éliminer Les Problèmes





Dans cet article intéressant, nous allons créer un simple oscilloscope à canal unique utilisant Arduino et un ordinateur personnel, où les formes d'onde seront présentées sur l'écran du PC et la fréquence et la période de temps des ondes d'entrée seront affichées sur l'écran 16 x 2. .

introduction

Tous les passionnés d'électronique ont dit un jour: «J'ai un rêve, un jour j'achèterai un oscilloscope», mais beaucoup rêvent toujours de posséder un oscilloscope décent pour leurs projets et expériences.



L’oscilloscope étant un équipement coûteux, même pour un modèle d’entrée de gamme, nous les considérons comme un outil électronique de luxe et nous pourrions interrompre nos expériences et nos projets parce que nous n’en avons pas les moyens.

Ce projet pourrait changer la donne pour beaucoup, les amateurs d'électronique n'ayant pas besoin de dépenser des tonnes d'argent pour un oscilloscope afin de mesurer les paramètres de base d'une onde.



L'idée proposée a des fonctionnalités très limitées, alors ne vous attendez pas aux fonctionnalités d'un oscilloscope haut de gamme être présent dans ce projet. Nous obtenons trois fonctionnalités solides de ce projet:

1) représentation visuelle de la forme d'onde sur l'écran de l'ordinateur

2) mesure de fréquence de l'onde d'entrée

3) Mesure de la période de temps de l'onde d'entrée en microsecondes.

La fréquence et la période de temps du signal seront affichées sur un écran LCD 16 x 2. Il existe deux méthodes pour représenter visuellement la forme d'onde sur l'écran de l'ordinateur qui seront décrites dans une partie ultérieure de l'article.

Passons maintenant à la partie technique de la configuration.

La configuration proposée se compose d'arduino qui est le cerveau de notre projet comme d'habitude, un écran LCD 16 x 2, IC 7404, potentiomètre 10K et un ordinateur de préférence une machine Windows.

L'arduino est le cerveau de la configuration et nous devons choisir Arduino UNO ou Arduino mega ou Arduino nano pour ce projet, car les autres modèles ne disposent pas de convertisseur USB vers série intégré, ce qui est essentiel pour la communication entre Arduino et l'ordinateur.

Si nous choisissons d'autres modèles de carte arduino, nous avons besoin d'un convertisseur USB vers série externe, ce qui pourrait compliquer le projet.

Illustration de la connexion LCD à Arduino:

Écran LCD pour oscilloscope à canal unique

Le circuit ci-dessus est explicite. Nous pouvons trouver une connexion similaire entre l'écran et arduino sur d'autres projets LCD.

Le potentiomètre 10K est utilisé pour régler le contraste de l'écran LCD 16 x 2 qui doit être réglé par l'utilisateur pour une vue optimale.

Oscilloscope monocanal utilisant Arduino

La fonction de l'IC 7404 est d'éliminer tout signal de bruit de l'entrée et de le transmettre à la broche d'échantillonnage de fréquence A0. L'IC 7404 ne produit que des ondes rectangulaires, ce qui est un grand avantage pour arduino, car arduino est plus capable de traiter le signal numérique que les signaux analogiques.

Programme:

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

Une fois que vous avez terminé la partie matérielle et téléchargé le code ci-dessus. Il est temps de tracer la forme d’onde sur l’écran de l’ordinateur. Cela peut être fait de deux manières, la manière la plus simple et la plus paresseuse est décrite ci-dessous.

Méthode 1:

• Connectez le fil d'entrée à la broche n ° 9 de l'arduino (mode test).
• Ouvrez l'IDE Arduino (il doit s'agir de versions 1.6.6 ou supérieures)
• Allez dans l'onglet «outils» et sélectionnez le traceur série

Dès que le traceur série s'ouvre, vous pouvez voir l'onde rectangulaire qui est générée à partir de la broche n ° 9 d'Arduino, illustrée ci-dessous.

onde rectangulaire générée à partir de la broche n ° 9 d’arduino

Appuyez sur le bouton poussoir pour afficher les lectures et aussi pour rafraîchir les lectures sur l'écran LCD, il doit afficher environ 490Hz en «mode test».

Schéma du mode de test:

Le mode test consiste à vérifier le bon fonctionnement de l'oscilloscope. La broche n ° 9 est programmée pour donner une sortie à 490 Hz.

Méthode 2:

Cette méthode est relativement simple mais nous devons télécharger le logiciel à partir du lien indiqué: http://www.x-io.co.uk/downloads/Serial-Oscilloscope-v1.5.zip

Ce logiciel nous donnera un peu plus de contrôle et de fonctionnalités par rapport au traceur série d'arduino. Nous pouvons effectuer un zoom avant et arrière sur la forme d'onde générée, nous pouvons définir la fonctionnalité de déclenchement, le contrôle du décalage sur l'axe vertical et horizontal, etc.

• Téléchargez le logiciel et extrayez-le.

• Double-cliquez maintenant sur l'application Oscilloscope série.

traceur série d’arduino

• Une fenêtre apparaîtra comme illustré ci-dessous et sélectionnera la vitesse de transmission à 9600.

sélectionnez la vitesse de transmission à 9600.

• Sélectionnez maintenant l'onglet «Port série» et sélectionnez le bon port COM qui peut varier d'un ordinateur à l'autre. Si vous sélectionnez le bon port COM, vous pouvez voir les lectures comme illustré ci-dessous.

• Sélectionnez maintenant l'onglet «oscilloscope» et sélectionnez «canaux 1, 2 et 3» (première option).

Sélectionnez maintenant l Forme d

• Vous pouvez voir le signal de test généré par Arduino comme illustré ci-dessous.

Comme vous pouvez le voir, il y a quelques boutons de contrôle sur le logiciel qui vous permettent de mieux analyser la forme d'onde.

REMARQUE:

La configuration proposée présente un inconvénient majeur:

L'Arduino ne peut pas afficher la forme d'onde d'entrée sur l'écran de l'ordinateur et la lecture de la fréquence / période sur l'écran LCD simultanément. Pour résoudre ce problème, un bouton-poussoir est fourni pour lire / actualiser la fréquence et la période sur l'écran LCD.

Une fois que vous appuyez sur le bouton, la fréquence et la période de temps s'affichent sur l'écran LCD en même temps que la forme d'onde se fige sur l'écran de l'ordinateur tant que vous continuez d'appuyer sur le bouton-poussoir.

Vous pouvez également considérer cela comme un avantage car vous pouvez arrêter la fréquence sur l'écran de l'ordinateur à tout moment, ce qui peut vous donner le temps d'analyser la forme d'onde affichée.

Prototype de l'auteur:

Image prototype du circuit d

Si vous avez d'autres questions concernant ce simple circuit d'oscilloscope Arduino à canal unique, n'hésitez pas à utiliser la zone de commentaire ci-dessous pour exprimer vos vues spécifiques




Précédent: Fréquencemètre Arduino utilisant un écran 16 × 2 Un article: Circuit émetteur Internet LiFi - Transfert de signal USB via LED