Switching Chibis: Chibikart motor and frame work

I think I’ve formulated a reasonable list of next steps in order to solve my weird magic bootloader problem for Chibicopter, including trying different computers with the same hardware, messing with other USB-serial adapter settings, and learning how to logic analyzer in order to record the exact transmissions that are going into and coming out of my XBees. But right now, I just don’t want to see the damn thing (despite the demo season starting up again… uh oh). Fortunately, I have something mechanical and not software-involving to distract me, and that’s Chibikart!

Chibikart took its first few steps towards realization in the past few days, going from entirely CAD model to…

…oh boy. So let’s be clear: that steering wheel is ridiculously oversized and impractical. It was 10 bucks on the surplus channel, so I couldn’t resist throwing it in for kicks. Chibikart’s design is intended for a fairly normal 10″ wheel, and a 14″ one would result in leg clearance issues.

The seat, though, was what I was waiting on so I could more confidently finish the design. I didn’t know anything about the slope or layout of the bottom beforehand, and receiving it meant I could finally make its mounting bracket:

There’s 2 80/20 rails running under the seat and two little ‘crossbar’ type things which join them and also together form the bolt pattern on the bottom of the seat. It also conveniently shelters the battery. Not shown is the one-piece bottom plate, to be made from 1/8″ polycarbonate or similar. I’ve also taken the liberty of modeling up some 350W-type Jasontrollers. While the design shows four in the back, I’m probably going to locate two in the front to avoid running a few feet of extra motor wire that would not only add more resistance but also potentially mess with the sensorless position-detecting algorithms…if one exists inside Jasontroller at all. Long leads are just good to avoid overall, however.

I got the generic go-kart pedals in, so the first thing I proceeded to do was knock them apart to inspect just how shady they were. I noticed the pedal itself was a little…. wobbly. It turns out they are very shady indeed, but a degree of it which seems to let it retain full functionality. I guess that’s the hallmark of a well-engineered product? How incredibly cheap and shoddy you can make it without nobody noticing that it doesn’t work?!

That little arc segment magnet has a continuously varying radial field strength along its transverse (theta) dimension, so the linear hall effect sensor at the base will put out a varying voltage depending on how much you step on the pedal. The continously varying shitty glue joint gap, as it turns out, does not contribute much to said varying voltage. I legitimately thought the crazily positioned gap was the only thing generating the output voltage, but it doesn’t make physical sense for that to be the case.

Otherwise the pedal itself is somewhat underconstrained – it can wiggle side to side,  but given that this changes the magnet’s position very little relative to the sensor, it is negligible. I’m surprised they even bothered with a tiny PCB to mount the sensor to.

Enough about pedals – how about some motors?

I picked four motors’ worth of parts “from stock” (scary I can say that, right?) and pitched them together. Now, the “stock” wasn’t perfect – remember that I sent off “my” fab drawings with these parts, meaning that the concept of allowance vs. tolerance was not distinguished. If I were to do it again (knowing now that mfg.com is legit), I would have more carefully specified dimensions such that I don’t have to, say, shave off 6 thousandths on a second operation on each endcap like I had to do. My total neglect of adding tolerances to 3-significant-figure dimensions means that using the accepted practice of 3-digits-means-0.005-deviation, my parts could have been 0.01″ out of whack.  Clearly if these were actual mass production parts, someone would have lost an asston of money.

So for example, given that the can’s inner diameter is nominally 2.650″ and needs the endcap press-fit into it, a reasonable dimension to use would be 2.650 +0.001/-0.0005 for the can and 2.651 +/-0.0005 for the endcap. Notice the asymmetric deviations – the worst-case interference in this case would be 0.002″, and the other worst case only 0.0005. Yes, there are two worst cases – one too tight, and one too loose.

Remember how the other set of magnets in the other can was a perfect fit? The universe lined up for that one, but not for this set! The custom magnets I ordered were made to 0.003″ tolerance in each linear dimension. This means that they could have been 0.003″ too large or too small. The gap is about 0.026 or so, and therefore in this case it’s probably a combination of “slightly too small” and “can was machined with 0.005 allowable deviation in the diameter which resulted in a maximum circumference change of 0.015”.

This is part of the reason why I will move away from whole-circle magnets, actually. If I can’t be guaranteed a perfect closed circle every time, it’s not really worth bothering with. An installation jig wouldn’t take that much more time, and could deal more easily with slight magnet size variations.

Something like half of all mechanical engineering is based on consistently manufacturing parts/products to minimize deviations and rejection/failure rates, and designing systems which can handle manufacturing variations. The takeaway lesson is that making things on a large scale totally sucks ass. I’m not going to be making 3.6 million of these per day any time soon, but if I’m having this much fun with just 4, then there is clearly room for improvement!

And don’t even get me started on the miserable failure of a bearing fit the endcaps all exhibit. Oops.

And now, a change of pace:

Look at the nice thing! I made myself a miniature Hobbykinging rig using laser-cut acrylic. I hereby christen this the “REEL DEAL”.

The Reel Deal holds six (or up to 9 in this version) little magnet wire spools from which a string of parallel wire emerges for me to wind the stators with. Some zip ties sandwiched between the black frame and the reels adds a bit of tensioning friction. There wasn’t that much friction, though, so I’m still having a bit of fun with occasionally losing a wire off the side – as the reel is used up, this will become less of an issue.

We now move on to a picture more typical of one of my build updates: infinite waterjet! I think this might actually be the first (possibly second) time I’ve waterjetted something this entire semester. What the hell? Aren’t I supposed to do this every other day?

This batch of parts was made from the pile of metal plate that was going to become Super Make-a-Bot before that project was (effectively) abandoned. There were a multitude of reasons for the death of sMAB, one of which was the lack of any real innovation above the field to justify it being really fucking expensive. I estimate that I dumped about $500 into the project and still had to go $5-600 more, for something which isn’t much better than a Replicator (which my research group bought one of recently anyway – more on that when it gets here!).

I executed one of my tightest packings ever on that plate, mostly because I only had one. This was not done in one shot like I usually do, though. My usual procedure of manually routing each part in sequence takes about an hour or so of just staring at OMAX Layout while clicking buttons. This time, I tried the “other” way of routing one part and then nesting them through OMAX Make, right before I fire it off. This worked pretty well a few times (check the 8-piece array of corner trusses), but then things started going wrong.

Almost inexplicably, I started having head-dragging problems, where the machine would mysteriously carry the whole plate, fixture weights and all, an inch or so, destroying the part coordinate system and ruining that area of the stock. I couldn’t locate the source of the problem at first – it’s usually caused by a part or scrap floating up and catching the nozzle as it traverses, but I had all things which could float tabbed in (Hint: “Create Tab” is awesome). Through frustrating recuts and space hunting, I discovered:

  • The aluminum started warping. This plate must have had asymmetric residual stresses from rolling or something, but after the first few parts came off, the whole thing was bending up almost an eighth inch from corner to corner. I’ve actually not encountered this before. This might have caused some head bumping problems, but not as much as…
  • …1:1 aspect ratio hole centers. By this, i mean the little donut-hole left over when the machine finishes cutting a circle. If its cross-section diagonal is about the same as the ID of the finished hole, then it could turn sideways and stick up from the surface of the part as the machine blasts the last bit of connecting material away. I only discovered this after picking up a scrapped part and finding such a sideways hole plug sticking up with a huge gouge mark from the head. This is also something which, oddly enough, I have not experienced before.

I’m going to write alot of this off to forgetting little details of machine operation from not doing it in a while, but the end result is that after the next few part sets, I was down to cutting one-by-one in any possible space which would host the part.

After cleanup.

So this plate is actually 5052 alloy, more commonly found on boats and truck-mounted tool boxes than machine parts, but I bought it for sMAB because it was cheaper than 6061 and 3d printers really don’t need that much beef (it’s about 75% as strong as 6061). The perk to it, though, is that it’s shiiiiiiiiiiiiiny. I’m not sure if it’s just a polished finish or if it actually has a pure aluminum (“Alclad”) coating, but damn is it shiny. Looks way better than the typical streaky mill finish of 6061.

The good news is that all the tabs and slots fit (Yes! Haven’t lost that skill yet…). The bad news is that I inch ever closer to having to finally wind all four of those motors…

That’s it for now! I’ve also prepared the shafts for the motors, which also needed a little bit of material shaved off for a reasonably tight but slideable fit. This whole ‘real manufacturing’ thing sucks. Hmph. I was almost better off making the four motor cases from scratch this time.

I’m working on a system for mechanical braking which reuses the fender brakes from standard Razor A scooters. This will be put on the back wheels so I have a backup when the Jasontrollers’ regenerative braking fai….. wait, they don’t have any, that’s right!

Next: Cutting 80/20!

Upgrading the 100mm Skatemotor for Chibikart

The “skatemotor” design that ended up in the RazErBlades is kind of abysmal in terms of performance. They were wound with maximum torque per amp (Kt, the torque “constant”) in mind, but the result of winding so many single turns on the stators is that their winding resistance was very high. There weren’t many amps to be had afterwards. I pulled the left skate back out to measure the resistance of the motor, and it was about 1.28 ohms. Entire, single digit ohms. It just meant that I was losing one watt for every amp that was going through them. Since the DEC Modules were limited to 10 amps per motor and the system was 22.2 volts, I was losing potentially more than half of the maximum power to winding resistance.

Clearly this was not going to be acceptable if I was going to run them at 32 volts. The skatemotor windings were single turns of 24 gauge wire – not very conductive by high powered motor winding standards – and 36 turns of it per tooth came out to a torque constant of about 0.25 Nm/A. I aimed to hit this value again, but with bigger wire for less resistance.

First step was to check out what copier motors I already had. I picked my favorite part numbers – RK2-0614 is on the left and RH7-5219 on  the right. I didn’t get pictures of the ‘before’ windings, but they were sufficiently dense to make me wonder if they were hand-wound. Given that these are all made in China anyway, it wouldn’t be surprising. The right one was particularly interesting, since it already used multi-wire parallel windings, and is actually the same tooth geometry that I used in the skatemotors originally. The left one has narrower teeth – potentially detrimental for high torque production since the small cross section of iron may saturate if I put too many turns on it. Only a pass with FEMM will tell me for certain.

Because I had four of the left (RK2-0614) and only one of the right, the choice to design with that one in mind was clear. I began running some rough numbers on just how many turns of larger wire I can reasonably stuff into the much wider slots. 36 turns of #24 AWG wire fit into the right with a fair margin, and I discovered that I could reasonably get about 30 turns of single #20 wire or doubled #24 wire into the slots. That would be really Adrianing it and being super-clean, too.

RazEr rEVolution was wound with double #22 wire, but making sure the wire laid flat and didn’t cross over eachother was difficult to keep track of, and by the end I was running out of patience. When the wires crossed, the advantage of packing is lost – as a result, the sides of the windings tended to be much fatter and messy than the ends.

The converse tactic to being careful in laying the wire strands adjacent to eachother to maximize packing volume is “Hobbykinging it”…so called because…

That’s 8 turns? Yep, that is the inside of the typical 80mm “melon” motor. Those things are wound with something like 90 parallel strands of very fine wire each maybe the width of a hair or so – possible #40 AWG or equivalent. Smaller wire is much more flexible and packs relatively easily, and to a degree you can get better results by packing more parallel strands of a smaller wire together.

There is a limit, however – the smaller the wire, the smaller the copper-to-insulation area gets. Even those 90 strands of #40 wire can only amount to a ~#20 gauge equivalent. In terms of circular mils of copper area, the former is (cite) 9.65 * 90 = 868 circular mils, and the latter single 20 gauge wire is still over 1000. I bet I could put several parallel #20 wires in a melon rewind and get even less resistance in it, because the larger copper wire is still enclosed by the same thin layer of insulation.

But the main reason they do it is for ease of winding – bigger wire is tough to form and bend, while a billion small strands can be wound by anyone, and in a production system which involves low skilled migrant workers the task must be accomplishable by anyone.

…including me!

I tried a hex-28 gauge winding here, and I like it alot. Through some crafty decision making, I decided that six strands of #28 wire was a place to start with polystrand winding experiments. That, and MITERS has a 20,000 mile spool of #28 wire, or so it seems. Six parallel strands of #28 yield an equivalent of #21 wire, which is certainly a step up from #24 – a doubling of copper area.

I loved how easy this was to wind. All I had to do, really, was pull tightly, and the wire would just flatten and spread itself. As a result, that is a full 36 turns of hex-28 (so that caption is completely and utterly inaccurate). While I finished 30 turns successfully, the last layer ended on the outer diameter of the stator, and so I carefully wound back towards the inside diameter again, stuffing more turns on. A run through with a popsicle stick flattened the sides well enough that the whole coil seems to pack neatly under the teeth.

I strongly approve. Hex-28 is probably going to be the winding of choice for Chibikart’s 100mm skatemotors…. not just because we have like 20,000 miles of it. I swear. 36 turns would yield essentially the same back-EMF constant, so what I get is a torquier and more efficient motor since it can suck down more amps (more torque) but not heat up as much (less resistance losses). The resistance of that one coil with excessively long pigtails is about 51 milliohms. Four of those in series make a single phase, and eight of them make for one set of powered windings (two phases are switched at any one time in a conventional BLDC motor), so the total “line to line” resistance of the motor will hopefully be only 0.4 ohms! That means for the same amount of resistance heating, I should be able to stuff 1.8x the current through: sqrt( 1.3 ohms / 0.4 ohms) since dissipated power is proportional to current squared.

At this point, I’m just waiting on parts. I’ve ordered all the magnets, just 20 x 5 x 2mm bricks for now, from superdupermagnetgeorge. I’ve also went ahead and ordered some spare 98mm skate wheels since I’m sure if this thing actually works I will instantly drift and brake the current skate wheels into dust very quickly.