I have a question regarding the IONI controller and the use of a BiSS-C encoder. I am trying to use the suggested RLS Orbis encoder listed on the wiki. I would like this encoder to be mounted on the output of a gearmotor (using a DC brushed right now for testing, BLDC is planned for final project) in order to eliminate the error accumulated in the gearbox and to use the beta absolute mode (no homing on startup).
My hardware configuration:
-DC brushed gearmotor, 18:1 reduction
-1.6.9 firmware version
-Orbis BR10DCA14B12BD00 mounted to output shaft
I would expect that the axis scale [AXS] would be 20 degrees per motor revolution, as 360/18 is 20. However when trying to move the motor to setpoints the motor spins way more than it should. Is this because it expects the encoder to be mounted to the back of the motor before the gear reduction? Is it even possible to configure with the encoder directly on the output shaft?
I have attached following files:
Physical setup photo
Thanks so much!
It’s always recommended that the encoder is connected directly to the motor shaft. This is because gears and such have always mechanical play and other non-idealities, and these can cause oscillation to the tuning.
I have experience of a gear with 1:50 ratio, and I had to rotate the motor 51 turns before the gear turned once.
Have you tested the gear by checking how much you have to rotate the motor for the gearbox to turn once? I’m now assuming position mode for this test.
Hi Esa, thanks for the quick reply.
I understand the issues that can arise from gearbox backlash, but our final system will be using strain wave gearboxes, which have zero backlash. Is it possible to configure the IONI with an absolute encoder directly on the output shaft?
The motor we are currently testing with is an 18:1 reduction, for each turn of the motor shaft the output shaft rotates 20 degrees.
We are planning on using this in position control mode. Currently the axis scaling seems to be way off. We have been observing the measured position under Readings, and the conversion to degrees shows that multiple turns of the output shaft results in only ~0.001 degrees of rotation (according the the internal scale). Is this possibly an issue with how the encoder is setup? Or is it the axis scale? We have tried a lot of different values for it (0.05 - 200000), with the same results. Maybe the encoder is not being used correctly?
I found the issue!
Turns out we ordered the orbis encoder with 16 bit multi turn configuration, not the 0 bit like I assumed. With that setting changed and the axis scale set to 360 degrees per motor revolution everything is working as expected. Although, as you said Esa, with the backlash in the planetary gearbox the current setup has about a 2 degree high speed oscillation. We will be prototyping with a salvaged harmonic drive next for our proof of concept / testing rig.
Another question, how can you configure the new beta feature of absolute control with no homing?