mesa 7i76E+7i85S+ linear encoder st1278 heidenhain

More
12 Feb 2020 21:45 #157217 by Kyrst
Hello
This is my first post although I use this forum for a long time.
The information available here was very helpful in configuring my first mesa 7i76e, everything works without any problems. My configuration is:
-driver AC Leadshine ACS806 with 400w ac motor
-mesa 7i76e + 7i85s

The controllers work in a loop with the mesa 7i76e + 7i85s and everything is ok. I have a linear encoder heidenhain st1278, which I want to use to measure the length of the tool. I am using the index option for referencing the X, Y, Z axes, but I cannot use the heidenhain st1278 linear encoder reference point to measure tool length.

Can anyone help me?
I can provide all the configurations and connection diagrams.
I am asking for information which files should be shared etc.

Thank you in advance for your help

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

More
12 Feb 2020 22:54 #157223 by cmorley
How are you going to measure the tool length?

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

More
13 Feb 2020 11:52 #157277 by Kyrst
Thanks for such a quick response.

On the equipment side:
I have a sensor heidenhain st1278, which is an incremental encoder, has A / A-, B / B-, Z / Z- outputs. St1278 has the ability to measure up to 12mm, at 5mm the Z signal appears, which serves as a reference point and this signal I would like to use as a "probe-in". The sensor is in a housing resembling a dial indicator, to which I added a housing that protects it from coolant, chips and contact with the tool during measurement.

From linuxcnc website:
In the forum I found an example of the configuration that causes automatic tool measurement after calling the tool change in G-code. It works with an ordinary limit switch connected to the 7i76e mesa input and in linuxcnc pin I connect to the probe-in.

I would like to replace the limit switch with the st1278 sensor due to the measurement accuracy and repeatability.

Thanks in advance for your help

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

More
13 Feb 2020 13:15 #157282 by cmorley
I wonder if you could just wire the z output of the encoder to an input and use it as probe?

Chris

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

More
13 Feb 2020 14:21 #157290 by PCW
Since you want a switch like behaviour, you could do this is hal with the st1278
encoder position fed into the hal compare component

Using Z has a couple of issues:

1. Its a short pulse and could be missed
2. it will be overshot so the probe signal will disappear, not what LinuxCNC expects

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

More
13 Feb 2020 21:27 #157325 by Kyrst
I know that the Z signal is very short but homing from index works very well. In the forum I found a description of how to run homing on index by adding the hal component. Here is the hall component I added:
component index_toggle;
pin io bit index-enable;
pin in bit home-sw-in;
pin out bit home-sw-out;
function _;
license "GPL";
;;
static int old_sw = 0;
if ((! old_sw) && home_sw_in) index_enable = 1;
home_sw_out = index_enable;
old_sw = home_sw_in;

I think it can be done so that the index signal from St1278 can be used to measure the length of the tool. Unfortunately, my level of knowledge on this subject is too low, so please help.

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

More
13 Feb 2020 22:03 #157328 by Todd Zuercher
Unfortunately homing to index is actually handled very differently from probing a switch. it actually still involves a switch probe. But this is to get you with one rotation of the position where the index needs to be sensed. After that the actual detection of the index is done by the hardware encoder counter, and it resets it's count to zero (or the encoder's home offset) when it senses the index. Linuxcnc doesn't actually "see" the index pulse. Then the "new" encoder count and therefore the position of where the index pulse was, is reported back to Linuxcnc at the next servo thread reading cycle .

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

More
14 Feb 2020 14:43 - 14 Feb 2020 14:51 #157359 by PCW
I think its possible to do this with a custom component that's similar to the example.
Basically the component would set the probe output pin on index detection in the moving
towards the probe direction, and clear the probe pin on index detection when backing up.
(index detected by setting index enable and detecting the falling edge of index enable)


On the other hand you could try my method without needed any custom components
(though it does require wiring all encoder signals) If you use this method, it can still be
referenced to index by "homing" once at start-up
Last edit: 14 Feb 2020 14:51 by PCW.

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

More
15 Feb 2020 18:21 #157470 by Kyrst
Hello
I used the hal component from the example I posted earlier.
I have only one problem, when homing the X axis, the switch sets home-sw-in TRUE and further the component supports homing. With the tool length sensor I don't have any limit switch that would set the probe-in to TRUE. If I enter "halcmd sets probe-in True" in the terminal then I can base it without any problems. Therefore, I have a question whether G38.xx can somehow be associated with the "probe-in TRUE" setting. I have two options:
measurement via a button on the desktop,
measurement through REMAP M6,
each option uses a separate .ngc file.
If it were possible to combine the "probe-in TRUE" parameter setting with G38.3 G38.4 it would solve the problem. Can it be done at all?

Thank you for your interest

As for connecting the probe to linuxcnc, I have a / -a, b / -b, with / -z, everything works.

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

More
15 Feb 2020 19:05 #157474 by PCW
If you have all the encoder pins connected why not try the way I suggested
since it does not require any new components, just existing components:

encoder position --> compare component --> probe signal

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

Time to create page: 0.100 seconds
Powered by Kunena Forum