The DeWut? Motor Project

With the Thanksgiving holiday weekend in full swing (read: nothing is open) and with RageBridge revision 3 boards still out for manufacturing (read: nothing’s gotten shipped), I’ve been shaking up the old random project idea jar a little for quick, useful things that I can whip out over the next few days. Here’s one of them. It’s been baking in mind actually for a long time (like since Überclocker-original), and I really think it’s long, long overdue to be introduced. I present the DeWut? Motor Project.

This is a “new style” 12-18 volt DeWalt cordless drill gearbox found in their line of 3-speed drills. New, of course meaning a design that’s about 6-7 years old and not actually found in new DeWalt drills as far as I can tell. Correction! These are still used in the 14.4v XRP hammerdrill line (Models 984, 985, and 939) as well as the 18v XRP hammerdrills (models 988 and 989).

Photo shamelessly stolen from the Robot Marketplace (from which you should buy things). These gearboxes have seemingly never found a home in robot drives unlike the “old style” 18 volt drills, partially because they’re so hokey. The “old style” motor bolted to its transmission as a unit – hence making the whole thing relatively easy to mount, and for the longest time, the Team Delta style mount was dominant in the market and used in many different drivetrains. The “new style”, however, is totally dependent on being in the drill in order to be held together and function. Great if you’re DeWalt and aiming to vertically integrate and cost-cut or something, but it makes using these motors a total bitch. Typical solutions have just involved using the gearbox for parts and repackaging the ring gears (Überclocker ran a haphazardly built gearbox for the longest time).

I am probably one of the most persistent preachers for the Church of Power Tool Hacks, and DeWalt is kind of like the robot messiah because their equipment, no matter how hard to use, is generally well engineered. Recently, I’ve pretty much given up hope on the less expensive Harbor Freight class drills for anything bigger than a 12lber – cost cutting and reductions in material durability have rendered them marginally useful even for 30lbers, as I’m finding out in Null Hypothesis. With that option pretty much ruled out for future robots, I’ve been rumbling internally about coming up with a way to use these damn motors and gearboxes.

There’s two major design paths that the process of making the “new style” gearbox useful can take.

  1. As I mentioned before, just extracting the gears and stuffing them into a box of custom design. This is perhaps the most robust, but expensive and up-front engineering intensive cost, because it’s probably going to end up being a pile of CNC machined billets. It would probably be locked to one ratio (out of three) and optimized for space and weight saving. They already make this anyway (see RMP link under gear repackaging).
  2. Using the gearbox as a unit, Team Delta style, including the ability to use the nifty barrel-shifter gear change. The new-style gearbox no longer has any plastic ring gears molded into the casing, which is great. It’s steel rings all the way down, so the casing really just there just to herd the involute-toothed cats. It will be bigger because the case is so damn huge. There can be billetwork involved, but it can also be made from a pile of waterjet-cut plates.

It is probably obvious which way I’m going based on the above. Even if it’s an empty design exercise, I think retaining the ability to switch gears (if needed) is useful, and keeping the gearbox unit intact is also beneficial because you buy them in units, not by the gear, so if one takes damage or wears out another can be swapped in.

Incidentally, the “nifty barrel shifter” seems to have been the downfall of this style of transmission as compared to the newest DW offerings. They seem to have a reputation of falling out of gear or neutral-dropping under power, which probably causes shredding in short order. So whatever I cook up should keep the Nifty Barrel Shifter in place and stop it from moving or expanding. It’s also important to note that these drill transmissions arenot designed for shifting under power like a car transmission would be. They just crash gears into eachother, so shifting while transmitting torque results in sadness. The ability to retain speed selection would only be for switching between projects and duties, in my opinion.

So that’s the brainstorming part. The next step is the stare-really-hard-at-the-gearbox part, where I try to think of where I can use a plate of discrete thickness to retain the gearbox.

I had to start at 3 ends here – the front of the gearbox, the back of the motor, and the middle end, where they need to come together. This picture is already pretty late into the first revision proces.

I’m serious when I say ‘stare at the gearbox’ – I think I’ve managed to just look at the damn thing for 10 minutes straight. It must have appeared very disturbing to an outside viewer. What I’m doing while staring is literally running dozens of different design visualizations, mentally dressing up and stripping the gearbox and motor repeatedly. Consider it using a natural skill for the greater good of robots instead of… other things.

If a potential design vision looks good, I caliper it up and see if it’s even possible given my design constraints: using 0.25″ and 0.125″ plates, and ideally no other weird thicknesses, in as few of them as possible. If it ends up being bogus, I keep staring.

To the uninitiated, it looks like the most unproductive thing on the planet, but neural-net design is definitely a thing, and you can get pretty far with it. It’s also very, very hard to teach because it pretty much relies on I’ve done this before.

That’s pretty much how it’s going to go down. Notice that I didn’t even bother modeling the gearbox itself – I was just plucking dimensions from it as needed.

The constraint for the front end of the gearbox was that there had to be a feature to center it using a convenient circular shoulder, followed by a shaped cutout that prevented it from rotating using the features of the output carrier cap (the weird black endcap on the left in this post’s leading image). X = 0 for this design was actually that black endcap – everything is referenced off it and made to fit it. The octagonal shaped cutout is clearly visible in the pile of plates at the front in the picture above.

It was pretty clear to me that the motor would not be screw-mounted. I don’t even know why it has tapped holes in it – in the native 18v drill, the motor is just mashed a good 1/8″ into the end of the gearbox and retained by an external plastic structure. I had to replicate that somehow, and this explains the strange plate structure in the middle. It contains the weird Ferrari-sides pattern of the ass end of the gearbox (rightmost in the leader image), then bolts to a plate that actually grips the motor by its air cooling vents.

The entire thing has to be retained by tie rods, and that’s what the X plate at the back is for. Because there’s no way to secure the motor to the gearbox (the middle stack of plates is basically alignment-only), I’ll have to crank the whole assembly down using nuts and bolts.

Finally, in the middle, and intended to be adjustable back and forth, is the Nifty Barrel Shifter Holder. The intention is to pick a gear and then lock down the selection with nuts, keeping the plate in one place (and hopefully the NBS too).

That’s about as descriptive as I can get about the design process. Take every word up there and add in 10 seconds of staring at the gearbox between each one and that’s basically how it went down.

Yeah.

Because everything on this design is empirically calipered and eyeballed, I knew it would just have to get iterated until it worked. Sadly, I don’t have enough 1/8″ and 1/4″ aluminum on hand to just keep getting it wrong in metal, so laser-cut-something will need to suffice. Luckily, MDF is not only cheap but also made to exacting specification and tolerances (unlike, say, even plywood). I scrounged several panels of half-used hardboard (masonite, HDF, etc…) that was 1/8″ thick and decided to pile it twice in order to make the 1/4″ parts.

Laser cutting prototypes is a bit dangerous for duplication to metal, because lasers cut on the line and waterjets offset to one side. The advantage of the former is that holes are implicity larger, so you can totally make a part that fits over a protuberance (like a gearbox end) on the laser cutter and then totally have it fail in metal, because the more precise process means that your dimensions, which were wrong but compensated for by the laser kerf, are now totally wrong. I designed in some liberal over-estimates of kerf for these plates, so I was expecting the laser-cut parts to be super loose.

To minimize the kerf effect, I experimented with a few small changes in power setting such that the beam barely broke through the material, leaving the kerf almost zero on one side. A few test cuts later and I was ready to make the real parts. Splitting the 1/4″ thick pieces into two 1/8″ ones also helps with this, because it ensures that there’s at least 2 somewhat on dimension edges in the part.

Here’s a vaguely DeWalt-shaped cavity starting to emerge. The little socket on the right of the circle is designed to compress the torque-limiting clutch to almost all the way locked. The natural movement of the plunger that actuates the torque clutch is a little more than 1/4″, so it won’t compress all the way. If it slips, then I’ll have to add a shim somewhere.

The barrel shifter holder and gearbox stuff in next. Conclusion: Octagonal thing fits perfectly! That, of course, means I need to bring out the dimensions a little if I want the metal version to fit – the hole has to get slightly bigger.

While this assembly was occurring, I was thinking of how I’d write it up for someone else to do it. I’m probably still really good at designing impossible-to-assembly machinery, so if I couldn’t figure out a streamlined way to do this, something has to be changed.

Here’s the Hokey Motor Mount coming together. This part needed a little stuffing, meaning the tab that interfaces with the motor vent is too wide.

As I aligned the plates, I superglued them together to create a more monolithic piece. If the plates were shifting around, I’d have a tougher time confirming that my tolerances were reasonable. These two Dewalt-Shaped Cavities will capture and align the gearbox, and also prevent it from torquing. However, I suspect most of the anti-torque will still come from clamping friction.

Stuff’s starting to get piled together now. Seating the gearbox into the Dewalt-Shaped Cavity means the torque clutch plunger is pushing up on the ring gears. The motor must be clamped down in place to keep the whole thing together, again. Hokeyness.

With the motor in place, things are looking better.

I neglected to put any NBS-securing nuts on because… well.. I was out of 10-24 nuts. Completely. And so was MITERS, and so was the bin of alleged 10-24 hardware upstairs. What.

I could only find six #10-24 locknuts, and 4 of those were going to get reserved for the tie rod at the end. So, in the interest of being able to play around with the different gears, I left the NBS holding plate unsecured.

Whatever, here is the thing. Not bad for a day and some’s design and rapid prototyping work.

The shaft is probably not going to be made right now, because I need to figure out what to make it from first. The Weird Spline Output on DeWalt drill gearboxes has always been a headache for the robot world – usually you’d want a 1/2″ or 5/8″ output shaft to mount a sprocket to, well-supported by bearings. Problem is, that shaft has to get reduced down to a little 8mm flatted shaft in this case, or a very weird ~3/8″ 4-sided spline in the old style gearboxes. Hello, stress riser.

It will most likely be a one-piece machined deal from 1/2″ steel rod, with one heat-treated end for strength. There will be 2 retaining ring grooves on it in order to secure it to the bearings. For the final metal version, I’m thinking of just carving up some O-1 tool steel rod, but if I were to hire this out for machining, I’d probably order a higher strength alloy steel. A popular shaft steel solution for the old style gearboxes was ETD150 or 4140.

By the way, there ARE two bearings. They’re flanged FR8 for easy installation (and convenient 1/8″ spacing in between), so this thing should be able to take reasonable sprocket-belt tension loads or directly drive an overhung wheel.

The next step from here is to copy and paste it in aluminum. This thing is going to be chunky and heavy – 2.5″ square, 6.5″ long, and current weighing just under 2.5 pounds. Change the dense wood to aluminum and it will probably be at least 3 pounds. 2.5″ square is essentially the smallest it can get because otherwise I’d be dealing with very small wall thicknesses on the back end of the gearbox (which is already 2.3″ by itself!). No more 2″ bots for me…

Should this experiment turn out well, I’m strongly interested in kitting it up and offering it for sale through the site. One DW motor per side is a good match for RageBridge as Überclocker has confirmed. The plates would be waterjet-machined and shafting sourced appropriately, and the fastening hardware is like $10 on McMaster. Short of that, I’m hoping to convert Null Hypothesis over to quad-DeWaltWut? drive for even more pushybot horsepower, and it will also power the next generation Überclocker.

 

A Little Update on RageBridge v2

In the last episode of RageBridge, I redesigned the logic regulator section of the board in order to make it compatible with a wider range of low input voltages. The current logic power architecture is a single LM2594 buck circuit that supplies the gate drive circuitry with 15 volts, and then a linear regulator to the 5v microcontroller & peripheral logic and receiver power. The issue was that this setup limited the minimum voltage of the input to be around 13 volts – too high for 3S lithium/12 volt systems which are still very common – because the gate drivers shut down at 10 volts. I determined that a better architecture would be to convert down to 5 volts first, then boost from that up to 12 volts. 5-to-12 converters are very common, as are switching buck regulators for 5 volt systems – hell, even the LM2594 is $2 cheaper in small quantity if I only want the fixed 5v form.

Another approach which I settled on after deciding it was at least worth trying is using an integrated buck-boost chip that could handle a very wide input voltage and still give me 15 volts out. This would have necessitated changing the power regulator chain the least, so it was the solution I favored first. After a long period of staring at manufacturer datasheets for relatively simple self-contained buck-boost regulators, I picked the LT3433 to experiment with. It was supposed to be this super magic one-chip solution to the issue, and would allow me to keep the 5v linear regulator (since it could, in principle, generate me 15v from anything between approximately 8 volts to 57).

That’s the board design I sent off to MyroPCB to fabricate. Only 4 this time, though even that was kind of overboard… I figured if it did work out, I could assemble more of them as needed.

2 weeks or so passed, and I received the boards:

Between the last board revision and now, I discovered how to make Eagle ‘pave over’ vias with solder mask. The technique is generally known as ‘tenting’ the via, and its main goal is to prevent exposed vias from wicking solder away from nearby pads (in a via-in-pad situation or via-kinda-awkwardly-hanging-out-near-pad situation if you’re me) or being another source of potential shorts. Turns out there’s a DRC setting for that. Hence, I basically set the Limit under the Masks setting to juuuust bigger than my standard signal via (16 mils). All of the little layer change signal vias were therefore tented, and the whole board just kinda looks better as a result.

I assembled two of the boards for starters. 3 is probably better to reduce the chances of assembly errors and flukes making it through, but I again ran into the trouble of running out of critical components. In this case, it was the 16mhz ceramic resonator and 30A current sensors.

Sadface.

The LT3433 was supposed to make this easy. And as far as I can tell through much testing and component replacing, the chip is working just fine. However, it is not as magic as I had hoped.

The symptom was that while the board by itself worked fine between voltage of about 7 to 55 volts, once I connected a receiver or fan to the thing, I could only get down to about 16 or 15 volts before the gate drives dropped out completely, and the 15v rail began dropping in voltage even up to 22 volts. This was worse than the previous configuration!

I used a Spektrum BR6000 receiver known for being very power-hungry for most of the testing. Maybe it’s not realistic of a receiver these days load-wise (this thing drew, by itself, upwards of 100+mA), but Spektrum receivers are still very common and I’m not sure if they’ve gotten any more efficient. Regardless, if the power supply is unstable supplying just a receiver or fan, it’s definitely not going to work for both at the same time. A Hobbyking receiver, which draws less current (50 or 60mA), fared better.

The picture shows a series resistor I added to the inductor in order to try and measure its current. The 3433’s datasheet is somewhat confusingly written, and I’m thinking I interpreted the load line graphs as a “minimum” load (i.e. load must be this amount or more to retain output stability, because boost converters need that kind of thing). The page of design math also pulled variables out of nowhere (or had other bad notation issues), and I actually skipped over it the first time figuring that the reference circuit would work just fine.

It turns out the current was indeed a maximum limit, meaning with my component choices I could only realistically get 160mA in “bridge mode”. Additionally, the reference design (8-60v to 12v converter) enters bridge mode at 18 volts – with my output voltage requirement being 3 volts higher, I indeed saw the transition happening at around 21 to 22 volts.

I tried other dumb inductor hacks like adding 2 of my 330uH discrete inductors in series (for more inductance), hoping to store a little more energy in that “bridge mode” . Unfortunately the results were not much better, and the reason is because small power inductors of such high inductance values also have very high DC resistance. Hence, the majority of what I gained was lost to I*R drop in the inductor itself. They also heated up quickly, indicating the same.

I ended up playing with the maximum output current design rules and found that yes, more inductance would help, but only if I could keep the DCR very low. In the size of inductor I use, the amount of space available for wire is very limited, and so all of the ones on DigiKey higher than 330uH were also much greater than 1 ohm – a few up to 5 or 6 ohms!

For instance, I can get output currents of 400mA if I had a 1mH (1000uH) inductor, but only if the DC resistance was still under 1 ohm. If I used a known part specification (6 ohms) in the design equations, then the result is actually not much better. I would be burning more watts in that inductor than what would be passed to the board.

“Bridge mode” on this converter is kind of strange. Basically it not only pushes current into one side of the inductor (standard buck converter behavior), but at some point it also starts pulling the other side to 0 volts (boost converter behavior). The input side voltage is the yellow trace and output-side voltage the blue trace – right now, the input is lower than the output, so it is operating solidly in bridge mode.

This is too weird for me, man. I’m not into discontinuous converters like that.

In conclusion: This version of the board is kind of fail. Let me be very clear that the LT3433 is not necessarily a bad thing – I just seem to need more current out of it than what my space-constrained layout, voltage demands, and component choices can sustain. It seems that I definitely need a solid 3 or 400mA+ converter serving the board for worst-case loads of a power-hungry receiver and a fan, and maybe some blinkenlichten.

It’s also not like the board doesn’t work – it functions just fine at voltages above 22 volts (topping out at 50+v with current part selection), or even down to 15-16 volts with suboptimal gate drive performance. But as a result it’s not really an improvement over the original LM2594 input-to-15v conversion. So I’m going to keep these two around anyway in case one of the higher-voltage devices needs one. For instance, Null Hypothesis can run this at the moment because it has a 25.6v nominal systemm.

Therefore, I’m going to quickly whip together a third board revision that retains the minor power and signal layout changes of this revision, but uses the LM2594 again, a circuit that I know and understand well.

But instead of converting to gate drive voltage (15v) first, I’m going to convert to logic level (5 volts) directly, then use a tinyboost like the LT3460, which seems nice and simple, to generate the 15 volt gate drive rail. The 15v will then be only for gate drive – no external tap will be available.

Bucking directly to 5 volts is a little riskier because switching converters will inevitably have more noise than an equivalent linear regulator, and if I am to spec 5v fans to be powered from that , it introduces yet another potential source of noise. I think massive bypass & bus capacitance spamming and 5v TVS diodes will make this a non-issue. I do trust the 2594 to be a stiff 5 volt rail, however. Using the fixed output version instead of the adjustable 2594 will also save on the space taken up by passives.

I don’t have this board designed yet, but hopefully will by the end of the weekend such that I can fire it off ASAP.