A Little Messing with the Modela MDX-20

My day to day task of what is essentially making sure ducklings don’t fall into storm drains (but in an engineering  instruction capacity) means that my free time is generally more fragmented. Students being about to come in and out of the shop at will means I can be interrupted by questions at any time. So, I’ve taken the past few weeks to fill in some knowledge gaps that I’ve not paid much attention to before, but have always been nagging in the back of my mind otherwise. Since they’re not extensive build projects, I find it easier to fill the voids while supervising the class. These little exercises include more experimentation with CNC subtractive fabrication (read: machining) and making things in CAD that aren’t straight lines for once.

cnc… sort of

One of my darkest and most personal secrets, which I guess I don’t really try to keep but everyone just seems to assume otherwise, is that I don’t know how to CNC things. There, I said it. You can judge me now. By “CNC things” I mean using traditional CNC  3+ axis milling and turning tools. I’ve done some simple “2.5 axis” things using the many EZ-Trak type machines on campus, but haven’t ever gone through the whole design-part-import-into-CAM-software-generate-toolpath-postprocess-zero-the-machine-and-go process once completely. I may or may not have done a few of those things disparately, or taken over for someone / handed a job off to someone else. But never once through.

I think the primary reason behind this is just that I caught onto rapid prototyping machines and processes early on – waterjet cutting and laser cutting in particular – and basically started designing everything around the much easier availability of them at the time. Another turn-off to “independent practice” later on was that the 2.5 and 3 axis machines I am around the most often are also heavily trafficked, and they’re often left in states which were way different than the last time I saw them, or all the tools have changed.

Really what I need to do is just spend some damn time going through the whole process, machining random objects. You learn just by using something so damn often, which is what I did initially with manual machine tools and the waterjet (and then 3D printing through building my own machine). To do this, ideally I’d have a machine which isn’t used often and so I can deteminately track the state of for the first little while.

Or I could start messing with something so simple it doesn’t have any states to mess up. I have one of these little things in the shop:

These contraptions seem to be used frequently by model makers, and they are the choice of machine in the MAS.863 class How to Make a Mess out of Almost Anything, which I helped TA last fall in said shop. They were also the staple tool of this guy, whose site I ran upon a few months ago for the first time, then recently once again, and now view as some sort of god. His Guerrilla Guide to CNC is a helpful read for the uninitiated (while I found the machining knowledge mostly nothing new, it was still an enjoyable read and I consider it an excellent resource if I also get into resin-casting). The most recent time, it was shown to me by one of my friends, upon which I went “Oh! Yeah, I’ve seen that.” and immediately went to hide in a corner afterwards. Reading it thoroughly was pretty much punted me into starting to mess with this bugger.

The best part is that now that the class is not running, the Modela has been sitting mostly idle. In the class, its primary duty was routing small circuit boards from copper-clad PCB stock, and it ran from a Python GUI running a C++ backend (which I am told is new – last year, it was run straight from the command line), which was entirely coded by the professor and his students. But it also has a proprietary Windows software, Modela Player, which is basically a simplified graphical CAM software. Nifty.

Let’s begin. I modeled an appropriate test part in Inventor and exported it as an STL file. Modela Player can import IGES 3d files or STLs. Based on my failure to convince it to read my IGES outputs, it seems to like STLs much better. Hey, it’s like a 3D printer, except it does the opposite of print!

Yeah. Hey, it has flat regions, internal radii, external curves (the o_O is made of filleted cylinders) and some hard to reach inner corners. Perfect! This is what the MP interface looks like. All of the usual CAM-like buttons are there – stock size, faces to machine, and adding machining processes.

For reference, I mostly followed this tutorial. I gave it a read-through, then tried exploring as many of the features as possible without it. Overall, I can say that the software is set up very intuitively and there is a definitely workflow, though the names and labels of functions could have been better translated. Since the software was originally Japanese, I’ll give it a pass for being a little Engrishy.

This is a roughing pass that I generated. MP is interesting in that the feeds and speeds are completely wrapped up in the tool settings. It comes with several built-in tool definitions, and you can add your own. Each tool has a certain feed rate, spindle speed, cut depth, stepover (basically density of those horizontal lines), etc. for each material. So, all you have to do is literally select a tool and indicate your material (which can also  be added custom). I elected to add a 1/16″ carbide ball nose endmill and 1/16″ square ended carbide endmill, using the settings derived from a built-in 1.5mm cutter.

MP also comes with a cute graphic visualizer of what your cut will look like. This is a preview of the roughing cut.

I discovered that there’s not really a way to “zero” anything, like on the corner of a stock. It seems like this machine is intended to cut shallow depressions into a block of material that is of indeterminate size, which – go figure – is what you’d do for a molding and casting scenario. The software even has built in draft angle capabilities and “margin” adding – it will automatically add a ring of full depth cut empty space around your parts.

The machine appears to the computer as a printer. The first time I got to this stage, it would output everything at once, but nothing would happen on the machine side. Some investigations concluded that the Windows side drivers were completely messed up. I had to uninstall everything related to the machine (including its strange USB-to-DB25 cable adapter) and reinstall it in the manufacturer’s recommended order before I could get the machine to perk up. This is what the output screen looks like if you have multiple operations involving different tools. You hit Continue and the machine will run its cycle, then pause at the end and move to a tool change location.

Or, at least, it’s supposed to. I tried a few different settings which may or may not have been the tool change location, but none of them were convincing enough for the machine to follow, it seems. While I had instructed it to go to an unmachined location so I can zero off the next tool, it just stopped at the end of its last machining motion on the roughing pass, which happened to be directly over the sinkhole in the middle of the first O.

Gee, thanks. And I have yet to discover how to jog the machine yet, if it even has that function.

Oh well. Onto pictures of the process.

The stock of choice is a little brick of machinable wax left over from the class which I sawed into essentially the right size. You line up the stock visually, on the white grid, and double sided tape is the official work fixturing solution. For the limited capabilities of this machine (which can move at a blistering 15mm/s maximum), that’s perfectly fine. Again, no way to jog and zero or touch off the stock that I’ve noticed.

Z axis zeroing just entails driving the spindle down towards the top of the piece, sticking in the tool, then letting it sort of fall under its own weight onto the material. You’re *supposed* to hit the Tool Up or Tool Down buttons with the tool already in the spindle, but that only increments in 0.1mm as far as I understand.

After the roughing pass completed, I changed the tool in the machine by moving the tool up until it was well clear of the material. Unfortunately, as mentioned before, I have yet to discover how to make it go to my big unmachined margin to the right so I can properly touch off the finishing tool, a 1/16″ ball endmill. So I eyeballed it.

It was pretty good eyeballing – the tool was too low by about 1/2mm. Either way, modeling wax is very, very permissive about how it is to be machined.

The finishing stage took approximately 6 or 8 hours, and ran overnight. The finish in the end was very, very clean. Like so clean. Way better than any 3d print can ever get me, for sure!

I decided to try something a little niftier, closer to a part I’d design and then export as an STL. I downloaded a spiral bevel gear from Thingiverse since it looked pretty machinable and was much more complicated.

This time, the path generation was a little more complicated. There’s no way in the software to say “skip this feature since your tool is too short to machine it”. Instead, you define specific rectangular regions to machine – the default is the whole part – that get pathed independently.

To avoid the through-hole in the middle which would have been too deep for the finishing ball endmill, I therefore had to make 4 rectangular regions which very carefully avoided the hole. There’s no “boolean difference” allowed in this operation.

Here’s the piece during one of the finishing passes. I ran the cutters faster this time, so some of the non-rigidity of the machine is visible in the gear teeth. I also set the margins to be very small and mismeasured my wax chunk, so it machined off most of its own sides anyway. I again couldn’t get the machine to go to a specific spot for a tool change. I must be misinterpreting what it means by “Tool Movement Location”…

I intend to keep experimenting with the machine in the coming days. The machine, sadly, does not talk in G code. Rather, it uses RML, which is Roland’s own little language. There seems to be an avid community of modders that replace the controller inside with a custom board that can interface with commercially available CNC driver software.

I  see how this machine can be very helpful and intuitive for model makers and designers who don’t have an engineering background, and I definitely see how it would be useful in making super fine molds for casting plastic parts. What I’d like to get squared away in the next few days is how to persuade it to go to a known spot for a tool change, something which the Media Lab tutorial I linked to at the start seems to hand wave. Once that’s done, then I will definitely consider trying a few actual molds. Maybe it’s time to stock up on that high density polyurethane board stuff…

However, I definitely should play with the EZ-Traks some more. I think my preferred realm still leans towards using a machine with more cast iron.

 

The Secret of BurnoutChibi

Continuing on my last post, I’ll talk a bit about how Chibikart is getting a radical design departure from my usual silly vehicles, and later on some about what the hell I’ve been up to for the past week or so. These days, like last spring, my time during the day is heavily  devoted towards herding 2.007 students in some way, including my own “victory garden” of 2.00gokart students who have seemingly become accustomed (read: spoiled) to work late into the night like I do. I’m clearly being the best of influences for my impressionable undergraduates. With my spare time being more fragmented and less conducive to sustained building, I’ve been revisiting some things which I’ve mentally tucked away for better days.

Anyways, to recap, BurnoutChibi is my proposed refitting of the Chibikart 1 frame, which is currently sitting derelict waiting for motors I will never regain the patience to rewind, to a form which offers some more excitement. The reason for the upgrade is twofold – first, I’d like to bring it up to “Chibi 2” standards, but more importantly, to up the power and show how an inexpensive sensorless drivetrain should be executed. The last time I showed the design, it was a simple one-stage design that was basically the DPRC with more power, and pneumatic wheels.

As I was designing the drivetrain reduction ratios, I began thinking more and more that having 1 speed, even in an electric vehicle, is just suboptimal. With the power levels that the selected drives were capable of, I could reach about 18mph and smoke some rear tires. But that would be it – the fastest it would ever go would be said 18mph. Yet just power-for-power alone – power dissipated by air resistance at speed versus the mechanical power produced by the motors at 50% load – the drives have enough punch to get me to nearly 40 miles an hour. If I were to gear for that speed, it would accelerate very… gently. And that’s only in the ideal case of the motors being able to sustain the high current draws needed to produce enough torque to get there.  Regular permanent magnet brushless motors are really quite limited in the ranges of speeds and torques they can achieve alone.

I’ve wanted to build a multi-speed vehicle for a while, because it still just seems like a better idea. You can shift the peak power and efficiency speeds around depending on your load requirements. Recalling Ben’s successful über-trike build pushed me even more towards that direction – that thing actually has 8 speeds using a bicycle hub gearset as the transmission. I was interested in even having two – burnout mode, and do-more-interesting-things mode.

It was easy enough for me to cook up a custom “shifter” design, but what better opportunity again to test out new parts on the market? Once again, I turned to Vex Pro for the answer. I’ve been eyeing their “ball shifter” (which sounds somewhat painful) transmissions since they were put up on the website.

Many a drivetrain in FIRST have been built using the classic AndyMark shifter transmissions, ever since the drill transmissions went out of style, and AM was the first place I went to when I was looking for COTS 2-speed options. What I didn’t like about them (both now, and years ago in FIRST) was how huge they were. The large, open frame sheet metal design is easy to manufacture, I’m sure, but there was no way I would have stuffed one onto this frame.

The new VEX transmissions seemed to be better packaged, and used a much more compact shifting mechanism. Inside its hollow shaft is another shaft with a round lobe on it that can slide axially. It pushes out on one of two sets of steel balls seated in the outer shaft, overall resembling a rachet wrench’s ball detent. So, depending on where the lobed shaft is pulled, a different set of balls is pushed outwards, acting like a 3-point spline. The output gears have little cavities that the balls lock into. If the lobe is not present under that set of gears, the rotation of the gear on the shaft will naturally shove the balls back towards the center. Pretty nifty.

Seeing no obvious complaints on the FIRST grapevine about them, I’m assuming they’re working pretty well for the competition and are robust enough to shuffle some 120 pound wimpy robots around. But can they stand up to moving a Chibikart at inadvisable speeds, while transmitting enough torque to break traction on asphalt?

I had my doubts – the ball shifting solution seemed like a great alternative to the AM Shifters’ dog clutches, but I trusted the metal-on-metal pushing of the dog clutches far more. Primarily because the dog clutches transmit torque at a greater radius – such that the stresses in the materials are much lower for the same level of torque transmission; and that the engagement is extremely binary – either engaged, or not. The ball shifters seemed to have a much greater potential of being caught “between gears” if one or more balls don’t release.  But maybe that is just a problem if I push so much power through them the ball detents deform.  I was already aware that shifting under power was basically out of the question – there’s no synchromesh devices on any of these things, and even in a real manual transmission car you wouldn’t hold the throttle down while shifting gears anyway.

So, with this many questions about whether the part would be worth anything, it was clear that I was going to have to get myself a set of Vexboxen. Because if nobody in FIRST is going to break them, I might as well.

Or, hold on… time to get myself another set of Vexboxen. I already have a VersaPlanetary that I’ve dissected and taken pictures of and am still waiting on a reason to do a Beyond Unboxing post on – they’re quire nice pieces of kit.

I downloaded the CAD model of the whole gearbox off the Vex website and immediately started cutting it up. First off, nothing was constrained – the solids just floated around, the constraints being broken by the export to a generic format. So I spent half an hour “reassembling” all the gearbox parts.

Next, I removed everything I didn’t care about – namely, all the hardware and the encoder mounting stuff. And the pneumatic cylinder that is supposed to run the shifting shaft. I was intending to cook up a mechanical linkage of some sort, since I didn’t want an air system on this build, no matter how air actuated brakes would have been.

I replaced the CIM motor with my NTM 5060 model using an adapter plate that will be machined. Both motors have an 8mm shaft, so interfacing with the supplied gears shouldn’t be an issue. I took the opportunity to raid eBay of some 2mm endmills to make the keyway in the NTM motors.

A quick fit test to the frame and… My goodness these things are huge. Luckily, when mounted upside down, the resultant sprocket spacing was acceptable.

Notice how these gearboxes are all designed for 2 CIM motors. I have no qualms, if this experiment is successful, of dropping 4 NTMs on this thing and upping my motor sprocket size for even more ludicrous performance.

I flowed some virtual metal around the mounting points to generate these two-pronged mounting adapters. The big gap in the middle means I can still access all the important motor mounting screws. Else, these gearboxes did not seem to require any other additional mounting – even the Vex website just recommended using their stock L-bracket mount.

The output shaft being a Hex of Convenience and Marketing Exclusivity, I decided to just get a 22 tooth hex-bore sprocket from Vex. Okay, Vex, you win this time.

The final drive ratios for each speed, then, are 18.17:1 in low gear and 8:1 in high, for a resultant speed of only 14mph in low gear and 31mph in high. I would have preferred a speed spread of less than 2.0x with a wider low gear, but hey, that’s what I get for not designing the thing. But the extra-tall low gear will definitely prove my hypothesis that sensorless drives can be successful if they are highly geared.

To actuate the gearbox, I needed a mechanical hookup. I was concerned with how much force the shifter shaft needed to operate – the installed shifting mechanism is a small pneumatic cylinder that is capable of nearly 30 pounds of static pull. Clearly this was not required for operation, because that would be ridiculous. After studying the mechanism in CAD more, I determined that it really should not take much force to actuate if I am not applying power at the same time. The actuation method would just need to be very fast to prevent the balls from skipping slot to slot.

I briefly entertained electronic shifting using big solenoids. The required travel was only 1/2″, which is well within the range of big open frame solenoids I could find for cheap. What drove me away from that was finding said solenoid that had a continuous power dissipation rating. Generally, industrial solenoids are rated for only 10% or 20% duty cycle – in other words, 1 minute on then 9 minutes off is 10% duty cycle. More frequently, the “maximum on time” is also specified, usually also 1 minute. Even though electric shifting would likely have been quicker and only required a button instead of running linkages or cables, I was more into the visceral mechanical solution and not particularly interested in cooking solenoids.

I elected to use a spring-balanced cable sort of mechanism with 10 pounds of return force to shove the shifter back into the starting gear. Luckily for me, the lowest gear was associated with the innermost position of the shifter shaft. So, it was easy to find a spring on McMaster-Carr which qualified for the needed return force at the needed stroke (about 1/2″).

What I could not do was find one which also worked with the dimensions of their included shifter coupler. The black object in the center of the gearbox between itself and the standoff-mounted plate is my own quickly whipped up coupler design, which let me fit a spring (not shown in image) between it and the rightmost black flanged doobob. This spring will try to keep the gearbox in 1st gear, so long as I am not tugging on the cable to keep it in second gear.

Some cable adjustment will be needed for sure to ensure synchronization of shifting.

On the other end of things, I put together a simple lever using mostly McMasterables. Did you know McMaster sold random knobs and levers? Now you do. Oh, and little ball detents already loaded into threaded bodies. Super simple instant two-click gear shifter!

This and many other reason are why, this coming Dragon*Con, I am hosting a panel session on how to shop on McMaster, among other places.

Time to mince some metal soon! I ordered this stuff last week. I have yet to assemble the gearboxes, but they seem legit. The casing is heavy fiber reinforced nylon (or fiber reinforced something or other), and the gears are… sticky. Seriously, whatever magic coating they put on these things, it straight up sticks to my hand. Repeatedly, even. I can flat-palm a big gear and lift it straight up off the table every time. Hey, aren’t you supposed to make gears slippery?

The picture quality is so lacking compared to my usual ones because after 5 years of nonstop service and over 11,000 pictures, my free-to-me Fuji S9100 has finally bit it. Cause of death? The USB port just straight up fell off inside and likely shorted something. So, back to the phone camera.

Oh, the thing was secondhand, too, so in a prior life it probably took even more pictures. This thing has been such a brick that I am actually eyeing its slightly newer successor, the S100FS, or even the current generation X-S1.