paparazzi-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Paparazzi-devel] PPM radio woes


From: Gerard Toonstra
Subject: [Paparazzi-devel] PPM radio woes
Date: Sat, 12 Jan 2013 17:38:09 -0300

Hi all,

I was on holiday and busy setting up my company. Now that's almost finished and I'm back working out some pending issues before flight testing.

I'm flying using the ppm system and the ezuhf configuration I made and there have been two issues I was unhappy about:

1. When a couple of channels would go to the minimal position (operating a switch, banking left), the servo's locked up. I worked around this by flipping an unused channel to 1920us.
2. The first channel was never recognized and skipped for some reason, so I had to copy ch. 1 to ch.6 to get a readout.

The good news is that both issues are fixed now and pull requests submitted.

1.  The first is due to a fixed frame timing on an 8ch. receiver with 7 ch. radio. Only the ppm's of the 7 channels are received, resulting in an end-of-frame marker that's a bit longer than usual. The fix was to set the sync_max to 14940, which is essentially 22500-(7*1080). The usual setting would be 13500 or so, which means that ppm frames were considered invalid since the marker went over this setting.

2. The second took me a while, but eventually tracked down to the fact that the ppm_arch.c code on stm32 doesn't do anything with the pulse_type setting. It always assumes rising edge triggering. I've added the code to determine the edge triggering based on the radio file and lo-and-behold... the first channel appeared in the readouts.



From what I gathered, energy control is now available on v4.2. Should I use the stable branch or is it recommended to still use master for that?


I'm only getting started with the settings here, but this post suggests that 4 gains are sufficient to make it work?:

http://lists.nongnu.org/archive/html/paparazzi-devel/2012-12/msg00084.html

does this mean it should suffice if I set:

<define name="ENERGY_TOT_PGAIN"                value="0.35" />
    <define name="ENERGY_TOT_IGAIN"                value="0.25" />
    <define name="ENERGY_DIFF_PGAIN"            value="0.30" />
    <define name="ENERGY_DIFF_IGAIN"            value="0.20" />

and leave all the rest out?

G>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]