Skip to main content

Utilisation de l'Analog Discovery 2 pour déboguer différents contrôleurs de moteur

awong
0

Ce projet présente comment créer et exécuter un test automatisé écrit en C pour déboguer un contrôleur de moteur CC H-Bridge et un contrôleur de moteur pas-à-pas, à l'aide de l'analyseur logique Analog Discovery 2 de Digilent, d'un module E/S statique, d'un voltmètre et d'un générateur de signaux.

Digilent Analog Discovery 2

L'Analog Discovery 2 de Digilent (134-6480)  est un oscilloscope USB, un analyseur logique et un instrument multifonction qui permet aux utilisateurs de mesurer, visualiser, générer, enregistrer et contrôler des circuits à signaux mixtes de toutes sortes. Piloté par le logiciel gratuit WaveForms, l’Analog Discovery 2 peut être configuré afin de fonctionner comme l'un des nombreux instruments de test et de mesure traditionnels, y compris un oscilloscope, un générateur de formes d'onde, une alimentation électrique, un voltmètre, un enregistreur de données, un analyseur logique, un générateur de signaux, un module E/S statique, un analyseur de spectre, un analyseur de réseau, un analyseur d'impédance et analyseur de protocole.

WaveForms est l'application logicielle gratuite pour l'Analog Discovery 2 qui active tous les instruments de l'Analog Discovery 2, y compris l'oscilloscope, l'analyseur logique et le générateur de fonctions. Le WaveForms SDK (kit de développement logiciel) fournit des bibliothèques et des exemples pour écrire des applications personnalisées en C, Python et autres langages.

Nous voulons déboguer un pilote de moteur CC H-Bridge et un pilote pas-à-pas qui sont contrôlés par un Arduino UNO, en utilisant l'Analog Discovery 2. Deux potentiomètres sont utilisés pour régler la vitesse du moteur CC et la position du pas-à-pas. Un capteur à effet Hall envoie un signal d'interruption à la MCU après chaque demi-tour du moteur CC, et le sens de rotation est modifié. Nous lisons la tension sur les potentiomètres. Les deux moteurs doivent être testés en envoyant des signaux de contrôle numériques aux pilotes, tandis que la MCU est désactivée. Nous prenons ensuite la mesure après avoir activé la MCU.

Wiring setup

Créer une application de test automatisée

Nous créons d'abord le fichier d'en-tête (AD2_motor_debugger.h) pour déclarer et définir les fonctions suivantes. Nous incluons également une bibliothèque DWF (dwf.h) et d'autres bibliothèques C standard dans le fichier d'en-tête.

  1. 1. Initialiser l'Analog Discovery 2
    2. Réinitialiser les instruments de l'Analog Discovery 2
    3. Écrire une valeur dans des broches E/S numériques (pour le module E/S statique)
    4. Lire la tension à partir d'une entrée analogique (pour le voltmètre)
    5. Entraîner deux moteurs (pour le générateur de signaux)
    6. Enregistrer des signaux numériques (pour l'analyseur logique)
    7. Enregistrer les données dans un fichier .csv

Le fichier source principal (main.c), qui est un « wrapper », définit la structure du projet et deux scripts, l'un en Python et l'un dans MATLAB, sont destinés à l'affichage des données enregistrées.

Nous définissons les connexions et connectons l'Analog Discovery 2 au début du fichier source principal. Pour tester les pilotes de moteur, l'Arduino Uno doit être éteint en réglant sa broche RESET sur « bas ». Après cela, les tensions sur les potentiomètres peuvent être lues, et les fonctions de génération digital_write() et PWM peuvent être utilisées pour tester les deux moteurs à vitesses variables, dans les deux sens.

Pour enregistrer les signaux provenant de l'Arduino, il faut l'activer en réglant sa broche RESET sur « logique haut ». Nous allouons de la mémoire pour le nombre d'échantillons (data_size) et la taille du tampon (digital_data). Après l'acquisition, la perte/corruption de données doit être vérifiée.

Les résultats du test sont affichés dans la fenêtre de la console, accompagnés de messages relatifs à l'opération en cours.

Visualiser les données dans MATLAB ou Python

Les données peuvent être exportées dans un fichier et visualisées en exécutant le script MATLAB plotting.m ou le programme Python plotting.py.

Visualize the data in MATLAB or Python - Graph 1

Visualize the data in MATLAB or Python - Graph 2

Veuillez consulter le guide complet et téléchargez tous les fichiers sources sur la Page de référence de Digilent.

Love learn engineering in hands-on approach. Interested in new technology. Work in Digilent as International Sales and Distribution Manager.

Contenu Connexe

Commentaires

DesignSpark Electrical Logolinkedin