
Beaucoup de ceux qui ont découvert le monde de l'électronique pensent probablement tôt ou tard à la façon de créer une sorte de leur propre robot, ou simplement des modèles d'automatisation domestique ou radiocommandés. Mais si tout était plus ou moins clair avec la mécanique, alors le développement d'un programme pour contrôler un tel appareil, dans lequel un grand nombre de servos devraient fonctionner ensemble, a causé pas mal de difficultés. Le complexe matériel-logiciel ServoStudio 12 vous permettra simplement de contrôler un tel appareil, de contrôler 12 servos en même temps et de créer des séquences de mouvement à l'aide de l'éditeur visuel. De plus, ce complexe deviendra un outil pratique pour déboguer la mécanique de l'appareil et créer votre propre programme.
Si nécessaire, la séquence de mouvements créée peut être exportée sous forme d'esquisse Arduino IDE, pour un fonctionnement autonome, sans PC. Ou simplement comme un tableau de valeurs de points clés pour une utilisation ultérieure dans votre programme. ServoStudio 12 a une interface intuitive et même un débutant peut le découvrir. Et l'utilisation de la carte Arduino en tant que dispositif de contrôle exécutif a rendu ce système facilement accessible en répétition et en fabrication.
Un peu d'histoire. Inspiré par l'idée de créer un servo-testeur pratique
de Sergey Grishchenko , j'ai décidé de créer mon propre système, qui serait facile à utiliser et à la fois pratique et fonctionnel. Contrairement au testeur de servo ci-dessus, le logiciel ServoStudio 12 est responsable de tout le contrôle sur un ordinateur personnel, et la carte Arduino prend en charge jusqu'à 12 servos simultanément. Le matériel est une carte Arduino Nano ou Arduino Uno très répandue. En outre, ce logiciel contient le travail avec le servo-testeur ci-dessus.
Initialement, j'avais prévu de créer un petit programme dans lequel la séquence de valeurs du signal de commande des servos serait reproduite, mais au cours du développement, j'ai eu de nouvelles idées, et un programme simple est devenu une unité de commande à part entière pour la mécanique du robot, avec la possibilité de régler la vitesse des mouvements et de jouer des mouvements à l'aide de chaud clés.
Servo - contrairement au moteur collecteur, vous permet de faire une rotation à un certain angle. L'angle de rotation est défini par la largeur d'impulsion du signal de commande. La largeur de ces impulsions peut varier entre 800 et 2300 μs.
Pour commencer, nous avons besoin des éléments suivants:Le schéma de connexion est très simple. Les broches D2-D13 sont connectées aux entrées de commande des servos. L'alimentation est connectée aux broches d'alimentation Arduino.
Avec une grande consommation de courant par les servos, il est nécessaire de connecter une source d'alimentation externe.
Tout d'abord, dans le menu du programme ServoStudio 12, vous devez sélectionner l'élément "Code Generator" et le sous-élément "Create a ServoStudio HardWare sketch", enregistrer cette esquisse sur le disque et l'ouvrir dans Arduino IDE et la remplir en Arduino Nano / Uno. Tout, le matériel est prêt! Cette action n'est effectuée qu'une seule fois, avec la nouvelle carte Arduino.
Pour commencer, vous devez créer un nouveau projet (menu Fichier / Nouveau). Dans la boîte de dialogue, sélectionnez le nombre requis de canaux PWM (nombre de servos), sélectionnez le type de carte de testeur et écrivez le nom de votre appareil (pour plus de commodité).
Maintenant sur l'interface du programme
En bas se trouvent des outils pour créer une séquence de points clés. En déplaçant les curseurs des contrôleurs pour les canaux correspondants, la valeur de la largeur d'impulsion du signal de commande (l'angle de rotation du servo variateur) sur le canal correspondant est définie. Si vous cochez la case "contrôle en temps réel", lorsque vous déplacez le curseur du contrôleur, le servo variateur connecté à ce canal se déplace, ce qui est très pratique, car la position du variateur à ce stade est immédiatement visible. Une fois le signal de contrôle réglé sur tous les canaux nécessaires, vous devez créer la «trame» suivante (le prochain point clé) à l'aide du bouton «Ajouter». Et de la même manière, avec l'aide des régulateurs, créez un nouveau point clé, et autant que nécessaire. Le temps pendant lequel les servos doivent tourner à un angle donné est réglé séparément pour chaque image, dans le champ "temps de pas", le temps est réglé en millisecondes. Plus la valeur donnée est grande, plus le mouvement sera lent, plus petit sera le plus rapide. Le champ d'étape affiche l'image actuelle de la séquence. Si nécessaire, en modifiant le numéro d'étape dans ce champ, vous pouvez modifier les étapes précédentes. Pour plus de commodité, les noms des canaux peuvent être modifiés en double-cliquant sur le nom du canal à gauche du bouton.
Dans la partie supérieure, sur le graphique, le changement de la largeur du signal de commande des servos est affiché visuellement.
Et quand une sorte de mouvement fini est créé (par exemple, un pas en avant), vous pouvez enregistrer la séquence actuelle en tant que séquence terminée séparée en cliquant sur le bouton "ajouter" dans le panneau "Séquences", sur le côté droit de la fenêtre du programme. Par exemple, vous pouvez créer plusieurs séquences pour avancer, reculer, gauche, droite, etc. Et ces séquences peuvent être jouées indépendamment les unes des autres, en double-cliquant sur la souris, ou depuis le menu contextuel, ainsi que depuis la fenêtre «télécommande» (mais plus à ce sujet plus tard). Ainsi, en reproduisant ces séquences, l'appareil (robot) est contrôlé. Vous pouvez également ajouter des séquences enregistrées à la séquence principale, créant ainsi une grande séquence d'actions. Cela peut être très utile pour démontrer le fonctionnement de l'appareil.
De plus, la séquence principale (qui est actuellement ouverte dans l'éditeur) peut être exportée sous forme de croquis pour l'IDE Arduino, pour une lecture hors ligne par la carte Arduino, sans PC. Pour ce faire, sélectionnez l'élément "Exporter la séquence" dans le menu "Générateur de code" et cliquez sur le bouton "Générer" dans la boîte de dialogue, après quoi cette esquisse peut être copiée dans le presse-papiers ou enregistrée en tant qu'esquisse pour l'IDE Arduino. De plus, ce croquis peut être rempli de la manière habituelle dans le contrôleur de la carte Arduino.

Il est possible de lire cette séquence de manière cyclique ou une seule fois, en cochant ou décochant la case «répéter dans les cycles». Il est également possible d'exporter des points clés vers un tableau, cela peut être utile si vous avez déjà votre propre programme pour le microcontrôleur et que vous devez y définir des mouvements, et éventuellement vous pouvez ajouter des valeurs de temps de réglage de position au tableau en définissant le drapeau correspondant. Si, après avoir flashé ce croquis, la carte Arduino doit être utilisée à nouveau avec le programme ServoStudio 12, puis sélectionnez à nouveau l'élément "Code Generator" et le sous-élément "Create ServoStudio HardWare Sketch" dans le menu, enregistrez ce croquis sur le disque et ouvrez-le dans l'IDE Arduino et téléchargez-le sur Arduino Nano / Uno.
Fenêtre "panneau de commande"
Vous permet d'utiliser des touches de raccourci pour lire des séquences individuelles. Vous devez d'abord cliquer sur le bouton "Attribuer des clés", sélectionner la séquence souhaitée dans la liste déroulante et lui attribuer un raccourci clavier. Lorsque tout est installé, vous devez cliquer sur le bouton "Remember". Maintenant, alors que cette fenêtre est ouverte, appuyez sur la touche de raccourci pour lire la séquence qui lui est affectée.
L'élément de menu "Position de départ" n'est pas sans importance - c'est la position des servos lorsqu'ils sont allumés, ou simplement la "position normale" pour l'angle de rotation des servos. En d'autres termes, si vous ne souhaitez pas que votre robot s'incline lorsqu'il est allumé, utilisez les régulateurs pour sélectionner la position optimale pour celui-ci et sélectionnez l'élément de menu "Enregistrer la trame actuelle dans l'Arduino EEPROM comme position de départ", cette fonction n'est disponible que pour les cartes Arduino. Il y a aussi des points «Ecrire la trame actuelle comme position de départ» et «Insérer la position de départ dans la trame actuelle», ce sera très utile si vous avez besoin de démarrer une nouvelle séquence et le point de départ. La position initiale est enregistrée dans le fichier de projet et est disponible à l'ouverture du fichier, il n'est donc pas nécessaire de la resélectionner.

Le programme a également la possibilité d'associer des fichiers de projet à ServoStudio 12. Pour ce faire, vous devez l'exécuter 1 fois avec les droits d'administrateur. ServoStudio 12 est complètement portable, se compose d'un fichier (lorsque vous fermez le programme, le fichier du dernier projet ouvert est toujours créé) et ne nécessite pas d'installation.
Plus de détails sur le travail peuvent être vus dans la vidéo.
Lien de téléchargement du logiciel ServoStudio 12Un peu sur les plans pour l'avenir:
- Je veux créer une application Android qui pourrait ouvrir le fichier projet et utiliser le téléphone pour contrôler le robot. Gérez via BlueTooth ou WiFi via un adaptateur TCP-UART.
- Je veux également créer une version pour un plus grand nombre de canaux pour gérer des appareils plus complexes.
- Ajoutez le traitement du signal des capteurs connectés (par exemple, s'il y a un obstacle devant, contournez-le).
- Ajoutez la possibilité de contrôler les sorties numériques (par exemple, pour allumer les LED ou autre chose)
Mais si ces plans resteront uniquement des plans ou seront publiés dans la prochaine version du programme, cela dépend de l'intérêt pour ce complexe.