Исследование и устранение импульсных помех по шине питания контроллера APM 2.5.2

Часто на форумах приходилось читать про необъяснимые проблемы с работой контроллера APM 2.5, которые в полёте приводили к авариям, анализ логов показывал, что в момент аварии происходило зависание контроллера или сбои в работе датчиков. После аварии контроллер продолжал исправно работать, локализовать проблему не удавалось. Такого рода аварии, как правило, связаны с импульсными помехами по шинам питания и радиопомехами. В связи с этим и возникла идея посмотреть, как обстоят дела с качеством питания в контроллере APM 2.5.2.

Как известно, разводка питания в контроллере APM 2.5 выполнена следующим образом:

Шина Outputs и разъём питания (PM) отделены от внутренней шины защитным диодом и предохранителем. При подаче питания с ESC или разъёма питания на диоде и предохранителе создаётся постоянное падение напряжения порядка 0.3-0.4В. Именно поэтому, при подаче питания через разъём PM, напряжение на модуле UBEC должно быть 5,3-5,4В. Как вариант, можно подавать питание на контроллер с отдельного UBEC 5.0В, непосредственно на внутреннюю шину, то есть подключить его к выводам питания шин Inputs или Analog, но прошу заметить, я вам этого не советовал.

Исследуем классический вариант подачи питания контроллера, через разъем PM. Вообще в радиоэлектронике считается “плохим тоном” в сильноточные шины и шины с большими пульсациями тока, ставить последовательно диоды, но разработчики контроллера решили именно так, и это действительно оправдано в данном случае, так как иначе пользователи жгли бы UBEC или порты USB при их одновременном включении, к тому же это хоть и «кривая», но защита от переполюсовки источника питания.

Измерения проводились на полностью собранном квадрокоптере с полётным контроллером HexTronik HKPilot Mega V2.5 и подключенным к нему нижеследующим оборудованием:

  1. Система телеметрии 433МГц на UART0
  2. Сонар HRLV-MaxSonar-EZ на А0
  3. GPS-модуль UBLOX LEA-6H
  4. Конвертер Mavlink-to-FrSky на UART2
  5. Приёмник FrSky D4R-II с телеметрией в режиме CPPM
  6. Регуляторы Afro ESC 30А
  7. Плата питания с ключом на BTS555 и малошумящим UBEC на TPS5430
  8. Маломощные светодиоды на А6 и А7

В качестве измерительного прибора использовался осциллограф RIGOL DS1052E, щуп подключался на шины Outputs и Analog. Во время измерений запускался MissionPlanner с подключением к контроллеру через модемы телеметрии.

Вот вид сверху собранного квадрокоптера, с подключением щупа осциллографа на шину Analog:

Плата питания установлена внутри рамы и выглядит так:

Приступим к измерениям. Сначала была снята осциллограмма на шине Outputs:

Уровень пульсаций составил 35 милливольт, что в общем, достаточно хороший результат. Например, спецификация ATX допускает уровень пульсаций 50 мВ на выходе компьютерного блока питания по шине 5В при максимальной нагрузке, то есть не более 1% от величины напряжения питания.

Затем произведён замер на внутренней шине Analog:

Уровень пульсаций доходил до 320 мВ, что превышало уровень входных пульсаций с платы питания в 9 раз, и составляло 6% от уровня входного напряжения. Это очень много, хотя при этом коптеры на APM летают, без крупных сбоев, в основном … Впрочем основные датчики сидят на шине 3.3В, иначе им было бы «очень плохо», но нет уверенности в том, что такой уровень пульсаций в сочетании с какими либо электромагнитными помехами, не могут «повесить» контроллер или привести к его сбоям.

Путём отключения и подключения оборудования, выяснилось, что наибольшую долю пульсаций вносит модем телеметрии. В общем, это ожидаемо, так как в момент отправки данных, при выходной мощности 100 мВт, модем создаёт большие пульсации тока, а когда шина питания контроллера, развязана диодом, то большой ток на внутренней шине контроллера, просто просаживает напряжение до текущего прямого напряжения диода на данном токе. После того, как ток в цепи питания уменьшится, напряжение опять подтягивается до большего значения.

Вот график зависимости прямого напряжения от тока, диода MBR120, который установлен в контроллере. На контроллере без периферии у меня на нём падало по постоянке 0,26В с периферией 0,4В:

Установка фильтров питания на периферии (модем в частности), почти ничего не даёт, так как у него длинные пакеты, и сгладить пульсации тока на нём проблематично. Мне видится единственное решение сгладить пульсации на шине 5В контроллера, которая развязана от источника питания диодом - шунтирование её ёмкостью. То есть смысл в том, чтобы ток на шине перед диодом не пульсировал, чтобы обеспечивать всегда одно и то же значение прямого напряжения последовательно включенного диода.

Из осциллограммы видно, что большие просадки по напряжению низкочастотные, длительностью до 20 мс и более, компенсировать которые можно установкой конденсаторов большой ёмкости, поэтому в шину Inputs был установлен конденсатор 3300 мкФ, 6.3В:

Уровень пульсаций при этом упал почти в два раза, однако всё ещё, имел довольно большое значение:

Также высокочастотная составляющая шума имела большую амплитуду, поэтому было решено, продолжить борьбу с пульсациями. Для этого, с обратной стороны платы между всеми контактами + и - шин питания, были установлены керамические SMD конденсаторы типоразмера 1206 на 10 мкФ 16В, вот такие:

Такое решение позволило набрать приличную ёмкость, без какого либо увеличения габаритов. Согласен, решение не стандартное, может даже дорогое и не оправданное, но применительно к данному случаю, мне оно понравилось. Конденсаторы пришлось ставить на ребро, так как по-другому, красиво впаять их не получалось:

Также с лицевой стороны платы был установлен электролитический конденсатор 220 мкФ 10В диаметром 5 мм, к сожалению большего номинала и размера установить не удалось, иначе корпус не закрывался:

Суммарная ёмкость конденсаторов составила 470 мкФ. Хотя 8 из них висят в шине Outputs, в моём случае они там были не особо нужны.
После этого контроллер был установлен на место, всё подключено как было, кроме внешнего конденсатора. После включения и запуска обмена по телеметрии, результат был такой:

Порадовало то, что конденсаторы на контроллере значительно лучше гасят пульсации, чем внешний конденсатор большой ёмкости, так как кроме низкочастотной составляющей, хорошо справляются и с высокочастотной, за счёт применения керамических конденсаторов и расположения их непосредственно на контактах шины питания.
С подключенным внешним конденсатором, результат стал лишь немного лучше:

В итоге, удалось добиться уровня пульсаций не более 90 мВ, что в 3.5 раза меньше, чем было.
Стоить отметить, что с запущенными на 50% газа двигателями (с пропеллерами), уровень пульсаций не увеличивался, при этом потребляемый ток составлял 14-15А. Это значит, что силовая часть платы питания и регуляторы, не оказывают существенного влияния на UBEC и контроллер.

Выводы:

  1. При питании контроллера APM 2.5 через разъём PM, установка конденсатора большой ёмкости на внутреннюю шину 5В контроллера, это самый быстрый и мало затратный способ, существенно уменьшить уровень пульсаций напряжения на шине питания и как следствие, увеличить надёжность и отказоустойчивость контроллера.
  2. Модем телеметрии вносит наибольший вклад в уровень пульсаций по шине питания, при его использовании, необходимы дополнительные меры по фильтрации питающего напряжения на внутренней шине 5В контроллера.
  3. Керамические конденсаторы на шинах питания контроллера и небольшой электролитический конденсатор, установленный непосредственно на плату контроллера, лучше справляются с импульсными помехами, чем внешний электролитический конденсатор большой ёмкости.

И на последок: Я вам не советую выполнять описанные модификации контролера APM, это лишь повод для размышления, если вы что-то предпримите, то на свой страх и риск.

  • 4628
Comments
Dynamitry

Прекрасное исследование. Модем, включенный на полную мощность, сводил с ума ZERO UAV US-X4 и послужил причиной двух крашей. Пришлось поставить назад родной вай-фай модуль.

Hyperion

Интересно… а применительно к криусу?
Можно малой кровью так сделать?
www.dropbox.com/s/…/Безымянный2.png
на шине регуляторов керамику расположить?
А параллельно контактам к которым подключаешь БЕК электролит?
я правильно понял?

Alex-13

Вопрос, если не использовать модемы, достаточно только поставить электролиты на inputs?

=VIT=

а что мешает, запитать модем от отдельного бека напрямую, а с АРМ подать в модем только рх тх и землю?

Dynamitry

я так и делал. Не помогло

AvxMx
Hyperion;bt117541

Интересно… а применительно к криусу?
Можно малой кровью так сделать?
www.dropbox.com/s/…/Безымянный2.png
на шине регуляторов керамику расположить?
А параллельно контактам к которым подключаешь БЕК электролит?
я правильно понял?

Да в AIOP, это тоже актуально, если подавать питание с контактов ESC, но там не разведено питание внутренней шины на внешние контакты, кроме разъёма 5В где контакты приёмника и на разёмах I2C и Serial, поэтому навесить керамику в нем некуда, а параллельно ESC может ничего не дать. Электролит, да, можно туда вешать. Вообще в AIOP грамотно сделано, там развязано диодом питание с USB.

AvxMx
Alex 13;bt117543

Вопрос, если не использовать модемы, достаточно только поставить электролиты на inputs?

Я не знаю какой применяется UBEC и всё остальное, возможно будет достаточно, в любом случае электролит на Inputs достаточно эффективная мера.

AvxMx
-=VIT=-;bt117545

а что мешает, запитать модем от отдельного бека напрямую, а с АРМ подать в модем только рх тх и землю?

Да ничего, собственно, можно и так сделать. Но пульсации на шине и без модема приличные.

Hyperion
AvxMx;bt117567

Да в AIOP, это тоже актуально, если подавать питание с контактов ESC, но там не разведено питание внутренней шины на внешние контакты, кроме разъёма 5В где контакты приёмника и на разёмах I2C и Serial, поэтому навесить керамику в нем некуда, а параллельно ESC может ничего не дать. Электролит, да, можно туда вешать. Вообще в AIOP грамотно сделано, там развязано диодом питание с USB.

то есть если у меня питание идет не от ESC то заморачиваться с керамикой параллельно ± контактам что идут на ESCи бессмысленно? Есть только один способ улучшить работу платы это только впаять электролит параллельно питающему 5В?
И какой принцип выбора емкости электролита? Нужен именно на 220мкф или можно больше ставить?

KAPACb

Спасибо,очень познавательно.Подскажите еще пожалуйста,где взять такой чудесный Mavlink-Frsky конвертер ?

AvxMx
Hyperion;bt117576

то есть если у меня питание идет не от ESC то заморачиваться с керамикой параллельно ± контактам что идут на ESCи бессмысленно? Есть только один способ улучшить работу платы это только впаять электролит параллельно питающему 5В?
И какой принцип выбора емкости электролита? Нужен именно на 220мкф или можно больше ставить?

В общем, если питать не от ESC, а UBEC с низкими пульсациями, то для AIOP ничего не нужно. Если всё таки ставить ёмкость, то для AIOP большую нет смысла, от 220 до 680 хватит, дальнейшее увеличение, думаю ничего не даст.

AvxMx
KAPACb;bt117578

Спасибо,очень познавательно.Подскажите еще пожалуйста,где взять такой чудесный Mavlink-Frsky конвертер ?

Сам делал, если нужно, могу скинуть рисунок платы в Sprint-Layout и схему.

filip95
AvxMx;bt117584

Сам делал, если нужно, могу скинуть рисунок платы в Sprint-Layout и схему.

Если можете пожалуйста скинте мне тоже на почту filip95@mail.ru
У меня сейчас пульт с FrSky DHT и экранчиком FrSky FLD-02, приемник D8R-XP. Получается я смогу видеть на этом экранчике данные гпс, напряжение и тд?

AvxMx
filip95;bt117615

Если можете пожалуйста скинте мне тоже на почту filip95@mail.ru
У меня сейчас пульт с FrSky DHT и экранчиком FrSky FLD-02, приемник D8R-XP. Получается я смогу видеть на этом экранчике данные гпс, напряжение и тд?

Да сможете, единственное названия параметров могут не соответствовать и с размерностью проблемы возникнуть, но если захотеть, можно поправить в исходнике к конвертеру чтобы он всё правильно отдавал, вечером вышлю.

Sevick
AvxMx;bt117624

Да сможете, единственное названия параметров могут не соответствовать и с размерностью проблемы возникнуть, но если захотеть, можно поправить в исходнике к конвертеру чтобы он всё правильно отдавал, вечером вышлю.

Хоббикинг конкурс идей проводил (и вроде проводит). Если есть хорошая идея - они готовы ее реализовать и даже платить отчисления.
По-моему полезная платка была бы…

alexeykozin

спасибо за исследование.
в дополнение можно было кратко рассказать что такое ESR конденсатора.
это немного бы приоткрыло завесу мистики для непосвященных почему большой конденсатор не справился а маленький + средний сработал