Équipement & Sécurité

Publié le Jan 19, 2021

Écrire à l'auteur

Le  Tuesday, January 19, 2021

Générateur de vagues : commande par une tablette d'une cuve à vagues Nova-physics

Proposé par Olivier Boesch (Professeur de Physique Chimie et Informatique - Lycée Saint Éxupéry) et Ourida Smahi (Technicienne de Laboratoire - Lycée Saint Éxupéry). Relu et corrigé par Manon Barbé (Professeur de Physique Chimie - Lycée Saint Éxupéry). Suite à l’acquisition d’une cuve à vagues de Nova-Physics, nous avons souhaité améliorer la commande afin d’obtenir une meilleure ergonomie. La solution proposée s’articule autour d’un clone type “Arduino UNO” et d’une application pour tablette (ou téléphone) Android ou PC (sous Windows et Linux) qui pilote la cuve.

  • Cuve à vagues

     

    Vidéo de présentation

     

     

     

    Contexte et Problème rencontré

    Lors d’une commande récente, nous avons reçu la cuve à vagues de Nova-Physics. Après montage (c’est un kit), les premiers essais ont été concluants mais la commande de la cuve par un GBF s’est avérée peu ergonomique.

     

    Cuve à vagues

     

    En effet, lors de nos premiers essais, la commande de la cuve par l’intermédiaire d’un GBF ne donne pas satisfaction :

    • On ne peut commander la cuve qu’en continu, il est impossible d’effectuer une salve.
    • On doit effectuer un calcul de commande à chaque nouveau réglage. La fréquence de commande du moteur étant différente de celle de l’excitation réelle.

     

     

    Description de la solution technique

     

    Génération du signal de commande

     

    Le moteur de la cuve à vague est commandé par un signal carré d’amplitude 0-5v.

     

    Pour remplacer physiquement le signal du GBF, nous avons opté pour un microcontrôleur type “Arduino UNO” dont les caractéristiques électriques correspondent au signal voulu.
    Le microcontrôleur se comportera donc comme un générateur de signal carré que nous pourrons commander par une interface série.
    Il sera relié par son port USB à l’interface d’utilisation (ordinateur ou tablette).

     

    L’organisation du code du microcontrôleur est extrèmement simple.

    Capture2

     

    Trois instructions sont disponibles pour commander ce générateur:

     

    • S\n : (Stop) arrêter le générateur. La sortie est à 0V.
    • Cnn\n : (Continue) Générer un signal carré de nn Hz en continu. Ex: C6500\n génère un signal carré de fréquence 6500 Hz (jusqu’à l’envoi d’une autre commande).
    • Bpp,nn\n : (Burst) Générer une salve de pp impulsions à une fréquence de nn Hz. Ex: B654,3200\n génère une salve de 654 impulsions à la fréquence de 3200 Hz

     

    Le code du microcontrôleur est disponible ici: https://github.com/olivier-boesch/WaveGenerator/tree/main/arduino/wavegen_arduino

     

    La connexion électrique ne necessite pas de composants complémentaires.
    La sortie 10 et la borne GND de l’Arduino sont reliées à des fiches bananes femelles sécurisées.

     

     

    Le tout est embarqué dans un boitier.

     

     

    Relié par un câble coaxial de la banane vers le moteur de la cuve à vague.

     

     

     

    Interface graphique

     

    Un programme avec interface graphique a été développé en Python à l’aide de la bibliothèque Kivy pour commander aisement ce générateur.

     

     

    L’interface est quasiment identique entre les différentes versions.
    Elle permet de choisir le mode de fonctionnement (continu ou salves), de régler la fréquence des vagues, le nombre d’impulsions ainsi que la répétition des salves.

     

     

    Installation/configuration du matériel

     

    Programmation du microcontrôleur

     

    Matériel:

    • Un microcontrôleur type Arduino UNO (ou un clone)
    • Un peu de fil et de quoi souder
    • Deux bornes bananes sécurisées
    • Un boitier (acheté ou imprimé en 3D)

     

    Installation:

    • Charger le code Arduino dans l’Arduino UNO.
      Tutoriel d’aide : https://wiki.mchobby.be/index.php?title=Guide_démarrage_Arduino
    • Faire le branchement électrique: relier la borne noire à GND et la borne rouge au pin 10.
    • Placer le microcontrôleur dans son boitier.
    • Relier le microcontrôleur à la commande du moteur avec un câble banane-BNC.
    • Relier le microcontrôleur à l’ordinateur par un cable USB ou à une tablette avec le même câble et un adaptateur USBA/USB-micro ou USBA/USBC.

    adaptateur USB<->USB micro
    adaptateur USB<->USB C

     

     

    Installation/configuration du programme

    :warning: Pour que l’application démarre, le microcontrôleur doit être relié à l’ordinateur ou la tablette.

     

    Pour ordinateur (Windows et Linux) :

     

    Pour tablette et téléphone (Android uniquement !) :

     

     

    Considération de prix

     

    Pour un montage:

    • Un clone Arduino UNO de chez GoTronic : 11€.
    • Fiches bananes sécurisées (Amazon) : 13€ les 10 soit 2,60€.
    • Boitier pour Arduino (officiel, chez GoTronic) : 10€.

     

    Le dernier est imprimable en 3D pour un prix bien moindre. Ce modèle est un excellent point de départ : https://www.thingiverse.com/thing:1264391

     

     

    Note technique : fréquence du moteur/fréquence des vagues

     

    La documentation décrit que le moteur a besoin de 3200 impulsions pour faire un tour.
    Nous pouvons déjà en déduire la relation entre fréquence d’excitation fexfex du moteur et la fréquence des vagues fvaguesfvagues:

     Capture

     

    L’application se charge de convertir la fréquence des vagues demandée par l’utilisateur en fréquence d’excitation à fournir au moteur.

     

     

    Où trouver les applications et le code source?