I wanted a bigger CNC machine, and torn between getting a pre made one like the Tormach, buying a pre done conversion, LMS, or converting a G0704 from manual to CNC.
Machine has been ordered on or about 7/8/2012, supposed to be here on 7/15/2012. Spending most of the weekend clearing out the garage and reading about the different kits available to convert.
As with a lot of these types of things, you need heavy tools (a CNC would be useful) to make a CNC , parts of the saddle have to be ground out for the ballscrews apparently.
My choices were go with a pre built like the Tormach or Precision Matthews etc, grab a pre conversion from Craigslist, get the CNC Jnr from craiglists the guy has been bringing the price down steadily ( Don't buy it!, they're not good mills) , shame since they're "made" locally.
Sometimes you want the machine, not to have another project to make a machine, but we're looking about 10K for a Tormach, $4,500 - 6000 for a G07040 pre made conversion, or about $2500 for a do it yourself. The machine is about $1,200 shipped, CNC kits are about $700. A bunch of people make them, but they're all pretty much just mom and pop outfits and are just snowed. I haven't decided which one to get yet, there is the cncfusion, or cncconversions etc. I've read most of the internet about all the different mills is and the info i came up with is that after you've read all the reviews, they're either a don't buy, or a 50/50 love/hate. Unless its a used bridgeport knee mill thats been converted (there are lots around here but lots of competition and a bit bigger than i wanted).
Hoss seems like a guy who has put a lot of effort into the conversion and these types of mills.
Anyway I guess i have to pop to HF and pick up a 2 tonne engine lift as well this weekend, time to dig out those 20-25% off coupons.
G0704 mill from grizzly.com
G0704 mill from grizzly.com
// 01 10 09 1b 00 02 04 02 58 00 01 5a 66// breakdown// 01 node address// 10 command (write registers)// 09 1b register to write to 9.26// 00 02 number of registers to write, consecutive// 04 amount of data to write// 02 58 00 01 data to send 0258 to 9.26 and 0001 to 9.27// 5a 66 crc
from the VFD's manual it has the following info
Status Monitor 2 - Memory Address h2101
Address Bit(s) Val AC Drive Status
------- ------ ---------------
0and100 (0) Drive operation stopped(STOP)
01 (1) Run toStop transition
10 (2) Standby
11 (3) Drive operation running(RUN)
21 (4) JOG active
3and400 (0) Rotational direction forward(FWD)
01 (8) REV to FWD transition
10 (16) FWD to REV transition
11 (24) Rotational direction reverse(REV)
5 ~7 N/A Reserved
81 (32) Source of frequency determined by serial comm interface (P4.00 = 5)
91 (64) Source of frequency determined by AI terminal(P4.00 = 2, 3, 4or6)
101 (128) Source of operation determined by serial comm interface (P3.00 = 3or4)
111 (256) Parameters have been locked (P9.07 = 1)
12 N/A Copy command eable(sp?)
a quick bitfield, being wary of how compilers pack bitfiles and differences in systems.
and the VFD manual again to get the registers, hackaday has some issues with colouring.
Modbus is strange (to me anyway) that the decimal is in a range, may map to a memory address so you have to know which range the register is in, then add the register value to that range. For the status monitors, seems to be 40000 + they're indexed at 1, versus 0, so it is +1, therefore Status Monitor 1 is 0x2100, which to get the decimal address is 40000+0x2100+1 = 48449
Octal and Hex are just the address.
Durapulse GS3 status registers form CH5 of manual
Name Hex Dec Oct Mode
Status Monitor 1 2100 48449 20400 RO
Status Monitor 2 2101 48450 20401 RO
Frequency Command F 2102 48451 20402 RO
Output Frequency H 2103 48452 20403 RO
Output Current A 2104 48453 20404 RO
DC Bus Voltage d 2105 48454 20405 RO
Output Voltage U 2106 48455 20406 RO
Motor RPM 2107 48456 20407 RO
Scale Frequency(Low Word) 2108 48457 20410 RO
Scale Frequency(High Word) 2109 48458 20411 RO
Power Factor Angle 210A 48459 20412 RO
% Load210B 4846020413 RO
PID Setpoint 210C 4846120414 RO
PID Feedback Signal(PV) 210D 4846220415 RO
Firmware Version21104846520420 RO
Just delivered, new motor arrived, this one is an inverter duty rated motor, that means spin it at 100 RPM and you won't be able to stop it by hand, or at least that is the idea. The GP motor you can stall easily with one hand, it is fine when the VFD frequency is above 30%, below that it'll struggle.
This is an eBay special so lets see if its working, keyway is there so that is a good sign. mmca will likely have to lathe a new pulley.
Uses a 145TC mount so it should just fit into the 56C I made a few weeks ago. The big difference is this motor is 22kilos/50lbs, which is more than double the GP motor, and around 8x the original weight.
Probably going to be a longish entry, at least video wise.
One of the things that'll improve usage, bit life, finish quality etc is having the computer control the speed of the motor. As i mentioned in the last log the flashcut can't do it without an upgrade, given a crappy HID numpad with a cover is about $500. I didn't want to ask. I started to look at Mach3, discovered Mach4 pushed off backlash compensation to the drivers boards I thought I'd try another way. Before I go on, CNC people are the religious types, like car people. Backlash is bad, can do terrible things, but being able to correct small amounts of it for certain things is useful to me, it is a tool and like any tool it can be used incorrectly, but I still want the option to do it.
All I had as an output on the FlashCut box was 1/0 low voltage digital on the controller side, and 0-24v or measuring resistance on the VFD wasn't a whole lot to go on, sure I could buffer the signals but that is still on/off , can't make a DAC since not enough control of the lines.. Really basic stuff.
I'd picked up the Automation Direct RS485 to USB adapter that allows me to connect to the VFD to program it. The software doesn't control the speed just the programming. I took a look around and didn't see much available, it is modbus which is fairly common in SCADA etc. Never used it before, I believe the internals of the FlashCut might have some modbus going on. I knew other people had used the modbus support in Mach3 so it can be done, but how to the flashcut gcode controller software to the modbus of the VFD.
I poked around and switched on the 0-10V display of the RPM in flashcut this pops up a slider and a text input box to allow you to either type in the RPM or move it up and down, so i figured all i have to do is read that out and we've got the RPM value.
This is what the loopymind HAD DXF logo looks like in flashcut
So at the bottom in the middle is the RPM edit box. This is a generic windows GUI element we can read it from somewhere else, consider it like a file system. It stores named objects that contain data we interpret, so we don't need to know the location of the RPM variable in FlashCut's memory space, we just need the GUI's data which means we don't need to hook or mess with FlashCut at all, which is desirable for something like CNC..
I'm using Microsoft Visual Studio C++ 2016 here, but it is mostly the same procedure for the last dozen or so versions.
In the development tool-set there is something called Spy++ that allows us to watch windows messages and interrogate the GUI, very useful tool. It's usually on the Tools menu of Visual Studio or you can just run it from the start menu.
Run it and you'll get something like this :-
We can even see this post i'm writing now listed as a window. These are a list of the Windows in the GUI, Windows (the OS) treats a lot of things like Windows(the GUI) so you can see tool tips (the little popups that show when you hover with the mouse),, there are some hidden apps/windows, Mostly visual studio windows here.
We're going to use the Window Search feature to find the FlashCut window handle, so run the application you want to take a look at and then in the Search menu of Spy++ use the Windows Search popup.
Apparently I also some allergies going on.
OK, so now we know what we're looking for there is a Window class called "Edit" which is the name for a standard windows edit box.
We'll also need a library to chat to the modbus, I found libmodbus and made some windows style changes for it and added a 64 bit version of it, that is on my GitHub https://github.com/charlie-x/libmodbus it does have some specific changes for window, i changed the f/printf's to switch to the debug message system windows uses and started to remove the errno to their version since i don't like the idea of one variable for all errors, and a few changes for 64 bit and some of the newer API's. It is forked from the original.
Next we will fire up Visual Studio and start creating the...
Sort of a milestone this weekend, we actually spent time making parts for a robot we're trying to get ready before the end of the month. For a short while it was even like a normal CNC shop where we are popping stock on, cutting it, and repeating.
One thing that happened was during cutting and such, the power went out, on a couple of circuits in the house for a brief moment, no breakers tripped, computers reset (added a ups to the computer+cnc controller) and hte cnc controller had a few disconnects, which has never happened before the VFD/drive update, funny that huh?
Of course we need a lot of things to sit between the power from the house (and apparently its a requirement from the power company according to internets) and other things to sit between the VFD + motor. VFD's generate a lot of noise/EMI/F and in general do bad things to power, but do awesome things with motors like spin it at 2hZ magic !?!
So we have inline fuses, EMI line filters, zero phase reactor, which is a cool name for an RF filter which helps with current spikes and bad harmonics being introduced to the motor, helping it run cooler and last longer. also line reactors lcvette on cnczone made a nice list, which i found of course after we saw the issues.
Adding all that stuff should keep the rest of the equipment running without being spiked, its already bad enough we're running CNC machines via USB but that is another issue altogether ( also usb is in general just terrible )
Next we ran into issues with the general purpose motor, which was expected since a general purpose motor can't deliver the torque at low RPM's with VFD control, you need an inverter duty motor which can do all sorts of fancy things, normally they're about double the cost, but ebay always seems to have a stock of them, i like the marathon black maxes,, it is 50lbs. vs the 25lbs of the current motor. and it's 1.5 HP however we need low RPM's for drilling etc, once you go below about 31 hZ on the VFD the torque drops off dramatically.
Luckily a 145TC mount should fit into a 56C mount , different shaft size so a new pulley anyway, its a 1800 RPM vs 3600 RPM but we should be able to overspeed it 2x, and also a larger pulley , 4" is the current thinking.
we'll put the 1HP motor on another machine, so it won't go to waste.
The motor probably won't arrive til next week, so we'll have to brave on with the "oh look i can stop it with my hand at <1000 RPM" motor. On that note, does anyone else worry about VFD control that uses a membrane keypad to start the motor versus a nice e-stop style switch, you think a lot about these things while trying to remove a 3" face mill which someone put 20 lbs of torque on.
You can wire up a 24V style run/stop switch to the VFD but since its a digital input around a lot of noise (albeit 24V) it still makes me think about a disconnecting switch. I'm sure its completely fine though in a few weeks expect a , and yes i have less fingers and a giant hole in my hand now update.
So far the VFD has been great, you lose the pot to set the speed on the GS3 vs the GS2 so its an up/down and a bit of a chorse, so adding an RS485 to USB(sigh) so the super fancy FlashCUT PRO 8A Stepper control can control it you say, well no turns out the $3000 or so can't handle 24V, IO, not can it talk to a VFD directly, and no 0-10V , the plethora of Mach3/4 controllers for about $150-$500 do support it. To be completely fair there is an add board (or two) that you can install inside the PRO series FlashCUT, but i'm betting its at least $500 to add which is outrageous and their jog controller is still a crappy USB pad that adds yet more latency to the system, it's still pretty much a closed system with no cool scripting, so i'm feeling a move to Mach4 coming on. I hadn't considered it because I like the backlash compensation, turns out Mach3/4...
Got back from CES all ready to mount the new as yet to be tested motor.
First the intro video... yes more upbeat music from googles expansive library of music.
head spacer ready to mount
this is where it mounts to on the machine
the centre bolt is M12 adding on about 2.5" inches to the original, ended up about 6".
then the other side of the spacer connects to here.
underneath on the head where the bolts come in there was some flashing that made it hard to insert the long bolt, so i ground it away.
mounted it to the head and bolted it down so we can centre punch holes for the two m4 bolts we've added .
using a tap guide and drilling out the cast for the new holes. cast iron is messy to work with, its a good idea to keep cleaning it up and keep it away from any moving parts, motors, ways etc.
removing the Z column bearing/motor mount
removing the motor speed controller, off switch f/r box etc. we don't need this anymore since its a VFD now, though i wanted to keep the RPM part.
mounted the head onto the spacer
bolted it up and its done for now, this is a temp piece while we decide if we want to go to a steel spacer. we need this to fit the motor, though it hurts our Y travel til we extend the bed.
The side rails we did last week.
these need to be pocket out for clearance for the pan head bolts that are on the motor plate.
the motors been arcing quite badly in the last few weeks, we're hoping it lasts for these few cuts.
cutting down some bolts to fit the Head extension
the bolts needs to have a T shape so they wont spin in the head mount. so grinder again.
test mount, the clearance at the back is off , it ends up looking like a green latern symbol , the more we see the motor on here, the less it seems oversized.
we have to drill and tap holes in the side of the cast to mount the plates.
after a test mount we realised the blocks were too long, so had to cut off a bit from the ends, after they'd been nicely CNC'd luckily this is the mill cut side. harbor freight horizontal bandsaw again
marking out the area to remove from the back to stop the Z motor square hitting it. the white is a marker that doesn't get easily removed as sharpie.
motor isn't that big!
next is to punch , drill and tap the holes in the cast
new bolts added, they're M6 20mm
also added on the two blocks per side, the motor plate attaches to these.
oday we started milling out the side mounts for the new motor and the head spacer.
First thing was to drill out the holes for the bolts to pass through the Y head spacer we made before XMAS.
Then milled out the clearance holes that fit into the existing head. this CAM did a helical at about 12IPM down til a full DOC of 0.75" then helical outwards til it was all removed, then it added a couple of countersinks. The link is in my last post, again til its actually mounted onto the machine hold off if you're using it.
added some lowes 8.8 bolts, M10 and M12 for the center.
these are the bolts on the original. the three outer come from the back side of the Z platform on the column
the three bolts sit inside that outer circular hole. the center one bolts into that center threaded hole in the boss.
The side motor mounts.
Using modern CAM means instead of doing the old back and forth, we cut in a helical/circular motion that allows is to remove more material faster with less chatter and tool wear, as well as a better finish. Using a back and forth motion would be 3x slower, a worse finish and lots of chatter.
Haven't quite figured out why cutting X+ to X- produces less chatter than X- X+ but also haven't really looked into it yet, might be a harmonic/resonance thing.
cut both sides at the same time so they're parallel to each other when they're mounted.
Added a broached keyway into the test pulley from last week, using a broaching kit and a 12 ton HF press.
These auto youtube/google videos crack me up, it is probably the music .
We decided to add a head spacer of 64mm to the head, that way the motor would have a better amount of clearance. I found a piece of stock 6061 that was 4x6x3" so close enough, modeled up the mounts in fusion360 simple head spacer. I had to run out yet again to lowes to grab M10 and M12 bolts, 100mm graded. Everything I think I have all the bolts, we need more. Usually the big box stores have a poor stock and they always sell in ones and twos, which is annoying especially since the barcode on the plastic bag wears out fast and checkout ends up being longer than finding them, plus the cashier and people behind you probably hate you. with all the little tiny bags of one bolt, one washer , split, nut of each size, and the pencil thing they give you to write on a plastic bag...
this thing keeps growing, not sure how much load it can carry
mmca is making the new pulleys on the HF mini lathe, i like this pulley calculator because it shows rpm and you can slide things around, we're using a 4" 1/4" large 2" 1/4" small , approx 4" 3/8" center , RPM large is 3600
he was working on the lathe with a non chip cutting lathe bit, so it'll often spiral out the cut and attack the operator, i was trying to catch an example on video. this is a test pulley we're cutting to test out the process. we ended up with a bunch of these swarf aluminium tumbleweeds.
Belt Length 19~3/16" Ratio 1 : 1.89 RPM Small 6800 Large 3600 Belt (Surface) Speed 4005.5 ft / min Pulley Gap 1~3/32"
Using Gates 3M/5M v belts, 3M487 which is 487 mm /19.2" long
Making the top surface nice and flat, and with a HF mini lathe , that is some fun.
Cutting the pulley out.
here's the finished pulley.
we wanted a straight hole into the pulley for an allen screw into the keyway on the motor shaft.
I used a V bottomed tap guide and a centre punch to make a pilot mark for the drill press.
To make sure i had a straight hole. I used a digital angle gauge with a magnet bass, attached it to the top surface of the tap guide, then put the tap guide onto the drill bit while mounted into the drill press, then zeroing out the gauge. next mounted the the pulley+vice to the drill, put the tap guide + angle gauge onto the top and rotated it til it was back to zero. This way the hole was being drilled from the reference of the drill itself , not the table etc.
and it worked, probably overkill but circles are hard.
also grabbed a 4x x 4 1/2" by 1 1/2" 6061 block to mill into another pulley..
for the head spacer, the 4x3x6" block needed cut down a little, so slap it on the horizontal bandsaw.
a long time later
note to self(others) set the tension first and make sure when you think, hey isn't it taking a really long time to cut that the top isn't sitting on top of the block. this block is 4x6" which is the size of the cutting area, but you can't cut this size horizontally longer, has to stand up like this. I would have cut it on the bandsaw which i put a much better blade on, but we wanted the little machine to make it all the way though, unfortunately at the very end the block loosened and cut off a tad more at the bottom than we wanted.
This made the facing operation an overall 0.013" cut instead, which ended up working out really well in the end.
This step is making the soft jaws parallel with each other and more importantly the machine ,the idea being that this surface will be as parallel to the cutting surface as is possible with the current setup, then we'll put the head spacer on it and face it, flip it and do a face pass on the other side. targeting a depth of about 2.5"
We replaced the vice jaws with soft jaws and cut a grove in each side using an offcut 1" block of tool plate as the side references.
facing the upper head spacer. cutting off about 0.002" each pass.
after the facing operation, on to the fly cutter. we were 0.1" off on the width which was a damn shame, since it meant having to move the y 0.3" then pass back and forth. This is a single...
I picked up a 1HP 56C ironhorse from automation direct motor and a 2HP VFD , the 1.5HP was out of stock, and i accidentally ordered the 2HP motor but changed it before they shipped, I should have kept it, but i'd rather swap out the general purpose motor to a inverter duty motor later.
The difference being the constant torque ratio being 20:1 vs 2:1 so a general purpose motor won't give anywhere close to the torque of an inverter duty motor at lower speeds. general vs inverter
These pop up on ebay often so i'm looking out for the killer deal . The inverter duty is generally 3-4x the cost.
I designed a really nice motor plate in fusion 360, made it all fit the motor and then was told, thats no good since heat.. tsk tsk. well it taught me more of fusion360 so thats good, so i replaced the nice design with 5 holes and 4 slots...
Then milled it out on the C-Beam plate maker ( this is what this machine was designed to do )
Here it is mounted to the motor (the left side i'll cut off later) those are 3/8" 16 1"inch socket cap bolts.
the old motor looks like this, its tiny in comparison and works out to about .2HP
and that is what happens with a 0.2HP motor and possibly uncoated endmills.
so now we're looking into a VFD+56C frame motor around 1HP and 29 lbs of weight to put on the head. Once you add a lot more weight to the head you'll need a counterbalance, springs etc to help it lift back up.
the part was made to test out 2.5D/3D milling where the Z is moving up and down during a cut as well as the X/Y, turned out decent when we altered the cutting depth so it wouldn't bog the motor down.