4055

Air pump (like CPAP) with pressure control, working with any brushless motor and ESC for breath help.

When the worldwide health crisis started weeks ago, a friend, reading that someone was developing a DIY ventilator, asked me to look the feasibility to develop one myself.
The purpose here is just to submit the idea, the development I made last months for helping if someone can be interesting. Despite everything I read on this subject, I'm not a doctor, just an engineer and this project is just to help in case of need. 

I used different other projects to develop that one. The main purpose here is to have a ventilator, blowing constant pressure like CPAP (continuous positive airway pressure) equipment. 

As I cannot find any CPAP around me, I found an air pump files for 3D print (for an hard-disk motor), which I adapted for the usage here. For the motor, I use a brushless motor (Turnigy 1811-2900) I had on hand, with an ESC (6A), coming from an old drone. 

For the control part, I used a quick solution, a reuse of a board developed for previous project (PM2.5 pollution device). The board is now in 5V, with one output (servo control to ESC) and one input (analog input from pressure sensor). The uC is still PIC 18F2420 with 3 buttons, +, - , VAL.

The servo pulse is managed with 2 timers under interruption. The software indicate which duration and the timers managed it.

For the pressure measurement, I used a sensor MPXV7002DP. Someone develop also a CPAP pressure monitoring based on this sensor too. It can measure +-2kPa (20 cmH2o) which is enough for CPAP control which must be between 6-15 cmH2o.
 
The main first principle is to first calibrate the fan, as it must be working with any kind of motor. So, the exit tube must be blocked and the motor will increase the speed, from 2cmH2o to 12cmH2o (constant in the software). Each cm, the pressure will be recorded into the E2prom of the uC, linked to the duration of the servo pulse.

After the table filled and recorded, the software proposed (via long press on VAL) to use either constant pressure or speed direct control.  After removing the block on the exit tube, the pressure will depend of the breath of the user. So, direct control of the pressure is not possible.

These first basic functions are working, calibration, speed control, pressure control. The software is still quite messy as I reuse directly the one I had for the pollution device. As usual for me, the code is in C, on MikroC (old version). There are still some bugs to be corrected.

Anyway, if it can help someone, I put all the necessary info and files, 3D print (the part link to the motor need to be adjust to the motor used). I still need to add a screw here as after some speed, the helix is jumping out.

So far, the test is using a bench power supply, 7.2V 3A, which depend of the motor used.

One of the main concern now is the noise of the fan. I need to try to isolate the motor from the bottom 3D casing.