Why does calibration work every time live, but not always from restart?

Actually, @wetmelon, can you elaborate by nearest pole? I assume the calibration is always relative to a fixed position on the stator, is that correct? Maybe you can answer a question i have then. Obivously the calibration has a periodicity to it. I guess what we are saying is the cal repeats every pole angle?

What are you referring to? The NVM config storage?

Sounds to me like you guys have general noise issues. Make sure you’re using the ferrite rings and avoid ground loops. Do you have high inductance motors?

  1. Is the encoder offset calibration periodic with motor pole?
  2. Yes, config flash - what you call NVM config storage
  3. Do you think that noise is causing our NVM config storage to get erased?

FWIW, our NVM config storage gets erased on power cycle when the odrive is idle. It happens when the power is turned off and on again rapidly, and it happens about 5% across all odrive cards.

on the offset calibration question - more specifically, do you know how often the offset calibration repeats - is it every pole, or every two poles, etc?

really what i want to know is - if i write the offset into the encoder field, I have two numbers that are a pole apart. Can I use either of them and still have a motor that is calibrated properly? I don’t really care about the memories. We will just work around them.

Nevermind, I figured it out.

Thanks

No idea.

Also no idea lol. I see what you mean now, I think probably yes but I’d have to get confirmation from @madcowswe

Oh, well, how’s it work? :smiley:

Don’t do that :wink: Yes some people have this issue. Not sure what causes it… FWIW, there is a CRC that checks the config at startup - maybe that’s being invalidated/failing for some reason?

Someone has actually made a github issue for this already, very recently! nvm getting erased on connection issues ¡ Issue #557 ¡ odriverobotics/ODrive ¡ GitHub Please add your experiences to this link.