Closed SeamusHerson-MilwaukeeTool closed 1 month ago
We're aware of this issue but forgot to document it properly, sorry!
The recommended workaround is:
devel
firmware (or 0.6.10, once it's released)rs485_encoder_group1
instead of rs485_encoder_group0
(and correspondingly EncoderId.RS485_ENCODER1
instead of EncoderId.RS485_ENCODER0
).For others reading: this is only an issue on ODrive S1, not on ODrive Pro.
Where would be a good place in the docs where we can add this note where you would have seen it?
(Btw note that this is the repo for ODrive v3.x, the recommended way for bug reports for current-gen ODrives is via Discord or Email)
Hi Sam - Thanks for the fix - this works very well!
As far as where would be best to document this note, adding it somewhere near the "! Important" Box in Manual > Hardware Configuration > Encoders > RS485 Encoders is probably the place I would've found it most helpful. Sorry for submitting the issue on the wrong repo - I appreciate the response regardless!
From: samuelsadok @.> Sent: Wednesday, July 24, 2024 4:06 AM To: odriverobotics/ODrive @.> Cc: Herson, Seamus @.>; Author @.> Subject: Re: [odriverobotics/ODrive] odrv.onboard_encoder0.raw returns zero whenever odrv.rs485_encoder_group0.config.mode set to ODRIVE_OA1 (Issue #750)
We're aware of this issue but forgot to document it properly, sorry!
The recommended workaround is:
For others reading: this is only an issue on ODrive S1, not on ODrive Pro.
Where would be a good place in the docs where we can add this note where you would have seen it?
(Btw note that this is the repo for ODrive v3.x, the recommended way for bug reports for current-gen ODrives is via Discord or Email)
- Reply to this email directly, view it on GitHubhttps://github.com/odriverobotics/ODrive/issues/750#issuecomment-2247303542, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AUVH63C4EQFG2PYR45GUW5DZN5U75AVCNFSM6AAAAABLJEGGO6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENBXGMYDGNJUGI. You are receiving this because you authored the thread.Message ID: @.**@.>>
Good to know the workaround works for you!
I added the note to https://docs.odriverobotics.com/v/latest/manual/hardware-config.html#rs-485-encoders (a bit further down, but hopefully still visible).
No worries with submitting the issue here, just mentioning it in case other users read it, to keep things organized and avoid confusion.
The value returned by the onboard encoder appears to always be 0 when odrv.rs485_encoder_group0.config.mode is set to ODRIVE_OA1 or AMT21_POLLING. This results in a NO_RESPONSE error when attempting calibration.
To Reproduce In odrivetool, enter: odrv.axis0.config.load_encoder = EncoderId.RS485_ENCODER0 odrv.rs485_encoder_group0.config.mode = Rs485EncoderMode.ODRIVE_OA1 odrv.axis0.config.commutation_encoder = EncoderId.ONBOARD_ENCODER0
odrv.onboard_encoder0.raw will always return 0, no matter the orientation of the shaft relative to the onboard encoder.
Expected behavior odrv.onboard_encoder0.raw output will change as the shaft turns relative to the encoder
Desktop (please complete the following information):
Additional context Found this bug while attempting calibration with a OA1 encoder as the load encoder after a 10:1 reduction from the motor w/ the onboard encoder as the commutation encoder.