Le monde du mouvement linéaire est rapide et en constante évolution. Progressive Automations est déterminé à rester à la pointe de ces évolutions technologiques. Les actionneurs télécommandés sont devenus plus divers et dynamiques. Dans cet esprit, l’un de nos ingénieurs, Jake, a décidé de mener une expérience pour déterminer si nos vérins linéaires pouvaient être contrôlés depuis des réseaux alternatifs. C’est effectivement possible. Ainsi, cet article propose un guide étape par étape pour y parvenir. Il inclut également un exemple de code et les outils nécessaires pour établir une connexion réussie et, au final, contrôler les actionneurs en ligne.
Liste des produits
Vérin linéaire miniature PA-14

Le vérin linéaire miniature PA-14 est l’un des modèles les plus populaires proposés par Progressive Automations et l’exemple que nous avons utilisé pour cette expérience. Tout modèle proposé par Progressive Automations avec une tension nominale de 12VDC/24VDC/36VDC/48VDC et un moteur CC à balais peut être utilisé à la place de l’actionneur PA-14. Le code fourni ci-dessous ne nécessiterait aucune modification si vous choisissez un autre actionneur, mais il faudra vérifier les valeurs nominales de courant et de tension de l’alimentation avant de poursuivre.
Le nouveau et amélioré mini vérin linéaire PA-01 (mise à niveau du PA-14) est le modèle actuel que nous proposons, avec une variété d’avantages supplémentaires. Pour comparer, consultez les tableaux ci-dessous et mettez à niveau en toute confiance !
|
|
PA-01 |
PA-14 |
|
Options de charge dynamique |
16, 28, 56, 112, 169, 225 lbs |
35, 50, 75, 110, 150 lbs |
|
Charge maximale |
225 lbs |
150 lbs |
|
Vitesse maximale |
3.54 "/sec |
2.00"/sec |
|
Indice de protection (IP) |
IP65 |
IP54 |
|
Options de course |
1" to 40" |
1" to 40" |
|
Rétroaction à effet Hall |
En option |
Non |
Vérin linéaire pour un Raspberry Pi
Les détails de l’expérience fournis expliquent comment contrôler un vérin linéaire avec un Raspberry Pi. Le Raspberry Pi 4 est utilisé pour exécuter le logiciel serveur et recevoir les commandes de contrôle de l’actionneur. À défaut, un ordinateur de bureau et une carte Arduino peuvent être utilisés. Si vous choisissez cette voie, votre PC devra recevoir les commandes et les transmettre à la carte Arduino via un port série.
Le Raspberry Pi est un ordinateur monocarte, à peu près de la taille d’une carte de crédit. Ce micro-ordinateur a été développé au Royaume-Uni pour l’enseignement des bases de l’informatique.
Principe de fonctionnement du Raspberry Pi
Le Raspberry Pi possède toutes les caractéristiques d’un véritable ordinateur, notamment un processeur dédié, de la mémoire et un pilote graphique pour la sortie HDMI. Il exécute même une version spéciale du système d’exploitation Linux. Cela facilite l’installation de la plupart des programmes Linux et la connexion de vérins linéaires au Raspberry Pi. Le Raspberry Pi peut ainsi être utilisé pour des actionneurs, comme serveur multimédia complet ou comme émulateur de jeux vidéo.
Il n’y a pas de stockage de données interne sur le Pi, mais on peut utiliser une carte mémoire comme mémoire flash pour tout le système. Cela permet de télécharger rapidement différentes versions du système d’exploitation ou des mises à jour logicielles pour le débogage. Comme cet appareil offre une connectivité réseau indépendante, il peut aussi être configuré pour un accès SSH ou un transfert de fichiers FTP.
Instructions pour l’expérience
Ce qui suit présente les étapes exactes suivies par Jake lors du test de cette configuration, depuis la mise en place initiale jusqu’au contrôle à distance sans fil du vérin linéaire.
Comme la carte Raspberry Pi peut se voir attribuer une adresse IP et dispose de broches GPIO, en plus des fonctions susmentionnées, c’est l’appareil idéal pour une telle expérience.
Configuration d’un Raspberry Pi avec un vérin linéaire
- Assurez-vous que le système d’exploitation Raspbian est installé sur votre Pi. Cliquez ici pour des instructions étape par étape expliquant comment installer cet OS sur votre Pi.
- Connectez votre carte à votre Wi‑Fi. Cliquez ici pour ces instructions.
- Attribuez une IP statique à votre Raspberry Pi. Cliquez ici pour savoir comment faire.
- Créez un nouveau fichier .py sur votre Raspberry Pi et copiez le code suivant dans ce fichier. Lorsque vous exécutez ce code, votre Pi devient un serveur qui écoute vos commandes sur le port « 6166 ».
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to the port
server_address = ('', 6166)
print ('starting up on port ', server_address)
sock.bind(server_address)
# Listen for incoming connections
sock.listen(True)
GPIO.setmode(GPIO.BCM)
GPIO.setup(18, GPIO.OUT)
GPIO.setup(27, GPIO.OUT)
while (True):
# Wait for a connection
print ('waiting for a connection')
connection, client_address = sock.accept()
print ('connection from', client_address)
# Receive the data in small chunks and retransmit it
data = connection.recv(16)
print ("received:", data)
# Output signal on GPIO depending on received command
if data == b"ext":
GPIO.output(18, GPIO.HIGH)
if data == b"ret":
GPIO.output(27, GPIO.HIGH)
if data == b"close connection":
break
# Closing up the connection
connection.close()
Câblage
Pour des instructions claires sur le câblage de ce projet, un schéma est fourni au lien suivant : Relais numérique 4 canaux + Câblage Arduino d’un vérin linéaire.
Configuration du routeur
Une fois votre Pi connecté à votre Wi‑Fi et doté d’une IP statique que vous avez configurée à l’étape précédente, vous pouvez commencer à configurer la redirection de port et le filtrage IP sur votre routeur. La redirection de port vous permet de paramétrer un routeur pour transférer les données arrivant sur un port spécifique vers un appareil particulier de votre LAN. Supposons que votre serveur Pi ait une adresse IP statique 192.168.1.69 et écoute les commandes sur le port 6166. Vous devrez configurer votre routeur pour transférer les données arrivant sur le port 6166 vers un appareil ayant l’adresse IP 192.168.1.69.
Instructions :
Remarque : L’interface de votre routeur peut différer de cet exemple. Dans ce cas, veuillez rechercher des instructions spécifiques à votre modèle de routeur.
- Saisissez l’adresse IP de votre routeur et connectez-vous pour accéder à l’interface de votre routeur.

- Recherchez l’option Port Forwarding.

- Entrez l’adresse IP statique de votre serveur Pi et la plage de ports publics. Assurez-vous que le port 6166 se trouve dans cette plage.

Nous vous conseillons de configurer le filtrage IP à ce stade pour des raisons de sécurité. Le filtrage IP vous permet de spécifier les adresses IP des appareils autorisés à accéder à votre appareil Pi et à lui envoyer des commandes via Internet. Recherchez le paramètre des filtres entrants et définissez les adresses IP des appareils autorisés à accéder aux actionneurs dans ce paramètre.
Configuration du client
- Pour exécuter le logiciel client sur votre appareil, installez Python 3.8 depuis leur site officiel.
- Vous pouvez également installer PyCharm, une IDE facile à utiliser.
- Copiez le code suivant :
import socket
import sys
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Connect the socket to the port where the server is listening
server_address = ('Enter IP address of router in your pi’s LAN', 6166)
print ('connecting to %s port', server_address)
sock.connect(server_address)
try:
# Send data
message = b'ret'
print ('sending "%s"',message)
sock.sendall(message)
# Look for the response
amount_received = 0
amount_expected = len(message)
while amount_received < amount_expected:
data = sock.recv(16)
amount_received += len(data)
print ('received: ', data)
finally:
print ('closing socket')
sock.close()
Le Raspberry Pi vs Arduino
Comme indiqué au début de l’article, il est possible d’utiliser une carte Arduino à la place d’un Raspberry Pi. Tout d’abord, il est important de préciser ce que sont les cartes Arduino. Ces microcontrôleurs exécutent du code interprété par le firmware. Ce ne sont pas des ordinateurs complets, ils n’ont donc pas, à proprement parler, de système d’exploitation. On ne dispose peut-être pas des outils de base fournis par un système d’exploitation, mais cela facilite l’exécution directe de code simple.
Il n’y a pas non plus de coûts associés à ce système. L’objectif principal de la carte Arduino est d’interagir avec des capteurs et des dispositifs, ce qui rend Arduino idéal pour des projets matériels visant à répondre à différents signaux de capteurs et aux saisies manuelles. Elle est parfaitement adaptée à la commande d’autres appareils et actionneurs, lorsqu’un système d’exploitation complet n’est tout simplement pas nécessaire.
Le choix entre le Raspberry Pi et l’Arduino dépend largement du projet visé.
Il vaut mieux choisir l’Arduino si la tâche principale consiste à lire des données de capteurs ou à modifier des valeurs sur le moteur et d’autres appareils. Étant donné les exigences d’alimentation d’Arduino et la facilité de maintenance de ce système, l’appareil peut fonctionner sans être éteint, avec très peu d’interférences.
Le Raspberry Pi, en revanche, sera plus pratique pour résoudre des tâches habituellement effectuées sur un ordinateur personnel. Le Raspberry Pi simplifie la gestion des flux de travail dans divers scénarios, par exemple lorsqu’il faut se connecter à Internet pour lire ou écrire des données, lire des médias ou se connecter à un écran externe.
Puisque Arduino et Raspberry Pi répondent à des besoins différents, il est parfois pratique de les utiliser ensemble. En connectant ces deux appareils, on peut obtenir, via le Pi, un accès client aux paramètres et au code, tandis que l’Arduino commande les actionneurs et collecte les informations des capteurs. On peut connecter ces deux appareils via USB, via le LAN ou en reliant les ports E/S d’Arduino au Raspberry Pi.
Mot de la fin
À ce stade, tout est prêt pour contrôler, via Internet, n’importe quel actionneur de Progressive Automations répondant aux critères mentionnés ! En exécutant le code, vous profitez d’un confort ultime pour contrôler vos actionneurs à distance, ou comme nous aimons les appeler, des « WiFi controlled actuators ». Merci d’avoir lu cet article – si vous avez des questions ou si vous souhaitez que l’un de nos ingénieurs teste quelque chose, contactez-nous et nous serons ravis d’échanger avec vous !