Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Guide de connexion Pi Servo Hat

Introduction

Le SparkFun Pi Servo Hat permet à votre Raspberry Pi de contrôler jusqu'à 16 servomoteurs via une connexion I2C. Cela économise le GPIO et vous permet d'utiliser le GPIO intégré à d'autres fins. De plus, le Pi Servo Shield ajoute une connexion de terminal série qui vous permettra de faire apparaître un Raspberry Pi sans avoir à le connecter à un moniteur et à un clavier.

Matériel requis

Voici ce que vous devez suivre avec ce tutoriel. Nous vous suggérons d'acheter une carte microSD vierge plutôt qu'une carte compatible NOOBS, car les cartes compatibles NOOBS peuvent ne pas avoir un système d'exploitation suffisamment nouveau pour prendre en charge le Pi Zero W.



De plus, vous aurez besoin d'une sorte de servomoteur pour tester la configuration. Essayez d'abord de tester les exemples fournis plus loin dans le didacticiel avec le servomoteur sub-micro générique.


Outils requis

Aucun outil spécial n'est requis pour suivre cet assemblage de produit. Vous aurez besoin d'un fer à souder, de soudures et d'accessoires de soudure généraux.


Présentation du matériel

Il n'y a que quelques éléments intéressants sur le tableau, car il s'agit d'un chapeau conçu pour être le moins difficile à utiliser.

Connecteur USB Micro B – Ce connecteur peut être utilisé pour alimenter uniquement les servomoteurs, ou pour alimenter les servomoteurs ainsi que le Pi qui est connecté au chapeau. Il peut également être utilisé pour se connecter au Pi via une connexion par port série pour éviter d'avoir à utiliser un moniteur et un clavier pour configurer le Pi.

Cavalier d'isolement de l'alimentation – Ce cavalier peut être effacé (il est fermé par défaut) pour isoler le rail d'alimentation servo du rail d'alimentation Pi 5V. Pourquoi voudriez-vous faire ça ? S'il y a plusieurs servos, ou de gros servos avec une forte charge sur eux, le bruit créé sur le rail d'alimentation par les servomoteurs peut provoquer un fonctionnement indésirable dans le Pi, jusqu'à une réinitialisation ou un arrêt complet. Notez que tant que le Pi est alimenté, l'interface série fonctionnera toujours quel que soit l'état de ce cavalier.

En-têtes des broches du servomoteur – Ces embases sont espacées pour faciliter la fixation des servomoteurs dessus. Ils sont épinglés dans le bon ordre pour la plupart des connecteurs de servomoteurs de type hobby.

Assemblage du matériel

Nous vous suggérons de souder les connecteurs mâles sur le Pi Zero W.

Mon astuce préférée pour ce type de situation consiste à souder une broche, puis à faire fondre la soudure sur cette broche avec le fer tenu dans ma main droite et à utiliser ma main gauche pour ajuster l'en-tête jusqu'à ce qu'il soit à plat, comme indiqué ci-dessous. Assurez-vous que vous soudez avec le côté le plus court de l'en-tête et que les broches les plus longues sont du côté du composant. Après avoir cloué une broche, finissez de souder toutes les broches au Pi Zero W.

Répétez les étapes avec l'en-tête femelle et le Pi Servo Hat.

Assurez-vous d'insérer les broches courtes du bas de la carte et d'ajouter de la soudure du côté des composants de sorte que le Pi Servo Hat s'empile sur les broches d'en-tête mâles du Pi Zero W. Vous devrez également vous assurer que l'embase est à niveau avant de souder toutes les broches.

Une fois les embases soudées, empilez le Pi Servo Hat sur le Pi Zero W. Connectez ensuite un servo hobby à un canal « 0 » en fonction du servo que vous utilisez. Essayez de consulter la fiche technique du servomoteur de loisir ou de vous référer à certains des brochages de connecteur de servomoteur standard répertoriés dans ce didacticiel. En utilisant un adaptateur mural 5V suffisant, nous pouvons alimenter le Pi Zero W. Branchez l'adaptateur mural dans une prise murale pour l'alimentation et connectez le connecteur micro-B étiqueté comme le port « PWR IN » sur le Pi Zero W.

Logiciel – Python

Nous verrons en détail ici comment accéder et utiliser le chapeau de servo pi en Python.

Un exemple de code complet est disponible dans le dépôt GitHub du produit.

Configurer l'accès aux ressources SMBus

Premier point :dans la plupart des interactions au niveau du système d'exploitation, le I 2 Le bus C est appelé SMBus. Nous obtenons ainsi nos premières lignes de code. Cela importe le module smbus, crée un objet de type SMBus et l'attache au bus « 1 » des différents SMBuses du Pi.
import smbus
bus =smbus.SMBus(1)

Nous devons indiquer au programme l'adresse de la pièce. Par défaut, il s'agit de 0x40, alors définissez une variable sur celle-ci pour une utilisation ultérieure.

addr =0x40

Ensuite, nous voulons activer la puce PWM et lui dire d'incrémenter automatiquement les adresses après une écriture (cela nous permet d'effectuer des écritures multi-octets en une seule opération).

bus.write_byte_data(addr, 0, 0x20)bus.write_byte_data(addr, 0xfe, 0x1e)

Écrire des valeurs dans les registres PWM

C'est toute la configuration qui doit être faite. À partir de maintenant, nous pouvons écrire des données sur la puce PWM et nous attendre à ce qu'elle réponde. Voici un exemple.

bus.write_word_data(addr, 0x06, 0)bus.write_word_data(addr, 0x08, 1250)

La première écriture se fait dans le registre "start time" du canal 0. Par défaut, la fréquence PWM de la puce est de 200 Hz, soit une impulsion toutes les 5 ms. Le registre de temps de démarrage détermine quand l'impulsion passe au niveau haut dans le cycle de 5 ms. Tous les canaux sont synchronisés sur ce cycle. Généralement, cela doit être écrit à 0. La deuxième écriture est dans le registre « temps d'arrêt », et il contrôle le moment où l'impulsion doit descendre. La plage pour cette valeur est de 0 à 4095, et chaque compte représente une tranche de cette période de 5 ms (5 ms/4095), soit environ 1,2 us. Ainsi, la valeur de 1250 écrite ci-dessus représente environ 1,5 ms de temps élevé par période de 5 ms.

Les servomoteurs obtiennent leur signal de commande à partir de cette largeur d'impulsion. De manière générale, une largeur d'impulsion de 1,5 ms donne une position "neutre", à mi-chemin entre les extrêmes de la plage du moteur. 1,0 ms donne environ 90 degrés d'excentrage et 2,0 ms donne -90 degrés d'excentrage. En pratique, ces valeurs peuvent être légèrement supérieures ou inférieures à 90 degrés, et le moteur peut être capable d'un mouvement légèrement supérieur ou inférieur à 90 degrés dans les deux sens.

Pour adresser d'autres canaux, augmentez simplement l'adresse des deux registres ci-dessus de 4. Ainsi, l'heure de début pour le canal 1 est 0x0A, pour le canal 2 est 0x0E, le canal 3 est 0x12, etc. et l'adresse d'heure d'arrêt pour le canal 1 est 0x0C, pour le canal 2 est 0x10, le canal 3 est 0x14, etc. Voir le tableau ci-dessous.

Channel # Adresse de départ Adresse d'arrêt
Ch 0 0x06 0x08
Ch 1 0x0A 0x0C
Ch 2 0x0E 0x10
Ch 3 0x12 0x14
Ch 4 0x16 0x18
Ch 5 0x1A 0x1C
Ch 6 0x1E 0x20
Ch 7 0x22 0x24
Ch 8 0x26 0x28
Ch 9 0x2A 0x2C
Ch 10 0x2E 0x30
Ch 11 0x32 0x34
Ch 12 0x36 0x38
Ch 13 0x3A 0x3C
Ch 14 0x3E 0x40
Ch 15 0x42 0x44

Si vous écrivez un 0 à l'adresse de début, chaque degré de décalage à partir de 90 degrés nécessite 4,6 comptes écrits à l'adresse d'arrêt. En d'autres termes, multipliez le nombre de degrés de décalage par rapport au neutre que vous souhaitez atteindre par 4,6, puis ajoutez ou soustrayez le résultat de 1250, en fonction de la direction du mouvement que vous souhaitez. Par exemple, un décalage de 45 degrés par rapport au centre serait de 207 (45 × 4,6) comptes soit plus ou moins de 1250, selon la direction dans laquelle vous souhaitez que le mouvement se fasse.

Lire plus d'informations…

Guide de branchement du chapeau Pi Servo


Processus de fabrication

  1. Guide du prototypage CNC
  2. Guide de connexion FLIR Lepton
  3. Guide de branchement du kit de démarrage Raspberry Pi 3
  4. Guide de connexion Qwiic HAT pour Raspberry Pi
  5. Guide de branchement Pi Wedge 40 broches pré-assemblé
  6. Robot Pi simple
  7. Guide des marteaux électriques
  8. Guide des forges de forge
  9. Guide de moulage de précision