Rtelligent ECT86 Closed Loop Stepper Driver Encoder Setting

More
16 May 2024 18:40 - 16 May 2024 19:10 #300773 by Sandro
Hi everyone

I am testing the Rtelligent ECT86 and would like to integrate it into my CNC Plasmacutter. I am using Rods XML- and HAL-File which I modified for testing on a single slave - means I have deleted the other slave entries.

Source: github.com/rodw-au/linuxcnc-cia402/blob/...hercat-conf.xml#L158

Device and communication seems to work. However I have a no brand closed loop Nema 34 stepper motor of which I do not really know the encoder resolution (Motor model: 86HB250-156B, original driver HB860H).

When I start LCNC the motor powers on, but when I want to turn it, it stalls and I soon get a "joint amplifier fault" message. If I check the ECT86, I see the status lights flashing - 1 green, 4 red - which according to the manual means "encoder out of tolerance alarm". The manual also states that I have to set the correct encoder resolution on adress 0x2020, save and then power cycle the driver. Default setting is 4000 pulses per revolution but I think from some research I did on the internet, my motor has actually 1000 pulses/rev. So my question is, how can I save this resolution to the drive? Cause I think I cannot simply do it via the XML since the drive needs to power-cycle and I will loose the setting again. Can it be done with a LCNC terminal command? Or maybe with TwinCat?

Sidenote: If I turn the motor shaft by hand, I see a velocity feedback, but the position remains constant at 0.

Thank you in advance for any help!
Last edit: 16 May 2024 19:10 by Sandro.

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

More
16 May 2024 19:23 #300777 by rodw
The setting for a genuine rtelligent stepper is 800 as used in the matching hal file
github.com/rodw-au/linuxcnc-cia402/blob/main/cia402.hal#L54

I am no expert but I thought a quadrature encoder has 4 steps per actual position step so 1000 sounds about right for yours.
I think if you set it in the xml, run it and power cycle the drive it should work.
But I think the ethercat program lets you set sdos. I never needed to try that.

Also I found that the ECT86 does not like NEMA23/NEMA24 devices but is very happy with NEMA34's. You can't tune smooth movement even with open loop motors.

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

More
17 May 2024 12:49 - 17 May 2024 12:51 #300822 by Sandro
Thank you Rod!

I agree, to my understanding due to quadrature, I will end up with 4 steps per actual position step. However, I am not sure, if the 1000 pulses is already with the quadrature considered or without it.

I will try to set the encoder resolution with the XML-File and write it to adress 0x2020 and hope, it will persist after power cycling. I also saw the scaling value of 800 in the HAL-Files of yours. However I assumed, this is the scaling for an actual axis in pulses per machine unit. I guess this is not the case then?
Last edit: 17 May 2024 12:51 by Sandro.

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

More
18 May 2024 10:14 #300904 by rodw
Scale is 800 pulses per rev.
One you get motion, assume you have a 5mm pitch ballscrew, so test by moving 5mm (1 rev) and check the number of pulses. 800 for me, 1000 for you.

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

More
19 May 2024 16:17 - 19 May 2024 17:11 #300971 by Sandro
I have been able to set the encoder resolution on register 0x2020 and the setting persists. So that works. Scaling I have set to 4000 in the Hal-File after tinkering for a while. In Halshow I get a value of 4000 for lcec.0.0.actual-position if I turn the motor shaft by hand for 1 revolution. So this seems to be encoder quadrature in effect and looks alright to me. The value is the same for cia402.0.drv-actual-position. The value for cia402.0.pos-fb changes by 1 for every revolution of the motor shaft. So I guess, it is affected by the scaling setting in the HAL-File. Basically cia402.0.drv-actual-position is divided by 4000 (4000 pulses per machine unit) which also looks alright.

Unfortunately the motor jerks and stutters in closed loop mode until I get the joint amplifier fault. The red light on the driver blinks four times which is the encoder out of tolerance alarm. The tolerance is 4000 by default on this drive. If I switch to open-loop mode (0x2011 set to 0), the motor turns normally without issues. No other parameter needs be changed. Maybe an issue with the internal PID loop?
Last edit: 19 May 2024 17:11 by Sandro.

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

More
22 Jul 2024 13:49 #305857 by inspirr
Hello @Sandro! Have you ever solved the issue? I am in the exact same situation. New steppers from stepper online, nema34, 6A 4.5 Nm, 3 ECT86 and once I activate closed loop the motors do not actually turn just vibrate and make a weird sound. And from time to time I am "lucky" and get the 1 green 4 red

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

More
22 Jul 2024 19:45 #305868 by Sandro
Hi inspirr

Unfortunately not. I think the default encoder setting of the ECT86 should be alright for most steppers though. I tinkered arround with lots of other settings as well. But had to give up on it for now.

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

Time to create page: 0.088 seconds
Powered by Kunena Forum