Multiplexer Exapansion Board
This section provides a short guide to help you begin using your Rodeostat in conjunction with the multiplexer expansion board. This expansion board enables the Rodeostat to use up to seven independent working electrodes simultaneously. When connected to the Rodeostat additional features provided multiplexer may accessed programmatically via the Python API.
Enabling/Disabling the multiplexer
In order to use the multiplexer it must first be enabled. This can be done
using the set_mux_enabled()
method. To enable the
multiplexer you would run the following command
rsp = pstat.set_mux_enabled(True)
Similarly in order to disable the multiplexer you would run the command shown below
rsp = pstat.set_mux_enabled(False)
The response returned by the set_mux_enabled()
will be either True/False indicating whether or not the multiplexer has been
successfully enabled/disabled respectively.
Setting the working electrode channels
The multiplexer has seven working electrode channels. You don’t need to use all
the working electrode channels and the same time. The subset of working
electrode channel which are enabled can be set using the
set_enabled_mux_channels()
method. For example,
the following command will enable working electrode channels 1, 3 and 7.
pstat.set_enabled_mux_channels([1,3,7])
To query the device for the list of currently enabled working electrode
channels you can using the
get_enabled_mux_channels()
method. For example
the command
channel_list = pstat.get_enabled_mux_channels()
In order to run a test with the multiplexer expansion board the firmware requires that at least one working electrode channel is enabled.
Running tests
Running tests with the multiplexer expansion board enabled is almost exactly
the same as normal using the run_test()
method. For example, in order to run the cyclic voltammetry test you could do
the following.
data_dict = pstat.run_test('cyclic')
The main difference is that when the multiplexer is enabled the
run_test()
returns a dictionary containing the
measured data for each channel rather than a tuple of times, voltages and
currents. The keys of the dictionary returned are the enabled channel numbers
and the values are dictionaries with the time, voltage and current measurments
for that channel, keyed by ‘t’, ‘v’, and ‘i’ respectively. Thus the time,
voltage and current data for channel 1 can be accessed as follows.
chan1_time = data_dict[1]['t'] # channel 1, list of sample times
chan1_volt = data_dict[1]['v'] # channel 1, list of output voltages
chan1_curr = data_dict[1]['i'] # channel 1, list of current samples
The parameters for the test can be set as usual using the
set_param()
method as described in the
Setting voltammetric test parameters subsection, or by specifying the
parameters using the params keyword argument to the
run_test()
method as shown below
my_param = {
'quietValue' : 0.0,
'quietTime' : 1000,
'amplitude' : 2.0,
'offset' : 0.0,
'period' : 1000,
'numCycles' : 5,
'shift' : 0.0,
}
data_dict = pstat.run_test('cyclic', param=my_param)
Note
When using the multiplexer all electrodes (counter, reference and working)
are on digitally controlled switches. By default, when not running a test,
the electrodes will be disconnected. When using the
run_test()
method the electrodes will be
automatically connected using these switches prior to running the test.
Similarly, after the test is complete, the electrodes will be automatically
disconnected.
Note
At this time the squareWave test is not compatible with the multiplexer expansion board. Attempting to run this when the multiplexer is enabled will result in an error.
To get a list of the test which are compatibile with the multiplexer the
get_mux_test_names()
can be used.
test_names = pstat.get_mux_test_names()
This command will return a list such as that shown below
test_names = ['cyclic', 'sinusoid', 'constant', 'linearSweep', 'chronoamp', 'multiStep']
Manual/direct operation when the multiplexer
When using the Rodeostat with the multiplexer expansion board in manual/direct control mode a few special considerations are required. By default all electrodes (counter, reference and working) are disconnected and you must manually specify in software when you want to connect a specific electrode. The methods used for the reference and counter electrodes this are:
set_mux_ctr_elect_connected()
which connects/disconnects the counter electrode
set_mux_ref_elect_connected()
which connects/disconnects the reference electrode
For example, the following commmands connect the counter and reference electrodes.
pstat.set_mux_ctr_elect_connected(True) # connect the counter electrode
pstat.set_mux_ref_elect_connected(True) # connect the reference electrode
Similarly, the counter and referece electrodes can be disconnected as shown below.
pstat.set_mux_ctr_elect_connected(False) # disconnect the counter electrode
pstat.set_mux_ref_elect_connected(False) # disconnect the reference electrode
The enabled working electrodes are automatically connected to multiplexer. In
addition the working electrodes can be connected to current measurement
circuit (transimpedance amplifier) via the make-before-break multiplexer using the
set_mux_wrk_elect_connected()
method. This
command takes as an argument the number of the working electrode you would like
to connect to the measurement circuit. For example, to connect working
electrode number 3 to the current measurement circuit you would use the folling
command.
pstat.set_mux_wrk_elect_connected(3) # connect working electrode number 3 to TIA
Note
Only one enabled working electrode can be connected to the measurement circuit at a time. For example, if working electrode number 3 is connected the the current measurement and you wish to connect working electrode 5 to this circuit you can do this by running the command pstat.set_mux_wrk_elect_connected(5). This will connect working electrode 5 to the measurement circuit. However, prior to connecting working electrode 5, working electrode 3 will first be disconnected, using the a make-before-break protocol, before connecting electrode 5.
To disconnect all working electrodes from the measurement circuit the you can
run the set_mux_wrk_elect_connected()
method
with an argument of False. For example,
pstat.set_mux_wrk_elect_connected(False) # disconnect all working electrodes from TIA
Note
When working electrodes are enabled the are connected electronically to the
multiplexer (and Rodeostat). At this point the can sink/source current. The
set_mux_wrk_elect_connected()
just selects
which of the enabled working electrodes is connect to current measurent
circuit (transimpedance amplifier) using the make-before-break protocol.
To disconnect all electrodes (counter, reference and working) with a single command the
disconnect_all_mux_elect()
method may be used as shown below.
pstat.disconnect_all_mux_elect() # disconnect all electrodes