I'm trying to produce a PWM signal for an ESC (electronic speed controller) in a Raspberry PI.

According to my logic analyser, the signal is fine.

I can use the signal to drive a servo, so I'm happy that the signal is good.

When I feed this signal into the ESC, the motors do nothing, until the pulse width is increased from 1.5ms (neutral) to 1.57, when the motor runs fast. Increasing the pulse width further makes the motor run ever faster.

Changing the pulse width to values less than 1.5ms does not cause the motor to run backwards.

Should an ESC be correctly driver by signals which correctly drive a servo, or is my understanding faulty?

  • 1
    \$\begingroup\$ this would be much easier, if you would show us your setup, what devices you are using, and what you have been measuring. as it stands now you say "it should work but it doesn't, help" \$\endgroup\$
    – Christian
    May 14, 2018 at 20:02
  • \$\begingroup\$ Full bridge ? Motor DCR? kRPM/V Vmax where are your design specs? Static friction load??? \$\endgroup\$ May 14, 2018 at 20:04
  • \$\begingroup\$ Please edit your question and greatly improve it, showing your work and findings so far in considerable detail with any schematic. The better the quality of question, the better the quality of the answers you will attract. \$\endgroup\$
    – TonyM
    May 14, 2018 at 20:08

1 Answer 1

  • Is the voltage high enough -- Pi will output 3.3v by default, and your ESC may need higher voltage. Thresholds vary by device. You can use simple 555-based amplifier to increase the voltage if you need to.
  • Are you sure your signal shape is fine? Some devices are more tolerant to bad shape than others.
  • Do you need to calibrate your ESC? Normally, they come up from the factory with 1.5 ms center, but if someone else has used it before, they may have re-calibrated center to 1.57 ms.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.