I have just got my stepper motors running and have done a test cut with the router. The calibration on the z axis seemed fine, but x and y, the project was smaller than expected but in proportion. I re-calibrated both x and y, then rechecked the amount of travel and had to calibrate again. After a couple more test cuts, the x axis is better but the y is still out.
I am using M542H controllers, which I set the dip switches to a recommended setting from this forum, but I can't remember which post it was, but it has made the motors run quieter than on the settings I had them.
I think the calibration problem is related to the the settings on the controllers. Could someone explain the steps, velocity, acceleration etc in Mach3 and the relationship to dip switch settings. I thought I understood some of this but I seem to be confusing myself even more.
I am using 16mm chineese ball screws on all axes and x and y seem very slow when jogging manualy compared to before I calibrated x,y and z.
Hope someone can help, thanks in advance
The dip switch settings are Jazcnc's recommendations in reply to Liamo1991's post in this category.
Are you talking about being wildly out (e.g. twice or half size) or just a little bit - a few per cent, say?
Your drives main dip switches let you set the Motor Amps and Micro stepping. Motor amps is easy just select the nearist lowest setting to the motors Amp rating.
Micro stepping (MS) is dependant on how you want to run the motors. In general setting the MS to a higher setting gives smoother running motors and to a lesser degree some resolution gain. The trade off is it works the PC and parallel port harder has it needs more pulses to move the same distance has a lower setting. There is also a limit where it's no longer benifical going higher, this around 2000 pulses, but won't get into this now.
What you want or need to know is the relationship between the MS value, ballscrew Pitch and Mach's Step Per setting. . . . It's quite easy really when you get your head around it.!!
Mach Steps per is asking for the number of pulses(steps) to move 1 unit, so if mm's then 1mm.
To calculate this you need to know the Pitch of the Ballscrew, NOT diameter, Pitch is the amount it travels for 1 revolution. Along with the MS the drives are set too.
Then divide the MS by the Pitch. Ie: MS=1600/5mm pitch=320 Pulses(Steps) Per/mm.
If your machine is moving the wrong amount it will be these settings causing it.
The velocity and Acceleration are then adjusted based on your preferances on speed and what the machine is capable of. There are far to many factors which affect this and really nobody can give you any accurate settings for these only guide lines has it's mostly trial and error which is based heavily on the individual machine.
Hi Neale and Jazz
Thanks for your responses.
Thanks Jazz for your explanation, I think I understand better now.
The problem I had, was after I calibrated and then re-calibrated to check that it was moving the right amount, it would still be out, so I would do it again, and again and after 4 or 5 tries, still not knowing if it was calibrated properly. When I started out, both the x and y were nearly double on the measure. When I thought I was done I did a test cut, just a circle set at 100mm. I ended up with an elipse! The x axis was almost spot on but the y axis was only 38mm.
I have been out with the machine again, the MS drivers are still set to Jazz's settings and after calibration the 'steps per' on all 3 axes are between 1275 and 1286. It seems to cut at a reasonable rate according to the feed rates. I was expecting it to move quicker on rapids and jogging by hand.
Any way I am a lot happier with it now.
Thanks again guys
BTW did you see the picture of my machine on my intro post, I'd like your comments.
So Please give details about machine.
#1 Are you using mm's or inch units in Mach3
#2 Micro steps drives set at.
#3 Ballscrew or lead screw pitch.
Edit: I've just been to your Intro and can see you have either 5mm or twin start screws so 10mm pitch so this confims to me you have the Micro stepping set way way to high.
Drop the micro stepping down to 1600 and if 5mm pitch set the steps per to 320. or 160 if 10mm pitch.
Now if the Kernal speed is set to 25Khz you should get in the region of around 4000mm/min velocity with Accel of around 800-1000s/s.
Raising the Kernal speed will allow more pulse rate so a higher velocity can be reached but I wouldn't go any higher than 45khz and even then I don't recommend you change it has every change from 35khz makes the machine potentialy unstable. You'll need a fast PC with good parallel port to higher than 45Khz.
Last edited by JAZZCNC; 19-01-2014 at 12:43 AM.
Jim - from what you're saying, I'm not sure if you've gone the right way about setting up your machine. Unfortunately, copying someone else's DIP switch settings sounds like a great idea, but only if your machine is identical to theirs!
Briefly - a leadscrew/ballscrew pitch of 5mm means that the nut moves 5mm for every turn of the screw (or 10mm movement for a 10mm pitch screw, or whatever). A standard stepper motor will turn one revolution in 200 steps, so each step will turn the leadscrew by 1/200 of a turn, and this will move the nut by 5mm/200 = 0.025mm (if I've done my sums right, and assuming that the motor is geared to the screw 1:1). The job of Mach3 is to take a line of gcode that says, perhaps, "move the cutter along the X axis by 10mm" and translate that into the number of "step" pulses that it sends to the motor controller board. This board then turns those pulses into the rather more complex signals with lots more power that are used to actually turn the stepper motor. That's why you have to tell Mach3 about the stepper motor configuration and the pitch of the screw and it can do the sums it needs from that. If you tell Mach3 in the settings dialogue the right numbers, then the movement will be pretty close to exactly what you intend.
It gets slightly more complicated if you use micro-stepping. I said that a standard motor will turn exactly one revolution for every 200 steps sent to it. However, you might want it to move in smaller steps. The controller board can do this for you by modifying the signals that it sends to the motor. What you have to do is tell the controller board how many steps you want per turn. A typical number might be 800 steps per rev. If you look at the manual for the board, you can find the DIP switch settings that specify 800 steps/rev (might also be called 1/4 steps or some such). The motor will now turn one rev for every 800 steps, but you also have to tell Mach3 about this so it knows how many pulses it has to send to move the cutter by any specified amount. So, the settings page of Mach3 asks for the microstepping amount. Again, though, if you put in the right numbers you will get the right amount of movement and while you might want to double-check by measuring it that it's right, you should be very, very close without any need for "calibration". Something else that you need to tell Mach3 is if there is any gearing between the motor and the screw; if you have 1:2 gearing so that the screw turns at half the speed of the motor, then clearly you need twice as many steps sent to the motor to move the leadscrew nut by a given amount because the motor has to go round twice for every leadscrew turn. Again, you tell Mach3 about this gearing and it does the appropriate sums when it calculates numbers of step pulses to send.
Why don't you just use the highest available number of microsteps per rev, then? Won't this give better accuracy because there are more steps per rev so the smallest amount you can move is smaller, so you can position the carriage in smaller increments? Well, in principle, yes, but there are other factors. Stepper motors aren't actually that accurate as the number of microsteps is increased, certainly not when you get to very high numbers, and the actual torque available (in effect, the amount of "shove" that the motor can apply) reduces. Another very important point is that you need more step pulses out of Mach3 to move the carriage by a given amount and there is a limit to how fast Mach3 can generate pulses. As Jazz has said, this is related to the kernel speed setting, and in turn this is governed by the PC hardware. Some hardware is capable of higher speeds than others, but Jazz has given a reasonable value. Now, if you ask Mach3 to deliver more pulses more quickly than its kernel speed setting allows, it will just limit at some lower value. Quick example with 5mm pitch screw. You want to move 50mm in 1 sec. With 200 steps per rev (standard motor setting, no microsteps) you need 10 turns per second which means 10x200 = 2000steps/sec. With 16x microstepping (3200 steps/rev), you will need 16x2000 = 32000 steps/sec. If the kernel speed limits the pulse rate to, say, 20000 steps/sec, then you will not achieve 50mm/sec movement because you just can't send pulses that fast and your machine will move slower than you expect. OK, in practice, there are some other issues involved but this gives the basic picture. This might help explain why Jazz has suggested that your microstep settings are too high.
If you can give the basic settings as Jazz has asked, it gives a lot more understanding of the machine setup and is a good way to move forwards with some better values to try.
Sorry I've rambled on a bit, and this stuff is basic knowledge to a lot of people on this forum, but for people new to the area it might give a little bit more insight into what the numbers mean and how they relate together. Anyway, you only have to go through it all once, and then the machine is set to go!
Also after about 2000 Msteps your mostly gaining nothing other than a tiny bit smoother running motors which comes at a cost often not worth it due to the instabilty's that can come with it. To get any decent speeds for a router with high MS you'll need to raise the Kernal speed so this can and does make the system more unstable so for this reason alone your better keeping the MSteps down between 800-1600.
Hi Jazz and Neale,
Thank you both for your explanations, I am understanding things a lot better now. You Guys are legends to spend all this time typing all that info for a greenhorn like me. Lets hope it helps others as well.
I managed to sneak off to the workshop/mancave this afternoon.
I am working in mm's in Mach, the MS drivers now set to 1600, the ballscrews are 5mm pitch. After calibrating, 'steps per' worked out to 637.8 on x, 631.1 on y and 642.6 on z.
After another test cut all axes were faster, I then had a light bulb moment and checked the velocity and acceleration settings they were set to 600 and 200, the settings recommended in the instruction mini disk, which I haven't altered since initial set up. I changed them to 2000 and 1000 respectively, now I have much better speed.
After coming back and seeing Neale's in depth explanation, everything seems much more clearer now.
Thanks again guys, you are awesome.
The trouble with us Cornish boys, we are strong in arm and weak in head.
If your direct driving the ballscrews then the steps per should be 320 exactly.
How are you coming up with the 637.8 figure .? Are you using the Axis calibration in Mach.?
By jmac80 in forum Milling Machines, Builds & ConversionsReplies: 9Last Post: 06-04-2014, 09:59 PM
By Mark Chard in forum Machine Control SoftwareReplies: 0Last Post: 31-01-2014, 04:03 PM
By Tenson in forum Tool & Tooling TechnologyReplies: 1Last Post: 01-01-2013, 05:38 PM
By Hobgoblin in forum Linear & Rotary MotionReplies: 8Last Post: 10-09-2012, 08:18 PM
By shaggyhawkings in forum Milling Machines, Builds & ConversionsReplies: 4Last Post: 07-01-2010, 10:00 PM