Интелектуальный , умный и независимый подвес камеры? Реально!

Gene
alexmos:

Если вы правильно прорекламируете свой проект, то интерес будет очень большой (не знаю правда, нужен ли он вам).

Даже не знаю, что сказать. Интерес был бы нужен, если бы я вот сейчас готов был продавать какой-то готовый продукт (пусть даже просто прошивку, но готовую). Пока что я даже этого не могу, экспериментирую с ней каждый день, постоянно что-то добавляю/выкидываю, и конца этому не видно. Так что наверное пока об этом говорить рано. Но – спасибо за моральную поддержку, это многого стоит 😃

botvoed:

Я что хотел посоветовать, дело в том что использование шагового двигателя даже в режиме хорошего микрошага, без хорошей обратной связи ни к чему не приведет -я думаю! Нужен обязательно энкодер, в любом виде - сопротивление, холла, датчик гироскопа! Из опыта скажу добавить к трехфазному контролеру еще шим с драйвером, и генеря синус для шаговика получим тоже вращение, и можно сделать с микрашагом 128 512.

А мне кажется, наоборот – энкодер совершенно не нужен, если софт достаточно продвинут, чтобы держать подвес стабильно. В этом случае достаточно минимальной удерживающей силы, чтобы шаги не пропускались. Программа же следит за тем, чтобы подвес всегда “знал” в каком он положении, без всяких энкодеров. И по поводу микрошагов хотелось бы сказать – может, 32-64 микростепа еще имело бы смысл, но 128-512 – это уже слишком много, такая точность не требуется, она только замедлит вычисления и не добавит заметного качества. Даже между 1/8 и 1/16, при 200 шагах, разница едва заметна.

Nesenin:

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

Насчет массы шаговиков – у меня сейчас стоит 60г на pitch, 110 г на roll. Когда строил, не знал, хватит ли мощи, но выяснилось, что хватает с огромным запасом. Оба мотора сейчас работают примерно на 25-30% паспортно допустимого тока. Сейчас ищу для своего подвеса более подходящие шаговики, ибо сэкономить граммы конечно же хочется, но довольно лениво – работа над софтом отнимает 98% всего времени.

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

p_vel
Gene:

продавать готовый продукт (пусть даже просто прошивку, но готовую). Пока что я даже этого не могу, экспериментирую с ней каждый день, постоянно что-то добавляю/выкидываю, и конца этому не видно. Так что наверное пока об этом говорить рано.

Даже на этом этапе схема и прошивка для меня интересна, думаю не только для меня.

Gene:

В целом наверное БК могут обеспечить приемлемую стабилизацию при меньшей массе

ИМХО БК уже показали себя отличным решение для стабилизации. Надеюсь на шаговиках будет альтернатива не уступающая по качеству.

Gene
p_vel:

ИМХО БК уже показали себя отличным решение для стабилизации.

Имел в виду, что нельзя уменьшать массу исполнительного механизма до бесконечности. В случае БК – до тех пор, пока мотору хватает силенок принять то положение, которое ему приказала принять программа, и удерживать это положение с приемлемой точностью (что такое “приемлемая точность” – наверное, каждый решает для себя). В случае с шаговиком проще: можно уменьшать размер до тех пор, пока он не начнет пропускать шаги или перегреватъся. Тут все довольно однозначно.

p_vel:

Надеюсь на шаговиках будет альтернатива не уступающая по качеству.

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

alexmos
Gene:

А мне кажется, наоборот – энкодер совершенно не нужен, если софт достаточно продвинут, чтобы держать подвес стабильно. В этом случае достаточно минимальной удерживающей силы, чтобы шаги не пропускались. Программа же следит за тем, чтобы подвес всегда “знал” в каком он положении, без всяких энкодеров. И по поводу микрошагов хотелось бы сказать – может, 32-64 микростепа еще имело бы смысл, но 128-512 – это уже слишком много, такая точность не требуется, она только замедлит вычисления и не добавит заметного качества. Даже между 1/8 и 1/16, при 200 шагах, разница едва заметна.

Микрошаги меньше 1/8 уже нет смысла делать - нелинейность шага уже выше этого разрешения. Энкодеры если и ставить - то очень высокого разрешения, и не для того чтобы знать куда отклонилась камера (при правильной настройке шаги не пропускаются и мы и так знаем где она), а чтобы компенсировать нелинейность микрошага через closed loop. Я делал так - ставил IMU и снимал профиль шаговика, инвертировал его и получалось сгладить шаги в несколько раз. Это был open loop по прежнему, и настройка не требуется. А можно сразу с IMU ввести обратную связь, но это уже очень сложно и я точно не помню, но по моему так и не смог ее настроить для легкой камеры. Но у меня был паршивый самоделный драйвер шаговика, так что может дело в этом.

botvoed
alexmos:

Микрошаги меньше 1/8 уже нет смысла делать - нелинейность шага уже выше этого разрешения. Энкодеры если и ставить - то очень высокого разрешения, и не для того чтобы знать куда отклонилась камера (при правильной настройке шаги не пропускаются и мы и так знаем где она), а чтобы компенсировать нелинейность микрошага через closed loop. Я делал так - ставил IMU и снимал профиль шаговика, инвертировал его и получалось сгладить шаги в несколько раз. Это был open loop по прежнему, и настройка не требуется. А можно сразу с IMU ввести обратную связь, но это уже очень сложно и я точно не помню, но по моему так и не смог ее настроить для легкой камеры. Но у меня был паршивый самоделный драйвер шаговика, так что может дело в этом.

Про драйверы отдельная песня!
Сейчас модно использовать полулы на чипах от Allegro, у меня есть и с 1/8 и 1/16 , но вот с производственными контролерами не сравнить, там и микрошаг до маразма, и настроить можно, чтобы реально по этому микрошагу шагал! Правда они громоздкие и тяжелые ( (у меня 7 станков потому есть с чем сравнить)
Так что выход один делать самому)

Gene

Алексей, пололовские драйверы весьма неплохие, мне кажется. Как я понимаю, по дефолту их продают с расчетом на применение в самодельных роботах или CNC, где требуется точность на большой скорости вращения. На малых скоростях (при которых подвес работает 90% времени) начинаются пропуски микрошагов. Нам желательно поменять приоритеты местами, и это можно, если немножко пройтись паяльником (я кажется упоминал об этом в нашей переписке). Повышаем точность на медленных перемещениях в ущерб плавности быстрых перемещений. Микростепы после настройки тока резистором отрабатываются подвесом почти идеально бОльшую часть времени. На высокой скорости, правда, начинаются проскакивания – если присмотреться, на моем последнем тестовом видео они есть. Заметить их можно, если просматривать покадрово в моменты самых резких перемещений. Но такие проскакивания как раз очень хорошо, бесследно вылечиваются дишейкером, так как темпоральная ошибка накопиться просто не успевает; и вообще они заметны только на 60фпс и выше. Так что я с ними пока сосуществую без особых проблем (хотя, конечно, с удовольствием бы избавился). Новая смазочная микстура, похоже, и их малость приструнила 😃

botvoed:

Так что выход один делать самому)

Я бы посоветовал внимательно ознакомиться с этим документом (особенно там, где про виды decay – страница 7, 8 и далее). Возможно, проблему можно решить, не изобретая велосипед.

Razek
Gene:

А мне кажется, наоборот – энкодер совершенно не нужен, если софт достаточно продвинут

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

delfin000
Razek:

потому что софтом невозможно компенсировать механическое несовершенство

Все нужно . Как раз он (код программный) это и должен делать (править механическое несовершенство 😃), собрав и обработав данные со всех датчиков. Все конечно можно упрощать, но не стоит упрощать, если цель - качество работы системы

Razek
delfin000:

Как раз он (код программный) это и должен делать

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

Gene
Razek:

Такая концепция накладывает повышенные требования к качеству и точности механики, потому что софтом невозможно компенсировать механическое несовершенство, да и эта величина не постоянная во времени.

Не согласен 😃 Шаговик изначально сконструирован для точности, он сам себе энкодер – если не пропускает шагов. А если пропускает, нужно просто сделать так, чтобы не пропускал, а не добавлять лишнюю деталь. И, кстати – как раз таки софтом МОЖНО компенсировать механическое несовершенство, если использовать таблицы с данными калибровок. Для шаговиков это не очень актуально, правда.

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

Во-первых, я использую такой, который не меняет свойства в очень широком диапазоне температур; а во-вторых, вязкость не влияет на точность позиционирования. Она влияет только на скорость, с какой одну позицию можно сменить на другую (то бишь энкодер и здесь не у дел)

Razek:

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

Я пытаюсь следовать известному правилу: не умножать сущности сверх необходимости 😃 Обратная связь в случае шагового подвеса – не необходимость совершенно. Она может быть полезна для некоторых ПОБОЧНЫХ функций подвеса (например, автоматическая проверка при инициализации: горизонтален ли, попал ли в правильный зуб), но добавлять ее сейчас не вижу никакого смысла. Это все равно, что для машины начать разрабатывать дворники, не закончив разработку двигателя.

botvoed
Gene:

Я бы посоветовал внимательно ознакомиться с этим документом (особенно там, где про виды decay – страница 7, 8 и далее). Возможно, проблему можно решить, не изобретая велосипед.

Вы не так меня поняли, я про то что лучше не пользовать степ дир, а взять 4 моста и атмегу - ну например 328, и обратную связь скажем в виде гироскопа!
Просто обзаведясь обратной связью, не нужно предполагать, а вы точно знаете как движется мотор, пропустил, или нет.
Вы думаете безколекторник гладко крутится если его запитать синусом? Нет(по крайней мере хобийный), а вот обратная связь делает движение плавным и точным!
Впрочем не Подумайте что я Вас учу, просто хотел исходя из своей практики помочь.

“компенсировать механическое несовершенство” - можно без труда зная что с мотором происходит на выходе,
незная этого Вы становитесь заложником множества условий -зачем?

Gene
Razek:

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

Послушайте, Евгений, ведь подвес не разрабатывается на случай ядерной войны, чтобы учесть ну прямо все возможные катастрофы 😃 Люфт? Который появится лет этак через 100, учитывая размеры подшипников и просто смешную нагрузку? Пропуски шагов? У меня за все время тестирования шаги пропускались ну пару раз от силы. И я тут вместо энкодера сам: пропущенный шаг прекрасно виден на мониторе. Таскать энкодер для того, чтобы он мне сообщил о том что я вижу сам? Зачем? А если Вы имеете в виду, что энкодер сам вернет мотор на место, так толку-то с того, видео все равно испорчено. Нужно сделать, чтобы шаги не пропускались, вот и все; и ведь никаких сложностей с этим нет!

botvoed

Я вот тут из опыта вспомнил - как раз по военной тематике)
Вот к примеру если солдата пытаться заставить одного на плацу шагать строевым шагом))))
А если приставить к нему, и он будет знать что получит … ТО результат превысит все ожидания!
И неважно будет болит ли нога, или не выспался и тд.

Это и есть пример глубокой ОС )
Сам был солдатом знаю)))

Gene
botvoed:

Вы не так меня поняли, я про то что лучше не пользовать степ дир, а взять 4 моста и атмегу - ну например 328, и обратную связь скажем в виде гироскопа! Просто обзаведясь обратной связью, не нужно предполагать, а вы точно знаете как движется мотор, пропустил, или нет.

Уже писал только что… Я не вижу смысла таскать вещь которая мне может сказать только то, что я и сам могу увидеть невооруженным взглядом. Если шаговик пропускает шаги, нужно настроить драйвер так, чтобы он НЕ пропускал шаги. И после такой настройки он их не будет пропускать, с вероятностью близкой к 100%. По крайней мере с вероятностью, позволяющей не забивать себе этим голову.

Брать в полет энкодер в таком раскладе – это все равно, что перманентно к коптеру прицепить автоматический дефектоскоп, с обратной связью, чтобы делал экстренную посадку – ведь есть же вероятность, что коптер в полете треснет? Так я вижу ситуацию…

botvoed:

Вы думаете безколекторник гладко крутится если его запитать синусом? Нет(по крайней мере хобийный), а вот обратная связь делает движение плавным и точным!

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

botvoed:

“компенсировать механическое несовершенство” - можно без труда зная что с мотором происходит на выходе

Я уже говорил – не считаю, что шаговику нужно что-то там компенсировать. Он сделан с точностью более чем достаточной для применения в стабилизации, и это я уже могу, положа руку на сердце, подтвердить своим опытом.

crand

Внимательно читаю ветки про подвесы, осознавая, что мне не светит создать и настроить что-то выдающееся. Но уже недели 2 в голове крутится одна мысль. Есть плата от сервы, которая выдает напряжение для колекторного двигателя (+ и -), есть вынесенный резистор для определения положения подвеса, берем регулятор от машины (что предлагал, кажеться, Александр Григорьев) с возможностью реверса и програмируем атмегу (или что-нибудь) что-бы выдавался импульс в зависимости от напряжения на выходе контролера сервы - 0В - 1500, -5В - 1200, +5В - 1800 (ну к примеру). И получаем управление подвесом бесколекторным двигателем.
Идея жизнеспособна?

Razek
botvoed:

“компенсировать механическое несовершенство” - можно без труда зная что с мотором происходит на выходе, незная этого Вы становитесь заложником множества условий -зачем?

Как раз наоборот, система может работать в “слепую” при железобетонном соблюдении ряда условий. Я просто исхожу из того что состояние мотора не равно состоянию подвеса.

Gene:

Я пытаюсь следовать известному правилу: не умножать сущности сверх необходимости

Вообще главное, чтоб запала у Вас хватило, все только рады будут что Вы доведет подвес до ума. С энкдером он будет или без.

delfin000
crand:

…програмируем атмегу…

Как бы не совсем это просто как кажется на первый взгляд

Razek:

Для этого и нужна обратная

Этого никто не отвергал. Вопрос в том что все здесь нужно. Без обратной связи пока еще что вообще не что не работает, где ситуация развивается не по линейному закону. Но алгоритм, нюансы, и решение задачи в продуманности кода. Абратная связь - это лишь сигнал (ответ) алгоритму правильно ли он решает задачу.
А вот как это будет реализованно, во сколько деревянных это выльется скоро нарисуется конкретно. И стоять это решение на месте не будет 😉

С нуля пока что практически ничего не пишется (пока идет все по заготовкам и болванкам созданным ранее для других целей - как бы адаптация и аклиматизация)

crand
delfin000:

Как бы не совсем это просто как кажется на первый взгляд

Всего лишь создать линейную зависимость частоты импульса от напряжения. А управляющий сигнал с мозгов коптера. Ну и настройка соответственно.

delfin000

Андрей, здесь бы “Тима” подключить к решению задачи и не важно какой дорогой к цели…но он наверно почитывает;) хоть и идел у него за глаза

crand

Програмист знакомый у меня есть, хоть и занятый сильно. Вопрос именно в том, что стоит ли овчинка выделки? Может кто-то пробовал и уже понял, что - “не той дорогой идете, товарищи…”.
Ведь серва тупо работает, за нее мозги коптера думают. Надо именно конечный сигнал отработать. Ограничить скорость двигателя, ну и еще что-нибудь добавить.