Цифровой тестер ESC


Проблемы при испытании ESC.
Когда начал заниматься коптерами, то сразу решил, потребуется испытания винтов, моторов и регов на стенде. А значит, потребуется сервотестер.
Т.к. это обычно бывает в начале нового дела, когда надо было найти кучу информации, разбираться было некогда. Взял первый подходящий по параметрам с ХК KV-метр hobbyking.com/…/k2-kv-rpm-meter-with-motor-speed-a…. Вроде обещано было неплохо. Сервотестер с % газа заодно с тахометром, KV-метром и вольтметром.
На самом деле. KV-метр особо не нужен (да и пересчитать всегда можно). Тахометром пользоваться под нагрузкой не возможно. Как недавно выяснил из-за особенности сигнала с рега, сигнал раздваивается (лезут ошибки). Надо подбирать RC фильтр для подавления шума (хотя фильтр там есть, но не справляется). Подавить просто сопротивлением невозможно. В общем проще не мерить. Ну и основная проблема сего китайского чуда – пришел с бракованным регулятором напряжения. Причем регулятор имел повышенное потребление все время, но сгорел только напоследок. В результате пока пользовался понемногу, вроде работал, но как только потребовались большие испытания, то начал выжигать защитные диоды. При первом сгорании не повезло, заодно пострадал стабилитрон питания драйверов на ESC LittleBee 20. После второго выгорания и было принято решение о создании цифрового тестера, маленький плюс от старого – позволил определиться, что требуется для тестера.

Основная задача – получение стабильного повторяющегося импульса заданной ширины, без влияния на него погрешности потенциометра (для получения заданной тяги) и увеличение газа с разным шагом (для проверки разгона ВМГ).
В ходе работы вспомнил, что не помешает измерение оборотов. Измерение KV и напряжения не закладывал принципиально. Напряжение можно измерить вольтметром, а KV высчитать.
Типовое решение.
Скорее всего, на рынке уже имеются цифровые тестеры, но желание их искать даже не возникло.
К моменту появления задачи в наличии уже были ардуино нано и ардуино про мини на атмеге 328, экран, кнопки, оптические датчики

Варианты.
1-й тестер был изготовлен из arduino nano V3.0. Достоинство: минимальное количество деталей (сама плата, кабель УСБ и ноут). Заодно удобно использовать для прошивки ESC с прошивкой БлХели (_С) и последующей проверки (подбора) настроек БлХели (_С) для ПВМ. Для удобства использования (подсоединения) удобно припаять всего 2 контакта – GND и D3 (ну или только линейку от земли и до края) чтобы потом не надо было искать контакты. Даже после появления 2-й версии тестера удобно использовать для подбора параметров PWM.
Порядок действий. Подключаем ESC к 3 цифровому выводу. Прошиваем ESC с помощью БлХеллиСьют. В ней же настраиваем. После чего прошиваем ардуино прошивкой servotest, выводим монитор на ноут и тестируем.
Ввести можно целые значения от 1000 до 2000. При вводе числа меньше 1000 получится 1000 (т.е. если ввести, например 0, то двигатель остановиться). Больше 2000 – 2000. Ограничения. Т.к. в программе использована стандартная 8 битная библиотека ардуино для серво, то реальный шаг составляет около 8 мкс (это 0,8% газа, на китайском был 1%), хотя вводить можно любое число из диапазона.
Что-то подобное можно сделать на STM32F4 от Амперки wiki.amperka.ru/js:iskra_js. Для нее уже есть стандартная библиотека на 16 бит для серво (и надо примерно 2 строчки программы), а т.к. принцип ваншота и мультишота не отличается от ПВМ, то платки хватит вплоть до мультишота на 32К с любым шагом. А т.к. в этих протоколах более 1000 шагов нет, то для мультишота достаточно шага 0,1%. Только цена уже другая.

2-й тестер. Потребуется:

  • arduino nano V3.0 (удобно загружать разные прошивки и загрузчик почти не нужен, если его не удалять). Например, такой ru.aliexpress.com/item/…/32664577152.html. Обращаю внимание, что бывает 2-х версий только с регулятором на 5В и с 2-мя регуляторами на 5 и 3,3В. На фото снизу 1 или 2 микросхемы соответственно. Лучше с 2-мя на будущее, если понадобиться полноценные 3,3В.
  • Дисплей, датчик черной линии и кнопки взял из кит набора, но можно купить и по отдельности.
  • Дисплей для ардуино LCD1602 ru.aliexpress.com/item/…/1979254279.html.
  • для измерения оборотов задействован датчик черной линии, т.к. дальше предполагается использовать его для вибростенда. Он устойчив к свету в отличие от ИК датчика расстояния, обращаю внимание у ИК датчика расстояния другая конструкция самих датчиков.
    У меня типа такого ru.aliexpress.com/item/…/32359428016.html, но можно ru.aliexpress.com/item/…/32654587628.html, ru.aliexpress.com/item/…/32579213813.html, ru.aliexpress.com/item/…/32556676534.html.
  • кнопки не фиксируемые 5 шт., можно любые. Взял большие, чтоб удобно ложились под палец.
  • кнопка фиксируемая 1 шт. Работает на разрыв. Можно использовать тумблер.
  • потенциометр на 8-10 кОм. Для регулировки контраста экрана. Выпаял с разобранного старого телевизора. Можно любой – больше влияет на компоновку.
  • конденсатор примерно на 100 нФ (для фильтрации входного сигнала с датчика оборотов). Ставил 1000 пФ, вход все равно видел помеху с датчика оборотов. 1 мкФ уже заваливает фронт, что приводит к сбою измерений. Использовал чип конденсатор, удобно. Припаял между землей и 2 цифровым входом (вход датчика оборотов) сразу на плате нано после припайки проводов.
  • выводы на ЕСК, питания и датчик оборотов - с разобранных компов.
  • для питания пробовал использовать такой импульсник www.aliexpress.com/snapshot/8489547664.html?orderI…, отрегулировав его примерно на 6,5В. После того как сгорел второй решил поставить LM2596S, только надо брать, чтобы на входе был конденсатор на 50В. После того как сгорел 2596 пришло понимание, что при определенной комбинации БП возможно самовозбуждение и выгорание импульсника. Все же 6S жесткое питание.
    3-х ступенчатый линейный регулятор вполне должен справиться.

Кабель УСБ вывел для удобства смены прошивки. Если планируется использовать только 1 протокол, то можно не ставить. Или закрепить плату нано так, чтобы выход УСБ был доступен.

Схема распайки приложена в экселевском файле. Плату носитель не использовал, т.к. применяется 2 большие платы, все соединения на проводах (удобно использовать шлейфы). Для крепления кнопок использовал корпус. Фото. Вид на тестер и назначение кнопок
Вид изнутри .
Датчик оборотов .
Чувствительный элемент датчика . Корпус двигателя закрасил обычной замазкой поверх надписи, иначе датчик будет реагировать на надпись.

Хексы протоколов и программа прошивки выложены в папке www.dropbox.com/sh/…/AABoiDaVU4VhFY-i8WzpMNc5a?dl=…, т.к. используются нестандартные библиотеки для ардуино, так проще прошивать. Выкладывать исходники не планируется.
Особенности. Выложены прошивки для ПВМ, ваншот125_2К и мультишот 32К (где К –кГц, частота ШИМ сигнала). Принцип протоколов не отличается, разница только в частоте и ширине импульса (то, что выложено в интернете про ваншот не соответствует действительности и технически не имеет смысла, т.к. скорость обмена увеличена за счет увеличения частоты сигнала). Для ПВМ и ваншот125 заложены 1000 шагов, для мультишота 160 шагов (ардуино к сожалению не позволило сделать шаг меньше 0,125 мкс).
Измерение оборотов усредняется за 30 измерений. При меньшем значении мелькают последние 2 цифры до не читаемого состояния, при большем – наблюдается заторможенность в показаниях.
Для кнопок заложена функция устранения дребезга контактов, но только на короткое время. Поэтому нажимать надо коротко. При длительном нажатии включается функция прокрутки.
Включается в 2-х режимах. Или режим калибровки, или начало работы (если калибровка не требуется). Судить можно по ширине импульса. Если передернуть кнопку калибровки в работе (нажать/отжать), то можно экстренно остановить двигатель. При этом максимальный режим не включиться (максимум появляется исключительно при включении).
Для установки режима сначала используется средний или большой шаг, а потом минимальный шаг.

Возможности использования тестера приведено на видео

.
Выводы испытаний.
Если ваш контроллер использует ПВМ, то не рекомендуется ставить на коптер ЕСК с Блхели из-за грубого шага регулирования (примерно 250 шагов). Это касается регов с любым мозгом (атмега или силабс). Причем в старых прошивках ЕСК заметна еще и неравномерность по шагам.
Если нужен ПВМ, то правильнее использовать ЕСК с Блхели_С, ну или Симонк.
Если же полетник поддерживает ваншот125, то для Блхели лучше установить этот протокол, при этом сам ЕСК рекомендую прошить 14.8 (в старых прошивках может не быть ваншота), т.к. в этом случае уже будет 1000 шагов.

  • 2896
Comments
SergejK

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

arb

А получилось ли у вас сравнить на этом стенде стандартный саймонк и мой правленый?

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

SergejK

Не знаю, какие вкусности вы имеете ввиду, для точной стабилизации мне была важна максимально точная работа моторов, чего со встроеной в регулятор задержкой получить никак не удавалось.
Кстати насчет вкусностей, на своем минике решил провести давно запланированый тест о том, дает ли что либо для стабилизации переход со стандартного 400Гц PWM хотя бы на OneShot125. Мой вывод был как и предполагалось - один только переход на более шустрый протокол передачи сигнала регулям не дал вообще ничего заметного.

arb

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

Это интересно и стоит проверки. Буду пробовать, сначала только разберусь как прошить свой симонк (пока их не думал прошивать).

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

Согласен. Будет другая программа это можно будет зафиксировать на графике, чтоб это было не на ощущениях.
Недавно пришло в голову, как народ вообще может тащиться от мультишот и дшот600 если частота ШИМ фазы всего 24 кГц, а частота луп у этих 2-х протоколов 32 кГц (еще с какого-то перепугу МШ считают быстрее ДШ, когда частота луп одинакова). А еще ведь саму фазу надо заполнить несколькими импульсами ШИМ. Получается контроллер послал сигнал и ждет кучу своих тактов пока мотор хоть куда-нибудь сдвинется. И это только в теории. А на практике надо еще разницу между ПВМ и ОШ125 измерить.

Greyukrck

Хотелось бы узнать Ваше предпочтение ну или мнение об использовании типа прошивки ESC при использовании контролеров класса Пиксхавк и им подомным.
С ув., Сергей!

arb

У пиксов на сегодня реализован только обычный ПВМ. Заявленный ваншот125 пока не работает. Исходя из этого не рекомендуется Блхели (всего 255 шагов газа против 1000 у остальных, слишком грубо для таких мощных контроллеров). Единственно кого это не касается это F4BY, можно любой (проблема устранялась поддержкой этого контроллера отдельно).

Следующая проблема ВМГ. Если используете самозатягивающиеся винты, то Блхели не рекомендуется, а Блхели_С использовать нельзя из-за тормоза откручиваются винты (улетают при остановке). В этом случае остается Симонк.
Если же используете плоские карбоновые винты, то Блхели_С будет самый лучший вариант (маленькие легкие реги, маленькие минимальные обороты - получается большой динамический диапазон для управления), но все равно надо аккуратно обращаться с тормозом. Потом Симонк. Повторю - Блхели не рекомендуется.

arb

Хотелось бы узнать Ваше предпочтение

Я лично пока склоняюсь к Блхели_С, но у меня F4BY и только карбоновые винты.
Пока, потому что тормоз и некоторые нюансы могут заставить уйти на Симонк (пока еще идет стадия наработок, изобретений и испытаний).

Greyukrck

Спасибо за ответ. Не обращал раньше на эти моменты особо внимания. Есть у меня F4BY в связке с пауками 30А. Изначально они были на Симонке. Ради эксперимента перепрошил на БлХели 14,8 - визуально стало лучше, короче так и оставил.
Некоторое время назад получил пиксрейсер и попервах собрал по быстрому квадр на раме DJI F-450+E300+ESC 15A OPTO = дрова. Благо снега много, раз пять упал, решил переделать. Сменил DJI на Пауки с БлХели, эти хоть калибруються, результат тоже не радует, жуткий унитазинг и беда - снег расстаял!!! Суть поста, спасибо за подсказку, наверное буду прошивать в Симонку. А если и дальше не полетит - выпаяю эти новые разъёмы из Пиксрейсера, и перепаяю их на F4By? как Вам идея?
Только вот засада, собираю попутно гексу на 3605 Емакс 650КВ + Пиксхавк и думал LitlleBee 30A использовать, по видимому всё таки надобно XRotor устанавливать.
Извиняюсь, что немного не в тему.
С ув.,!

arb

Ради эксперимента перепрошил на БлХели 14,8 - визуально стало лучше

Меня учили не верить своим ощущениям, или хотя бы их привязывать. Основа измерения, ощущение дополнение (интуиция это несколько другое и требует проверки).
Можете ознакомиться в других записях дневника и с другими результатами тестов ЕСК.

DJI F-450+E300+ESC 15A OPTO = дрова. Благо снега много, раз пять упал, решил переделать.

Возможно был виноват и какой-то рег. Когда силовой ключ только начинает подгорать, то рег тянет чуть хуже остальных. На глаз это не видно, можно только по тесту узнать. Ну или когда совсем откажет. Но пока дойдет до этого коптер не раз успеет упасть.

результат тоже не радует, жуткий унитазинг

Обычно унитазинг связан с компасом. Пока про влияние ЕСК на унитазинг не слышал. Пока есть отзывы, что с 3.3 (3.4) проблема решена.

выпаяю эти новые разъёмы из Пиксрейсера, и перепаяю их на F4By? как Вам идея?

Про пиксы только читаю, не проверял. По идее должно работать почти одинаково. Но я Ф4БУ больше доверяю. Меня в нем все устраивает, что не скажешь про пиксоподобные.

и думал LitlleBee 30A использовать

Эти тестил. Сильно греются, дошло до волшебного запаха. Настоятельно не рекомендую.
В ЕСК с Блхели (_С) стандартом на сегодня считаю BumpBee30 (_S). Конструкция почти идеальная (недочеты если и есть, то только из-за чужой недоработки). Но даже ЛБ30_С будет лучше.

Извиняюсь, что немного не в тему.

Это дневник. Большого смысла обсуждать про реги в 3 темах нет. А про тестер, я так понял, и так все понятно (или не требуется).

Greyukrck
arb;bt153750

А про тестер, я так понял, и так все понятно (или не требуется).

Конечно требуется! Спасибо Вам большое за Ваш труд!!!
Только что заказал недостающие элементы и через две-три недели буду начинать сборку.
А описание изготовление тестера действительно великолепное. Как бы всё понятно, но конечно при сборке если возникнут вопросы и если позволите - буду обращаться.
А про BumpBee30 (_S) да, я читал где то что хороши. Хочу купить таки такие, но смотрел их на Али, но что то очень картинка не похожа на ту что на американском сайте ru.aliexpress.com/item/…/32787781238.html
Гляньте, такие можно покупать?

arb

Как бы всё понятно, но конечно при сборке если возникнут вопросы и если позволите - буду обращаться.

Да, пожалуйста.

А про BumpBee30 (_S) да, я читал где то что хороши. Хочу купить таки такие, но смотрел их на Али

Здесь shop.myairbot.com/index.php/bumpbee-s.html дешевле. Сейчас примерно по 600 за шт., продают комплектом из 5 шт.

но что то очень картинка не похожа на ту что на американском сайте

Картинка соответствует той, что продается. Тестил как раз такие по виду.