I have two identical pairs of ESC & brushless motor combinations.  The ESC's spin both motors at different speeds for the same duty cycle.  I'm using an arduino and the analogWrite() function to send PWM signals to each ESC.  An input of 127 equals 50% duty cycle and 0 throttle and an input of 255 equals 100% duty cycle and max throttle.  The difference in motor speeds is not constant across the full range of throttle levels and because I only have 128 steps of resolution I can't get the motor speeds to match with any pair of integer throttle levels.

Is there any way to trim/match/sync ESC response?  I have Turnigy ESC's and motors.

You need to be a member of diydrones to add comments!

Join diydrones

Email me when people reply –

Replies

  • Nice one guys, good to see the progression through the problem...

    Space-Nut...yes friend...Dr of Semiotics/Semionics (Phenoligy, syntax, symbols etc...yawn...lol) but converted to fluid dynamics (aerodynamics) much more fun...should have done it in the first place!

    Lookign forward to seeing the conclusions on this and where you take it!

    excellent work.

    Mike.
  • Moderator
    Mike,

    This may seem simple, but have you tried to swap the ESCs to try to isolate where the issue is? For example if the slower rpm follows the ESC then you know it's the ESC, if not, then you eliminate the ESC.
  • Developer
    I don't think you "tune" ESC's. You are seeing the slight variation in KV of the motors as well as pitch of the blades. You really just need to get more resolution out of the arduino. You might try tricking it to get more resolution. Say one motor is your perfect at 50% =127 and the other motor is low at 127 and high at 128. So just alternate between 127 and 128 on the second motor. Should cause the same affect but only at half the frequency. It's fine if you arn't doing quad rotor stuff

    -Beall
  • Buy some good Castle Creations ESC's They are made in USA and are high quality. They are also programmable and can be set to RPM mode.
    here
    Also you need to look at the arduoilot code under the servo tab. The set up the PWM outputs and have much higher resolution. Using analogeWrite() is not the way to go for driving a servo. This has been done before, you just need to look at the code. here
    Or what Dr. Mike said.
  • It sounds to me like the throttle end points are not aligned..

    no need to over complicate this, dont worry about PWM for now, this is simpler than it looks..(wonder how i know :~))

    With my twin UAV, before flying for the first time...(usign tunagy Esc`s) simply connect them both up on a Y lead to an Rx, with throttle open (up full)...plug in esc`s..wait for 2 beeps....close throttles..3 or 4 beeps depending on cells count, then its armed..

    At that point, disconnect from Rx hook to AP..the ESC`s are set, and the end points to the same place for both...

    What you describe i have had in the past without doing this....a nasty yaw on throttle up..

    even though your throttle end points are not exact for the AP at least the travel, start, stop and full are aligned..

    No more out of sync motors..no more yawing..also full throttle is full throttle

    Hope this helps.

    Mike.
This reply was deleted.

Activity