EDIT: Picture dump!
So this year didn’t really go very much to plan in terms of, well, /racing/.
To be honest, I was kind of imagining that they were going to make a new award for our team, the award for the car that failed, kept on failing, and died immediately, and generally was a waste of valuable pit space and natural resources. But lets go back a bit in time to see why we failed. Spoiler alert, its procrastination and rushing.
I’m part of the 721st Mechanized Contest Battalion (WC2FD), a HAM radio group / Maker group that dabbles in all sorts of things. In the past, it’s been FIRST, its been youth programs, robots (A claim to fame was the Emergency Antenna Platform System ) and now racing power wheels, among many other things. At some point in the late summer, a member suggested that we participate. I agreed immediately, as I had wanted to do a PRS kart SO BADLY. So we did.
So I threw together a cad design for a kart like my life depended on it. I quite liked it. This design was more or less followed in the final product. The thing I am most proud of is the steering system. I just got a plugin for Sketchup called MS-Physics, which is sort of like SketchyPhysics but.. better? It uses a newer version of whatever physics engine it runs on.
What’s important is I designed a lovely steering system with it. It had proper geometry, as in the inner tire turned as much as it should to follow the corner radius, the outer tire did as well. Also, it had some tilt-back that I read about, to allow it to want to self center, and also jack up the rear wheel on the inside of a turn slightly to lift it off of the ground, to avoid solid axle scrubbing of the faster rotating tire. When the car briefly worked, it handled VERY well. That part was a complete success. It also allowed me to nail the geometry of all the parts, and see that they didn’t hit each other in the design, as well as make jigs to weld them up. No fancy markforged 3D printer here, unfortunately, just a normal one!
Here you can see one of the 4 jigged plasma cut parts, in its jig, ready to weld. These parts were a bit of a faff to make. I got them plasma cut…. but this is where I learned that plasma cutting is not… neat. It’s certainly not water jetting, that’s for sure. So my idea to make parts, use the plasma to make some small holes for M3 screws to line the parts up on the jigs worked, but not very cleanly. But it did work, and here it is, in it’s jig. This part, I feel, would be extremely difficult to weld by hand and get all the angles correct. It has very strange twists and tilts to make all the geometry work properly.
Here it is, all welded. With some grinding. May I also remind you that I only have a few days of MIG welding experience? I think I’m doing pretty good. However, for anyone considering doing this, may I just make a note? One, a beefy 3/8″ spindle bearing ID size seems good, but it isn’t. Use bigger bearings. Also, it’s extremely important to take the plastic jigs off quickly after you spot weld, and…… most certainly whatever you do, do not decide to fully weld the part with the plastic on. It doesn’t end well. It may catch on fire.
Just a hunch.
With the front half going well, lets tackle the more disastrous rear half, containing the drive train. I think the most lessons were learned for me here. Here are but a few:
1: Set screws suck. Use key ways.
2: The VESC is a powerful device, but only if you know how to set it up. I didn’t. It failed pretty terribly.
3: Check your spare VESC’s to make sure they have firmware loaded onto them before bringing them along as spares. Even if they claim to come ready to plug and play, make sure you test your spare parts.
4: Long wire runs. BAD. Bad for the capacitors and bad for life.
5: Proper motor/voltage/gearing choice is very important and can make the difference between doing well and failing immediately and wasting everyone’s time.
First in the list of disasters was the fact that we knew none of this was going to happen, because the kart was finished at 3:30 am the night before, and the electronics weren’t even installed yet. I just want to mention here how hard everyone involved worked to get this thing going. I was there pretty much all week and throughout that week everyone else was pulling long hours to get this thing going. It’s amazing we even made it to the race in the first place, given how the car looked even the day before, with no steering, no drive, no controls, no handlebars, no hubs… This was definitely a team effort and a success in that regard, I just let the design down a bit. The first time it even moved, was during its sighting lap. This is a Bad Idea for what should be obvious reasons, but I didn’t have a choice. The race was when the race was, and the kart was as built as it was at the time. Oh well.
But again, I’m getting ahead of myself. Lets look at the drive train. This is a 2 stage belt reduction drive off of a positively enormous (but I guess not that big) out runner motor. It drives a 15 tooth HTD-5mm pulley, which goes to a 60 tooth, and then that couples across an intermediate shaft to a 20 tooth, which goes into a 60 tooth. This results in a 12:1 ratio, which was supposed to mean a theoretical top speed of around 20mph. We got maybe 7, or 8mph, due to Big Unhappy Problems with the electrical system. There is a 3D printed duct around the motor and a screaming 15,000rpm 40mm server fan forcing air into it and through the windings. Was this effective? I have no idea, the kart didn’t run for long enough to make any meaningful heat in the motor, battery, controller, or anything.
Here you can see the first stage belt drive from the motor to the intermediate shaft. The idler pulley was not actually part of the design, but I actually managed to measure the belt wrong and it was much longer then intended. So… sneak an idler pulley in there and call it a day? The other pulley did not turn out to need this.
Here we have the VESC. I have encased it in twin heat sinks thermal pasted onto the FETs, and another screaming 40mm fan to force air through the whole mess. This was just to try and keep things a little cooler. But it should not have needed it, this was just me being paranoid.
The VESC is a big topic upon itself. I won’t explain too much, as most people have probably heard of it already. Put simply, it’s an open source speed controller, probably one of the most advanced in the world. It supports a heck of a lot of things, but it needs to be set up properly and also, properly matched with the other components in the system, not unlike any other controller. I’m used to drones, not ground vehicles, and this showed, because I did not do a very good job at this.
The main reason I wanted to use this special controller was because it appeared to be ideal. It is designed for ground applications, and rather uniquely to it, it has a current control scheme. Meaning, you can tell it how many amps you want it to draw, and it will spin the motor hard enough to draw that, and no more. This seemed like a very logical choice when you consider that PRS rules mandate a fuse in the cars to limit power. With this, I would not have to worry about blowing fuses, or having to under size my power system to handle me being a 200lb gorilla at the controls. I could simply set the maximum draw to be the maximum the fuse could cope with, and be on my merry way. I could also exploit the slow-blow nature of the fuse to command momentary bursts of larger, but still precisely controlled, power draws.
I could also use this to allow myself to have even more power, in theory, by over sizing my electric motor dramatically, and under driving it at the lower speeds at 60A when it would realistically draw more, and then as the speed increases and smaller motors start to top out, the motor would just be coming into it’s stride. This may not work as well as it sounds in theory, as it turns out, and I’m not sure if it matters. Motor top speed is never what the top speed under load is, which I conveniently forgot. Someone smarter then me will have to tell me if this idea is sound.
These are the circuit boards I originally intended to use in the kart. I custom made them in a hurry, and they are now a complete waste of money. Maybe the dashboard board is usable in the next iteration, but the main board certainly isn’t, which is a shame. I plan on using a Raspberry Pi to control an LCD in the next version, so the dash one may not see any use either.
The main board was intended to talk to everything in the car. It would measure the balance of all the LiPo cells, it would measure the temperature, it would read the potentiometers for the brake, gas, and a button for ‘boost’, and send all the information to the VESC via UART, commanding a certain number of amps to be drawn. It would also gleam information back from the VESC, such as amp draw, voltage, rpm, status of the system, temperature of the controller, etc, and send it over a cable to the dashboard, which would display it by moving servo driven needles much like a car, as well as some neopixel RGB leds behind masked symbols, again, like a car, to act as idiot lights. Unfortunately, none of this got finished in time, and now its a waste. The new system is running at much higher voltage levels that this can not cope with, and I am no longer using potentiometers, or potentially even needles. So that was a waste of a hundred bucks. =(
So here we are, race day, in the pits, next to FUBAR labs, and I’m in the picture wiring an Arduino pro mini to act as a servo tester to control the damn thing. What a mess. I had such visions of grandeur for the electronics, and here I am, hard soldering in a tiny Arduino and taping it up so it doesn’t short against the frame. Sigh.
We got the kart going, somehow, and limp around the track for it’s first lap. It kept cutting out when I gave it more then half throttle, so I came back in and raised the current limit. Side note, if you have to remove the body of your car and unbolt the seat and it takes five people ten minutes to get to the electronics of your vehicle to plug in a damn usb cable, you’re doing it wrong. Quick access is key, especially on something untested.
I raised the limits, thinking that was the problem, and carried on. I went to go out again, and right as I was about to pull out onto the track, I hit the throttle, and heard the motor spinning, but nothing was happening, and I wasn’t rocketing out into fame on the circuit. I was sitting there, in people’s way, trapping everyone behind me in the pits.
What had happened is set screws had happened. The torque from the motor had spun the set screws into a ring around the shaft, mangling them so they would not come out easily, and making it so the pulley spun freely around the D shaft, but would not come off. Very wonderful people from a team I could not remember from MIT helped us pull the car into their pit, as we could not get to ours through the line of trapped karts, and helped us pull the assembly apart, drill some spot drills for the set screws to have more grip in, and got us on our way. We owe you one, whoever you guys were.
With that issue sorted, we made it onto the track! It was race time! It still did the throttle cut thing, but it was okay, as long as I was careful, it seemed to work just fine. Four laps went by, and I even passed a few people! Slow people, but still! And then it died. It came back to life briefly, and then died again, and stayed dead. I had blown the fet driver of the VESC, as told by the 3 blinking red lights of death on it. We pulled the car into the pits and went to replace it, but the spare had no firmware. Sigh. Game over. Five total laps, weeks of work, traveling all the way to Maker Faire NYC. Five. Laps. Slow laps, too, not even blazing glory laps.
So after doing our sixth and seventh victory laps via good old human push power, what have I learned from this?
Electronics are hard. Even if you think you are smart, you aren’t, not really. Stuff does not translate domains very well. You might be intimately familiar with a system, having used it for years in similar applications. But stuff does not scale very well. RC cars and drones are not go karts. More importantly, set more time aside for things. Test stuff before bringing it. Your maiden smoke test should not be the race you’ve entered.
What are the improvements for next year? I’m going to step the voltage up to 12S 44.4v, use a different motor, one with a lower Kv, more torque, and sensors in it for better startup. I’m going to add a metric butt-load of capacitors, and keep my wiring runs much, much shorter. I’m going to have instrumentation, to see failures before they take out equipment. I’m going to talk to experts who have used these devices to do these things, and get their advice on component choices.
And most importantly, I’m going to have a whole year to work on this and have at least a hundred hours of abusive testing on the kart before it ever sets a wheel near a power racing series circuit again.
Maybe this time I’ll actually impress the people I look up to instead of getting in the way on the track with a dead kart.