Go Down

Topic: Help needed for ventilator project (Read 4868 times) previous topic - next topic

sanjeevsrilanka

Thanks KASSIMSAMJI. They say that "the average adult at rest inhales and exhales something like 7 or 8 liters"
So it is more than the 1 liter/min. I can use it.

sanjeevsrilanka

I like to propose with a simple  solution under following restrictions in the design.

If they are running out of proper ventilators.


Proposed solution:

eg: If you need 50 ventilators for one large hall.

we can do the controlling of all 50 ventilators by staying in a outside control room.

we need one O2 and Air mixed line ( one FiO2 value) for all Patients. Normal manual type control valve at each bed.

A Large PVC line to connect Expiratory line.

The patients Inspiratory line is connected to " the O2 and Air mixed line" through a (AC power) large solenoid valve in the correct direction.

 Expiratory line also connected via another large AC power solenoid.

For the solenoid valves AC neutral line (N) is common for all.

Two line wires (L) from each solenoid should laid to the control room.
These two lines will be connected to the " Arduino Two relay module"  one line from AC (N) will come to the relay module and then joint to the two relays.

So each Arduino mega board will have

*   2-relay module ( 2 in one board)
*   keypad
*   I2C type 16*2 display
*   removable USB port type phone charger (5V DC input power to Arduino board given through USB)


all the 50 Arduino boards are connected to large white board size board.  keypad and relay should fix. Each Arduino mega board should numbered clearly to identify the patients bed number.

(if the AC power is not stable for all AC power should go via lardge UPS .)


Control person can key in * and ( 4 digit code relevant)  ( to chane the default pattern)

For each patient different inhale and exhale time duration s can set.

(  each  Inspiratory line and expiratory solenoid open and close duration should program for each Code number)

for 4 digits we can set different settings as guided by the doctor. 


we can load the program to 50 Arduino boards with in less than one hour  complete setup can be finished in one day.


when the doctor wants to do change the inhale exhale time duration s he can do so by making a call to the control room.

Additionally, we can connect two colour AC indicator lamps (connect parallel to each solenoid )to easily visualize the solenoid open and close times.
pressure adjustment should done using the manual valve.

If anyone interested to use the above method pls send me an email I will send you my the Arduino Code. 
 
thanks
Sanjeev

vidyaratna@gmail.com










 

cedarlakeinstruments

In the US, a medical device must receive FDA (Food and Drug Administration) approval before it may be put on the market. The product you are developing clearly falls within the definition of a Medical Device. It makes no difference whether it is sold or free, it must first be approved under penalty of law. Filing a 510(k) is part of the process of requesting approval.

Most countries have similar regulations.

Dear cedarlakeinstruments i can not understand the line "when you submit your 510(k) " Is it a fine or penalty.

I have no money earning intention here.
Electronics and firmware/software design and assistance. No project too small

Paul__B

Most countries have similar regulations.
Did you notice from which country he hails?

Hint: the handle!  :smiley-cool:

sanjeevsrilanka


sanjeevsrilanka

   
Can anyone support me on removing the delay(Y1) . But the time gap between the two *** lines should exactly Y1.

Gap should not change due to any operation (ex: keypress or alarm or anything)


All ideas are welcome !!






 switch (Rcode)  {
  //    Serial.println(Rcode);   
  case 4567:
  {
  //  Serial.println(Rcode);
 
     Y1=3000; Y2=6000;
     if ((millis() - lastDebounceTime11) > Y2) {
     lastDebounceTime11 = millis();
     digitalWrite(R1,LOW);
     digitalWrite(R2,HIGH);
     lcd.setCursor(15,0);
     lcd.print("I");
     delay(Y1);
     digitalWrite(R1,HIGH);
     digitalWrite(R2,LOW);
     lcd.setCursor(15,0);
     lcd.print("E");
     lcd.setCursor(5,1);
     lcd.print("(I-3 E-3)");
     }
      break;
  }

    case 2020: //-------------------------------*#
  {
  //  Serial.println(Rcode);   
 
     Y1=2000; //(I)                      --------*
     Y2=4000; //(I+E)                    --------*
     if ((millis() - lastDebounceTime12) > Y2) {      //--------*
     lastDebounceTime12 = millis();       //--------*
     digitalWrite(R1,LOW); //*************************
     digitalWrite(R2,HIGH);
     lcd.setCursor(15,0);
     lcd.print("I");
     delay(Y1); //_______________________Need to remove this delay
                //                                 but the delay between the star line should exactly Y1       
     digitalWrite(R1,HIGH);//************************
     digitalWrite(R2,LOW);
     lcd.setCursor(15,0);
     lcd.print("E");
     lcd.setCursor(5,1);
     lcd.print("(I-2 E-2)");              //--------*
     }
      break;
  }              //------------------------------- #
     default:
     
     if ((millis() - lastDebounceTime10) > debounceDelay10) {
     lastDebounceTime10 = millis();
     digitalWrite(R1,LOW);
     digitalWrite(R2,HIGH);
     delay(3000);
     digitalWrite(R1,HIGH);
     digitalWrite(R2,LOW);
      }
     break;
    }
       
 
//End of code//

}

sanjeevsrilanka

 case 2020: //-------------------------------*#
  {
  //  Serial.println(Rcode);   
 
     Y1=2000; //(I)                      --------*
     Y2=4000; //(I+E)                    --------*
     if ((millis() - lastDebounceTime12) > Y2) {      //--------*
     lastDebounceTime12 = millis();       //--------*
     digitalWrite(R1,LOW); //*************************
     digitalWrite(R2,HIGH);
     lcd.setCursor(15,0);
     lcd.print("I");

}
     //delay(Y1); //_______________________Need to remove this delay
                //                                 but the delay between the star line should exactly Y1       
   
   if ((millis() - lastDebounceTime12+Y1) > Y2) {

     digitalWrite(R1,HIGH);//************************
     digitalWrite(R2,LOW);
     lcd.setCursor(15,0);
     lcd.print("E");
     lcd.setCursor(5,1);
     lcd.print("(I-2 E-2)");              //--------*
     }
      break;
  }              //------------------------------- #
     default:

sanjeevsrilanka

Does anyone think the change I made will solve it.

Any ideas..

Or is there any other solutions?

sanjeevsrilanka

-----------You can Use this code to SAVE Someone---------------


Download the text.

I'm happy to support....to save lives.


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

perigalacticon

sanjeevsrilanka,


Good Luck!  If you haven't seen my previous post I posted a collection of low-cost simple ventilator projects I found mainly on Youtube and also photos of the machines documented in the videos to provide some ideas.  I'm try to help any way I can.  Let me know what I can do research-wise, I can do that for you at least.

Interactive addressable led displays for holidays; interactive robots for fun.

cedarlakeinstruments

#25
Mar 27, 2020, 02:27 am Last Edit: Mar 27, 2020, 02:28 am by cedarlakeinstruments
I think the Sri Lanka equivalent would be the NMRA: National Medicines Regulatory Agency.

Anyway, I'm done participating in any related threads, here or on other sites. Better to just let people get it out of their systems!

Did you notice from which country he hails?

Hint: the handle!  :smiley-cool:
Electronics and firmware/software design and assistance. No project too small

Paul__B

If you haven't seen my previous post I posted a collection of low-cost simple ventilator projects I found mainly on Youtube and also photos of the machines documented in the videos to provide some ideas.
And just to be clear this is the link.  :smiley-cool:

Paul__B

Download the text.


Not happy with your approach to mains wiring but if you are short on the proper power outlet sockets, what can I say!  :smiley-eek:

Sorry mate, but that is some seriously bad and unmanageable code there!  Does need a bit of work.

Probably not the best "LiquidCrystal_I2C" library but if it works for your particular display, that's a start.

Just resting at present after "seeing" people in a quite unusual manner all week, very few face-to-face and tedious putting them in the "isolation" room and using PPE, so almost all by "telehealth"; but will see if I have some time on the weekend to have a crack at it.  :smiley-lol:

Not at all sure this is the place for a Mega - Nano usually more appropriate, more readily available and cheaper.  Noted the 4 by 4 matrix keypad, will see if I can cook up decent code for that.  Properly cleaned up, the code should fit in a post in "code" tags.  Have you read the instructions for posting code (item 7)?

sanjeevsrilanka


TheMemberFormerlyKnownAsAWOL

-----------You can Use this code to SAVE Someone---------------


Download the text.

I'm happy to support....to save lives.


@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Code: [Select]
  else if (j=6){ FFS.
Please don't PM technical questions - post them on the forum, then everyone benefits/suffers equally

Go Up