Si vous recherchez une pompe péristaltique de précision capable de gérer plusieurs canaux simultanément (jusqu'à 24), vous pourriez envisager la Longer BT100-1L. Cette pompe peut fournir des débits allant de 2 µL/min à 366.7 mL/min en fonction du nombre de galets dans la tête de pompe. C'est également une pompe péristaltique relativement bon marché qui possède un large éventail d'applications.
Le BT100-1L peut être contrôlé à distance depuis votre ordinateur, ce qui peut vous offrir plus de flexibilité et de commodité, surtout 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 BT100-1L 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 BT100-1L ?
Pour communiquer avec le BT100-1L en utilisant le protocole Longer RS485, vous aurez besoin des éléments suivants :
- Une pompe BT100-1L 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 (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 appuyez sur le bouton de réglage situé à l'avant de la pompe pour accéder à l'interface de réglage de la télécommande et activer le mode de télécommande 🕹️
- Assurez-vous que les paramètres de communication de votre plateforme de programmation correspondent à ceux du BT100-1L, à savoir :
- 1 bit de début
- 8 bits de données
- 1 parité paire
- 1 bit d'arrêt
- un débit en bauds de 1200 bits/s
Comment écrire des chaînes de commande pour le BT100-1L ?
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, ou 31 pour la diffusion)
- 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) avec la tête de pompe et le tube
- Lire le paramètre de fonctionnement (débit) avec la tête de pompe et le tube
- Calibration du débit
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) :
| XL | Régler la vitesse | État 1 | État 2 |
| 2 octets | 2 octets | 1 octet | 1 octet |
- XL, chaîne de commande de contrôle de 2 octets, 58 4C
- Régler la vitesse (2 octets) avec une unité de vitesse de 0,1 tr/min et une vitesse maximale de 100 tr/min (03 E8)
- É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 à la vitesse maximale de 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ù 1 correspond au sens horaire et 0 au sens antihoraire
La pompe répondra avec XL 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 DL.
La réponse de la pompe est la suivante :
| DL | Afficher la vitesse | État 1 | État 2 |
| 2 octets | 2 octets | 1 octet | 1 octet |
- DL, chaîne de commande de contrôle de 2 octets, 44 4C
Définir le paramètre de fonctionnement (débit) avec la tête de pompe et le tube
Cette application consiste à écrire à la pompe. La longueur totale de la PDU est de 10 octets où la chaîne de commande de contrôle se compose de :
| WL | 2 octets |
| Définir le débit | 4 octets |
| État 1 | 1 octet |
| État 2 | 1 octet |
| Numéro de tête de pompe | 1 octet |
| Numéro de tube | 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
- État 1 (1 octet) et État 2 (1 octet) comme déjà expliqué
- Numéro de tête de pompe (1 octet), tel que présenté dans les tableaux ci-dessous :
| Tête de pompe | Caractères |
|---|---|
| DG (6 galets) | 01 |
| DG (10 galets) | 02 |
| YZ1515/YZ2515 | 03 |
| 313D | 04 |
| DG15 | 05 |
- Numéro de tube (1 octet), tel que présenté dans le tableau ci-dessous :
| ID de tube (mm) 01 : DG (6 galets) 02 : DG (10 galets) 05 : DG15 | Numéro de tube |
|---|---|
| 0.13 | 01 |
| 0.19 | 02 |
| 0.25 | 03 |
| 0.38 | 04 |
| 0.44 | 05 |
| 0.51 | 06 |
| 0.57 | 07 |
| 0.64 | 08 |
| 0.76 | 09 |
| 0.89 | 10 |
| 0.95 | 11 |
| 1.02 | 12 |
| 1.09 | 13 |
| 1.14 | 14 |
| 1.22 | 15 |
| 1.30 | 16 |
| 1.42 | 17 |
| 1.54 | 18 |
| 1.65 | 19 |
| 1.75 | 20 |
| 1.85 | 21 |
| 2.06 | 22 |
| 2.29 | 23 |
| 2.54 | 24 |
| 2.79 | 25 |
| 3.17 | 26 |
| ID de tube (mm) 3 : YZ1515/YZ2515 4 : 313D | Caractères |
|---|---|
| 0.8 | 01 |
| 1.6 | 02 |
| 2.4 | 03 |
| 3.1 | 04 |
| 4.8 | 05 |
| 6.4 | 06 |
| 7.9 | 07 |
| 9.6 | 08 |
La pompe répondra avec WL Afficher débit (4 octets) et affichera sur son écran frontal le débit, la vitesse de rotation correspondante et le sens de rotation après réception de la chaîne de commande.
Lire le paramètre de fonctionnement (débit) avec la tête de pompe et le tube
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 | 2 octets |
| Afficher débit | 4 octets |
| État 1 | 1 octet |
| État 2 | 1 octet |
| Numéro de tête de pompe | 1 octet |
| Numéro de tube | 1 octet |
- RL, chaîne de commande de contrôle de 2 octets, 52 4C
Calibration du débit
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 :
| CL | Tester débit |
| 2 octets | 4 octets |
- CL, chaîne de commande de contrôle de 2 octets, 43 4C
- Tester débit (4 octets) avec une unité de débit en nL/min
Exemples de chaînes de commande de contrôle
- Régler le BT100-1L pour qu'il tourne dans le sens horaire à une vitesse de rotation de 20 tr/min
Chaîne de commande de contrôle : E9 01 06 58 4C 00 C8 01 01 DB
- E9 comme indicateur
- 01 comme adresse 1 de la pompe
- 06 comme longueur du PDU (58 4C 00 C8 01 01)
- 58 4C comme caractères de commande XL
- 00 C8 fait référence à la vitesse de rotation, 00 C8(hex) = 200(dec) ; l'unité de vitesse étant 0,1 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 des aiguilles d'une montre
- DB comme le résultat XOR de 01 (adresse de la pompe), 06 (longueur de la PDU) et 58 4C 00 C8 01 01 (PDU)
- Réglez le BT100-1L pour qu'il fonctionne dans le sens antihoraire à un débit de 3 mL/min avec une tête de pompe DG (10 galets) et un ID de tube de 0,25 mm
Chaîne de commande de contrôle : E9 01 0A 57 4C 00 2D C6 C0 01 00 02 03 3B
- E9 comme indicateur
- 01 comme adresse 1 de la pompe
- 0A comme la longueur de la PDU (57 4C 00 2D C6 C0 01 00 02 03)
- 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 inverse des aiguilles d'une montre
- 02 pour la tête de pompe DG (10 galets)
- 03 pour le tube avec un ID de 0,25 mm
- 3B comme le résultat XOR de 01 (adresse de la pompe), 0A (longueur de la PDU) et 57 4C 00 2D C6 C0 01 00 02 03 (PDU)
🚨N'hésitez pas à utiliser notre générateur en ligne user-friendly de chaînes de commande pour générer sans effort des chaînes de commande précises pour votre BT100-1L.
Comment communiquer avec le BT100-1L 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 BT100-1L dans le sens horaire à une vitesse de rotation de 20 tr/min.
%%% RUN PUMP 1, CLOCKWISE, AT A ROTATING SPEED OF 20 RPM
% Open the serial port with the data format corresponding to the BT100-1L
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Write the corresponding control command string
Str = 'E9 01 06 58 4C 00 C8 01 01 DB';
% 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);
- Dans un second extrait de code, faisons tourner la pompe dans le sens horaire à une vitesse de rotation de 10 rpm pendant 10s, puis faisons-la tourner dans le sens anti-horaire à une vitesse de rotation de 5 rpm pendant 30s avant de l'arrêter.
%%% RUN PUMP 1 CLOCKWISE AT A ROTATING SPEED OF 10 RPM FOR 10s, THEN COUNTER−CLOCKWISE AT A ROTATING SPEED OF 5 RPM FOR 30s BEFORE STOPPING IT
% Open the serial port with the data format corresponding to the BT100-1L
s = serialport('COM6', 1200, 'Parity', 'Even', 'DataBits', 8, 'StopBits', 1);
% Run pump 1 clockwise at a rotating speed of 10 rpm for 10s
Str = 'E9 01 06 58 4C 00 64 01 01 77'; % corresponding control command string
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
Pumping_time = 10;
while Pumping_time > 0
pause(1)
Pumping_time = Pumping_time − 1;
disp(['Remaining_time:' num2str(Pumping_time)])
end % 10s delay with a visible timer
% Run pump 1 counter-clockwise at a rotating speed of 5 rpm for 30s
Str = 'E9 01 06 58 4C 00 32 01 00 20'; % corresponding control command string
Data = sscanf(Str, '%2x').';
write(s, Data, uint8); % write the Data to the pump
Pumping_time = 30;
while Pumping_time > 0
pause(1)
Pumping_time = Pumping_time − 1;
disp(['Remaining_time:' num2str(Pumping_time)])
end % 30s delay with a visible timer
% Stop the pump
Str = 'E9 01 06 58 4C 00 32 00 00 21'; % 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
Nous espérons que cet article de blog vous a aidé à comprendre comment contrôler la pompe péristaltique multi-canaux Longer BT100-1L à distance via Matlab en utilisant le protocole LONGER RS485. Vous pouvez également utiliser d'autres plateformes de programmation telles que Python pour écrire et envoyer des chaînes de commande à la pompe et lire et 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 BT100-1L via Python ?”.
If you have any questions or feedback, please feel free to contact us at contact@darwin-microfluidics.com.



Comment Contrôler à Distance vos Pompes Péristaltiques Longer ?
[…] Comment contrôler la pompe Longer BT100-1L via Matlab ? […]
Comment Contrôler la Pompe Longer BT100-1L via Python ? - Darwin Microfluidics
[…] Nous espérons que cet article de blog vous a aidé à comprendre comment contrôler la pompe péristaltique multi-canaux Longer BT100-1L à distance via Python en utilisant le protocole LONGER RS485. Vous pouvez également utiliser d'autres plateformes de programmation telles que Matlab pour écrire et envoyer des chaînes de commande de contrôle à la pompe et lire et 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 BT100-1L via Matlab ?”. […]