Hello,
i want only the simple thing to have 0-10V instead of 0 to +- 10V to drive VFD. For reverse i have to close a contact on the VFD so i use here the output OUT1 of the MESA 7i97.
So i have read here:
linuxcnc.org/docs/2.4/html/man/man9/pwmgen.9.html
And then i wonder why it is false now - because
pwmgen output_type have no value "0" now.
If i use type "1" then the behaviour by using M3 positive values and by M4 negative values.
So where is the setting to prevent +-10V and have these 0-10V always positive values?
Is there something a info about this or a wiki?
My config is now:
Code:
#*******************
# SPINDLE
#*******************
setp pid.s.Pgain [SPINDLE_0]P
setp pid.s.Igain [SPINDLE_0]I
setp pid.s.Dgain [SPINDLE_0]D
setp pid.s.bias [SPINDLE_0]BIAS
setp pid.s.FF0 [SPINDLE_0]FF0
setp pid.s.FF1 [SPINDLE_0]FF1
setp pid.s.FF2 [SPINDLE_0]FF2
setp pid.s.deadband [SPINDLE_0]DEADBAND
setp pid.s.maxoutput [SPINDLE_0]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 => pid.s.command
net spindle-vel-fb-rpm => pid.s.feedback
net spindle-output <= pid.s.output
# ---PWM Generator signals/setup---
setp [HMOT](CARD0).pwmgen.05.output-type 1 #PWM pin5
setp [HMOT](CARD0).pwmgen.05.offset-mode 1 # offset mode so 50% = 0
setp [HMOT](CARD0).pwmgen.05.scale [SPINDLE_0]OUTPUT_SCALE
net spindle-output => [HMOT](CARD0).pwmgen.05.value
net spindle-enable => [HMOT](CARD0).pwmgen.05.enable
# ---Encoder feedback signals/setup---
setp [HMOT](CARD0).encoder.05.counter-mode 0
setp [HMOT](CARD0).encoder.05.filter 1
setp [HMOT](CARD0).encoder.05.index-invert 0
setp [HMOT](CARD0).encoder.05.index-mask 0
setp [HMOT](CARD0).encoder.05.index-mask-invert 0
setp [HMOT](CARD0).encoder.05.scale [SPINDLE_0]ENCODER_SCALE
net spindle-revs <= [HMOT](CARD0).encoder.05.position
net spindle-vel-fb-rps <= [HMOT](CARD0).encoder.05.velocity
net spindle-vel-fb-rpm <= [HMOT](CARD0).encoder.05.velocity-rpm
net spindle-index-enable <=> [HMOT](CARD0).encoder.05.index-enable
# ---setup spindle control signals---
#Spindle Reverse set Output OUT1 to give Signal 1 to VFD and forward 0
#net spindle-cw spindle.0.forward => [HMOT](CARD0).ssr.00.out-01
net spindle-ccw spindle.0.reverse => [HMOT](CARD0).ssr.00.out-01
net spindle-vel-cmd-rps <= spindle.0.speed-out-rps
net spindle-vel-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-vel-cmd-rpm <= spindle.0.speed-out
net spindle-vel-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-enable <= spindle.0.on
net spindle-cw <= spindle.0.forward
#net spindle-ccw <= spindle.0.reverse
net spindle-brake <= spindle.0.brake
net spindle-revs => spindle.0.revs
net spindle-at-speed => spindle.0.at-speed
net spindle-vel-fb-rps => spindle.0.speed-in
net spindle-index-enable <=> spindle.0.index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true
Code:
[SPINDLE_0]
P = 0
I = 0
D = 0
FF0 = 1
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 40000
OUTPUT_SCALE = -40000
OUTPUT_MAX_LIMIT = 40000
OUTPUT_MIN_LIMIT = 0