Custom-Made Galvanostat-Potentiostat and Potentiometer For Decentralized Measurements of Ionophore-Based Membranes
Custom-Made Galvanostat-Potentiostat and Potentiometer For Decentralized Measurements of Ionophore-Based Membranes
Custom-Made Galvanostat-Potentiostat and Potentiometer For Decentralized Measurements of Ionophore-Based Membranes
Ionophore-Based Membranes
Stéphane Jeanneret, Gastón A. Crespo, Majid Ghahraman Afshar and Eric Bakker*
Department of Inorganic and Analytical Chemistry, University of Geneva, Quai Ernest-Ansermet 30, CH-
membranes
1
Figure 1S – Galvapot is an electronic instrument that contains a potentiostat, galvanostat and
potentiometry. It can be controlled either in stand-alone using its graphical touch screen or
connected to a PC through a USB or serial port. Many options are available for digital inputs or
outputs. A RS485 communication port is implemented in order to control external devices such
as peristaltic pumps, actuators, valves, etc.
2
CE electrode Max current: +/-4.0 mA
Max voltage +/-3.0 V
RE electrode Input current: max. 200 pA
Voltage range +/- 2.500 V +/- 2mV
WE electrode Current ranges +/- 5 mA (Rconv=100Ohm)
+/- 3.5 mA (Rconv=1kOhm)
+/- 350 uA (Rconv=10kOhm)
+/- 35 uA (Rconv=100kOhm)
+/- 350 nA (Rconv=10MOhm)
Precision +/- 0.1%
Chrono modes Acq speed 500 Hz
Nb max of points 3000 points (= 6 sec)
Serial link Factory option: USB or
RS232 on DB9 male , 57600, 8, N, 1
RS485 link For pump type Baoding Longer Precision type T100-
S102
Link RS485
Nb max pumps 30
10 direct on the Galvapot, for more
please consider adding RS485 repeaters.
Pump speed 0.01 to 99.9 rpm
Power supply External power supply: 6.5-9 V / 500 mA
(without external devices like pumps or
relays)
Weight 500g
Dimensions 14 cm x16 cm x7 cm
3
Figure 3S - The front panels contain two LEDs, two buttons (Start and abort) and a touch screen
(green display).
4
Figure 4S - Diagram of the acquisition board
5
Figure 5S –Diagram of the measurement board.
6
Fig 6S – Hyperbole interval confidence with a significance level of 95%.
7
Fig 7S – Labview interface for Potentiometry, Chronopotentiometry and Coulometry.
8
Fig 8S – Coulometric set-up.
9
Fig 9S – Coulometric readout.
10
Fig 10S - Hyperbole interval confidence with a significance level of 95%.
11
Fig 11S – Set-up of the chronopotentiometric measurements.
12
Fig 12S - Hyperbole interval confidence with a significance level of 95%.
13
Appendix 1: Acquisition board components (Figure 3, main manuscript)
a) Bat1: Battery for local clock
This is the battery that permits the local clock to be kept even without external power.
This battery is a model CR2032.
b) J24: GP_DigExt
This connector is used to control the measurement circuit board. There are no available pins for
the user on this connector.The internal GalvaPot application use these signals.
c) J23: GP AnaExt
This connector is used to control the measurement circuit board. There are no available pins for
the user on this connector. The internal GalvaPot application use these signals.
d) J22: Ext_SPI3
This connector contains many digital I/Os that are directly connected to the microcontroller:
PIC24FJ256GB206. It can be used as digital I/Os or external SPI expansion port. (the SPI3
controller is reserved for this port). The voltage can never be higher than 3.3V on these pins.
These pins must be protected against electrostatic discharges.
3.3V
RB8 / SPI3_nCS1
RD8 / SPI3_nCS2
RB9 / SPI3_SCL
RB14/ SPI3_SDI
RB15/ SPI3_SDO
RF3 / SPI3_nINT
GND
14
e) J27: I/O1
3.3V
GP7
GP6
GP5
GP4
GP3
GP2
GP1
GP0
GND
This port is available as eight digital outputs for user purpose. The outputs are 0V / 3.3V, max
5mA. These outputs are controlled by the MCP23008 number 2, with these pins connected in
series with R100ohm. Software access to these outputs is available using the “write_io1”
command.
f) J11: I2C2_Ext
This port is the extension of the local I2C2 port. It works at 3.3V, already contains the needed
pullups. This bus already contains three circuits.
GND
SDA
SCL
3.3V
15
g) J28: I/O2
3.3V
GP7
GP6
GP5
GP4
GP3
GP2
GP1
GP0
GND
This port is available as eight digital inputs for user purpose. The inputs are 0V / 3.3V. A 100
ohm resistors are in serie. These inputs are connected on the MCP23008 number 1, with these
pins connected in series with R100ohm. Software access to these outputs is available using the
“read_io2” command.
16
h) Leds + Buttons Ext
This connector permits to connect additional buttons and Leds.
17
j) Comm1 port
The Comm1 communication port provides a terminal that permits us to select the type of the
interface to the PC.
a) Standard USB interface:
or
b) Standard RS232 interface
2: RxD: input to uC
3: TxD: output from uC
5: GND
18
k) Comm2 RS485 port
The Comm2 communication port is fitted with a RS485 interface. It is used to connect the
GalvaPot to the external peristaltics pumps. These pumps are provided by Baoding Longer Pump
Co., Ltd; and we use the type T100-S102. The 3.3V and the GND connections are connected to
the respective signals through a R100 in serial. A 120 ohm terminaison is already mounted on-
board. Failsafe resistors are also included on-board, this configuration consume 20 Unit Loads
(UL). Then only 10 unit loads are available for user purpose. Then up to 10 pumps can be
directly connected to this connector. It is possible to connect up to 30 pumps if we add RS485
repeaters.
GND
RS485 B
RS485 A
3.3V
For loaded bus or long bus, please do not forget to add a 120 ohm resistor on the last load.
The Baoding Longer Pump type T100-S102:
19
l) J14: I2C1_Ext
This port is the extension of the local I2C1 port. It works at 3.3V, already contains the needed
pull-ups. This bus already contains one circuit on-board.
3.3V
SCL
SDA
GND
20
Appendix 2: Touch screen interface
2.Screen Menus
The touch screen permits to navigate through internal menus. Only pertinent information is
displayed on the screen.
GalvaPot
Version: 0.8
The bottom of the screen shows dynamic buttons that permits to enter different menus or execute
functions.
21
2.2 Manual Menu
Menu Manual
Please choose
an option
Pot Galv
22
2.2.1.1 Manual, Meas, Pot menu
23
2.2.2 Manual, Pump menu
This menu permits to control the peristaltic pumps connected to the RS485 link.
- 100 +
ACW CW CW
This System menu is an intermediate menu that permits to access to different options that
concerns the intern system.
Time
Rst
24
2.2.3.1 Manual, Sys, Time menu
The Time menu display the local time reference in real time.
It permits to modifiy the Date and/or the Hour stored in local.
12.08.2013 08:41:12
Date Hour
Day- 12 Day+
Mth- 08 Mth+
25
2.2.3.1.1.2 Manual, Sys, Time, Hour menu
Hou- 12 Hou+
Min- 08 Min+
Please confirm
Res
26
2.3 Experiment menu
27
Appendix 3: PC-GalvaPot
3.1 Connexion to a PC
When powered up, the Galvapot send a welcome message and indicates the main default states of the
internal values.
----------------------------
| GalvaPot rev0 |
| Galvanostat / Potentiostat |
----------------------------
Version: 0.8/SJ
Default values:
The '>' sign is the command prompt. It indicates that the Galvapot is ready to receive a new command.
The Galvapot is not case sensitive: each command can be entered lower or upper case.
Each command is evaluated by the GalvaPot when it receives the Carriage Return character (ASCII code
13).
Then a control is done by the GalvaPot. If everything is fine the command is executed. Otherwise the
Galvapot only send back an error message starting by ###.
28
3.3 Commands List
Commande Description
? Display the help
set_mode Set the mode of the device: galvanostat or potentiostat
set_i_range Set the conversion resistor for the I->U conversion
connect_cell Connect or disconnect the cell
read_cell Read the cell values
set_ref set the reference voltage
set_cur set the working current
read_ref read the reference voltage
read_cur reaf the working current
read_aux read the aux voltage
chrono start a chrono-potentiometry/galvanometry measurement
read_adcmain read the voltage on the main ADC
read_adcsec read the voltage on the secondary ADC
write_dac send a voltage on the DAC
set_led set a LED state
read_buttons read the buttons state
write_pump set a pump state
read_pump read the state of a pump
read_io2 read the state on the IO2 connector
write_io1 define the state on the io1 connector
write_iogp define the state on the IOGP connector
read_time read the internal clock
write_time set the internal clock
write_rtc_calib calibrates the internal clock
piezo send a sound on the piezo
info Display the GalvoPot informations
test Display 'Test'
version Shows the firmware version
Please note that if a command is followed by ‘?’, a help about needed parameters is shown.
Example:
> read_cell ?
read_cell <cont>
29
3.3.1 ? Display Help
Description: Display the list of the recognized commands.
Syntax: ?
Example:
> ?
Help
----
read_adcmain [0-3,a] [c] Read the main ADC, options: all and cont
read_adcsec [0-3,a] [c] Read the secondary ADC, options: all and cont
30
3.3.2 test Display ‘Test’
Description: Display ‘Test’
Used for example to test if the GalvaPot responds to the PC.
Syntax: test
Example:
> test
Test
Syntax: info
Example:
> info
Informations
Cell: Off
Mode: Potentiostat
R_Conv: 10000.0
Imin: -400.0 uA
31
3.3.4 version Display the Firmware version
Description: Display the Firmware version
Syntax: version
Example:
> version
Version: 0.8/SJ
Example:
> set_mode p
Mode = Potentiostat
32
3.3.6 set_i_range Set the current range for measurement
Description: Set the conversion resistor used for current measurement.
This command will connect physically a specific resistor on the
current-to-voltage module for the measurement on the Working
electrode.
Example:
> set_i_range 1
Example:
> connect_cell 0
Cell Off
33
Syntax: read_cell <cont>
Example:
> read_cell
CE RE WE DAC
Example:
RE=-2344.99975mV
34
3.3.10 set_cur Set the Working current
Description: Set the desired current on the Working electrode for Galvanostatic
measurement.
Example:
Syntax: read_ref
Example:
> read_ref
-0.001852V
Syntax: read_cur
Example:
> read_cur
-0.398159uA
Syntax: read_aux
35
Example:
> read_aux
0.000576V
0: 0.479221
0:1328.141723
31661:1315.491210
63322:1315.250366
94983:1315.014404
126644:1315.093017
For each field the first number is the timecode and the second number is the corresponding measurement.
The first line displays the measurement before applying the value.
The next lines displays the measurement after the value as been applied.
36
3.3.15 read_adcmain Read a value on the main ADC
Description: Read a voltage on the main ADC converter.
The channel 0 measure the Reference voltage.
The channel 2 measure the Working current-to-voltage value.
Example:
> read_adcmain 0
37
3.3.16 read_adcsec Read a value on the secondary ADC
Description: Read a voltage on the secondary ADC converter.
The channel 0 measure the AUX voltage.
The channel 1 measure the DAC output.
Example:
> read_adcsec 0
Example:
38
3.3.18 set_led Set a Led state
Description: Set the state of the Leds.
The Led 0 is the Running Led
The Led 1 is the Error Led
The Leds 2 and 3 are available on the ‘Leds+Buttons ext’ connector.
Example:
> set_led 0 1
Led 0 = 1
Syntax: read_buttons
Example:
> read_buttons
Buttons = 0 0 1 0
39
3.3.20 write_pump Send a command to a pump
Description: Send a command to a peristaltic pump connected to the RS485 port.
Example:
Example:
> read_pump 1
40
3.3.22 read_io2 Read the I/O2 connecteur state
Description: Read the state of the digital inputs of the I/O2 connector.
Syntax: read_io2
Example:
> read_io2
IO2 = 0x00
Example:
> write_io1 0 1
IO1, pin 0 = 1
Example:
> write_iogp 0 0
IO Galvapot, pin 0 = 0
Syntax: read_time
41
Example:
> read_time
13.08.2013 16:30:46
Example:
13.08.2013 16:34:00
42
3.3.27 write_rtc_calibWrite the RTC calibration code
Description: Write the RTC calibration code to adjust precisely the local clock.
Please read the MPC79410 datasheet for more informations
Example:
> write_rtc_calib 0
Example:
43
Appendix 4: Additional Files
http://www.unige.ch/sciences/chiam/static/crespo/Supplementary_Information.zip
All the drawing circuit boards are placed in the PCB folder. These files are in Gerber format.
44
File 18 - MCP79410.h Driver for the Real Time Clock
File 33 - Init.pdf Routine to init the PC serial port for the instrument
45