The Return of a Legend: ChibiKart Reunion Tour feat. Brushless Rage

Brushless Rage is moving along quickly! I’m really hoping now to do a limited release (to people with known loads and needs) in time for Detroit Maker Faire. I’ve been working on it more sporadically in the past month due to other… obligations? but now I see the tunnel’s end. Here’s what’s been going on with it in the past few weeks when I haven’t been hiding under a van.

So that 2-way optocoupler salad was good in concept, but it ended up being incompatible with its purpose in life: to communicate bidirectionally so I could use the servo cable as a programming cable for SimonK/BLHeli enabled bootloaders.

It seems that the protocol requires the ability to tri-state, or at least assert both high and low logic levels. The circuit I modified can only drive high (or low) and otherwise has to rely on a pullup resistor, and that might not be playing nicely with the needs of the protocol. That is something I haven’t studied in depth due to its poor documentation, so if you know the specifications for the protocol, chime in!

Either way, it was looking like the final board revision would just use a single unidirectional optocoupler for the R/C signal input, and another galvanic-coupled pin on the same line but on the microcontroller’s side of the optocoupler as a programming header.

When the optos were bypassed (….again…. sigh) I was able to use the AfroESC programming dongle to re-upload firmware and change settings at will. The first step in this process is to flash the ATMega microcontroller with a socket and use the Enable Bootloader setting in KKMulticopter. Then I can just use the USB dongle instead of breaking out the socket every time.

I prepared two units this way, and also had heat sink plates cut. These heat sinks were designed a while ago for the Half-Rage that doesn’t exist yet – it has exactly half of the spacing of the mounting holes of RageBridge! So it was a good pick for the 6-FET power board for Brushless Rage. I cut out a square of silicone pad to fit underneath. In the ‘production’ version they’d obviously be die-cut to shape.

So now I have two mini Brushless Rages. What would I ever test them on!?

 

It’s back! I reclaimed the D.P.R Chibikart from the MIT shop not long ago, since they were refreshing a lot of the space displays and I’ve been gone a full year and a half now (…). This thing was kind of the pinnacle of my design class years, it having won an Instructables contest and all, and serving as a foundation for not only my next few years of students but for about a dozen or so builds worldwide (possibly more – those are just ones who wrote home).  A lot of tricks and hacks were used on it to make things easy to build for people without machine shop access. It’s also just stupidly fun to drive, and before the MIT IDC became populated extensively, we had stupid indoor go-kart races in it.

Over the intervening 2-ish years after my EV building class finished its run and now, it had been on display in various forms, so it wasn’t operational. The batteries had been removed and the motors’ sensor boards (which were partially designed for vehicle projects like this!) were broken off.  So I was just going to rewire it from scratch to accept two Brushless mini-Rages!

I focused on mechanical restoration first, like retightening some bolts. I had to add a new chain on the right side since the old one fell off (with the sprocket) a long time ago.

The sprocket itself is also quite well used, and the set screws are no longer very tightenable without stripping. I’ll likely have to drill these out to rethread them later due to the much higher potential torque going through them now with Brushless Rage.

Battery-wise, I decided to look for a 36V solution to make sure they can operate at 10S/36V reliably. I had some older 10Ah e-bike packs which were given to me with broken BMS cards. So I just removed them and soldered output wires in place. Classic!

The output wires terminate in XT-90 connectors, which were also retrofit to the existing wiring harness.

The Brushless Rage units are mounted with not much more than some Dual-Lock patches, and.

I had to pick through two boxes of random electronics to find my last working servo tester unit. In a pinch, these can be chopped up to accept Hall Effect throttles in place of their potentiometers. The Hall throttles typically put out between 1 and 4 volts instead of a full 0 to 5 volts, so the motor controller would need a calibration ability to get the full range out of it.

As expected, the Hall throttle’s 1 to 4 (well, about 0.9 to about 4.2) volt swing puts out somewhere around 1.13 to 1.85 millisecond servo pulse lengths. I set the Brushless Rages to accept 1.2 to 1.8ms as a result.

Everything’s bundled back up now!

Riding this thing has now become very interesting. Due to its very low gearing to the ground (only 3:1), it does have a hard start, but will always do so after a cog or two. This was actually a good test of how tuned out the SimonK firmware is; the mass-to-force ratio of an EV is usually much higher than that of a robot, even the 240b Sadbot, so it’s a tougher load to get going. The power is not unlike what BurnoutChibi ended up having, but more muted; BurnoutChibi had the advantage of being able to spin the motors much faster to get some ‘free power’.

I immediately ran into the problem of blowing the set screws right off the small filed flats on the motor shafts. This thing was originally designed for maybe 500-750W of power using the e-bike controllers, not an unlimited-current dump.

Either way, some replacement set screws and Loctite enabled some “road testing”. Here’s a highlight:

Results: My Starting-and-reversing optimized SimonK is okay in an EV application but only under some circumstances.

Specifically, you need to either turn down all the braking ramp speeds and magnitudes, or remove motor braking completely. In a robot drive application, the motor braking very closely following the command input helps decelerate the load and therefore reduce the momentum the motor has to start against the other way. In an EV application, that just means you decelerate as hard as you accelerate. It COULD be okay for some things, of course. I found that Chibikart drove well if I had the BRAKE_POWER setting cranked down to 1/8th of MAX_POWER, as well as the BRAKE_SPEED (ramp-down rate of the output PWM, basically) reduced to 3.

With these settings, I could modulate the throttle pedal to give a predictable regenertive braking effect. Too fast BRAKE_SPEED or too high BRAKE_POWER and you just end up impaling yourself on the handlebar here. I could see this on a tight Power Racing Series just thundering around never touching the brake pedal/handle, but it would still be a little annoying for a scooter or electric [skate,long,mountain…]board where you’d rather coast. In that circumstance, I’d just turn MOTOR_BRAKE off and forget about regeneration anyway.

For comparision, I found that Sadbot drove the best with BRAKE_POWER = MAX_POWER and BRAKE_SPEED at 4 (BRAKE_SPEED maxed out at 8 actually tried to slow the motor so fast it tended to either lock up wheels or slip motor poles on deceleration).

 

And with that, I sat down and pounded out board rev 5:

The main difference is removing the bidirectional optocoupler, as discussd, for a normal one. That’s still a 2-channel opto; I have yet to find a single channel (4-pin) opto in a package I like, but it does make more sense to use one here. Besides that, in rerouting some of the optocoupler traces, I got suckered into giving it better analog and digital signal separation (oh, boo-hoo…).

I also finally implemented the damned LEDs. SimonK actually has LED support, for signals that indicate throttle state and motor state. About time I figure out what this thing is doing!

Overall, I think Brushless Rage is ready to be fitted on something for Detroit Maker Faire. I’m not sure right now if I’m racing anything, or going to marshal and tech-safety-Stalin. I may choose to temporaily rebody Chibi-Mikuvan for funsies, since I want to keep the CMV shell in good shape after retirement.

Well, those are just thoughts anyway. There are also other thoughts:

Loose Ends and Tag Closing for Bits of October: Site Updates, Chibikart and Mini-Jasontrollers, New Expensive Things!

Now that the season of Dragon*Cons and Maker Faires and everything else has finally settled down, I’ve reached the curious state of having nothing to do with my life, being between large builds in much the same way you’d be between coffees or meth hits. My day to day activities revolve around managing the IDC (excuse the cheesiness) fabrication facilities, of which there will be some updates shortly, and monitoring & mentoring the classes running in the center, including the renowned How to Make a mess out of Almost Anything. I’m not a TA for the class per se, but part of the process of making sure the shop isn’t lit on fire is some times giving extra attention to those who would be most likely to do it.

That isn’t to say that my life is entirely empty and devoid of meaning. I’m tending towards taking the downtime to fix up my eternally problematic go-kart children, starting with Chibikart2. During some hard running at the Powerwheels race, I lost one of the Jasontrollers to Sudden Jasontroller Death Syndrome, a fairly common failure mode for them when they are over-run. The failure is always gate drive destruction since the circuitry is so fragile, and always not worth repairing to myself because it involves replacing so many small shitty transistors. Next up on my list after this is probably to add the electronic solenoid shifting to burnoutChibi and finally get rid of my super-rigged cable linkage. I’ve also been collecting many prospective parts for the “Chibi-Mikuvan” project, so stay tuned for a massive Beyond Unboxing the likes of which have never been seen!

But first, by popular request, I’ve added Pad Thai Doodle Ninja and Colsonbot CAD files to the References page. PTDN’s files are only made of 3D printable frame parts, but Colsonbot is the full bot – you’ll need Autodesk Inventor or a compatible viewer for anything but the STL files. All of the details on these bots are available in their respective build threads.

Onto Chibikart’s controller update. Like the dual controller mount I made for BurnoutChibi, I designed up a two-mini-Jasontroller snap-fit mount which also holds an 80mm fan. Essentially the same idea of BurnoutChibi’s. I was planning to current-hack these controllers to 40A, and for sure they will need supplementary air cooling.

 

The mount was printed on my Up machine, and this is about the largest object I’ve found it can handle reliably. It came out well, with minimal warping. I sincerely recommend the Up (now on 2 Plus!) to anyone thinking of getting a small hobby-class 3D printer.

Short of popping it in the Dimension, the Up is my go-to for structural parts. The ABS formulation they use is a higher hardness/toughness than the soupy generic stuff you feed to RepRaps and Makerbots. I was concerned about the snap fits being too aggressive and snapping off themselves, but they turned out to be just on the side of the acceptable line.

The mini-Jasons were cleaned up of unnecessary wires, leaving only the motor phases, power, the Hall sensors, throttle, and the ‘regen brake switch’ which may or may not be wired in in the future. The regenerative braking on these things is a fixed low current on-off kind of affair, so it’s not very helpful.

I plucked the 80mm case fan from stock – there’s nothing particularly special about it.

In the past, I’ve current-hacked these things with a blob of solder on the current sense shunt, but it’s such a bad hack and is unreliable – I’ve actually had the blob melt back off before. To remedy this, I began looking for large current shunt resistors packages that fit in between the leads of the existing shunt. This is the result – for a mini-Jason, a “2818” (.28″ long, or so) package current sense resistor is a nice fit. One that is 8mm (“31xx” – “35xx”) will fit even better and not require much solder bridging would fit better, but I could not find any that were not also square in shape – rectangular, the long way, is preferred.

I actually had this hack vicariously tested by Daniel (YAMEB) a while back. These shunts are 5 milliohms (not 10 – I measured erroneously the first time), so it took a nice sandwich of 10 milliohm resistors to get my 40 amps. The exact part number I used was WSHA-.01CT-ND, and it has a 5 milliohm brother in the form of WSHA-.005CT-ND.

I cleaned up the floorpan of Chibikart after removing the old Jasontroller – it was positively disgusting and filled with 2 years of floor grunge buildup, plus mud and dirt from running at two slightly wet Maker Faires. The new installation drops right into where the old controllers used to sit, after redrilling some mounting holes.

Systems wired back up. The first test drive was without the fan hookup, and without the sensors connected.

To rehash, these controllers “self-calibrate” sensors if you connect them and then run once to full speed. I couldn’t achieve this on the ground since the vehicle never really reaches “full speed” in the space available, so I had to freewheel it, being mindful of the 4700rpm-ish commutation limit. After one power cycle, the controllers had learned the sensor configuration and Chibikart could apply “static pressure” to something again. To get a good transition between sensored and sensorless, the sensors have to be aligned properly first (check out Equals Zero Designs’ page where I have an actually well documented example.) – and that’s all you need to do, not actually try and optimize their timing position.

This was, of course, the important part.

Now, the 12v PC fan could not handle 24 volts, so I just dropped a giant 40 ohm resistor in line so the fan only saw about 15v. This resistor surely dissipates more power than the fan actually removes…

With two motors on 40 amps, instead of on ~25 before, Chibikart2 is way more fun. Not, say, tinykart Black Edition level fun, but it is far more peppy. The small Colson wheels are starting to reach their traction limit.

I hit 1.1kW on indoors testing, and there is much room for improvement yet. Because the controllers are doubtlessly still running constant current before I run out of hallway, the power will only increase with vehicle speed.

Say, I haven’t garaged something properly in a long time (mostly because said garage was under repair construction this past summer). Maybe it’s time to take Chibikart back to its proving grounds.

Next, some of the ongoing facilities improvement projects that I have going on in the space! The place is kind of like I-95 around New England – always looking like someone’s working on it and the construction shifts every once in a while. I swear, though, it’ll be over soon – just like they say in Connecticut (In my six years in this area, I have never once driven through 95 in CT without hitting some kind of construction…)

First up, a full size Shopbot – the full 5 x 10, gifted by the Architecture department. I’ve been itching to have one of these for a while – with an 1/8″ carbide bit, they’re practically mechanical waterjets! Expect some Shopbottables to emerge on my end soon due to the “It’s the closest tool next to me and I don’t have to ask anyone to use it” effect. It will be very handy for producing Chibi-Mikuvan’s body panels since they’re all larger than what can be stuffed into the laser cutter.

Above, Media Lab students operate the machine as part of the MAS.863 “Build something big” week.

Next up, the legendary Form 1. Full disclosure: There’s four Form 1en in the space at the moment – this one is “The Lab’s”, and the rest belong to researchers and classes residing in it. Four. That’s more forms than Formlabs (okay, probably not), but the Form 1 density must be up there.

The Form is a SLA-like machine which can hit much higher resolutions, but the  material isn’t too strong – it’s an acrylic resin, so it has some mechanical strength, but does shatter and snap. Dat rez tho…

These are some of Brian Chan‘s insects. Check him out on Shapeways! I also printed the crab, lobster, and some other doodads from his collection.

Of course, with every 3D printer that makes it in here…

The  model is “Pillared Miku” though I used the version without built-in pillars – the Form software generates its own support lattice.

Now, moving up in the Expensivity scale is our latest acquisition:

 

An Objet24 (By Stratasys™)! This is just contributing to the slow rounding out of 3D printer technologies in the space. Objets are incredibly high resolution, very nice, and very expensive. This unit was purchased used from a local company for only $7,000, but you’d easily eat up that much per year in materials alone. The Objet Goo comes in 700 gram jugs that each cost $300-350 and up.

And this is the entry level machine.

The Objet technology combines SLA (light cured resin) with inkjet style nozzles so it can control the deposition very finely. No giant bubbling cauldron of goo here. It also has its own Windows XP computer built into it.

Now, I know XP is pretty much the OS that saw the Internet grow up with it, but this machine was built in 2011….

…and even worse, it requires a very specific network setup to talk to. Objet-Stratasys (ObSys? Stratajet?), I’m going to publicly shit on how bad the Objet communication infrastructure and software are. I should not have to configure a point-to-point LAN, disable Windows Updates, and disable firewalls just for it. The whole setup procedure gives me the vibe that they had to ship the machine and had 1 day left to write the drivers, so took whatever the developer’s computer was at the time and just made that the exact requirement. That, or given Objet is an Israeli company, probably just opens your computer up to direct monitoring by the Mossad.

I’m amazed I didn’t have to start Space Pinball and log into Pandora before the printer would communicate.

The slicing software is also slow, prone to crashing, and has an inconsistent UI. For such a beautiful piece of hardware, the software end of it seems so incredibly rigged.

Of course, the first thing to do with every 3D printer that makes it in here…..

Yeah. This was like a $30 Miku given how much of the material I used.

This corner of the room has been reconfigured to become what we now affectionately call “printrgartn”. The Form 1 is immediately off to the right, as is the Replicator 1. I’m trying to commission an Up for the lab (in supplement to my personal machine).

What’s absent, sadly, is a powder printer. I need to do some Powder Print Affirmative Action here.