by matt_fl » Sun Oct 04, 2009 4:58 pm
by matt_fl
Sun Oct 04, 2009 4:58 pm
Looking at the AX_12 schematics, it appears that the hardware is capable/not capable of the following:
-no current measurement , because there is absolutely no current sensing built in.
The only thing this hardware could do to estimate current is relate PWM to current when the servo is holding, NOT during motion (it doesn't measure back EMF either).
-no speed sensing built in.
The best it could do to estimate speed would be calculate based on successive position changes (based on the potentiometer , which is noisy and prone to all sorts of errors). The problem is that while position errors tend to average and even out for position holding , the same position errors yield relatively larger errors for speed calculation .
-position is based on the feedback potentiometer , which is not the greatest position sensing device .
It has noise, thermal drift, mechanical wear, etc.
-temperature is via a thermistor, which is not the most acurate , but probably adequate. Although modern temp sensors cost very little and do not require more board space than a thermistor , nor do they require support circuitry.
-Even an easy thing such as properly bypassing the AREF pin wasn't done .
It appears that a slight modification to the board could add real current measurement capabilities during motion.
A sense resistor needs to be added + a single opamp and wire its output to one of the unused A/D inputs (ADC1 or ADC4-7) .
However, the firmware will be more work , because it needs to be changed or rewritten .
Does anybody have a source file for the AX12 firmware or know how to get it, to use as a starting point ?
Writing brand new firmware is certainly doable except for the fact that the specification is too loose or vague in some respects so it's going to be a lot of measurements+trial and error, prone to future revisions backward compatibility problems etc.
Looking at the AX_12 schematics, it appears that the hardware is capable/not capable of the following:
-no current measurement , because there is absolutely no current sensing built in.
The only thing this hardware could do to estimate current is relate PWM to current when the servo is holding, NOT during motion (it doesn't measure back EMF either).
-no speed sensing built in.
The best it could do to estimate speed would be calculate based on successive position changes (based on the potentiometer , which is noisy and prone to all sorts of errors). The problem is that while position errors tend to average and even out for position holding , the same position errors yield relatively larger errors for speed calculation .
-position is based on the feedback potentiometer , which is not the greatest position sensing device .
It has noise, thermal drift, mechanical wear, etc.
-temperature is via a thermistor, which is not the most acurate , but probably adequate. Although modern temp sensors cost very little and do not require more board space than a thermistor , nor do they require support circuitry.
-Even an easy thing such as properly bypassing the AREF pin wasn't done .
It appears that a slight modification to the board could add real current measurement capabilities during motion.
A sense resistor needs to be added + a single opamp and wire its output to one of the unused A/D inputs (ADC1 or ADC4-7) .
However, the firmware will be more work , because it needs to be changed or rewritten .
Does anybody have a source file for the AX12 firmware or know how to get it, to use as a starting point ?
Writing brand new firmware is certainly doable except for the fact that the specification is too loose or vague in some respects so it's going to be a lot of measurements+trial and error, prone to future revisions backward compatibility problems etc.