DIY Drones

I’m using a BP brushless motor and BP ESC with a 3S Lipo battery, and I use a microprocessor to generate a PWM signal (1ms – 2ms rate) for the ESC(with a BEC). The PWM generates 100% duty for the ESC, but the motor sometimes spins, and sometimese doesn’t spin at all. The motor spins 7 out of 10 times. I have tried to switch the motor cables (3 wires) to connect to the different ESC outputs, I couldn’t get the problem resolved.
1. Does anyone have these kinds of experience, or any suggestions?
2. If you have successfully used a PWM from a microprocessor to control a brushless motor through an ESC, could you tell which brand motor and ESC are? I have another ESC (Volcano 30A), but this ESC can’t make BP motor spin at all.

Best,

Reply to This

Replies to This Discussion

Why do you think a servopal will help?
I use the same PWM signal that drive two servos, which work fine. The PWM signal is about 3.3V, 1ms to 2ms rate (2ms will be 100% duty cycle)

Reply to This

I used a PWM signal (2ms.), seems to work perfectly.

Reply to This

in order to run a servo ect you have to apply 5v to the input for 1 to 2 ms every 50ms . duty is the ratio of the high and low times in each cycle so a 1ms pulse would have a duty of 2% . if you truely are running 100% duty cycle then we are talking about a constant 5v . the BS2 can put out 1 to 2 ms pulses but it cant do it every 50ms . and as to why a srvo works but not a speed controler is because servos tend to be more tollerent then an ESC . again i recomend you get a servopal or one of the many serial servo drivers out there you will be much happier

Reply to This

Technically, I think its 6 volts for many servos (3v? for some new models), but 5v is /usually/ close enough to work. I mention this because the possibility exists for a servo to work on 6 and fail on 5. however unlikely.

Reply to This

Hi all
I was facing exactly the same problem while I was using my arduino to route signals from my RC to ESC. I read wayne garriss' post and tried specifying a delay such that the ESC would get a signal after exactly 50ms interval and it worked perfectly!!

Earlier I wasn't even being able to run a servo and now I can run both servo and ESC. Thanks a ton wayne!!

P.S. Dunno too much about how delays and all are implemented in the BS2 but an ESC can definitely be run via arduino if the 50ms length of signal is kept in mind.

Reply to This

Hi all and Abhishek Jain, I have a Mystery 30A ESC, and connect to the arduino, it did not work at all, no spin, no verberation, nothing ! If I directly connect a servo to the arduino, it works perfectly.

What's your code for Adruino ? and How should I connect three wires from ESC to the brushless motor ? does it matter or I have to connect them accordingly ? Thanks

Jack

Reply to This

If anyone is having problems driving a servo/ESC then you try the Old Arduino Servo library and the frequencytimer2 library
http://www.arduino.cc/playground/ComponentLib/Servo
http://www.arduino.cc/playground/Code/FrequencyTimer2

They take a little work setting up and (this may have been fixed) I can't get the set max/min pulse command to work.
You set up the Freqtimer2 lib to call a refresh function every 40ms and then you can write lots of servos at once (2ms for all of the pins)!

Reply to This

Hello, I know this post is quite old and maybe you won't answer but I still have to try.

I'm a mechatronics student and I'm currently working on a kind of important project. A few weeks ago I learned about brushless DC motors and decided I would use one of those for the project. I started investigating and saw that they have a very complicated control. I COULD make it myself but I'd spend lots of time and I'm in a hurry. I've now decided to buy an ESC even though it's more expensive than the BLDCM itself but anyways...

I was just wondering what should I "give" the ESC and "where". By this I mean, I know I have to introduce a PWM signal but at what frequency? what duty cycle? through which cable? Because I understand they have like 7 input cables, 2 of which are for power input, 2 of them are for an ON/OFF switch and then there are 3 unknown cables. Manuals just mention that they have to be plugged to the reciever but the point is, I'm not using one. I need to control the speed and direction of the motor.

How do I do this?

I see that you've already done this and I'd like some pointers. I hope you can answer soon :)

Thanks!

Alex

Reply to This

Hi Alex,
are you sure you are thinking of the same type of ESC the others were talking about? Based on my limited RC experience I'd say that an ESC has 3 cables connecting to it, ground, power and the signal, where if the ESC has a BEC then it actually acts as a power supply for the RC receiver and servos. About the timing and which signal, etc, you might want to check some other posts about PWM, servo control, etc.

Reply to This

Hey, well I'm talking about a brushless motor ESC... I saw a picture of it showing how it must be wired up and it has 2 cables going to the battery, 3 cables for the motor, 2 cables to an ON/OFF Switch and then 3 cables which I assume are the ones you're talking about. I've already done some more reasearch about the signals needed to make it work but I'm still a little confused about something:

If you say that those 3 cables go to Ground, Power and the control signal, how do I control reverse? Is it just a different duty cycle or is there something else I must do?

I've designed and built my own servos out of DC motors using control circuits and potentiometers and I've also controlled commercial servos, but I've never used an ESC or a brushless motor before. That's why I'm kind of disoriented, I find it frustrating to read "Yeah, just connect it to the reciever and it should work fine" you know what I mean?

So basically there are only 3 questions remaining now... How do I control reverse? How do I program the ESC without a transmitter/reciever? Are those 3 cables for ground, power and control signal?

Thanks!

Alex

Reply to This

Alex,

You are going to need a servo driver like this: www.lynxmotion.com/Product.aspx?productID=466&CategoryID=113

to control the brushless motor through the ESC. The servo driver will provide PWM from ~1 ms to ~2 ms. You can use the servo driver just like the throttle on the RC transmitter to program and control the ESC. You cannot reverse the motor without either reversing two of the three motor leads or reprogramming the ESC.

Hope this helps.

Regards,
TCIII

Reply to This

Thanks for your help guys, I think I finally got it right. The three cables do go to Power, Ground and the control signal, which must be a PWM from 1 to 2 ms I can generate with a microcontroller. I investigated a little bit more about the reverse and it is possible. The ESC I'll buy has a forward/reverse mode, the ESC needs to be callibrated to a "maximum throttle", "neutral throttle" and "minimum throttle" point and the manual says that, in Forward/Reverse mode, max. throttle will be forward, neutral will make the motor stop and min. throttle will make it go in reverse, so I'm assuming that the throttle just generates different signals from 1 to 2 ms according to it's position, just like you would expect a servo to function, where 1.5ms would be 0 degrees, 1ms would be -90 degrees and 2ms would be 90 degrees.

So I'll order everything and let you know how it went.

Thanks for your help!

Alex.

Reply to This

RSS

© 2010   Created by Chris Anderson

Badges  |  Report an Issue  |  Privacy  |  Terms of Service

Sign in to chat!