08/26/2018 at 16:48 •
It's been a long time since the last update! Apologies. Life got in the way. But I've been making slow and steady progress. I got PCBs manufactured, updated and re-updated the design, moved to a 'better' pressure sensor amplifier and showcased the project in a fest. And of course, we finally have a logo!
Finally I'm at a point where I can manufacture 20 units and get them into the hands of makers in the coming weeks. The updated PCBs are on their way from China, and most components are in stock. The BOM comes up to around 65$ including shipping, so I'm planning to sell these kits for <100$.
The website will be up and alive soon. Look out for programmable-air.com. I want to spend time making tutorials next. I want to make it as easy as possible for people to get started with the kit.
05/02/2018 at 05:11 •
I'm looking into using an instrumentation amplifier like INA125 instead of LM10CN+HX711. The cheapest instrumentation amp I could find is 7$, a hefty 3$ more than the HX711+LM10CN setup. Multiply by three/four sensors per kit and that's 10$. not sure if math makes sense. Note that the resolution of data gathered does not matter for this decision(an instrumentation amp would use the Arduino's 10bit ADC vs the 24 bit ADC on HX711), because the data will be corrupted with enough noise that anything above 8 bit resolution should not matter.
I also decided to redesign the boards to be less than 100x50mm in size so that they can be easily manufactured in small batch runs from PCB manufacturers. 100x100mm panel size seems to be a universal cutoff for price variation(at least when it comes to hobby type boards). I utilized this avenue to add M3 mounting holes and standardize the berg stick connectors better.
After using the board for a bit, I realized that most applications call for less than three air channels and I was using the fourth channel almost exclusively for IO. So I put two buttons and a few neopixels on the master board using up the pins from the fourth channel. Now the slave boards can only dock to the bottom or sides of the master boards, and not to the top. The top has easily accessible power connection, USB, buttons and neopixels. I also added LEDs to indicate the state of the pumps and valves. And I put the pumps on analogWrite pins for the atmega328. This will allow me to easily control the pumping speed.
As an additional fun challenge, I decided to only use curved angles in the PCB traces. I think the PCBs came out looking rather sharp. On the practical side, since I manufacture PCBs with a CNC the lack of sharp corners translates to quieter, less jerky operation while manufacturing.
Working with Balloons - Case for flow meter
Programmable Air gets feedback from a pressure sensor. This is because I was following an unwritten intuition that the pressure inside an inflatable is proportional to the volume of air pumped in. Boy! is that intuition wrong! For rubber inflatables like latex balloons or thin walled silicone the pressure initially increases with the air flow but then starts decreasing. The balloon is more of a flow driven device than a pressure driven device. To control something like this a flow meter makes much more sense. The initial case against a flow meter was because of leaks. It makes sense to have a flow sensor to use in conjunction with a pressure sensor as well. I'm on the lookout for a cheap flow sensor.
Result: Flow sensors are too expensive! Like 80$ for a cheap one. Not even gonna think about using it for a while.
04/22/2018 at 00:45 •
I'm still having issues with the 2SMPP03 pressure sensor. But I went ahead and used the motors and valves to make some simple projects.
Basic pick and place:
Universal Vacuum Gripper
The next step is to use an instrumentation op-amp or HX711 to get pressure readings from SMPP-03.
04/22/2018 at 00:40 •
v0.1 PCB design
Used Aiyima pumps and nano on master board. The slave board has pressure sensor and three two way valves. Upto four slave boards can attach to a single master board, as shown in mock-up below.
Learnings from design and manufacture:
The rated current for DC motors can differ highly from the actual current consumed. While the motors are rated at 350mA, a 0.8A transistor blew up while trying to supply enough current to it. This could be because of high stall/startup current. v0.11 will have TIP120 or FET rated to at least 2A. The valves are rated at 0.11A so, using a 2222 transistor seems like a safe bet because they can handle peak currents of up to 0.8A(a 7x margin). Because these are much cheaper than TIP120, it makes sense to use them.
As a result of design oversight, the was no 5V power connection from master to slave board. While 12V input to slave board can be converted to a clean 5V with a relatively cheap regulator, v0.11 will have power connections for 5V as well. Added filter capacitors to all power rails in v0.11.
I manufactured the PCBs in an OtherMill CNC. It is the fastest way I have found to do small run quick prototypes. Designing for OtherMill manufacture is a completely different game than designing for production from a PCB fab house. Particularly, OtherMill PCBs are constrained to maximum two layers and vias are not plated. Also the tolerances have to be relaxed to allow for easier production. All in all this means you have to be a lot smarter, using minimum number of vias and distributing your components further out.