Mesa 5i25 and 7i76 and encoder

More
11 Sep 2016 20:11 #80347 by finemeca
OK thanks.
I check tomorrow

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

More
16 Sep 2016 12:41 #80495 by finemeca
Hello,

I redo my tests ....

With M3 s00: motion.spindle-at-speed true
With M3 s300: motion.spindle-at-speed false


An inversion problem?
What reverse signal ?

@pierre

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

More
16 Sep 2016 12:48 #80497 by jtc
Replied by jtc on topic Mesa 5i25 and 7i76 and encoder
I think that at 0 speed the spindle ate speed is always true...

see this example:

linuxcnc.org/docs/html/examples/spindle.html

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

More
24 Sep 2016 19:15 #80866 by finemeca
Hello,

I always have the problem?

An idea ?

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

More
24 Sep 2016 20:00 #80867 by PCW
Replied by PCW on topic Mesa 5i25 and 7i76 and encoder
if spindle-at-speed is not true, it means spindle-vel-fb is not "near" spindle-vel-cmd-rps (within 200 RPM)

To debug, halmeter or watch both when you have 300 RPM selected, they should both be around 5 ( 5 RPS = 300 RPM )

This error suggests that either the spindle encoder is not working, is backwards, or is scaled wrong
or the spindle speed command path has an error (you dont get 300 RPM when you request it)

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

More
25 Sep 2016 13:32 #80901 by finemeca
Hello PCW

Here is a piece of my hall file :

#*******************
#  SPINDLE S
#*******************

setp   pid.s.Pgain     [SPINDLE_9]P
setp   pid.s.Igain     [SPINDLE_9]I
setp   pid.s.Dgain     [SPINDLE_9]D
setp   pid.s.bias      [SPINDLE_9]BIAS
setp   pid.s.FF0       [SPINDLE_9]FF0
setp   pid.s.FF1       [SPINDLE_9]FF1
setp   pid.s.FF2       [SPINDLE_9]FF2
setp   pid.s.deadband  [SPINDLE_9]DEADBAND
setp   pid.s.maxoutput [SPINDLE_9]MAX_OUTPUT
setp   pid.s.error-previous-target true

net spindle-index-enable  <=> pid.s.index-enable
net spindle-enable        =>  pid.s.enable
net spindle-vel-cmd-rpm-abs     => pid.s.command
net spindle-vel-fb-rpm-abs      => pid.s.feedback
net spindle-output        <=  pid.s.output



# ---digital potentionmeter output signals/setup---

setp   hm2_5i25.0.7i76.0.0.spinout-minlim    [SPINDLE_9]OUTPUT_MIN_LIMIT
setp   hm2_5i25.0.7i76.0.0.spinout-maxlim    [SPINDLE_9]OUTPUT_MAX_LIMIT
setp   hm2_5i25.0.7i76.0.0.spinout-scalemax  [SPINDLE_9]OUTPUT_SCALE

net spindle-vel-cmd-rpm-abs     => hm2_5i25.0.7i76.0.0.spinout
net spindle-enable      => hm2_5i25.0.7i76.0.0.spinena
net spindle-ccw         => hm2_5i25.0.7i76.0.0.spindir

# ---setup spindle control signals---

net spindle-vel-cmd-rps        <=  motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs    <=  motion.spindle-speed-out-rps-abs
net spindle-vel-cmd-rpm        <=  motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs    <=  motion.spindle-speed-out-abs
net spindle-enable             <=  motion.spindle-on
net spindle-cw                 <=  motion.spindle-forward
net spindle-ccw                <=  motion.spindle-reverse
#net spindle-brake              <=  motion.spindle-brake
net spindle-revs               =>  motion.spindle-revs
net spindle-at-speed           =>  motion.spindle-at-speed
net spindle-vel-fb-rps         =>  motion.spindle-speed-in
net spindle-index-enable      <=>  motion.spindle-index-enable

# ---Setup spindle at speed signals---

sets spindle-at-speed true


# ---Setup spindle at speed signals---

net spindle-vel-cmd-rps    =>  near.0.in1
net spindle-vel-fb         =>  near.0.in2
net spindle-at-speed       <=  near.0.out
setp near.0.scale 1.000000
setp near.0.difference 3.333333

# Spindle encoder
# ----------------

# ---Encoder feedback signals/setup---

setp    hm2_5i25.0.encoder.00.counter-mode 1
setp    hm2_5i25.0.encoder.00.filter 1
setp    hm2_5i25.0.encoder.00.index-invert 0
setp    hm2_5i25.0.encoder.00.index-mask 0
setp    hm2_5i25.0.encoder.00.index-mask-invert 0
setp    hm2_5i25.0.encoder.00.scale  100

net spindle-revs              <=  hm2_5i25.0.encoder.00.position
net spindle-vel-fb            <=  hm2_5i25.0.encoder.00.velocity
net spindle-index-enable     <=>  hm2_5i25.0.encoder.00.index-enable


My coder is 100 points per turn
Where is the scale of the encoder?

It's : setp near.0.scale 1.000000

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

More
25 Sep 2016 13:37 #80902 by PCW
Replied by PCW on topic Mesa 5i25 and 7i76 and encoder

setp near.0.scale 1.000000

is correct (the spindle velocity command and feedback are both in RPS)

With a 100 line quadrature encoder, the spindle encoder scaling should be 400
this is set in the ini file

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

More
25 Sep 2016 13:42 #80903 by finemeca
ok this is my ini file :
#********************
# Spindle 
#********************
[SPINDLE_9]
P = 0.0
I = 0.0
D = 0.0
FF0 = 1.0
FF1 = 0.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 2500.0
OUTPUT_SCALE = 2500
OUTPUT_MIN_LIMIT = 200
OUTPUT_MAX_LIMIT = 2500

today is set to OUTPUT_SCALE = 2500

For an encoder 100 points, I have to put what?

100 or 1000

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

More
25 Sep 2016 14:32 #80907 by PCW
Replied by PCW on topic Mesa 5i25 and 7i76 and encoder
output_scale must be set to max RPM (RPM at 10V to VFD)

input_scale must set to counts per turn (400 for a 100 line quadrature encoder)

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

More
25 Sep 2016 18:14 - 25 Sep 2016 18:17 #80909 by finemeca
Ok I just take my config.
Linuxcnc OK but it will not always.
For the drive, it is wired like this:

https://goo.gl/photos/Th81Ptx2LnNri4J37

The spindle drive is a DC motor.
On this type of engine there is a dynamo.
Attachments:
Last edit: 25 Sep 2016 18:17 by finemeca.

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

Time to create page: 0.090 seconds
Powered by Kunena Forum