Als u op zoek bent naar een precisie-peristaltische pomp die is ontworpen voor nauwkeurige laboratoriumtoepassingen, met een debiet van minder dan 1 µL/min tot maximaal 366,7 mL/min – afhankelijk van het aantal rollen in de pompkop – dan is de Longer L100-1S-2. Deze pomp verpompt uw vloeistoffen met de hoogste precisie over een breed bereik aan debieten en is bovendien relatief goedkoop.
Het kan op afstand worden bediend vanaf uw computer, wat u meer flexibiliteit en gebruiksgemak biedt, vooral als u complexe pompprogramma’s wilt uitvoeren met lussen, pauzes en variërende debieten.
In deze blogpost laten we je zien hoe je met de L100-1S-2 kunt communiceren via het LONGER RS485-protocol, een serieel communicatieprotocol waarmee je opdrachten naar de pomp kunt sturen en reacties van de pomp kunt ontvangen. Daarnaast geven we enkele voorbeelden en codefragmenten over hoe je met Matlab besturingsopdrachten kunt schrijven en naar de pomp kunt verzenden.
INHOUDSOPGAVE
Wat heb je nodig om met de L100-1S-2 te communiceren?
Om via het LONGER RS485-protocol met de L100-1S-2 te communiceren, hebt u het volgende nodig:
- Een L100-1S-2-pomp met een pompkop en een tube naar keuze
- Een RS485 -besturingsmodule die in de DB15-poort aan de achterzijde van de pomp wordt aangesloten
- Een seriële kabel waarmee de RS485-besturingsmodule op uw computer of apparaat wordt aangesloten
- Een programmeerplatform (in dit geval Matlab)
- Een basiskennis van het gegevensformaat, het commandoformaat en het PDU-formaat van het LONGER RS485-protocol (hieronder uitgelegd 👇)
Hoe stel je de communicatiepoort in?
Voordat u gegevens kunt verzenden naar en ontvangen van de pomp, moet u de communicatiepoort correct instellen. Volg hiervoor de onderstaande stappen:
- Sluit de DB15-connector aan op de DB15-poort aan de achterzijde van de pomp
- Zet de pomp aan en gebruik het toetsenbord aan de voorkant van de pomp om het instellingsmenu voor de afstandsbediening te openen en stel de afstandsbedieningsmodus in op "COM" 🕹️
- Zorg ervoor dat de communicatieparameters op uw programmeerplatform overeenkomen met die van de L100-1S-2 (zoals te zien is in de onderstaande afbeelding), namelijk:
- 1 startbit
- 8 databits
- Pariteit: P-n (geen pariteit), P-O (oneven pariteit) of P-E (even pariteit)
- Stopbit: S-1 (1 stopbit) of S-2 (2 stopbits)
- Baudsnelheid: 12 (1200 bits/s), 24 (2400 bits/s), 48 (4800 bits/s), 96 (9600 bits/s), 192 (19200 bits/s) of 384 (38400 bits/s)
Hoe schrijf je besturingsopdrachten naar de L100-1S-2?
Zodra je de communicatiepoort hebt ingesteld, kun je beginnen met het schrijven en verzenden van reeksen besturingsopdrachten naar de pomp. Een reeks besturingsopdrachten is een reeks hexadecimale tekens die een specifieke indeling volgt, bestaande uit:
- een startvlag (E9H)
- een pompnummer (1 tot en met 30)
- een lengte van de PDU (protocol data unit)
- een PDU, die de opdrachttekens en de parameters voor de gewenste toepassing bevat
- een frame check sequence (FCS), die wordt verkregen door de XOR-waarde te berekenen van het pompadres, de lengte van de PDU en de PDU zelf (bereken je FCS met behulp van onze online FCS-XOR-calculator)
De pdu en de lengte ervan zijn afhankelijk van de toepassing waarvoor de pomp wordt gebruikt. Enkele veelvoorkomende toepassingen zijn:
- Loopparameter instellen (rotatiesnelheid)
- Lees de bedrijfsparameter (rotatiesnelheid)
- Loopparameter (debiet) instellen
- Lees de bedrijfsparameter (doorstroomsnelheid) uit
- Stel de communicatieparameters van de pomp in
Voor elke toepassing is er een bijbehorende reeks opdrachttekens en parameters die u in de PDU moet opnemen. Deze parameters worden hieronder nader toegelicht.
Loopparameter instellen (rotatiesnelheid)
Deze toepassing bestaat uit het schrijven naar de pomp. De totale lengte van de PDU bedraagt 6 bytes, waarbij de reeks van besturingsopdrachten bestaat uit (in precies dezelfde volgorde):
| WJ | Snelheid instellen | Toestand 1 | Toestand 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- WJ, besturingsopdrachtreeks van 2 bytes, 57 4A
- Stel de snelheid (2 bytes) in met een snelheidseenheid van 0,01 rpm en een maximale snelheid van 100 rpm
- Toestand 1 (1 byte):
- bit 0 – start-/stopbit, waarbij 1 staat voor het starten van de pomp en 0 voor het stoppen ervan
- bit 1 – opstartbit, waarbij 1 staat voor het opstarten van de pomp op volle snelheid (100 tpm) en 0 voor het laten draaien van de pomp op normale snelheid
- Toestand 2 (1 byte):
- bit 0 – bepaalt dedraairichting, waarbij 0 staat voor met de klok mee en 1 voor tegen de klok in
De pomp reageert met WJ en zal na ontvangst van de besturingsopdracht op het scherm aan de voorkant het toerental en de draairichting weergeven.
Lees de bedrijfsparameter (rotatiesnelheid)
Deze toepassing bestaat uit het uitlezen van gegevens uit de pomp. De totale lengte van de PDU bedraagt 2 bytes, waarbij de reeks van besturingscommando’s als volgt luidt: RJ.
De reactie van de pomp bestaat uit:
| RJ | Snelheid weergeven | Toestand 1 | Toestand 2 |
| 2 bytes | 2 bytes | 1 byte | 1 byte |
- RJ, besturingsopdrachtreeks van 2 bytes, 52 4A
Loopparameter instellen (doorstroomsnelheid)
Deze toepassing bestaat uit het verzenden van gegevens naar de pomp. De totale lengte van de PDU bedraagt 8 bytes, waarbij de reeks met besturingsopdrachten bestaat uit:
| WL | Stroomsterkte instellen | Toestand 1 | Toestand 2 |
| 2 bytes | 4 bytes | 1 byte | 1 byte |
- WL, besturingsopdrachtreeks van 2 bytes, 57 4C
- Stel het debiet in (4 bytes) met de eenheid nL/min
De pomp zal reageren met WL Debiet weergeven (4 bytes)en zal na ontvangst van de besturingsopdrachtreeks op het scherm aan de voorzijde het debiet en de draairichting weergeven.
Lees de bedrijfsparameter (doorstroomsnelheid)
Deze toepassing bestaat uit het uitlezen van gegevens uit de pomp. De totale lengte van de PDU bedraagt 2 bytes, waarbij de reeks van besturingscommando’s RL is .
De reactie van de pomp bestaat uit:
| RL | Debiet weergeven | Toestand 1 | Toestand 2 |
| 2 bytes | 4 bytes | 1 byte | 1 byte |
- RL, besturingsopdrachtreeks van 2 bytes, 52 4C
De communicatieparameters van de pomp instellen
Deze toepassing bestaat uit het verzenden van gegevens naar de pomp om de verschillende communicatieparameters in te stellen. De totale lengte van de PDU bedraagt 8 bytes, waarbij de reeks met besturingsopdrachten bestaat uit:
| WID | Adres | Baudsnelheid | Pariteit | Stopbit |
| 3 bytes | 1 byte | 2 bytes | 1 byte | 1 byte |
- WID, besturingsopdrachtreeks van 3 bytes, 57 49 44
- Pompadres(1 byte), geldig bereik: 1-30
- Baudsnelheid (2 bytes), waarbij de bovenste byte 00H is en de onderste byte zoals weergegeven in de onderstaande tabel:
| Laagste byte | Baudsnelheid (bits/s) |
|---|---|
| 01H | 1200 |
| 02H | 2400 |
| 03H | 4800 |
| 04H | 9600 |
| 05H | 19200 |
| 06H | 38400 |
| Overige waarde | Ongeldig |
- Pariteit (1 byte), instelling zoals in de onderstaande tabel:
| Instelling | Pariteit |
|---|---|
| 01H | Geen pariteit |
| 02H | Oneven pariteit |
| 03H | Gelijk aantal |
| Overige waarde | Ongeldig |
- Stopbit (1 byte), instelling zoals in de onderstaande tabel:
| Instelling | Stopbit |
|---|---|
| 01H | 1 stopbit |
| 02H | 2 stopbits |
| Overige waarde | Ongeldig |
Voorbeelden van besturingsopdrachten
- Stel de L100-1S-2 zo in dat hij tegen de klok in draait met een toerental van 20 rpm
Besturingsopdrachtreeks: E9 01 06 57 4A 07 D0 01 01 CD
- E9als vlag
- 01als adres 1 van de pomp
- 06als de lengte van de PDU (57 4A 07 D0 01 01)
- 57 4A als opdrachttekens WJ
- 07 D0 verwijst naar het toerental, 07 D0(hex) = 2000(dec); de snelheidseenheid is 0,01 rpm ⇒ het toerental = 20 rpm (zie onze onlineomzetter voor getallenstelsels)
- 01om de pomp op normale snelheid te starten
- 01 om de pomp tegen de klok in te laten draaien
- CDals het XOR-resultaat van01(pompadres),06(PDU-lengte) en57 4A 07 D0 01 01(PDU)
- Stel de L100-1S-2 zo in dat hij met de klok mee draait bij een debiet van 3 ml/min
Besturingsopdrachtreeks: E9 01 08 57 4C 00 2D C6 C0 01 00 38
- E9als vlag
- 01 als adres 1 van de pomp
- 08 als de lengte van de PDU (57 4C 00 2D C6 C0 01 00)
- 57 4C als opdrachttekens WL
- 00 2D C6 C0verwijst naar het debiet; 00 2D C6 C0 (hex) = 3000000 (dec); de eenheid van het debiet is nL/min ⇒ het debiet = 3000000 nL/min = 3 mL/min
- 01om de pomp op normale snelheid te starten
- 00 om de pomp met de klok mee te laten draaien
- 38als het XOR-resultaat van01(pompadres),08(PDU-lengte) en 57 4C 00 2D C6 C0 01 00(PDU)
🚨Aarzel niet om onze gebruiksvriendelijke online commandostringgenerator te gebruiken om moeiteloos nauwkeurige besturingscommando's voor uw L100-1S-2 te genereren.
Hoe communiceer je met de L100-1S-2 via Matlab?
Hieronder worden stukjes Matlab-code weergegeven die laten zien hoe je de seriële poort opent, besturingsopdrachten naar de pomp schrijft en verzendt, en een eenvoudig pompprogramma schrijft.
Op basis van het eerste voorbeeld dat hierboven is gegeven, zorgt het volgende stukje Matlab-code ervoor dat de L100-1S-2 tegen de klok in draait met een toerental van 20 rpm.
%%% 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);
- Laten we in een tweede codefragment de pomp eerst 10 seconden tegen de klok in laten draaien met een debiet van 5 ml/min, en vervolgens 30 seconden met de klok mee met een debiet van 3 ml/min, voordat we hem stoppen.
%%% 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
Conclusie
We hopen dat deze blogpost je heeft geholpen te begrijpen hoe je de Longer L100-1S-2 peristaltische pomp op afstand kunt aansturen via Matlab met behulp van het LONGER RS485-protocol. Je kunt ook andere programmeerplatforms gebruiken, zoals Python, om reeksen besturingscommando’s te schrijven en naar de pomp te sturen, en de reacties van de pomp te lezen en te interpreteren. Voor meer informatie over dit onderwerp kun je onze blogpost “Hoe bedien je de Longer L100-1S-2-pomp via Python?”.
Mocht u vragen of opmerkingen hebben, neem dan gerust contact met ons op via contact@darwin-microfluidics.com.



Hoe bedien je deLonger L100-1S-2-pomp via Python? - Darwin Microfluidics
[…] We hopen dat deze blogpost je heeft geholpen te begrijpen hoe je de peristaltische pomp L100-1S-2 van Longer op afstand kunt aansturen via Python met behulp van het LONGER RS485-protocol. Je kunt ook andere programmeerplatforms gebruiken, zoals Matlab, om besturingsopdrachten te schrijven en naar de pomp te sturen, en om de reacties van de pomp te lezen en te interpreteren. Voor meer informatie over dit onderwerp kun je onze blogpost „Hoe bedien je de Longer L100-1S-2-pomp via Matlab?“ raadplegen. […]
Hoe kunt u uw peristaltische pompen van Longer op afstand bedienen?
[…] Hoe bedien je de L100-1S-2-pomp van Longer via Matlab? […]