Difference between revisions of "Team:Aachen/Software"
Tschwanemann (Talk | contribs) |
(→Step 3 - Configuring the Reactors) |
||
(10 intermediate revisions by 3 users not shown) | |||
Line 18: | Line 18: | ||
=Challenges= | =Challenges= | ||
− | Developing a control software that is intuitive and responsive was | + | Developing a control software that is intuitive and responsive was not trivial. Translating the abstract idea of an experiment and the respective cultivation parameters into data structures and communication messages led to many challenges that are not apparent to the end user. |
* motors and sensory devices have to be calibrated in order to respond as expected | * motors and sensory devices have to be calibrated in order to respond as expected | ||
* online data comes in at high rates | * online data comes in at high rates | ||
Line 34: | Line 34: | ||
* '''MCP.Protocol''' implements a serial communication interface and the bioreactor communication protocol | * '''MCP.Protocol''' implements a serial communication interface and the bioreactor communication protocol | ||
* '''MCP.Measurement''' contains classes for live-logging and processing of incoming measurements | * '''MCP.Measurement''' contains classes for live-logging and processing of incoming measurements | ||
− | * '''MCP.Curves''' | + | * '''MCP.Curves''' harbors regression- and transformation functions that are used to map calibration profiles |
* '''MCP.Equipment''' implements pumps, sensors and reactors and their respective calibration and configuration information | * '''MCP.Equipment''' implements pumps, sensors and reactors and their respective calibration and configuration information | ||
* '''MCP.Cultivation''' implements controlling of cultivations, process parameters and their organization in an experiment library | * '''MCP.Cultivation''' implements controlling of cultivations, process parameters and their organization in an experiment library | ||
Line 64: | Line 64: | ||
All ''response points'' are accumulated into a ''response-curve'' which is exported to a file. This calibration file is later used by the MCP to calculate accurate setpoints for a given pumping rate using linear regression. | All ''response points'' are accumulated into a ''response-curve'' which is exported to a file. This calibration file is later used by the MCP to calculate accurate setpoints for a given pumping rate using linear regression. | ||
− | + | {{Team:Aachen/Video|mp4=/wiki/images/4/41/Aachen_Pump_calibrator.mp4|title=Pump Calibration|subtitle=After setting up the hardware, only two steps remain before starting the calibration: Selection of the COM port and a calibration mode.|size=large}} | |
+ | |||
+ | Over the past months we have used the Pump Calibrator to test countless pump prototypes. Not only the hardware, but also the software was optimized over time. The calibrator uses a triplicate linear regression to determine the pumping rate for a given setpoint. We found this to be much more reliable than taking the difference between the first and last point. | ||
==Step 2 - Biomass Sensor Calibration== | ==Step 2 - Biomass Sensor Calibration== | ||
Line 73: | Line 75: | ||
{{Team:Aachen/Figure|Aachen_BioreactorBiomass4Calibration.png|title=Calibration Curve of Biosensor 4|subtitle=The 3rd-degree polynomial regression has the formula OD(x)=-4.02x{{sup|3}}+6.97x{{sup|2}}-0.004737x+12.03. Horizontal error bars indicate the standard deviation over the measurement interval.|size=large}} | {{Team:Aachen/Figure|Aachen_BioreactorBiomass4Calibration.png|title=Calibration Curve of Biosensor 4|subtitle=The 3rd-degree polynomial regression has the formula OD(x)=-4.02x{{sup|3}}+6.97x{{sup|2}}-0.004737x+12.03. Horizontal error bars indicate the standard deviation over the measurement interval.|size=large}} | ||
+ | |||
+ | The sensor is '''well capable of measuring OD values smaller than 0.1'''. Last year we showed this for the cuvette-based device<ref>https://2014.igem.org/Team:Aachen/OD/F_device#odfachievements</ref> and also the online OD sensor can probably achieve a comparable performance. In our calibration run we observed that sensor '''values at ODs below 0.1 are still around 20 times greater than the standard deviations''' over a 15-second calibration interval. The limitation for these low OD values and also the greater source of variation was the sensitivity range of the reference photometer. | ||
==Step 3 - Configuring the Reactors== | ==Step 3 - Configuring the Reactors== | ||
− | After the | + | After the calibrations were imported, new reactors are configured in the "Reactors" tab of the MCP. |
{{Team:Aachen/Figure|Aachen_BioreactorReactorSetup.png|title=Reactor Configuration|subtitle=By clicking "Create New Reactor" (1), a popup window opens for configuring the new device. A ReactorID must be selected (2) and then calibration files are selected from dropdown menus (3). Pump or sensor calibration assignments can be changed later on.|size=large}} | {{Team:Aachen/Figure|Aachen_BioreactorReactorSetup.png|title=Reactor Configuration|subtitle=By clicking "Create New Reactor" (1), a popup window opens for configuring the new device. A ReactorID must be selected (2) and then calibration files are selected from dropdown menus (3). Pump or sensor calibration assignments can be changed later on.|size=large}} | ||
Line 83: | Line 87: | ||
==Step 4 - Starting a Cultivation== | ==Step 4 - Starting a Cultivation== | ||
− | {{Team:Aachen/Video|mp4=/ | + | {{Team:Aachen/Video|mp4=/wiki/images/5/51/Aachen_BioreactorCultivationSetup.mp4|title=Experiment Setup|subtitle=When new experiments are created, the involved reactors have to be selected. Process parameters of each cultivation can then be edited and the cultivations are started individually.|size=large}} |
Process parameters are edited in the Setpoint Window that is shown below. For a list of parameter symbols, please see [[Team:Aachen/Notebook/Construction_Manuals/Communication_Protocol|the communication protocol specification]]. | Process parameters are edited in the Setpoint Window that is shown below. For a list of parameter symbols, please see [[Team:Aachen/Notebook/Construction_Manuals/Communication_Protocol|the communication protocol specification]]. | ||
Line 92: | Line 96: | ||
=References= | =References= | ||
− | + | <references /> | |
{{Team:Aachen/Footer|color=green}} | {{Team:Aachen/Footer|color=green}} |
Latest revision as of 03:29, 19 September 2015