Thread: Help with settings!
I plugged up my machine for the first time tonight. I'm running:
4Nm Stepper Motor
CW8060 6A Driver
HG07 Breakout Board
All connected to my PC running Mach3.
I've just tested it with the Z-Axis motor and it does seem to work, however the motor is way too slow! It is also slower than the units/mm readout. So I assume I need to adjust settings somewhere. I tried 1/8 and 1/10 microstepping, both give a similar result. If I run the auto-tuning routine it gave me 6666.66 steps per unit (mm). However it then limited me on the maximum speed to around 400.
Has anybody else got the same kit and can you tell me some good default settings?
6666.66*400/60=44.4kHz which implies you've set the kernel frequency (goto Config->Ports and pins->Port Setup and Axis Selection) to 45kHz. Exceptionally few parallel ports will manage that, so start with 25kHz.
There is no need to use the auto-tuning since you know all the parameters - pitch of screw, microstepping setting and pulley raito, if any? Just work it out using the method Sean has suggested:
Step/mm = 200*10/5=400 using 200 step/rev motor, 1/10 microstepping and 5mm pitch screw. At 25kHz kernel frequency you will be limited to 25000/400*60=3750mm/min which is passable but a bit slow, so you could change to 1/4 microstepping as that gives 200*4/5=160 step/mm and 25000/160*60=9375mm/min.
Actually I had suspected that might be the case given just how many pulses it needed to move the motor. Thanks for confirming it. I'll have another go tomorrow.
If my parallel port will do 45KHz is this preferable to 25KHz? It did seem to work.
Here's the deal with kernal speed.
Lets say you select 25Khz, and then tune your motors. While tuning, you find
you have the velocity slider up all the way, but would like to go faster than
you can tune.. you then must select the next higher kernal speed, and retune all
motors. If while tuning, you find you cannot go fast enough, repeat till the
kernal speed is such that you CAN select the speed you need.
The reason is this..
In 25Khz mode, the computer interrupts every 40us.. in 35Khz, every 28.5us ,
in 65Khz, every 15us , and for 100khz, every 10us.
Now, the time-in-int is the amount of time spent servicing that interrupt. One
of the secrets of the printer port driver, one Ive never discussed , is that
all drivers in windows are told to do their thing fast, and get out. My driver
breaks that rule..heck it breaks most rules. :) . SO it takes the time it needs
do 1 step pulse, read input, set outputs, unset the step pulse, jog if
necessary, etc.. and then exits to wait for the next interrupt. The time-in-int
is the time it takes to do all that.
So lets say your in 25khz, every 40us an interrupt will come along, and your
machin has a time-in-int of 15, that means your cpu has 40-15=25us to do its
normal windows activity. Your computer is now 37% a pulse driver, and 63% a
Time-in-int doesnt vary from kernal speed to kernal speed, only computer to
computer. Lets say yours is 11us. ( a bit high ), if your in 65Khz mode, your
now interrupting every 15us.. , so Windows now has 3us every 15 to do its thing,
its now a cpu that is 20%windows, and 80% pulse engine.
The windows component runs Mach3, so you now have 20%Mach3 ( plus windows
fucntions) , and 80% pulse engine. As the pulse engine % goes higher, the chance
of lockup goes higher.
So higher kernal speeds give you higher criticality, which can be defined as
your sensitivity to random bad events affecting the computer. The lower the
kernal speed, the higher your immunity. As youve noticed, your 45Khz machine
doesnt lock up as much as your 65Khz machine. That follows the logic Im
explaining. (Im almost willing to bet your machine at 25Khz will never lock up ,
or would be very very rare, (Im assuming this from your statement about the two
machines correlated to hundreds of very similar conversations over the years
with lockup victims. Fully 80% of them didnt realize the connection, and tuning
lower in kernal speed stopped the problem.
Now sometimes you NEED higher kernal speeds, ( high step count machines
typically), but fully 90% of people who have set high kernal speeds
dont really need them, they do so simply as a result of the very human instinct
to have the highest possible speed selected. ( "Yeah boys, my engine has triple
hedenstock carbs with dual-hemi semi-octagonal rebuf cyclinder hose accessory
You may wonder..why the heck dont I tell people this more forcefully, since
it will stop most lockups. Fact is, higher kernal speeds DO have a smoother
motion just as a result of granularity, and Ive found the vast majority CAN use
higher speeds with no problem. ( I am limited here to 65K ), I use 25K though
for reliability. With over 25 thousand machines out there, the number of
overall lockups is extremely small, and thats including the tendancy people have
to select the higher speeds,so as a result, I try to keep my nose out of their
selections, unless they have trouble.
The final question you should be thinking about now is.. "Why didnt you ask
me this when I complained about lockups.. :) ), the answer is that the
subject comes up so infrequenctly now that even I forgot to ask this basic
question about the kernal speed. I used to post it periodically on this group,
but stopped quite a while back. In retirement I guess Im getting forgetful is
my only excuse. Hopefully, youll find 25K never locks up.. Im suspecting this
is true in your case. I hope so.
For those that want maximum reliability, I suggest this, use as low a kernal
frequency as you can live with. On many machines maximum cutting speed is easily
achievable in 25Khz, the only sacrifice in using 25Khz is perhaps a slower rapid
speed. Rapids are nice, but not as nice as perfect stability, so I tend to give
up some rapids to put their power into stability. Look at kernal speed as a
trade-off, you can go real fast, or real stable.. (This is only if you have a
lockup problem, many can have both and use higher kernal speeds. )
My own suspicion, again based on time and numbers, is that many people would
have lockups, but most leave the kernal at the install speed of 25Khz.. I rarely
hear form them. I hear most from 65Khz, and Ive heard quite a bit from 100Khz..
this is because those that can run 100khz are a rare breed, very fast clean
machines with extremely stable operating system installs. For 65Khz, you better
have a nice fast computer. 45Khz isnt bad, lockups on those indicate a computer
suffering some periodic problem that slows the time-in-int too much..
None of this incidentally explains a random move. The driver is pretty much
incapable of it, it canot move unless commanded, and it takes quite a sequence
normally to command it. Youd have a better chance of winning a lottery than
getting uncommanded motion.....unexpected..yes. :), that happens to all of us..
usually at our unknown request, but uncommanded...near impossible in the drivers
Let us know how 25Khz works.. do you have to sacrifice much speed ( or any )
to use it? And what IS your time-in-int number?
My average time-in-int is 5-7us by the way, which is pretty normal for a 2Ghz
machines, by dual core is only 3-4us, meaning it will take much higher
kernal speeds without reaching any high level of criticality. My 1.2Ghz was
around 15us.. ( pretty bad, but ran fine..)
Sorry for the ramble, I guess it was time for one anyway, for some reason there
are some that actually like my rambles. lol
"Gearotic Motion Gear design Software"
Today I put all the dip switches back-to-front and it goes nice and fast :)
Another question though - how do I grease a ballnut?! I got mine from LinearMotion on eBay and I don't think they have any grease as it is. I know I need to put some in that nipple, but since grease is not a liquid, how can I get it in there? Do I need some form of syringe? EDIT: Ahh okay I should have searched for ballnut rather than ballscrew lubrication. I see Jonathan and Jazz use oil. Do you think 75W80 gear-box oil is okay?
Also, my motors get very hot. Does the 'half current SW4' dip switch relate to the automatic reduction of current if the system doesn't do anything for a while? Should I just ignore them getting hot, or what?
Last edited by Tenson; 29-09-2012 at 02:50 PM.
Define 'hot'.... sizzling if you put a drop of spit on them or just hot to touch? motors can run at 60 - 80degC if worked hard. Worth enabling the 'reduce current in standby' mode if you can. If they still seem to be too hot maybe you've got the current setting too high... confusing RMS and Peak values maybe?
but lets not argue :)
By Neale in forum Machine Control SoftwareReplies: 19Last Post: 07-05-2014, 07:17 PM
By liamo1991 in forum Motor Drivers & ControllersReplies: 2Last Post: 15-11-2013, 01:22 AM
By Jopo in forum Stepper & Servo MotorsReplies: 0Last Post: 29-04-2013, 07:08 AM
By swarf-boy in forum Machine DiscussionReplies: 2Last Post: 21-12-2010, 11:18 PM