jpaulmrphy
Published © GPL3+

WoundVARduino

Arduino Uno-based device intended for negative wound pressure therapy for hospitals in the developing parts of the world.

IntermediateWork in progress14,298
WoundVARduino

Things used in this project

Hardware components

Arduino UNO
Arduino UNO
×1
MXP5500 Pressure sensor
×1
Signal Relay, 5 VDC
Signal Relay, 5 VDC
×1
Automotive Relay, 12 VDC
Automotive Relay, 12 VDC
×1
Linear Regulator (7805)
Linear Regulator (7805)
×1
1N4007 – High Voltage, High Current Rated Diode
1N4007 – High Voltage, High Current Rated Diode
×5
LED (generic)
LED (generic)
×1
General Purpose Transistor NPN
General Purpose Transistor NPN
×1
Multi-Turn Precision Potentiometer- 10k ohms (25 Turn)
Multi-Turn Precision Potentiometer- 10k ohms (25 Turn)
×1
Resistor 221 ohm
Resistor 221 ohm
×2
Resistor 1k ohm
Resistor 1k ohm
×1
12V Pump (25KPa minimum)
×1

Story

Read more

Schematics

WoundVaRduino

Schematic

vacduino_Cdgq5u7AFx.jpg

Please forgive the sloppiness. I'm a PT not an engineer.

PCB_VARduino

Collection Canister

This is the collection canister. It can be easily emptied and reused by a patient at home. One tube goes to the sensor, one to the pump, and the last tube connects to the patient's wound dressing

WoundVARduino

The complete system housed in a project box.

Code

WoundVARduino

Arduino
1. You may need to adjust the offset by writing a serial print function with your board attached to the computer.
2. You may need to attach a column of water to the system to measure and adjust the pressure conversion formula. Depending on your sensor you may need to change the 7.50062 number.
int rawValue; // A/D readings
int offset =  40; // zero pressure adjust
int fullScale = 930; // max pressure (span) adjust
float pressure; // final pressure

void setup() {
  pinMode(9, OUTPUT);
  
}

void loop() {
  rawValue = analogRead(A0);
  pressure = ((rawValue - offset) * 500.0 / (fullScale - offset))*7.50062; // pressure conversion
  delay(500); // delays readings

 

if (rawValue < 50)    // if the pressure is less than 88mmHg turn motor on for 3 sec
 { 
  digitalWrite(9, HIGH);
  delay(3000);
  digitalWrite(9, LOW);
 }



else if (rawValue < 75)      // if the pressure reading is less than 150 mmHg turn motor on for 1 sec
{
  digitalWrite(9, HIGH);
  delay(1000);
  digitalWrite(9, LOW);
  delay(5000);
}
}

Credits

jpaulmrphy

jpaulmrphy

0 projects • 7 followers

Comments