Raspberry Pi Pico - Actionneur

Ce tutoriel vous explique comment utiliser le Raspberry Pi Pico pour contrôler l'actionneur linéaire. En détail, nous découvrirons :

Ce guide se concentre sur les actionneurs linéaires qui ne disposent pas de rétroaction. Si vous avez besoin d'informations sur les actionneurs linéaires avec rétroaction, veuillez consulter ce guide : Raspberry Pi Pico - Actionneur avec rétroaction..

Préparation du matériel

1×Raspberry Pi Pico W
1×Raspberry Pi Pico Alternativement:
1×Câble Micro USB
1×Actionneur linéaire
1×Module pilote de moteur L298N
1×Adaptateur secteur 12V
1×Connecteur d'alimentation DC
1×Fils de connexion
1×Recommandé: Carte d'extension à bornier à vis pour Raspberry Pi Pico

Ou vous pouvez acheter les kits suivants:

1×Kit de Capteurs DIYables (30 capteurs/écrans)
1×Kit de Capteurs DIYables (18 capteurs/écrans)
Divulgation : Certains des liens fournis dans cette section sont des liens affiliés Amazon. Nous pouvons recevoir une commission pour tout achat effectué via ces liens, sans coût supplémentaire pour vous. Nous vous remercions de votre soutien.

À propos de l'actionneur linéaire

Vérin linéaire étendre rétracter

Schéma de brochage de l'actionneur linéaire

Un actionneur linéaire a deux fils.

  • Fil positif : généralement rouge
  • Fil négatif : généralement noir
Schéma des broches de l'actionneur linéaire

Comment cela fonctionne

Lors de l'achat d'un vérin linéaire, il est important de connaître sa tension d'alimentation. Par exemple, pensez à un vérin linéaire qui utilise 12 volts.

Lorsque vous connectez l'actionneur linéaire de 12 V à une source d'alimentation de 12 V :

  • Connectez 12 V au fil positif et la masse au fil négatif : cela permet à l'actionneur linéaire de se déployer rapidement jusqu'à ce qu'il atteigne sa position finale.
  • Connectez 12 V au fil négatif et la masse au fil positif : cela permet à l'actionneur linéaire de se rétracter rapidement jusqu'à ce qu'il atteigne sa position finale.

Lorsque vous déconnectez l'alimentation de l'actionneur en reliant les fils positifs et négatifs à la masse, l'actionneur cessera de bouger.

※ Note:

Les moteurs à courant continu, les servomoteurs et les moteurs pas à pas, sans engrenages, ne peuvent pas maintenir leur position s'il n'y a pas d'alimentation et s'ils portent une charge. Mais un actionneur peut maintenir sa position sans alimentation, même avec une charge.

Si nous utilisons moins de 12 V pour les actionneurs linéaires, ils fonctionnent toujours, mais à une vitesse plus lente. Cela indique que modifier la tension d'alimentation peut faire varier la vitesse de l'actionneur linéaire. Cependant, ajuster avec précision la tension est difficile, de sorte que cette approche n'est pas souvent utilisée. Typiquement, la tension reste stable et la vitesse de l'actionneur linéaire est gérée par un signal PWM. Lorsque le rapport cyclique du PWM augmente, l'actionneur linéaire se déplace plus rapidement.

Comment contrôler un actionneur linéaire

Comment contrôler un actionneur linéaire avec Raspberry Pi Pico

Faire fonctionner un actionneur linéaire implique :

  • Faites en sorte que l'actionneur linéaire s'étende aussi rapidement que possible.
  • Faites en sorte que l'actionneur linéaire se rétracte aussi rapidement que possible.
  • (optionnel) Changez la vitesse à laquelle il s'étend et se rétracte.

Le Raspberry Pi Pico peut générer un signal de contrôle pour un actionneur linéaire. Cependant, ce signal présente une tension et un courant faibles; il ne peut donc pas contrôler directement l'actionneur. Nous devons utiliser un pilote matériel entre le Raspberry Pi Pico et l'actionneur linéaire. Le pilote a deux rôles :

  • Augmenter l'amplitude et la tension du signal de commande émanant du Raspberry Pi Pico.
  • Utiliser un signal supplémentaire provenant du Raspberry Pi Pico pour basculer la polarité de l'alimentation, ce qui détermine la direction.

※ Note:

  • Ce guide convient à tous les actionneurs linéaires. Ici, nous montrons comment cela fonctionne en prenant comme exemple un actionneur linéaire de 12 V.
  • Si vous travaillez avec un actionneur linéaire de 5 V et un Raspberry Pi Pico, n'oubliez pas d'ajouter un pilote. Tous deux fonctionnent sous 5 V, mais le Raspberry Pi Pico ne fournit pas un courant suffisant pour l'actionneur.

Ce guide est basé sur le pilote L298N. Cependant, il existe d'autres options, comme le circuit L293D, qui peut également gérer des actionneurs linéaires.

※ Note:

Vous pouvez aussi utiliser des relais comme pilote, mais contrôler un actionneur linéaire (pour l'étendre et le rétracter) nécessite quatre relais.

À propos du pilote L298N

Ce guide vous montrera comment utiliser le pilote L298N pour contrôler des dispositifs tels que des actionneurs linéaires, des moteurs à courant continu et des moteurs pas à pas. Ici, nous nous concentrerons sur le contrôle d'un actionneur linéaire.

Plan de brochage du pilote L298N

Schéma des broches du pilote L298N

Le pilote L298N a deux sections distinctes, appelées canaux A et B. Il peut contrôler deux actionneurs linéaires différents en même temps grâce à cette conception. Si l'actionneur linéaire A est connecté au canal A et que l'actionneur linéaire B est connecté au canal B, le pilote L298N dispose de 13 broches au total.

Les broches communes aux deux canaux :

  • Broche VCC : alimente l'actionneur linéaire. Elle peut supporter entre 5 et 35 volts.
  • Broche GND : sert de masse commune et doit être connectée à GND (0 volt).
  • Broche 5V : fournit l'alimentation au module L298N. Vous pouvez le connecter à 5 volts provenant d'un Raspberry Pi Pico.

Broches du Canal A:

  • Broches ENA : contrôlent la vitesse de l'actionneur linéaire A. Retirez le cavalier et connectez cette broche à une entrée PWM pour modifier sa vitesse de déplacement.
  • Broches IN1 et IN2 : définissent la direction de mouvement de l'actionneur linéaire. Lorsque l'une des broches est à l'état haut et l'autre à l'état bas, l'actionneur s'étendra ou se rétractera. Si les deux sont à l'état haut ou les deux à l'état bas, l'actionneur s'arrête.
  • Broches OUT1 et OUT2 : connectez-les à l'actionneur linéaire A.

Broches du canal B:

  • Broches ENB : Utilisez ces broches pour contrôler la vitesse de déplacement de l'actionneur linéaire B. Retirez le cavalier et appliquez un signal PWM pour modifier la vitesse à laquelle l'actionneur B se déplace.
  • Broches IN3 et IN4 : Ces broches contrôlent la direction de déplacement d'un actionneur linéaire. Configurez l'une des broches sur haut niveau et l'autre sur bas niveau pour faire bouger l'actionneur vers l'extérieur ou vers l'intérieur. Si les deux broches sont soit sur haut niveau soit sur bas niveau, l'actionneur ne bougera pas.
  • Broches OUT3 et OUT4 : Connectez-les à un actionneur linéaire.

Le pilote L298N peut utiliser deux types d'alimentation d'entrée :

  • Pour l'actuateur linéaire ( broches VCC et GND ) : utilisez entre 5 et 35 V.
  • Pour le fonctionnement interne du module L298N ( broches 5 V et GND ) : utilisez entre 5 et 7 V.

Le module L298N comprend trois cavaliers pour divers usages. Pour simplifier, veuillez retirer tous les cavaliers du module L298N.

Nous pouvons contrôler deux actionneurs linéaires en même temps en utilisant un Raspberry Pi Pico et un pilote L298N. Pour faire fonctionner chaque actionneur linéaire, nous n'avons besoin que de trois broches du Raspberry Pi Pico.

※ Note:

Cette section du guide explique comment utiliser le canal A pour actionner un actionneur linéaire. Le fonctionnement d'un autre actionneur linéaire est similaire.

Comment contrôler un actionneur linéaire

Nous allons apprendre comment contrôler un actionneur linéaire à l'aide du pilote L298N.

Schéma de câblage

Avant de commencer à brancher les fils, retirez les trois cavaliers du module L298N.

Schéma de câblage du pilote L298N pour actionneur linéaire Raspberry Pi Pico

Cette image a été créée avec Fritzing. Cliquez pour agrandir l'image.

Comment faire étendre et rétracter un actionneur linéaire

Vous pouvez changer la direction d'un actionneur linéaire en ajustant les broches IN1 et IN2 à un niveau haut ou bas. Ci-dessous se trouve un tableau qui explique comment faire cela pour les deux canaux.

IN1 pin IN2 pin Direction
LOW LOW Linear Actuator A stops
HIGH HIGH Linear Actuator A stops
HIGH LOW Linear Actuator A extends
LOW HIGH Linear Actuator A retracts
  • Prolonge l'actionneur linéaire A
in1.value(1) in2.value(0)
  • L'actionneur linéaire A se rétracte.
in1.value(0) in2.value(1)

※ Note:

Si les broches OUT1 et OUT2 sont mal connectées à l'actionneur linéaire, il se déplacera dans la direction opposée. Pour corriger cela, échangez les broches OUT1 et OUT2 ou modifiez les commandes de contrôle des broches IN1 et IN2 dans le logiciel.

Comment empêcher l'actionneur linéaire de s'étendre ou de se rétracter

L'actionneur linéaire s'arrête automatiquement de se déplacer vers l'avant ou vers l'arrière lorsqu'il atteint son point le plus éloigné ou le plus proche. Nous pouvons aussi le régler pour qu'il s'arrête avant d'atteindre ces points.

Il y a deux façons d'arrêter un actionneur linéaire.

  • Place les broches IN1 et IN2 à l'état bas.
in1.value(0) in2.value(0)
  • Met les broches IN1 et IN2 à l'état haut.
in1.value(1) in2.value(1)

Exemple de code Raspberry Pi Pico

Ce code effectue les opérations suivantes :

  • Étendre rapidement l'actionneur
  • Arrêter l'actionneur
  • Rétracter rapidement l'actionneur
  • Arrêter l'actionneur
/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-actuator */ from machine import Pin import time # Define pins ENA_PIN = 5 # The Raspberry Pi Pico pin GP5 connected to the EN1 pin of L298N IN1_PIN = 4 # The Raspberry Pi Pico pin GP4 connected to the IN1 pin of L298N IN2_PIN = 3 # The Raspberry Pi Pico pin GP3 connected to the IN2 pin of L298N # Initialize digital pins as outputs ena = Pin(ENA_PIN, Pin.OUT) in1 = Pin(IN1_PIN, Pin.OUT) in2 = Pin(IN2_PIN, Pin.OUT) # Set ENA_PIN to HIGH to enable the motor driver ena.value(1) # Main loop to extend and retract the actuator while True: # Extend the actuator in1.value(1) in2.value(0) time.sleep(20) # Wait for 20 seconds (20000 ms) # Retract the actuator in1.value(0) in2.value(1) time.sleep(20) # Wait for 20 seconds (20000 ms)

Étapes rapides

Veuillez suivre ces instructions étape par étape :

  • Assurez-vous que l'IDE Thonny est installé sur votre ordinateur.
  • Assurez-vous que le firmware MicroPython est installé sur votre Raspberry Pi Pico.
  • Si c'est votre première utilisation d'un Raspberry Pico, reportez-vous au tutoriel Raspberry Pi Pico - Premiers pas. pour des instructions détaillées.
  • Retirez tous les trois cavaliers du module L298N
  • Connectez le Raspberry Pi Pico à l'actionneur linéaire via le module L298N selon le schéma fourni.
  • Connectez le Raspberry Pi Pico à votre ordinateur à l'aide d'un câble USB.
  • Lancez l'IDE Thonny sur votre ordinateur.
  • Dans l'IDE Thonny, sélectionnez l'interpréteur MicroPython (Raspberry Pi Pico) en accédant à Outils Options.
  • Dans l'onglet Interpréteur, sélectionnez MicroPython (Raspberry Pi Pico) dans le menu déroulant.
  • Assurez-vous que le bon port est sélectionné. L'IDE Thonny devrait détecter automatiquement le port, mais vous devrez peut-être le sélectionner manuellement (par exemple, COM3 sur Windows ou /dev/ttyACM0 sur Linux).
  • Copiez le code ci-dessus et collez-le dans l'éditeur de l'IDE Thonny.
  • Enregistrez le script sur votre Raspberry Pi Pico en:
    • Cliquez sur le bouton Enregistrer, ou utilisez les touches Ctrl+S.
    • Dans la boîte de dialogue d'enregistrement, vous verrez deux sections: Cet ordinateur et Raspberry Pi Pico. Sélectionnez Raspberry Pi Pico
    • Enregistrez le fichier sous main.py
  • Cliquez sur le bouton vert Exécuter (ou appuyez sur F5) pour exécuter le script. Le script s'exécutera.
  • Vérifiez l'état de l'actionneur. Il affichera:
    • L'actionneur linéaire s'allonge et s'arrête lorsqu'il atteint son point maximal.
    • L'actionneur linéaire maintient sa position pendant un certain temps.
    • L'actionneur linéaire se rétracte et s'arrête lorsqu'il atteint son fin de course.
    • L'actionneur linéaire maintient sa position pendant une certaine durée.
    • Ce schéma se répète encore et encore.

Comment contrôler la vitesse d'un actionneur linéaire via le pilote L298N

Pour changer facilement la vitesse de l'actionneur linéaire, contrôlez-le en utilisant un signal PWM sur la broche ENA au lieu de le régler simplement sur HIGH. Le script MicroPython ci-dessous montre comment le faire :

/* * Ce code Raspberry Pi Pico a été développé par newbiely.fr * Ce code Raspberry Pi Pico est mis à disposition du public sans aucune restriction. * Pour des instructions complètes et des schémas de câblage, veuillez visiter: * https://newbiely.fr/tutorials/raspberry-pico/raspberry-pi-pico-actuator */ from machine import Pin, PWM import time # Define pins ENA_PIN = 5 # The Raspberry Pi Pico pin GP5 connected to the EN1 pin of L298N IN1_PIN = 4 # The Raspberry Pi Pico pin GP4 connected to the IN1 pin of L298N IN2_PIN = 3 # The Raspberry Pi Pico pin GP3 connected to the IN2 pin of L298N # Initialize digital pins as outputs in1 = Pin(IN1_PIN, Pin.OUT) in2 = Pin(IN2_PIN, Pin.OUT) # Initialize PWM on ENA_PIN ena = PWM(Pin(ENA_PIN)) ena.freq(1000) # Set the PWM frequency to 1kHz def set_motor_speed(speed): # Convert the speed (0-255) to duty cycle (0-65535) duty_cycle = int((speed / 255) * 65535) ena.duty_u16(duty_cycle) # Example usage: speed = 128 # Set desired speed (0-255) set_motor_speed(speed) # Main loop to extend and retract the actuator while True: # Extend the actuator in1.value(1) in2.value(0) time.sleep(20) # Wait for 20 seconds (20000 ms) # Retract the actuator in1.value(0) in2.value(1) time.sleep(20) # Wait for 20 seconds (20000 ms)

Vidéo

※ NOS MESSAGES

  • N'hésitez pas à partager le lien de ce tutoriel. Cependant, veuillez ne pas utiliser notre contenu sur d'autres sites web. Nous avons investi beaucoup d'efforts et de temps pour créer ce contenu, veuillez respecter notre travail !