Programmable Air is designed with maker friendliness in mind. What this means to me is cost effectiveness, hackability, and making the mundane seamless. I started by researching the cheapest air pumps, valves, and pressure sensors out there. I ordered a bunch of them and played around until I found the best bang for buck components that work well together.
I'm still testing and redesigning the project but the main idea has set. There will be a central control board with a microcontroller and two air pumps. The air pumps I use are Aiyima brand medical booster pumps. They can generate vacuum and high pressure air as well. So, the system is just as compatible with high pressure as vacuum. Although, the pump really shines at generating vacuum.
Valve boards can connect to the master board by snapping on to connectors on the sides. Up to four valve boards can connect to a master board, one on each side. Each valve board has three valves that can be controlled individually. This gives full control of a air channel, allowing me to push high pressure air, pull vacuum or vent to atmosphere. The valve boards will be powered by the master board and will have no micro-controller.
IO boards can snap on to any unused connectors for the valve boards and provide buttons and led feedback. Alternatively a perf board can be attached to the unused connectors to provide pin breakouts and connect to other peripherals.
Still not convinced? Slidedeck
What's wrong with the current solutions?
Pneuduino: link
Not available for purchase. Potentially fallen out of development(last commit on github was about two years and the primary engineer has graduated out of the program.)
Fluidic control system: link
Truly designed by researchers for reserchers. Ugly. Complicated to setup. Needlessly expensive. BOM
Methods of potentially reducing cost:
- Cheaper pump: The current pump at ~288$ is overpriced if not necessarily overspec'ed. I'm confident a replacement would be available for one tenth the cost.
- Cheaper valves: High switching rate is not necessary for most applications. The current valves cost ~175$. An acceptable replacement would be this at ~10$. Since pressure is controlled by PWM of the valves, this may lead to some issues if these actuators can't be driven fast enough. Some slack can be made up for by adding a "capacitor" after the valve. But, if the actuation time is of the order of hundreds of milliseconds, I may need a different approach. One such approach can be servo driven drip knobs. Another approach could be a linear actuator driving a plate covering a slit
- Get rid of the power boards: There's no need for a 24V in which then gets converted to 12V and 5V on board. It adds bulk and points of failure. Separate 12V and 5V wall warts will be much more reliable and cheaper. Cost saving ~20$
- Get rid of mosfets: A ULN2803 would be just as well suited to the task at a fraction of the price. It would also be much more reliable against electrostatic shock.
- Cheaper air pressure sensors: The same vendor makes pressure sensors at a forth the price, which only need minimal external circuit to become nearly as accurate. This would add complexity to the first design of the build but bulm manufacture would benefit from the cost saving.
- Cheaper arduino alternative: An arduino mega is overkill for this. Any atmega324 based boards is sufficient
The weakest link in this setup however is the mess of jumper cable connections. There is no justifiable reason for a beginners kit to be this complicated to setup especially when the cost can be reduced simultaneously by making the setup into a PCB.
Let's start making!
The common pressures are of the range -0.5 atm to 2.5 atm. Ideally we'd want to work in this entire range. Ideally, the pressure profile would be editable over a web interface, without any software/driver installation.
Learning basic fluid mechanics and the lingo of the field
Choosing a pressure sensor is tough! There's far too many choices and every datasheet seems to have come from a different universe. Who uses hectoPascals?! Here's some bare minimum info you need before searching for sensors:
- Difference between absolute, guage and differential sensors
- DigiKey sensor guide
- Basic of fluid physics
Minimum Viable Product
The problem to be solved here is reducing cost without compromising on function. To reduce cost, component specifications have to be matched. The max pressure deliverable by the motor should be close to the pressure limits of the sensor. Given dozens of choices for sensors, motors and valves this is not an easy exercise. Especially, when we're aiming at a moving target specification.
To make life easier, I decided to go for following minimum specifications
- -0.5 atm to +0.5 atm pressure range,
- two air channels
- 2 Liter/min flow rate
- Able to inflate and deflate a 6 inch balloon in under 30 seconds
- Five minute setup time
- Cross platform compatability(Win, Mac, Linux)
- Cost under 100$/set for a production run of 5 sets
Evaluating off the shelf components
Item | Inner Dia Eqv | Voltage | Link | Cost per item | Remarks |
---|---|---|---|---|---|
Similk aquarium +pump | 3/16" | 6V | Amazon | 4$ | |
DIminus aquarium +pump | 3/16" | 6V | Amazon | 4.5$ | |
Medical -pump | 3/16" | 12V | Amazon | 9$ | |
Square Medical -pump | 3/16" | 12V | Amazon | 11$ | Low stock |
Ohaha tube connectors | 3/16" | N/A | Amazon | 8$/set of hundred connectors | |
Aquarium -pump | 3/16" | 5-12V | Amazon | 10$ | |
Pink-day -pump | 3/16" | 12V | Amazon | 5$ | Slow shipping |
Woolf -pump | 3/16" | 3-6V | Amazon | 4$ | Slow Shipping |
Valve 2way | 3mm | 5V | Amazon | 7.5$ | |
Omron +-pressure sensor | 3mm | Wheatstone | DigiKey | 8$ | Needs HX711 or INA125 to work with arduino |
3 way valve | 3/16" | 12V | Elecrow | 2.5$ | |
2 way valve | 3/16" | 12V | MPJA | 2.95$ | Reused components. Not scalable. |
Choice of pressure sensor: 2SMPP03
The most expensive component in the entire setup is a pressure sensor. Since one pressure sensor is required for every pneumatic channel, the cost scales linearly with number of channels. Pressure sensors that work in <-0.5 atm to >+0.5 atm range are relatively expensive since few large industries demand such a sensor. The cheapest such sensor I could find is 2SMPP03 by Omron electronics. It is priced at <7$/per unit for 5 units and while it needs additional circuitry to work, the effort is well worth it. The cheapest sensor that works standalone is at least 30$/per unit at 5 units. The rest of the system has to be designed around this part as this has the largest cost savings associated with it.