Thursday, December 29, 2011

I Hate Motor Controllers (The Journey of Segboard)

Well, I suppose I kinda failed on the updating more regularly part, but oh well. My apologies. Finals and final projects tend to suck the life out of you. Anyhow, I wanted to give you all an update on Segboard (for which I'll be redesigning the power electronics this winter break).

Here is my first and happiest video of Segboard functioning. 



My friend Charles taped this better version while I was frantically taping a crappy version with my Ipod. Props to Shane for test riding it. Also I super love my tights here. You can get them at Urban Outfitters for $10.

However, there is one catch. This test was done with a commercial motor controller from Pololu. Yup, this is not with my janky home-made motor controller. You see, what I hadn't predicted was the pain and suffering of transforming theory into reality. 

And boy does that pain suck.

Problem 1:
I AM NEVER ETCHING A MOTOR CONTROLLER EVER AGAIN THERE IS NOT ENOUGH  COUTURE IN THE WORLD TO MAKE ME UGH!!!!!!!!!!!!!!!!!!!!!

Some of you might know the process of etching printed circuit boards (PCBs) with ferric chloride and toner paper. Some of you might've seen my post about it. Some of you might even think it's a good idea. Well, it is - but mainly for some things. Like small microprocessor breakout shields or something tiny and not high current. DO NOT ETCH SOMETHING HIGH CURRENT OR YOU WILL HATE YOUR LIFE UNLESS YOU ARE A GOD[ESS] OF ETCHING.

You see, etching can be fun in some sense. 

Here are the steps for normal boards:

Step One:
You sandpaper some copper board.


Just as you'd put on primer before applying eyeshadow, sanding your copper is like the same thing. You want a clean copper plate for the toner to stick onto, so sand and acetone that sucker. Also sanding will make your toner stay on more robustly, like preventing eyeshadow creasing. Do this about 5 times. 

Step Two:
You iron your circuit board toner print.

I'm really digging coral right now. I tried this coral nail polish from OPI,  but my skin tone looks weird in this picture. 
This part takes a while. You kind of stand there like a wife from the fifties, except instead of ironing your husband's shirt, you iron your circuit board. Note: Both shirts and PCBs burn, so watch out. 

Step 3:
You somehow remove the paper backing. 



This part is a real pain. The paper doesn't always come off nicely and you have to wait until you can rub it off with your fingers. Also you might rub off the toner, so then you cover up the broken traces with Sharpie (which really works). 

Step 4:
You let it soak in ferric chloride until all the excess copper is eaten away. 

FYI this is one of my worst etchings. The more you make, the better they get.
Step 5:
Drill the component holes and populate the board. Tin the ground plane if so desired.

It looks so innocent, doesn't it?
Theoretically, then you're done!

... (Yeah right)

As I've said before, ETCH HIGH CURRENT BOARDS AT YOUR OWN RISK. DEBUGGING THIS WAS THE WORST EXPERIENCE OF MY LIFE. Want to know why? At high currents these traces have a tendency to pop. THEY WILL LITERALLY EXPLODE. And then you have to look real hard at the back and do all the continuity checks. In addition, solder connections can be weak if you mill out the holes just a little too largely, there can be microscopic breaks in the copper, Gremlins might like your board for some reason, etc, etc. ALL SORTS OF PROBLEMS EXIST IN REAL LIFE. 

Unless you're making a relatively small control board or else have RIDICULOUSLY THICK copper traces, DON'T DON'T DON'T DON'T DON'T etch motor controllers. Just send them out to 4PCB or Gold Phoenix. It's worth the money, I SWEAR.  

Problem 2: 
MAKING A GROUND PLANE IS NOT ALWAYS A GOOD IDEA. 

That ground plane (the big piece of copper that surrounds my traces) was the cause of so many inadvertent shorts and mishaps and UGHHHHHHHH.

If you're doing some sensitive analog controls stuff, having a ground plane reduces the amount of noise on your chips. This is good because you get more reliable logic. However, with something big and clunky like a motor controller, a ground plane is not so great (especially on a homemade board) because when you short your entire board, you blow out a number of things you don't expect. 

I'll alter this statement a bit. If you had your PCB professionally printed, then maybe a ground plane is good, but if you etch your own YOU'RE PRACTICALLY DOOMED. 

Also watch out for ground loops. They will make your controls quite sad. 

Problem 3:
Regenerative breaking is hard. 

Courtesy of "How Stuff Works"
I'm pretty sure a lot of you have heard about regenerative (regen) braking. It's used in a lot of new electric and hybrid vehicles. Essentially, what happens is that when you brake, your wheels are an input of energy (basically a generator) back into your batteries.

I designed my motor controller to use synchronous rectification (basically an H-Bridge) to run my motors. (Note, please looks these up if you don't understand the terms, that's half the fun of learning!) While I thought this was hella-baller, I didn't design anything for the regen that I hadn't really planned, leading to DEATH, DEATH, BLOODY MURDER, DEATH. 

Essentially, this happened each time. 

I would test my motor controllers on the power source with a PWM signal from a micro, it would look fine and work wonderfully. Note, there was no hard braking performed.

I would attach motor controllers to Segboard and then, as I was braking, DEATH OF EVERYTHING AHHHHH WHY ARE MY MOSFETS DYING?????????

Anyway, I figured out why my FETs kept dying. When I was braking, I was regen-ing back into my batteries. However, because my motor controller hadn't been designed to either short out that regen or else somehow bridge it back to battery, my FETs kept avalanching and my voltage regulator died. The voltage regulator (24V to 15V) gave it away. My awesome boyfriend Joe had worked with high-power LED controllers before and had witnessed voltage regulators failing. Apparently they really only die by one thing - the output voltage being greater than the input. This lead to the regen Ah-Ha! moment. This also lead to the fastest and jankiest demo-fix ever as I soldered a diode across my regulator to take the regen braking and them demo'ed a somewhat working Segboard for my power electronics class. Surprisingly, it worked well enough to show it functioning, and that's what really mattered (for that class).

I only kind of hate you. JK! <3

In the end, I've learned a lot. One: theory != reality. Two: Friends are the best thing ever. If they hadn't kept my sanity, I would've just been a lot sadder through this whole ordeal. Anyway, this is just an update of Segboard for now. Like I said, I'm planning a total redesign during winter break (just for fun, not for any class). I can't wait until I ride across campus as MIT's most chic engineer! That should be entertaining. :P

Happy Holidays and Happy New Year!
XOXO
Jordan

3 comments:

  1. You shouldn't feel bad at all. Motor controllers are one of the hardest power electronics to design, because you have a source of energy on both sides and you're trying to transfer it back and forth at 95+% efficiency. If anything goes wrong, all of the sudden you have a multi-kW trace evaporating device.

    ReplyDelete
  2. jajajaj it remember that a skate board of the film back to the future

    ReplyDelete
  3. Hi You don't know me but I was just surfing through the internet and saw your post.
    AWESOME job with this. I really admire what you do. Keep up your good work! and THANK YOU for the information :)

    ReplyDelete