× Forum Header

Micro stepping not taken into account ?

More
06 May 2016 12:53 - 06 May 2016 13:12 #74298 by gaeldk
Hello Linuxcnc experts,

I have a weird problem... I had a stepper which was not working very well and giving a lot of "bumps".

The driver (leadshine MA860H) was set up to run with 8 micro steps for this axis and by increasing to 16 what a surprise it runs smoothly and perfectly with a perfect smooth noise while tested within stepconf wizard... (linuxcnc 2.7.4) Joy joy joy

BUT it only does so under stepconf wizard when I run under axis it behaves like it did before (i.e. like when I used 8 micro steps...)

why oh why ? Why does it behave differently under axis than under stepconf wizard ?

Many thanks in advance for the help you can provide.

for info the base period on the linuxcnc pc is 15000.



File Attachment:

File Name: cn1412_new.stepconf
File Size:11 KB
Attachments:
Last edit: 06 May 2016 13:12 by gaeldk.

Please Log in or Create an account to join the conversation.

More
08 May 2016 09:37 #74359 by andypugh
Were you using exactly the same step timing in stepconf as in LinuxCNC?

The stepconf test does not do anything with the drive enable pins. Perhaps your drives are getting a weird enable signal? (possibly even getting steps on the enable pin?)

Please Log in or Create an account to join the conversation.

More
08 May 2016 09:56 - 08 May 2016 09:56 #74362 by gaeldk

Were you using exactly the same step timing in stepconf as in LinuxCNC?

The stepconf test does not do anything with the drive enable pins. Perhaps your drives are getting a weird enable signal? (possibly even getting steps on the enable pin?)


thank you Andy but yes the exact same settings under stepconf and linuxcnc... I even deleted all the config files except the .stepconf to regenerate everythin...

Drive enable pins ? Not sure what this is... My ful config is attached to this message

File Attachment:

File Name: conf.zip
File Size:5 KB
Attachments:
Last edit: 08 May 2016 09:56 by gaeldk.

Please Log in or Create an account to join the conversation.

More
08 May 2016 10:09 #74366 by andypugh

Drive enable pins ? Not sure what this is...


Pin 17. What does that connect to? What happens if you disconnect that wire? (The axis test in stepconf doesn't know to switch that pin, I don't think, so if it works better without switching that pin, perhaps you need to invert the sense, or just not wire it)

Please Log in or Create an account to join the conversation.

More
08 May 2016 10:21 #74367 by cncbasher
again , your config ini file is what is used , the config knows nothing about microstepping , the entrys in stepconf are only a basic configuration ,and used to calculate the scale from the microstepping/ballscrew values check your SCALE entry , also your steplen and dir timings again in the INI file .

stepconf does not use the drive enable , it also does not use some of the timings as it's only used for an initial setup
you also appear to be modifiying your stepconf files , with regard to timing .
if you have the scale correct then the axis will move the required distance .

dont forget if you change anything in your ini to restart linuxcnc , ini files are read only on start up

Please Log in or Create an account to join the conversation.

More
08 May 2016 15:50 - 08 May 2016 15:51 #74380 by gaeldk

again , your config ini file is what is used , the config knows nothing about microstepping , the entrys in stepconf are only a basic configuration ,and used to calculate the scale from the microstepping/ballscrew values check your SCALE entry , also your steplen and dir timings again in the INI file .

stepconf does not use the drive enable , it also does not use some of the timings as it's only used for an initial setup
you also appear to be modifiying your stepconf files , with regard to timing .
if you have the scale correct then the axis will move the required distance .

dont forget if you change anything in your ini to restart linuxcnc , ini files are read only on start up


The axis moves the correct distance both under stepconf and under linuxcnc, there was a mistake in the config with some stuff on pin17 but I just checkrf the // interface card and there is nothing on pin17... so I removed that.

I did check my INI file and my HAL file
the SCALE value in the INI file is also correct.

The timings I got from a table on linuxcnc wiki for the US version of a driver looking similar to mine. Mine is a leadshine MA860H)
2500 2500 10000 5000

I also tried disconnecting the 2 other motors to see if it was a power issue.

But no still no luck the motor vibrates under linuxcnc and works like a charm in stepconf

Getting crazy with this, so close to have this machine working... :sick:

Below is my INI... and in attachment the full config with HAL and everything

File Attachment:

File Name: cn1412_new.zip
File Size:4 KB


Things I am not sure about is the BASE_PERIOD set to 34722 while I did set it to 15000 in stepconf... ?
Same for SERVO_PERIOD

---
# Generated by stepconf 1.1 at Sun May 8 17:33:09 2016
# If you make changes to this file, they will be
# overwritten when you run stepconf again

[EMC]
MACHINE = cn1412_new
DEBUG = 0

[DISPLAY]
DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 1.2
MIN_SPINDLE_OVERRIDE = 0.5
MAX_SPINDLE_OVERRIDE = 1.2
DEFAULT_LINEAR_VELOCITY = 9.00
MIN_LINEAR_VELOCITY = 0
MAX_LINEAR_VELOCITY = 90.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[RS274NGC]
PARAMETER_FILE = linuxcnc.var

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
BASE_PERIOD = 34722
SERVO_PERIOD = 1000000

[HAL]
HALFILE = cn1412_new.hal
HALFILE = custom.hal
POSTGUI_HALFILE = custom_postgui.hal

[TRAJ]
AXES = 3
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 9.00
MAX_VELOCITY = 90.00

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl

[AXIS_0]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 85.5005472035
MAX_ACCELERATION = 180.0
STEPGEN_MAXACCEL = 225.0
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 1400.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 1.500000
HOME_LATCH_VEL = 1.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 1

[AXIS_1]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 85.5005472035
MAX_ACCELERATION = 200.0
STEPGEN_MAXACCEL = 250.0
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -0.001
MAX_LIMIT = 1200.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 1.500000
HOME_LATCH_VEL = 1.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 2

[AXIS_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 45.0
MAX_ACCELERATION = 200.0
STEPGEN_MAXACCEL = 250.0
SCALE = 320.0
FERROR = 1
MIN_FERROR = .25
MIN_LIMIT = -110.0
MAX_LIMIT = 0.001
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 1.500000
HOME_LATCH_VEL = 1.500000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = 0
Attachments:
Last edit: 08 May 2016 15:51 by gaeldk.

Please Log in or Create an account to join the conversation.

More
08 May 2016 15:55 #74382 by gaeldk

Drive enable pins ? Not sure what this is...


Pin 17. What does that connect to? What happens if you disconnect that wire? (The axis test in stepconf doesn't know to switch that pin, I don't think, so if it works better without switching that pin, perhaps you need to invert the sense, or just not wire it)


Pin17 was not connected on the // interface card to anything so removed it from the config file.

Please Log in or Create an account to join the conversation.

More
09 May 2016 00:00 #74386 by andypugh
2500 is quite short for step length, and it is possible that the breakout adds some delay. As an experiment try 10,000 step length.

Please Log in or Create an account to join the conversation.

More
09 May 2016 08:10 - 09 May 2016 08:15 #74396 by cncbasher
please do not take stepconf as gospel , edit your files manually and tune them
you have in your Hal file the following entrys :
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 25000
setp stepgen.1.dirsetup 20000

these are not as you quoted :
2500 2500 10000 5000
this is where your problem lies
i would set them as :

setp stepgen.1.steplen 1000
setp stepgen.1.stepspace 1000
setp stepgen.1.dirhold 35000
setp stepgen.1.dirsetup 35000

you may need to lengthen steplen & stepspace to say 2500 , you should not need to change the dirhold & dirsetup from 3500
but you could take them to 50000 if you need to . these values will change from machine to machine depending on how good your breakout board is , so please just take them as starting values , and change to suit , if you use stepconf , make a note of the values
and double check the files afterwards for the correct changes . they may not change
anyhow see how you go , let me know if i can be of help.
Last edit: 09 May 2016 08:15 by cncbasher.
The following user(s) said Thank You: gaeldk

Please Log in or Create an account to join the conversation.

More
09 May 2016 15:26 #74412 by andypugh
1 and 0 for steplen and stepspace are correct if using "reset"
In this case the step-length is controlled by
setp parport.0.reset-time 2500
The following user(s) said Thank You: gaeldk

Please Log in or Create an account to join the conversation.

Time to create page: 0.114 seconds
Powered by Kunena Forum