For smooth pressure control, I chose the EFB-1DV-24-L proportional fill/bleed valve assembly from Clippard Minimatic. Each valve in the pair can handle high flows at reasonable operating pressures (100 liters/min at 50 PSI). They run at 24 V, but can only handle 60 PSI of back-pressure before they crack.
For the input shutoff valve, I chose to use the E215E-2C024 2-way Valve from Clippard. The valve can withstand high back-pressure with reasonable flow rates (150 PSI with 70 L/min). These also run at 24 V.
To drive all the valves, I am using one mosfet per valve as switches. The valves are then modulated in a smooth way using pulse width modulation (PWM).
The pressure control system features 10 channels, requiring 10 pressure sensors, each of which needs to be capable of measuring pressure up to ~ 35 PSI, and vacuum down to -14.5 PSI (full vacuum).
After a lot of searching I found the Honeywell SSCSNBN030PDAC5 differential pressure sensor. This sensor measures ±30 PSI over a voltage range of 0.25 V ~ 4.25 V, and we can extend the top end of the range slightly since we can measure up to 5 volts (the accuracy just gets worse as we move past the top of the measurement voltage range). The sensor is abundant and inexpensive at the time of writing, but has a HUGE footprint on a PCB.
An addition to the pressure control system in v3.4 is an input shutoff valve for the high-pressure line. The main control valves can only take ~ 60 PSI of back pressure before they break, so we need to prevent anything higher from being supplied. The input shutoff utilizes a positive-pressure sensor to measure the input pressure and shut off the flow if it gets too high.
For this, I chose the Honeywell SSCDANN150PGAA5 vented gauge pressure sensor. It can measure up to 150 PSI (more than we should ever be supplying), and has the typical 0.5 V - 4.5 V output range.
I used the Teensy 3.5 MCU because it’s 32 bits with a built-in floating point unit for super fast floating point math (good for real-time control). It also has enough pins
I built a custom circuit PCB to breakout signals to my various sensors and solenoid drivers.
This board is designed to be relatively space-efficient while still being modular. It also has everything set up to break out every signal from the Teensy 3.5 to potentially be used later if necessary. This results in a relatively large board, but it was fairly cheap to get it fabricated by OSH Park.
All of the electronic components used on this board can be found on Digikey.
|Part Description||Digikey P/N||Qty||Price Each|
|Power Barrel Connector Jack 2.10mm ID, 5.50mm OD||CP-059AH-ND||1||$0.89|
|Slide Switch SPDT Through Hole||679-1877-ND||1||$4.39|
|N-Channel 40V 450mA (Ta) 1W (Tc) Through Hole TO-92-3||TN0104N3-G-ND||20||$0.90|
|Teensy 3.5 32-Bit MCU Eval Board||1568-1443-ND||1||$26.25|
|DC-to-DC Converter, Input 8V - 36V, Output 5V 1A||102-5018-ND||1||$2.96|
|Green 572nm LED Indication - Discrete 2.1V 1206||516-3233-1-ND||1||$0.53|
|150 Ohms ±1% 0.125W, 1/8W Chip Resistor 0805||RHM150AHCT-ND||1||$0.17|
|4.7 kOhms ±1% 0.125W, 1/8W Chip Resistor 0805||311-4.70KCRCT-ND||2||$0.10|
|Pressure Sensor ±30PSI Differential, 0.25 V ~ 4.25 V 4-SIP||480-5507-ND||10||$27.50|
|Pressure Sensor 150PSI Vented Gauge, 0.5 V ~ 4.5 V 8-DIP||480-5203-ND||1||$23.82|
|10 kOhms ±0.1% 0.25W, 1/4W Chip Resistor 0805||P20708CT-ND||11||$0.30|
|20 kOhms ±0.1% 0.25W, 1/4W Chip Resistor 0805||P20740CT-ND||11||$0.30|
|Through Hole 2 pin 0.100” (2.54mm)||WM4800-ND||2||$0.84|
|Receptacle 2 pin 0.100” (2.54mm)||WM2900-ND||2||$0.27|
|Through Hole 3 pin 0.100” (2.54mm)||WM4801-ND||10||$0.80|
|Receptacle 3 pin 0.100” (2.54mm)||WM2901-ND||10||$0.23|
|Pin Headers (For Teensy)|
|Surface Mount 6 pins (2x3) 0.100” (2.54mm)||609-5381-1-ND||1||$0.35|
|Surface Mount 8 pins (2x4) 0.100” (2.54mm)||A121623-ND||1||$0.46|
|Surface Mount 10 pins (2x5) 0.100” (2.54mm)||609-5381-1-ND||1||$0.50|
|Through Hole 24 pins (1x24) 0.100” (2.54mm)||S1012E-24-ND||4||$1.28|
|Pin Headers (For Board)|
|Through Hole 12 pins (2x6) 0.100” (2.54mm)||S2012E-06-ND||1||$0.60|
|Through Hole 6 socket (2x3) 0.100” (2.54mm)||S7106-ND||1||$0.62|
|Through Hole 10 socket (2x5) 0.100” (2.54mm)||S7108-ND||1||$0.71|
|Through Hole 2 socket (1x3) 0.100” (2.54mm)||S7000-ND||1||$0.32|
|Through Hole 3 socket (1x3) 0.100” (2.54mm)||S7036-ND||1||$0.37|
|Through Hole 4 socket (1x4) 0.100” (2.54mm)||S7002-ND||1||$0.45|
|Through Hole 5 socket (1x5) 0.100” (2.54mm)||S6103-ND||1||$0.47|
|Through Hole 24 socket (1x24) 0.100” (2.54mm)||S7057-ND||2||$1.00|
All of the mounting components used on this board can be found on McMaster-Carr.
|Part Description||McMaster P/N||Qty||Package||Price Each|
|Narrow Head Slotted Screws, Plastic, M3 , 16mm Long||96295A711||1||Pack of 100 each||9.63|
|Narrow Head Slotted Screws, Plastic, M3 , 20mm Long||96295A712||1||Pack of 100 each||$9.69|
|Nylon Unthreaded Spacer 6 mm OD, 2 mm Long, for M3 Screw Size||93657A001||12||Each||$1.07|
|Nylon Plastic Washer for M3 Screw Size, 3.2 mm ID, 8 mm OD, Black||95610A530||1||Pack of 100 each||$3.60|
|Nylon Unthreaded Spacer 4.5 mm OD, 1 mm Long||93657A501||6||Each||$1.46|
|Aluminum Female Threaded Hex Standoff 40mm Long, M3||95947A500||4||Each||$1.76|
|Aluminum Male-Female Threaded Hex Standoff 40mm Long, M3||98952A401||4||Each||$2.97|
|Aluminum Male-Female Threaded Hex Standoff 20mm Long, M3||98952A118||4||Each||$1.90|
|Aluminum Female Threaded Hex Standoff 20mm Long, M3||95947A016||4||Each||$0.91|
|Nylon Hex Nut M3 x 0.5 mm Thread, Black||93800A400||1||Pack of 100 each||$13.82|
In addition, I laser-cut a flat frame to place everything together in a neat package.
There are many issues (both anticipated and unanticipated) with the current PCB Design (v3.4).
- Pressure sensors coming off both sides cause mounting and soldering issues.
- makes the board hard to solder (end up soldering underneath other sensors)
- makes the board hard to mount (needs 40mm standoffs)
- Onboard 5V regulator can’t handle spikes in current
- If you turn on the 24V input switch, turn it off, and turn it on again, the 5V regulator will burn itself up.
- I just had to removed it, so the Teensy is can ONLY be powered through the USB port.
- Mounting holes are crowded and not shielded
- I placed components too close to the mounting holes
- It’s hard to get bolts thought the holes without shorting components, so I ended up using plastic screws (bad solution)
- Extra headers for overriding onboard pressure sensors don’t fit
- headers are poorly placed - interfere with sensor seating and mounting
- Headers are hacky
- “Robot” and “Ext” headers don’t fit the Molex connectors they were designed for.
- I just mis-calculated the width of these connectors
- USB port for teensy isn’t supported and has poor placement
- the USB cord just hangs off the teensy board in the middle of the main board
- usb cord also covers the power switch.