Cerebrospinal Fluid Pump
[[File:|300px|center|alt=]] | |
Image by Krissy Buckler | |
Sponsors | |
Team Name | neuroForce |
Duration | Summer 2017 - Fall 2017 |
Faculty Adviser |
|
Mentor |
|
Client |
|
Team Members |
|
The goal of the project is to design, test and refine a compact, low-cost, oscillatory-flow pump that will reproduce realistic cerebrospinal fluid (CSF) flow conditions within a given range of human/animal cerebrospinal models. Flow rates mimic cardiac and respiratory frequencies and have an adjustable frequency and flow volume.
Problem Definition[edit | edit source]
Background[edit | edit source]
CSF Central nervous system (CNS) diseases can be difficult to treat because many potential drugs cannot reach the brain due to the blood brain barrier. A potential new route to get drugs to the brain is to inject them into the cerebrospinal fluid (CSF). One way to bypass the blood brain barrier is by direct injection of drugs to the CSF. Drugs can then spread/mix in the CSF and be distributed directly to the brain and spinal cord tissue surface.
The CSF is a clear water-like fluid located around the entire brain and spinal cord and pulses each time the heart beats thereby making it a good medium to transport drugs to the CNS. One problem with delivering drugs to the CNS by the CSF is that it requires extremely expensive (and ethically nebulous) animal studies to understand and optimize the delivery device and protocol. Thus, the NIML is designing the world's first laboratory bench-top simulator of the complete CSF system for brain therapeutic development. They have an ongoing project to make a detailed in vitro model that accurately represents the CSF anatomy and flow that would accommodate testing with medical devices. The Cerebrospinal Fluid Pump project is designed to pair with the NIML's existing human spinal model to make a complete CSF system simulation.
Oscillatory Flow
By definition flow of fluid, gas, or electricity moves along or out steadily and continuously in a current or stream and oscillation is the repetitive variation, typically in time, of some measure about an equilibrium. Together, oscillatory flow is the variation of a wave frequency in time.
The oscillatory waveform chosen to mimic the same frequency of a heat beat takes the form of a sinusoidal wave. Typically, a resting healthy human heat beat can range anywhere from 60 to 100 beats per minute (bpm). The use of fluid dynamics can assist in predicting the behaviors of flow in a pump in multiple ways. With a known frequency or speed of a fluid, displacement or stroke volume, and the area of the cylinder that the fluid is passing though, then the continuity equation can be used as a way to model fluid flow. Another basic equation that can be used to predict other aspects of fluid flow such as pressure is Bernoulli’s Equation.
Syringe travel force
Time and force required for a manual injection (or time required for an injection using an autoinjector) are important and may impact the usability of the product by the end-user and thus compliance. The force required for the injection of a solution at a given injection rate via a needle of predetermined gauge and length is referred to as ‘syringeability’ [2]. The Hagen-Poiseuille equation can be utilized to estimate the travel (or glide) force (Equation 1).
Q = Volumetric flow rate μ = Fluid viscosity L = Needle length R = Needle inner diameter A = Cross sectional area of syringe plunger F = Frictionless travel force | |
Deliverables[edit | edit source]
The cerebrospinal-fluid pump must produce an oscillating flow within spinal cord models ranging from the size of a human to a small vertebrate. This flow must be adjustable in volume and frequency. Ideally the design should be low-cost and easy to operate, as it is intended to be widely distributed for laboratory testing. The design must also include a 5V, square wave-form trigger that simulates the human heartbeat in MRI testing.
Specifications[edit | edit source]
Previous Design Considerations[edit | edit source]
Belt Design | Flywheel Design | Linear Actuator |
|
|
|
Project Learning - Types of Actuators[edit | edit source]
Linear Motion: creates motion in a straight line, often made by harnessing circular motion and transforming it into linear.
Electro-Mechanical Actuator:
1.Screw :by rotating a machine’s nut or screw, its counterpart is moved in a line.
2.Wheel & axle:a rotating wheel moves a cable or belt.
3.Cam: a sliding pin connection converts rotation to linear motion.
Piezoelectric Actuator:
Properties of its material (usually ceramic) cause it to expand when voltage is applied. Works well for precise positioning, uses little power, generates no magnetic field, and has the fastest acceleration rate. However its range of motion is limited and the material is susceptible to hysteresis. A good option for future development with MRI testing.
Hydraulic Actuator:
Made of a hollow cylinder with piston surrounded with fluid. Since liquids are incompressible (nearly), can give precise linear displacement. Useful for heavy loads. Disadvantages are noise, heat, and leakage trouble.
Pneumatic Actuator:
Like the hydraulic actuator, but uses compressed gas to generate force. Not suitable for heavy loads; typically used in applications requiring less than 100 PSI, or for high force and small displacements. A good option for future development with MRI testing.
Final Product Design - Linear Actuator[edit | edit source]
Pump Parts/Assembly[edit | edit source]
LCD Menu[edit | edit source]
LCD Technical Details
|
Menu Selection
The interface design of the Cerebrospinal Fluid Pump includes a push button menu system and a LCD with a 16 x 2 character display screen. The purpose of this component in the interface design is to be able to display the different options available to the user in a menu styled format so that they can easily select their desired input variables at any given test run. The user input variable are the type of wave form the pump will mimic, the frequency at which the pump preforms, and the oscillating displacement of fluid in the syringe during the test run. With in each of these variables, there are multiple options that can be chosen by the user depending on the needed performance parameters per experiment.
Coding/PWM[edit | edit source]
N = 1; // Extension_______________________________________________________ // Extension until the actuator reaches the end of its stroke. // The value is then read and set as the high voltage level for 50mm while (N == 1) { Pos1 = analogRead(PosSense); digitalWrite(AIN1, LOW); digitalWrite(AIN2, HIGH); analogWrite(PWMA, 180); delay(250); Pos2 = analogRead(PosSense); if (Pos1 == Pos2) { Top = Pos1; N = 2; Pos1 = 0; //Values are reset for Pos2 = 1000; //the retraction calibration } }
The above coding sets the reference voltage that is used to set the gain for the actuator control loop. The above section is repeated in the opposite fashion to set the reference ground voltage.
// Calibration_____________________________________________________ Gain = 50.00 / (Top - Bottom); //Gain, length per voltage (mm/volt) Dis = Gain * (analogRead(PosSense)); //Displacement in mm__________ while (Dis < Start) { //Actuator extended to initial value digitalWrite(AIN1, LOW); digitalWrite(AIN2, HIGH); analogWrite(PWMA, 120); Dis = Gain * float(analogRead(PosSense)); }
This calibration uses the set stroke displacement of 50mm and linearly correlates the voltage references of the potentiometer to the actuator displacement.
X = float(analogRead(PosSense)) * Gain; //Reads Current actuator Position_____
Control = (K_i * (Position - X)); //Power to be supplied to actuator____
if (Control <= 0) { Direction1 = HIGH; //Retraction when Control value is negative___________________ Direction2 = LOW; } if (Control > 0) { Direction1 = LOW; //Extension when Control value is positive____________________ Direction2 = HIGH; } // Power set to the actuator from 0 to 255, 255 is max________________________________ if (abs(Control) >= 255) { Control = 255; } else { Control = 5 + abs(Control); } //Output Values to Actuator Controller__________________________________________________ digitalWrite(AIN1, Direction1); digitalWrite(AIN2, Direction2); analogWrite(PWMA, Control);
This final portion of the code controls the actuator itself in the main program loop. The variable Position is the desired actuator position at a given time t, this value is dependent on the function input. From the desired position and the measured position, a control value is output that controls direction and power to the actuator.
Arduino[edit | edit source]
Wiring Diagram
The wiring diagram (left) shows all electrical wiring connections needed for the control system. This includes, buttons, actuator, actuator feedback, motor driver, 12v supply and LCD interface. |
FFT[edit | edit source]
The big-picture of the pump project was to simulate the pulsation of the brain and its effect on the cerebrospinal fluid (CSF). These pulsations originate in the heart, meaning that as the heart beats, blood is pulsed to the brain, causing it to expand and contract, causing the CSF fluid to pulse in a similar manner.
The University of Idaho’s Neurophysiological Imaging and Modeling Laboratory (NIML) provided averaged flow rate data points, taken from a cross-section of the cervical spine, showing CSF flow over time. The raw data proved to be a complicated waveform, so to convert it into a manageable function for the actuator, we decided to perform an FFT analysis on the data, to extract the frequencies most significant in driving the waveform.
In Matlab, the Fast Fourier Transform (FFT, the quick-fix version of the DFT), converts discrete, equally-sized samples of a function into a function of frequency. In simple terms, it breaks down a set of time-dependent data points into its building-blocks, a series of sine (or cos) waves which are stacked to create a complex waveform.
Validation[edit | edit source]
System Load Test & Response[edit | edit source]
The team ran some preliminary tests with the spinal fluid system filled with water to ensure that the actuator could handle the syringe load. We also made rough flow measurements at end opposite the actuator, to confirm that the flow rates were similar. The actuator performed well, although precise measurements of any kind were not possible since the waveform code was still in progress.
Future Testing[edit | edit source]
With fully assembled system, the flow rate can be verified by inserting a vertical tube at the end with known diameter and measuring displacement over time. Additional testing can be done with pressure sensors and NIML's current model, as time allows.
Team Members[edit | edit source]
Brian Aldrimk:
Major: Mechanical Engineering/Pre-med
| |
Krissy Buckler:
Major: BS in Mechanical Engineering
| |
Claire Majors:
Major: Mechanical Engineering
| |
Nick Shaber:
Major: Mechanical Engineering
|
Additional Documentation[edit | edit source]
Project Schedule
File:Gantt Chart - Wiki Page .pdf
Meeting Minutes
File:NeuroForce Meeting Minutes 2017.pdf
Presentations
File:NeuroForce Design Review Notes 2017.pdf
File:NeuroForce Design Review Slides 2017.pdf
File:Final Design Review PowerPoint.pdf
File:NeuroForce 2nd Design Review Notes.pdf
Client Interview