Testeur de servomoteurs bluetooth
13 novembre 2016

Ce système électronique peut également servir de base de travail pour prototyper un système robotique par exemple.
Le circuit électronique
Un microcontrôleur PIC18F25K22 contrôle les servomoteurs et communique avec l'interface utilisateur avec son port UART à travers un module bluetooth HC-05. Les ports non utilisés du PIC18 sont accessibles à travers des connecteurs pour avoir la possibilité d'étendre les fonctionnalités de la carte si besoin.La carte peut être alimentée par une alimentation de 7V à 23V (un bloc secteur de 12V par exemple). Un régulateur de tension à découpage MP2307 abaisse cette tension à 6V pour alimenter les servomoteurs.
Il est également possible au moyen d'un jumper de court-circuiter le régulateur et d'alimenter directement les servomoteurs avec une tension adéquate (une batterie de 6V par exemple). Cela devient impératif si la consommation totale des servomoteurs dépasse les 3A en continu (maximum du MP2307).
Le microcontrôleur est alimenté en 5V avec un régulateur linéaire MAX603.
Fabrication du PCB
Le PCB a été conçu sur Altium Designer et fabriqué par gravure anglaise sur une commande numérique.Les différentes étapes de la fabrication sont illustrées ci-dessous :
Le module MP2307 est souvent vendu avec un réglage de tension de sortie de 3.3V (appellation KIS3R33S). Or les servomoteurs ont besoin d'une tension d'environ 6V.

En remplaçant R2 par une résistance de 4.7kΩ, on obtient une tension de sortie de 5.94V.
Il faut également déssouder du module la diode et le condensateur de sortie car ils sont adaptés à l'ancienne tension de 3.3V.
Le boitier
Le boitier encapsulant l'électronique est imprimé en 3D. Le haut du boitier se glisse dans la partie basse pour se refermer.Les fichiers STL pour l'impression 3D peuvent être téléchargés ici.
L'interface PC
Le programme de contrôle est écrit en C++ avec le framework Qt.
Le code de l'interface peut être téléchargé ici.
Le programme du microcontrôleur
Le programme du PIC18F est codé en C. Il utilise la librairie Microchip C18.Les données de contrôle sont reçues grâce à une interruption sur le port UART. Les signaux des servomoteurs sont générés dans la boucle principale à l'aide d'un timer de période 1us.
Le code peut être téléchargé ici.
Configuration du module bluetooth HC-05

Pour entrer en mode configuration, il faut que le module ait la pin « Key » ou « EN » (suivant les versions) connecté au 3.3V à son démarrage.
Suivant les modules, le baud rate du mode AT est de 9600 bauds ou de 38400 bauds. Si vous utilisez TeraTerm pour communiquer avec le module, il faut le configurer pour envoyer un '\n' lors de l'appuie sur <Entrée> : Setup > Terminal setup > Transmit = CR+LF .
Pour tester la connexion, la commande "AT<Entrée>" doit renvoyer le message OK. Dans le cas contraire, il peut être nécessaire de redémarrer le module. Un bouton est souvent présent à cet effet.
Une fois connecté en mode AT trois commandes permettent de configurer le module :
AT+PSWD=4141 AT+NAME=TesteurServos AT+UART=115200,0,0Ces commandes définissent respectivement le code pin, le nom et la configuration UART du module. La configuration UART définie ici est valable seulement pour la communication standard (la baudrate du mode de configuration AT reste identique).
Pour chaque commande, le module doit répondre OK.