Here's the rebuilt brain. The framework I was using before wasn't anywhere near stable enough so now the platforms are held in place with m8 bolts. These are much wider than the plastic pegs so the head casing will need a little modding for them to fit through the holes. The sensor board is the next complex part to make, and should fit just above the raspberry pi on another platform, custom made to avoid contact with the MoPi button.
It's been a while since the last update due to a number of technical issues that needed solving, not least of which was a valuable lesson on good soldering. This is the replacement power management board, the prototype worked but was missing the P-channel mosfets. These allow the Pi to shut down the rest of the head systems to save power, and should automatically shut them down when the Pi is turned off.
To try and solve the sensor fluctuations, I'm working on a seperate
board to power the sensors from, with seperate lines for analog and I2C,
and some capacitors to keep the noise out. Then to keep everything
stable and to attach the top of the head, I've redesigned the circuit
holders to use m8 bolts instead of plastic pegs.
Aside from all
the rebuilding in the head, the external power connector is almost
finished. This is designed to fit snugly into the battery slot and
connect to a standard 12v dc plug.
I've just found what seems to be a fatal flaw in the design. The only way I've been able to connect all the peripherals to the Arduino Mega is through dupont wires. It worked fine during early small scale tests, but for some reason I can't get them to give a reliable connection now. I have to manually hold the plugs at just the right angle to get them to stay connected. I don't know if it's just a bad batch of wires or if I should be using something different or there's some trick to get them working reliably. If anyone has any advice on this I'd really appreciate it.
The photo below shows the state of the electronics just before the latest testing, the circuit just underneath the Arduino is a homemade 5v bus, mosfet and h-bridge board that most of the peripherals plug into for power.
Patrick's new head was 3d printed as a series of panels that were superglued together and smoothed off with automotive filler and fine sandpaper. The outside is coated in a water based paint colour matched from the original head, with vermillion detailing added in acrylic. The black panel is a seperate print painted in black acrylic and superglued around the holes for the atmospheric sensors. Now it just needs a layer of clear sealer and the electronics can start to go back in.
Since the last update Patrick has gone through 2 new noses to get to the current design. Most of the head is planned out now so I should be able to get more of it printed soon. The Raspberry Pi is booting up ok with the screen running off a seperate 5v BEC. I've done some quick testing on the MiCS5524 gas sensor, looking forward to testing it in parallel with the TGS2600. The power supply is still an issue, I'm trying to make it so the Pi can turn the other systems on or off to save power, but if I put in any transistors they'll drop the voltage from the BEC. I might just set the BEC to output 6v and put a transistor on every 5v line. For now though I'm mostly concentrating on getting the head finished.
I had to take a break from this project to get some other work done, but some new sensors have arrived and progress is happening again... a bit.
I had an idea about using 2 gas sensors and comparing the results to narrow down which gas is being detected, so alongside the TGS2600 I plan to install a MiCS5524. It looks like there's more than enough space for both of them and the DHT-22 even if I make the chin smaller, so I'm looking forward to finding out what they can do. Also I'm not sure about the results from the SI1145 UV sensor in the POD, so Patrick is getting a VEML6070 instead.
It's taken a while to figure out where to put everything but this is the current state of the head, seen from the back. I'm just trying to work out how to mount the 5" screen above the usb hub. Also, I've salvaged some mini speakers from a dead monitor that should save a load of space, so the plan for audio now is to install only a low-power D-class amplifier, but wire in an extra socket in parallel with this so I can add a bigger amp & speakers as a backpack option later.
Just got the chin printed and snapped into place to find out if it looks ok. The results are highly informative, it does not. I'll try it again at about half the length, and replace the single nose hole with seperate mounting holes for each air sensor.
I'm not sure what I'm doing with the head design, but if I can get at least something built, if it's wrong I'll at least get some idea how to fix it.
The RAD series neck attaches to the head with 3 screws, but since you have to remove it from the torso to undo them I figured it would be more secure to just print a new neck that could be glued to the head. I'm still debating whether to limit the rotation or add a servo mount.
Just finished printing the redesigned face plate in PLA. The RGB LED is replaced with a 12x neopixel ring around the PIR sensor, while the IR LEDs will now go around the RGB sensor (the idea is that the lights go closest to the sensor they cause the least interference to).
The test plate came out ok, but the sonar and camera holes need a little adjustment to fit. I might trim up the lower corners too and reduce the width a bit to save on space. The total size of the plate currently is 140 x 70 x 3 mm.