- Posts: 476
- Thank you received: 0
Orient component revised
cmorley wrote: 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 to join the conversation.
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 to join the conversation.
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.
Please Log in to join the conversation.
alkabal wrote: 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 to join the conversation.
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 to join the conversation.
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
Please Log in to join the conversation.
can i ask more about what you have do in your config ?
Please Log in to join the conversation.
Please Log in to join the conversation.
alkabal wrote: 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 to join the conversation.
Saad but this yes this component is do for regular motor.cmorley wrote: 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
giz wrote: 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
Please Log in to join the conversation.
