This week the Spice of Pi has been all about designing hardware and ordering enough components to get it working.
I had ordered a Google AIY Voice Hat to implement Google Assistant and voice recognition. It has arrived, but it uses a cardboard box for packaging, so I want to design packaging that is a little more appropriate for use in a kitchen.
The Pi 3 and touch screen are going in a bamboo chassis - I thought it was appropriate for a kitchen:
Next up is the speaker - I spent some time designing a nice speaker enclosure for the speaker that came with the Voice Hat and my 3D printer did a great job printing it out:
Then I tackled the mechanism to lift a selected spice jar. After the carousel rotates to bring the correct spice jar into position, a lifter mechanism raises the selected spice jar so it may be taken from the carousel. I went through numerous design ideas trying to figure out a good way to lift spice jars, ranging from very complex machines to simple levers. The main issue was how to translate the rotary motion of the servo motor into straight vertical linear motion for the lift. Ultimately the design involved several iterations of design and 3-D printing of about 10 components before I was happy with the result. As time consuming as it was, this type of design would have been very difficult to pull off without a 3-D printer. The end result may look obvious and simple, but from my perspective it was anything but simple - there are a lot of moving parts that could bind up or jam, and some of the prototypes did.
The next item on the menu was the servo drive circuit - we can't have an element14 design project without a circuit design.
Most of the electronics are purchased modules, and fortuitously the Voice Hat has servo drivers on it. However one thing about servo motors is they can consume power when stationary and they can also sit there buzzing away hunting for a specific position. The Spice of Pi mechanisms will not move if power is removed from the servo motors, so I want to make a circuit that allows power to the servos to be turned off when they are not needed. To do this, I want to use extra servo channels as digital outputs to power switches. Connector wise I will use 2 adjacent channels where the second channel is just controlling power to the first channel. The circuit is pretty simple - a logic level N-channel FET will turn a P-channel power FET on or off. This allows the power FET to control power at a higher voltage than the Raspberry Pi supply. The power FET has a built -in diode that will snub any motor power spikes. The cute part about the design is it will allow 2 servo motors to plug into these power & servo control cards which in turn plug seamlessly into the voice hat without interfering with each other or anything else.
I need to send this out for manufacture right away as it is already going to be in a race with Chinese New Year - which will freeze all manufacturing activity in its tracks and backlog all shipping activity.
Here is what the circuit looks like so far:
The power switch is serious overkill - capable of switching 74 amps, but they are cheap and I can get them. They have 0.02 ohms on resistance - I have pieces of wire with higher resistance.
Next I will work on the carousel design. I have worked out which spice jars I will be using (spice jar prices can be shocking) and have figured out how the jars will sit in the platter. I have ordered and received quite a few parts - not sure yet if I have enough parts, but the design is taking shape.
Design Challenge Links:
Project Links:
Top Comments