Top view of my second PC board. 3 copies of HexMotor 2.3 and 2 copies each of 3 different breakout boards for a pressure sensor.
I got the boards back from 4pcb.com about a week ago.
The HexMotor rev2.3 boards have several new features: LEDs for +5v and +6.25v, a reset button, 16-bit shift register instead of 8-bit, servo outputs connected to pins 13, 7, 2, 9, 10 (rather than to the pins used for PWM). The new board should be able to do either 6 PWM motors or 4 PWM motors, 5 servos, and 2 non-modulated reversible motors. I was going to have the robotics club solder the board today, but they did not have time.
[Note: as of 1March 2012, I have put the HexMotor Eagle design files on the web.]
I made some breakout boards for the MPXHZ6250A pressure sensors from Freescale Semiconductor, which gave me my first taste of SMD soldering. At least the design uses gull-wing pins, which can be hand soldered. The breakout board that I think that the robotics club will end up using puts a pressure sensor on one side and headers for a piggyback ADXL335 breakout board on the back. that way there only need to be one set of wires for connecting the analog inputs and power to the sensors.
That is the board I soldered a sensor to.
The pressure sensors are tiny! I found it fairly difficult to solder the sensor to the boards, even holding it with clamping tweezers. I did eventually get everything to stick with no shorts between the 3 signal wires, but I did have some trouble with the unused copper pads delaminating from the board. For future reference: all pads should have wires going to them (even the unused pads) to have enough surface area for good adherence and so that some of the pad is tucked under the solder mask.
Despite the rather sloppy soldering, the pressure sensor does work. It turns out that the port size is just the right size for Lego pneumatics components, so testing was pretty easy.
Here are the results of calibration tests with the (probably not very accurate) Lego gauge, done by my son and me.
|Pressure (psi)||Arduino analogRead|
The range is about right, since 22 psi plus one atmosphere is about 250kPa, which is supposed to be the high end of the sensor’s range. Also, 600″ (50′) of water is 21.67 psi, so the range from 367 to 1000 corresponds to about 50′, so the sensor should give the robotics team a resolution of about 1″ for measuring depth, as expected from the spec sheet.
The data are well fit by The club members will have to recalibrate the pressure sensor in water, to get calibration as depth in cm. They’ll probably have to re-zero the sensor every day they use it, to compensate for atmospheric pressure, since it is an absolute pressure gauge.
Tagged: Arduino, Lego pneumatics, pressure sensor, Printed circuit board, SMD soldering