Servo absolute encoder connection

More
28 May 2021 21:09 #210564 by RaZzoR
Hi,

I just started with linuxcnc and would be very thankful if you could support me a little bit to get the absolute encoders connected to linuxcnc.
I've got JMC 400w servos with 17bit absolute encoder and JAND4002-20B driver (updated Version of JASD4002-20B).
I already got the servos running with linuxcnc but now I am wondering how to connect the absolute encoders with linuxcnc to avoid homing.
I have a 7i76E mesa card. Do I need an additional card? maybe a 7i94?

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

More
30 May 2021 17:00 #210695 by andypugh
What protocol do the encoders communicate over?

If it is BiSS, SSI or one of the other protocols handled by Hostmot2 then a 7i74 connected to the 7i76E expansion port is an option. The 7i85 might also work if the communication is RS422, but the 7i74 can be used for RS422 too.

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

More
30 May 2021 18:21 #210709 by RaZzoR
The communication is via Modbus RS-485 protocol.
There are two network ports Ch3 and ch4 i think i have to connect the mesa card to one of this ports. That's why I thought I may need an extension card like the 7i94.
Attachments:

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

More
30 May 2021 18:30 - 30 May 2021 18:31 #210711 by andypugh
I don't know all that much about Modbus.
If the data is a simple serial data stream then it might be readable with the Mesa UART. If it needs checksums and data-requests then it might be a bit more involved.

Is the manual online? I have not found it with a Google search.

I have long had an ambition to make the Mesa UART and BSPI drivers take a decoding string like BiSS and SSI do.
Last edit: 30 May 2021 18:31 by andypugh.

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

More
30 May 2021 19:21 - 31 May 2021 15:19 #210724 by RaZzoR
I couldn't find the manual online too, I got it from the jmc Support. I would upload it but the file size is too big.
Attached 2 Screenshots aboute the absolute encoder chapter.

Ok I did some more research. I think I can extend my 7i76e with a 7i74 that supports RS-485 on channel 7. Then I can connect my servo drivers all in line to channel 7. Is there anybody who has experience with that? ?
Attachments:
Last edit: 31 May 2021 15:19 by RaZzoR.

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

More
31 May 2021 19:02 #210818 by 0x2102
I don't think a 7i74 with RS485 will help you. The JMC servos require Modbus.

Modbus vs RS485:
www.eltima.com/article/modbus-vs-rs485/

I happen to have the same JMC servos with absolute encoders. While I made some progress, I wasn't able to make it work a 100%. I haven't looked at this since early 2020 but maybe food for thought:

forum.linuxcnc.org/38-general-linuxcnc-q...er-position?start=10

I spent quite a few hours on this and while it might be a nice to have feature, I am not sure if the "juice is worth the squeeze".

Try to avoid those cheap USB to RS485/Modbus (without ground pin).

The MB2HAL LinuxCNC module might be the best way to get the data from the drives. You could also use ClassicLadder Modbus.

linuxcnc.org/docs/html/drivers/mb2hal.html

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

More
31 May 2021 20:36 #210824 by andypugh
mb2hal is userspace, so no good for encoder feedback.

However, thanks for reminding us of Classic Ladder Modbus, as I believe that is realtime and might be an answer.

However, USB to Modbus is still not an answer, it needs to be a realtime interface, such as a real serial port.

I still think that modbus-on-Mesa-UART would be a very nice thing to have.

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

More
01 Jun 2021 21:19 #210913 by 0x2102
Hi Andy,

don't think Modbus can be used for permanent real-time position information. I believe the best that can be done with these servos here is to pull the drive's absolute position during the LinuxCNC startup phase and then switch to incrementation position from StepGen or a linear scale.

This is at least what I tried last year. I got it working to an extend, but during further testing I noticed that I couldn't find a way to reset stepgen.00.position-fb when I had an e-stop event or I turned the machine off and on again without exiting LinuxCNC. The only way for me to fix this was to close LinuxCNC and restart it.

forum.linuxcnc.org/38-general-linuxcnc-q...tion?start=30#157762

I know of some simple CNC controllers that read Modbus absolute data just during system startup and then use an incremental system for real-time position data.

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

More
01 Jun 2021 21:54 #210922 by PCW
Note that it is now possible to reset the hm2 stepgen feedback position with a
hal pin or an index input

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

Time to create page: 0.242 seconds
Powered by Kunena Forum