jcchurch13 / Mechaduino-Firmware

Hardware available here:
http://tropical-labs.com
Other
389 stars 232 forks source link

Effective CPR count #2

Closed iceblu3710 closed 8 years ago

iceblu3710 commented 8 years ago

From the code int cpr = 16384; //counts per rev seems quite an achievement with a hall effect encoder. What is the effective CPR that can be independently held and stepped to/from reliably?

jcchurch13 commented 8 years ago

Thanks for taking a look at our code!

CPR is our encoder "Counts Per Revolution": 2^14 or 16384. Our closed loop position control actively forces the motor to move until the correct encoder position is reached. This gives a resolution of 360 degrees/ 16384 = 0.02 degrees. Thanks to our calibration routine, the accuracy should be close to the same (we're going to measure this soon).

We have measured repeatability by stepping into and out of full step positions in open loop mode 1000x and looking at the distribution of encoder readings. The results look promising: I don't have the data in front of me, but the error distribution appeared to be Gaussian with zero mean, and a standard deviation of less than 1 LSB (0.02) degrees. I'll post this data soon.

Thanks for your interest! We're looking to get a really accurate, high resolution encoder for a test jig to measure the Mechaduinos accuracy at all encoder increments, not just one position.