выбор сервотестера
начал писать какие - то тесты. Сразу начали всплывать интересные штуки:
Оказывается, 500 Hz ( такие сервы уже где - то у кого - то есть ) всем моим сервам сразу аккуратно снимают башню. Сервы просто тупо сходят с ума.До 333 Гц поддерживают все 3 проверенные мной сервы.
Серва при изменении сигнала перед запуском мотора дает задержку. Причем, задержка довольно большая. У меня пока нормально не измеряется ток ( слишком нечувствительная микросхема - буду менять, уже заказал ), соответственно я могу установить момент старта сервы с относительно большой погрешностью, а пока что - нибудь придумаю.
Оказывается, при старте мотора бек Gryphon Polaris без кондера дает просто чудовищную просадку напряжения ( с 5.7 до чуть ли не 4 вольт ). Причем, даже с относительно гуманными по потреблению емаксами. Кондер 2200 мкф убирает проблему. Соответственно, я вынужден был добавить этот кондер.
Далее мне стало интересно посмотреть, насколько мои измерения показывают цифры, похожие на паспортные данные серв. И сразу выяснилась еще одна штука:
оказывается, что у MKS92 поворот на 60* происходит, если изменить импульс на 340 мкс, а в емаксе - на 300. Что это значит?
То, что цифры, выдаваемые моим старым сервотестером etronix за “скорость серв” - фуфел. Потому как там диапазон значений изменения сигнала нигде не задается. А должен.
Вдвойне фуфелом эти цифры являются потому, что при остановке я ( неотчетливо, правда ) вижу довольно сильные обратные токи. Т.е. серва в этот момент тормозится. Схемотехника етроникса не позволяет, насколько я ее понял, детектить обратные токи. А они, кажется, длятся довольно долго. И их, по идее, надо тоже учитывать.
Короче, пока нарисовался ряд занятных вопросов, но надо доотлаживать…
А с измерением скорости получается интересная история:
непонятно, как производители измеряют время поворота сервы на 60*. По - крайней мере по току корректно измерять его невозможно - данные радикально отличаются.
Суть в следующем:
серва запускается, крутится какое - то время, дальше все происходит у разных серв по - разному.
Хвостовая серва JR DS3500G дает в конце просто огромный бросок тока ( видимо, останавливает мотор )
Судя по всему, серва после позиционирования еще долго дергает мотором ( стабилизирует положение? )
Вот осциллограммы ( верхний розовый канал - потребление тока; 2.5В=0А, 5В=5А, все что ниже 2.5В - обратный ток. Кстати, обратные токи в данном тесте не наблюдаются.
Для целей этого теста я не заморачивался определением величины угла отклонения.
JR DS3500G
MKS92A
Emax ES09MD
Turnigy TGY-S306G ( кушает при таком тесте чуть ли не меньше емакса - по - крайней мере с чудовищно жрущим мксом нету даже близко никакого сравнения )
А если измерять скорость оптическим способом? Заслонка на оси сервы перекрывает оптопару, результат время между пуском и перекрытием будет учитывать полный цикл то есть и задержки в мозгах сервы.
Задержки в мозгах серв - минимальные. Первоначально я думал их учитывать, но после вникания в вопрос решил этого не делать.
Судя по тому, что я видео на осциллографе, задержка от отрицательного фронта первого импульса с измененной скважностью до старта мотора у всех серв - около 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- новая, нигде не стояла.
Наверное, я сделаю дополнительный результирующий параметр - колебание результатов измерений.
Вот видос:
тайминг измеряется с достаточной точностью
А какая именно точка считается точкой завершения поворота? Какое условие на это в программе?