Например TDA7294

Форум РадиоКот • Просмотр темы - Помогите подобрать мультиплексор для опроса MPU-9250
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Ср апр 24, 2024 06:03:51

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 12:23:52 
Родился

Зарегистрирован: Пн янв 07, 2019 12:28:35
Сообщений: 5
Рейтинг сообщения: 0
Приветствую всех.
Сначала коротко о задаче. Нужно опросить множество (около 20 датчиков) MPU-9250. (фото ниже)
Изображение
Казалось бы, что тут сложного? Но проблема в том, что все они сидят на одном адресе - 0x68, который вшит на них еще на заводе. А значит, просто нацеплять их друг за другом не выход. Немного порывшись нашел выход - мультиплексоры.
Доработал модульную схему, теперь она выглядит так.
Изображение
Принцип действия:
  1. Ардуино-мастер "пинает" ардуино-воркеров.
  2. Воркеры "открывая" через мультиплексоры датчики, опрашивают их.
  3. Из полученных данных формируется ответ который отсылается мастеру для дальнейших калдунств.


Групп может от 3 до 5, датчиков в этих группах от 5 до 10 (в среднем), на каждую группу нужно по мультиплексору.

Отсюда вопрос, вернее просьба, посоветовать мультиплексоры подходящие для моих целей, т.к. опыта в этом у меня ноль, нашел только К155КП5, но не уверен подойдет ли, поэтому я и здесь.
Просьба сильно не бомбить, я не тупой, просто дизайнер и студент-веб-разработчик :facepalm:, а тут чет захотелось одну затею проверить.
Но паять по готовым схемам и паяльник в руках держать умею.
СпойлерВ 5-6 классе спаял приемник по готовой схеме, вроде даже работал худо-бедно. В основном, правда, наушники перепаиваю.


Так же буду рад советам по теме и полезной информации в виде статей, схем, видео и т.д..

Заранее благодарен всем, кто откликнется.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 13:10:18 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: 0
Приветствую всех.
Сначала коротко о задаче. Нужно опросить множество (около 20 датчиков) MPU-9250. (фото ниже)
Изображение
Казалось бы, что тут сложного? Но проблема в том, что все они сидят на одном адресе - 0x68, который вшит на них еще на заводе. А значит, просто нацеплять их друг за другом не выход.

Так на фотке видно, что там есть некий AD0. Видимо это бит адреса? Если это так, то используя его можно "нацеплять" сколько угодно. Без всяких мультиплексоров. Если это конечно бит адреса (проверьте по даташиту и по схеме платы).
Ещё вариант - программный ногодрыг. Так сможете одновременно опросить хоть все. Для опроса гироскопа на движущемся объекте это может быть важным моментом. Если будете опрашивать последовательно, то на опрос 20 шт. может уйти очень прилично времени даже на SCLK=400кГц.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 13:18:53 
Родился

Зарегистрирован: Пн янв 07, 2019 12:28:35
Сообщений: 5
Рейтинг сообщения: 0
Так на фотке видно, что там есть некий AD0. Видимо это бит адреса? Если это так, то используя его можно "нацеплять" сколько угодно. Без всяких мультиплексоров. Если это конечно бит адреса (проверьте по даташиту и по схеме платы).


Да, так можно делать, но только для 2-х датчиков в линию, во всяком случае, на форумах в темах с аналогичными вопросами так написано.

А про "ногодрыг" можно подробнее? Что под этим подразумевается, не совсем понял.


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 15:19:45 
Встал на лапы
Аватар пользователя

Карма: 9
Рейтинг сообщений: 17
Зарегистрирован: Вс ноя 01, 2015 00:09:59
Сообщений: 83
Рейтинг сообщения: 0
Есть I2C мультиплексор TCA9548A, стоит порядка 1$. Цеплять можно до 8 ведомых. Адрес микросхемы (TCA9548A) можно менять, даташит в помощь. И того: 1 шина I2C с МК -> 3 модуля (TCA9548A) -> 24 ведомых.

_________________
Для связи email: risctronix собака gmail.com


Вернуться наверх
 
Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 17:13:25 
Родился

Зарегистрирован: Пн янв 07, 2019 12:28:35
Сообщений: 5
Рейтинг сообщения: 0
Есть I2C мультиплексор TCA9548A, стоит порядка 1$. Цеплять можно до 8 ведомых. Адрес микросхемы (TCA9548A) можно менять, даташит в помощь. И того: 1 шина I2C с МК -> 3 модуля (TCA9548A) -> 24 ведомых.

О, благодарю, это то, что нужно!


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 17:25:20 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: 0
Да, так можно делать, но только для 2-х датчиков в линию, во всяком случае, на форумах в темах с аналогичными вопросами так написано.

С чего бы это только для 2-х? Не верьте форумам, верьте своему здравому смыслу! Подключать так можно столько слэйвов, сколько хватит ног на вашем МК (ну конечно ещё следует учесть ёмкость шины - чтобы не перегрузить шину по ёмкости).
Чтобы опросить одно из устройств, ставите на ноге, идущей на него например "0" на эту линию (AD0), а на остальные = "1". И опрашиваете его с адресом, который подразумевает значение = "0" для этого бита адреса. Потом ставите "0" для следующего слэйва, а на остальные = "1"; и так далее....

А про "ногодрыг" можно подробнее? Что под этим подразумевается, не совсем понял.

Вы сперва определитесь: нужно Вам чтобы показания с датчиков были сняты в моменты времени жёстко определённые друг от друга? Или нет? Потому как такая реализация будет много сложнее последовательного опроса, и начинающему программисту, возможно, будет не по зубам.
Если не нужно - опрашивайте последовательно и не парьтесь. Но времени это займёт в 20 раз больше....

Добавлено after 5 minutes 34 seconds:
Есть I2C мультиплексор TCA9548A, стоит порядка 1$. Цеплять можно до 8 ведомых.

Бессмысленное усложнение схемы. Можно ещё для кучи с десяток корпусов чего угодно впаять, чтоб воздух грели.
Задача решается чисто на одном МК.
Либо (при последовательном опросе) на МК нужны ноги: 1шт. SCL + 1шт. SDA + 20шт. GPIO-линий на AD0 каждого модуля. Итого == 22 ноги. (но нужно проверить - нет ли перегруза SCL/SDA по ёмкости). ПО - простое.
Либо (при параллельном опросе) на МК нужны ноги: 1шт. SCL (параллельно на все модули с МК) + 20шт. SDA (своя персональная на каждый модуль от МК) (SCL нужно проверить на емкостную нагрузку). ПО - будет сложнее.

Добавлено after 5 minutes 2 seconds:
Сначала коротко о задаче. Нужно опросить множество (около 20 датчиков) MPU-9250. (фото ниже)

PS: На фото кста 9265, а не 9250.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 18:18:37 
Родился

Зарегистрирован: Пн янв 07, 2019 12:28:35
Сообщений: 5
Рейтинг сообщения: 0
С чего бы это только для 2-х? Не верьте форумам, верьте своему здравому смыслу! Подключать так можно столько слэйвов, сколько хватит ног на вашем МК (ну конечно ещё следует учесть ёмкость шины - чтобы не перегрузить шину по ёмкости).
Чтобы опросить одно из устройств, ставите на ноге, идущей на него например "0" на эту линию (AD0), а на остальные = "1". И опрашиваете его с адресом, который подразумевает значение = "0" для этого бита адреса. Потом ставите "0" для следующего слэйва, а на остальные = "1"; и так далее....

Ну я не электронщик, прошу на это сделать поправку. Программирование МК для еще новая область, поэтому к ответам на форумах привык прислушиваться.

Вы сперва определитесь: нужно Вам чтобы показания с датчиков были сняты в моменты времени жёстко определённые друг от друга? Или нет? Потому как такая реализация будет много сложнее последовательного опроса, и начинающему программисту, возможно, будет не по зубам.
Если не нужно - опрашивайте последовательно и не парьтесь. Но времени это займёт в 20 раз больше....

В идеале нужно опрашивать датчики в один момент времени. Т.к. в дальнейшем данные идут на компьютер для просчетов, где синхронизация очень важна, т.к. планируется в дальнейшем из этого делать [около]игровую примочку.

Бессмысленное усложнение схемы. Можно ещё для кучи с десяток корпусов чего угодно впаять, чтоб воздух грели.
Задача решается чисто на одном МК.
Либо (при последовательном опросе) на МК нужны ноги: 1шт. SCL + 1шт. SDA + 20шт. GPIO-линий на AD0 каждого модуля. Итого == 22 ноги. (но нужно проверить - нет ли перегруза SCL/SDA по ёмкости). ПО - простое.
Либо (при параллельном опросе) на МК нужны ноги: 1шт. SCL (параллельно на все модули с МК) + 20шт. SDA (своя персональная на каждый модуль от МК) (SCL нужно проверить на емкостную нагрузку). ПО - будет сложнее.

Даже если датчики можно повесить гирляндой, то затея упирается в ноги. Как я понял, у ардуины только определенные ноги можно юзать под шину. Или я ошибаюсь?
Изображение

PS: На фото кста 9265, а не 9250.

Ну здесь да, дернул первую попавшуюся картинку из гугла :D


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 19:29:58 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: 0
В идеале нужно опрашивать датчики в один момент времени. Т.к. в дальнейшем данные идут на компьютер для просчетов, где синхронизация очень важна, т.к. планируется в дальнейшем из этого делать [около]игровую примочку.
...
Даже если датчики можно повесить гирляндой, то затея упирается в ноги. Как я понял, у ардуины только определенные ноги можно юзать под шину. Или я ошибаюсь?

Ну раз нужно все опросить одновременно, то подключать их нужно параллельно и опрашивать программно ногодрыгом (так как не существует в природе МК с 20-ю I2C).
И забудьте об абдурине. Берите любой МК с ядром Cortex-M (хоть тот же STM32) заводите SCL с любой мощной ноги (желательно - выделить под него мощную ногу). Ну а остальные 20шт. SDA (по одному на каждый MPU) - повесьте на какой-нить 32-битный GPIO-порт (хотя у STM32 GPIO объединены в 16-битные порты - значит в 2 16-битных).
Дальше делаете обычный программный I2C, но с учётом что у вас не одна линия SDA, а их 20шт.
Начать нужно с изучения диаграмм работы интерфейса I2C.
Для начинающего будет непросто - много подводных камней....

PS: Ещё можно поискать другой гироскоп. Например - с интерфейсом SPI. SPI-ые гораздо легче объединить параллельно чем I2C-шные.
PPS: А про все эти гирлянды из кучи МК и мультиплексоров - забудьте, их замучаетесь синхронизировать между собой по времени.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Вт янв 08, 2019 20:22:58 
Родился

Зарегистрирован: Пн янв 07, 2019 12:28:35
Сообщений: 5
Рейтинг сообщения: 0
Про диаграммы работы I2C я почитаю.

PS: Ещё можно поискать другой гироскоп. Например - с интерфейсом SPI. SPI-ые гораздо легче объединить параллельно чем I2C-шные.

MPU-9250 могут также работать и по SPI. Как тогда их так подружить?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Помогите подобрать мультиплексор для опроса MPU-9250
СообщениеДобавлено: Ср янв 09, 2019 09:23:40 
Сверлит текстолит когтями

Карма: -10
Рейтинг сообщений: 97
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1155
Рейтинг сообщения: 0
MPU-9250 могут также работать и по SPI. Как тогда их так подружить?

Открыть даташит на MPU-9250 с описанием его команд и регистров. Прочитать как работает SPI (он проще чем I2C). ...и подружить. Естественно. 8)
Только при каждом чтении у вас будет читаться не один бит как обычно в SPI, а 20. Которые потом расфасовывать по отдельным 20-и битовым потокам.
Сигналы CS, SCLK и MOSI - завести с мастера на все MPU параллельно. 20 сигналов MISO с каждого MPU - как одно слово на один (или два) параллельных порта МК. Тогда все команды отправляемые к MPU будут параллельно и одновременно уходить на все MPU, а чтение данных - с каждого MPU будет свой битовый поток. Который можно разбить на 20 потоков либо в самом МК либо отдать как есть в комп и там разбить. Кстати - такой алгоритм на SPI потянет даже самый слабый МК, хоть та же абдурина.
Ещё можно внимательнее почитать даташит на MPU-9250 и, если там указано, что после начала CS и до конца приёма команды/аргументов с MOSI MPU свою выходную линию MISO держит в высокоомном состоянии, то можно объединить линии MOSI/MISO для каждого MPU в одну и отправлять команды/данные к MPU параллельно, просто дублируя их на все линии MOSI/MISO. Так экономится одна нога (MOSI), а также появляется возможность при необходимости обращаться индивидуально к каждому MPU (если соединить их по схеме: MOSI - общий на все MPU, то обращаться можно будет только ко всем сразу). Но это может быть и не нужно вам.


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 29


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y