Hub Motors on Everything: ChibiKart

The year of the tiny, chibi, and cute projects continues!

So here’s the backstory. I’m sitting on top of a veritable mountain   pile small cardoard box full of 100mm-class hub motor parts that I commissioned on a whim last fall to test out the workflow on mfg.com, of being even lazier than I am already and hiring my machining work out to shady Chinese backwater CNC machine shops (because those exist). I discovered that Chinese job shops seem to be every bit as legitimate as American ones, and will definitely hold the tolerances you are not used to holding for your own parts made with your own drawings. And even though the pricing is inexpensive for such machined parts, I am still just hiding several hundred dollars of shiny precision machined electric motor parts in a box.

Not very productive – I’d rather that money be either put into builds or making me more of itself. That doesn’t mean I’m going to start selling motors left and right just yet – I have none of the other support parts at the moment, including important aspects of a wheelmotor such as the wheel – right now, I’m still just carving the center out of 100mm skate wheels. Add to that the amount of actual completion detail that needs to go into a motor such as proper windings and termination, rotor magnets (those things are getting expensive) and possibly even sensor boards and Hall Effect sensors (which would need to be designed, sent for fabrication, and assembled), all of which comprises several hours of manual work, and the case is still not very strong for my immediate entering into the dubious market of small personal transportation implements. Yet. Product development takes real time commitment, something which I have yet to convince myself is worth pursuing.

But to counter that, I am more inclined now to take custom commissions than I was before, like for your Air Trek skates or electric suitcase or nanosegway or whatever. The main reason is that I lied just a little above – I do have a potential source of stators for both the 100mm-class “skate motor”, and the 125mm wheel Razor scooter sized motor. The stator, as I’ve explained before, is pretty much the hardest thing to get custom made for you if you are buying in volumes with less than like six figure units, and it’s harder than I thought to just “buy a few” stock/premade ones. However, this part investigation is still forthcoming – the other reason is that I’ve found several “islands of stability”, or at least islands of reliable part numbers, in my everlasting quest to catalog the stator sizes of all extant copier motors. Yes, that document exists!  Use it for your own hub motor building endeavours.

I’ve literally spent hours sitting on eBay hunting for new part numbers to buy and catalog. Tearing motors apart to make other motors is not a mass production method, but for my one-offs, it’s an acceptable compromise. This means that I also have an asston of random copier motors hanging around, several of which have stators which fit the original 100mm skatemotor design, and I would be totally unsurprised to learn that all my random eBay binging has resulted in more sunk money.

Poetic waxing aside, the combination of too many motor parts and too many random stators means that I need to build something to use them. I’ve pretty much made a pledge to not build any vehicle that is not propelled by hub motors from here on, since doing otherwise would mean I put off development of the motors to something reasonably resembling a product even more, while my surplus parts continue to build up.

Chibikart

Here it is!

…well that’s not very exciting.

This thing is already going to be comically small – that frame rectangle is only 30″ long by 18″ wide – with even more comically small wheels. Coincidentally, 30 x 18 is the exact dimension of the front half of tinykart. Part of this build is also fueled by go-kart envy. Ever since the venerable LOLrioKart was officially decommissioned, I’ve not had a four wheeled rideable object. Two tracks is kind of okay, but not really quite the same. But for me to just build a copycat kart is not very enlightening. Thus, Chibikart.

Four wheel drive, maybe four wheel steering (those corner pods are symmetric in case I pursue it), and really really small.

…and possibly with only slightly more horsepower than the Razerblades, since I’ll literally be using the same kind of motor.

Alright, maybe now there is a better sense of scale. That seat is not a couch or bus seat or something, but a riding lawn mower seat from Surplus Center. Yep, this contraption will be on the same length scale as Amy’s profoundly awesome SAM, but definitely a bit longer.

The seating position right now is “legs out” with a front bumper or other structure out beyond the 30 x 18 and the foot pedals, and a steering linkage vertical immediately next to the front 80/20 bar. During this session, I discovered how pleasant CADing with 80/20 extrusion was. After I figured out, of course, that there were only two narrow perpendicular faces on each side to constrain to.

The pedals are generic Chinese electric kart pedals, sold around the Internet using some form of the name “Simple Hall Foot Pedal” or similar. I’ve yet to receive the ones I ordered, but luckily TNCScooters had reasonable dimensions on their drawings (interpolation, estimation, and “screen calipering” aided in completion of the CAD model too). One of them will have a linkage extension to actuate cable brakes – the actual mechanical braking method is yet to be designed, and might just end up being scooter fenders with rigged cable linkages. Hey these are scooter wheels.

I’ve made a few changes here. First, the pedals have been moved inboard. I’ve decided on a significantly more “cab-over” driving position, again similar to SAM (but not QUITE that much…). The steering linkage will be planar and located below the main frame rails. Overall ground clearance is slightly under 1.5 inches – the wheels are not mounted on center in the 80/20, more like 3/8″ under, but the linkage will take out some of that.

Through careful ergonomic studies involving sitting on a block of foam  on the floor of MITERS, I added the foot brace bar that crosses in front of the pedals. In practice I’d put most of my weight on that and be able to tap the pedals instead of hovering over them while trying to hold your leg steady.

Most of the front end mechanicals are done now. I added a reverse cowcatcher/bumper/whatever it is – either way, makes the thing look a little less hilarious. There’s some mechanical design (read: lengths of 80/20 to copy and paste) still to come such as the seat mount proper and battery/controller/electronics mounts, but I will hold off until the parts arrive.

What’s going to be powering this thing? The orange battery is an A123 special that will remain generically orange and prism-shaped for the time being, since I’m fairly certain it’s Not Supposed to Exist Yet. Bottom line, the vehicle will have a 32 volt (10s LiFe) electrical system, a fairly chunky battery.

Powering the motors will be four of my most favorite alignments of Chinese manufacturing probability, 350W class Jasontrollers! I’m taking a major risk by going all sensorless with this thing, but the Jasontrollers have proven themselves in being able to start high torque hub motor vehicles. I’m hoping that with four of them there’s never going to be a “twitching equilibrium” moment. The downside is no regenerative braking (and no, the E-STOP wire doesn’t count – tried that already on Melonscooter, almost died), but someone has the ability to fix that if only he’d write a startup routine, right?

Chibikart will be a test to see if the skate hub motors can push any reasonable power. Combined with the Jasontrollers, they will hopefully form a reasonable system which in my mind is more product-able than just discrete parts alone – because what the heck are you going to do with just a motor can or a raw unwound stator?

If it turns out they don’t – well, who knows, maybe I’ll just stuff them back in the RazErBlades somehow, or build an updated version of them – after all, they needed more power.

Every post about Landbearshark ends with the motor controllers exploding

This one is no different. In fact, it will happen twice in this one post. Isn’t that amazing? One of them is due to Sudden Hobbyking Death Syndrome, and the other was most likely caused by laziness-induced idiocy. No, I haven’t fixed Tinytroller yet.

First, I would like to announce that my meterological precognition skills are infallible. On the day after I took apart LBS to install the load cells and wire them in, it snowed!

I swear this has nothing to do with the fact that it was going to snow anyway….seriously. Granted, it was only about 2 inches, but for one reason or another it’s the first two inches of snow this Winter. No, the October one didn’t count. 2 inches is better than asphalt, so I immediately restored LBS to its Last Good Hardware Configuration and we rolled it outside for some successful parking lot rompage. However, it still had its tilty board in this state, which caused the handling to be very unstable especially after water got into the friction washer stack and unfrictioned it.

After rolling back in, I decided to lock the board and revert LBS to full R/C once again in preparation for the next round of snow; in other words, the same state as it was for Maker Faire, but slightly more brushless and less reliable. The big rubber bushing was replaced by a chunk of very conveniently sized aluminum round, standoffs from a large chem lab shaker table that was parted out and scrapped. So while the tilty-hinge still technically exists, there’s no way I will physically bend that 1.5″ diameter round.

 

There was another important reason for the reversion to hand control. I wanted to take advantage of the built-in Xbee radio interface on the Nano Carrier to log the load cell readings on my computer as I was riding LBS around. I had suspected that the load cells would pick up any force transmitted through them, including the high frequency rumble of the tracks. The choice of datalogging program was the Arduino UI’s built in Serial monitor, and the number crunching was done in Matlab. After trying a few runs, I found that the board looseness made a clean straight line run nearly impossible. I was aiming to look at only one variable at a time, and the board steering kind of ruined that.

So, back to R/C it was. I elected to try a completely unfiltered (raw readings) run, a run with a 1 second first-order low pass filter on the two load cell readings (done in software), another run with a 0.5 second filter, 0.25s filter, 0.125s filter, etc. The numbers were arbitrary to start with, but geometrically spaced to cover a wide range of values. The tests were done in a straight hallway with a smooth linoleum floor with me standing upright and minimally compensating for vehicle acceleration – i.e. not leaning hard in one direction or the other.

And now, pretty graphs.

AAAAAAAAAAAAHHHHHHHHHHHHHHH

What is that garbage?

During tracks-up testing, I noticed a strange propensity for the op-amp outputs to suddenly go to zero whenever any throttle was applied. The tracks didn’t even have to be moving – if the controllers were trying to power the motor past the stiction of the drivetrain, without actually producing movement, the op amps would rail and then jitter erratically. Keeping in mind these were instrumentation amplifiers with gains of about 300, any millivolts of induced noise could be amplified and picked up by the Arduino. I kept the sensor wiring as far from big power cables as I could, but that made little difference. I’m also fairly confident that I have no strange ungrounded components or missing connections, as the load cell readings are great as long as the motor controllers weren’t powering.

Seems like movement helps the situation a little, but there are still plenty of instances where the readings are just trash, and plenty of places where they’re just zero.  The peak to peak noise during the movement portion of the test is on the order of 25+ kilograms.

Okay, let’s try a really slow filter:

This is a 1 second time constant low pass filter on the data. Hey, that’s starting to look like something now. There’s still spikes and jitter during the movement phase, and it’s very clear that the sensors take a long time to settle. The middle portion of the graph, while a bit spiky, clearly shows me standing mostly level (the readings are similar) That huge spike at the end is me leaning back to compensate for vehicle braking, then jumping off. The fall time of the filter shows a very clear 1 second exponential decay.

Perhaps this is a little too slow to be practical. Let’s try 0.5 seconds:

Oh dear, some of the ground rail strikes and noise is coming back now. The beginning and end show clear signs of me jumping on and jumping back off, and the middle (movement) portion is probably filled with a high percentage of zeros.

And now for the 0.25 second filter:

Unfortunately, the test had to be suspended because one of the 80A HKcartrollers detonated on powerup. I am really not sure what went on here – it was working great literally 5 minutes beforehand and I made no other hardware changes to the system.

My suspicions fall on the left side motor being found to be way out of proper sensor timing range – while I’m not sure on how it happened, it was clear from test running the motor that the sensor ring shifted significantly. This would have caused very high and excessive current draw any time the left track was being run, consequently current-stressing the controller and possibly causing one phase leg to fail short. The next time the power was turned on? Instant pop. Unfortunately, it doesn’t speak very well to the reliability of the cartroller if they can be “plastically deformed” by excessive current. Then again, it’s also risky using a motor which can potentially draw over 400 amps shorted at 18 volts (Those SK motors with an internal resistance of like 30 milliohms) with a controller that has no sense of self-preservation.

Sadness.

Ultimately what I’m seeking isn’t really a clean total weight, but a reliable delta or difference between the front and rear sensors. To that end, I think the measurements are reasonably useful. What I can observe based on the unfiltered readings, though, is that a simple low pass filter is not enough to accurately obtain an estimate of where the rider center of gravity is with the amplifiers in their current noisy and rail-prone states. If I can’t get to the bottom of the amplifier issue, then I will have to implement methods of throwing out data points which are obviously bogus, like the sudden zeroes, or throwing out any data point which is out of some defined bound from the current estimate. Dear god, I might actually need a Kalman filter.

round 2

It was going to snow again yesterday, so I begged a replacement HK Cartroller from jume just to have the thing running again. This time, the goal was to get out there before they started plowing and salting. LBS was kept in load cell, full hand control mode, but I wasn’t really out to take data so much as just diddle in the snow as it was designed to do more than a year ago.

This mission was very successful, as long as I wasn’t on it.

Driving LBS in the snow like that in dumb robot mode totally made me miss building and driving…. robots. I had a small moment there.

Anyways, actual riding performance in the snow was fairly good. It was MUCH better with the board locked – while I was previously not very keen on the idea of using four corner load sensing (so the board is essentially fixed but I can still estimate which way I’m leaning), I’m starting to get the feeling that taking out one degree of freedom in the system will make it easier to ride. Unfortunately, I didn’t get to film the first outside ride run, which went without problems until the left side chain broke.

After compressed-airing off all the snow that had gotten into the frame from doing the riderless snow-donuts (OH GOD MY ARDUINOS) and repairing the left side chain, I took it out for a second run, upon which the other chain promptly jumped off the sprockets, but this time jamming between the rear drive sprocket and the frame. That locked up the motor for a brief instant, but it was enough to toast the other cartroller. Again, the symptom was instantaneous failure on next power cycle.

Very mysterious and a little irritating.

The reason for these chain hops? I neglected to install my tensioners. You know, those little 3d printed donut sprockets that I’ve had on LBS since forever, but removed for this drivetrain version because the tension was “just right”. All chains loosen slightly once they wear in the rough forged and machined surfaces on their pins and rollers, a fact that I actively neglected.  Also, my main drive sprocket is not chamfered like all normal sprockets should be. This makes them extra-vulnerable to very slightly axial movement of the chain. I don’t want to take the drivetrain apart again, so I might do an in-place chamfer grind with a Dremel or something.

I did remount the chain tensioners after bringing LBS back inside, but now i’m out of cartrollers. I am also not sure if I want to keep replacing them – like most hobby parts, they seem to work great if not run near their maximum capacity on a system which cannot damage them through current spikes… which a 63mm aircraft motor definitely will do very easily.

While I hate to think about it, going back to Kelly KBS controllers is very tempting. They have torque control, current limiting, variable braking, and reverse… and have been running Tinykart quite well once the motor sensor timing was dialed in – something the original C80/85 “short melons” were not treated with. As I discovered when trying them with Tinytroller, the sensors as-installed were practically useless.

Going back to Kellys would mean I can run at 36+ volts again, and I can rewind the SK motors to optimize their torque production for that range, and… Hey, isn’t doing that just going full circle? Maybe I should just use some short magmotors and a Vantec RDFR36E just like an old school Battlebot. Or, go back to the CIM motors and use Victors, like a FIRST robot. I should just keep this thing as a robot and pile 200 pounds of steel on top of it to give it more traction.

Oh yeah, here’s what an exploded HK cartroller board looks like:

For the record, they emit pink smoke!