Where is our quadcopter?

I’ve done something and I can’t figure out what… A couple nights ago the motors were firing up fine. I didn’t think I’d really changed much since then but now I get the following beeps. I’m guessing it’s not liking the PWM signal but I don’t think I changed something that would really change the signal. Do you know what this means? I have yet to find a good document on the actual details of the PWM required to drive an ESC. If you know of a good source, please post it. My code is based off of Chris’ here:

http://code.tinyclr.com/project/62/brushless-motor-esc-for-aircrafts/

https://www.youtube.com/watch?v=vZNl7u59Yqk

Below is the PWM signal it’s receiving.

Can you tell me what is the duty cycle time of your PWM signal & the pulse width you have for idle (aka off ).

There are a few things that will cause the ESC to beep when powered on.

#1) control signal not set to idle when powered on
#2) duty cycle not in spec.
#3) battery voltage to high or low.
#4) problem detected with motor.

I don’t have the code with me at the moment but I believe this is how it’s currently configured.

#1) control signal not set to idle when powered on

I’ve never explicitly done this before. It had been working fine. Maybe it now is more picky… What is considered an “idle” PWM signal? All low?

#2) duty cycle not in spec.

I’m using 20%. I tried higher and no difference. My previous tests had determined I needed at least 20% to get the motors to spin.

#3) battery voltage to high or low.

This has some possibility… I think the only thing that really changed from the time it was working to the time it stopped working was swapped batteries so I could charge the one I was using. They are identical 3C 11.1V 4000mAH LiPos. I’ve tried with the other battery also since it finished charging.

#4) problem detected with motor.

I don’t think this is the problem since I get the same behavior from all four motors.

There is one other thing that changed. I don’t remember now if it was before or after I initially started having the problem - I’m thinking now that it was before… But, I found my Turnigy card programmer and realized that I’d never used it on these new ESCs (it was hidden in the box my battery charger was in…). I reprogrammed all of the ESCs. I have since restored all the settings back to where I believe they were initially. I’ve tried all the different timing settings. I wonder if the programmer added something that made the “arm” code activate that might not have been activated before. I’m using this code (with some additional properties added). I don’t see anything that explicitly handles arming the motor.

http://code.tinyclr.com/project/62/brushless-motor-esc-for-aircrafts/

#1) control signal not set to idle when powered on

This is the most important thing to do. I am surprised that the ESC arm’s with a signal higher than idle when powered on. This should be set to a 1ms pulse.

#2) duty cycle not in spec.

I said duty cycle, but meant the period, which should be 20ms

I am creating a video for you now using a stock receiver and scope so you can see what things should be.

Yea, 20ms (50Hz) is what the period is set to. In the driver referenced above that is…

P50Hz = 20 * 1000000

Do you know the highest frequency the Turnigy Plush 30A can handle? I’d like to run it faster. From what I’ve found so far it seems that you need 100Hz - 400Hz to get a really stable quad. Also, do you know exactly what the Timing (Hi/Med/Low) settings on the ESC represent? Does this control the default period/frequency or is this something else? As many of these things that there are out there it seems there is very little info concerning the details. Do you know of a source for ESC data sheets?

#1) Do you know the highest frequency the Turnigy Plush 30A can handle?

Sorry, no. What i can tell you is that all ESC are designed to work with RC radio systems. So i would have to imagine that anything outside of the standard range would not be a good idea to get into.

#2) Also, do you know exactly what the Timing (Hi/Med/Low) settings on the ESC represent?

yes, 1.0ms is low, 1.5ms mid and 2.0 is high.

I have a video uploading now that may help explain all this. will update when the upload is complete. Let me know if it does not make sense or you have more questions.

Here is that video link, - YouTube

I was kinda bitchy in the beginning because, it pisses me off to no end when i am new to something and start googleing around when you come across some dude, who also does not know much but gets it to work by trial and error. He then publishes the data never mentioning the fact that it was by trial and error he got it to work. So what happens is that others new to it, take his values and use them thinking he knows what he is talking about. But doing so could have serious ramifications for a slightly different set up. SOoooo, i wanted to say that in the beginning of the video which is NOT directed at anyone here at all. Just for anyone else that comes across the video to make sure and do you homework on whatever you see.

Great stuff! Thanks for doing that. I think I’m “armed” with enough info now to actually do some educated debugging tonight. Thanks, again.

Welcome. Feel free to ask whatever you will and i will try to answer. I lots of RC stuff here that i can set up and try for you.

I figured it out. The code was sending the arm signal fine. However, when I was trying to optimize the balancing code I commented out a line that causes the copter to wait 2 seconds to give time to arm before trying to balance… DOH!!! :wall:

Now I’ve just got to figure out how to get it to update faster. I’ve got some pretty serious rocking to get under control.

I tried running the ESC at 400Hz instead of 50Hz and it runs fine. Does that mean that the ESC is actually updating at that rate or will they just ignore extra updates?

Hmmmm… good question. What i would do to test this would be to first crate some test code to do the following.

#1) put the first scope probe on the PWM signal wire to the ESC.
#2) put a second scope probe on one of the phases on the motor wires.
#3) set the code to run at 50hz. with a ~1.2ms pulse.(just enough to get the motor to spin)
#4) have the code pulse the PWM signal wire from the ~1.2ms pulse to something higher like ~1.8ms every 600ms and then back.
#5) look at both scope channels and see how long it takes from when it gets the new PWM signal to when it actually updates the motor with the new speed.

Then do the same test again, but using the 400hz signal.

This should tell you if its actually able to do update the motor faster using 400hz.

Would the v-tail mixer work on a quadcopter with a VTail as well?

This person called his a QuadYCopter:

Like this

i would think so. One v-tail mixer for the left and right. then a second v-tail for the tail.

For mine i am going the lazy route by slapping 2, $10.00 gyros in there to have level flight.

[quote]This too would make a some sort of cool flying thing, Eliminate torq roll with this.
With 3.54lbs of thrust makes it worth wild.

Yet i like this one better. less thrust but i like the looks better.
http://www.hobbypartz.com/88e-mc351-cr23m-counter-blade3-1550kv.html[/quote]

Question about these motors … (I’m a n00b when it comes to ESC/brushless/a lot of other things)

There are 2 sets of wires coming out of the motors, each with 3 sets of wires.

Does that mean that the 2 different motors can be controlled independently?

Also, this is common to all to brushless motors, what exactly is the kv rating a measure of?

yes, you will need 2 ESC for these.

yes & kv rating is RPM per volt.

Thanks for the info!

I just learned something today :), I can take the rest of the day off now :smiley:

There are three output wires because these brushless motors run on 3-Phase, not DC.