Several patches that mean a big power reduction while the ESC is not running the motor:
implement idle sleep
implement adc-sleep (4096us timer is simulated via ADC interrupts)
implement green-led PWM while not running
implement an option to put FET into a low power configuration
Results:
afro-nfet:
stock (1e4c017):
45.2mA idle - no PWM
53.5mA armed - with neutral PWM (difference to no-pwm is mostly green-LED)
2094 Words
USE_SLEEP=2 and USE_LED_PWM=3:
35.6mA idle - no PWM
39.8mA armed - with neutral PWM (difference to no-pwm is mostly idle-sleep vs. adc-sleep)
2177 Words
USEFET* = 1 + all sleep and led optimizations
19.9mA idle - no PWM
23.5mA armed - with neutral PWM (difference to no-pwm is mostly idle-sleep vs. adc-sleep)
2198 Words
tgy.inc:
stock (1e4c017):
48.9mA idle - no PWM
47.4mA armed - with neutral PWM (surprisingly this consumes less power)
1773 Words
USE_SLEEP=2 and USE_LED_PWM=3:
33.7mA idle - no PWM
38.8mA armed - with neutral PWM (difference to no-pwm is mostly idle-sleep vs. adc-sleep)
1839 Words
USEFET* = 1 + all sleep and led optimizations
not applicable, but there may be some low hanging fruit - see the stock reduction when armed!)
Note that the implementation is using adc, which can also get extended to allow for continuous ADC capturing while the motor is running and does not produce glitches at high RPM!
Also regular ADC reading has been implemented allowing to capture a sequence of ADC values also when the motor is rotating. There is still the need for a consumer - i2c comes to mind...
Several patches that mean a big power reduction while the ESC is not running the motor:
Results:
Note that the implementation is using adc, which can also get extended to allow for continuous ADC capturing while the motor is running and does not produce glitches at high RPM!
Also regular ADC reading has been implemented allowing to capture a sequence of ADC values also when the motor is rotating. There is still the need for a consumer - i2c comes to mind...