Table des matières:

Arduino-Oscilloscope : Pourquoi ça marche : 4 étapes
Arduino-Oscilloscope : Pourquoi ça marche : 4 étapes

Vidéo: Arduino-Oscilloscope : Pourquoi ça marche : 4 étapes

Vidéo: Arduino-Oscilloscope : Pourquoi ça marche : 4 étapes
Vidéo: Smartscope, un labo électronique pas cher pour apprendre, l'oscilloscope 2024, Novembre
Anonim
Image
Image

Il y a quelques années, alors que je me lançais dans l'électronique et que j'étudiais les principes de base. J'ai trouvé qu'une portée est l'outil qui vous aide dans presque tout. Maintenant que j'ai compris cela, je me suis mis à apprendre les principes de base du fonctionnement d'un oscilloscope, au bout de quelques mois, je me suis dit, eh bien un oscilloscope est implémentable sur un micro-contrôleur si je me mets dans un point d'apprentissage de perspective. Pourquoi un microcontrôleur, parce qu'il avait tout ce qu'il fallait pour en construire un, comme un ADC pour recevoir un signal (mais sans aucun contrôle frontal), il avait des ports GPIO qui pouvaient être utilisés à de nombreuses fins, il a un processeur quoique doux ! (je pensais à un arduino).

J'ai commencé par faire des recherches sur les oscilloscopes arduino qui étaient bons et très bons, mais j'aurais aimé un code plus simple, facile à modifier et à comprendre. Au moment où je cherchais, je suis tombé sur la base du code actuel sur les forums arduino de 'vaupell'. J'ai commencé à le modifier et à le commenter et à nettoyer le contenu pour le rendre plus lisible. Le code original est de Noriaki Mitsunaga.

Voyons donc comment configurer le matériel et les logiciels et comment les utiliser.

Je n'ai pas encore commencé à écrire l'explication du code sur le wiki GitHub. si vous avez un peu de temps à perdre, jetez un coup d'œil.

! - Ce projet ne détaille pas comment fabriquer un oscilloscope, il vous montre plutôt comment utiliser un simple microcontrôleur pour émuler le comportement d'un oscilloscope du monde réel afin de comprendre comment fonctionne un oscilloscope.

Étape 1: Connaître votre matériel

Connaître votre matériel
Connaître votre matériel

L'objectif de ce projet est de donner un aperçu du fonctionnement d'un scope. Pour cette raison, j'ai choisi la plate-forme matérielle la plus simple et la plus populaire arduino. Le code est exécutable sur un arduino uno ou un arduino mega, où ce dernier est préféré car il a plus de broches libres et accessibles lorsqu'un écran est installé dessus.

Donc, dans ce projet, j'utiliserai un méga arduino (2560).

Le composant suivant est l'affichage. Cette configuration utilise un écran tactile arduino TFT 2,5 pouces (l'identifiant du pilote est 0x9341). Cela donne la possibilité d'afficher plusieurs canaux sur l'écran qui se distinguent les uns des autres.

C'est tout ce qu'on peut en dire. Cependant !, cette portée est très limitée dans ses capacités, alors ne la poussez pas à bout. Certaines choses spécifiques dont il faut se soucier sont;

l'arduino ADC ne peut pas très bien gérer les tensions supérieures à 5 volts et il ne peut pas non plus bien gérer les tensions inférieures à 0 volts. Pourquoi, parce qu'il est conçu ainsi.

l'acquisition de données à partir de plusieurs canaux réduit simultanément le taux d'échantillonnage effectif d'un seul canal car les échantillons sont prélevés alternativement sur les multiples canaux.

le taux d'échantillonnage est très faible (pour une acquisition à un seul canal, il peut aller jusqu'à 10 kSps, mais avec deux canaux, il tombe à 5 kSps/canal). Cela peut être atténué en réglant la fréquence de référence ADC (réglage du préscalaire) sur une valeur inférieure. Cependant, cela a ses propres problèmes de mauvaise résolution.

N'oubliez pas non plus un ordinateur pour télécharger le code sur l'arduino.

Étape 2: configuration

Installer
Installer
Installer
Installer

La configuration est très simple;

Fixez le blindage d'écran à l'Arduino Mega de sorte que les broches d'alimentation des deux cartes s'alignent.

connectez la carte à l'ordinateur à l'aide d'un câble USB.

Ouvrez l'IDE arduino et ajoutez la bibliothèque d'affichage TFT SPFD5408 (0x9341), si elle n'est pas déjà présente.

Téléchargez maintenant le fichier de code de github vers l'Arduino.

GitHub - Arduino-Oscilloscope

Voilà!. Vous pouvez bricoler le code en réglant les canaux 8 (ch0) et 15 (ch1) sur ON ou OFF dans la section de configuration du canal de code. Vous pouvez remplacer la variable de taux par une valeur du tableau de taux pour définir l'heure/la division de l'étendue. Vous pouvez définir le type de déclencheur sur auto ou single dans la section déclencheur du code.

L'étape suivante montre un accéléromètre 3 axes ADXL335 alimenté et lu par l'Arduino-Oscilloscope, comme on le voit dans la première vidéo.

Étape 3: Exemple - ADXL335 Lecture de l'accéléromètre

Exemple - ADXL335 Lecture de l'accéléromètre
Exemple - ADXL335 Lecture de l'accéléromètre
Exemple - ADXL335 Lecture de l'accéléromètre
Exemple - ADXL335 Lecture de l'accéléromètre
Exemple - ADXL335 Lecture de l'accéléromètre
Exemple - ADXL335 Lecture de l'accéléromètre

Alimentez le module accéléromètre à partir du 5V DC et du GND de la carte arduino à l'extrême droite en haut et en bas. Connectez maintenant la broche x-out du module adxl335 à la broche A8 de la carte arduino comme on peut le voir sur les images. si l'axe x de l'accéléromètre est pointé vers le bas, la ligne de données sur l'écran de l'oscilloscope sera décalée de zéro puisque le module adxl lira l'accélération due à la gravité. essayez de le secouer dans la direction x comme indiqué sur le tableau adxl, les pointes apparaîtront à l'écran.

Pour en savoir plus sur la portée et son fonctionnement, consultez le Wiki GitHub

Étape 4: Contribuer ?

Si vous souhaitez contribuer à la documentation du wiki, vous êtes plus que bienvenu. L'oscilloscope est un équipement fantastique et je pense que c'est un bon outil STEM !.

Je travaille actuellement sur un petit frontal avec un PGA factice et un contrôle de décalage et j'ajouterais un contrôle pour le temps/div et peut-être la lecture de signaux alternatifs basse tension.

Conseillé: