Hey guys,

I've just finished building my APM and have been going through the manual step by step. I seem to have hit an issue with the servo output for the dancing servo test. Ch1-4 are really jittery but 5-8 work fine. I guess it has something to do with the mux chip but dont really know what is going on.

-No servos plugged, in power on (+5v to the pwr pin), everything looks happy, all leds on no flashing
-power off
-If I put a servo on ch5, pwr on, the servo sounds good no jitter just dancing! and the mux led flashes slowly, looks to have some relation to the dancing pattern
-power off
-move the servo to ch2, pwr on, the servo sounds like its stalled moving jittery only now and again, mux led flickers like crazy (pwr off nice and quick before something goes!)

Any ideas?

I did note this in the manual:
"Also note that some of the early boards had the fuses in the Atmega 328 chip (PPM encoder) misprogrammed. If so, your board will not read all channels and will show glitchy servo output. If this is the case, please return it to Sparkfun for reprogramming."

Sounds likely but I really don't want to return the board as I just got it and it would be like giving an xmas presents back to Santa! :(

Views: 537

Reply to This

Replies to This Discussion

If that is indeed your problem, you can reload the firmware yourself. Tutorials are here.

Before you do that, however, load the full APM software and test the RC inputs with the Command Line test programs. I'd be interested in seeing the data--if Sparkfun still has QA problems with their firmware loading, we'll need to inform them.
Ok no problems; anything to help out a great project, thanks!! (I was doing something similar with an AVR32 for my quad, but APM looks better now with the quadCopter option as well as the fixed wing stuff! Although the AVR32 supports RTOS and threading which is nice)

So, I uploaded the APM beta1.0 and accessed the CLI.
If I run the radio test with a servo connected to any of the first 4 output channels I get this:

setup] radio


Radio Setup:

Move both sticks to each corner. Hit Enter to save: Saving:
CH1: 1498 | 1499
CH2: 1498 | 1499
CH3: 900 | 900
CH4: 1498 | 1499
CH5: 1000 | 2000
CH6: 1000 | 2000
CH7: 1000 | 2000
CH8: 1000 | 2000



If I then reset the pwr and do a factor reset then run the test again without any servos connected I get this:

ArduPilotMega] setup
Setup Mode

IMPORTANT: if you have not previously set this system up, use the
'reset' command to initialize the EEPROM to sensible default values
and then the 'radio' command to configure for your radio.

setup] reset

Type 'Y' and hit Enter to perform factory reset, any other key to abort:
FACTORY RESET

setup]
setup] radio


Radio Setup:

Move both sticks to each corner. Hit Enter to save: . Hit Enter to save: Saving:
CH1: 1200 | 1499
CH2: 1200 | 1499
CH3: 900 | 1200
CH4: 1200 | 1499
CH5: 1000 | 2000
CH6: 1000 | 2000
CH7: 1000 | 2000
CH8: 1000 | 2000
setup]


With the servo plugged in the mux led flickers again. Ch3 is interesting though. I tried swapping my receiver out for a little servo tester I have which has fixed limits but Ch3 seem to give a different range than the other 3 channels when using the little servo tester which is strange.

I've tried different servos and better power supply other than usb and nothing changes. I'll give reloading the firmware for the PPM chip a go.

Cheers,
Scott
Ok, after a bit of reading and fiddling I got it working. With two servos connected, doing the radio test gives me this:

Radio Setup:

Move both sticks to each corner. Hit Enter to save: Saving:
CH1: 1200 | 1499
CH2: 1200 | 1499
CH3: 999 | 1200
CH4: 1200 | 1499
CH5: 1000 | 2000
CH6: 1000 | 2000
CH7: 1000 | 2000
CH8: 1000 | 2000

Which looks fine. No flickering on the mux led.

I first tried reloading the firmware using the manual process but found it didn't change things.
Seemed to me that it may be the brown out protection, since the servos probably drop the +v rail when doing stuff, and it looks like there isn't much filtering to the servo +5v rail. So reading the fuses I notice that the brown out was set to 4.3v which seems quite high, more than likely the issue. So I set it to 1.8v hit program and voilà it all works nicely. Looking through Jordi's batch file confirms this as this is the setting used in the batch.

Here is the old settings:

>
And the new:


My personal preference is to de-solder SJ1 and power the radio gear & APM separately. On the desk the APM uses the usb and I use a bench supply for the servos. In the air, I use one (quadrotor) of the ESCs to power the radio etc and a separate BEC for the APM. This also fixes the problem above, although I' still reprogram the fuses on the PPM chip.

Hopefully this will help anyone else with the same issue. It may be worth updating the wiki with some of this?
Thanks for this info Scott. Seems I have the same problem. At least now I know why!

If I power the board by USB with servos plugged in they’re all jittery and when I do the radio test in the CLI, it doesn’t see my tx inputs; then when I pull the servos out (even without resetting the board) the serial monitor starts seeing my inputs just fine.

When powering the board from my RC system there doesn’t appear to be a problem. I’m using a “UBEC” (switching mode regulator) with the jumper set to 5v to provide the power, which according to my £3 multimeter is providing 5.2v when there’s no load.

Unfortunately I don’t own an ISP, so I can’t double check the BODLEVEL setting / change it to 1.8v. Was kind of hoping to maiden my plane tomorrow as well, the weather is looking great. Bit scared to now :(
We really do recommend that you reflash that firmware. AVR programmers are cheap, but if you really don't want to get one you can return the board to Sparkfun and they'll reflash it for you.

BTW, Sparkfun has identified the problem in their process that was skipping that fuse, and has rectified it, including reprogramming all current boards in stock. So this problem should soon be history. I know that's little help to those who currently have the problem, but one way or another we'll get you all sorted out asap.
I found an RS electronics trade centre near to me, and picked up a programmer this morning. As you say Chris, it's not that expensive. I checked the brownout detection level and it was 4.3v – Identical to Scott’s picture above. I bought my APM from CoolComponents in the UK on 16th May, which I believe was from their first batch.

Followed the instructions on the wiki manual, all is now fixed. Thanks guys!
Great to hear it. Thanks for the update. All APMs shipped from Sparkfun should now be right...
Hi All,

I'm having the EXACT same problem, 0-3 outputs, go mad with dancing servos, 4-7 are OK. I've ust received the AVRISPmkII programmer, the thing is that I want to try first changing the brown out. Can please someone give me hint or a couple of lines on hout to proceed, I've just installed the AVR Studio and the WinAVR, but now I'm stuck, how can I check the value of the Brown Out, how can I get the JTAGICE mkII program runing in windows mode as in the pics Scott show?

Thanks in advance, I've got my quad ready to fly, only need to correct this.

Dani
Dani, instructions on fixing the fuse are here.
Thanks, I got it back in shape!!!

Dani

Reply to Discussion

RSS

Groups

Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service