Mori MVJR Build Log

More
13 Sep 2011 19:00 #13182 by schmidtmotorworks
BigJohnT wrote:

You can just use mux2 for that one and the magic pin is

motion.requested-vel OUT float

The requested velocity with no adjustments for feed override

I think it is .50 .75 and 1 for all the overrides.

John


I think you meant to say I could have used mux4 right? ( I have 2 inputs but 4 desired out puts)

Thanks for the magic pin!

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

More
13 Sep 2011 19:19 #13183 by BigJohnT
Replied by BigJohnT on topic Re:Mori MVJR Build Log
Yes, I did mean mux4... sounds like your getting up to speed now :)

John

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

More
26 Sep 2011 15:51 - 26 Sep 2011 15:51 #13458 by schmidtmotorworks
Progress report:

With help from Cory, I think my HAL files are close enough to start connecting stuff.

One of the many new things I will be doing is adjusting the servos to match the 10v power that will go to them now (i don't know what it was before.)

Anyhow Cory use a tachometer to measure his servo speed, I wonder is there an easy way to measure the rpm with EMC2/HAL, or should I just go out and buy a tachometer.

I guess i will probably have to do the same for the spindle, my machine didn't have rigid tapping so I'm not clear what (if any) speed detection it has, other than the servo does have a "Speed Agree" signal.

I'm looking at the board I assume Cory was adjusting things on and see what looks like 11 possible pots to adjust, I think each board (controls 2 axis). I wonder which pots should be adjusted? I put numbers next to the pots, if anyone knows.



Attachments:
Last edit: 26 Sep 2011 15:51 by schmidtmotorworks.

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

More
26 Sep 2011 16:12 #13459 by clkeck1
Replied by clkeck1 on topic Re:Mori MVJR Build Log
1 is used to adjust to the rated motor speed. In my instance that was 1000rpm

2 is used to adjust for zero speed.

I have a separate drive for each encoder. But it looks to me that there is another board behind that one with the same pots.

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

More
26 Sep 2011 16:29 #13460 by schmidtmotorworks
clkeck1 wrote:

1 is used to adjust to the rated motor speed. In my instance that was 1000rpm

2 is used to adjust for zero speed.

I have a separate drive for each encoder. But it looks to me that there is another board behind that one with the same pots.


Yes there is a board behind it, I was hoping that the adjusters were all on the front board, oh well, something else to take apart.

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

More
26 Sep 2011 18:09 #13461 by PCW
Replied by PCW on topic Re:Mori MVJR Build Log
You can use the velocity output of the encoder module or use the D/DT comp on the encoder position. If your encoder counter scale is in inches, the velocity scale will be inches per second. If you have a 7I48 and you want to use the encoder velocity output, you might want an updated bit file. Not sure if you have the latest as there was a bug in 7I48 (well all muxed encoder) velocities that will make the velocity read low by a factor of 25

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

More
27 Sep 2011 17:45 - 27 Sep 2011 17:46 #13474 by schmidtmotorworks
PCW wrote:

You can use the velocity output of the encoder module or use the D/DT comp on the encoder position. If your encoder counter scale is in inches, the velocity scale will be inches per second. If you have a 7I48 and you want to use the encoder velocity output, you might want an updated bit file. Not sure if you have the latest as there was a bug in 7I48 (well all muxed encoder) velocities that will make the velocity read low by a factor of 25


Thanks for the tip.

If I understand correctly, I will make a HAL pin that somehow reads the encoder and using a component function named D/DT to compute get the feed rate in inches which I could convert to get RPM?

Can you please give me some clue about how to code a pin that reads the encoder?
Sorry for being so clueless on this.

The encoders are connected to a 7i48
Last edit: 27 Sep 2011 17:46 by schmidtmotorworks.

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

More
28 Sep 2011 04:11 #13484 by PCW
Replied by PCW on topic Re:Mori MVJR Build Log
The pin already exists, its the velocity pin on the encoder module.

type:

man hostmot2

at the terminal prompt and take a look at the encoder section...

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

More
21 Oct 2011 04:46 #14084 by schmidtmotorworks
Progress report.

I have the control in the machine and 99% of the wires connected.
So close but so far.

I updated EMC to the latest 2.5

When I try to start axis I get the error page.
the boot message reports the following:

Row: 3636.349170 look like the start of trouble:


[ 3636.074904] I-pipe: Domain RTAI registered.
[ 3636.074925] RTAI[hal]: <3.8.1> mounted over IPIPE-NOTHREADS 2.6-03.
[ 3636.074933] RTAI[hal]: compiled with gcc version 4.4.3 (Ubuntu 4.4.3-4ubuntu5) .
[ 3636.075059] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs DISPATCHED), ISOL_CPUS_MASK: 0).
[ 3636.075067] PIPELINE layers:
[ 3636.075074] f9bd7e20 9ac15d93 RTAI 200
[ 3636.075082] c085cb20 0 Linux 100
[ 3636.123621] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[ 3636.124432] RTAI[sched]: IMMEDIATE, MP, USER/KERNEL SPACE: <with RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[ 3636.124446] RTAI[sched]: hard timer type/freq = APIC/10416668(Hz); default timing: periodic; linear timed lists.
[ 3636.124454] RTAI[sched]: Linux timer freq = 250 (Hz), TimeBase freq = 1666529000 hz.
[ 3636.124460] RTAI[sched]: timer setup = 999 ns, resched latency = 2943 ns.
[ 3636.124759] RTAI[usi]: enabled.
[ 3636.200266] RTAI[math]: loaded.
[ 3636.343374] hm2: loading Mesa HostMot2 driver version 0.15
[ 3636.348910] hm2_pci: loading Mesa AnyIO HostMot2 driver version 0.7
[ 3636.348992] hm2_pci 0000:05:00.0: PCI INT A -> GSI 21 (level, low) -> IRQ 21
[ 3636.349003] hm2_pci: discovered 5i23 at 0000:05:00.0
[ 3636.349170] hm2/hm2_5i23.0: invalid token in config string: "num_sserials=3"
[ 3636.349187] hm2_5i23.0: board fails HM2 registration
[ 3636.349215] hm2_pci 0000:05:00.0: PCI INT A disabled
[ 3636.349241] hm2_pci: probe of 0000:05:00.0 failed with error -22
[ 3637.028565] hm2: unloading
[ 3637.107110] RTAI[math]: unloaded.
[ 3637.146697] SCHED releases registered named ALIEN RTGLBH
[ 3637.210002] RTAI[malloc]: unloaded.
[ 3637.308032] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 0, syscalls 0).
[ 3637.312875] I-pipe: Domain RTAI unregistered.
[ 3637.313043] RTAI[hal]: unmounted.

Here is the ini file where the serials line is:



[HOSTMOT2]
DRIVER=hm2_pci
BOARD=5i23
CONFIG="firmware=hm2/5i23/SVSS6_8.BIT num_encoders=6 num_pwmgens=6 num_sserials=3"
[EMC]

# Name of machine, for use with display, etc.
MACHINE = HM2-Servo

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x00000003
#DEBUG = 0x00000007
DEBUG = 0




[DISPLAY]

# Name of display program, e.g., tkemc
DISPLAY = axis
#DISPLAY = touchy

# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.0500

# Path to help file
HELP_FILE = tkemc.txt

# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE

# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL

# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.5

# Prefix to be used
PROGRAM_PREFIX = ../../nc_files/

# Introductory graphic
INTRO_GRAPHIC = emc2.gif
INTRO_TIME = 5


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


[TASK]

# Name of task controller program, e.g., milltask
TASK = milltask

# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.010




[RS274NGC]

# File containing interpreter variables
PARAMETER_FILE = hm2-servo.var




[EMCMOT]

EMCMOT = motmod

# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0

# Interval between tries to emcmot, in seconds
COMM_WAIT = 0.010

# Servo task period, in nanoseconds
SERVO_PERIOD = 1000000




[HAL]

# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.

# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALUI = halui
HALFILE = hm2-servoss.hal

# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta




[TRAJ]

AXES = 3
# COORDINATES = X Y Z
COORDINATES = X Y Z
# HOME = 0 0 0 0
HOME = 0 0 0
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 1.00
MAX_VELOCITY = 6.567
DEFAULT_ACCELERATION = 6.0
MAX_ACCELERATION = 10.0




[AXIS_0]

TYPE = LINEAR
MAX_VELOCITY = 6.567
MAX_ACCELERATION = 10
BACKLASH = 0.000
FERROR = .5
MIN_FERROR = .5

INPUT_SCALE = -25400

OUTPUT_SCALE = 1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10

MIN_LIMIT = -22
MAX_LIMIT = 0
HOME = 0
HOME_OFFSET = 0.04
HOME_SEARCH_VEL = 0.50
HOME_LATCH_VEL = -0.10
HOME_USE_INDEX = no
HOME_IGNORE_LIMITS = yes

# PID tuning params
DEADBAND = 0.000015
P = 10
I = 0
D = 0
FF0 = 0
FF1 = 0
FF2 = 0
BIAS = 0




[AXIS_1]

TYPE = LINEAR
MAX_VELOCITY = 6.567
MAX_ACCELERATION = 10
BACKLASH = 0.000
FERROR = .5
MIN_FERROR = .5

INPUT_SCALE = -25400

OUTPUT_SCALE = 1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10

MIN_LIMIT = -16.1
MAX_LIMIT = 0
HOME = 0
HOME_OFFSET = 0.04
HOME_SEARCH_VEL = 0.50
HOME_LATCH_VEL = -0.10
HOME_USE_INDEX = no
HOME_IGNORE_LIMITS = yes

# PID tuning params
DEADBAND = 0.000015
P = 10
I = 0
D = 0
FF0 = 0
FF1 = 0
FF2 = 0
BIAS = 0



[AXIS_2]

TYPE = LINEAR
MAX_VELOCITY = 6.567
MAX_ACCELERATION = 10
BACKLASH = 0.000
FERROR = .5
MIN_FERROR = .5

INPUT_SCALE = -25400

OUTPUT_SCALE = 1
OUTPUT_OFFSET = 0.0
MAX_OUTPUT = 10

MIN_LIMIT = -18.1
MAX_LIMIT = 0
HOME = 0
HOME_OFFSET = 0.04
HOME_SEARCH_VEL = 0.50
HOME_LATCH_VEL = -0.10
HOME_USE_INDEX = no
HOME_IGNORE_LIMITS = yes

# PID tuning params
DEADBAND = 0.000015
P = 10
I = 0
D = 0
FF0 = 0
FF1 = 0
FF2 = 0
BIAS = 0

#[AXIS_3]

#TYPE = ANGULAR
#MAX_VELOCITY = 1.0
#MAX_ACCELERATION = 4.0
#BACKLASH = 0.000
#FERROR = 0.5
#MIN_FERROR = 0.5

#INPUT_SCALE = 81920
#
#OUTPUT_SCALE = -1.000
#OUTPUT_OFFSET = 0.0
#MAX_OUTPUT = 1.0

#MIN_LIMIT = -3.0
#MAX_LIMIT = 10.0
#HOME = 0.000
#HOME_OFFSET = -2.9
#HOME_SEARCH_VEL = -0.50
#HOME_LATCH_VEL = 0.10
#HOME_USE_INDEX = NO
#HOME_IGNORE_LIMITS = YES

# PID tuning params
#DEADBAND = 0.000015
#P = 0.000
#I = 0.000
#D = 0.000
#FF0 = 0.000
#FF1 = 0.000
#FF2 = 0.000
#BIAS = 0.000





[EMCIO]

# Name of IO controller program, e.g., io
EMCIO = io

# cycle time, in seconds
CYCLE_TIME = 0.100

# tool table file
TOOL_TABLE = tool.tbl

TOOL_CHANGE_QUILL_UP = 1
RANDOM_TOOLCHANGER = 1



Any suggestions about what to try?

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

More
21 Oct 2011 05:10 #14085 by cmorley
Replied by cmorley on topic Re:Mori MVJR Build Log
it says:
[ 3636.349170] hm2/hm2_5i23.0: invalid token in config string: "num_sserials=3"

means it doesn't recognizes this command.

I think Andy changed the command for loading sserials recently.

check the man page

man hostmot2 (in a terminal)

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

Moderators: cncbasher
Time to create page: 0.096 seconds
Powered by Kunena Forum