Encoder calibration changing every time

My encoder calibration is changing every time I run the offset routine. This is a new behavior…it’s preventing me from using the index to do quick start.

If I calibrate then things are fine. If I try to use the pre-configured position things run away.

It looks like I’m missing encoder counts…count_in_cpr is coming up different each time.

error = 0x0000 (int)
is_ready = True (bool)
index_found = True (bool)
shadow_count = 64067 (int)
count_in_cpr = 24067 (int)
interpolation = 0.5 (float)
phase = -0.41407108306884766 (float)
pos_estimate = 64067.765625 (float)
pos_cpr = 24067.7578125 (float)
hall_state = 2 (int)
vel_estimate = 0.0 (float)
config:
mode = 0 (int)
use_index = True (bool)
pre_calibrated = True (bool)
idx_search_speed = 10.0 (float)
cpr = 40000 (int)
offset = 87300 (int)
offset_float = 1.2214689254760742 (float)
bandwidth = 1000.0 (float)
calib_range = 0.019999999552965164 (float)

I’m not so sure this was an issue. I relaxed the encoder disk and was able to get consistent index starts and closed loop. :man_shrugging:

Could be that the encoder was slipping on the shaft?

It’s definitely not slip…but I’ve seen a similar issue before. It loses counts from poor mounting or a warped disk I think.

I use US Digital encoders with 10,000CPR. They are two piece and are temperamental to mounting conditions.

Anyway…it’s sorted for now.

1 Like