Mill atc configuration
# M19 trigger orient.enable; orient-pid enable; spinena; select analogout
net spindle-orient <= spindle.0.orient
net spindle-orient => or2.1.in0 #to orient enable
net spindle-orient => and2.0.in0 #to spindle is oriented
net orient-lock <= spindle.0.locked
net orient-lock => or2.1.in1 #to orient ennable
net orient-enable => or2.1.out
net orient-enable => orient.enable
net orient-enable => orient-pid.enable
net orient-enable => or2.0.in1
net orient-enable => mux2.0.sel
To this:
# M19 trigger orient.enable; orient-pid enable; spinena; select analogout
net orient-enable <= spindle.0.orient
net orient-enable => orient.enable
net orient-enable => orient-pid.enable
net orient-enable => or2.0.in1
net orient-enable => mux2.0.sel
I'm not sure if you stil have these lines but remove them if you do :
net orient-complete => and2.0.in1
net spindle-is-oriented <= and2.0.out
Also remove the components 'or2.1' and 'and2.0' from 'loadrt/addf'
Please Log in or Create an account to join the conversation.
Please Log in or Create an account to join the conversation.
- Artur_1617
- Topic Author
- Offline
- Premium Member
- Posts: 143
- Thank you received: 4
But after orient is complete spindle.0.is-oriented is low. Even if spindle stop exactly on orient position.
Still play with orient pid but often after orient is complete spindle turn little and is out of orient.tolerance.
Actual hal
Attachments:
Please Log in or Create an account to join the conversation.
Yes, I think that is the intended behavior but I don't have a system to actually verify this.But after orient is complete spindle.0.is-oriented is low. Even if spindle stop exactly on orient position.
'orient.is-oriented' True -> 'spindle.0.is-oriented' True -> 'spindle.0.orient' False -> 'orient.enable' False -> 'orient.is-oriented' False -> 'spindle.0.is-oriented' False
If you need a signal that stays True after a completed orient then you can use 'spindle.0.locked' which stays True until M3,M4 or M5 command
linuxcnc.org/docs/html/man/man9/motion.9.html
Depending on the inertia of the spindle and the spindle drive I would expect that to be a problem and I don't really know how to deal with that if the spindle drive cannot get the spindle to stop quickly enough (unless maybe with a mechanical brake).Still play with orient pid but often after orient is complete spindle turn little and is out of orient.tolerance.
Please Log in or Create an account to join the conversation.
- Artur_1617
- Topic Author
- Offline
- Premium Member
- Posts: 143
- Thank you received: 4
That should work orient?
Please Log in or Create an account to join the conversation.
forum.linuxcnc.org/24-hal-components/458...-solved-yay?start=60
Please Log in or Create an account to join the conversation.
- Artur_1617
- Topic Author
- Offline
- Premium Member
- Posts: 143
- Thank you received: 4
Try to make M6 with command G33.1 Z-15 K1
Turn spindle with hand tapping start after hit index Z axis go to Z-1 after that Z axis dont move again.
Spindle-at-speed is still High
spindle.0.index-enable After start rigid tapping is set to High but after hit index is set to Low and dont go to High anymore.
Please Log in or Create an account to join the conversation.
Sounds correct.Spindle-at-speed is still High
spindle.0.index-enable After start rigid tapping is set to High but after hit index is set to Low and dont go to High anymore.
I think I may have made a mistake resetting the encoder with the input-index. So remove this:
net spindle-input-index <= hm2_5i25.0.encoder.04.input-index
net spindle-input-index <= hm2_5i25.0.encoder.04.reset
and add this instead:
net spindle-index-enable <= hm2_5i25.0.encoder.04.input-index
Please Log in or Create an account to join the conversation.
- Artur_1617
- Topic Author
- Offline
- Premium Member
- Posts: 143
- Thank you received: 4
After delete net spindle-input-index <= hm2_5i25.0.encoder.04.input-index and net spindle-input-index <= hm2_5i25.0.encoder.04.reset
Rigid tapping now working but orient stop working.
Please Log in or Create an account to join the conversation.
net spindle-index-enable <= hm2_5i25.0.encoder.04.input-index
with this:
net spindle-index-enable <= hm2_5i25.0.encoder.04.input-index
net orient-enable => and2.1.in0
net spindle-input-index => and2.1.in1
net encoder-reset <= and2.1.out => hm2_5i25.0.encoder.04.reset
Don't forget to 'loadrt/addf' the 'and2.1' component
Please Log in or Create an account to join the conversation.