Orient component revised

More
15 Apr 2020 11:07 #164051 by alkabal
Replied by alkabal on topic Orient component

I think we should require that spindle be on to orient.
I don't think we should require the spindle to be spinning to have the spindle on.
I don't think we should require that the spindle be already spinning to orient.


1 : i think like you spindle=1 with S=0 and orient enable=1 is more clear
2 : i don't really know for other stuff but in my opinion if S=0 and orient=0 spindle-is-on need to be false
3 : ask M3/M4 S>0 when orient is enable = canceling orient and start spindle, the inverse is also ok so i think all is ok regarding to this. (not tested with M3/M4 S0)

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

More
15 Apr 2020 16:00 #164064 by cmorley
Replied by cmorley on topic Orient component
1)
I didn't say anything about the spindle number so I don't understand.

2)
Why do you think S=0 should automatically call a M5?
in my mind S sets the speed (speed includes 0)
M3/4/5 sets the state

3)
That seems fine.and I think already the default

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

More
15 Apr 2020 16:57 - 15 Apr 2020 17:23 #164066 by alkabal
Replied by alkabal on topic Orient component
1 sorry my message is not clear, i speak about S=0rpm and orient is enable i think strange to not see spindle.x.on=true (not speak about multi spindle).

2 yes i think with setting 0rpm and orient disabled imo is better to stop spindle completely.
i'm not an expert, maybee this is needed for some servo/stepper spindle but in this way i think this need to be the same with orient. (and allow to have a more easy hal config for orient)

3 yes it is


For orient i need to pass through the enable signal for spindle controler
If ask M19 allow to ask spindle.0.on this not be needed anymore, but removing input/output from component lock the possibility to force enable from jog mode so these change nothing.
pin in  bit   enable_from_jog             "enable angular output for orientation mode from pendant mpg jog";
pin out bit   ena_out_muxed               "enable muxed from orient or velocity or jog";
pin out bit   ena_to_pid_orient           "enable for Orient PID need to be separated from drive enable";
pin in  bit   ena_from_velocity           "enable from velocity mode";
Last edit: 15 Apr 2020 17:23 by alkabal.

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

More
15 Apr 2020 17:20 #164067 by cmorley
Replied by cmorley on topic Orient component

1

2 yes i think with setting 0rpm and orient disabled imo is better to stop spindle completely.
i'm not an expert, maybee this is needed for some servo/stepper spindle but in this way i think this need to be the same with orient.


Well I don't disagree. setting S to 0 should set the spindle to stop turning, but it shouldn't require m3/m4 to start it again, you should be able to set S to a positive number and it should turn. It's a subtle difference but useful and consistent ideology.

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

More
15 Apr 2020 18:52 #164072 by cmorley
Replied by cmorley on topic Orient component
using the new multispindle frame work i added an indexer to my mill.
I use the second spindle commands to operate at. the S command specifies the position in degrees. it works fine but if you specify S0 then the indexer is tuned off rather then move to 0 degrees. it also requires M3 to start again.
While I realize this is extending the spindle to unintended use - it works very well and is easy to add to a config. My discussion about S0 really comes down to it allows one to do more with linuxcnc and does not affect any standard gcode program out there. I don;t think it is usual for people to actually set S to 0, one would use M5

I'll have to look at your code and see if I could use it on my indexer. ultimately i would like to be able to select spindle mode and indexer mode.

Chris

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

More
15 Apr 2020 19:55 - 16 Apr 2020 01:54 #164080 by alkabal
Replied by alkabal on topic Orient component
Yes off course ii think like you : nobody use S0 for stop spindle.

I hope my code can work for your setup but i think need more work. you can use HAL exemple inside comp (need to add the pid setting)

Attached Orient pid pyvcp panel + last revision


I have do the test with 2.9
Start spindle from GUI or from M3/M4
set S0 (spindle stop moving, hal signal = false but Axis gui button stay pushed...)
Set S100 does not restart spindle, need to push GUI button again.

Well i think this is not really logic mostly regarding the GUI status.

Edited for last revsion
Attachments:
Last edit: 16 Apr 2020 01:54 by alkabal.

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

More
16 Apr 2020 01:54 #164101 by alkabal
Replied by alkabal on topic Orient component
now i understand why you want spindle on with S0, but it is better to have your setup or use a orient component ?

can i ask more about what you have do in your config ?

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

More
16 Apr 2020 15:48 #164161 by giz
Replied by giz on topic Orient component
I don't have anything to contribute, but I'm trying to follow this conversation. I've had a horrible time trying to program a working Orient on my machine.

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

More
16 Apr 2020 17:18 #164168 by cmorley
Replied by cmorley on topic Orient component

now i understand why you want spindle on with S0, but it is better to have your setup or use a orient component ?

can i ask more about what you have do in your config ?


So My indexer is not going to work with you rorient component because it's stepper based.
My main spindle is a servo motor, but currently can only run i one direction.
I haven't had a chance to set up rour orient on my main spindle yet.

I did find where linuxcnc sets M5 when S=0, so i want to test that change too.

Chris

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

More
16 Apr 2020 17:43 - 16 Apr 2020 17:43 #164171 by alkabal
Replied by alkabal on topic Orient component

So My indexer is not going to work with you rorient component because it's stepper based.
My main spindle is a servo motor, but currently can only run i one direction.
I haven't had a chance to set up rour orient on my main spindle yet.
Chris

Saad but this yes this component is do for regular motor.


I don't have anything to contribute, but I'm trying to follow this conversation. I've had a horrible time trying to program a working Orient on my machine.


Hi i have see your topic some time ago when i try to setup original orient.comp but imo this component is really hard to setup correctly .

I like if you can check about this work in progress new comp i have do the most possible for allow easy setup.

copy past hal exemple from comp
add pid settings
remove 2 hal link from spindle setup and past to orient hal maybee adapt net link name for match your spindle net link name for this 2 link

first change :
#net spindle-enable => [HMOT](CARD0).7i83.0.0.analogena0 # moved in the orient input output

net spindle-enable => orient.orient-spindle.ena-from-velocity
net spindle-orient-enable-out => [HMOT](CARD0).7i83.0.0.analogena0 # moved in the orient input/output but initially in spindle setup

second change :
#net spindle-vel-cmd-out => [HMOT](CARD0).7i83.0.0.analogout0 # moved in the orient input output

net spindle-vel-cmd-out => orient.orient-spindle.cmd-from-pid-velocity
net spindle-orient-ctrl-out => [HMOT](CARD0).7i83.0.0.analogout0 # moved in the orient input/output but initially in spindle setup
Last edit: 16 Apr 2020 17:43 by alkabal.

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

Time to create page: 0.173 seconds
Powered by Kunena Forum