Pololu G2 High-Power Motor Driver 18v25 help improving/understanding duty cycle differences

I am using a the Pololu G2 High-Power Motor Driver 18v25 connecting it was teensy 3.2 for the 3.3V pwm signal and using a low inductance motor using a 15V RC battery for the motor side with a 100khz frequency. I did not add any extra resistors or capacitors.

I am getting a offset of about 5% for the duty cycle. Checking with an oscilloscope, I put in a duty cycle of 20%, it gives me a 15%, a 33% with an output of about a 28%. If this is expected, how do I compensate for it in my code? Would adding a capacitor help? How does a capacitor usually help? Any information on how to fix this or continued troubleshooting would be appreciated.


Hello, chickenwing.

Could you post more details about your test? Did you have the motor connected while you were monitoring the output? Could you post oscilloscope captures of the input and output? Do you see the same behavior at lower frequencies (e.g. 20kHz)?


I did have the motor connected. I monitored the output, not the input. I will also check out the input and try different frequencies.


for 100kHz with
command % pwm (input)% motor (output)%
0 4.4(0) 0
11 11 3
17 16 11
29 28 24
34 34 29

The original test had the duty cycle of 0 at 4.4, but i reset the circuit and I got the same results, but the 4.4% disappeared at 0

for 20 kHz
0 0 0
11 10.5 9.6
17 17 16
29 28 27
34 33 32

So I guess there is a larger discrepancy with higher frequency. Should i test at other frequencies as well? Does the motor controller have a data sheet I can look at?