Calling all Electronics Wizards and Open Source Hardware enthusiasts to help me fix my Motor Controller…

Okay. So, i’m a little embarrassed that this thing is still not working. I’ve made cool progress on it over the years, but not the part that matters… that it actually works. This should not be that hard. Since it’s basically an HIP4081A beefy full h-bridge controller and an Arduino it should not be all that complicated. I think what i need to do is just spend some money on known good components and true schottky diodes and mosfets and just breadboard this thing out. Once i can get this reliably working on a breadboard i can come back to the PCB design stuff. I know last time i messed with it i had a few PCB wiring issues and when i was testing the h-bridge i could only get one side to turn on. The other side was shorting out somehow.

20171123_111038

Having said that, i’m still pretty happy with the overall PCB design and direction that is heading. I really enjoy the two PCBs that plug into each other via male and female headers ans sockets. I just put up my files (in their old unkempt state) onto GitHub for version tracking and in true Open Source Hardware fashion for others to hopefully help collaborate with me on this. I really really really want to see this thing work someday and turn into a cool motor controller that people use all over to build cool robots and stuff with in the near future.

20171123_111058

So, please… If you are good with electronics and electronic theory, especially motor control, if you are an open source enthusiast, if your good with git, if you are good with EagleCAD, if you have an interest in a cool Open Source motor controller based on MOSFETS, if you were a user of the old FIRST Robotics, VEX Robotics, or IFI Victor 884s or 885s that this design is based on (now a defunct product to my knowledge), if you’d like a motor controller you can hack, use I2C or add a CAN bus or some other device such as a current sensing circuit, or who knows what else, then PLEASE PLEASE Help Me! Help me get this thing working and ready for market and usability and hackability. I’m not ashamed to ask for help or to admit that i need it. I’m proud of how far i got with as little electronics knowledge as i do have, but concede that there are so many other people out there that can help!

 

 

 

I have uploaded the last freeze of this project onto a new github project for you all to easily get the source files here: https://github.com/keen101/XYZZY-Motor-Controller

I’ve also designed a neat little 3d printable base to keep this thing from shorting out. And i will track down the other design files that are relevant or that this design is based on in the next couple days / weeks.

20171123_111133

 

*Bonus Offer: I have several old PCBs of V. 1.0 laying around. For anyone willing to help me with this project i would be willing to send you up to 3 copies of the top and the bottom boards each to play with (while supplies last). There are i think at least two potential PCB trace errors (that i can’t remember what at the moment) that are on the boards, but hey, free boards and it’s not that hard to cut a trace or two and rewire if needed. You would just need to obtain the needed mosfets, diodes, arduino, and HIP4081A h-bridge driver chip to work on the project. Heck, i’m even willing to entertain replaccing the HIP4081A chip to a different one if there are any better or cheaper options that do basically the same thing. Please Help 🙂

Advertisements

Project Updates November 2015

80/20 1020 Extruded aluminum t-slot y-axis 3d printer bracket
80/20 1020 Extruded aluminum t-slot y-axis 3d printer bracket

The first update is that i’m still steadily designing new parts in solidworks for my custom 3D printer. This photo is one of two y-brackets that will hold the 1020 size t-slot extruded aluminum (from 80/20) y-axis beam. It looked good in Solidworks, now it just needs to be fabricated (3d printed) into a real-world working part (as with many other parts).

Y-bracket for custom 3D printer
Y-axis bracket for custom 3D printer

It’s really fun designing parts and then seeing them become real functional parts. Recently I’ve even been looking into a local program for CNC machinist training as a job. Apparently there is a large shortage of qualified CNC machinists in my area along with a booming and returning engineering and manufacturing hub here in the area.

While i was designing new parts and fitting them together i found a few minor problems with a few of my old designs being off and not lining up properly with the 1020 extruded aluminum. So i spent some time fixing that and cleaning them up a bit. Good to find those errors on the computer first than after i make the parts.

I received the prototype PCB’s for the XYZZY Motor Controller 1.0, The downside is I’ve found numerous errors that i missed, so I’ve been trying to fix those. But then to compound those problems the main circuit itself has a problem where the HIP4081A h-bridge chip circuit is only driving a motor (in this case a test load LED) in one direction. At first it was shorting out the other direction, but now i think it just loads the current down and does not activate one side of the hbridge. It’s actually driving me crazy trying to fix it and find the cause of the problem, but it’s still quite a mystery. Perhaps electronics is just not my thing. Perhaps i really should give up on that project after never being able to have good success. But i don’t know.

In plant breeding news: i was able to harvest three corn cobs this year. Two were decent sized purple husked corn cobs, the other was a good multi-colored flint. The third one had lots of kernel color diversity, it even had several speckled kernels, and chin-marked ones, and even some that had both speckles and stripes! I recently found purple sweet potatoes at Whole Foods and i will be trying to sprout one and grow my own slips for next year.

I was also able to grow a few good squash this year, some good progress on the pea breeding, and an excellent year with Joseph’s Watermelon Landrace. Sorry, i didn’t get good photo’s of the watermelons, but i had some excellent red sweet watermelons and some good yellows as well. Especially for Northern Colorado, the watermelons are the plant breeding project i’m most excited about and ironically having the best success. Can’t wait for next year! And all this despite it being an incredible difficult and strange gardening year!

Continuing Progress on the XYZZY Motor Controller

bottom_board_v1.0top_board_v1.0

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.

bottom_sch_v1.0 top_sch_v1.0

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.

top_board_v1.0 bottom_board_v1.0

Updating and perfecting the XYZZY Motor Controller

XYZZY_Top_Board_V1.0

I’m working on finishing and perfecting an old project of mine (by a few years). The XYZZY Motor Controller (H-bridge). The old design was only somewhat functional. Enough to prove proof of concept (barely), but i want a sleek, finished version that people can actually use. So i’m working on perfecting this prototype design. I’ve just updated several things on the top board, and i think it’s done. The biggest issue was a pretty major design flaw which was that i forgot to add the safety diodes for motor kickback. In simple terms that meant that when the motor stopped turning or i switched it from forward to backward the electrical energy would destroy the Mosfets! …oh.. noo… Yup.

Not to worry, they are there now. I will be wiring them in manually to some of my old prototype boards to test soon. This design is progressed enough to update it to V1.0 instead of Rx.x number. Although the top board is finished, the bottom board needs quite a bit of work and possibly major redesigning. from the looks of my old design for the bottom board it looks like one feature i wanted to implement was an I2C bus. That would make it cool to connect them together and then to a microprocessor to monitor them in real-time. The only sensors to monitor at this point was the inclusion of a crude temp sensor and monitoring the RPM of the fan. Although i was hoping to build an arduino chip built in. When i eventually purchase new PCB’s i think this revision is finally deserving for the color red! Although purple or black would look pretty sick too. Any comments are welcome.

This is an Open Source Hardware Design.

DSCF7247 DSCF7248

DSCF7249

more XYZZY motor controller pictures

In honor of the most popular post on my blog in 2010, I’ve decided to upload a few more pictures of the XYZZY motor controller prototype. This time they were taken in high resolution with my new digital camera.

I still haven’t done anything new with it. And technically it’s still unfinished. But, i consider it a partial success anyway. Well, Enjoy.

XYZZY Motor Controller Prototype

http://s1010.beta.photobucket.com/user/keen101/library/electronics

p.s. here is a nice short article that describes the basics about H-bridges. I especially like the part at the end when it talks about the brake mode. Very useful feature on large robots or even an electric tractor. Here.

Successful XYZZY motor controller prototype

I have good news today! I got my R9 prototype boards the other day, and today successfully assembled and tested it today. I used whatever random parts io could find, and it still works!! I had to test with external arduino. 3. the fan mounting holes were slightly off, but they were close enough that i could still mount the fan. 5. I had a half bad HIP4081A chip. But, fortunately i had 3 “extra”. 6. to get it to turn in one direction or the other each HIP4081A input must be grounded, so my arduino PWM code was “backwards”, so to speak…

BUT, IT WORKED!!!!!! I used general diodes for the charge pump circuit, random capacitors for the power regulation, 22N50 mosfets that i got (about 100) in an Electronic Goldmine surprise box. Those surprise boxes were well worth it just for the mosfets!!!! This revision works instead of shorting out, since i fixed the p-channel mixup earlier, which is a relief. It felt good to finally finish this project. get a somewhat working prototype. It’s technically not finished, but it’s oh so close. Just needs a little redesigning, an opamp, and someone to program code for it.

I hope this homemade speed controller can help cut costs for FIRST Robotics students (on personal robots), so they dont have to buy expensive speed controllers for summer projects, or other hobbyists in autonomous robot competitions. I estimate that you can buy the boards for about ~$60, and the parts for ~20 without scrounging. But, you usually get 2 copies from batchpcb, so the “real price” is about $50 which is at least half the price of the IFI/VEX controllers.

The design could use a few little improvements. I’m still annoyed at the tiny solder pads that eagle cad produces, it’s hard to solder on the boards. http://forums.adafruit.com/viewtopic.php?f=25&t=13885

Edit #2: /more-xyzzy-motor-controller-pictures/

XYZZY Motor Controller is born…

haha, okay. so I’m pretty confident that my open source speed controller design is pretty much finished. Maybe some minor tweaks in the future, but otherwise pretty good. Of course I could have made some huge electronics mistake when i was designing it, but i dont know for sure. I guess i will just have to test it out, and figure out how to program the arduino code for it.

Too bad i didn’t finish adding reverse voltage protection, or a current sensing. Although i did add an I2C port, so a current sensing circuit could be added on later i suppose….

XYZZY Motor Controller - Top Board
XYZZY Motor Controller - Bottom Board

anyway, yeah. Just a Eagle CAD design right now, but i hope soon i will actually have a real one in my hands to tinker with. It would be even cooler if someone like SparkFun Electronics used my design to make a commercial version. I think it would do well with the annual sparkfun autonomous vehicle competition’s they hold. here is the forum to follow any new progress…

EDIT: …The design is supposed to use N-channel mosfets… but…in eagle cad i thought i used an N-channel (it even it said it was), but it turns out it was a P-channel. So, my prototype v.0.1 or whatever doesn’t work at all. Anyway.. i fixed it now. https://keen101.wordpress.com/2010/03/06/xyzzy-design-flaw-grrrr/

Edit #2: /successful-xyzzy-motor-controller-prototype/