Организация сети из AVR

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
Symbiosis
Вымогатель припоя
Сообщения: 600
Зарегистрирован: Вс апр 27, 2008 13:44:52
Контактная информация:

Организация сети из AVR

Сообщение Symbiosis »

Всем привет.

Для LiFePo4 батареи 40S4P делаю устройство мониторинга. На atMega8 сделал 8 канальный вольтметр. выводит на 2*16 LCD 8 значений напряжений и отправляет их по UART.

1й контроллер (первая плата, измеряющая напряжение на ячейках с 1 по 8 ) отправляет в UART :
B1:3.53
B2:3.57
...
B8:3.61
2й контроллер отправляет (напряжения на ячейках с 9 по 16)
B9: 3.55
...
B16: 3.57

Планировалось, что все это пойдет по UART на компьютер, где красиво будет отображено. Или на контроллер с дисплеем 320*240

Вопрос, как сделать, чтобы мои платы с контроллерами отправляли данные по очереди, а не одновременно. Чтобы приемник получил достоверные данные последовательно ?

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

Есть мысль: Главная плата опрашивает измерительные модули по очереди, отправляя в линию идентификатор измерительной платы. И в зависимости от получаемых данных коммутирует батарею/включает тревогу. На сколько будет стабильна такая работа ?
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20091
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

Re: Организация сети из AVR

Сообщение Gudd-Head »

Symbiosis писал(а):Вопрос, как сделать, чтобы мои платы с контроллерами отправляли данные по очереди, а не одновременно. Чтобы приемник получил достоверные данные последовательно ?
Или может быть использовать другой интерфейс, расскажите пожалуйста, желательно с примером реализации
Это уже вопрос не интерфейса, а прикладного уровня.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Организация сети из AVR

Сообщение Андрей СШ »

Интересно как Вам удалось замерить напряжение на 8-и банках одним контроллером.

Непоятно что с физическим интерфейсом. Микроконтроллеры под разным напряжением и должны быть гальванически изолированны.

На логическом уровне всё просто. Ведущее устройство по очереди называет номер контроллера. Контроллер, услышав свой номер отвечает.

В принципе можно конечно сгородить мультимастер без ведущего устройства, но это логически сложнее и медленнее работает.
Pnjom-Penb
Мучитель микросхем
Сообщения: 469
Зарегистрирован: Вс авг 30, 2015 03:52:59

Re: Организация сети из AVR

Сообщение Pnjom-Penb »

Symbiosis писал(а):... как сделать, чтобы мои платы с контроллерами отправляли данные по очереди

На мой взгляд, проще всего двигаться в сторону единственного контроллера, занимающегося всей работой по измерению напруг и передачаче полученных измерений. Рассматривать все доступные способы коммутации с точки зрения их дешевизны. Если будет дешевле коммутировать релюшкой - пусть контроллер управляет релюшкой, если МОП-ключами, пусть контроллер управляет ими. Это будет и дешевле, и проще, с точки зрения фирмвари, и даст масштабируемость, в том смысле, что это решение будет работать и для 32 батараей, и для 64, и для ... как вы все думаете, для скольки? :о)))
Аватара пользователя
Mishany
Электрический кот
Сообщения: 1031
Зарегистрирован: Чт июн 20, 2013 00:00:58
Откуда: москва, м.Сходненская

Re: Организация сети из AVR

Сообщение Mishany »

первый мк отправляет массив во второй мк, а второй мк к принятому массиву добавляет свой массив и отправляет дальше...
mas123
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Re: Организация сети из AVR

Сообщение mas123 »

Symbiosis писал(а):Вопрос, как сделать, чтобы мои платы с контроллерами отправляли данные по очереди, а не одновременно.
Применить соответствующий протокол обмена прикладного уровня.
Я соглашусь с ранее высказанным вариантом: мастер отсылает запрос, ведомый отвечает данными, услышав запрос на свой адрес.
Стандартно, масштабируемо, отказоустойчиво.
Symbiosis писал(а):Чтобы приемник получил достоверные данные последовательно ?
Использовать контроль достоверности передаваемых данных. Проверять данные, используя контрольную сумму.
Андрей СШ писал(а):Непоятно что с физическим интерфейсом. Микроконтроллеры под разным напряжением и должны быть гальванически изолированны.
Я бы посоветовал использовать RS-485.
Или применить м/с цифровых изоляторов (гальванической развязки). Мы используем ADUM****
Аватара пользователя
Symbiosis
Вымогатель припоя
Сообщения: 600
Зарегистрирован: Вс апр 27, 2008 13:44:52
Контактная информация:

Re: Организация сети из AVR

Сообщение Symbiosis »

Я понял... Спасибо вам. Первый раз сделал такую схему:

первый контроллер отправляет массив данных + идентификатор следующего контроллера. Следующий контроллер отправляет свой массив + ИД контроллера №3 и т.д. В итоге если слушать интерфейс, собираешь все данные. Но Стабильность под вопросом. если затупит один элемент, откажет вся система. В итоге сделал отправку данных по запросу мастера.

Напряжение мерять на 8ми банках не проблема. Применил много контроллеров, просто потому что у меня 400шт примерно в запасе мега8, у нее 8каналов АЦП.
друг от друга модули гальванически развязаны. Питается каждый модуль от своей группы ячеек. Данные идут через оптопары. Собрал я два модуля на макетке. и остановился... Решил сделать по плотнее, так сказать, устройство...

Использовать мультиплексор на 32 канала. а вот тут встает очень острый вопрос, как мерять напряжение. если по предыдущей схеме, вычислять напряжение следующей банки отнимая от текущего значения АЦП результаты всех предыдущих, то конечно результат получится какой то. Но точность никакая. Т.к. 10 разрядную шкалу придется растягивать на 115В.

И вот тут затык, что делать дальше, все же оставаться на модульном варианте, при этом дискретность измерений 28мВ. Или как то иначе мерять напряжение на банках одним устройством.

Хоть это уже и вопросы совсем другой темы...

mas123, а вы занимаетесь похожим вопросом ?
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Организация сети из AVR

Сообщение hybroid »

Почему мастер не комп? Или главная плата? Куда они там отправляют.. Вот он пусть сидит и тыкает их по очереди. Ткнул первого - ответ. Ткнул второго - сдох по таймауту. Ткнул третьего - ответ и т.д.
Аватара пользователя
Symbiosis
Вымогатель припоя
Сообщения: 600
Зарегистрирован: Вс апр 27, 2008 13:44:52
Контактная информация:

Re: Организация сети из AVR

Сообщение Symbiosis »

Symbiosis писал(а): В итоге сделал отправку данных по запросу мастера.


Так и выполнено сейчас
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Организация сети из AVR

Сообщение hybroid »

Пардон, как-то мимо прочитал :)
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Организация сети из AVR

Сообщение Андрей СШ »

ADUM и иже с ним довольно фиговая микросхема в данном случае. Потребление 10 мА на одну сторону. Батарею на 15 Ач высадит за месяц всю если не отключать. А если отключать, то логика интерфейса усложняется.

mas123 писал(а):Я бы посоветовал использовать RS-485.

RS485 сам по себе не изолированный и на высоковольтной батарее работать не будет. Хотя некоторые трансиверы допускают смещение вольт на 40.

Symbiosis писал(а): дискретность измерений 28мВ

На самом деле можно дизерингом добиться дискретности 7 мВ при той же схеме.
Тут проблема в другом. Если резисторы имеют точность 1%, то при вычитании напряжения седьмой банки из восьмой эта погрешность превращается в 8%, что для фосфата 3,65*0,08 = 0,3 В - слишком большая погрешность
Аватара пользователя
Symbiosis
Вымогатель припоя
Сообщения: 600
Зарегистрирован: Вс апр 27, 2008 13:44:52
Контактная информация:

Re: Организация сети из AVR

Сообщение Symbiosis »

hybroid писал(а):На самом деле можно дизерингом добиться дискретности 7 мВ при той же схеме.

Уже думал над этим, по одному контроллеру на 16 банок хотя бы сделать.

hybroid писал(а):Если резисторы имеют точность 1%, то при вычитании напряжения седьмой банки из восьмой эта погрешность превращается в 8%, что для фосфата 3,65*0,08 = 0,3 В - слишком большая погрешность

А вот об этом вообще не задумывался. Спасибо! Выходит городить более 4х банок от одного контроллера не стоит...
mas123
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Re: Организация сети из AVR

Сообщение mas123 »

Андрей СШ писал(а):А если отключать, то логика интерфейса усложняется.
Что сложного в установке одного ключа, а то и использовании штатного логического входа управления у м/с?
Андрей СШ писал(а):RS485 сам по себе не изолированный
Эмммм... Как бы промышленный стандарт для передачи данных между устройствами с разным питанием.
Схема ADUM + м/с интерфейса-485 с легкостью выдерживает импульсы наводки до 4 кВ.

Для идеала - существуют м/с интерфейсов RS-485 со встроенной гальванической изоляцией.
Андрей СШ писал(а):на высоковольтной батарее работать не будет.
Как я понял - все замеры и математика выполняется на AVR. А там питание 3.3 или 5 вольт, от которых запитывается и RS-485.
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Организация сети из AVR

Сообщение Андрей СШ »

mas123 писал(а):Что сложного в установке одного ключа

Ну поставили вы его и что дальше? отключить ADUM и остаться без связи?

mas123 писал(а):Эмммм... Как бы промышленный стандарт для передачи данных между устройствами с разным питанием.Схема ADUM + м/с интерфейса-485 с легкостью выдерживает импульсы наводки до 4 кВ.

У меня это абзац вызывает когнитивный диссонанс. RS-485 изолированный потому что это промышленный стандарт? Но зачем тогда ADUM?. А если изоляция достигается ADUM-ом, то к чему фраза про промышленный стандарт.

А суть в том, что первая попавшаяся микросхема ADM485 имеет " –7 V to +12 V bus common-mode range", что позволяет соединять устройства с плавающими туда-сюда землями, но этого недостаточно, для соединения банок на батарее в 115 В.

mas123 писал(а):существуют м/с интерфейсов RS-485 со встроенной гальванической изоляцией

Проблема та же, что и у ADUM - гальваноизоляция потребляет очень много энергии. Так что для идеала к этому нжна ещё функция просыпания по сигналу на линии.

----------
Symbiosis писал(а):Выходит городить более 4х банок от одного контроллера не стоит

Но тут есть и плюс - 4 банки - это стандартное напряжение 12 В.

А ещё есть такой контроллер ATmega16HVB - специальный на 4 банки, но из-за специальности его купить трудновато и дороговато.
mas123
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Re: Организация сети из AVR

Сообщение mas123 »

Андрей СШ писал(а):Ну поставили вы его и что дальше? отключить ADUM и остаться без связи?
Согласен. Для ведомого устройства это не выход.
Андрей СШ писал(а):У меня это абзац вызывает когнитивный диссонанс. RS-485 изолированный потому что это промышленный стандарт?
Нет. Это промышленный стандарт, поэтому я сомневаюсь что вопрос гальваноразвязки так остро необходим при использовании RS-485/
Андрей СШ писал(а):Но зачем тогда ADUM?
Это уже наши "фишки" реализации в конкретных устройствах.
Андрей СШ писал(а):А суть в том, что первая попавшаяся микросхема ADM485 имеет " –7 V to +12 V bus common-mode range", что позволяет соединять устройства с плавающими туда-сюда землями, но этого недостаточно, для соединения банок на батарее в 115 В.
Я таки извиняюсь, а на atMega8 и LCD тоже 115 вольт подаётся?
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Организация сети из AVR

Сообщение Андрей СШ »

mas123 писал(а):я сомневаюсь что вопрос гальваноразвязки так остро необходим при использовании RS-485

Ну так в среднем в промышленности гальваноразвязка не очень нужна и потому её нет, но в этой теме как раз особый случай, в промышленности относительно редкий.

Изображение
Между точками И1 и И2 напряжение 12 В. А между И1 и ИВ может быть 115 В.

ADUM в принципе можно применять, но только на банках большой мощности и наличии постоянного подзаряда (бесперебойник или солнечная электростанция). Да и стоит многовато.
mas123
Потрогал лапой паяльник
Сообщения: 312
Зарегистрирован: Вс июл 29, 2012 16:25:39

Re: Организация сети из AVR

Сообщение mas123 »

Андрей СШ писал(а):Между точками И1 и И2 напряжение 12 В.
Почему?
Разве напряжение батареи подается прямо на питание контроллера? Это не факт - про это ничего не сказано. И нелогично - при низком напряжении не получим данные замеров.
А измеряемое напряжение на АЦП (тем более у AVR) классически подаётся через делитель.
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Организация сети из AVR

Сообщение Андрей СШ »

mas123 писал(а):напряжение батареи подается прямо на питание контроллера? Это не факт

Тут проблема в том, что минус питания микроконтроллера и база АЦП это одна и та же нога. Так что да - напряжение батареи (частично) подаётся на GND контроллера. Собственно на схеме, которую я нарисовал это видно.

Если нарисуете как этого избежать, то я обязательно поставлю плюсик.
Аватара пользователя
hybroid
Друг Кота
Сообщения: 8007
Зарегистрирован: Вс ноя 14, 2010 19:24:26
Откуда: Лукалэнд

Re: Организация сети из AVR

Сообщение hybroid »

В схеме, что ты нарисовал, нету половины общих проводов. Поэтому в участках, которые ты назвал, пока что не может быть вообще никаких напряжений.
Андрей СШ
Опытный кот
Сообщения: 806
Зарегистрирован: Ср май 06, 2015 06:41:27
Откуда: Благовещенск

Re: Организация сети из AVR

Сообщение Андрей СШ »

Дажить и незнаю что сказать.

Вот какое напряжение между И1 и И2 по вашему?
Ответить

Вернуться в «AVR»