Advanced Search

Search Results (Searched for: )

  • Grotius
  • Grotius's Avatar
01 Jun 2024 20:42
Replied by Grotius on topic Trajectory Planner using Ruckig Lib

Trajectory Planner using Ruckig Lib

Category: General LinuxCNC Questions

@Automata,

Thanks for your input. I looked at your links, will remember these.
Was also testing a 3d b-spline today, to try over the linuxcnc splash gcode. Somehow it fails at input point 33.
Will go on with this at another point in time as i have to work on the clothoids now.

@Andrew,
Yes the clothoid integration is most important now.
This will take me some effort now.

I have not been able to work on your scurvy any further. But i like to see you doing this.
If you have a complete solver, it will be better and faster to use and or test in the planner.
Once you are ready, we can make a trajectory component to test your planner.
It's a benefit to have more than one scurve library.

Grotuis, I'm not sure if you already solved this with the s-curve stuff you already made.
I made a scurve project, its for jogging & auto mode.
link to sample picture
performance vs ruckig

 
  • cakeslob
  • cakeslob
01 Jun 2024 20:25

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

yeah, Im doing my inputs to gnd also. when using the estop module in the config, if the estop is clickd down, that should be the same result as if there is no estop connected, which will raise an error on linuxcnc about estop being open, and you wont be able to enable the machine. estop needs to be normally closed , then you can enable the machine power.
  • cakeslob
  • cakeslob
01 Jun 2024 20:22

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

lol, i was gonna spend my morning working on the ethernet firmware, but your questions were much more fun, because I had to work for the answers. But at this point in time, because you are probably maxing out remora firmware. so even if I do support the f429 in the ethernet, I will also need to add some other parts to the firmware as well. all things I planned to do eventually, but adding encoder has to ethernet has been harder than expected. I am sure the RPi5 spi will be supported soon enough.
  • hardware_crash
  • hardware_crash's Avatar
01 Jun 2024 20:22 - 01 Jun 2024 20:28
Replied by hardware_crash on topic Mesa 7i71 - Stepgen on Digital Output for ATC

Mesa 7i71 - Stepgen on Digital Output for ATC

Category: Driver Boards

I can seem to get it to work :(
Heres what I have in my INI File:
#==================
#      A Axis
#==================

[AXIS_A]
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
MAX_VELOCITY = 360.0
MAX_ACCELERATION = 1200.0

[JOINT_3]
TYPE = ANGULAR
MIN_LIMIT = -9999.0
MAX_LIMIT = 9999.0
MAX_VELOCITY = 25.0
MAX_ACCELERATION = 750.0
BACKLASH = 0.003
HOME = 0.000
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 3.0
HOME_LATCH_VEL = 0.2
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO

P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0

STEPGEN_MAXVEL = 31.25
STEPGEN_MAXACCEL = 937.50
DIRSETUP   = 10000
DIRHOLD    = 10000
STEPLEN    = 5000
STEPSPACE  = 5000
STEP_SCALE = 80.0

And in the HAL File:
# ####################
# A Axis
######################


setp   pid.a.Pgain     [JOINT_3]P
setp   pid.a.Igain     [JOINT_3]I
setp   pid.a.Dgain     [JOINT_3]D
setp   pid.a.bias      [JOINT_3]BIAS
setp   pid.a.FF0       [JOINT_3]FF0
setp   pid.a.FF1       [JOINT_3]FF1
setp   pid.a.FF2       [JOINT_3]FF2
setp   pid.a.deadband  [JOINT_3]DEADBAND
setp   pid.a.maxoutput [JOINT_3]MAX_OUTPUT
setp   pid.a.error-previous-target true
# This setting is to limit bogus stepgen
# velocity corrections caused by position
# feedback sample time jitter.
setp   pid.a.maxerror 0.82700

net a-index-enable  =>  pid.a.index-enable
net a-enable        =>  pid.a.enable
net a-pos-cmd       =>  pid.a.command
net a-pos-fb        =>  pid.a.feedback
net a-output        <=  pid.a.output

# Schritt-Gen Signale/Setup
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirsetup        [JOINT_3]DIRSETUP
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.dirhold         [JOINT_3]DIRHOLD
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.steplen         [JOINT_3]STEPLEN
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.stepspace       [JOINT_3]STEPSPACE
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-scale  [JOINT_3]STEP_SCALE
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.step_type        0
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.control-type     1
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxaccel         [JOINT_3]STEPGEN_MAXACCEL
setp   hm2_[HOSTMOT2](BOARD).0.stepgen.01.maxvel           [JOINT_3]STEPGEN_MAXVEL

# ---Closed-Loop Schrittmotor-Signale---
net a-pos-cmd    <= joint.3.motor-pos-cmd
net a-vel-cmd    <= joint.3.vel-cmd
net a-output     => hm2_[HOSTMOT2](BOARD).0.stepgen.01.velocity-cmd
net a-pos-fb     <= hm2_[HOSTMOT2](BOARD).0.stepgen.01.position-fb
net a-pos-fb     => joint.3.motor-pos-fb
net a-enable     <= joint.3.amp-enable-out
net a-enable     => hm2_[HOSTMOT2](BOARD).0.stepgen.01.enable

When I press the jog button for that axis, I get movement on the stepper motor but just one step regardless of how long i push the jog button. When I release the button the motor makes a step, but it should continuously move ..
  • amanker
  • amanker
01 Jun 2024 20:13 - 01 Jun 2024 20:21

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

Thanks again for such a prompt and well explained reply.
I will first try increasing PRU frequency to 80000.
Then I will test again.
One confusion, estop should be wired to +5v or gnd? I am using gnd. And this is true for all inputs and using invert=true in config.txt.

On using inbuilt estop and encoder it will free my 2 input pins. That will be useful for me. Since MPG encoder is using too many pins.

Yes, I would love to give every input I can, for such a great product.
  • andrew2085
  • andrew2085
01 Jun 2024 20:02
Replied by andrew2085 on topic Trajectory Planner using Ruckig Lib

Trajectory Planner using Ruckig Lib

Category: General LinuxCNC Questions

I was thinking B-spline smoothing would be good for what I'd call global smoothing where multiple g-code moves are replaced by a single spline segment. The clothoid stuff would be better for just smoothing motion between g-code moves where you don't eliminate any altogether except for maybe simple pre-processing where colinear lines are combined.

I started adding a path solver to the scurvy project where you give it a list of segments with constraints (j_max, a_max, d_max, v_max) to solve. The initial velocity of the first segment and final velocity of the last segment are respected and the initial and final velocities of the interior segments are adjusted to make the solution possible while respecting the other constraints. It's not perfect or efficient yet, but it's a start.

Grotuis, I'm not sure if you already solved this with the s-curve stuff you already made.

  • cakeslob
  • cakeslob
01 Jun 2024 19:53

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

yes, im pretty sure you are correct about the switching delay. it is probably related to parallel port linuxcnc setups which use the base thread. with remora, we are only using the servo thread as part of linuxcnc.


Now, this next part is going to make the previous post more confusing.

remora to linuxcnc/rpi is only using the servo thread. internally, remora is using the basethread between the component to the hardware.

The following error occurs because linuxcnc is sending out more step pulses than remora hardware can physically do (with the given parameters). remora sees there are too many steps to process, sends a following error instead of missing steps.

but yes, you are correct, it is tied to our base thread pru freq, the default for remora is set to a conservative lower level. I would keep the clk div at 32, and play with the pru_freq settings. keep in mind the pru_freq needs to be the same between the hal file and the config file. i would progressively try increasing your settings until you find an acceptable level. on the flexihal, they are using 120, but I dont think you will be able to get that high. try with 80 and see if you get issues.

once you have a higher pru, you can try and tune in your axis speeds n stuff. you will probably need to tune your velocity/accel, but your scale setting will play a large part in your max speed setting. if you have a really high stepscale, you will limit your max speed, so you might need to compromise on the microstep scale


also, when you are satisfied, do you think you could post your linuxcnc configuration/config for remora, so that it may be used as an example/sample config for other users? you are pushing the limits a bit and i like it. I appreciate your patience with this whole process, you have a less conventional setup, so its makign my brain work harder, but i think it would make a good example config.


also if you feel comfortable, when you are good, can you post a pic/video of your thing using remora?
  • PCW
  • PCW's Avatar
01 Jun 2024 19:50

Automation Direct sureservo2 enable / 7i77

Category: Advanced Configuration

Assuming drive COM+ is +24V,

7I77 ENA+ to  Drive DI
7I77 ENA- 24V supply negative side

 
  • besriworld
  • besriworld
01 Jun 2024 19:47

Hal help for home to index with stepgen firmware update

Category: HAL

I think I found the error. When I have duplicated the X axis to make the Z axis. I forgot to change a few Z-specific names . 
Here are the wrong lines in Z configuration :
net x-index-enable joint.1.index-enable <=> hm2_7i98.0.encoder.00.index-enable


 

File Attachment:

File Name: my_LinuxCN...6-01.hal
File Size:10 KB


 

File Attachment:

File Name: my_LinuxCN...6-01.ini
File Size:4 KB



Thanks again for your help!
  • PCW
  • PCW's Avatar
01 Jun 2024 19:37 - 01 Jun 2024 19:38

7i96s + 7i89 analog spindle and mpg troubles

Category: PnCConf Wizard

The example uses a software encoder so that can be deleted

This should be closer:

I tried to add this to my previous config and then decided to go from the original example hal.

# Include your custom HAL commands here
# This file will not be overwritten when you run PNCconf again

########MPG_Pendant##########

loadrt mux4 count=1
addf mux4.0 servo-thread


# For velocity mode, set to 1
# In velocity mode the axis stops when the dial is stopped
# even if that means the commanded motion is not completed,
# For position mode (the default), set to 0
# In position mode the axis will move exactly jog-scale
# units for each count, regardless of how long that might take,
setp axis.x.jog-vel-mode 1
setp axis.y.jog-vel-mode 1
setp axis.z.jog-vel-mode 1

# This sets the scale that will be used based on the input to the mux4
setp mux4.0.in0 0.1
setp mux4.0.in1 0.01
setp mux4.0.in2 0.001

# The inputs to the mux4 component
net scale1 mux4.0.sel0 <= [HMOT](CARD0).inm.00.input-04
net scale2 mux4.0.sel1 <= [HMOT](CARD0).inm.00.input-03

# The output from the mux4 is sent to each axis jog scale
net mpg-scale <= mux4.0.out
net mpg-scale => axis.x.jog-scale
net mpg-scale => axis.y.jog-scale
net mpg-scale => axis.z.jog-scale

# The MPG inputs
net encoder-counts <= [HMOT](CARD0).encoder.02.count

# The Axis select inputs
net mpg-x axis.x.jog-enable <= [HMOT](CARD0).inm.00.input-02

net mpg-y axis.y.jog-enable <= [HMOT](CARD0).inm.00.input-01

net mpg-z axis.z.jog-enable <= [HMOT](CARD0).inm.00.input-00



# The encoder output counts to the axis. Only the selected axis will move.

net encoder-counts => axis.x.jog-counts
net encoder-counts => axis.y.jog-counts
net encoder-counts => axis.z.jog-counts


The mux4 component uses a binary code on the
select pins so 2 pins can select 4 different inputs:

SEL1  SEL0    INPUT
0,       0         in0
0,       1         in1
1,       0         in2
1,       1         in3
  • cakeslob
  • cakeslob
01 Jun 2024 19:36

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

estop : yeah the estop needs to be normally closed if you are using the hardware remora config version. with the remora config version, you dont need to use an IO, or connect it to a hal pin. I did a quick test with a microswitch, and it has to be closed to reset. I dont know how to do motor power without using an IO pin

When jog speed cross approx 650-700 then joint follow error comes.


ok, thats what i needed. we will have to refine some of your settings

can you post your current ini file? well have to look at the speeds/accel you are trying to do

but first you can try this, lets increase the performance of your board. lets try doubling the base thread freq. the f429 should be able to without issue

in your hal file, do this. this will tell the remora comp our new basethread
loadrt remora chip_type=STM SPI_clk_div=32 PRU_base_freq=80000


now add this to your config.txt, this will tell the remora firmware our new basethread,
"Threads":[
	{
	"Thread": "Base",
	"Frequency": 80000
	}
	],


I have added it to the section of your config file, so it should look like this in your config, and dont forget the commas. run the config through the json checker when you are done to make sure
jsonlint.com/
"Board": "BIGTREETECH SKR OCTOPUS PRO V1.0",
"Threads":[
	{
	"Thread": "Base",
	"Frequency": 80000
	}
	],

   "Modules":[
    {
    "Thread": "Servo",
    "Type": "Reset Pin",
        "Comment":            "Reset pin",
        "Pin":                "PC_15"
    },
  • sliptonic
  • sliptonic
01 Jun 2024 19:34

Automation Direct sureservo2 enable / 7i77

Category: Advanced Configuration

I'm replacing my servos with AD SureServo2 motors and drivers.
I'm struggling to get the enable to work correctly.

The manual shows this
 

Pin 30 (DI8) is the input pin for the enable.

Pin 11 can take 24V or 0V as noted in this chart.
 

I've tried several combinations that seemed intuitive to me but no success.  Can someone advise on the 'right' way to do this?
  • amanker
  • amanker
01 Jun 2024 19:29

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

About delay in switching axis may be due to I am using servo thread for that function. But as per LinuxCNC examples I should use base thread. But base thread gives me error so I had to change it to servo thread.
Its like. If I selct X axis and jog using pendant, then if I switch to Y axis, then X axis keeps on moving along with selected Y axis while jogging from pendant for few secs, may be 20 secs, after that only Y axis moves as expected.
Same thing also happens when I change scale x1,x10,x100.

About slow feed on steppers, i thought It may be due to I using wrong clk div or pru frequency. Or may SPI limitation. But that can't be true.
  • JohnnyBeluga
  • JohnnyBeluga
01 Jun 2024 19:18
Replied by JohnnyBeluga on topic 7i96s + 7i89 analog spindle and mpg troubles

7i96s + 7i89 analog spindle and mpg troubles

Category: PnCConf Wizard

I tried to add this to my previous config and then decided to go from the original example hal.

# Include your custom HAL commands here
# This file will not be overwritten when you run PNCconf again

########MPG_Pendant##########

loadrt encoder num_chan=2
loadrt mux4 count=1
addf mux4.0 servo-thread
addf encoder.capture-position servo-thread
#addf encoder.update-counters base-thread

# If your MPG outputs a quadrature signal per click set x4 to 1
# If your MPG puts out 1 pulse per click set x4 to 0
setp encoder.0.x4-mode 0

# For velocity mode, set to 1
# In velocity mode the axis stops when the dial is stopped
# even if that means the commanded motion is not completed,
# For position mode (the default), set to 0
# In position mode the axis will move exactly jog-scale
# units for each count, regardless of how long that might take,
setp axis.x.jog-vel-mode 1
setp axis.y.jog-vel-mode 1
setp axis.z.jog-vel-mode 1

# This sets the scale that will be used based on the input to the mux4
setp mux4.0.in0 0.1
setp mux4.0.in1 0.01
setp mux4.0.in2 0.001

# The inputs to the mux4 component
net scale1 mux4.0.sel0 <= [HMOT](CARD0).inm.00.input-04
net scale2 mux4.0.sel1 <= [HMOT](CARD0).inm.00.input-03

# The output from the mux4 is sent to each axis jog scale
net mpg-scale <= mux4.0.out
net mpg-scale => axis.x.jog-scale
net mpg-scale => axis.y.jog-scale
net mpg-scale => axis.z.jog-scale

# The MPG inputs
net axis-selected-count <= [HMOT](CARD0).encoder.02.count

# The Axis select inputs
net mpg-x axis.x.jog-enable <= [HMOT](CARD0).inm.00.input-02

net mpg-y axis.y.jog-enable <= [HMOT](CARD0).inm.00.input-01

net mpg-z axis.z.jog-enable <= [HMOT](CARD0).inm.00.input-00



# The encoder output counts to the axis. Only the selected axis will move.
net encoder-counts <= encoder.0.counts
net encoder-counts => axis.x.jog-counts
net encoder-counts => axis.y.jog-counts
net encoder-counts => axis.z.jog-counts

There the hardware jog count is already connected to the linuxcnc one. I don't understad about the scale. I have 3 output on my pendant and there is only 2 in this config with mux4. It's a multiplexer so I need to put 0,0 and 0,001 in the same physical input ? I add to delete this line #addf encoder.update-counters base-thread because it was giving me an error at launch "base-thread not found". I also changed the MPG input part because I connected my MPG to channel 2 encoder on the 7i89.
  • amanker
  • amanker
01 Jun 2024 19:02

Need help in choosing controller board from small honby cnc.

Category: Driver Boards

Thanks for such an elaborate reply.
First about encoder.
Yes I have tried using PRUencoder component. Which I learnt from you remora documents site and defined appropriate remora.PV.0 in config.txt.
But then also same pin type mismatch error of s32 and float. Then I used linuxcnc encoder. And thanks you have explained that s32 thing. I will try again using float to s32 conversion as you mentioned.

Second about Estop. I thought I have posted my config.txt. I looked back my replies and found that I forgot to include that.
Yes I have already defined estop and reset pins. As you mentioned in your example. But estop not working. May be because I wired my estop to ground. (When estop pressed that pin goes to ground)

About jog speed.
No that ini thing is not limiting jog speed from mpg pendant. Its limiting jog speed in UI. I have tested it. When jog speed cross approx 650-700 then joint follow error comes. First I thought my stepper is stalling on this speed. But later on axis which dont have stepper wired also had same issue. While using pendant jog speed shows above 1000 but if use UI then it limits to 600 as I capped in config. I capped it because it was giving error above this speed.
Displaying 25246 - 25260 out of 26477 results.
Time to create page: 0.503 seconds
Powered by Kunena Forum