Стедикам из подвеса на бесколлекторных двигателях.
Усилие почему увеличилось? Куда шаги делись?
за счет линейности усилия, раньше как усилие было, нарастает потом бац сорвалось, все кратно полюсам, и получается что не попал в фазу задрожало и сорвало, вот и приходилось пиды понижать.
а шаги все там же, просто теперь система точно знает (14бит = 0.02гр) где сейчас мотор. Я думаю Алексей если прочитает, то отпишет более подробно.
дк тестером не интерсно тыкнуть и узнать сколько ест устройство разве
у меня в спокойствии 0.04А=40мА, под нагрузкой (если рукой двигать все оси сразу) до 0.9А, если просто болтать то не больше 0.1А
Я думаю Алексей если прочитает, то отпишет более подробно.
Думаю всем было бы полезно.
То есть уже просто так не перещёлкивается мотор совсем, даже если сильно его провернуть?
Да, именно так. Мотор стал “резиновый” - упругий и без трещотки.
Но я (как и многие пользователи) не ясновидящий - почему же об этом нигде не написано? Я наоборот считал, что повышенная скорость шины нужна, т.к. большее кол-во потребителей (да, потребительское отношение, я пилот и некоторые вещи в электрике только познаю)))
Так получилось, хорошо что вообще вспомнил. Я в основном все подвесы на обычной скоости I2C настраиваю, высокая скорость нужна только для особых случаев когда много устройств на шине и на обычной скорости обработать все не хватает пропускной способности. Также и с энкодерами, когда писал мануал об этой особенности не подозревал. Потом случайно поймал эту проблему, нашел что причина в скорости, отключил высокую и продолжил настройку. Тогда не подмал, что это надо бы в мануале описать, а лучше вообще сразу эту ситуацию в прошивке обработать. Зато теперь есть повод это сделать.
Но вот есть у меня скромный такой вопрос. А кто подскажет, за счет чего энкодеры так изменяют работу двигателя? Почему увеличивается усилие, уменьшается потребление и пропадают шаги? Каков механизм этой панацеи?
Алгоритмы управления совсем разные. Без энкодеров мотор работает как синхронный двигатель - крутится магнитное поле постоянной амплитуды и магниты за ним следуют. Но поле крутится независимо от того, успевает мотор или нет - такой информации у системы нет. С энкодерами мы знаем угол магнитов по отношению к полю, и работает векторное управление. Если по простому - поле не крутится дальше, если мотор остановился. И амплитуду можно в 0 сбросить, если не нужно усилие. Более подробно в этих отличных статьях:
geektimes.ru/company/npf_vektor/blog/270666/
geektimes.ru/company/npf_vektor/blog/269486/
Может, уже появились моторы со слипрингами и енкодерами сразу?
пока не может
Алгоритмы
Алексей, а есть ли возможность изменить скорость возврата в ноль в случае чрезмерной нагрузки? Срыва нет, но есть сдвиг от внешнего усилия например на 15 градусов. В ноль ось восстанавливается достаточно долго. Имею ввиду ось с энкодером.
Алексей, а есть ли возможность изменить скорость возврата в ноль в случае чрезмерной нагрузки? Срыва нет, но есть сдвиг от внешнего усилия например на 15 градусов. В ноль ось восстанавливается достаточно долго. Имею ввиду ось с энкодером.
От значения “I” в пидах очень зависит скорость возврата, разве нет?
У меня тоже вопросик. Через слипринги + кольцевые магниты + энкодеры - не могу избавиться от ошибок по I2C. На 8 бит можно было как то бороться толи резиками, толи кондюками, а на 32битке что то ещё можно попробовать, кроме колец на шнурки моторов? Когда моторы выключены - ошибок нет, когда включены - несколько штук в секунду. 😦
а на 32битке что то ещё можно попробовать, кроме колец на шнурки моторов?
А какая длина кабелей? У меня 2 на i2c с длинами 5 и 25 см. - ни одной ошибки.
Жестко установлены энкодеры? Я когда еще формировал модель крепления для печати крепил на времянку - ошибки лезли.
От значения “I” в пидах очень зависит скорость возврата, разве нет?
Это да, но я говорю не о стабилизации, а о восстановлении после внешнего воздействия (ну рукой повернули на 15 градусов ось питч например). А этот параметр по идее не меняется изменением ПИДов.
Алексей, а есть ли возможность изменить скорость возврата в ноль в случае чрезмерной нагрузки? Срыва нет, но есть сдвиг от внешнего усилия например на 15 градусов. В ноль ось восстанавливается достаточно долго. Имею ввиду ось с энкодером.
Сейчас в 8бит и 32бит эта скорость зависит от “I”, увеличивайте ее. Вот только недвано я это изменил, теперь на большом угле зависит от “OuterP” и “P”. В следующем релизе будет так.
А какая длина кабелей? У меня 2 на i2c с длинами 5 и 25 см. - ни одной ошибки.
Жестко установлены энкодеры? Я когда еще формировал модель крепления для печати крепил на времянку - ошибки лезли.
Длины от 15 до 50см, энкодеры закреплены жёстко. Но дело то в том, что в времянке провода были раза в полтора длиннее, и всё шевелилось, и ошибок не было, а
перепаял со слип рингами - и началось…
Ну вот, все работало и настроилось, но при установке на рабочее место и проверке управления оказалось, что не работает вход RC_ROLL/SUM - просто не видит входного сигнала, переключал разные входы. До этого была проблема с фильтром на i2c, могло что-то сгореть за компанию? Кто подскажет что посмотреть?
времянке провода были раза в полтора длиннее, и всё шевелилось
может в новом проводе проблема?
перепаял со слип рингами
Это с тем самым круглым магнитом? У меня ошибки лезли при ошибке считывания, то есть что-то мешает считать сигнал с магнита или не жестко стоит энкодер и он кидает ошибку чтения. Посмотрите по вкладке debug - что показывает? Ошибку чтения в большом кол-ве? Если да - скорее всего не прокатило с проводами через магнит.
Ну вот, все работало и настроилось, но при установке на рабочее место и проверке управления оказалось, что не работает вход RC_ROLL/SUM - просто не видит входного сигнала, переключал разные входы
Попробуйте на AUX3 подключить.
Длины от 15 до 50см, энкодеры закреплены жёстко. Но дело то в том, что в времянке провода были раза в полтора длиннее, и всё шевелилось, и ошибок не было, а перепаял со слип рингами - и началось…
Все вполне объяснимо - в слипринге сильная емкостная связь между соседними кольцами, наводки от ШИМ моторов на I2C в разы больше. Как это решают другие, не знаю, подождите может что посоветуют. Попробуйте перебрать разные выводы слипринга, чтобы отделить проводники друг от друга.
Попробуйте на AUX3 подключить.
А как на него вывести этот выход? Во вкладке RC не дает выбрать выход AUX3 для CMD (в моем случае).
А как на него вывести этот выход? Во вкладке RC не дает выбрать выход AUX3 для CMD (в моем случае).
На него перенесен весь функционал RC_ROLL. В документации на энкодерную прошивку это указано.
На него перенесен весь функционал RC_ROLL. В документации на энкодерную прошивку это указано.
Точно. Читал. Забыл.
А я вот тут задумался об уменьшении проводки между приемником и платой - ведь для питания достаточно одного комплекта проводов, а остальные можно оставить только сигнальные? И по AUX3 аналогично - кинуть 1 сигнальный на А3? Или я не прав?
может в новом проводе проблема?
Это с тем самым круглым магнитом? У меня ошибки лезли при ошибке считывания, то есть что-то мешает считать сигнал с магнита или не жестко стоит энкодер и он кидает ошибку чтения. Посмотрите по вкладке debug - что показывает? Ошибку чтения в большом кол-ве? Если да - скорее всего не прокатило с проводами через магнит.
Что то мне подсказывает, проблема не в проводах, так как эта проблема на разных слипах вылезает.
В debug тоже есть ошибки чтения.
Все вполне объяснимо - в слипринге сильная емкостная связь между соседними кольцами, наводки от ШИМ моторов на I2C в разы больше. Как это решают другие, не знаю, подождите может что посоветуют. Попробуйте перебрать разные выводы слипринга, чтобы отделить проводники друг от друга.
с трудом верится что там сильная емкостная связь …думаю что не более чем в жгуте проводов … расстояния между кольцами соизиммеримы с толщиной изоляции проводов …
чем перебирать ,проще вскрыть один слип и вызвонить порядок проводов на кольцах … на крайние кольца мотор(ы) , следом силовые питание и земля ,потом сигнальные с приемника и тому подобные , потом питание сенсоров и I2C c противоположного от мотора края …
еще один возможный источник ошибок с энкодеров - проходящие в непосредственной близости от чипа провода от мотора , особенно при использовании кольца … у энкодера от вносимого проводом магнитного поля может просто крышу сносить …
А вот ещё вопрос по принципу работы прошивки энкодерной. Если магнитное поле определяется как to low, контроллер переходит на алгоритм “как без энкодеров”? и тогда питание на моторах не снижает?
вскрыть слип пока возможности нету, их и так не хватает 😦
вскрыть слип пока возможности нету, их и так не хватает
процарапываете иголкой по кругу по канавке из которой выходят провода (два пучка) …
как только сцарапаете клей снимется верхняя крышка …
дальше не разбирать , ато обратно не соберёте , вовсяком случае без спецприспособлений для раздвигания щеток …
там внутри есть две достаточно большие щели чтобы добраться щупом до колец …
у меня на SNM12U-12 порядок следующий :
1- черный
2- коричневый
3- красный
4- оранжевый
5- желтый
6- зеленый (более темный) *
7- синий
8- фиолетовый (сиреневый)*
9 - серый (темный зелноватый)*
10- белый
11- зеленый (более светлый)*
12- голубой
те что помечены * обозваны так как я их вижу (немного дальтоник)
опять-же оттенки могут отличаться от партии к партии …
для проверки - цвета с соседними номерами должны выходить в разных пучках …
А вот ещё вопрос по принципу работы прошивки энкодерной. Если магнитное поле определяется как to low, контроллер переходит на алгоритм “как без энкодеров”? и тогда питание на моторах не снижает?
Почему спрашиваю. По ощущениям - работает подвес как будто без энкодеров. Так же жужжит шагами моторов, питание не уменьшает на стоящие оси и т.д. В debug пишет магнитное поле to low. Но если смотреть в диагностике рав данные с энкодеров - то там при вращении осями данные меняются.
По факту кольцевые магниты, не смотря на более внушительные размеры, по сравнению с комплектными малышами, если верить данным пишущимся в debug, оказались слабее, и расстояние до появления надписи “to low” разрешают делать не более 2 мм, что маловато для вывода проводов от слипа (ну, может солнышком ещё попробовать …)
магниты брал вот эти
www.ebay.com/itm/360430995574
и расстояние до появления надписи “to low” разрешают делать не более 2 мм
Ну так это ведь изначально и обсуждали - вы же говорили что до 3 сантиметров дает установить?
Так же жужжит шагами моторов, питание не уменьшает
= не работают энкодеры. Калибровку сделали? Если выставить все и не словить too low и провести калибровку - должны заработать и будут вести себя иначе, как с энкодерами.
не более 2 мм, что маловато для вывода проводов от слипа (ну, может солнышком ещё попробовать …)
У меня на слипе очень тонкие провода и вполне есть возможность уложить солнышком в 2 мм. Вопрос только не будут ли они энкодеру мешать, я изначально поэтому и не делал подобную конструкцию, сразу решил делать “копию оси” движка. И все работает.