Prototypes and rejects from the 3d printer. All part of the design process for my robot:
I spent all day at hacman Tuesday and Wednesday printing and tweaking robot parts. I put it all together when I got home. This is the front, the lifter arm has holes to allow me to screw in different attachments, I’ve still not designed that part of the robot yet:
Here is the back view, you can see the lifter arm gear housing (the curved structure) and the motor that drives it, also the battery (underneath the ball hopper)
The lifter arm gear system looking through where the hopper would be:
I need to design an attachment for the end of the lifter arm. Here I’ve created a simple one using meccano. It’s too heavy, the bolts catch on the floor and it dumps the ping-pong balls short of the hopper. Other than that it’s perfect. You can see the camera with capped lens that I’ve just wedged into the structure temporarily:
Next-up: better lifter attachment design, a couple of re-prints with tweaks and some software.
First test of the Raspberry Pi running off battery power with no external supply at all. In the picture the 5000mAh battery is the object at the back with “5000” written on it. My multimeter is measuring the voltage output. One of the Raspberry Pi (the thing with the red light on it) output pins is connected through the MotorPiTX board (the yellow circuit board on-top of the Raspberry Pi) to the breadboard.
The breadboard contains two circuits, the top-right cluster of components is the circuit that turns the output of the Raspberry Pi into something relevant to the motor driver in the bottom left, the bottom left cluster of components is the motor driver itself.
The Pi is pulsing the output causing the motor driver to spin the motor. The micro-switch just on the very bottom of the picture is one of the limit switches for the ball lifter arm.
Today I printed out and glued together the first iteration of the ping-pong ball hopper that takes up most of the space of the robot.
The assembled hopper:
Full of ping-pong balls, I can get 12-14 in without packing them manually. That seems like enough for now, but a larger hopper would be good.
Mounted on the robot. You can see the completed camera mount and Raspberry Pi mounted on the side in the foreground:
The reverse angle:
I needed to re-design the motor mounts on the robot base, they didn’t hold the motors securely enough and tended to shift around.
The new mounts are better fitting and include a small wedge that fits between one of the gearbox plates where there are no cogs.
One of the great things about 3d printing is being able to pull out part of a design and iterate over in isolation, then when you’re done incorporate it back into your main design.
I printed out the front half of my Raspberry Pi camera module mount. It serves two purposes, providing a way of mounting the camera on my robot, and giving me a place to attach the wide-angle lens I’d bought earlier.
Before I pick a battery I need to know what power requirements my robot is going to have so I took it into the hackspace to test. I hooked it up to one of the power supplies then ran all the systems, so Streaming video off the Raspberry Pi over wireless whilst running the motors. I weight it down with a large motor (the big black thing) and then provided resistance, it peaks at about 1.6 amps.
In the video you can also see the new side mounted Raspberry Pi and the base of the ping-pong ball hopper.
Detail view of the side mounted Raspberry Pi and the base of the ping-pong ball hopper:
The Raspberry Pi camera doesn’t have a field of view that is wide enough for my robot, I’d have to mount it really far from my robot to see enough context to make it drivable so I’ve bought some wide angle iPhone lenses to try out.
Here’s a photo taken using the fish-eye lens held up to my iPhone:
I’m currently powering my robot via cable and mains adaptor. This works fine but. I need to power it by battery so it can roam around a room. I’ve looked at which batteries to get, and I guess I’m going to get something like a NiMH battery. LiPo sound like a good idea, except for the whole exploding/setting on fire thing, the robot will be left alone while charging and if I burn down the office no-one is going to be pleased. So I’m thinking of buying something like this NiMH battery for my robot.
The problem I have is how to charge the battery. The robot needs to “dock” and charge unattended, rather than have someone change it’s batteries manually so standard consumer battery chargers are out. I also need to get charging status somehow so I can get remote status / prevent the robot from moving off until the battery is charged so some sort of SPI/I2C interface will be needed (the docking station will be a Raspberry Pi).
It looks like there are chips out there to do this sort of thing, like the LTC1759 (from here) and more.
Unfortunately I have 0 surface mount skills, or confidence that I could make a circuit out of that that would work so I need some help: