I'm having a heck of a time getting my ESCs calibrated & motors armed… getting a slow beep every second from 2 of my 6 ESC/motors. I'm building a 3DR Hex kit with 20 amp ESC & 880kv motors.
Here's what I did:
○ I Never got confirmation/arming beep from ESCs
○ I Get a constant beep every second with APM blinking A/red LED & solid C/blue
○ Are the ESCs successfully calibrated?
• Wiki says… ' If the ESCs are not beeping or are beeping slowly but the motors still wont arm, try setting the transmitter trim 7 or 8 down from center. An offset below zero is needed to permit arming.' I recalibrated the Radio in MP.
See attached scn prnt
I set the JR transmitter XG8 Sub Trim function from 0 to 'Low 51' (to address the wiki 'offset below zero needed')
Result is I get same slow (1 per second) ESC beep & can't arm 2 of my 6 motors
I have done this 8 times. I'm stuck & need some suggestions.
Any ideas please?
When I had this problem with my quad, I made a wiring mistake by orienting the ESC drive leads to the wrong end of the Output header.
OR... is it possible you have set up the APM software for Quad instead of Hex?
Another member had it the other way. He has a Quad, 'Frame' was set for 'Hexa' and was having terrible control issues.. no doubt. HERE is his find.
I checked the location of ESC leads on APM output header; they are correct. Also motor/esc 1 & 6 work ok, the slow beep every second is from motor/esc 2 & 3
Have you tried moving the beeping ESCs to spots that do not beep?
Move wires connected to the output header and see if the non-beeping ESC becomes a beeping ESC.
(This will tell you if the issue is on the APM side or the frame/wiring side)
NOTE: The graphic below does not represent the actual APM motor connections - it is only a conceptual diagram.
If the same ESCs beep at a different location, something is awry with the wiring or ESC. Wiring would include the PDB and the solder connections to it.
Let me rephrase my last line to match my graphic.
If the ESC beep is still ESC beep after moving to an ESC no beep connection, you have a wiring issue likely.
If the ESC beep become ESC no beep after moving, your APM is setup incorrectly.
Usually when we have similar type beeping problem it is because of no signal is going to ESCs. There can be many reasons for this. Software does not work correctly, ESCs signal cables are connected to GND pins instead of Signal pins. APM does not reboot correctly or even in worst case broken hardware. Have you checked all these already?
Thanks for your post.
This is all new to me. I just got a used ebay scope; trying to figure out how to use it.
How did you set-things-up/connections to determine the initial frames are non-zero?
I'd like to check if that's my situation also.
The Good News: I've solved the issue.
Tracing with a logic analyser revealed the exact problem. Power is applied at A. When APM initilizes the rc channels, it activates the outputs and drives them high at B. PWM starts at C.
It's the long (and invalid !) high pulse between B an C that bothers the 5 non-arming ESCs. The other 3 don't seem to mind.
I dug into the code, and found the culprit in the method APM_RC_APM2::Init in the file APM_RC_APM2.cpp in the APM_RC library. There the outputs are initialized to HIGH, twice for every output channel. Strangely enough, the comments say:
digitalWrite(12,HIGH); // pulling high before changing to output avoids a momentary drop of the pin to low because the ESCs have a pull-down resistor it seems
That is simply wrong. Since RC pulses are active high, the outputs must be initially LOW for some time before the PWM starts. So I've changed every digitalWrite instance (sixteen, two for each pin 12,11,8,7,6,3,2,5) from HIGH to LOW, and now the trace looks like this:
The nice long low state between B an C allows all 8 ESCs to arm correctly.
The code attached is the modified file from ArduCopter-2.7.4-Beta.
The Bad News:
The fix must be applied and the code rebuilt from source, and this will need to be done for every version until it is accepted into the code base. Personally, that doesn't bother me because I intend to change the code anyway for the weird stuff I'm planning to do (hint: with 8 motors there are 8 degrees of freedom, of which now only 4 are used (roll,pitch,yaw and collective).
Other Bad News:
I am disappointed in not having 8 identically behaving Turnigy Plush 25A ESCs, despite ordering them at the same time. I hope this won't cause other problems later due different response curves etc.
That's great news!
Your explanation & graphs of the situation & fix is excellent!
I can't hardly believe my predicament… I've had a total of 3 each 3DR ESCs which can't be successfully configured per the wiki. I verified this by following R.D. Starwalt's above post & diagram on substituting known-good-components for th misbehaving ones. Thanks to R.D Starwalt!
I ordered 2 ESCs to replace the kit hex ESCs. The 2 replacement ESC are now successfully configured… so I have 5 of 6 ESC configured. I still have 1 ESC I can't configure ( I'm waiting on a new 3DR order to arrive).
Do you think your discovery is contributing to my inability to configure ESCs?
I am unable to arm the 5 configured ESCs. My thinking was that maybe I need to get all 6 ESCs configured before I can successfully arm the motors. However, your discovery sorta changes that.
I will try loading ArduCopter 2.7.4-beta; I've been using the default 2.7.3.
In MP > Firmware > Load Custom Firmware which choice do I select? Or is the beta installed some other way?
Once installed, do I just replace the 2.7.4-beta APM RC APM2.cpp file with the one you modified & provided?
Concerning your Turnigy Plush 25A ESCs which are not performing identically. Would flashing them with simonK firmware bring there performance more in line?
I feel for you, and alas, your problem might be the same as mine, or then it might not. The saying 'the journey is the destination' certainly applies here.
And like I said: the bad news is that you will have to build the code yourself. This means downloading a chosen version of the ArduCopter source+libraries, replacing or editing the .cpp file, editing APM_CONFIG.h, installing Arduino and pointing it to the ArduCopter directory, and finally building and uploading the firmware. After upload mission planner can be used as before.
It's reasonably straightforward, but a lot can go wrong as well and you must google your way to success yourself...
I hope to avoid having to flash the ESCs. They are all neatly wired up and I'm not really looking forward to undoing days of work.
Good luck !