On December 31, 2019, the World Health Organisation (WHO) China office heard the first reports of a previously-unknown virus behind a number of pneumonia cases in Wuhan, a city in Eastern China with a population of over 11 million. What started as an epidemic mainly limited to China has now become a truly global pandemic. The disease has been detected in more than 200 countries and territories, There have been now 10/5/2020 over 4,024,737 confirmed cases and 279,313 deaths, You can follow the statistics HERE.
This created a major problem in medical needs, and one of these needs is the ventilator where there is an acute deficiency in the world in it. So the global competition now is about who can make a cheaper ventilation device
here in Egypt the situation is not assuring the number is increasing rapidly There have been now 10/5/2020 over 8,964 confirmed cases and 514 deaths so we need to start take countermeasures to save as many people as we can in case of break out.
The idea is simple now it's the time we use our knowledge to help saving others
The Automated Ambu-bag it's not an invention neither than an original idea and there is a lot of medical concerns about it, However we didn't choose this solution by ourselves we empathize with number of docotor first in order to choose the best solution.
A portable ventilator utilizing a manual resuscitator was introduced in 2010 by a student team in the MIT class 2.75 Medical Device Design his original paper here.
Now there are many designs and prototype you can find all of them in this amazing tracking sheet
And one of the best prototype now is the MIT E-Vent | MIT Emergency Ventilator
Here are the findings of our interviews with number of doctors in Egypt.
Yes, we only have 15000 ventilator in whole Egypt and probably some of them aren't functioning any more.
When we get infected our immunity systems produce antibodies to fight the virus in this case we have 2 options:
However if we have time the normal body is able to overcome these effects and eliminate the virus and that's why we need ventilators.
the second best thing is to automate the proccess of using the Ambu-bag not only to face covid19, but also to face Sudden cardiac death which caused by loss of heart function
we have 3 cases:
The ambu bag is a manual resuscitator or "self-inflating bag", it is a hand-held device commonly used to provide positive pressure ventilation to patients who are not breathing or not breathing adequately ,So The idea is to automate the process of using the ambu-bag, as a potential means for longer-term ventilation max (24hr).
So we hope that such systems may serve as bridge devices and help with the triage of available respirators and clinicians trained in respiratory therapy.
In able to prove the concept of the automated Ambu-bag we choose to make a quick prototype using arduino board.
in Stage One we have the following parameters to control
The idea is: As we know, we need to squeeze an ambu bag, and I planned to do that with a simple mechanism
So I chose a reciprocating-rack-and-pinion mechanism, you can take a look here
in this mechanism we convert the rotation motion into linear motion, and the arm will push the ambu bag
In this release, I relied on an open source mechanism Darren Lewis then I modified it
As I said for the first time we use the Nema17 without any calculations we did that actually for two reason
So as much as we hoped it will work it didn't of course and Nema17 wasn't able to squeeze the Ambu-bag as you can see in the video ->
Now it was to take step back and start to consider the power and torque calculations in order to choose the motor. which by the way wasn't that bad and I think if we could back in time we would do it from the beginning.
In order to choose the right motor this time we need to run our calculations in the worst case in which the device will work
we assume the motor will squeeze the bag at maximumPressure= 40cmH2O,RespiratoryRate= 40bpm and inhaleTime=0.3sec.
when A:Ambu-Bag contact area & P=40cmH2O
when F:squeeze force & L:lenght of the squeeze arm
when RPM:angular velocity of squeeze arm= θ/inhaleTime
From the calculation we need a motor with torque =0.7N ~= 1N
However here in egypt we can only find a Motor
with much torque
= 24.5 kg.cm = 2.40262925 Nm
Electronics Design and production
// include the library code: //#include#include LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line display #include //const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2; //LiquidCrystal lcd(rs, en, d4, d5, d6, d7); Servo myservo; // create servo object to control a servo int pos = 0; // analog pin used to connect the potentiometer int val=0; // variable to read the value from the analog pin int potpin = 0; int a=0; int value=0; int T=0; int dn=0; int val2=0; int hold=0; void setup() { lcd.init(); // initialize the lcd // Print a message to the LCD. lcd.backlight(); myservo.attach(9); // attaches the servo on pin 9 to the servo object // set up the LCD's number of columns and rows: //lcd.begin(16, 2); Serial.begin(9600); // Print a message to the LCD. lcd.print("Breathing"); T=millis(); } void loop() { val=analogRead(A0); val = map(val, 0, 1023, 0, 25); value=val+9; Serial.println(value); lcd.setCursor(0, 1); lcd.print(value); val2=analogRead(A1); hold= map(val2, 0, 1023, 0, 500); lcd.setCursor(11, 0); lcd.print("Hold"); lcd.setCursor(12, 1); lcd.print(hold); INH(); delay(hold/2); EXH(); delay(hold); lcd.setCursor(3, 1); lcd.print(millis() / 1000); dn=((millis()-T)/1000); if(dn>=60){ a=0; millis(); T=millis(); dn=0; }else{ a++; lcd.setCursor(7, 1); lcd.print(a);} } void INH(){ for (pos = 0; pos <= 90; pos += 1) { // goes from 0 degrees to 90 degrees // in steps of 1 degree myservo.write(pos); // tell servo to go to position in variable 'pos' delay(val-4); // waits (val value)for the servo to reach the position } } void EXH(){ for (pos = 90; pos >= 0; pos -= 1) { // goes from 90 degrees to 0 degrees myservo.write(pos); // tell servo to go to position in variable 'pos' delay(val+5); // waits (val value)for the servo to reach the position // lcd.setCursor(0, 1); // lcd.print(pos); } }
presentation: [Video], [Slide]
What is the next plan?