Подвес камеры на бесколлекторных моторах на Alexmos/Basecam

Маркс

нашел картинку

правее кварца стоит MPU6050, так что проверяйте адрес внешнего модуля

А вообще интересно.
Вечером зайду в CubeIDE посмотрю сколько портов i2c на 103 процессоре может быть настроено

Маркс

Посмотрел в конфигураторе CubeMX
В процессорах STM32F103RCT6 два порта i2c.

В этом случае, скорее всего, два IMU разнесены на разные порты.

от картинка с чипом MPU6050

от точки, против часовой стрелки девятая нога это AD0,
посмотрите по дорожке, возможно есть перемычка, но в принципе переключить адрес может и контроллер,
ему достаточно эту ногу подтянуть к “земле” или к питанию и адрес станет другим.

В общем, начнем с просмотра настроек.
Но внешний IMU у Вас все таки один или их три и все три не работают ?

Pand0562

На трех контроллерах три разных IMU

Маркс

подтянута к 3,3В
значит адрес ему определен 0x69
а посмотрите на внешних IMU эту же ногу, куда она идет.

Маркс

cdn3.is-pdf.com/…/e452f539ebe45eb1f43d71b7f83efba8
судя по мануалу, подвес можно настроить на разное количество степеней свободы

у вас сейчас при включении питания камера фиксируется в каком то положении ?

kasatka60
Pand0562:

нуууу, какбээ, я в курсе))

Поверьте, лучше уточнить, а то тут бывают люди которые на очевидных вещах заваливаются.

Pand0562
kasatka60:

а то тут бывают люди

ну, вот, я один из них)))

Pand0562
Маркс:

при включении питания камера фиксируется в каком то положении ?

моторы не дергаются вообще, как будто питания нет. Внешний IMU не определяется, а с него начинается опрос, ну и не стартует по этой ошибке. Причём раньше это всё работало и неплохо. Я сезона три отлетал, даже не заморачивался ни какими настройками. Почти “из коробки” полетело!

Pand0562
Маркс:

а посмотрите на внешних IMU эту же ногу, куда она идет.

Вроде, на соседнюю, через кондёр… ну и на землю, если я правильно понимаю…

Маркс
Pand0562:

На трех контроллерах три разных IMU

Pand0562:

Внешний IMU не определяется

“колдунство” какое то, давайте начнем с настроек,

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

Маркс
Pand0562:

ну и на землю, если я правильно понимаю…

да, все так, кондер он с десятой ноги на массу.
адрес 0x68, значит, даже если на одной шине сидят, мешать друг другу не будут.
еще бы мультиком проверить, одна и таже шина i2c или разные,
просто прозвонив SDA или SCL на внешнем модуле, с тем же сигналом на внутреннем.
но, судя по всему, у Вас опыта такого нет?

Маркс

вопрос в порядке бреда,
а шлейф подключения внешнего сенсора у Вас один или у каждого сенсора свой ?

Маркс

и еще больший бред. на всякий случай фото шлейфа покажите.

помню как то видел видео на котором товарищ перекрещивал соединение SDA/SCL
по примеру Rx/Tx, а потом долго удивлялся, почему устройство не отвечает.

Pand0562

Шлейф шатный, родной от одного контроллера. Пины не переставлял))). Целостность проверял и сопротивление каждого провода - тоже.

Маркс:

одним и тем же

да

Маркс:

возможно в конфиге

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

Pand0562
Pand0562:

Дорожка идёт вот к этой ноге.

извиняюсь - неправильно посмотрел. эта ножка тоже на минус идёт только через резюк

Маркс
Pand0562:

GUI при чтении контроллера сообщает об ошибке

GUI пишет i2c errors: 0 - ошибок нет
\

через двоеточие выводит результат
imu: none (нету его) imu2: ok (с ним все хорошо) ну и так далее

так что, по моему ИМХО, либо шлейф “кривой”, либо в GUI косяк,
я склоняюсь ко второму, но Arduin’ку типа nano я бы все таки купил

хотя, посмотрел, они и в Китае уже стоят 4 бакса

Pand0562

Да с ардуинками у нас тут, как с гуталином - проблем нет))). Шлейфы я пробовал, тоже разные. Коллега от отчаяния даже припаял, просто, все концы - не помогло)))

загадочно всё это…

Маркс
Pand0562:

Да с ардуинками у нас тут

так проверить модуль дел на 5 минут.
i2c_scanner стандартный пример в библиотеке Wire.
выдаст адрес подключенного устройства, значит оно работает.

хотя, я думаю дело в конфигураторе

IMU is not available - может обозначать как отсутствует, так и недоступен т.е. не прописан