I think i’ve finished the design for the XYZZY Motor Controller, which for me is a big statement. I embarrassingly probably even said it before too. But anyway both the top board and the bottom board are done in Eagle Cad and i think i’m satisfied. The top board relatively stayed the same since it’s design was fairly sound. All that was needed was a few safety diodes for the mosfets, some led’s, and some minor resistors which were not critical. The bottom board was another story however.
It required a complete redesign except for the basic underlying parts. Many of the items i had on the board were just potential “goodies” that were extraneous and non-critical, so i removed them. Not only did it help remove extra unrouted wires, it helped clear up some much needed room. In the end i ended up with some extra room that i turned into a tiny proto board area that i’m quite pleased with. Along the way i fixed a few errors on the schematic and routed things nicer than they were before. I think all that it needs now is to order up some PCB’s and do some more testing and programming.
The only things i would like to change are the screw terminals. The ones that are on the schematic now are much too small for a large amp motor. The problem is i can’t seem to find an Eagle Cad footprint for one. I may have to end up creating my own part in eagle cad eventually. If you know of one please let me know in the comments below! I’m looking for something like these: photo1, photo2, photo3.
The XYZZY Motor Controller is a modular open source hardware mosfet speed controller h-bridge. It has been designed to be able to handle high current motors with the parallel mosfet design. It has been designed to be hackable and DIY accessible (hence the all through hole design). It has been designed for flexibility. Since it has been created with the hope in mind of a built-in arduino brain it can be easily programmed for many things. I’ve routed one PWM capable I/O port to function as a PWM directional input (modeled after the IFI Victor 884 servo input design). But one feature i’m happy to include is an easily accessible I2C port. This port gives the motor controller many potential abilities. One idea is to use the I2C port to expand it’s capabilities (such as a current sensor), or i think it would be cool to use I2C to daisy-chain several motor controllers together to help save wiring and to provide real-time feedback to a master microprocessor or computer. Another cool “feature” is that possible boards could be fixed with half the parts. If for example the mosfets died for some reason, but the bottom components were fine (or vice versa) you could use the good parts with other good parts. Since my old top board is basically the same i plan to test it with a new bottom board sometime in the near future. I expect it to work fine.
The schematics are somewhat rough. I’ve tried to clean them up as best i can. But don’t expect them to be pretty. The reason one schematic has floating wires going nowhere on one side is that at one point these were part of one schematic. To create the two board system with the pluggable pin headers i had to split them into “two projects” at one point in time.
If you would like a copy of the current Eagle Cad files please let me know. This is an Open Source Hardware Design. I would love to see these in the wild or even improved versions of it. Perhaps someone with surface mount experience can create one with smaller parts. More prototype testing to come soon, i hope! 🙂
Update (9-15-15): I’ve updated it again only slightly. I’ve changed the resistors to have bigger pads using the adafruit eagle cad library parts, and instead of screw terminals i’ve decided to use spade connectors or quick disconnects. These make it less cumbersome to disconnect motors and power and no loosing of screws, but also saves space (which was more critical). I couldn’t find a library that had a spade connector already, i had to make it myself. It actually wasn’t too hard.