If you are looking for a precision peristaltic pump designed for precise laboratory applications from less than 1 µL/min and up to 366.7 mL/min, depending on the number of rollers in the pump head, you might want to check out the Longer L100-1S-2. This pump delivers your fluids with the highest precision on a wide range of flow rates, and is also relatively cheap.
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 Matlab pour écrire et envoyer des chaînes de commandes de contrôle à la pompe.
TABLE DES MATIÈRES
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 :
- A L100-1S-2 pump with a pump head and a tubing of your choice
- 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 (Matlab 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 de la PDU et de la PDU elle-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)
- Set running parameter (flow rate)
- Read running parameter (flow rate)
- 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
Set Running Parameter (Flow Rate)
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
- Set flow rate (4 bytes) with a nL/min flow rate unit
The pump will respond with WL Show flow rate (4 bytes) and will display on its front screen the flow rate and the direction of rotation after receiving the control command string.
Read Running Parameter (Flow Rate)
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 refers to the rotation speed, 07 D0(hex) = 2000(dec); the speed unit being 0.01 rpm ⇒ the rotation speed = 20 rpm (check our online base conversion tool)
- 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)
- Set the L100-1S-2 to run clockwise at a flow rate of 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)
🚨Do not hesitate to use our user-friendly online command string generator to effortlessly generate precise control command strings for your L100-1S-2.
Comment communiquer avec le L100-1S-2 en utilisant Matlab ?
Des extraits de code Matlab 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 Matlab 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
% Open the serial port with the 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
s = serialport('COM3', 9600, 'Parity', 'None', 'DataBits', 8, 'StopBits', 1);
% Write the corresponding control command string
Str = 'E9 01 06 57 4A 07 D0 01 01 CD';
% Read data from Str, convert it according to the format specified '%2x' (hexadecimal conversion), transpose and return the results in an array
Data = sscanf(Str, '%2x').';
% Write the Data to the pump in the form of an unsigned integer 8bits
write(s, Data, uint8);
- In a second code snippet, let’s make the pump run counter-clockwise at a flow rate of 5 mL/min for 10s, then make it run clockwise at a flow rate of 3 mL/min for 30s before stopping it.
%%% 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
% Open the serial port with the 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
s = serialport('COM3', 9600, 'Parity', 'None', 'DataBits', 8, 'StopBits', 1);
% Run pump 1 counter-clockwise at a flow rate of 5 mL/min for 10s
Str = 'E9 01 08 57 4C 00 4C 4B 40 01 01 55'; % corresponding control command string
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
% 10s delay with a visible timer
Pumping_time = 10;
for Pumping_time = 10:-1:1
pause(1)
disp(['Remaining_time: ' num2str(Pumping_time)])
end
% Run pump 1 clockwise at a flow rate of 3 mL/min for 30s
Str = 'E9 01 08 57 4C 00 2D C6 C0 01 00 38'; % corresponding control command string
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
% 30s delay with a visible timer
Pumping_time = 30;
for Pumping_time = 30:-1:1
pause(1)
disp(['Remaining_time: ' num2str(Pumping_time)])
end
% Stop the pump
Str = 'E9 01 08 57 4C 00 2D C6 C0 00 00 39'; % corresponding control command string; 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
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
Conclusion
We hope this blog post has helped you understand how to control the Longer L100-1S-2 peristaltic pump remotely via Matlab using the LONGER RS485 protocol. You can also use other programming platforms such as Python to write and send control command strings to the pump and read and interpret the responses from the pump. For more details about this topic, check our blog post “How to Control the Longer L100-1S-2 Pump via Python ?”.
If you have any questions or feedback, please feel free to contact us at contact@darwin-microfluidics.com.



Comment Contrôler la Pompe Longer L100-1S-2 via Python ? - Darwin Microfluidics
[…] We hope this blog post has helped you understand how to control the Longer L100-1S-2 peristaltic pump remotely via Python using the LONGER RS485 protocol. You can also use other programming platforms such as Matlab to write and send control command strings to the pump and read and interpret the responses from the pump. For more details about this topic, check our blog post “How to Control the Longer L100-1S-2 Pump via Matlab ?”. […]
Comment Contrôler à Distance vos Pompes Péristaltiques Longer ?
[…] How to Control the Longer L100-1S-2 Pump via Matlab ? […]