Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
EZO-PMP-L™
Large Embedded Dosing Pump
Accuracy +/- 2%, +/-2ml
Flow rate 10ml to 750ml/min
UART & I2CData protocol
109 (0x6D)Default I2C address
3.3V – 5V (logic)24V (motor)Operating voltage
ASCIIData format
YesFood safe
Any 8mm O.D. tubingTubing size
10.3 meters (34’)Pump head
5 lead data cableConnector
Single pointCalibration
Modes of operation Continuous dispensingVolume dispensing
Dose over timeConstant flow rate
Dispense at startup
V 1.1Released 8/21
This is an evolving document, check back for updates.Written by Jordan PressDesigned by Noah Press
UART I2C
EZO-PMP-L TM dimensionsPower consumptionEZO-PMP-L TM tubingOperating principle Operating modes
Mounting plateCalibration theoryDispensing volumesDefault stateAvailable data protocols
Datasheet change logWarranty
UART modeReceiving data from deviceSending commands to deviceLED color definitionUART quick command pageLED controlFindContinuous modeSingle reading modeContinuous dispensingVolume dispensingDose over time Constant flow rateDispense at startupPause dispensingStop dispensingTotal volume dispensedCalibrationEnable/disable parametersPump voltageNaming deviceDevice informationResponse codesReading device statusSleep mode/low powerChange baud rateProtocol lockFactory resetChange to I2C modeManual switching to I2C
44566
161718192021222324252627282930313233343536373839404142434445
910121314
7576
Table of contents
I2C modeSending commandsRequesting dataResponse codesLED color definitionI2C quick command pageLED controlFindSingle report modeContinuous dispensingVolume dispensingDose over timeConstant flow rateDispense at startupPause dispensingStop dispensingTotal volume dispensedCalibrationEnable/disable parametersPump voltageDevice informationReading device statusSleep mode/low powerProtocol lockI2C address changeFactory resetChange to UART modeManual switching to UART
47484950515253545556575859606162636465666768697071727374
AttentionThe EZO Dosing Pump requires two power
supplies to operate.
Control system(Back side of dosing pump)
24Vto drive the motor
3.3V – 5.5Vfor the control system
3 Copyright © Atlas Scientific LLC
Power consumption
0.415 mA
0.13 mA
LED MAX STANDBY SLEEP
ON 13.7 mA 13.4 mA
13.1 mA 12.8 mA
12.5 mA 12.4 mA
12.3 mA 12.2 mA
ON
OFF
OFF
5V
3.3V
Absolute max ratingsMIN MAXTYPParameter
-65 °C 125 °C
85 °C25 °C-40 °C
Storage temperature(EZO-PMP-L™)
VCC
MotorMotor
Operational temperature(EZO-PMP-L™)
5V
24V
5.5V
26V
3.3V
17V24V = ~700mA
EZO-PMP-L TM dimensions
r 0.1
Max input / output pressure 101.3 kPaTubing life span
Cassette life span
Motor life span
+1,000 hrs.
1,500 hrs.
5,000 hrs.
48mm 91mm
139mm
88mm
46mm
99mm
2mm
40mm Ø 36mm
Weight 405g
4 Copyright © Atlas Scientific LLC
EZO-PMP-L TM tubingTan tubingSaint-Gobain ™ PharMed ™ BPT tubingLength: 15.24cmOuter diameter: 10mmInner diameter: 8mm
This tubing is highly chemically resistant and has 30X more resistant to mechanical wear than silicone tubing.
Hose barb fittingETFELength: 2.1cmOuter diameter: 10mmInner diameter: 4.4mm
Blue tubingSiliconeLength: 2x 30.48cmOuter diameter: 8mmInner diameter: 6mmBend radius: 24mmTemperature -67°C to 200°CMax pressure: 34 kPa (5 PSI)
Food safe
Food safe
Food safe
5 Copyright © Atlas Scientific LLC
Operating principle
Operating modes
Self-primingRun dry
Volume is always in ml.
Continuous dispensingRun the pump continuously 750ml/min ∞ (with supplied tubing)
Volume dispensingPump a specific volume (Smallest possible volume is 10 ml)
Max inputvacuum-101.3 kPa
Max outputpressure101.3 kPa
Dose over timePump a specific volume over a set time
Constant flow ratePump a specific volume per minute
Dispense at startupDispense a specific volume at startup
The EZO-PMP-L™ can operate in four different modes.
r 0.1
A B C
6 Copyright © Atlas Scientific LLC
2
V
V22
V
V24
This device requires two power supplies3.3V – 5.5V for the control system24V to drive the motor
The Atlas Scientific EZO-PMP-L™ consists of three main components.
Cassette Control system24 volt motor
The actual peristaltic pumping is done within the cassette. It has been designed to be easily detached from the motor and disassembled.
The 24 volt motor and control system have been soldered together. Both components are designed to operate as one single unit.
Cassettes can beautoclave sterilized
Keyed data and power connector 24 volt power input Status indicator LED
The control system has three main components
RX/SCLTX/SDAGNDVCCINT
–––––
White GreenBlack
RedBlue
Data and power cable pinout
r 0.1
1 2 3
Click
75mm
Click
1 2
1 2
Click
Pump speed vs. voltage
Interrupt pin
Removing cassette
There is no change in pump speed at different voltages.
When the pump is dispensing the interrupt pin goes high.
Press both release tabs on the cassette. Pull the cassette off of the motor.
2
V
V22
V
V24
5 RPM
2
V
V22
V
V24
5 RPM
=
INT*Done
98.1 G
“D,150” 146.2ml1
146.2 G
2 “Cal,146.2”3
00%
1%
2%
100 200
Dose in ml
Percent erro
r
300 400 500
20%
1%
2%
1 3 4 5 6 7 8 9 10
0.80%
0.00%
0.50% 0.50%0.43%
0.30% 0.33%
0.87%
0.67% 0.67%
146.2 G
r 0.1
8 Copyright © Atlas Scientific LLC
Mounting plate (optional)The cassette must be removed before you can screw the pump onto the mounting plate. Once the pump has been connected to the mounting plate, reattach the cassette.
9 Copyright © Atlas Scientific LLC
Calibration theoryBefore calibration is attempted all the air bubbles should be removed from the tubing. This is done by running the pump while tapping the tubing. If air bubbles are not removed from the tubing they will slowly group together into larger air bubbles. Over time this will lead to accuracy issues.
Ready forcalibration
Not readyfor calibration
1 G
Calibration typesVolume calibrationVolume over time calibration
Calibration is optional. Both types of calibration are independent of each other and can be done at any time. Calibration can be done at any volume however; Atlas Scientific recommends using volumes above 150ml.
Equipment needed for calibration
An accurate beaker of at least 250ml.
An accurate scale with a resolution of at least 1 gram.
Or
Ready forcalibration
Not readyfor calibration
1 G
Ready forcalibration
Not readyfor calibration
1 G
1 gram of water = 1ml250 grams of water = 250ml
10 Copyright © Atlas Scientific LLC
Calibration procedure
Make sure the tubing is full of water and has no bubbles before calibrating.1. Instruct the pump to dispense a volume of water. 2. Measure the dispensed amount to determine how much water was actually dispensed. 3. Calibrate the pump by sending it the volume of liquid you have measured.
1. Instruct the pump to dispense 150ml into a beaker on a scale.2. Measure the amount of liquid that was actually dispensed.3. Inform the pump how much liquid was actually dispensed.4. Calibration is now complete.
Once the pump has been calibrated it will accurately dispense any volume of liquid. It has not been calibrated specifically to the volume used during the calibration procedure (150ml). It has now been calibrated to all volumes.
Use the same procedure to perform a volume over time calibration.
ExampleCalibrate the pump by dispensing 150ml.
Calibration should be done with water and not a chemical
98.1 G
“D,150” 146.2ml1
146.2 G
2 “Cal,146.2”3
00%
1%
2%
100 200
Dose in ml
Percent erro
r
300 400 500
20%
1%
2%
1 3 4 5 6 7 8 9 10
0.80%
0.00%
0.50% 0.50%0.43%
0.30% 0.33%
0.87%
0.67% 0.67%
146.2 G
r 0.2
11 Copyright © Atlas Scientific LLC
Dispensing volumesThe EZO-PMP-L™ can only dispense volumes in whole numbers. The pump will not reject a request to dispense a volume with a decimal place, it will just ignore the decimal.
The minimum volume the EZO-PMP-L™ can dispense is 10 ml.
Dispense 22mlMCU
OK, 22ml
Dispense 56.78mlMCU
OK, 56ml
Dispense 9ml
Dispense 10ml
Dispense 11ml
Dispense 18ml
Dispense 1453.15ml
MCU
Too small, 9mlOK, 10mlOK, 11mlOK, 18mlOK, 1453ml
Example
Example
12 Copyright © Atlas Scientific LLC
Default state
9,600Baud
continuous
1 reading per second
on
Readings
Speed
LED
1,000 ms
GreenStandby
CyanTaking reading Transmitting
r 0.1
UART mode
SPI
Analog
RS-485
Mod Bus
4–20mA
Available data protocols
Unavailable data protocols
Default
r 0.1
14 Copyright © Atlas Scientific LLC
UART mode
r 0.1
Settings that are retained if power is cut
Baud rateCalibrationContinuous modeDevice nameEnable/disable parametersEnable/disable response codesHardware switch to I2C modeLED controlProtocol lockSoftware switch to I2C mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cut
r 0.2
UART mode
Data format
Vcc
RXData in
Data outTX
3.3V – 5.5V
Baud
8 data bits1 stop bit
no parityno flow control
3001,2002,4009,60019,20038,40057,600115,200
default
0V0V
VCC
Terminator carriage returnData type Long int Decimal places noneSmallest string 3 charactersLargest string 39 characters
Output volumeUnits mlEncoding ASCIIFormat string
CPU
TXRX
RX TXTX RX
RXTX
r 0.1
16 Copyright © Atlas Scientific LLC
Receiving data from device2 parts
Terminator
Carriage return <cr>
Hex:
Dec:
ASCII: 4
34
52
0D
13
9,600 baud(default)
Receiver
413 <cr>
Advanced
ASCII data stringCommand
Sender
<cr>
r 0.1
1 3
31 33
49 51
CPUTX
RX
RX TX
TX RX
RXTX
r 0.1
17 Copyright © Atlas Scientific LLC
2 parts
Terminator
Carriage return <cr>
Sending commands to device
Command (not case sensitive)ASCII data string
Hex:
Dec:
ASCII:
53
83
S l e e p
6C
108 101 101 112
65 65 70 0D
13
Advanced<cr>
r 0.1
Sender
Sleep <cr>
Receiver
CPUTX
RX
RX TX
TX RX
RXTX
18 Copyright © Atlas Scientific LLC
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
LED color definition
r 0.1
LED ON
5V
3.3V
+2.5 mA
+1 mA
19 Copyright © Atlas Scientific LLC
command quick referenceUART mode
Command Default stateFunction
All commands are ASCII strings or single ASCII characters.
change baud rate 9,600Baud pg. 41
enable/disable continuous mode enabledC pg. 23
performs calibration n/aCal pg. 33
dispense modes n/aD pg. 25 – 29
enable factory reset n/aFactory pg. 43
n/afinds device with blinking white LEDFind pg. 22
device information n/ai pg. 37
not setchange to I2C modeI2C pg. 44
all enabledenable/disable parametersO pg. 34
set/show name of deviceName pg. 36 not set
enabledenable/disable LEDL pg. 21
n/apause dispensingP pg. 30
enable/disable protocol lock disabledPlock pg. 42
check pump voltage n/aPv pg. 35
returns a single reading n/aR pg. 24
enter sleep mode/low power n/aSleep pg. 40
total volume dispensed n/aTv pg. 32
stop dispensing n/aX pg. 31
enable/disable response codes enable*OK pg. 38
retrieve status information enableStatus pg. 39
r 0.1
LED control
L,1 <cr>
<cr>
<cr>
LED on
L,0 LED off
L,? LED state on/off?
Command syntax
default
<cr>
<cr>
<cr>
<cr>*OK
<cr>*OKL,1
L,1 L,0
L,0
L,?
Example Response
<cr>
<cr>
<cr>?L,1 or ?L,0*OK
r 0.1
1,000 ms
GreenStandby
CyanTaking reading Transmitting
1,000 ms
GreenStandby
CyanTaking reading Transmitting21 Copyright © Atlas Scientific LLC
Settings that are retained if power is cut
Baud rateCalibrationContinuous modeDevice nameEnable/disable parametersEnable/disable response codesHardware switch to I2C modeLED controlProtocol lockSoftware switch to I2C mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cut
Find
Find <cr> LED rapidly blinks white, used to help find device
Command syntax
<cr> <cr>*OKFind
Example Response
r 0.1
This command will disable continuous modeSend any character or command to terminate find.
22 Copyright © Atlas Scientific LLC
Continuous mode
C,* <cr>
<cr>
<cr>
<cr>
<cr>
<cr> 1823*Done,23
*Done,23
?C,1 or ?C,0 or ?C,**OK
continuously reports volume once per second
C,1 continuously reports volume only when pumping
C,0
C,?
disable continuous reporting
continuous reporting mode on/off?
Command syntax
C,*
dispense 23ml
C,1
<cr>C,0
<cr>C,?
1823*Done,232323
<cr>
<cr>
<cr>
<cr>
<cr>
<cr>
<cr> <cr>
<cr>
<cr>
<cr>
Example Response
r 0.1
<cr><cr>
23 Copyright © Atlas Scientific LLC
Single reading mode
R <cr>
<cr>
returns a single value showing dispensed volume
Command syntax
R 25*OK
50*OK
(If issued half way through dispensing 50ml)
(If issued once dispensing has stopped)
<cr>
<cr>
<cr>
<cr>
Example Response
r 0.1
24 Copyright © Atlas Scientific LLC
Continuous dispensing
After running in continuous mode for20 days the EZO-PMP-L TM will reset.
D,* <cr>
<cr>
<cr>
dispense until the stop command is given
D,-* dispense in reverse until the stop command is given
D,? dispense status
Command syntax
Pump on/pump off
<cr>
<cr>
<cr> <cr>
<cr>*OK
<cr>*OK pump will continuously run at ~750ml/min(with supplied tubing)
pump will continuously run in reverse at ~750ml/min (with supplied tubing)
D,*
D,-*
D,?
Example Response
<cr>?D,*,1*OK
Response breakdown?D,*,1
last volumerequested
pump on
r 0.1
25 Copyright © Atlas Scientific LLC
Volume dispensing
where [ml] is any volume in millimeters >= 10
D,[ml] <cr>
<cr>
<cr>
dispense [this specific volume]
D,[-ml] dispense [in reverse this specific volume]
D,? dispense status
Command syntax
Pump a specific volume
<cr>
<cr>
<cr> <cr>
<cr>*OK
<cr>*OK 15 ml will be dispensed
405 ml will be dispensed in reverse
D,15
D,-405
D,?
Example Response
<cr>?D,-405,0*OK
Response breakdown?D,-450,0
pump offlast volumedispensed
r 0.1
26 Copyright © Atlas Scientific LLC
Short
Short
Dose over time
D,[ml],[min] <cr> Dispense [this volume], [over this many minutes]
Command syntax
Pump a fixed volume over a fixed time
<cr> <cr>*OK Dispense 7000ml over 20 minutesD,7000,20
Example Response
r 0.1
27 Copyright © Atlas Scientific LLC
Constant flow rate
DC,[ml/min],[min or *] <cr> [maintain this rate],[for this much time]
Command syntax
Maintain a constant flow rate
<cr>
<cr>
<cr>
<cr>
<cr>
*OK
*OK?MAXRATE,385
Dispense 50ml per minute for 40 minutes
[ml/min] = a single number (int or float) representing the desired flow rate [min or *] = the number of minutes to run or (*) indefinitely A negative value for ml/min = reverse
DC,50,40
DC,?
Example Response
The maximum flow rate is determined after calibration.If the flowrate entered is too fast the EZO-PMP- L TM will send an error.
After running in continuous mode for20 days the EZO-PMP-L TM will reset.
<cr>DC,? reports maximum possible flow rate
<cr><cr>
*TOOFAST*ER
evaporation rate = 50ml/min
flow rate = 50ml/min
Power
ON
OFF
INT pin
100mlDispensed
100mlDispensed
Dispense at startup
Dstart,[ml] <cr>
<cr>
<cr>
Dstart,off disables dispense at startup mode
dispense [this specific volume] at startup
Dstart,? startup dispense status
Command syntax
Pump a specific volume at startup and then stop
<cr>
<cr>
<cr>
<cr>*OK
<cr>*OKDstart,100
Dstart,off
Dstart,?
Example Response
r 0.1
?Dstart,100 or ?Dstart,0 *OK <cr>
<cr><cr>
Use this command to make a simple fixed-volume pump
29 Copyright © Atlas Scientific LLC
Pause dispensing Command syntax
Issue the command again to resume dispensing
P
P,?
<cr>
<cr>
<cr>
<cr>
pauses the pump during dispensing
pause status
P
P,?
*OK <cr>
Example Response
1,000 ms
GreenStandby
CyanTaking reading Transmitting
1,000 ms
GreenStandby
CyanTaking reading Transmitting
1,000 ms
GreenStandby
CyanTaking reading Transmitting
paused
PP
dispensing dispensing
<cr>
<cr><cr>
*OK
?P,1 or ?P,0paused unpaused
r 0.1
30 Copyright © Atlas Scientific LLC
1,000 ms
GreenStandby
CyanTaking reading Transmitting
1,000 ms
GreenStandby
CyanTaking reading Transmitting
*DONE,645.8Xdispensing Stopped
Stop dispensing Command syntax
X <cr>
<cr>
stop dispensing
X *DONE,v <cr>
Example Response
v = volume dispensed
r 0.1
31 Copyright © Atlas Scientific LLC
Total volume dispensed
TV,? <cr>
<cr>
<cr>
shows total volume dispensed
ATV,? absolute value of the total volume dispensed
Clear clears the total dispensed volume
Command syntax
total now 0.00
<cr>
<cr>
<cr>
?TV,434.50 <cr>
?ATV,623.00 <cr>
*OK <cr>
TV,?
ATV,?
Clear
Example Response
r 0.1
This data will be lost if the power is cut.
32 Copyright © Atlas Scientific LLC
Calibration
Cal,v <cr>
<cr>
<cr>
v = corrected volume
This command is used for both, single dose and dose over time calibrations.
Cal,clear delete all calibration data
Cal,? device calibrated?
Command syntax
<cr>
<cr>
<cr>
*OK <cr>
*OK <cr>
*OK <cr>Cal,146.2
Cal,clear
Cal,?
Example Response
Calibrate to the actual volume dispensed.
?Cal,1 or ?Cal,2 or
?Cal,3 or ?Cal,0
<cr>
<cr>
<cr>
<cr>fixed volume
both
volume/time
uncalibrated
r 0.1
33 Copyright © Atlas Scientific LLC
O, [parameter],[1,0] <cr>
<cr>
enable or disable output parameter
O,? enabled parameter?
Command syntax
enable volume being pumped
enable absolute volume pumped
disable total volume pumped
if all three are enabled
<cr>
<cr>
<cr>
*OK <cr>
*OK <cr>
*OK <cr>
O,V,1
O,ATV,1
O,TV,0
Example Response
<cr>O,? ?,O,V,TV,ATV <cr>
r 0.1
Enable/disable parameters from output string
34 Copyright © Atlas Scientific LLC
Pump voltageCommand syntax
PV,? <cr>
<cr>
check pump voltage
PV,? ?PV,24.67*OK
<cr><cr>
Example Response
Response breakdown?PV,
Pump input voltage
24.67
r 0.1
35 Copyright © Atlas Scientific LLC
1,000 ms
GreenStandby
CyanTaking reading Transmitting
Naming device
Name,n <cr>
<cr>
set name
Name,? show name
Command syntax
<cr>
<cr>
<cr>*OKName,zzt
Name,?
Example Response
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1 62 73 84 95 10 11 12 13 14 15 16
n =
Up to 16 ASCII characters
?Name,zzt*OK
<cr>
<cr>
r 0.1r 0.1
Name,?Name,zzt
1,000 ms
GreenStandby
CyanTaking reading Transmitting
*OK <cr>*OK <cr>Name,zzt <cr>
36 Copyright © Atlas Scientific LLC
Device information
Response breakdown
i <cr>
<cr>
device information
Command syntax
i
Example Response
?i,PMPL,1.1*OK
<cr>
<cr>
r 0.1
?i,Device
PMPL,Firmware
1.1
37 Copyright © Atlas Scientific LLC
Response codes
no response, *OK disabled
*OK disabled
Other response codes*ER unknown command
over volt (VCC>=5.5V)
These response codescannot be disabled
under volt (VCC<=3.1V)resetboot up complete, readyentering sleep modewake up
*OV*UV*RS*RE*SL*WA
ml/min set to fast*TOOFAST
413*OK
413
*OK,1 <cr>
<cr>
<cr>
enable response
*OK,0 disable response
*OK,? response on/off?
Command syntax
<cr>
<cr>
<cr>
<cr>
<cr>
<cr>
R
R
*OK,0
Example Response
default
<cr>*OK,? ?*OK,1 or ?*OK,0<cr> <cr>
r 0.1
dispensing complete*DONEdispense amount too low*MINVOL
38 Copyright © Atlas Scientific LLC
Reading device status
Restart codesP powered off
software resetbrown outwatchdog unknown
SBWU
?Status,Reason for restart
P,Voltage at Vcc
5.038
Response breakdown
Status <cr>
Command syntax
Example Response
?Status,P,5.038*OK
<cr>
<cr>
voltage at Vcc pin and reason for last restart
Status <cr>
r 0.1
39 Copyright © Atlas Scientific LLC
1,000 ms
GreenStandby
CyanTaking reading Transmitting
Sleep mode/low powerSend any character or
command to awaken device.
Sleep <cr>
Sleep <cr>
Command syntax
enter sleep mode/low power
Sleep0.415 mA
Standby13.4 mA
1,000 ms
GreenStandby
CyanTaking reading Transmitting
r 0.1
STANDBY SLEEP
13.4 mA 0.415 mA
0.13 mA12.4 mA
5V
3.3V
Example Response
wakes up device
Sleep
Any command
<cr>
*WA <cr>
*OK <cr>
*SL <cr>
40 Copyright © Atlas Scientific LLC
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
Change baud rate
Changing baud rateStandby Standby
*OK <cr>
(reboot)
Baud,n <cr>
Command syntax
change baud rate
n =
Example Response
*OKBaud,38400
Baud,?
<cr>
<cr>
<cr>
?Baud,38400*OK <cr>
<cr>
default
300120024009600192003840057600115200
r 0.1
Baud,38400 <cr>
41 Copyright © Atlas Scientific LLC
Protocol lock
*OK <cr>*ER <cr>
cannot change to I2C
*OK
*OK
?Plock,1 ?Plock,0or
Plock,1 <cr>
<cr>
<cr>
enable Plock
Plock,0 disable Plock
Plock,? Plock on/off?
Command syntax
<cr>
<cr>
<cr>
<cr>
<cr>
<cr> <cr>
Plock,1
Plock,0
Plock,?
Example Response
Locks device to UART mode.
cannot change to I2C
r 0.1
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
TX
INT
default
Plock,1 I2C,100
42 Copyright © Atlas Scientific LLC
Factory resetClears calibration LED on"*OK" enabled
(reboot)
Factory <cr>
Command syntax
Example Response
*OK
enable factory reset
Factory <cr> <cr>
Baud rate will not change
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
r 0.1
*RS <cr>*OK <cr>*RE <cr>
Factory <cr>
43 Copyright © Atlas Scientific LLC
Change to I2C mode
now in I2C mode*OK <cr>Green Blue
I2C,n <cr>
Command syntax
Example
Wrong example
Response
Response
*OK (reboot in I2C mode)
*ERn > 127
sets I2C address and reboots into I2C mode
I2C,100
I2C,139
<cr>
<cr> <cr>
n = any number 1 – 127
(reboot)
r 0.1
Default I2C address 109 (0x6D)
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
GreenUART standby
CyanTaking reading
PurpleChangingbaud rate
RedCommand
not understood
WhiteFind
I2C,100
44 Copyright © Atlas Scientific LLC
Manual switching to I2CDisconnect ground (power off)Disconnect TX and RXConnect TX to INTConfirm RX is disconnectedConnect ground (power on)Wait for LED to change from Green to BlueDisconnect ground (power off)Reconnect all data and power
••••••••
Short
Short
Wrong Example
Example
Disconnect RX line
Manually switching to I2C will set the I2C address to 109 (0x6D)
r 0.1
TX
RX
INT
45 Copyright © Atlas Scientific LLC
I2C modeTo set your EZO-PMP-L TM into I2C mode click here
The I2C protocol is considerably more complex than the UART (RS–232) protocol. Atlas Scientific assumes the embedded systems engineer understands this protocol.
r 0.2
Settings that are retained if power is cut
CalibrationChange I2C addressEnable/disable parametersHardware switch to UART modeLED controlProtocol lockSoftware switch to UART mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cut
r 0.1
I2C mode
Vcc 3.3V – 5.5V
Clock speed 100 – 400 kHz
0V0V
VCC
I2C address (0x01 – 0x7F)
109 (0x6D) default
SDA
SCL
Data formatData type floating pointDecimal places 3Smallest string 3 charactersLargest string 39 characters
Reading volumeUnits mlEncoding ASCIIFormat string
CPU
SDA
SDA SDASCL SCL
SCL
SCL
SDA
r 0.1
47 Copyright © Atlas Scientific LLC
5 parts
ASCII command string
Command (not case sensitive)Start109 (0x6D)
I2C address Write
Write
Stop
StartI2C address109 (0x6D) Stop
Command
Sleep
Sending commands to device
A6SDA
Start Stop
SCLA5 A4 A3 A2 A1 A0 W ACK ACK ACKFirst letter of command Last letter of command
The entire command as ASCII with all argumentsAddress bits
W = low
Advanced
Example
r 0.1
CPUSDA
SCL
SDA SDA
SCL SCL
SCLSDA
48 Copyright © Atlas Scientific LLC
Terminator(Dec 0)
7 parts
1 byte "413"109 (0x6D)
Response codeRead Data stringStart I2C address StopNull
A6 − A0SDA
SCLR ACK ACK ACK
N bytes of dataAll bytes
after data are NullAddress bits
ACKACK
NACK
Response code Data Data N NullNull
Start Stop
R = High
Requesting data from device
= 4131 0ASCII
Dec Dec
Advanced
413
r 0.1
52 49 51
CPUSDA
SCL
SDA SDA
SCL SCL
SCLSDA
49 Copyright © Atlas Scientific LLC
Response codes
I2C_start;I2C_address;I2C_write(EZO_command);I2C_stop;
delay(300);
I2C_start;I2C_address;Char[ ] = I2C_read;I2C_stop;
Processing delay
After a command has been issued, a 1 byte response code can be read in order to confirm that the command was processed successfully.
Reading back the response code is completely optional, and is not required for normal operation.
Example If there is no processing delay or the processing delay is too short, the response code will always be 254.
Response codesSingle byte, not string
no data to sendstill processing, not readysyntax errorsuccessful request
25525421
CPU
Receivingdata
Sendcommand
Processing delay
r 0.2
50 Copyright © Atlas Scientific LLC
RedCommand
not understood
PurpleChanging
I2C address
GreenTaking reading
BlueI2C standby
WhiteFind
LED color definition
r 0.1
LED ON
5V
3.3V
+2.5 mA
+1 mA
51 Copyright © Atlas Scientific LLC
command quick referenceI2C mode
Command Function
All commands are ASCII strings or single ASCII characters.
performs calibrationCal pg. 64
switch back to UART modeBaud pg. 73
dispense modesD pg. 56 – 60
enable factory resetFactory pg. 72
enable/disable LEDL pg. 53
pauses the pump during dispensingP pg. 61
enable/disable protocol lockPlock pg. 70
check pump voltagePv pg. 66
retrieve status informationStatus pg. 68
returns a single readingR pg. 55
total volume dispensedTv pg. 63
enter sleep mode/low powerSleep pg. 69
stop dispensingX pg. 62
enable/disable parametersO pg. 65
device informationi pg. 67
change I2C addressI2C pg. 71
r 0.1
finds device with blinking white LEDFind pg. 54
52 Copyright © Atlas Scientific LLC
LED control
?L,11 0ASCIIDec Null
?L,01 0ASCIIDec Null
1Dec
0Null
1Dec
0Null
L,1 LED on
L,0 LED off
L,? LED state on/off?
Command syntax
default
L,1
L,0
L,?
Example Response
300ms processing delay
orWait 300ms Wait 300ms
Wait 300ms
Wait 300ms
r 0.1
L,0L,1
53 Copyright © Atlas Scientific LLC
Find
Find LED rapidly blinks white, used to help find device
Command syntax
Find
Example Response
r 0.1
This command will disable continuous modeSend any character or command to terminate find.
300ms processing delay
1Dec
0NullWait 300ms
54 Copyright © Atlas Scientific LLC
Single report mode
25ASCII
1Dec
0Null
50ASCII
1Dec
0Null
TransmittingBlue
Standby
GreenTaking reading
Short
Short
Wait 300ms
Wait 300ms
Wait 600ms
R returns a single value showing dispensed volume
Command syntax
R
Example Response
300ms processing delay
r 0.1
(If issued half way through dispensing 50ml)
(If issued once dispensing has stopped)
55 Copyright © Atlas Scientific LLC
Continuous dispensing
After running in continuous mode for20 days the EZO-PMP-L TM will reset.
D,* dispense until the stop command is given
D,-* dispense in reverse until the stop command is given
D,? dispense status
Command syntax
Pump on/pump off
pump will continuously run at~750ml/min (with supplied tubing)
pump will continuously run in reverse at ~750ml/min (with supplied tubing)
D,*
D,-*
D,?
Example Response
Response breakdown
1Dec
0NullWait 300ms
1Dec
0NullWait 300ms
300ms processing delay
?D,*,1ASCII
1Dec
0NullWait 300ms
?D,*,1last volumerequested
pump on
r 0.1
56 Copyright © Atlas Scientific LLC
Volume dispensing
where [ml] is any volume in millimeters >= 0.5
D,[ml] dispense [this specific volume]
D,[-ml] dispense [in reverse this specific volume]
D,? dispense status
Command syntax
Pump a specific volume
15 ml will be dispensed
405 ml will be dispensedin reverse
D,15
D,-405
D,?
Example Response
Response breakdown
1Dec
0NullWait 300ms
1Dec
0NullWait 300ms
?D,-405,0ASCII
1Dec
0NullWait 300ms
300ms processing delay
r 0.1
?D,-450,0pump offlast volume
dispensed
57 Copyright © Atlas Scientific LLC
Dose over time
D,[ml],[min] Dispense [this volume], [over this many minutes]
Command syntax
Pump a fixed volume over a fixed time
Dispense 7000ml over 20 minsD,7000,20
Example Response
300ms processing delay
1Dec
0NullWait 300ms
r 0.1
58 Copyright © Atlas Scientific LLC
CPU
Constant flow rate
DC,[ml/min], [min or *] [maintain this rate], [for this much time]
Command syntax
Maintain a constant flow rate
Dispense 50ml per minutefor 40 minutes
DC,50,40
DC,?
Example Response
After running in continuous mode for20 days the EZO-PMP-L TM will reset.
300ms processing delay
1Dec
0NullWait 300ms
[ml/min] = a single number (int or float) representing the desired flow rate [min or *] = the number of minutes to run or (*) indefinitely A negative value for ml/min = reverse
DC,? reports maximum possible flow rate
?maxrate,385ASCII
1Dec
0NullWait 300ms
The maximum flow rate is determined after calibration.If the flowrate entered is too fast the EZO-PMP-L TM will send an error.
*TOOFAST*ER
r 0.1
evaporation rate = 50ml/min
flow rate = 50ml/min
Dispense at startup
Command syntax
Dstart,off
D,?
Example Response
1Dec
0NullWait 300ms
1Dec
0NullWait 300ms
Wait 300ms Wait 300ms
300ms processing delay
?Dstart,100ASCII
?Dstart,0ASCII
1Dec
1Dec
0Null
0Null
Dstart,[ml]
Dstart,off disables dispense at startup mode
dispense [this specific volume] at startup
Dstart,? startup dispense status
Dstart,100
or
Power
ON
OFF
INT pin
100mlDispensed
100mlDispensed
Pump a specific volume at startup and then stopUse this command to make a simple fixed-volume pump
60 Copyright © Atlas Scientific LLC
Pause dispensing Command syntax
Issue the command again to resume dispensing
P
P,?
pauses the pump during dispensing
pause status
P
P,?
Example Response
Settings that are retained if power is cut
CalibrationChange I2C addressEnable/disable parametersHardware switch to UART modeLED controlProtocol lockSoftware switch to UART mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cutSettings that are retained if power is cut
CalibrationChange I2C addressEnable/disable parametersHardware switch to UART modeLED controlProtocol lockSoftware switch to UART mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cutSettings that are retained if power is cut
CalibrationChange I2C addressEnable/disable parametersHardware switch to UART modeLED controlProtocol lockSoftware switch to UART mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cut
paused
PP
dispensing dispensing
300ms processing delay
1Dec
0NullWait 300ms
?P,1ASCII
1Dec
0Null
?P,0ASCII
1Dec
0NullWait 300ms Wait 300ms
paused unpaused
or
r 0.1
61 Copyright © Atlas Scientific LLC
Settings that are retained if power is cut
CalibrationChange I2C addressEnable/disable parametersHardware switch to UART modeLED controlProtocol lockSoftware switch to UART mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cutSettings that are retained if power is cut
CalibrationChange I2C addressEnable/disable parametersHardware switch to UART modeLED controlProtocol lockSoftware switch to UART mode
Absolute total volumeFindSleep modeTotal volume
Settings that are NOT retained if power is cut
*DONE,645.8Xdispensing Stopped
Stop dispensing Command syntax
X stop dispensing
X
Example Response
v = volume dispensed
300ms processing delay
*DONE,vASCII
1Dec
0NullWait 300ms
r 0.1
62 Copyright © Atlas Scientific LLC
Total volume dispensed
TV,? shows total volume dispensed
ATV,? absolute value of the total volume dispensed
Clear clears the total dispensed volume
Command syntax
total now 0.00
TV,?
ATV,?
clear
Example Response
?TV,623.00
?ATV,434.50
ASCII
ASCII
1
1
Dec
Dec0
0Null
Null
Wait 300ms
Wait 300ms
1Dec
0NullWait 300ms
300ms processing delay
r 0.1
This data will be lost if the power is cut.
63 Copyright © Atlas Scientific LLC
Calibration
Cal,v v = corrected volume
Cal,clear delete calibration data
Cal,? device calibrated?
Command syntax
Cal,146.2
Cal,clear
Cal,?
Example Response
Calibrate to the actual volume dispensed.
300ms processing delay
1Dec
0NullWait 300ms
1Dec
0NullWait 300ms
?Cal,1ASCII
?Cal,3ASCII
?Cal,2ASCII
?Cal,0ASCII
1Dec
1Dec
1Dec
1Dec
0Null
0Null
0Null
0Null
Wait 300ms
Wait 300ms
Wait 300ms
Wait 300ms
or
or
fixed volume
both
volume/time
uncalibrated
r 0.1
64 Copyright © Atlas Scientific LLC
O, [parameter],[1,0] enable or disable output parameter
O,? enabled parameter?
Command syntax
enable volume being pumped
enable absolutevolume pumped
disable total volume pumped
if all threeare enabled
O,V,1
O,ATV,1
O,TV,0
Example Response
O,?
300ms processing delay
1Dec
0NullWait 300ms
1Dec
0NullWait 300ms
1Dec
0NullWait 300ms
?,O,V,TV,ATV ASCII
1Dec
0NullWait 300ms
r 0.1
Enable/disable parameters from output string
65 Copyright © Atlas Scientific LLC
Pump voltageCommand syntax
PV,? check pump voltage
PV,?
Example Response
Response breakdown?PV,
Pump input voltage
24.67
300ms processing delay
?PV,24.67ASCII
1Dec
0NullWait 300ms
r 0.1
66 Copyright © Atlas Scientific LLC
Device information
Wait 300ms
i device information
Command syntax
i
Example Response
300ms processing delay
?i,PMPL, 1.11ASCIIDec
0Null
Response breakdown?i,
Device
PMPL,Firmware
1.1
r 0.1
67 Copyright © Atlas Scientific LLC
Reading device status
Wait 300ms
Status voltage at Vcc pin and reason for last restart
Command syntax
Status
Example Response
300ms processing delay
?Status,P,5.0381ASCIIDec
0Null
Restart codesP powered off
software resetbrown outwatchdog unknown
SB
WU
?Status,Reason for restart
P,Voltage at Vcc
5.038
Response breakdown
r 0.1
68 Copyright © Atlas Scientific LLC
Sleep mode/low power
Do not read status byte after issuing sleep command.
Sleep enter sleep mode/low power
Command syntax
Sleep
Example Response
no response
wakes up deviceAny command
Send any character or command to awaken device.
Sleep
SleepStandby
r 0.1
STANDBY SLEEP
13.4 mA 0.415 mA
0.13 mA12.4 mA
5V
3.3V
69 Copyright © Atlas Scientific LLC
Protocol lock
?Plock,11ASCIIDec
0Null
1Dec
0Null
1Dec
0Null
Plock,1 enable Plock
Plock,0 disable Plock
Plock,? Plock on/off?
Command syntax
Plock,1
Plock,0
Plock,?
Example Response
300ms processing delay
Wait 300ms
Wait 300ms
Wait 300ms
Locks device to I2C mode.
RedCommand
not understood
PurpleChanging
I2C address
GreenTaking reading
BlueI2C standby
WhiteFind
RedCommand
not understood
PurpleChanging
I2C address
GreenTaking reading
BlueI2C standby
WhiteFind
Plock,1 Baud, 9600
cannot change to UART cannot change to UART
r 0.1
TX
INT
default
70 Copyright © Atlas Scientific LLC
(reboot)
I2C address change
Warning!
I2C,n sets I2C address and reboots into I2C mode
Command syntax
I2C,101 device reboot
Example Response
300ms processing delay
I2C,101
r 0.2
n = any number 1 – 127Changing the I2C address will prevent communication between the circuit and the CPU until the CPU is updated with the new I2C address.
Default I2C address is 109 (0x6D.
71 Copyright © Atlas Scientific LLC
Factory reset
Factory enable factory reset
Command syntax
Factory device reboot
Example Response
(reboot)
I2C address will not change
Clears calibration LED onResponse codes enabled
r 0.1
Factory reset will not take the device out of I2C mode.
Factory
72 Copyright © Atlas Scientific LLC
Change to UART mode
n =
300120024009600192003840057600115200
Baud,n switch from I2C to UART
Command syntax
Baud,9600 reboot in UART mode
Example Response
(reboot)
RedCommand
not understood
PurpleChanging
I2C address
GreenTaking reading
BlueI2C standby
WhiteFind
RedCommand
not understood
PurpleChanging
I2C address
GreenTaking reading
BlueI2C standby
WhiteFind
r 0.1
RedCommand
not understood
PurpleChanging
I2C address
GreenTaking reading
BlueI2C standby
WhiteFind
Baud,9600
Changing to UART mode
73 Copyright © Atlas Scientific LLC
TransmittingBlue
Standby
GreenTaking reading
Short
Short
Manual switching to UARTDisconnect ground (power off)Disconnect TX and RXConnect TX to INTConfirm RX is disconnectedConnect ground (power on)Wait for LED to change from Blue to GreenDisconnect ground (power off)Reconnect all data and power
••••••••
Wrong Example
Example
r 0.1
Disconnect RX line
RX
RX
INT
74 Copyright © Atlas Scientific LLC
V1.0 – Initial release (March, 2021)
Firmware updates
Datasheet change logDatasheet V 1.1
Datasheet V 1.0
Added Mounting plate info on pg. 9
New Datasheet.
V1.01 - (May 26, 2021)• Changed minimum voltage for activation
75 Copyright © Atlas Scientific LLC
Warranty
The debugging phase
Atlas Scientific™ Warranties the EZO-PMP-L™ Large Embedded Dosing Pump to be free of defect during the debugging phase of device implementation, or 30 days after receiving the EZO-PMP-L™ Large Embedded Dosing Pump (which ever comes first).
The debugging phase as defined by Atlas Scientific™ is the time period when the EZO-PMP-L™ Large Embedded Dosing Pump is inserted into a bread board, or shield. If the EZO-PMP-L™ Large Embedded Dosing Pump is being debugged in a bread board, the bread board must be devoid of other components. If the EZO-PMP-L™ Large Embedded Dosing Pump is being connected to a microcontroller, the microcontroller must be running code that has been designed to drive the EZO-PMP-L™ Large Embedded Dosing Pump exclusively and output the EZO-PMP-L™ Large Embedded Dosing Pump data as a serial string.
• Soldering any part of the EZO-PMP-L™ Large Embedded Dosing Pump.
• Running any code, that does not exclusively drive the EZO-PMP-L™ Embedded Dosing Pump and output its data in a serial string.
• Embedding the EZO-PMP-L™ Large Embedded Dosing Pump into a custom made device.
• Removing any potting compound.
It is important for the embedded systems engineer to keep in mind that the following activities will void the EZO-PMP-L™ Embedded Dosing Pump warranty:
r 0.1
76 Copyright © Atlas Scientific LLC
Reasoning behind this warranty Because Atlas Scientific™ does not sell consumer electronics; once the device has been embedded into a custom made system, Atlas Scientific™ cannot possibly warranty the EZO-PMP-L™ Large Embedded Dosing Pump, against the thousands of possible variables that may cause the EZO-PMP-L™ Large Embedded Dosing Pump to no longer function properly.
Atlas Scientific™ is simply stating that once the device is being used in your application, Atlas Scientific can no longer take responsibility for the EZO-PMP-L™ Large Embedded Dosing Pump continued operation. This is because that would be equivalent to Atlas Scientific™ taking responsibility over the correct operation of your entire device.
1. All Atlas Scientific™ devices have been designed to be embedded into a custom made system by you, the embedded systems engineer.
2. All Atlas Scientific™ devices have been designed to run indefinitely without failure in the field.
3. All Atlas Scientific™ devices can be soldered into place, however you do so at your own risk.
Please keep this in mind:
r 0.1
77 Copyright © Atlas Scientific LLC