Si vous recherchez une pompe péristaltique de précision conçue pour des applications de laboratoire exigeantes, allant de moins de 1 µL/min jusqu'à 366,7 mL/min selon le nombre de galets dans la tête de pompe, vous devriez vous intéresser à la Longer L100-1S-2. Cette pompe délivre vos fluides avec la plus grande précision sur une large plage de débit, tout en étant relativement économique.
Il peut être contrôlé à distance depuis votre ordinateur, ce qui offre une plus grande flexibilité et commodité, particulièrement si vous souhaitez exécuter des programmes de pompage complexes avec des boucles, des pauses et des débits variables.
Dans cet article de blog, nous vous montrerons comment communiquer avec le L100-1S-2 en utilisant le protocole LONGER RS485, qui est un protocole de communication série vous permettant d'envoyer des commandes et de recevoir des réponses de la pompe. Nous fournirons également quelques exemples et des extraits de code sur la façon d'utiliser Python pour écrire et envoyer des chaînes de commandes de contrôle à la pompe.
De quoi avez-vous besoin pour communiquer avec le L100-1S-2 ?
Pour communiquer avec le L100-1S-2 en utilisant le protocole LONGER RS485, vous aurez besoin des éléments suivants :
- Une pompe L100-1S-2 avec une tête de pompe et un tube de votre choix
- Un module de contrôle RS485 qui se branche sur le port DB15 à l'arrière de la pompe
- Un câble série qui connecte le module de contrôle RS485 à votre ordinateur ou appareil
- Une plateforme de programmation (Python dans le cas présent)
- Une compréhension de base du format des données, du format des commandes et du format PDU du protocole LONGER RS485 (expliqué ci-dessous 👇)
Comment configurer le port de communication ?
Avant de pouvoir commencer à envoyer et recevoir des données de la pompe, vous devez configurer correctement le port de communication. Voici les étapes à suivre :
- Connectez le connecteur DB15 au port DB15 à l'arrière de la pompe
- Allumez la pompe et utilisez le clavier situé à l'avant de la pompe pour accéder à l'interface de réglage de la télécommande et définir le mode de télécommande sur « COM » 🕹️
- Assurez-vous que les paramètres de communication de votre plateforme de programmation correspondent à ceux du L100-1S-2 (comme illustré dans la figure ci-dessous), à savoir :
- 1 bit de début
- 8 bits de données
- Parité : P-n (pas de parité), P-O (parité impaire) ou P-E (parité paire)
- Bit d'arrêt : S-1 (1 bit d'arrêt) ou S-2 (2 bits d'arrêt)
- Débit en bauds : 12 (1200 bits/s), 24 (2400 bits/s), 48 (4800 bits/s), 96 (9600 bits/s), 192 (19200 bits/s) ou 384 (38400 bits/s)
Comment écrire des chaînes de commande pour le L100-1S-2 ?
Une fois le port de communication configuré, vous pouvez commencer à écrire et envoyer des chaînes de commande de contrôle à la pompe. Une chaîne de commande de contrôle est une séquence de caractères hexadécimaux qui suit un format spécifique, composé de :
- un drapeau de début (E9H)
- une adresse de pompe (de 1 à 30)
- une longueur du pdu (unité de données de protocole)
- un pdu, qui contient les caractères de commande et les paramètres pour l'application souhaitée
- une séquence de contrôle de trame (fcs), qui est obtenue en calculant le XOR de l'adresse de la pompe, de la longueur du pdu et du pdu lui-même (calculez votre fcs à l'aide de notre calculateur XOR de séquence de contrôle de trame en ligne)
Le pdu et sa longueur dépendent de l'application requise de la pompe. Certaines des applications courantes sont :
- Régler le paramètre de fonctionnement (vitesse de rotation)
- Lire le paramètre de fonctionnement (vitesse de rotation)
- Définir le paramètre de fonctionnement (débit)
- Lire le paramètre de fonctionnement (débit)
- Régler les paramètres de communication de la pompe
Pour chaque application, il existe un ensemble correspondant de caractères de commande et de paramètres que vous devez inclure dans le pdu. Ces paramètres sont détaillés ci-dessous.
Régler le paramètre de fonctionnement (vitesse de rotation)
Cette application consiste à écrire à la pompe. La longueur totale de la PDU est de 6 octets où la chaîne de commande de contrôle se compose de (dans le même ordre exact) :
| WJ | Régler la vitesse | État 1 | État 2 |
| 2 octets | 2 octets | 1 octet | 1 octet |
- WJ, chaîne de commande de contrôle de 2 octets, 57 4A
- Régler la vitesse (2 octets) avec une unité de vitesse de 0,01 tr/min et une vitesse maximale de 100 tr/min
- État 1 (1 octet) :
- bit 0 – bit de démarrage/arrêt où 1 démarre la pompe et 0 l'arrête
- bit 1 – bit d'amorçage où 1 amorce la pompe à pleine vitesse (100 tr/min) et 0 fait fonctionner la pompe à une vitesse normale
- État 2 (1 octet) :
- bit 0 – définit le sens de rotation où 0 correspond au sens horaire et 1 au sens antihoraire
La pompe répondra avec WJ et affichera sur son écran frontal la vitesse de rotation et le sens de rotation après réception de la chaîne de commande.
Lire le paramètre de fonctionnement (vitesse de rotation)
Cette application consiste à lire depuis la pompe. La longueur totale de la PDU est de 2 octets où la chaîne de commande de contrôle est RJ.
La réponse de la pompe est la suivante :
| RJ | Afficher la vitesse | État 1 | État 2 |
| 2 octets | 2 octets | 1 octet | 1 octet |
- RJ, chaîne de commande de contrôle de 2 octets, 52 4A
Définir le paramètre de fonctionnement (débit)
Cette application consiste à écrire à la pompe. La longueur totale de la PDU est de 8 octets où la chaîne de commande de contrôle se compose de :
| WL | Définir le débit | État 1 | État 2 |
| 2 octets | 4 octets | 1 octet | 1 octet |
- WL, chaîne de commande de contrôle de 2 octets, 57 4C
- Définir le débit (4 octets) avec une unité de débit en nL/min
La pompe répondra par WL Afficher le débit (4 octets) et affichera sur son écran frontal le débit ainsi que le sens de rotation après réception de la chaîne de commande.
Lire le paramètre de fonctionnement (débit)
Cette application consiste à lire depuis la pompe. La longueur totale de la PDU est de 2 octets où la chaîne de commande de contrôle est RL.
La réponse de la pompe est la suivante :
| RL | Afficher débit | État 1 | État 2 |
| 2 octets | 4 octets | 1 octet | 1 octet |
- RL, chaîne de commande de contrôle de 2 octets, 52 4C.
Régler les paramètres de communication de la pompe
Cette application consiste à écrire à la pompe afin de définir les différents paramètres de communication. La longueur totale de la PDU est de 8 octets où la chaîne de commande de contrôle se compose de :
| WID | Adresse | Débit en bauds | Parité | Bit d'arrêt |
| 3 octets | 1 octet | 2 octets | 1 octet | 1 octet |
- WID, chaîne de commande de contrôle de 3 octets, 57 49 44
- Adresse de la pompe (1 octet), plage valide : 1-30
- Débit en bauds (2 octets), l'octet de poids fort est 00H et l'octet de poids faible est tel que présenté dans le tableau ci-dessous :
| Octet de poids faible | Débit en bauds (bits/s) |
|---|---|
| 01H | 1200 |
| 02H | 2400 |
| 03H | 4800 |
| 04H | 9600 |
| 05H | 19200 |
| 06H | 38400 |
| Autre valeur | Invalide |
- Parité (1 octet), réglage comme indiqué dans le tableau ci-dessous :
| Réglage | Parité |
|---|---|
| 01H | Aucune parité |
| 02H | Parité impaire |
| 03H | Parité paire |
| Autre valeur | Invalide |
- Bit d'arrêt (1 octet), réglage comme indiqué dans le tableau ci-dessous :
| Réglage | Bit d'arrêt |
|---|---|
| 01H | 1 bit d'arrêt |
| 02H | 2 bits d'arrêt |
| Autre valeur | Invalide |
Exemples de chaînes de commande de contrôle
- Régler le L100-1S-2 pour qu'il fonctionne dans le sens antihoraire à une vitesse de rotation de 20 tr/min
Chaîne de commande de contrôle : E9 01 06 57 4A 07 D0 01 01 CD
- E9 comme indicateur
- 01 comme adresse 1 de la pompe
- 06 comme longueur du PDU (57 4A 07 D0 01 01)
- 57 4A comme caractères de commande WJ
- 07 D0 fait référence à la vitesse de rotation, 07 D0(hex) = 2000(dec) ; l'unité de vitesse étant de 0,01 tr/min ⇒ la vitesse de rotation = 20 tr/min (consultez notre outil de conversion de base en ligne)
- 01 pour démarrer la pompe à vitesse normale
- 01 pour faire fonctionner la pompe dans le sens inverse des aiguilles d'une montre
- CD comme le résultat XOR de 01 (adresse de la pompe), 06 (longueur de la PDU) et 57 4A 07 D0 01 01 (PDU)
- Configurer le L100-1S-2 pour qu'il fonctionne dans le sens horaire à un débit de 3 mL/min
Chaîne de commande de contrôle : E9 01 08 57 4C 00 2D C6 C0 01 00 38
- E9 comme indicateur
- 01 comme adresse 1 de la pompe
- 08 comme la longueur de la PDU (57 4C 00 2D C6 C0 01 00)
- 57 4C comme caractères de commande WL
- 00 2D C6 C0 fait référence au débit, 00 2D C6 C0(hex) = 3000000(dec) ; l'unité de débit étant le nL/min ⇒ le débit = 3000000 nL/min = 3 mL/min
- 01 pour démarrer la pompe à vitesse normale
- 00 pour faire fonctionner la pompe dans le sens des aiguilles d'une montre
- 38 comme le résultat XOR de 01 (adresse de la pompe), 08 (longueur de la PDU) et 57 4C 00 2D C6 C0 01 00 (PDU)
🚨N'hésitez pas à utiliser notre générateur de chaînes de commande en ligne, intuitif et user-friendly, pour générer sans effort des commandes de contrôle précises pour votre L100-1S-2.
Comment communiquer avec le L100-1S-2 en utilisant Python ?
Des extraits de code Python montrant comment ouvrir le port série, écrire et envoyer des chaînes de commande à la pompe, et écrire un programme de pompage simple sont présentés ci-dessous.
D'après le premier exemple présenté ci-dessus, l'extrait de code Python suivant fait fonctionner le L100-1S-2 dans le sens anti-horaire à une vitesse de rotation de 20 tr/min.
### RUN PUMP 1, COUNTER-CLOCKWISE, AT A ROTATING SPEED OF 20 RPM
# To use the pySerial package
import serial
# Open the serial port with tha data format corresponding to the L100-1S-2
# The parameters in the command need to be the same as the communication parameters set for the pump
ser = serial.Serial('COM3', 9600, parity=serial.PARITY_NONE, bytesize=8, stopbits=1, timeout=None, xonxoff=0, rtscts=0)
# Write the corresponding control command string in hexadecimal
Data = bytearray(b'\xE9\x01\x06\x57\x4A\x07\xD0\x01\x01\xCD')
# Write the Data to the pump
ser.write(Data)
- Dans un second extrait de code, faisons tourner la pompe dans le sens antihoraire à un débit de 5 mL/min pendant 10 s, puis dans le sens horaire à un débit de 3 mL/min pendant 30 s avant de l'arrêter.
### RUN PUMP 1 COUNTER-CLOCKWISE AT A FLOW RATE OF 5 mL/min FOR 10s, THEN CLOCKWISE AT A FLOW RATE OF 3 mL/min FOR 30s BEFORE STOPPING IT
# To use the pySerial package
import serial
# To use the time package
import time
# Open the serial port with tha data format corresponding to the L100-1S-2
# The parameters in the command need to be the same as the communication parameters set for the pump
ser = serial.Serial('COM3', 9600, parity=serial.PARITY_NONE, bytesize=8, stopbits=1, timeout=None, xonxoff=0, rtscts=0)
# Run pump 1 counter-clockwise at a flow rate of 5 mL/min for 10s
Data = bytearray(b'\xE9\x01\x08\x57\x4C\x00\x4C\x4B\x40\x01\x01\x55') # corresponding control command string in hexadecimal
ser.write(Data) # Write the Data to the pump
# 10s delay with a visible timer
for Pumping_time in range(10, 0, -1):
print(Pumping_time)
time.sleep(1)
# Run pump 1 clockwise at a flow rate of 3 mL/min for 30s
Data = bytearray(b'\xE9\x01\x08\x57\x4C\x00\x2D\xC6\xC0\x01\x00\x38') # corresponding control command string in hexadecimal
ser.write(Data) # Write the Data to the pump
# 30s delay with a visible timer
for Pumping_time in range(30, 0, -1):
print(Pumping_time)
time.sleep(1)
# Stop the pump
Data = bytearray(b'\xE9\x01\x08\x57\x4C\x00\x2D\xC6\xC0\x00\x00\x39') # corresponding control command string in hexadecimal: we took the previous command string and changed the 'State 1' byte from 01 (start the pump) to 00 (stop the pump) and of course computed the new fcs
ser.write(Data) # Write the Data to the pump
Conclusion
Nous espérons que cet article de blog vous a aidé à comprendre comment contrôler à distance la pompe péristaltique Longer L100-1S-2 via Python en utilisant le protocole LONGER RS485. Vous pouvez également utiliser d'autres plateformes de programmation telles que Matlab pour rédiger et envoyer des chaînes de commande à la pompe, ainsi que pour lire et interpréter ses réponses. Pour plus de détails sur ce sujet, consultez notre article de blog « Comment contrôler la pompe Longer L100-1S-2 via Matlab ? ».
Si vous avez des questions ou des commentaires, n'hésitez pas à nous contacter à l'adresse contact@darwin-microfluidics.com.



Comment Contrôler à Distance vos Pompes Péristaltiques Longer ?
[…] Comment contrôler la pompe Longer L100-1S-2 via Python ? […]
Comment Contrôler la Pompe Longer L100-1S-2 via Matlab ?
[…] interpréter les réponses de la pompe. Pour plus de détails sur ce sujet, consultez notre article de blog « Comment contrôler la pompe Longer L100-1S-2 via Python ? ». Si vous avez des questions ou des commentaires, n'hésitez pas à nous contacter à l'adresse […]