3 hours ago •
The ranks of this project have grown a lot recently, along with the work that needs to be done to bring this to completion.
We are getting organized and a team with clear roles and defined objectives that can work on issues in parallel is happening. I'm pretty excited about that.
So say hello to the team. Group photos will have to wait. :)
Also if you joined and have not shown up at least once in the next 24 hours, you are getting removed so we can stay focused here.
3 days ago •
We changed the sensor assembly for #VISP - Ventilator Inline Sensor Package so that it can now use either the BMP280 or BMP388 sensors for any position.
I cleaned a bunch of stuff up, generated a cover for it, added a spot for an OLED, and here we are.
4 days ago •
We split our efforts to generate a sensor package into its own project now as it seems this is something pretty much every ventilator project will need to do the job right.
It also may be useful standalone to make dumb ventilators smart.
6 days ago •
We were looking at using cheap barometric pressure sensors, but the issue is they are absolute pressure sensors. They are exceedingly sensitive and work within the range we need for both positive and negative pressure, but they read the pressure applied to them relative to a vacuum within the device.
Because of this, to determine where '0' is with regards to your current ambient pressure, you need to take a sample with no pressure above or below ambient pressure applied. Where you are in the world (altitude) will move this number as well.
But... if you were already connected to a patient, and providing pressure, and lost power for a split second you would no longer know where '0' was. You would take your sample and your 'relative to startup' number would be offset then, and that is dangerous as now you could be doubling the airway pressure of the patient!
We just solved that. Use four of them.
Put three on one side of a PCB and epoxy that board into the ports on the pitot tube we have already designed. That gives you forward flow, reverse flow and pressure. Now the trick is have a fourth sensor, and point it back at atmospheric pressure.
Now you have your zero point independent of what you read at startup and can accurately calculate what each of the sensors is reading relative to that. You have just turned all your absolute pressure sensors into relative ones.
One remaining issue is that all of the sensors share an I2C address, but they also have a pin to change that address by 1.
So if we pull those all those pins low with resistors, and then cycle through pulling them high with something like an LED driver also on the same I2C bus, then we can read all of the sensors from the same address.
Better solution, use a proper I2C translator such as the LTC4316. We have enough unique addresses
with just oneas we can hang two sensors off the I2C bus before the translator, and two off after it by setting the SDO pin on every other one. We added a second bus translator to do level shifting and allow moving the address of the whole package so you can have two of them on the same bus, or avoid something else with a static I2C address
Four wires, better resolution, faster updates, and the sensors are $3 each.
Still working on the best way to flip that address pin.
We are working on spinning up a PC board for this. Right now it looks like it's 16 mm by 40 mm to house the four sensors, two I2C bus translators, an Eeprom, and a voltage regulator.
Those components will allow the device to work with both 5 volts and 3.3 volts seamlessly, and if needed, put more than one completed device on the same bus. Thanks to @Steven.Carr for brainstorming this with me and coming up with this layout, and @harit trivedi for also working on the schematic and parts placement.
6 days ago •
@Steven.Carr printed out the current pitot tube on his resin printer. They look great, are strong, and are airtight.
However, it is very likely we're going to redesign this so we can plug the sensor directly into it.
7 days ago •
I want to put a shout out to Stefan from Williamstown, NJ who let me pick up these sensors this afternoon. This sensor is used by quadrocopter and drone enthusiasts for it's compact size and robust capabilities. If you are having trouble locating some, reach out to your local drone enthusiast club, they might have a couple on hand!
03/25/2020 at 19:40 •
Finalised the design, rendered the output, and the files are up on Github.
All the parts can be 3D printed or laser cut, and are all interchangeable.
03/25/2020 at 16:30 •
Did an experiment a few days ago. Gutted a vape and stole the sensor.
Applied 3.3v and ground to the appropriate two pins to match the setup in the vape. Given it runs directly from the battery this is probably a 2.6-5v device.
The signal pin went from 0 to Vcc on inhale.
I don't know if this is an analog or a digital signal, but I will find out today.
If it is analog, it is going rail to rail with < 0.3 psi of input. I am hoping it is...
If it is an analog device, two of them sealed side by side, facing opposite with a voltage divider on the output pin would give me a sensor capable of -0.3 psi to 0.3psi. That is what I need to measure the flow using my pitot tubes.
<EDIT> Um.. that would suck as my output would be centered around 0v and go down to -Vcc. Just reading them both as to ADC inputs would work though. I did not get to testing if these are analog or digital yesterday. Perhaps today. </EDIT>
Cross your fingers.
03/25/2020 at 02:17 •
Works. Airtight. Stronger than it needs to be by a whole lot.
This takes care of the requirement of measuring the volume and pressure of air being delivered.
Moves a water column +/-1 cm at normal respiratory rates, so within the range I need. Blowing as hard as you can you can get 10cm of movement.
Three ports. Outer two go to the pitot tubes. Center is for reading the pressure with regards to ambient.
Now if I only could get some pressure sensors to hook it up to.
03/24/2020 at 22:35 •
The BLDC motor arrived.