Стедикам из подвеса на бесколлекторных двигателях.

Vecmilgravis
V_I_P_E_R:

Господа, а может кто ставил энкодеры от роттора 5048В? Как правильно прописать адреса?
ПВМ заработал правильно, осталась только проблема видимости двух других энкодеров по i2c.

Включаем вот как раз на днях.
Две платки нормально работают по I2c с перемычками А1, А2 на 3.3 вольта. В зависимости от перемычек в диагностике видим рав данные в яв, питч, или ролл месте. Висит всё в параллель 2 энкодера и 2 датчика.
А вот третью платку оживить не удалось. Пока что списались с Ротором, обещали помочь.

Магниты попробовали кольцевые, что бы пропустить провода от слипа. Данные от энкодеров адекватно меняются даже с расстоянием между магнитом и энкодером в 3 см.
Так что на 5 мм с учётом отвода кабелей точно должны работать. До конца ещё всё не собрано, поэтому практического опыта использования ещё нету, только предварительная диагностика.

lokanaft
Vecmilgravis:

Так что на 5 мм с учётом отвода кабелей точно должны работать

У компаса на пиксавке в 5см от проводов крышу уносит, а вы про 5 мм говорите.

Vecmilgravis
lokanaft:

У компаса на пиксавке в 5см от проводов крышу уносит, а вы про 5 мм говорите.

Мне кажется, вы не поняли смысл моей фразы. Имелось ввиду расстояние между платой энкодера и магнитом. По даташиту оно около 1мм должно быть, но с кольцевым магнитом работает и с 3х см.

V_I_P_E_R

Ну вот что за нафиг! Подключил все энкодеры пока без адресов и получил sensor not connected!!! Отключил энкодеры - то же самое. Спалил сенсор? Или может какой конденсатор на плате? Ни дыма, ни запаха. Просто после очередного включения не видит сенсор. Причем на одном из энкодеров (хорошо что посмотрел) был припой, замыкающий 4 ноги. Это был брак, обнаружил еще до установки. Прочистил, сейчас думал может не дочистил - ан нет, чищенный на PWM стоит и работал успешно. То есть на шине i2c, где сенсор не хочет определяться, стоят другие энкодеры. При этом если подключаю второй сенсор (который на раму) - при включении коротко 2 раза моргает красным и снова не видит сенсор. Значит питание есть. Пробовал изменить адрес второго датчика на первый (соединил перемычку) - тоже не видит. Куда копать?

V_I_P_E_R
Vecmilgravis:

Пока что списались с Ротором, обещали помочь

Ну значит повезло.
Мне ответили вот так:
Добрый день.
Вопросы касательно подключения энкодеров нужно задавать официальной службе поддержки BasecamElectronics www.basecamelectronics.com/support/

Они генерировали это письмо 3 дня!!!

Vecmilgravis:

Две платки нормально работают по I2c с перемычками А1, А2 на 3.3 вольта

То есть без перемычек на GND? Только между а1 и 3в и а2 и 3в?

Vecmilgravis:

А вот третью платку оживить не удалось.

С учетом того, что обе платы на i2c не определяются, возможно они тоже не работают.

Rovbuilder
V_I_P_E_R:

Они генерировали это письмо 3 дня!!!

Аааа, я так почему то и думал, а проверить свой продукт на работоспособность не хватает ресурсов. Согласовали бы как то с Бэйскамом раз на них ссылаются, жуки. 😦 , а то типа мы продали а Х3 что это и куда, и вообще работает ли …

Gapey
V_I_P_E_R:

Вопросы касательно подключения энкодеров нужно задавать официальной службе поддержки BasecamElectronics

вообще по условиям соглашения они сами обязаны осуществлять техподдержку своих изделий …
так можно и статуса лишиться …

Vecmilgravis

Как начал с энкодерами воевать, частенько контроллер вырубает движки с надписью
Emergency stop
задолбался уже. Кто знает, при каких условиях пишется эта хрень? и куда копать?

И второй вопрос. Считается, что энкодер должен экономить питание. Вот у меня сейчас отключены две оси, оставлен только ролл, он в покое и с выключенными движками и с включенными, т.е. уравновешен, А ток хавает что с энкодером, что без - 0.3А
Может хитрость какая есть?

Vecmilgravis
Vecmilgravis:

Как начал с энкодерами воевать, частенько контроллер вырубает движки с надписью
Emergency stop
задолбался уже. Кто знает, при каких условиях пишется эта хрень? и куда копать?

И второй вопрос. Считается, что энкодер должен экономить питание. Вот у меня сейчас отключены две оси, оставлен только ролл, он в покое и с выключенными движками и с включенными, т.е. уравновешен, А ток хавает что с энкодером, что без - 0.3А
Может хитрость какая есть?

Могли бы Алексей и Юрий Путинцев прокомментировать?
Пожалуйста.

alexmos
Vecmilgravis:

Как начал с энкодерами воевать, частенько контроллер вырубает движки с надписью Emergency stop задолбался уже. Кто знает, при каких условиях пишется эта хрень? и куда копать?

Эта опция может быть отключена на вкладке Advanced, если она не работает у вас. Она полезна для проверки того, что все сенсоры выдают адекватные данные (потому что если иначе, то подвес может дел натворить, особенно мощный). Углы моторов, вычисленные на основе 2-х IMU, сравниваются с углами энкодеров. При большом расхождении срабатывает защита. У вас скорее всего калибровки IMU или энкодеров некорректные, попробуйте покопать в этом направлении.

С включенными энкодерами и выключенными ток должен быть разный. Это видно и по GUI (индикатор мощности с энкодерами в районе нуля, мотор ток не потребляет, а без энкодеров - всегда постоянный). Ещё сам процессор тоже потребляет постоянно, точно не помню сколько - около 50-100mA.

V_I_P_E_R
alexmos:

У вас скорее всего калибровки IMU или энкодеров некорректные

Получается ИМУ по 6 + установить офсет? А лог по диагностике ведется на наличие ошибок в соотношении данных иму и энкодеров?

Vecmilgravis:

Две платки нормально работают по I2c с перемычками А1, А2 на 3.3 вольта. В зависимости от перемычек в диагностике видим рав данные в яв, питч, или ролл месте. Висит всё в параллель 2 энкодера и 2 датчика.

Алексей, если не сложно - можете выложить фото энкодеров с перемычками? Конкретно интересуют ролл и яв.

alexmos
V_I_P_E_R:

Получается ИМУ по 6 + установить офсет? А лог по диагностике ведется на наличие ошибок в соотношении данных иму и энкодеров?

Естественно, если вы включаете 2-й IMU - он должен быть откалиброван. Логов не ведется. Для проверки, вы можете временно выключить энкодеры и проверить, что два IMU вместе выдают правильные углы моторов (белые стрелки на приборной панели). После включения энкодеров углы моторов уже берутся с энкодеров, но должны реагировать на повороты моторов точно также, как и с двумя IMU. Это дает возможность сравнить два источника данных для повышения надежности, так как есть много причин по которым энкодеры перестают выдавать правильные данные (магнит проскальзывает на валу, или наводки на шине, разъем не контачит и т.д.). Алгоритм контроля мотора завязан на энкодеры, и в случае его сбоя мощный мотор может разбить камеру или пальцы поломать.

RuslanG

Алексей, а с чем может быть связано что питч и ролл энкодеры определяются нормально, а яв в разделе "офсет магнитного поля " выдает 1, а мотор/энкодер Gear rato выдает ноль.
пробовал местами моторы менять, не помогает.
плата Tiny Pro и моторы от Elite Power.
Китайцы пока не доступны, я себе мозг съел, ваша техпотдержка тоже не очень понимает мою проблему

Vecmilgravis
V_I_P_E_R:

Алексей, если не сложно - можете выложить фото энкодеров с перемычками? Конкретно интересуют ролл и яв.

Энкодеры на данный момент сняты, так как всё равно нет третьей работающей оси, но на фото перемычки видны

Кстати, только что заметил на фото, что на правой платке оба кондюка одинаковые, а на двух левых разные. На практике как раз обе левые рабочие, а правая не запускается. Может быть в этом проблема??

Игорь, сравните со своими работающими/неработающими.

По идее кондюки на питании висят и не должны так кардинально влиять, да и тестером обе напруги так же звонятся, как и на работающих …

Vecmilgravis

добавочка. На правой платке они на фотке выглядят одинаковыми, на самом деле разные по толщине, т.е. скорее всего номиналы разные. Но то, что лепили эти платки в разных партиях - факт.

V_I_P_E_R
Vecmilgravis:

Игорь, сравните со своими работающими/неработающими.

Посмотрел. Мои лепились точно в одной партии, так как я сам разделял платы. У меня вроде все как “работающие слева”, вроде - потому что сейчас не могу посмотреть, а на моем фото такой же, как слева. А перемычек на GND вообще не делали? Какой адрес у них - по мануалу (0-40 0-42) или “дефолт”?

Вот ведь сколько проблем и вопросов, а иногда и горелые платы. И все из-за полного отсутствия поддержки со стороны продавца. Роттору жирный минус.

V_I_P_E_R
Vecmilgravis:

но на фото перемычки видны

и еще вопрос по левому энкодеру - он вообще без перемычек и видится программой? Какой у него адрес стоит?

Vecmilgravis
V_I_P_E_R:

и еще вопрос по левому энкодеру - он вообще без перемычек и видится программой? Какой у него адрес стоит?

Без перемычек - это ролл, там А1 и А2 должны быть 0.

Сегодня пропаяли неработающую платку. Вроде завелась. Но поймал ситуацию, когда при включении были видны только два из трёх энкодеров. После перезапуска - опять три. Склоняюсь всё же, что на землю надо тоже перемычки кидать с А1 и А2, если они должны быть 0, иначе можем получить непредсказуемо в самый неподходящий момент ошибку адреса и ошибку в работе подвеса.

V_I_P_E_R

Итак, решилась проблема с платой. Спасибо Юрию Gapey за абсолютно точно дистанционно поставленный диагноз и Сергею и Андрею из кинематика - официала Basecam за проверку и оперативный ремонт платы. Жаль, что некоторые другие официалы Basecam в Москве не перенимают опыт общения с клиентами и техподдержки. Проблема была в отгоревшей земле на шине i2c, повезло что обошлось одним фильтром. Тестирую энкодеры дальше)

Vecmilgravis:

Без перемычек - это ролл, там А1 и А2 должны быть 0.

Ну вот хоть убейте - не видит его программа!!! В аналогичной ситуации. Подключаю на ролл А1 и А2 без перемычек и ничего не происходит. Пошел паять на GND перемычки.
Вопрос: сразу после добавления энкодера (после перезагрузки) должен ли вновь добавленный энкодер давать данные в диагностику? Или он даст данные только после калибровки?

V_I_P_E_R

Спаял. Подключил. Ничего не работает.
Плата - без проблем.
Подключенный через PWM энкодер - без проблем.
Оба энкодера по i2c - ну никак.
Спаял перемычки а1, а2 в соответствии с инструкцией. Все подключил. Включил энкодеры на ролл и яв, указав 5048В, адрес оставил дефолт (пробовал и расставить 0х40 и 0х42, результата тоже нет). Ни в диагностике, ни во вкладке debug нет никакой информации - debug пишет disconnected, диагностика показывает 0 на оба энкодера.
Если поставить галочку “skip auto detection” и выставить адреса - лезет тонна ошибок по i2c, но энкодеры не работают. При этом в debug получаю:
Encoder[ROLL] type: AS5048B (I2C)
magnitude: 0, auto-gain: 0
diagnostic: no problems
read errors: 11206
Encoder[PITCH] type: AS5048A,B (PWM)
read errors: 0
Encoder[YAW] type: AS5048B (I2C)
magnitude: 0, auto-gain: 0
diagnostic: no problems
read errors: 11196
DRIVERS STATE: OTW=0, DRV_FAULT=0
и соответственно кол-во ошибок чтения растет, моторы на соответствующих осях работают крупными секторами.
Голова сломана. Кто что подскажет? Может и правда в поддержку Basecam написать? Или повыбрасывать все и заняться вязанием?