Стедикам из подвеса на бесколлекторных двигателях.
Алексей подскажите, или я что-то не понимаю, или что-то происходит не так.
Пытаюсь управлять контролером по SimpleBGC 2.5 serial protocol. Как сделано у вас в примере отсылаю 3E 6D 01 6E 01 01 или 3E 6D 00 6D 00 00 контролер отвечает по разному, не могу понять как, но не зеркалит. Менял скорости, четность и тп. Не помогает.
Может вы внесете ясность того что у меня не работает.
3E 6D 00 6D 00 00
3E - >
6D -m, отключение моторов
00 - данные никакие не передаю
6D - контрольная сумма из команды и ко-ва данных
00 и 00 - сами данные (не нужны вроде как тут).
Логическим анализатором я в шину не лез. Если я все правильно сделал, то буду лезть.
была мысль, вот только если Леше пофиг и он выложит прошку которой пофиг будет отсутствие ИМУ, хотя бы уже для открытых 8 биток китайских двух осевых можно неплохую рулежку сделать
По идее можно взять любой камень с тремя ШИМами и выдавать три синусоиды со сдвигом 120 градусов на драйверы DRV8313, вот и будет управление двигателем.
зачем велосипед изобретать, если есть гора трехосевых 8-биткок не распроданных в Китае, если Алексей не против этой идеи
По идее можно взять любой камень с тремя ШИМами и выдавать три синусоиды со сдвигом 120 градусов на драйверы DRV8313, вот и будет управление двигателем.
можете рассказать подробнее, как там всё работает и можно ли таким образом реализовать абсолютное управление, а не инкрементное? т.е. управлять точно именно положением ротора двигателя, а не его скоростью. спасибо за ответ!
3E 6D 00 6D 00 00 3E - > 6D -m, отключение моторов 00 - данные никакие не передаю 6D - контрольная сумма из команды и ко-ва данных
В примере все верно, может при упаковке в байты проблема? Пробуйте все таки логическим анализатором посмотреть, что реально передается. Параметры порта по умолчанию 115200, parity=NONE, stop=1. И порт должен быть свободен (GUI не подключен, если это UART1).
была мысль, вот только если Леше пофиг и он выложит прошку которой пофиг будет отсутствие ИМУ, хотя бы уже для открытых 8 биток китайских двух осевых можно неплохую рулежку сделать
На 8-битках такое управление не сделать, Она же умеет только вращать поле, за которым следует мотор, и для большого момента нужны большие токи, и чем тогда это лучше шаговика? Движок нужен огромный, обратной связи по позициии нет (а вдруг мотор пропустит полюс?), калибровки начальной позиции нет.
Для нормальной системы Folow Focus нужен БК мотор и энкодер, тогда все просто отлично - можно и рукой крутить (контроллер это определить и отключит ток), и точки запоминать и переходить к ним, и каиброваться автоматически, и по дистанции наводиться. Общее потребление тока будет мизерное, а мгновенный момент большой (можно мелкие движки ставить). Я делал тестовую прошивку года полтора назад, но дальше не пошло так как это очень уж разный код, и управление мотором это всего лишь 30% от всей системы. Так что хотя физически контроллеры 32бит могут использоваться, программную часть развивать у меня ресурсов пока нет. Так что присмотритесь к уже разработанному Univice 😃
а загнать основную часть функционала в SBGC32_I2C_DRV EXPANSION MODULE ???
основной контроллер использовать только для управления …
На 8-битках такое управление не сделать,
А если так. Ставим дополнительную 8 битку, в дополнение к основной . Сенсор дополнительной платы ставим рядом с основным или на ось ролл. За основу берем ось ролл. Она самая “нерегулируемая”. Точка отсчета есть. можно еще и аналоговый энкодер поставить.
Как минимум для одного канала управления старая 8битка сгодится
Мне пока один канал и нужен, рулить фокусировкой камеры. На это не жалко 8-битки - она стоит прибл 40 баксов и пропорциональное управление там уже есть., а остальное сделать самому - червячный редуктор не шумит…
а зачем вообще гироаксель фокусеру ???
8 битка может рулить 2 моторами … берется открытый код немцев , выкашивается все лишнее , оставляется только управление моторами , и допиливается до нужного функционала …
недостатки как уже сказал Алекс , полное отсутствие обратной связи … как следствие большие токи и отсутствие контроля пропуска шагов …
И еще такой вопрос глупый - можно ли энкодер с шиной I2C вместо ИМУ пользовать?
а зачем вообще гироаксель фокусеру ???
Просто не знаю как его программно выкинуть.
выкашивается все лишнее , оставляется только управление моторами , и допиливается до нужного функционала …
Вот с этим и проблема - не программист я …
Так что присмотритесь к уже разработанному Univice
там заявленный ценник не адекватный пока
И еще такой вопрос глупый - можно ли энкодер с шиной I2C вместо ИМУ пользовать?
нет , под энкодер нужно свой код писать … притом переписывать придется совсем всё …
Просто не знаю как его программно выкинуть.
там оставить нужно только управление моторами и считывание PPM/PWM управления , остальное всё писать заново … это не 5 минут работы …
там заявленный ценник не адекватный пока
самый адекватный ценник будет на обычную серву в качестве фокусера … на бесколлекторник только сам мотор уже от $50 стоить будет , это при использовании 8бит платы в качестве контроллера …
те ктому потребуется фокусер , наверняка будут использовать плату 32 бита , а не 8 , соответственно самое правильное решение наращивать её функционал , но … на это там не предусмотрено дополнительных ресурсов , те какминимум весь дополнительный код просто невлезет … вариант я уже предложил … отдельная платка на базе SBGC32_I2C_DRV EXPANSION MODULE , на борту свой проц F0 драйвер двигателя и энкодер … прошивка ессно другая … туда можно будет уместить очень многое … при производстве предусмотреть разЪём для обновления прошивки в домашних условиях … все настройки и калибровки можно хранить в основной плате , управлять с нее же … такая система будет позволять как электронное так и ручное управление , те мотор можно будет свободно крутить руками … лицензироваь можно также через основную плату …
SBGC32_I2C_DRV EXPANSION MODULE , на борту свой проц F0 драйвер двигателя и энкодер … прошивка ессно другая
Да, эта платка хорошо подходит для управления мотором, и прошивка там несложная будет. Самое сложное - это центральный контроллер, ведь уметь крутить мотор - это только малая часть всей системы, если речь про профессиональное применение. А если любительское - то вроде как хобби-серва сгодится.
А если любительское - то вроде как хобби-серва сгодится.
Шумит она, также как шумит шаговик и весь этот шум, пишет даже внешний микрофон. Весь “сыр-бор” из-за того что можно сделать без-шумную систему на без-коллекторных моторах.
ведь уметь крутить мотор - это только малая часть всей системы, если речь про профессиональное применение.
так в большинстве случаев только и нужно крутить мотор (дистанционно) и ставить его в указанную позицию , в том числе скриптами …
вся проф логика может крутиться во внешнем приложении , управляющем не только фокусом но и диафрагмой , зумом , движением камеры , краном … ИМХО это будет очень полезное и востребованное дополнение …
если нужно чтобы фокус сам следил за обЪектом то это уже потребует принципиально другое железо …
если говорить о стедикаме, то ему надо просто уметь отрабатывать вращение движка синхронно (и без задержки) вращению потенциометра с точностью хотя бы 10бит, не более - все эти точки, память и т.д. не нужны, потому как при стедисъёмке невозможно всякий раз перемещаться по одной и той траектории и становиться в одни и те же заготовленные места. таким образом, вопрос только в создании подобной системы на базе БК моторов. кстати, пропуск шагов есть и у меня, в системе на шаговике - он помогает отстроить точку бесконечности, а дальше уже от неё всё пляшет. в идеале ещё вывести на оперативный регулятор виртуальный “коэффициент передачи” системы для подстройки под оптику с разным углом поворота кольца фокуса и регулировку момента на валу движка.
есть 3х осевой стэдик на 80хх моторах на плате 8 бит. Вопрос такой (голову сломал и так ничего не понял про энкодеры) какой энкодер ставить, куда и как канектить его? спасибо.
так энкодеры под 32 бита платы идут со специальной прошивкой, которую надо на сайте Алекса покупать
если говорить о стедикаме, то ему надо просто уметь отрабатывать вращение движка синхронно (и без задержки) вращению потенциометра с точностью хотя бы 10бит, не более - все эти точки, память и т.д. не нужны, потому как при стедисъёмке невозможно всякий раз перемещаться по одной и той траектории и становиться в одни и те же заготовленные места.
а при сЪёмке с крана можно …
просто крутилка уже закроет 70% потребности … все остальное нужно будет в основном там где заранее прописывается движение камеры … там где нужно синхронно задействовать столько , что у вас рук на крутилки не хватит …
проф контроллеру кроме крутилки впринцепе достаточно уметь выставлять моторы в нужную позицию с заданной скоростью … все навороченное управление фокусом , зумом , поворотом камеры может идти из приложения на win/droid/ios
ну для крана может быть и нужно, но проще проградуировать ручку потенциометра в метрах и забыть о кнопках - к тому же с крана редко когда требуется работа с фокусом на настолько высоком уровне, что нужны будут память точек. разве что программируемые краны с сервоуправлением для высокоскоростной съёмки, но там в комплекте к крану идут специальные фоллоуфокусы, которые так же программируются оператором этого крана, как и его движение
кстати , далеко не на всех обЪективах при зумировании сохраняется фокусировка … при этом функция синхронной подстройки фокуса при зумировании может оказаться весьма полезной …
на самом деле не так много объективов, у которых при зуммировании не изменяется длина корпуса и не сбивается из-за этого механический баланс стабилизатора, разве что кино- или телеоптика - в противном случае надо что-то с этим делать, подвижные противовесы цеплять и их синхронно гонять туда-сюда
при определённом запасе мощности моторов на изменение механического баланса можно положить…
интересно, какой же это запас по мощности должен быть, чтобы можно было положить на изменение центра тяжести от выезжающего на 50-60мм объектива, у которого половина веса приходит на “хобот”? пардон, но при нормальной скорости перекладки на ось питч будут действовать такие силы, что вам никакого мотора, за исключением здоровенного энкодерника, не хватит.