выбор сервотестера
Задержки в мозгах серв - минимальные. Первоначально я думал их учитывать, но после вникания в вопрос решил этого не делать.
Судя по тому, что я видео на осциллографе, задержка от отрицательного фронта первого импульса с измененной скважностью до старта мотора у всех серв - около 1-2 мС. И по факту эта задержка будет гораздо сильнее зависеть от частоты, с которой подаются импульсы на сервы - 50, 70, 100, 200, 333 Гц, чем от внутренних задержек.
Пока судя по тому, что я вижу, основной вопрос - даже не к макс. скорости работы сервы, а к тому, насколько она точно и быстро останавливается.
Здесь емсакс и турнига отличаются от JR. Кстати, что еще интересно - у JR как - то иначе сделана схемотехника - она дает более ровную нагрузку.
И - что еще интересно и с чем я буду разбираться - турнига совершенно непохожа по работе на MKS. Если это - клон, то какой - то очень творческий. Кстати, и микросхма там тоже другая. Очень может быть, что - как всегда - кетайцы слизали только внешние формы. В любом случае я пока доволен. Уже кое - что новое узнал.
Ну да задержка малозначительная. Но мерить скорость " по току" мне кажется как то не совсем правильная тема, или по крайней мере мне не совсем ясна методология и фильтрация ложных показаний: например торможение мотора ибо оно точно присутствует в BLS сервах.
Самое правильное и честное - сделать стенд с внешним энкодером, оптическим или на датчике Холла. Если нет цели делать измерения под нагрузкой, то это, вроде как, совсем не сложно.
Я распотрошил дохлую емаксовскую серву, оставив там потенциометр и вывел его наружу. Две сервы - подключенная к тестеру и серва с выходом потенциометра жестко сцеплены между собой, соответственно, серва крутит потенциометр, зеленый сигнал на осциллограмме - выход потенца, розовый - датчик тока.
Я специально распечатал транспортир и установил, что для емакса 60* - это импульсы с разницей 300 uS. Соответственно, я такие импульсы и установил.
Т.е. на осциллографе мы видим, что
Из осциллограммы видно, что пиковые токи генерятся при старте и остановке мотора. За примерно 75 мС серва достигает примерно нужного положения, и еще примерно столько же уходит на ее доводку.
В итоге получается, что чтобы повернуться на 60*, у сервы уходит около 0.15-0.16 секунды. Также видно, что серва довольно медленно останавливается.
Из всего этого видно, что оценивать скорость сервы на основе анализа потребления все же можно.
Вот еще осциллограммы MKS92A, Turnigy TGY306, JR DS3500G.
немного комментариев для тех, кто читает и кому влом вникать в осциллограммы.
- Если частота сервы -50 Гц, то период, с которым на серву поступает инфа - 10 мС. Т.е. серва может узнать о том, что ее дернули, через 0,01с. А может и раньше - как повезет.
- Как только очередной импульс закончился, серва его анализирует ( пару миллисекунд ) и дает команду мотору. Здесь интересно то, что у большинства серва начинает крутиться резко, а останавливается - плавно. Я это связываю с тем, что мотору нужно время на раскрутку, а внутренние механизмы сервы имеют люфты - он и выбирается, а потом, когда появляется зацеп, мотор уже набрал обороты. Между троганием мотора и началос сдвига шлица сервы проходит ок. 0.01 секунды.
- Основные пики потребления приходятся на старт и остановку мотора. Причем - у всех серв, как видно на осциллограммах.
- Далее серва линейно перемещается.
- В какой - то момент контроллер сервы решает, что мотор пора тормозить. Интересно, есть ли в серве пиды???
Время торможения очень сильно зависит от конкретной сервы. Как ни странно, наихудшее оно у MKS92A ( емакс - особый случай ). Серва останавливается достаточно плавно. Я не знаю, хорошо это или плохо применительно к ее работе на голове. У емаксов - другая проблема: серва очень быстро доводится примерно до нужного положения, а потом почти столько же делается точная доводка (0.07с.). Также, если во всех других сервах при линейном движении - прямая, то у емакса явно наблюдаются проблемы то ли с линейностью потенца, то ли с какими - то другими нелинейностями. Это неудивительно - видели бы вы емаксовский потенц. Примитив…
Еще про турниги: они останавливаются явно лучше мксов, потребляя при этом выраженно меньший ток.
Конечно, такой тест не отражает всех аспектов, т.е. не дает возможности сделать какой - то однозначный вывод. Но по тестам выходит так:
самая лучшея - JR, потом турнига, потом MKS, потом EMAX. Жаль что нету рабочих JR DS21.
Есть планы сделать еще несколько других тестов.
Кст и Савокс еще замерить бы !
мне бы хотелось замерить фулл сайз сервы, но сначала я хочу сделать программный тест, т.е. чтобы для определения таймингов не нужен бы был осциллограф и всякие приблуды типа внешнего потенца. Вечером сяду его писать. Пока основная проблема там - корректное определение начала, и - самое сложное - окнчания работы сервы, но теперь я знаю, как интерпретировать то что на экране, я уже смогу подобрать нужные фильтры, чтобы вычислить это все программно.
Чего то я не понял. Развертка на осцилле 25 мс?
да, а что
понял… да там внизу ж написано, затупил 😃
а что
Да не, ничего. решил вникнуть 😃
вертикальные розовые полоски - это курсор. Справа в менюшке показана разница между полосками в мс.
вертикальные розовые полоски - это курсор. Справа в менюшке показана разница между полосками в мс.
Это я понял 😃
еще 3 теста, которые я хочу сделать:
- медленное ( очень медленное ) перемещение сервы от одного края до другого. Этот тест позволит оценить ( визуально ) плавность работы сервы
- питчпамп тест. Перемещая серву потенциометром, довольно сложно понять это, но я уже вижу, что JR двигается плавнее всех. Во время его работы будет замеряться ток ( пиковый и средний ) и - возможно - будет оцениваться работа бека, только надо решить что делать с конденсатором, который сейчас стоит по питанию.
- будет измеряться deadband, т.е. будут подаваться импульсы 1520/1521 и будет оцениваться, двинулась ли серва, потом - 1520-1522, 1520-1524 и т.д. до тех пор пока серва не начнет реагировать на изменение сигнала. Я в отличии от etronix а скорее всего смогу это определять программно.
Еще отличием будет то, что все тесты будут повторяться многократно и потом будет усредняться результат ( в etronix тест делается 1 раз и притом - глючно. )
корректное определение начала, и - самое сложное - окнчания работы сервы
Попробуй измерять не саму функцию, а первую производную.
показания ацп брать напрямую бессмысленно. Там все аналоговые цепи и так уже питаются отдельно, просто сигнал довольно низкого уровня.
В идеале датчик тока надо бы на 2А и чтобы мерял бы только в одну сторону, а не обе, но я думаю, что с 5А микросхемой уже все получится. С 50А - глухо как в танке.
Я этот сигнал усредняю в несколько приемов, но там есть еще нюансы, в принципе у меня в голове оно все более менее уложилось, надо попробовать вечером написать и проверить, что получится.
Попробуй измерять не саму функцию, а первую производную.
У разных серв слишком по-разному выглядит график остановки, и у всех он размазан по времени. Я думаю, использовать вторую серву как датчик положения - отличная идея, это будет проще и точнее.
Я сделал программно отслеживание всех этих изменений тока, в результате тайминг измеряется с достаточной точностью ( сравнивал цифровой результат тестов с осциллографом - совпадает до ±5 мс.
итнтереснейшая вещь: кажется, чем больше серва изношена, тем сильнее у нее плавают результаты измерений - причем, они реально плавают, т.е. я не только это вижу на осциллографе, но и слышу.
Т.е. возможно, удастся заранее определять, насколько серва убитая и насколько ее вообще еще можно использовать. Конечно, надо набрать статистику.
Я сделал видео, там я пытаюсь работать с убитой MKS ( у меня было 3 сервы, одна умерла в полете ( или на земле? не помню ), и в результате все 3 были сняты. На момент снятия они не глючили, но я обратил внимание, что они сейчас глючат обе - залипания, неадекватная реакция на приложение нагрузки, да и слышно. Износ мотора.
Емакс - тоже неособо свежий, там история аналогичная: одна сдохла, остальные две сняты. К JR претензий не было, но она отходила на хвосте 450ки 1200 полетов, и мотор как - то туговато крутится, а это - первый признак износа коллектора.
TGY306- новая, нигде не стояла.
Наверное, я сделаю дополнительный результирующий параметр - колебание результатов измерений.
Вот видос:
тайминг измеряется с достаточной точностью
А какая именно точка считается точкой завершения поворота? Какое условие на это в программе?
Если в течении примерно 10 мС ток равен нулю плюс минус 1 бит, считается, что серва встала. В части случаев там могут не учитываться какие - то мелкие рывки сервы, которые по сути ни на что не влияют.
Если интересно, я могу исходник прислать 😃 проект на IAR C
Если интересно, я могу исходник прислать 😃
Конечно интересно. 😃
Ну, вот.
Написал тест на потребление тока. Он показывает среднее потребление ( имхо - почти ни о чем, почему - см. ниже ), макс. потребление ( важный параметр, исходя из которого надо определять требуемую мощность бека ).
Для этого на серву подается 10 раз импульс нулевого отклонения, который через 50 мС меняется на импульс макс. отклонения. Т.е. по простому серва дрючится, как при питчпамп тесте.
При этом измеряется потребляемый ток и измеряется просадка, которую дает бек, по результатам выдается среднее и мин. напряжение питания, которое было зафиксировано во время теста.
У меня сейчас на питании стоит конденсатор 2200 мкф., поэтому питание во время теста меняется незначительно. Если его снять - будет ужос ( надо бы проверить, но вломище выпаивать ).
Что еще интересно:
потребление проверенных серв не зависит от нагрузки, т.е. вроде даже имеет место обратная зависимость - если серву нагрузить, то она вроде бы жрет меньше. MKS, если ее запитать от 7.5В., жрет не 1.1 - 1.2А в пике, а 1.6А, так что те, которые считают, что если увеличить напряжение - ток упадет, идут учить матчасть и закон Ома, кстати - тоже. Если напряжение повышать, серва будет жрать больше. Конечно, она будет и работать несколько быстрее.
В частности, та же турнига 306 от 5.7В кушает в пике 830мА, а от 7.5В - уже 1А. Это при том, что скорость возрастает с примерно 0.073с.60* до примерно 0.068с.60*. примерно - это потому, что мне влом было подбирать, скольки мкс. соответствует для этой сервы отклонение на 60*, т.е. я тестировал с дефолтными параметрами ( delta 300 uS )
Почему среднее потребление довольно малоинформативно? Потому, что оно сильно зависит от алгоритма теста. А вот пиковое потребление - не зависит.
Вот записал видос: