Homing signal processing
19 Jan 2023 23:44 #262444
by Masa
Replied by Masa on topic Homing signal processing
rodw, thanks for the detailed explanation. appreciate.
I will also add to the manual for understanding my LinuxCNC.
I am writing to tell people other than myself about LinuxCNC in Japan.
I will also add to the manual for understanding my LinuxCNC.
I am writing to tell people other than myself about LinuxCNC in Japan.
Please Log in or Create an account to join the conversation.
19 Jan 2023 23:49 #262445
by Masa
Replied by Masa on topic Homing signal processing
andypugh, I didn't have enough info on my Servo.
An absolute encoder is implemented, but I use it as an incremental in the amplifier settings. Absolute's system will cause the amplifier to generate an alarm when the cable is attached or detached, so it will not burden the final user.
An absolute encoder is implemented, but I use it as an incremental in the amplifier settings. Absolute's system will cause the amplifier to generate an alarm when the cable is attached or detached, so it will not burden the final user.
Please Log in or Create an account to join the conversation.
22 Jan 2023 07:22 - 23 Jan 2023 02:09 #262635
by Masa
Replied by Masa on topic Homing signal processing
After getting a lot of advice from everyone, I decided on a solution for the time being.
1. Use the servo amplifier in the interpolated position mode in the position control mode.
2. Set the TouchProbeFunction to trigger on the C phase of the encoder.
3. Trigger detection uses TouchProbeStatus bit7 toggle signal.
4. Use TouchProbe1PositionValue for the trigger position.
The previous toggle2index has been rewritten as follows.
When setting the scale of the servo amplifier coordinates and the joint command and checking the C phase of the encoder during homing, the command system coordinates were reset, the encoder and offset values were memorized, and the coordinates after homing was completed were determined. So far it seems to work like that.
In the future, I would like to write this python program in C language as a hal component and add some functions of the encoder module. You will learn how to create components. I would like to refer to cia402.comp that you introduced.
Thanks for all your advice.
1. Use the servo amplifier in the interpolated position mode in the position control mode.
2. Set the TouchProbeFunction to trigger on the C phase of the encoder.
3. Trigger detection uses TouchProbeStatus bit7 toggle signal.
4. Use TouchProbe1PositionValue for the trigger position.
The previous toggle2index has been rewritten as follows.
#!/usr/bin/env python
import hal
h=hal.component("toggle2index")
h.newpin("tgl-in",hal.HAL_BIT,hal.HAL_IN)
h.newpin("index-enable",hal.HAL_BIT,hal.HAL_IO)
h.newpin("tp-pos",hal.HAL_FLOAT,hal.HAL_IN)
h.newpin("scale",hal.HAL_FLOAT,hal.HAL_IN)
h.newpin("fb-pos",hal.HAL_FLOAT,hal.HAL_OUT)
h.newpin("tg-pos",hal.HAL_FLOAT,hal.HAL_OUT)
h.newpin("cmd-pos",hal.HAL_FLOAT,hal.HAL_IN)
h.newpin("sv-ac-pos",hal.HAL_FLOAT,hal.HAL_IN)
h.ready()
ib=False
ofset=0
scl=0.001
while 1 :
if ib != h['tgl-in'] :
ib = h['tgl-in']
if h['scale']!=0 :
scl=h['scale']
if h['index-enable'] == 1:
ofset=h['tp-pos']
h['index-enable'] = 0
h['tg-pos']=h['cmd-pos']/scl+ofset
h['fb-pos']=(h['sv-ac-pos']-ofset)*scl
When setting the scale of the servo amplifier coordinates and the joint command and checking the C phase of the encoder during homing, the command system coordinates were reset, the encoder and offset values were memorized, and the coordinates after homing was completed were determined. So far it seems to work like that.
In the future, I would like to write this python program in C language as a hal component and add some functions of the encoder module. You will learn how to create components. I would like to refer to cia402.comp that you introduced.
Thanks for all your advice.
Last edit: 23 Jan 2023 02:09 by Masa.
Please Log in or Create an account to join the conversation.
22 Jan 2023 08:14 #262638
by rodw
Replied by rodw on topic Homing signal processing
I had a good look at the homecomp today and its now a lot more user friendly than it was when I last looked (which has obsoleted all of my earleir work)
If you have absolute encoders I think the cia402.comp will be all you need. Just follow the examples.
If you have drives that home to a sensor, it will also require a custom homemod.comp and I think it will only need a few lines of code to configure it to talk to the cia402.comp
One day I will set up an ethercat lab and give it a go.
If you have absolute encoders I think the cia402.comp will be all you need. Just follow the examples.
If you have drives that home to a sensor, it will also require a custom homemod.comp and I think it will only need a few lines of code to configure it to talk to the cia402.comp
One day I will set up an ethercat lab and give it a go.
Please Log in or Create an account to join the conversation.
23 Jan 2023 02:20 - 23 Jan 2023 02:22 #262695
by Masa
Replied by Masa on topic Homing signal processing
I edited my post because the python program code I posted didn't display properly.
Last edit: 23 Jan 2023 02:22 by Masa.
Please Log in or Create an account to join the conversation.
10 Feb 2023 20:22 #264246
by haham
Replied by haham on topic Homing signal processing
Thank you Andy, tristate_bit was the trick for me to use index-enable as an input.
Please Log in or Create an account to join the conversation.
11 Feb 2023 05:00 #264269
by akg1904
Replied by akg1904 on topic Homing signal processing
Hi Masa,
May I know if you are using Yaskawa Ethercat drives ?
Regards
Abhishek
May I know if you are using Yaskawa Ethercat drives ?
Regards
Abhishek
Please Log in or Create an account to join the conversation.
27 Apr 2023 05:08 #270030
by Masa
Replied by Masa on topic Homing signal processing
Hello Abhishek
Sorry for my late reply
The servo I used is yaskawa's sigma-X series amplifier with EtherCAT connection.
We tested position, velocity and torque control modes.
Sorry for my late reply
The servo I used is yaskawa's sigma-X series amplifier with EtherCAT connection.
We tested position, velocity and torque control modes.
Please Log in or Create an account to join the conversation.
05 Jul 2023 22:25 - 05 Jul 2023 22:49 #274862
by saiko
Replied by saiko on topic Homing signal processing
I may not understand as I am new but why not simply attach
joint.N.home-sw-in to our's servo home input, and
joint.N.index-enable assuming that drive can map encoder index to any of its inputs
and use linuxcnc internal homing procedure?
joint.N.home-sw-in to our's servo home input, and
joint.N.index-enable assuming that drive can map encoder index to any of its inputs
and use linuxcnc internal homing procedure?
Last edit: 05 Jul 2023 22:49 by saiko.
Please Log in or Create an account to join the conversation.
05 Jul 2023 23:48 #274868
by Masa
Replied by Masa on topic Homing signal processing
hello saiko
I am currently using the Llinuxcnc internal homing procedure. The reason why servo amplifier homeing is not used is for synchronous operation with other servo amplifiers. For example thread cutting.
If the problem is solved, please tell me how to write the HAL.
Currently Home-Switch is connected to joint.N.home-sw-in and joint.N.index-enable is controlled by an external module I made.
The external module processes the Touch-Probes signal of the servo amplifier, etc., and performs coordinate reset and index-enable processing.
thank you.
I am currently using the Llinuxcnc internal homing procedure. The reason why servo amplifier homeing is not used is for synchronous operation with other servo amplifiers. For example thread cutting.
If the problem is solved, please tell me how to write the HAL.
Currently Home-Switch is connected to joint.N.home-sw-in and joint.N.index-enable is controlled by an external module I made.
The external module processes the Touch-Probes signal of the servo amplifier, etc., and performs coordinate reset and index-enable processing.
thank you.
Please Log in or Create an account to join the conversation.
Time to create page: 0.091 seconds