limit3 component question

More
4 years 4 months ago #244496 by robertspark
Anyone using / used the limit3 component receintly?

Application: router speed ramping
LinuxCNC 2.8.2-11.g6a3d0a434

Issue: basically I can't seem to get an output from the component output pin

I have tried changing limit3.load from FALSE to TRUE... no change in output.

I can confirm that I have an input (tried 5000, 10000 and 30000), and no change on the output.

Yes I am probably being a muppet and not seeing the obvious.... pointing out the error of my ways would be most helpful, thanks.

Oh, using Hal Meter to inspect the I/O's state

just trying to smooth out my spindle (router) speed change, as it had soft start and is now running with a Super-PID
Code:
#SINDLE RAMP CONTROL loadrt limit3 names=spindleramp # settings setp spindleramp.maxv 2 setp spindleramp.maxa 10 setp spindleramp.max [SPINDLE_0]OUTPUT_MAX_LIMIT setp spindleramp.min [SPINDLE_0]OUTPUT_MIN_LIMIT setp spindleramp.load 1 # input & output net spindle-vel-cmd-rpm-abs => spindleramp.in net spindleramped <= spindleramp.out

[SPINDLE_0]OUTPUT_MAX_LIMIT = 30000
[SPINDLE_0]OUTPUT_MIN_LIMIT = 5000


I'm going to give limit2 a shot in the meantime.... maybe the error of my ways will become apparent

Note:  I have flipped LOAD from False to True and no change on output (I thought this was a pass through function)

Minor thing....

Noticed the documentation (2.8 / stable or master) did not list the pin
limit3.time FLOAT OUT

linuxcnc.org/docs/stable/html/man/man9/limit3.9.html
 

Please Log in to join the conversation.

More
4 years 4 months ago #244498 by phillc54
Replied by phillc54 on topic limit3 component question
I don't see an addf to a thread.

Please Log in to join the conversation.

More
4 years 4 months ago #244503 by robertspark
..... head slap moment !!!!

I figured that out after trying limit 2 and limit1......

addf spindleramp servo-thread

hey ho....

Please Log in to join the conversation.

More
4 years 4 months ago #244506 by robertspark
Maybe the below will help someone out in the future.....

choose ONE ( limit3 , limit2 or limit1 ) and modify to your needs

Code:
#SPINDLE RAMP CONTROL LIMIT 3 loadrt limit3 names=spindleramp addf spindleramp          servo-thread # settings setp spindleramp.maxv 6000 setp spindleramp.maxa 6000 setp spindleramp.max [SPINDLE_0]OUTPUT_MAX_LIMIT setp spindleramp.min [SPINDLE_0]OUTPUT_MIN_LIMIT #setp spindleramp.load 1 setp spindleramp.enable 1 # input & output net spindle-vel-cmd-rpm-abs => spindleramp.in net spindleramped <= spindleramp.out #SPINDLE RAMP CONTROL LIMIT 2 #loadrt limit2 names=spindleramp #addf spindleramp          servo-thread # settings #setp spindleramp.maxv 1000 #setp spindleramp.max [SPINDLE_0]OUTPUT_MAX_LIMIT #setp spindleramp.min [SPINDLE_0]OUTPUT_MIN_LIMIT #setp spindleramp.load 0 # input & output #net spindle-vel-cmd-rpm-abs => spindleramp.in #net spindleramped <= spindleramp.out #SPINDLE RAMP CONTROL LIMIT 1 #loadrt limit1 names=spindleramp #addf spindleramp          servo-thread # settings #setp spindleramp.max [SPINDLE_0]OUTPUT_MAX_LIMIT #setp spindleramp.min [SPINDLE_0]OUTPUT_MIN_LIMIT # input & output #net spindle-vel-cmd-rpm-abs => spindleramp.in #net spindleramped <= spindleramp.out

Please Log in to join the conversation.

More
4 years 4 months ago #244508 by phillc54
Replied by phillc54 on topic limit3 component question

..... head slap moment !!!!
Haha, I have those all the time.

Please Log in to join the conversation.

More
4 years 4 months ago #244521 by robertspark
bit of an adjustment to the above / earlier posted code.

Added the mux2 component to act as a signal switch which prevents the minimum output of the limit3 component being sent to the PWM signal output pin.
Code:
#SPINDLE RAMP CONTROL LIMIT 3 loadrt limit3 names=spindleramp loadrt mux2 names=spindlesw addf spindleramp servo-thread addf spindlesw servo-thread # settings setp spindleramp.maxv 6000 setp spindleramp.maxa 6000 setp spindleramp.max [SPINDLE_0]OUTPUT_MAX_LIMIT setp spindleramp.min [SPINDLE_0]OUTPUT_MIN_LIMIT setp spindlesw.in0 0 # input & output net spindle-vel-cmd-rpm-abs => spindleramp.in net spindle-vel-cmd-rpm-abs-sw <= spindleramp.out net spindle-cw => spindlesw.sel net spindle-vel-cmd-rpm-abs-sw => spindlesw.in1 net spindleramped <= spindlesw.out

Please Log in to join the conversation.

Time to create page: 0.087 seconds
Powered by Kunena Forum