"Toggle machine power" button and "joint 2 following error" issues

More
30 Dec 2016 03:28 #84893 by Birddogs
Looking for some help...
This is not a running system but a new conversion to Linux cnc Bridgeport cnc milling machine.
I am novice at Linux cnc. (am over my head in the hundreds of pages of documentation)
issues at hand,
1, toggle machine power button > homing section is greyed out. (Machine does come out of estop mode, Peter got me through that issue)

2, I am getting a "joint 2 following error" from what I have researched, it is probably in my ini file. Could someone take a look and see if there is something I need to change/edit. or if you need more information to determine let me know.

# Basic 5i25/7i77 ini file

[EMC]
MACHINE = 7i77
DEBUG = 0

[DISPLAY]
DISPLAY = axis
PYVCP = tabs.xml
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 1.2
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5

# the next line will need to be modified to point to the nc_files folder
PROGRAM_PREFIX = /home/randy/linuxcnc/nc_files

INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in

[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 = 7i77.var

[EMCMOT]
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010

[HAL]
HALFILE = 7i77.hal
POSTGUI_HALFILE = postgui.hal
HALFILE = jog-pendant.hal
HALUI=halui

[HALUI]
MDI_COMMAND = G0 G53 Z0
MDI_COMMAND = G0 G53 X0Y0Z0
MDI_COMMAND = G0 X0Y0
MDI_COMMAND = G0 Z0

[TRAJ]

#edited axis to 3 from original 4
AXES = 3
#edited coordinates removed A
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 0.20
MAX_LINEAR_VELOCITY = 1.00

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

#### the axis values need to be updated to your machine

[AXIS_0]
TYPE = LINEAR
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 4.0
BACKLASH = 0.000
FERROR = 0.050
MIN_FERROR = 0.01
# put how many pulses from the encoder per inch here
#1000=-40000,250=10000,1024=40960,500=20000
INPUT_SCALE = -10000
OUTPUT_SCALE = 1.000
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 1.0
MIN_LIMIT = -.45
MAX_LIMIT = 17
HOME = 0.000
HOME_OFFSET = .05
HOME_SEARCH_VEL = 0.5
HOME_LATCH_VEL = 0.10
# the X axis encoder has an index channel, so we use it to improve the home accuracy
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = YES
# PID tuning params
DEADBAND = 0.000015
P = 20
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.01
BIAS = 0.000

[AXIS_1]
TYPE = LINEAR
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 4.0
BACKLASH = 0.000
FERROR = 0.050
MIN_FERROR = 0.01
# put how many pulses from the encoder per inch here
#1000=-40000,250=10000,1024=40960,500=20000
INPUT_SCALE = 10000
OUTPUT_SCALE = 1.000
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 1.0
MIN_LIMIT = -2
MAX_LIMIT = 11.5
HOME = .0
HOME_OFFSET = 0.05
HOME_SEARCH_VEL = 0.5
HOME_LATCH_VEL = 0.10
# the Y axis encoder has an index channel, so we use it to improve the home accuracy
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = YES
# PID tuning params
DEADBAND = 0.00015
P = 20
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.01
BIAS = 0.000

[AXIS_2]
TYPE = LINEAR
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 4.0
BACKLASH = 0.000
FERROR = 0.050
MIN_FERROR = 0.01
# put how many pulses from the encoder per inch here
#1000=-40000,250=10000,1024=40960,500=20000
INPUT_SCALE = 10000
OUTPUT_SCALE = 1.000
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 1.0
MIN_LIMIT = -4.75
MAX_LIMIT = .25
HOME = .0
HOME_OFFSET = 0.05
HOME_SEARCH_VEL = 0.5
HOME_LATCH_VEL = 0.10
# the Z axis encoder does not have an index channel, so we have to home without index
HOME_USE_INDEX = YES
HOME_IGNORE_LIMITS = YES
# PID tuning params
DEADBAND = 0.00015
P = 20
I = 0
D = 0
FF0 = 0
FF1 = 1
FF2 = 0.01
BIAS = 0.000

#[AXIS_3]
#TYPE = LINEAR
#MAX_VELOCITY = 1.0
#MAX_ACCELERATION = 4.0
#BACKLASH = 0.000
#FERROR = 0.050
#MIN_FERROR = 0.01

# put how many pulses from the encoder per inch here
#1000=-40000,250=10000,1024=40960,500=20000
#INPUT_SCALE = 40960
#OUTPUT_SCALE = 1.000
#OUTPUT_OFFSET = 0.0
#MAX_OUTPUT = 1.0
#MIN_LIMIT = -5.0
#MAX_LIMIT = 5.0
#HOME = 0.0
#HOME_OFFSET = 1.9
#HOME_SEARCH_VEL = 0.0
#HOME_LATCH_VEL = 0.0
#HOME_FINAL_VEL = 0.0
# the A axis encoder does not have an index channel, so we have to home without index
#HOME_USE_INDEX = YES
#HOME_IGNORE_LIMITS = YES
# PID tuning params
#DEADBAND = 0.000015
#P = 150
#I = 0
#D = 0
#FF0 = 0
#FF1 = 1.4
#FF2 = 0.01
#BIAS = 0.000

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

More
30 Dec 2016 05:51 - 30 Dec 2016 05:53 #84902 by tommylight
If you did that config with pnconfig, you have to edit it manualy as it adds a 0 at the end "input_scale" parameter.
I did a 7i76E config and i know i had to remove a lot of 0.
Do you actualy have 2500 cpr encoders? If yes, then it looks all good.
This is not your error, as i can see writen above the input_scale the sample values, and they do not make sense i.e. 1000pulses is equal to 40000 !!! It should be 4000, i am sure. Or i missed the part where a quadrature encoder can be read at 40 values per pulse.
Please do give that a try and let us know if it works out.
Again this is not the only problem why you are getting that error, but do check it.
Regards
Last edit: 30 Dec 2016 05:53 by tommylight.

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

More
30 Dec 2016 21:47 #84935 by Birddogs
I did not configure the files, they were copied from the same type of mill that was running the same drives (one of the guys on this forum).
I do not have documentation of encoders, they are original 1985 Bridgeport equipment.
I do believe they are Deferential. 3 v between A, _A. 3 v between B, -B

I changed "input_scale" from 10000 to 1000 on all three axes.

no change, still getting error.
Drives are powered and belts are removed from DC motors.
Motors are not calibrated, (they are rough tuned through drives. motors are creeping very slow)
I thought the motors would lock static, when I came out of estop. they don't stop creeping..
any ideas for what to do next?

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

More
30 Dec 2016 23:02 #84943 by PCW
Do the encoders work (does the LinuxCNC DRO work?)

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

More
31 Dec 2016 03:02 #84945 by Birddogs
DRO does work.
I put belt on Y axis to check:
actual distance traveled vs DRO readout travel.
"input_scale" set at 10000
bed of mill moved ~ 1" and DRO readout moved ~1"
Motor turn of one revolution = .1" of bed travel and .1" DRO display change.

I had tried "input_scale" set at 1000 but that resulted in bed mill moved ~1" DRO reading of ~10.3" (1000 is incorrect.)



.

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

More
02 Jan 2017 21:34 #85122 by Birddogs
Update on some findings.
My encoders are 250 lines per revolution.
my pulley reduction is 2/1
5 pitch screw (0.2" per revolution)
0.0004" per encoder line.

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

More
02 Jan 2017 22:26 - 02 Jan 2017 22:27 #85123 by PCW
Joint following errors are to be expected before the system is tuned
Usually you must first widen the ferror and min_ ferror limits in the ini file
to about an inch so you can see whats happening when you enable the drives

You may in fact have the feedback backwards so the drive runs-away as soon as enabled
(you have about a 50% chance of this on a new retrofit)

In any case you will need to widen the ferror limits to see whats going on
Last edit: 02 Jan 2017 22:27 by PCW.
The following user(s) said Thank You: new2linux

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

Time to create page: 0.303 seconds
Powered by Kunena Forum