Before I begin, be warned. A picture is worth a thousand words, and I don’t have any pictures today, so this post is going to be a pretty big wall ‘o text. If you’re willing to brave my rambles, read on.
I’m currently finishing up my latest revision of ChibiTroller (v2.0), and since I first began controlling larger-scale bruushless things I’ve gone through many different controllers. Most of which I’ve blown up. This is a reflection and analysis of what I’ve gone through so far, and what I’ve learned.
My first large-scale brushless project was my Power Racing Series car last year, the bluesmobile. The power train was almost entirely made of RC plane parts, the core of which was a 2800W outrunner. There are a couple of problems with controlling a motor of that size. First of all, it’s just kind of massive, and so an appropriate controller is difficult to find. But a bigger problem is the commutation. Brushless motors require some kind of position feedback going to the controller in order for the controller to switch the phases to make the rotate. Usually, in the RC world the motors use sensorless commutation. Power will be flowing through any two phases at a given moment, and the controller reads the back EMF coming out of the third, unused phase in order to figure out the motor’s position. The problem with this is that in order to be able to get that back EMF, the motor has to be spinning at some minimum velocity. If the motor isn’t under any load, it can jolt to a start from a standstill, but under load or at low speed (such as starting an electric vehicle), sensorless commutation just doesn’t work. It’s easy enough to get around the slow speed bit by putting a big gear reduction on the motor, but the vehicle must already be moving in order to start the motor. That’s problematic, to say the least. That being said, it’s often worth the inconvenience because the controllers are easy.
The easiest way to control a RC motor is with a RC speed controller. They’re cheap, powerful, and tuned to work with the relatively high-kV, low-inductance motors. They’re also sensorless. I started off using a turnigy dLux 80A HV controller. I’d heard that they’re good, reliable controllers. And the one I had sort of worked. The problem ran into was that the ESC itself was a small, mostly plastic box less than two inches in the largest dimension. And since the motor was at peak current draw most of the time, the controller got pretty hot. I tried attaching a massive server heat sink to it, which despite looking pretty comical worked fairly well. Until it blew the main power bus caps. I replaced the controller, but the new one suffered the same fate. Clearly, the dLux was just not up to the task. So I moved on up to a turnigy sentilon 100A ESC. Also sensorless, also with a reputation for being bulletproof. This one actually was. I raced the majority of the season on it, only finally killing it in the endurance final in New York. Turns out running close to 3kW through an exposed system in the rain doesn’t end well.
So what were the successes and the failures of this particular batch of controllers? They were all cheap, and they had a high current capacity. They were fairly durable (especially the sentilon, which died of a short circuit rather than detonating), and they were able to operate the motor to its limit. But their biggest shortcoming is the commutation. The sensorless commutation is fine for spinning a propeller. And it’s fine for vehicles like bicycles or scooters where giving a gentle kick-start is easy. But when sitting in a small electric car, that’s just plain unacceptable. Because of that controller, I blew more starts than Mark Webber, and I stalled and overheated my motors more times that I care to count. In order to do better, I need sensored commutation.
This year, I endeavored to build a chibikart of sorts. Like the original, I used a brushless motor for power. But unlike last year, I decided to learn from my mistakes and go for proper sensored control. After some discussion with Charles, I ended up with a nice set of sensors for my motors. Hall effect sensors are mounted to the motor in such a fashion so that they pick up the magnets in the can as they spin by. That way, the controller doesn’t have to rely on back EMF to have position feedback, and so the motor can commutate properly at stall and low-speed conditions. The problem then is finding a controller that supports sensored commutation. This isn’t difficult if you have a lot of money to throw at the problem, but really can be on a budget. Once again, Charles saved the day with the Jasontroller. These are shady no-name motor controllers from China. They support both sensored and sensorless motors, and have effective current limiting so that they don’t overheat and self-destruct. Which all sounds very nice, and is very nice. I ran them successfully fir quite some time, until I decided that the 10 phase amps they could provide just wasn’t enough. I found the current sensing shunt, shorted it out to lower the resistance and raise the current limit, and… nothing. They had some kind of interlock in place and bricked themselves. I did all sorts of experiments on them, and ended up bricking six of them before moving on. The verdict: Jasontrollers are awesome, but not powerful or easily hackable.
My next pick was even shadier (as anything ordered from alibaba is). They turned out to almost be Jasontrollers. They were about half the size, but had what appeared to be very similar circuitry inside. I ran a race on them, and found them to not be terribly useful for my purposes. As with all of the shady Chinese motor controllers, the mini-Jasontrollers (µtrollers) have a fairly low switching frequency, and therefore can’t run the motors very fast. Because of the difference in commutation algorithms, the normal Jasontrollers would be able to go faster in sensorless mode. So once the motors were out of the conditions conditions where sensors were necessary, they would switch to sensorless. The µtrollers didn’t do that, and as a result didn’t go nearly as fast when using the motor sensors. During the race, I found that when in sensored mode, I would be going a good 3mph slower than in sensorless mode. Again, no good. The current output of the µtrollers is also limited to 10A, and they also bricked when I tried to up that.
And so that brings me to the most recent (and I hope the last) chapter of my search for a good motor controller. I bit the bullet, and purchased kelly KBS24101 controllers. These aren’t shady. They aren’t cheap. But they are programmable, and they support sensors. They have higher current limits. And they shouldn’t self-destruct. In a few weeks (after the race in Kansas City), I’ll be able to analyze their performance. But in the mean time, all I can do is run wire and hope.
Well, ChipiKart is done(ish). It raced at the San Mateo Maker Faire, but that’s another story.
One thing I’ve been meaning to do to ChipiKart is replace the lead-acid batteries with something better, like one of the more stable lithium technologies. Those are expensive, though. But at the maker faire, I was able to pick up some pretty neat surplus.
This is a A123 module. It’s 16.4v, 2.5 Ah. But that’s not the fun bit. The fun bit (aside from the super-flat discharge curve) is the (reported) maximum discharge of 200A, which is rather a lot of amps. It will also take somewhere in the vicinity of 60A charge current, which is just silly. I can’t find a datasheet to verify those numbers, but I won’t be approaching them so I should be safe.
I was able to purchase four units, so I planned on making two quick-change packs. Making quick-change packs means I get to do one of my favorite things: make boxes. So I grabbed some sintra (expanded PVC foam), and headed off to the table saw.
This was the first box. It holds one pack.
An identical one gets stacked on top. Notice how the middle divider isn’t solid. This will allow me to get some airflow over the batteries, and maybe insert a temperature probe. I doubt I’ll need it, though.
The packs slide in like this.
I added some reinforcement, and hit it with a router to make it look presentable.
I don’t have any appropriate wire, so I made copper bus bars to connect the modules in the pack.
The whole thing goes together like this. I still need to cut a keyway in one side and key the receiver so that it’s impossible to insert the batteries backwards. Lots of amps backwards is bad.
But now I have a scary-pack! It weighs 4.4 lbs, as compared to my lead-acid pack, which weighed 18.2 lbs. Now that’s an improvement.
Coming up, a receiver, charger, and the rest of the battery system.
Maker Faire San Mateo is quickly approaching, and with it the first event of the 2013 Power Racing Series. Which means that ChipiKart is going to have to be much more than a gravity-powered death trap, and fast. With this deadline in mind, I’ve been plowing ahead, and am pleased to present this… thing.
It’s most of a ChipiKart. With some changes. The original steering wheel was made of 3/8″ thick acrylic, which is brittle enough as is, and really didn’t last long in the sub-zero temperatures I tested it in. In the absence of a suitable replacement, I used two vise-grips as a replacement. It works, so stop judging me. It also has one drive motor hooked up, so it moves under power. There’s still no brakes.
Here’s my motor unit. It’s the SK3 6364 motor from last time, but mounted to a bodged-up mount. There’s also a 3D printed bracket holding some sensors.
The sensor board (courtesy of Big Chuck’s Robot Warehouse) is mounted to the motor with a 3D printed ring. The sensors provide a position reference for the controllers so that the motors can commutate properly in a zero-RPM condition. This means that I can start from a stop, or a stall. Handy.
And here’s the controller I’m using. It’s a generic shady Chinese controller, with some modifications. I’ve replaced the no-name FETs with nice IR FETs that will dissipate less heat, and I’ve upped the current limit from 10A to somewhere above 60A. We’ll see how that goes.
Here’s the inside of the controller, just for the curious. If you want a good tear-down, look no further that Charles’s excellent report.
Moving on, putting motors on the Kart. I was planning on bolting the motor mount to the frame so I can adjust it, so I put on a few tacks with the MIG welder to hold it in place while I drilled it. I ended up liking the way it was aligned, so I ditched the bolts and just welded it.
Because I don’t want everything on ChipiKart to eb a complete hack, I decided to make the controllers look nice. I hacked off a hunk of aluminum box extrusion and made a nice enclosure which I will name ChibiTroller. It houses a 300A cutoff switch, proper anderson power connectors, two Jasontrollers, a cooling fan, and some arduino telemetry stuff that I don’t really understand. The goal is to be able to report back to pit lane in real time various different sensor readings. I haven’t installed any sensors yet, nor have I decided what I want.
And here’s the testing video. I threw some old lead acid batteries on it for testimg, but I’m really hoping I’ll be able to scrape together some A123 cells for a proper battery pack before the first race. So now I just need to mirror the right side over to the left so I have two drive wheels, and add brakes. Hopefully more coming soon…
Well, I went through a quick blitz of making things, then kind of dead-ended. By which I mean I ran out of parts and had to stop work. But here’s what I got done.
I built the steering column! And made a steering wheel! And didn’t take any pictures, but here’s some video of what it looks like laser-cutting 3/8″ acrylic on a 30W CO2 laser.
…And then I had a rolling chassis, and wanted to drive but had no power. So I decided it was time to soap-box derby this thing.
No, I didn’t crash at the end. But I did break the steering wheel in half. I don’t know what I was expecting; it was about ten below zero outside.
It was at this point that I realized that I had nothing else to do but put motors and brakes on it. And I didn’t have motors yet, so I stopped short.
Until today, when I got a box from Hong Kong.
Motors and a battery charger! But let’s focus on the fun bit of that.
The motors are Turnigy SK3 6364. I love these things. They’re actually well built. The magnets are glued in, the stators are pinned, the windings are tidy(ish), and they have can bearings! This one also has a fairly low kV (180), and 2400 Chinese watts of power. Oh yeah. Now that I have them, I can model them, put them in the ChipiKart CAD file, and design some motor mounts. Other projects can wait, I’ve got motors to put on things.
Well, it’s been a while since I updated on this thing. Here’s what’s been going on.
I re-designed the linkages last time, and I’ve since built them. Here’s the actual link:
All welded and stuff.
And in a bracket. It rides on a shoulder screw, and I’m impressed with how smooth it is. It has very little slop, but spins very easily. This is why I love bushings. The whole thing isn;t pretty, but it works well and mounts flat.
I’ve also designed the steering column mount. It’s two more-or-less square plates with holes bored in them to accept bushings for the steering column. They’ll get welded to a piece of square tube, using the column as a jig to make sure it stays aligned.
I’ve made a few minor tweaks to the frame.
I’ve added two small tubes between the last two risers. They have holes in them to accept the seat. And finally…
I’ve pretty much finalized the bill of materials. It’s available here, complete with all my annotations. It also includes what bits I already have purchased and two separate cost breakdowns: the grand total and the PPPRS total. The grand total is how much the whole thing actually costs. The PPPRS total is how much it costs when taking inot account the various cost deductions as stated in the official rules. I’m including that because I intend to race this in the 2013 series.
I’m working on a document with all the technical drawings in it so you (yes, you) can build your very own chipikart, should you be crazy enough to try.
I’ve had to stop building because I’ve built everything I’ve designed so far. And since I’m trying to make this repeatable, I need to fully design everything and resist the urge to just start welding things together until a car comes out.
To that end, I need steering to happen. I have the rear wheels mounted to the frame, and if I can get the front wheels and steering done then I can do chipikart — soap box derby edition. I’ve trashed my previous designs for the steering. Since I changed my design to the weld-n-go version, I no longer have the original steering mounts to work with. So I’m going with something simpler, and more importantly, cheaper.
So here’s the new design. It’s two blocks of my favorite nearly-indestructible not-so-mild steel, 4140. That, a bolt, and two bushings. The bushings are sintered bronze for smooth motion, and flanged so I can fake having some kind of thrust washer. This should let me have smooth, and close to slop-free motion.
And here it is installed. I’m using a 3/8″ shoulder bolt as the pin, and it also acts as the smooth bearing surface.
The bracket is more weldment. I’m really bad at bending steel, much less 1/4″ thick 4140. It’s much easier (and more precise) for me to just cut three pieces and weld them together.
So now I have a (hopefully) final steering design. Now I just have to build them, but considering I’ve done the design, that shouldn’t be too hard. Finding time to build them in will be the hard part.
I mentioned before that I had gotten a sensor board from Charles. I had one board, which I intend to mount on TinyBike. However, I also want to put them on chipikart, which has two motors. Clearly, more sensors are needed, so I ordered some boards from my favorite purple board fab.
And two weeks later, they arrived! Solder party time!
A short time later, sensors! My three boards next to the MIT original®. Now to print some mounts and then…… Wait a minute. I don’t have motors yet. Dang.