Thankfully the final PCB has arrived back from the printers.

Today I assembled the fourth and last custom PCB for the GraffitiBot project and fortunately it went together without any problems.

The schematic and board layout were published in blog 4.

This card uses an MCP23008 I/O expander with I2C interface to drive 8 FETs that control the pumps.

I had to use this chip because I ran out of microcontroller pins to control all the pumps.

The field effect transistors have a very low gate threshold voltage so they can be driven directly from 3.3 volt logic outputs.

These PSMN022-30PL,127PSMN022-30PL,127 MOSFETS can handle 30 Amps with appropriate heatsinking, but their on resistance is so low, they don't need heatsinks for this application.

The transistors were measured in blog 4.

Here is what the bare PCB looks like - note the heavy tracks to supply high current to the pumps:

Here is what it looks like after populating it with components - you can just see the snubber diodes near the right connector, protecting against inductive spikes:

Normally I would solder in 1 transistor and get it working before populating the rest, but in the interests of saving time, assembled everything before powering up.

Fortunately the gamble paid off and everything worked on the first try - even the software.

I hooked up 8 LEDs on a breadboard to show the status of each pump output.

Here is a quick video with the Nucleo running test software to exercise each pump output:

This is a great milestone - completing validation of all the custom printed circuits in the system.

There are still several more purchased circuit modules I need to figure out and get running, such as the main drive motor controller, the steering motor controller and the RTD temperature monitoring circuit. And the other custom circuit boards for the load cell and magnetic angle sensor still need to be connected and integrated into the system.

There is still a lot of mechanical design left to actually flesh out the robot, not to mention hydraulics and firmware to run it all.

It feels like a huge amount of progress has been made so far - all of the kit components have been designed in and had their functionality tested and demonstrated, except the RTD, but obviously there is a long way to go before the project is complete. Most of the big risks have been eliminated, however the biggest of all (schedule) still remains.

I am off to the USA tomorrow, so other priorities are not helping.



Relevant Links

Sixth Sense Design Challenge: About This Challenge

Sixth Sense Design Challenge: Technical Documents

Sixth Sense Design Challenge

KMT32B Magnetic Angle Sensor


GraffitiBot Project Blogs

Sixth Sense GraffitiBot - blog 1

Sixth Sense - Kit Unboxing and Other Parts - GraffitiBot blog 2

Sixth Sense - Sensor Circuits - GraffitiBot blog 3

Sixth Sense - Interfaces - GraffitiBot blog 4

Sixth Sense GraffitiBot - System Interconnect - blog 5

Sixth Sense GraffitiBot - Wheels & Motors - blog 6

Sixth Sense GraffitiBot - ST Sensor Tile App - blog 7

Sixth Sense - Load Cell PCB - GraffitiBot blog 8

Sixth Sense - Magnetic Angle Sensor - GraffitiBot - Blog 9

Sixth Sense - LCD Interface - GraffitiBot - blog 10

Sixth Sense - Pump Controller - GraffitiBot Blog 11

Sixth Sense Main Drive Motor - GraffitiBot - blog 12

Sixth Sense Motor Controller Mods - GraffitiBot blog 13

Sixth Sense - RTD - GraffitiBot Blog 14

Sixth Sense Mechanical Design - GraffitiBot Blog 15

Sixth Sense GraffitiBot Motor Wiring - Blog 16

Sixthe Sense GarffitiBot - First Dry Run - Blog17

Sixth Sense GraffitiBot Hydraulics - Blog 18

Sixth Sense GraffitiBot Printing Graffiti - Blog 19

Sixth Sense GraffitiBot - Summary - Blog 20