finalpaper.doc

18
Microfluidic Characterization Project by Yuval Levental ESIEE Paris DME [email protected] 1

Upload: yuval-levental

Post on 21-Feb-2017

116 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: finalpaper.doc

Microfluidic Characterization Project

by Yuval LeventalESIEE Paris

[email protected]

1

Page 2: finalpaper.doc

Abstract

This project involved performing several experiments with Fluigent devices, LabView software, and the Fluigent script module. I started out with the script module and programmed pressure settings, pressure increases, pressure decreases, wait periods, loops, flow settings, and switch settings. In LabView, I learned how to visually program using draggable loops and sequence boxes. The Fluigent devices I used were the pressure monitor, flow reader, and M-Switch. Overall, I learned about Fluigent equipment, Fluigent programming, and the LabView interface.

2

Page 3: finalpaper.doc

Table of Contents

Abstract ...2

Table of Contents ...3

List of Figures ...4

I - Introduction ...5

II – Fluigent Equipment ...5-8

III – Labview Programs ...9-13

IV – SciTE Programs ...13

Technical Conclusion ...14

Appendix ...15-16

3

Page 4: finalpaper.doc

List of Figures

Fluigent equipment ...5

MAESFLO Layout ...6

Responsiveness and Flowrate ...7

M-Switch ...8

Front Panel Window ...9

Block Diagram Window and Loops ...10

Incrementation Program ...11

Incrementation Program Diagram/Flowrate Program ...12

4

Page 5: finalpaper.doc

I – Introduction

This document guides the reader through the workings of the various Fluigent equipment devices, and the various Fluigent scripts and LabView projects created. This also includes descriptions of the Fluigent programs. Included are pictures and mathematical equations, along with commands and LabView images.

II - Fluigent Equipment

The MFCS-EZ is the Microfluidic Flow Control System. It is a pressure-based flow system for micro-fluidic and nano-fluidic applications. The maximum pressure value available is 7000 mbar, and it can control up to four reservoirs. The pressure is piped into the Fluiwell reservoirs, which sends the fluid into thin straws. The pressures can be controlled through a software interface, a SciTE script, or a LabView module.

5

Page 6: finalpaper.doc

This is a diagram of a "fluiwell", which is the tube where the pressurized gas goes into.

This is an example MAESFLO layout for the microfluidic control system. There is a start/stop button and a connect button on the left side of the screen. On most of the screen are sliders that can be moved up and down by the users to set the pressure level, along with the maximum limit.

This is a list of the specifications for the MFCS-EZ

6

Page 7: finalpaper.doc

This is an indicator of the responsiveness. This graph indicates that the MFCS system is far more responsive than a conventional high-precision syringe pump.

The flowboard can measure and set the flowrates for the four channels. The measurements are done through the flow unit devices. The flowrates can be set through the flowboard program on the computer, which in turn adjusts the pressure on the MFCS. Calibration between the flowboard and MFCS is required.

A micro heater provides a minimal amount of heat to the medium monitored. Two temperature sensors, located on bothslides of the heater, detect any temperature variation. A hotter liquid moves faster than a colder liquid.

7

Page 8: finalpaper.doc

This is a table of the calibrated flowunits based on size and maximum flowrate. Other parameters include accuracy, sensor inner diameter, and wetted materials.

The M-Switch is a device that takes inputs from the MFCS and outputs only certain inputs from a total of 10 maximum inputs. The 2-switch outputs to the recover and waste filling vials.

8

Page 9: finalpaper.doc

III - Labview Programs

The two main components of the program are the Front Panel and the Block Diagram. The front panel contains all the visible inputs and outputs for the program. These include graphs, indicators, and counters.

Front Panel Window

The “Block Diagram” contains all of the internals of the program, showing the sequence and the order of components. In both cases, the components are chosen by right-clicking the background and selecting the proper components.

9

Page 10: finalpaper.doc

Block Diagram Window

Component Examples

The two main loops are the for loop and the while loop. The for loop has a numerical iteration count and no stop condition. The while loop has no numerical iteration count and a stop condition.

For Loop on the Left, While Loop on the Right

10

Page 11: finalpaper.doc

This program increments pressures by 10 mbar for every given period length for a designated number of cycles, until a certain value is reached. When this value is reached, the program will cycle down by 10 mbar until the total number number of loops has been met. This is achieved through the true/false triangle.

For this program to work, the Fluigent modules for LabView must be installed using a special interface called VBS DataPlugins. The first two modules used here are the "Detect" module, which detects the MFCS device, and the serial finder module, which detects the serial number. The "initialize" module is used to initialize the MFCS device, the write modules, with a pencil icon, write the pressure value to the MFCS ports, and the read modules, with a droplet icon, read the flowrates.

If the maximum aded pressure (Pressure 2) does not exceed itself, then 10 mbars are added. Otherwise, 10 mbars are subtracted. Both pressures are graphed on the corresponding "cluster method" graph.

The loop featured here is a 'while' loop, which runs until a certain condition is met, and does not have an iteration count. There is also a period counter in milliseconds, which determines the length of the loop.

11

Page 12: finalpaper.doc

This is the user interface of the same program. Pressure 1 is the initial starting pressure, and Pressure 2 is the maximum added pressure desired. Other inputs include the period in ms and the MFCS serial number. The graph displays the increasing and decreasing pressure. The array indexes the increasing and decreasing values.

This program accepts channel pressures as inputs and outputs the flowrates on an array. Both the MFCS and flow reader are used in this case. The program is created by connecting several blocks together.

The program starts by initializing the command "Detect MFCS_EZ". Another command is used to output the Flowboard serial number and MFCS serial number. The channel pressures which are inputted are read into the channels, and the Flow Rates are outputted.

12

Page 13: finalpaper.doc

The channel pressures are displayed on the left graph with respect to time. The flowrates are displayed on the right graph.

IV - SciTE Programs

The script always starts with the #include <Group.au3> declaration. It is directly followed by the Init() sequence.

• #include <Group.au3>

• Init()

Other commands:

• Pressure(X,Y,Z...) - set the pressures starting from Channel 1

• Wait(t) - Time to wait in seconds

• MSwX(n) - Set the M-switch to a specific position

• End() - Finish the program

• Load("MF_320_FRCM_0352698260799") - Required Identifictation file to set flowrates

• Flowrate(X,Y,Z...) - set the flowrates starting from channel 1

The two main programs I created where the Flowscript and Pressure Control scripts. The Flowscript is a very simple program which to begin with, loads an identification file that is necessary. The program then waits 5 seconds, and Channel 1 is set to a flowrate of 20 ul/min. The program runs until a volume of 50 ul is reached, then the flowrate of 0 ul/min is set and the program finishes.

For the Pressure Control script, the pressure for channel 1 is set to 500 mbars. Ten seconds pass, the M-Switch is set to position 1, and five seconds pass. The M-Switch is set to position A, and sixty seconds pass. The first pressure is then set to zero, and the second pressure is set to 1000 mbars. The M-Switch is set to position 3. Five seconds pass, and the M-Switch is set

13

Page 14: finalpaper.doc

to position A. Sixty seconds pass, and the pressures are set to zero. One second passes, and the program terminates.

Technical Conclusion

In conclusion, I have learned several skills in this research project. I have learned about LabView programming, SciTE script programming, and Fluigent equipment. LabView programming was unique to me, as the language is very visual and programming resembles creating a diagram. SciTE script programming was very simple and almost resembled everyday english. The Fluigent equipment involved pipetting fluids using pressure and a flowrate device.

Personal Conclusion

This project lasted three months, from the beginning of October to the middle of January, with a two-week break in between. I worked in both ESIEE in a couple lab rooms, and in the Lavoisier lab at UPEM.

SciTE scripts were easy to program, as they resembled everyday language. However, the LabView programs were far more difficult, as they involved creating a multi-layered diagram. I needed to figure out how to properly order the components, and which loop squares to use.

My main supervisor was Imaddeine Azzouz. We got along pretty well. Usually, we would meet through phone at a designated location. I worked on the project 15-20 hours a week. Overall, I improved my communication, attendance, and writing skills.

Appendix

14

Page 15: finalpaper.doc

Flowscript

#include <Group.au3>

Init()

Load("MF_320_FRCM_0352698260799")

;This function loads an identification file that must exist. Note: You must start with a load function before using any other

;Flow-rate command

wait(5)

;Due to the asynchronous aspect of Load function, we recommend to add a Wait function with 5 seconds.

;Depending of your system the amount of time to wait can be longer or shorter.

Flowrate(20); Set flow-rate channel 1 to 10 µl/min, flow-rate channel 2 to 20 µl/min, etc. || Note: Missing value(s) = 0.

Volume(50)

Flowrate(0)

End() ;You MUST end the script with this order!

Pressure Control

#include <Group.au3>

Init()

Pressure(500); Set all pressures to zero because all values are missing

wait(10); Wait 10 seconds

MSwX(1);Set the first three M-SWITCH TM connected to the SWITCHBOARD to a specific position (1 to 10). This command takes 1500 ms to run because M-SWITCH TM needs time to change position.

wait(5)

MSw("A",1);Set the M-SWITCH TM connected to the port letter "A" of the SWITCHBOARD to the position 8. Note: You cannot use this command for a port without M-SWITCH TM connected.

wait(60)

Pressure(0,1000); Set all pressures to zero because all values are missing

15

Page 16: finalpaper.doc

MSwX(3);Set the M-SWITCH TM connected to the port letter "A" of the SWITCHBOARD to the position 8. Note: You cannot use this command for a port without M-SWITCH TM connected.

wait(5)

MSw("A",3)

wait(60)

Pressure(0); Set all pressures to zero because all values are missing

wait(1); Wait 10 seconds

End() ;You MUST end the script with this order!

16