-
working with libmodbus
02/05/2016 at 21:03 • 1 commentinterfacing to libmodbus is fairly straightforward. i'm leaving out the error checking and what not, since the whole code is on github
opening a connection
modbus_t *ctx = modbus_new_rtu ( "COM1", 9600, 1,8 ,1); if ( ctx) { if(modbus_connect ( ctx ) == -1 ) { modbus_free ( ctx ); ctx = NULL; } }
set as slave
if ( modbus_set_slave ( ctx, 1 ) == -1 ) { // error }
read a register
if ( modbus_read_registers ( ctx, status_monitor_2_addr, 1, ( uint16_t* ) &status_monitor_2 ) == -1 ) { //error }
write a register
if ( modbus_write_register ( ctx, run_stop_addr, 1 ) == -1 ) { //error }
that is more or less it.
a modbus RTU message looks like this
// 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 Bit(s) Binary(Dec) ------- ------ --------------- 0 and 1 00 (0) Drive operation stopped(STOP) 01 (1) Run to Stop transition 10 (2) Standby 11 (3) Drive operation running(RUN) 2 1 (4) JOG active 3 and 4 00 (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 8 1 (32) Source of frequency determined by serial comm interface (P4.00 = 5) 9 1 (64) Source of frequency determined by AI terminal(P4.00 = 2, 3, 4 or 6) 10 1 (128) Source of operation determined by serial comm interface (P3.00 = 3 or 4) 11 1 (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.
typedef struct statusMonitor2_tag { uint16_t drive_state : 2; uint16_t jog_active : 1; uint16_t direction : 2; uint16_t reserved_1 : 3; uint16_t freq_src_1 : 1; uint16_t freq_src_2 : 1; uint16_t freq_src_3 : 1; uint16_t params_locked : 1; uint16_t reserved_2 : 1; } statusMonitor2;
statusMonitor2 status_monitor_2;
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 % Load 210B 48460 20413 RO PID Setpoint 210C 48461 20414 RO PID Feedback Signal(PV) 210D 48462 20415 RO Firmware Version 2110 48465 20420 RO
quick macro
#define MODBUS_CMD(maj,minor) ((uint16_t)(maj<<8)+minor)
some enums for commands i'm using.// commands for GS3 DuraPulse VFD enum modbuscmds { hz_addr = MODBUS_CMD ( 9, 26 ), run_stop_addr = MODBUS_CMD ( 9, 27 ), control_freq_addr = MODBUS_CMD ( 4, 0 ), control_drive_addr = MODBUS_CMD ( 3, 0 ), status_monitor_2_addr = MODBUS_CMD ( 0x21, 01 ) //(BD42) } ;
so if we doif ( modbus_read_registers ( ctx, status_monitor_2_addr, 1, ( uint16_t* ) &status_monitor_2 ) == -1 ) { }
and it goes well , status_monitor_2.drive_state will be the state of the drive.enum { DRIVE_STOPPED, DRIVE_RUN_TO_STOP, DRIVE_STANDBY, DRIVE_RUNNING };
turning the motor on and off is just 0 for off, 1 for on to be passed into the last argumentif ( modbus_write_register ( ctx, run_stop_addr, 1 ) == -1 ) { }
and that is pretty much it.
-
Reusing the RPM indicator
02/04/2016 at 19:03 • 0 commentsI wanted an rpm indicator on the mill, i have a handheld one but since it had one originally i thought why not use it.
since we're on a vfd don't need this lot anymore
apply bandsaw
i'm using a 12VDC wall wart to power it. you can use the old 120V if you want, just chop it off at the other side of the transformer or use the whole board.
Remove D1 (this converts the 12VAC from the transformer to 12VDC, you could cut all the way past L1, but this way you get reverse polarity diode protection and some filtering/smoothing.
attach a power plug.
add 12VDC
tadah!
now i just have to find where i put the optical pickup.... -
Inverter duty motor arrives
01/26/2016 at 20:54 • 0 commentsJust 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.
-
Spindle controlling, and GUI hacks, part #1
01/26/2016 at 20:21 • 0 commentsProbably 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 application GUI, probably better to watch this one full screen, not sure why HAD.io inline has such a teeny window for videos.
So the next steps are to track down the values from FlashCut and reflect them in our GUI, for that we'll go back to Visual Studio and start adding code.
This video goes through finding the window, capturing the values and reflecting them in our UI, this time with audio !
We've pulled out all the information we need, and no need of reversing or disassembling at all. We're not even really looking inside FlashCut, just querying the Windows GUI. This technique works for most MFC/Windows apps.If we've learnt anything so far, it is SUCCESS has two Cs !In part 2 I'll connect up libmodbus and start talking to the drive itself.
-
Spent more time making new parts, than upgrading the machine
01/19/2016 at 20:33 • 0 commentsMore of a blog entry than a project one.
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 supports that. As far as i know there are no open source CNC controllers with backlash compensation, its really useful because you can do this sort of thing
A fit bearing directly off the machine, with no boring bar just an end mill. this is really hard to do on lead screws, and on C7 ballscrews still hard on a hobby level CNC, since backlash. Backlash is the amount of movement the axis motor has to make when reversing direction to physically move the head, its like slack , you know like when you move your steering wheel back and forth and theres some give on the rack/pinion before it engages, similar thing. backlash compensation knows about that slack which is fairly constant and computes where to add it on so it knows to move a little bit extra when changing directions.
Circles are one of the worst cases for a machine with backlash, i've covered it before and shown results which on the leadscrew/base FlashCUT were awful, they're barely what you could call circles and now we're end milling, deburring the edge and dropping bearings in.. just like that, thats because of backlash compensation, sure you can try, and you should, to remove mechanical backlash as much as possible, but even a mori seki/hass has backlash compensation, they even have pitch correction etc, since a ballscrew might not be entirely linear movement and there will be spots where one rotation doesn't move as far as in another spot.
Circles are bad since they have a lot of axis reversals during the cut, we'd improved it no end before. This time though we started in on the smoothing and acceleration curves of the motor control. Setting how fast it would accelerate . This also helps with cutting as well as it allows smoother transitions between GCODE operations and allows them to calculate say a single axis line move + an arc into one smooth movement with no pauses. Think of it like driving again take the track, the difference between you knowing the layout of a blind corner and never having seen it, with the known corner you transition from the straight into the curve, hitting the apex, having reached corner speed at entry, and then smoothly powering out of the corner into the straight, much smoother. If you don't know anything about where you're going,, you would generally approach slower, not take a smooth line and lots of corrections, then not be the right speed for leaving the corner, its slower, and less optimum and possibly loss of some rubber and nerves. backlash compensation+accelerating profiles = knowing where you're going. I see lots of the projects saying its not needed, or low priority, but it is very useful to get the machine producing better results. its a shopping trip to walmart vs a lotus exige at buttonwillow.
Different types of CNC's with belts and so on have lower backlash, but belts stretch, so there is always something. Sure its arguable that lead screws are so bad that its not worth it, but it does make a huge difference.
We also started to build the Y extension for the table, its 5 holes.. I could have drill pressed it...
Faced it off to make both sides parallel, using custom soft jaws to hold it. we could face mill at 12IPM , and were cutting at 0.05" which is so much better than the old motor.
here is a finishing pass. very dull to watch, but surface quality is great.
and then drilling the holes, we ran into some more issues here, i added my own flood coolant device and lots of air, the issue was these holes are really deep at 2.5" so the chips built up in the third hole and they weren't clearing so we broke the 3" carbide end mill, only one too so i finished it up on the drill press. This ended up being a 5 hour process, the above bearing cut only took 30 minutes... strange how that goes.
and here is a video of us , not using my awesome flood coolant system and an almost entire bottle of WD40, we're still working on the source of that squawky metallic noise on the opposing corners, could be spindle misaligned, bearings, tool chatter, harmonics, spice girls, space radiation etc.
not ooo much interesting going on except, omg that noise.
you'd think surface quality would be altered significantly, but not really. anyway that is it for now, i'm missing the pictures of the 8 other parts we made that same day, since in the words of AvE it was chooching along. Next week, add extension cable to VFD, add filters, install RS485 link, maybe a new motor install, and finish robot (most people are just building the robot, we're still making the machine to make the robot)
Oh and our awesome little harbor freight horizontal saw snapped its blade after many hours of cutting, popped a new one and off it went, still our favourite little workhorse, mmca even cut some 6061 stock on the hitachi 12" chop saw with a wood blade.
-
Motor mounts, motor mounting and testing.
01/12/2016 at 22:52 • 0 commentsGot 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".
like so
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 20mmalso added on the two blocks per side, the motor plate attaches to these.
more tappingand its mounted
we've been having some issues with the tormach TTS pulling down during cutting, you can see the results of that on the back left of the plate. A PDF on tormach's website says its because its not clean, so we'll try that. http://www.tormach.com/uploads/163/TD31090_ToolHolding-pdf.html
mounted the motor plate marking the holes to drill in the top. M6's again
after its bolted up i wanted to test the clearance. hand drill works great.
the top of the motor fan cover would have clipped it, so chopped off the edge of the aluminium channel.
all mounted, drilled and tapped. time to see if the stepper can move the all the new weight.
we stopped at 100IPM not bad, no point going faster.
time to wire the motor
we're using 240V so tie both sides together l1/l2/l3, connect all the INS (t4/t5/t6) to themselves and insulate(thats what INS means)
the motor plate shows the wiring. we then used wire nuts + extension coord + ground to run to the VFD.
running the 220V, i used a dryer cable which is massively overkill, ended up wire nuts + smaller gauge wire to feed into the VFD
knotty!
i'd added the breaker box and outlet previously, so just need to be plugged in, again massive overkill.
and fire up the motor! (now at this point there is something we should have checked and didn't) you might spot it..
VFD wiring, dead simple two hots + ground to the 220V outlet, and then three phases to the motor + ground to the machine. the order is important.
ahem, i'll explain later... also brake is for a resistor to help slow the motor
This is a GS2 which isn't a sensorless vector, which we didn't realise, it was the one recommended by Automation Direct, and its perfectly fine however we wanted the sensorless +auto tune etc, so i emailed the people at AD and say we just wired it up , did a couple of test cuts/runs and realised, so can we upgrade to the GS3. To be honest i was expecting them to tell me where to go and was preparing to say to the wife, not only do we want to go to a bigger motor but we might have to buy a second VFD since the first is potentially the wrong one.
However AD emailed me back in the morning with a return slip and said just pay for the GS3-22PO , and we'll refund after getting the GS2 back. They've always been super helpful but i'm real happy about this, luckily for once i saved the packaging and box ( since AD included a note saying so) normally i'm usually we'll figure out another use for it.
So they're sending me out a GS3 tonight and we'll wire it up this weekend, next is an inverter duty motor upgrade, probably 1.5HP is the sweet spot... thank you Automation Direct.. The advice they gave me for the GS2+1HP motor is perfectly fine, we just want the fancy features, it is about $40 more.
Now there is a couple of videos missing of the first cut, i hope its on my gopro since we decided lets put 1HP into the CAM software and see what happens, 28IPM for a .250" end mill with 0.76" DOC is what happened, so we set it up , put on some test material and did some facing with a face mill, no low speed torque, doesn't cut for toffee. oh well (and this is where we start discussing the sensorless GS3)
mounted up the .250" bit and tried the new hole, nope , doesn't cut the material, horrible noises and the motor stalls.. ok half the speed, try again, same thing gets about 1mm into the aluminium, damn .. ok half the speed again, this time regen the CAM , using the math at .37HP ends up at 11 IPM which is about where we cut at with the old motor.... nope still won't cut, stalls noisy etc... motor is about 3 times bigger, and less capable ? WTFMATE?
I start looking up new inverter duty motors since we've got it it in our head about that constant torque ratio, since we're running about 40% of the motors frequency, we're convincing ourselves somethings wrong in the setup.
I email A.D. about swapping to a GS3. I find a motor they're all 145TC146 mounts so start CADing, but this time its about 00:30am on Monday morning and we think ok lets pack it in and head home, on the way out of the door , bag in hand, mmca says haha did we check the spindle is spinning the right way, we look and laugh of course it must be.. .then we start to get that dawning moment, surely not... quick switch it all back on and test,..... and yes the motor is spinning the WRONG way, so we're basically end-milling by scraping the material..
Ok, swap two of the motor phase wires (T2/T1), bring up the CAM at 11IPM, cuts like butter... 22IPM, same, 28IPM cutting but its chattering, pretty good really since we didn't expect the machine to handle 28IPM. we notice the TTS is slipping again so abort the cut. But turns out the 1HP general purpose motor is doing just fine so far....
i'll dig up the scrapping video when i get home. Also note the T1 and T2 are swapped on the motor connecting on the VFD in the second picture above. that is correct T2/T1/T3 from the motor.
til next week!. And thanks again Paula from Automation Direct.
-
Milling out the mounts
01/03/2016 at 20:21 • 0 commentsoday 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
can't find my pic of the other side, so i found on on flickr , oddly after searching for a while, and then wondering about sharing rights, the guy has this on the page banner. https://www.flickr.com/photos/duncancycles/sets/72157629091421928/
the three bolts sit inside that outer circular hole. the center one bolts into that center threaded hole in the boss.cheers duncan!
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.
then the cops turned up.
-
Pulleys, motor mount and head spacer
12/20/2015 at 23:35 • 0 commentsThese 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 point cutting tool from the lathe that makes a very nice surface finish. this isn't for looks, we need this block to be as parallel to the front/back as possible. Any deviance will show up later when its installed on the mill and it'll affect out our ability to cut.
before the fly cutter is run you can see the surface finish is pretty good and there is that low spot i mentioned earlier after the horizontal bandsaw it is a small defect and won't affect the overall stability of the block, we'd rather have the girth since more Y axis movement.
here is the finish after the fly cutter operation, again .002" cut, about a dozen passes
mmca pointed out at this level you can see the variations in the ballscrew since it isn't perfectly made so for each turn it won't move exactly the same amount. the interference patters are neat
that was it so far, next is to cut one hole in the middle, counter sink it to fit onto the machine and drill 3 holes for the M10 bolts. this is the bolt pattern we're following.
after measuring the corners and middle it came out to 2.54" within the tolerance of the calipers, so pretty good.
here's the VFD
you can make a 10 5x2 idc ribbon cable to extend the control box.
the power cable, i used a dryer cable as its called here at lowes, its a NEMA 13-30P which can do single phase 220V + 125V since washer/dryers often use both. We will just be using the two 220V hots + earth/ground, no neutral. Totally overkill but the idea was to have an outlet for a welder, which didn't work out since the sparks installed the wrong cable, but plenty for the vfd+motor and the breakers are set to the wire size.these are the stocks for the side mounts, ready to mill.
that was about as far as we got for this day. my line laser arrived as well, this is for a scanner project.
-
adding the new motor
12/15/2015 at 17:53 • 0 commentsI 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
A360 for the 56C motor plate http://a360.co/1m4pLhK
the cool one looked like this, bad for heat though
i used this motor in my modelling https://grabcad.com/library/stainless-tenv-motor-56c-1 its a different motor but the base is right.
The we face milled a couple of long pieces, these will go along the side of the head and the motor plate will bolt on to it.
Likely will use a 2.2inch and a 1.2 inch pulley to give a 1.86 ratio. this all i had time for this Sunday night. more next week.
-
gonna need a bigger motor
11/30/2015 at 20:46 • 0 commentsThis is the have at it and see what happens.
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.
VFDInterestingly A.D. say that this VFD isn't the best choice to drive a mill because of the low speed settings it'll drop power significantly, but a lot of people use them.
Also have to decide on a base RPM 1800/3600 with the pulley ratio (1.56)
The part eventually came out decent. I just made a bunch of shapes in Fusion360 and went with it.