Howdy, I've been building my CNC Router (an Ox variant) and I've gotten it all up and running and cut a few things, but I'm having a hard time getting it calibrated correctly. I'm using Mach3 and CamBam and I've done the motor calibration bit over and over and I'm certain it's right, but every time I load a gerber file from CamBam into Mach3, Mach3 renders it at around 10 times the specified size. (It does the same thing with LazyCam too). I'm working in Millimeters ('mm') in all my programs. I have Mach3 units set to 'mm' and all axis calibrated in 'mm'. My CamBam drawing is also set in 'mm' and exported to gerber, presumably in 'mm'. But Mach3 keeps reading it and rendering it as if it's in Centimeters (cm). I have searched all the CNC sites and simply cannot figure out for the life of me what I'm doing wrong. I've looked on Google and have seen a few other people having similar issues but nothing that seems really clear and definitive as to what is happening-- is it supposed to be 'mm' but actually interpreting it as 'cm', for instance? I dunno... Is there anybody here who could help me figure it out? Thanks! John BTW Just to be clear, this is how I'm doing the calibration. I have the 'motor units' set to 'mm', and verified in the Settings page. Then, on the Settings page, I'm using the auto-compute axis button to calculate the right motor values based on measured travel. When it prompts me for a distance, I enter it in millimeters (such as '10') and expecting it to travel 10 literal millimeters-- NOT centimeters! For more accuracy, I generally do it several times and have it travel further each time, like out to the end of the table in millimeters (e.g., '1,000' millimeters). I also test it backwards to make sure it travels the same distance in both directions. Here are links to the photo / video stream of the project if anybody's interested: Photos: https://plus.google.com/u/0/photos/111019291025087404922/albums/6083781671319135809 Videos: https://www.youtube.com/playlist?list=PLo04w_TxlKb0gKGHIr2-XqtrCqmyk6Sq-
Hi John, Obviously you are doing something wrong because it works just fine here on my machine. Within Mach3; Config / Select Native Units verify that it is set to mm then close and restart Mach3 (just to be sure it is registered in the .xml). Jog position the axis you intend to calibrate and then Zero the relevant DRO. Settings / Set Steps per Unit set the amount to move in mm and then follow the procedure to calibrate the steps per unit for that axis. If, for example, you set 100 mm travel and the axis actually moves 1000 mm then enter that as the actual distance moved – it will then recalculate your steps per unit (to 1/10th of the current value) then accept the change. Hope this helps. Tweakie.
Hi Tweakie, I am happy to accept that I am doing something wrong-- in fact, I'm certain of it. However, I cannot figure out exactly what. The procedure you described is exactly what I do to set it up. Here is how I'm setting it up: This is how I'm doing the calibration. I have the 'motor units' set to 'mm', and verified in the Settings page. Then, on the Settings page, I'm using the auto-compute axis button to calculate the right motor values based on measured travel. When it prompts me for a distance, I enter it in millimeters (such as '10') and expecting it to travel 10 literal millimeters-- NOT centimeters! For more accuracy, I generally do it several times and have it travel further each time, like out to the end of the table in millimeters (e.g., '1,000' millimeters). I also test it backwards to make sure it travels the same distance in both directions. However, when I go to use the machine afterwards, anything I load up appears exactly 10 times too large in Mach3. Here, for instance is a file (Hello.zip - Gcode file, see attachments) that I've loaded into Mach3 that I generated from CamBam. When I load it when *I* think Mach3 has been "properly set up", it shows up TEN TIMES too big !! When I go back and "LIE" to Mach3 and enter the motor adjustments as if they're in Centimeters (original values divided by Ten) it all renders and scales properly. However, the motors do not run as smoothly at these values for some reason. Here is the beginning of the file: ( Made using CamBam - http://www.cambam.co.uk ) ( Hello 1/1/2015 11:53:34 PM ) ( T3 : 3.0 ) G21 G90 G64 G40 G0 Z3.0 ( T3 : 3.0 ) T3 M6 ( Pocket2 ) G17 M3 S1000 G0 X12.0 Y22.0 G0 Z1.0 G1 F500.0 Z0.0 G1 F1200.0 Y23.5888 Z-0.1687 G3 X12.5085 Y22.0 Z-0.346 I16.5187 J4.4112 G1 X12.0 Z-0.4 G0 Z3.0 G0 X46.0791 Y17.2 Thanks for the reply! John
Hi John, Your Hello.nc file loads and runs just fine here (overall X-Y machine extents 223mm x 99.8mm) so there is nothing wrong with the Gcode and that rules out one possibility at least. What version of Mach3 are you using ?? If you attach (or email me) a copy of your Mach3Mill.xml file (or whatever profile you are using .xml) I can check out your settings and see if there is a fault with your current setup. If there is a problem then re-installing Mach3 usually does the trick but please remember to make a backup first. (At a minimum, any license files and profile XMLs (as well as any custom macros, screen sets, or brains used by those profiles) should be backed up. In practice, it may be easier to keep a current backup of the entire Mach3 directory as this ensures everything necessary to rebuild the system should be available in the event of a catastrophic failure. The definition of a current backup is one that has been done after any permanent changes have been made to the software to alter it from its previous state. This includes such things as changes to any licenses, macros, screen sets, brains, or plugins as well as the modification of any configurations. We recommend using a USB flash drive or some other portable storage device as the backup media). Tweakie.
Hi Tweakie, Thanks for the offer to help. I have attached the Mach3 Settings file that you requested. It is currently set as if it is using Centimeters, not Millimeters. The only difference (that I'm aware of) between one and the other, is to multiply / divide by Ten appropriately. When I go through the Mach3 calibration setup routine and put in absolute, literal Millimeters, it renders / scales everything Ten times bigger when it loads a Gcode file which is coded in Millimeters. When I set it up as if it was Centimeters, everything operates fine, except all of the coords in Mach3 are off by a factor of Ten. I hadn't thought of the half-stepping mode with the driver though. However, the drivers are as the arrived by default, nothing changed. Just hooked 'em up, added the right resistor and started cutting. The "cheap chinese crap" drivers that I bought first did the same thing. Thanks for the help! I appreciate it. John
I have figured out part of the answer-- I took a screenshot of the screen while it was running. I looked at the Gcode on the left and the coords on the right-- they are CORRECT. So it is JUST the calibration function which is the problem. In order to calibrate Mach3 using the interactive calibration function, I have to enter the number of CENTIMETERS the axis moved. Once I have done that, the machine correctly reads in G21 gcode correctly and moves correctly. So it's only a problem if I calibrate the system using MILLIMETERS traveled (the way it is prompted on the screen) and then everything is off by a factor of Ten.
Hi John, Unfortunately I find myself in bit of an awkward situation here as a result of my association with Artsoft. The problem you are encountering could be related (I don’t wish to confirm this one way or the other) to anti-piracy measures incorporated within the Mach3 software when a banned license is used. I think the only way forward, assuming you wish to continue using Mach3, is to purchase a genuine license otherwise you may also encounter other, random, toolpath problems further down the line. Tweakie.
I'm using the version of Mach3 they sent me when I bought my controller and drivers. Are you saying it isn't legitimate? John
Yeah, I just checked it out and you're right. The version of Mach3 I got with the controller is apparently bootleg. Came with a manual and a disk and everything. But in any case, I just went and bought a copy directly from Artsoft. In case you or anybody is interested, the ebay seller was "savebase" in one of these auctions: http://www.ebay.com/itm/CNC-Kit-4-A...343?pt=LH_DefaultDomain_0&hash=item58b7bbdcd7. John
Hi John, Unfortunately yes, that is the case and you are not the only one who has been taken in by this scam - perhaps you could contact the seller and see what they have to say (although I doubt you will receive any reply from them). Ivan... unwittingly allowed his genuine license to be released into the public domain quite early in the development of Mach3 and it was added to the banned list and is therefore subject to the Mach3 anti-piracy countermeasures. You could also verify the status of your license by contacting Artsoft's sales support and software licensing http://www.machsupport.com/contact-us/ They are not unreasonable and do fully understand the problem that the Chinese re-sellers are creating within the genuine and honest CNC users market by selling-on this and other illegitimate licenses. Tweakie.
Do you know if it will also solve my limit switch problem? I tried hooking them up awhile back and they fire off indiscriminately so I've been running without them. I just tried a few minutes ago to hook them up again and I'm still having that same issue. Do you know anything about the limit switches ? John
That is interesting Tweakie. Potentially dangerous but understandable. I can see Artsoft looking at a lawsuit regarding personal injury here. Gray
Hi John, Because limit switches are inputs (usually at a 0 - 5 volt level) their cabling must be screened / shielded and correctly earthed to avoid picking up electrical noise and producing false triggering. Electronics 101 explains this in a bit more detail http://openbuilds.com/threads/electronics-101.693/ Also within Mach3 you can try increasing the Debounce Interval (Config. / General Config.) up to perhaps 2000 to see if this prevents the false triggering. But please remember this just masks the noise problem which should really be tackled with the appropriate wiring and earthing. Tweakie.
Yes, I am using shielded cable, and it is actually grounded on one end (shield ground) properly. And I have the debounce run all the way up to 5,000 and am still having the problem. The one thing I haven't tried yet is moving the limit switch wiring to its own cable. Right now it is sharing wires which are bundled in the motor cables. All of the wires are twisted pairs and the wire bundle is shielded. John
Hi John, That should do it - the limit switches (and and any other inputs such as Probe & EStop) do need their own shielded cable. Tweakie.
Tweakie, I have another question for you since you seem so knowledgeable about Mach3. I have a USB-to-Parallel port adapter that I attempted to use initially. For some reason it only partially worked, I'm not sure why. (Any thoughts?) But my real question is could it be used as a secondary port for signalling? (Switches, probe input, etc). John
Hi John, USB to parallel port adapters will not work with Mach3 - If using USB then it needs to be an external motion controller such as the Warp9 Smooth Stepper etc. I am unaware of any way in which a USB to Parallel adapter could be used as a secondary port as Mach3 will be directing all it's attention to true LPT ports rather than a USB hub / port. This does not mean that it cannot be done but you would probably be the first if you were to succeed. Tweakie.
Well, I think I'll leave the USB innovating to someone else. Sooner or later I'm going to get one of those Ethernet Smooth Steppers when I can afford it. John