Is it normal that the servos jitter if the ACM is in fly mode?
The jitter can not come from electrical noise, because there is no jitter at all as long as I am in CLI mode and e.g. setting up the board with the "heli" commmand.
In my opinion it is triggered by the noise of the gyros and accelleration sensors, so the ACM wants to correct by swashplate movements, which leads to the servo jitter.
Do you have the same effect or are all your servos "quiet" as long as the board is not moved?
Would it help to solder the filter on the oil pan?
No telemetry connected.
I searched through the forum and could not find a good explanation yet.
Looks like the ACM is not sending correct signals to the servos.
This might also explain why the servos become really hot after a while.
Maybe I need to load the Ardupilot software and give it a try. Just to see if I can get correct signals with another software.
Reading the signals from my radio works fine. No issues with radio setup. It's probably just what comes out of the board.
Is it a problem that I am using non digital servos?
Marianne brought up the same point about digital vs analog servos so you're not alone. I'm using digital servos and I don't see a problem. I've checked up with some of the dev team (Doug and DrZiplock aka Mike Smith) and they don't see this issue on the plane code (APM). There are some differences in the code for updating the servos between APM and ACM though. In particular the use of this call which forces the message to the servo out faster:
So you might want to try commenting those lines out of the heli.pde code to see if it helps.
..but the leading theory is that although it may not be the xbee, you have some other interference going on. Maybe an uneven power supply or noise from one of the sensors which is causing the jitter.
Is it just a hum that you're hearing or can you actually see the servos moving? a video would be cool as a picture speaks a thousand words!
That would make sense, if the modulation is wrong then it will heat servos up.
Futaba make a 1520uS and a 750uS servo if they are not correctly set with the gyro (GY611) then it will cause all sorts of servo issues.
Is there another way to setup the modulation in ACM?
I believe I have the slower servos and thus they do not work together with the standard 2.0.42 software version.
Thats our problem last time. We bought a set of digital servo and there's no jittering at all. So I think we should all use digital servos.
I just tried how it works with my analog servos with APM.
There everything is fine, servos are controllable.
So in ACM the frame rate is too high. Probably set for digital servos.
I will try now to change the code as Randy suggested.
Hopefully this will help to also make ACM work with analog servos.
That helped. I edited the code and load it via Aduino.
Now it looks and sounds much better.
Hopefully that's it and I can start flying soon ;)
Is it worth adding this to the wiki to save others from having the same problem randy?
Not everyone will run digital servos and some analogs are just as fast but a lot cheaper.
Ok, well, learn something new every day. i'm a little surprised that was the problem. I can add a parameter into the code which controls the update speed of the servos. The update rate would need to be a multiple (divisble by?) of the main loop speed which is 250hz. so the available speeds would be 250, 125, 83.3, 62.5 and 50hz.
Of course we might hide those details and have the AP_MissionPlanner and CLI give you the option of digital/analog for the servos and then we pick one of the update rates that seems to work. Opinion in the dev team is that >50 will definitely work..maybe 83.
At the lower servo rates we'd output the average of the past 2,3 or 4 cycles...sound ok? Who knows, with the digital servos we might even get smoother performance at 125 rather than 250.
i think its got to be worth trying this, as even my digital servos are not really that smooth. yeah lets try 125
I'll quite happily do some tests randy if you want to send me over a code change.
On a slightly different note. when i go through the heli setup in cli, my servos over travel by quite a bit, so that when i teach the acm my collective pitch, roll and aileron i'm only using about 20% stick travel, so to get full stick movement on my transmitter i have to dial down the end points high and low to about 30%. This means that we lose resolution. What do you think?