Mateksys F405-Wing - Servo Issue [Troubleshooting Servo BEC/Power issue]

JasonK

Participation Award Recipient
I am having trouble getting my servo outputs to work on my Flight Controller.

What I have done so far:
  • Rechecked/flowed all the relevant solder joints (headers don't come pre-attached)
  • Continuity checked all of the relevant pins (no way to verify good signal to the signal pins, but no solder bridges)
  • Validated 5V between ground/Vx pin on servo headers
  • Validated that iNav shows the servo outputs changing
  • Validated the servos & all wiring with a servo tester
  • Tested with only 1 servo connected
  • Tested with multiple different servos
  • Set the servo refresh to a few different frequencies (including the lowest) in iNav
Symptoms
  • Servos make a clicking noise most of the time
  • If I move my stick _very_ slowly, the servo will start following the stick, after I move through the position the servo is currently in, but if I move it quickly, it goes back to the clicking noise.
Relevant information:
  • FC has a separate BEC just for the servo headers
  • FC can spin up the motors (different pins on FC)

Ideas for other tests:
  • separate BEC, custom harness, so servo runs off of different BEC, but uses FC's output signal (haven't done this yet as it would require making a custom cable to 'mix' the 2 FC & BEC, safely)

Looking for any other ideas that I might want to look at. My current thought is that some how the BEC on the FC is browning out under way less load then it should be, but other then my ideas for other tests, don't have a good way to verify it... nor a way to fix it if that is in fact the issue.
 

JasonK

Participation Award Recipient
Since I expect someone to ask, here is the solder joins, which look worse in the photo then they did when I was trying to clean them up. Any suggestions on how to get those joins to look cleaner would be helpful. I was having a really hard time getting the solder to flow over the board pads, even with a heavy wetting with Flux.

1611330503303.png
 

JasonK

Participation Award Recipient
Further Tests/Updates:
  • Scrubbed solder joins to clean up left over flux/etc.
  • Vx to Vx pin resistance reads ~0.1 ohm on my meter (which seems to imply a good electrical connection)
  • Separate BEC setup, servo worked perfectly - 100% -> so output signal wire is good
I think this narrows it down to an issue with the Vx BEC/supply on the board or something weird with the solder joints that would show trivial resistance, but would change in characteristics when under load.

Any thoughts here would be helpful...
 

JasonK

Participation Award Recipient
I hooked up my Arduino to run 2 analog reads, one on the servo Vx pin and one on an empty Vx pin, to see if the whole rail was dropping voltage or just the voltage to the servo in question. There is a very clear match in behavior between the rail (non-loaded) pin and the pin that the servo goes to (I basically put in a tap, so I could measure the servo lead going out). The difference between the non-loaded pin and the loaded pin stays mostly close to zero, with a few spikes showing the loaded pin at a lower voltage then the reference pin, but always less then a 1V difference. I am sequentially measuring the voltages in the code and most of the spikes were one measurement narrow, so this could be related to timing (however I would expect to see spikes both above and below) or an indication that the issue is slightly related to the servo's feed, but mostly related to brown outs).

so I could read the graph better, I negated the voltage on the servo V, so they would be mirrored around the y axis, it appears that they drops are in sync, which seems to imply an issue with the BEC on the board, being unable to supply the needed current.

1611341512698.png

I think this is solved (board is no good), unless someone has any other ideas.

The only idea I have remaining, would be to try putting a capaciter on the servo rails, to see if something to help 'soften' the spikes would smooth that out, however, when I used my arduino as the BEC, it handled it just fine, so I would expect the BEC on the FC to do so as well.
 

JasonK

Participation Award Recipient
I did the same voltage test with a Flite Test ESC/BEC combo... and the lowest the voltage dropped was less then 5% on the servo line and ~1% on the reference line.

I tried a capacitor at the break out board I was using to tap in with the FC and it just made the brown outs last longer as it took time for the BEC to 'recharge' the cap. Given that the same brown out (and duration) was on the reference pin, the voltage was dropping before the solder joint (which was the only other thing I could think of besides the BEC itself).
 

PsyBorg

Wake up! Time to fly!
Since I expect someone to ask, here is the solder joins, which look worse in the photo then they did when I was trying to clean them up. Any suggestions on how to get those joins to look cleaner would be helpful. I was having a really hard time getting the solder to flow over the board pads, even with a heavy wetting with Flux.

View attachment 190005
Looks like they conformal coated that entire board solder pads and all. Take a jewelers screwdriver or a razor blade and GENTLY scape the coating off the pads before trying to solder. Test this on one of the unsoldered ground pads.

As for the servo power thing. check the rated current capacity for the onboard regulators. you may be drawing too much from them. Most of them tiny onboard regs are only rated for 1 MAYBE 2 amps tops.
 

JasonK

Participation Award Recipient
The servo BEC is rated for 6A per the documentation, I only had 1 servo connected while testing.

if it was an issue with the solder joins, I don't think the pull would have browned out the other pin almost 100% in sync with the servo line. or were you just pointing out what was likely causing the issue getting the solder to flow on the joints?
 

PsyBorg

Wake up! Time to fly!
The servo BEC is rated for 6A per the documentation, I only had 1 servo connected while testing.

if it was an issue with the solder joins, I don't think the pull would have browned out the other pin almost 100% in sync with the servo line. or were you just pointing out what was likely causing the issue getting the solder to flow on the joints?

Just pointing out the coating will make a first joint nearly impossible until its all burnt off. Heat melts it but does not always remove it. Scraping the pads clean makes a huge difference if they were coated.