77
EZO-PMP-L Large Embedded Dosing Pump Accuracy +/- 2%, +/-2ml Flow rate 10ml to 750ml/min UART & I 2 C Data protocol 109 (0x6D) Default I 2 C address 3.3V – 5V (logic) 24V (motor) Operating voltage ASCII Data format Yes Food safe Any 8mm O.D. tubing Tubing size 10.3 meters (34’) Pump head 5 lead data cable Connector Single point Calibration Modes of operation Continuous dispensing Volume dispensing Dose over time Constant flow rate Dispense at startup V 1.1 Released 8/21 This is an evolving document, check back for updates. Written by Jordan Press Designed by Noah Press

Released 8/21 ˜˚˛˝˙ˆ˙˝ˇ - Atlas Scientific

  • 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