[Problem] Controlling a brushless ESC using arduino

Discussion in 'General Electronics Chat' started by urih, Dec 9, 2013.

  1. urih

    Thread Starter New Member

    May 7, 2013
    Hi Everybody,

    Lately I'm trying to control a brushless ESC using arduino pro mini.

    I'm using the old Servo library (the one based on PWM) and not the new one since I'm also working with the "softwareSerial" library.

    The weird thing is that when I connect a servo-tester to the ESC and set it to zero speed, the ESC recognizes the servo-tester and initialize.

    However, when I connect the arduino to the ESC and set the servo-class to zero degrees, the ESC fails to initialize.
    It only initialize when I set the servo-class to output 50 degrees PWM.

    Does anyone know why? :confused:

    Unfortunately I don't have an Oscilloscope so I can't check the waves and compare...

  2. strantor

    AAC Fanatic!

    Oct 3, 2010
    I have no idea what I'm talking about, but I think I might have read somewhere that 50% duty cycle corresponds to 0 degrees ( or speed in this case maybe). <50% = one direction, >50% = the other.
  3. urih

    Thread Starter New Member

    May 7, 2013
    I think that when your motor goes both ways you are correct.
    My motor goes only one way and the problem begins even before the motor starts rotating - the ESC fails to initialize...
  4. MrSoftware

    Active Member

    Oct 29, 2013
    Have you tried controlling a standard servo with your arduino yet? That might help you trouble shoot. I used an arduino to control a servo once; it was some time ago, but I remember having to fiddle a little to get the servo to do what I thought it should do.
  5. strantor

    AAC Fanatic!

    Oct 3, 2010
    Well, it only fails to initialize when the duty cycle is ≠ 50%, right? So that says to me, that it wants to see 50% to start. So give it what it wants. You may only need forward movement, but the esc is probably capable of bidirectional output. You may be limited to half the arduino's output resolution. You may just have to utilize duty cycle between 50% and 100%.

    Again, I have never used an ESC or a servo. Just read about it, a while back. I'm surprised a more knowledgeable person hasn't chimed in yet. I hope one does.
  6. MaxHeadRoom


    Jul 18, 2013
    Brushless ESC (Electronic Speed Controller) covers alot of different technology from BLDC and AC servo's with electronic commutation to model Outrunners Inrunners etc.
    And the controllers are equally diverse, so with only vague details it is a bit difficult to offer any assistance?
  7. sirch2

    Well-Known Member

    Jan 21, 2013
    Have you checked the current requirements of the ESC? Can the arduino pin source the necessary current?