APM - PPMEncoder

Для APM собрал PPM Encoder, поскольку на моем приемнике нет PPM выхода.
Собрал на такой плате.

Прошил AvrDude через программатор AVRISPMK2.

avrdude -P usb -c avrispmkii -p atmega328p -U flash:w:ArduPPM_v0.9.87_Arducopter-APMv1.x.hex

Фьюзы не менял, но где-то видел рекомендацию прошить их так:

-e -U lfuse:w:0xff:m -U hfuse:w:0xdf:m -U efuse:w:0xfe:m

Прошивку брал отсюда, сам не пересобирал, все работает, как надо. Throttle FailSafe работает.
Еще на основе этого же проекта можно сделать Diversity для приемников управления, например держать на борту 2.4GHz и LRS и выбирать из них лучший сигнал.

Для платы Arduino Pro Mini подключение по ISP программатора такое: 11 (MOSI), 12 (MISO), 13 (SCK), Reset, VCC, GND.

Для того, чтобы плата мигала своим светодиодом пришлось перерезать его дорожку к контроллеру и соединить D13 c D8. Делать это надо ПОСЛЕ того, как схема заработала.
Сигнал с приемника подается по-канально по возрастанию номеров каналов на выводы: D0 (RX), D1 (TX), D2, D3, D4, D5, D6, D7, D8. PPM снимается с D10.

16.05.2015
 Собрал еще такой же энкодер. Прошивка: ArduPPM_v0.9.87_Arducopter-APMv1.x.hex
Channels for encoder:

  1. D0 (RX) - на сервокабеле вместе с питанием;
  2. D1 (TX) - red;
  3. D2 - white;
  4. D3 - green;
  5. D4 - black;
  6. D5 - white + black;
  7. D6 - red + black;
  • 1803
Comments
AlcoNaft43

А хорошо ли добавлять еще одну точку отказа?

chanov

“Еще на основе этого же проекта можно сделать Diversity для приемников управления, например держать на борту 2.4GHz и LRS и выбирать из них лучший сигнал.”
Вот про это было бы намного интереснее …

Prikupets

Это не точка отказа а наоборот. Если приемник вешается и начинает выдавать noise на PPM выход, мозги будут заняты прерываниями. А так этим занят енкодер, и если енкодер от этого зависнет, мозги войдут в FailSafe.

Про Diversity - на странице проекта про это написано:

------------------------------------------
PPM redundancy mode
------------------------------------------

This mode is designed for dual PPM receiver setups, effectively enhancing reliability.

It does accept 16 channels.

This mode with two PPM sum inputs can be used for a single input, if a format conversion or missing signal failsafe is needed.

It is possible to use it for teacher / student use. In this case, each receiver needs to be paired with a separate transmitter.

To enable this mode, short the servo input channel 3 & 4 signal pins together using a jumper strap and use the channels 1 and 2 signal pins as PPM inputs.

  • Channel 1 is for the primary receiver

  • Channel 2 is for the secondary receiver

When this mode is active, the blue LED will blink like this on the APM 1.4 : Long - Short - short - short

How redundancy does work :

  • If channel 1 receiver has a valid PPM signal and no failsafe indication, then it will be selected regardless channel 2 status

  • If channel 1 receiver has a corrupted PPM signal or failsafe indication, and channel 2 receiver has a valid PPM signal, then channel 2 will be selected.

------------------
Best practice
------------------

It is recommended to use the more reliable receiver on channel 1 (the one with reliable error detection on it like most 2.4 Ghz RC radio systems).
-

The primary receiver failsafe needs to be set on channel 9 at 100% PWM value. This will be used for safely switching to channel 2.

If your primary receiver does not have a programmable failsafe, then it should fully cut its PPM sum output during lost signal condition so that the ArduPPM decoder can reliabily switch to the secondary receiver.

It is possible to change the channel used for switching to the secondary receiver by recompilation.

Note :

Each receiver needs to output a standard PPM sum signal :

Technically this translate to this PPM frame design :

  • positive shift
  • 1520 us central point
  • +/- 400 us PWM range (1100 us - 1900 us)
  • around 20 ms frame period
  • max channel count : 9 channels
    The channel count is automatically detected during power one. Then the decoder keep this setting until power off.

It is possible to use non standard receivers using those PPM frames formats :

  • Futaba PPMv2 mode 16 channels : 760 us +/- 250 us 20 ms period
  • Jeti PPMv3 mode 16 channels : 1050 us +/- 250 us 25 ms period

In those modes, channel count is extended to 16 channels.

The PPM encoder will translate the input format so that it can be understood by the APM PPM decoder.

Using one of those alternate frame formats ask for a firmware recompilation.