Here are some examples of type of custom programming interfaces that we can make for you.
The objective of this system is to conveniently integrate various components to do scientific experiments and laboratory processes. For the most part all of these types of instruments require some type of XYZ gantry and they normally need some type of data collection tool like an imager and a dispenser that moves liquid around. This system was put together with this in mind and was done with one of the most tedious smallest volume dispensers available, piezoelectric drop-on-demand subnanovolume microfluidic nozzles. In order for these things to work you need a stable microfluidic network, a displacement type syringe pump with a 3 way valve for loading, washing and sample aspiration, cameras both for imaging dispensing targets and stroboscopes for visualizing and measuring droplets in flight.
In summary here is a list of processes that include:
- 3D printer gantry with XYZ positioning and linear actuators with positioning feedback for another level of z motion
- Piezoelectric drop-on-demand sub nanoliter dispensing
- Cavro 3-way valve syringe pump control for aspiration, dispensing and washing of piezoelectric dispensing nozzles
- Head camera microscope and interrated image processing used for both as a tool for feedback positioning and for spot finding and pixel abundance measurement.
- Stroboscopic microscope for droplet in flight detection and measurement.
- Pressure compensation liquid level sensor feedback for closed loop control of a pump for stabilizing fluid levels in dispenser.
- Wash and dry diaphragm pump control.
For developing automated procedures, there are 3 different modes for controlling the automation:
- 1. An intuitive graphical user interface with displays for setting up and controlling:
- Manual positioning of the XYZ axis and linear actuators
- Position Driver is a window for creating and managing gcode files that are used for creating automated processes. Also there is a python script IDE for creating and running scripts that create more complicated gcode files
- Images is a window for storing and selecting/deleting images generated by the head camera microscope. There is a built in image processing tool that can be used for spot finding
- Live View is a window for displaying live streams of various webcams and digital microscopes. This can include the headcam microscope, stroboscope and cameras for tracking the gantry positioning.
- Workplate is a window for creating and managing objects for spotting.
- Gridding is a window for establishing the headcam microscope imageprocessing algorithm and for calibrating the gantries XY shift and outputs positioning gcode coordinates to spotting objects based on user input parameters (ie., in Workplate) and/or image recognition parameters.
- Piezo pump is a window for controlling the piezoelectric dispensing. This includes setting the drop number, voltage, pulse width, frequency, turning on/off an external trigger and querying and setting the pressure compensation liquid level. Also there are buttons for positioning the gantry to go to the stroboscope and for turning the stroboscope on and off and for taking images of using the stroboscope camera.
- Syringe pump is a window for controlling a precision OEM 3 way valve syringe pumps like Tricontinent C-series syringe pumps (http://www.tricontinent.com/products/cseries-syringe-pumps/). This window includes manual control of the syringe pump for aspirating and dispensing and purging the syringe to remove the air and for loading the syringe with system fluid for purging the microfluidic piezoelectric nozzle
- Source plate is a window of setting the source well XYZ and linear actuator positions.
- Wash and Dry is a window for setting up the wash and dry parameters.
- Stroboscope Images is a window of managing the stroboscope images, establishing the image processing algothrm and for displaying the statistics of the measured droplets.
- 2. A command line environment for sending commands and for retrieving data. Info about commands displayed at: command.help.php
- 3. A robot command list for synchronizing automated steps representated in gcode like transferlists. This enables one to send details automated steps. This includes positioning and dispensing or strob verification of the droplet volume and shape before dispensing. Or sending intricate wash and dry processes by through scheduling the positioning of the piezoelectric nozzle, turning the wash and dry pump on, running a syringe pump cycle, turning off the wash and dry pumps and positioning the piezoelectric nozzle to the sample well for aspiration.