I have an AKM52G servo fitted with a Hengstler AD58 encoder that uses a BiSS-B interface. The tech data sheet for this encoder lists the resolution as 12 Bit Multi turn and 22 Bit Single Turn. In Granity I can’t set the combined resolutions (ST+MT) to higher than 32 bits. I have [FBST] set to 20 Bit and [FBMT] set to 12 Bit. I’d like to run [FBST] at 22 Bit and [FBMT] at 10 Bit to get the full 4.2M CPR out of the encoder but when I do so the wheel position/rotation is off and a full wheel rotation only registers a ~30% rotation in SimuCube. Does anyone have a similar encoder or know how I could possibly adjust the settings to do what I described?
Use 22 bit and don’t use Multi turn Bits … I believe that is the way everyone is doing it because multi turn is not needed. So 22 Bit Single 0 Bit Multi
I tried that originally, the rotational position was even smaller per wheel revolution. One full wheel revolution resulted in 0.1 degrees of rotation in simucube.
hmm for that makes no sense as to why that would be… is your AXS setting set to 1? that is the only thing I can think of that would be causing the issue… If the AXS somehow ended up .1 it would correspond to what you are seeing.
It was set at 1. I was confused about this as well.
Granity Settings - AKM52G - AD58.pdf (400.6 KB)
Here are the settings I have with [FBMT] set to 0. This results in the 0.1 degree rotation issue.
The drive is not designed so that you could drop and not read the least significant revolutions. The protocol functions so that the MT data is always transmitted first and after that comes the ST data. Therefore you have to configure the drive to read those 12 bits of MT and 20 bits of ST data. In industrial use cases it would be a bit odd to drop/omit least significant revolutions however you can drop some of the least significant bits of the ST data.
Hope this helps.
Thanks Tommi, that certainly does help explain why it doesn’t work correctly with less than 12 bits of MT.
Is there a hardware limitation on the total bits we can use? Could there be an update in the future to allow more than 32 combined MT/ST bits?
One other thing… did you rerun the Motor, Encoder, Centerpoint Wizard… just a thought as I know some changes to encoder settings require recalibration.
I usually run the Motor, Encoder, Centerpoint Wizard any time I make changes in granity.
I’m running the same encoder on an AKM54K and can use the full 22-bit ST range as described in the datasheet, why is it @JLopez has to drop those 2 bits? That’s a big resolution drop…
Do you know the part number for your encoder? I’m assuming it has resolution number 0022 which is single turn 22 bit only. Mine is a 1222 which has 12 bit MT and 22 bit ST with a BI (BiSS B) interface.
Ahh indeed, I never really parsed that part of the datasheet properly - mine is an AD58 0022 A BI O (22bit ST Biss) DC 5V Biss-B, PCB connector, axial, 12 pole).
From the data sheet it looks like the 1222 can run 12bit + 22bit (34bit…), are you limited to 20 bit on the single turn? Is that a simucube/IONI limitation?
I believe Simucube/IONI is limited to a combined total of 32 bits. Therefor I am limited to 12 bits MT and then 20 bits ST. And as Tommi said I have to use all the MT bits before using the ST bits. I hope that the combined 32 bit limitation can be increased.
The wiki states that the combined bits MUST be between 6 and 32.
I just bought very cheap SimuCube 1 with the same problem, the servo is Kollmorgen AKM53G and encoder Hengstler AD58 / 1222, 12bit+22bit=34bit so more then 32bit unfortunately . Looks like only 20bit I can use so only 1 mil instead 4.2 mil cpr. Still no way to fix it somehow?
still no way to fix, unfortunately. Adding more bits for reading in the IONI would slow down the operation of the servo drive, and also using more than 32 bits on a 32bit processor that does not have too much extra performance, would cause troubles.
Thank you Mika, where can I buy Biss-C 22bit? Liza from Mige company China? Hard to find in EU.
I have it in the USA.
Lisa should be able to help you. Be sure to order it with the cable!