Страница 1 из 2
Организация сети из AVR
Добавлено: Сб сен 12, 2015 09:02:03
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
Вопрос, как сделать, чтобы мои платы с контроллерами отправляли данные по очереди, а не одновременно. Чтобы приемник получил достоверные данные последовательно ?
Или может быть использовать другой интерфейс, расскажите пожалуйста, желательно с примером реализации
Есть мысль: Главная плата опрашивает измерительные модули по очереди, отправляя в линию идентификатор измерительной платы. И в зависимости от получаемых данных коммутирует батарею/включает тревогу. На сколько будет стабильна такая работа ?
Re: Организация сети из AVR
Добавлено: Сб сен 12, 2015 09:43:21
Gudd-Head
Symbiosis писал(а):Вопрос, как сделать, чтобы мои платы с контроллерами отправляли данные по очереди, а не одновременно. Чтобы приемник получил достоверные данные последовательно ?
Или может быть использовать другой интерфейс, расскажите пожалуйста, желательно с примером реализации
Это уже вопрос не интерфейса, а прикладного уровня.
Re: Организация сети из AVR
Добавлено: Сб сен 12, 2015 10:18:53
Андрей СШ
Интересно как Вам удалось замерить напряжение на 8-и банках одним контроллером.
Непоятно что с физическим интерфейсом. Микроконтроллеры под разным напряжением и должны быть гальванически изолированны.
На логическом уровне всё просто. Ведущее устройство по очереди называет номер контроллера. Контроллер, услышав свой номер отвечает.
В принципе можно конечно сгородить мультимастер без ведущего устройства, но это логически сложнее и медленнее работает.
Re: Организация сети из AVR
Добавлено: Сб сен 12, 2015 15:32:01
Pnjom-Penb
Symbiosis писал(а):... как сделать, чтобы мои платы с контроллерами отправляли данные по очереди
На мой взгляд, проще всего двигаться в сторону единственного контроллера, занимающегося всей работой по измерению напруг и передачаче полученных измерений. Рассматривать все доступные способы коммутации с точки зрения их дешевизны. Если будет дешевле коммутировать релюшкой - пусть контроллер управляет релюшкой, если МОП-ключами, пусть контроллер управляет ими. Это будет и дешевле, и проще, с точки зрения фирмвари, и даст масштабируемость, в том смысле, что это решение будет работать и для 32 батараей, и для 64, и для ... как вы все думаете, для скольки? :о)))
Re: Организация сети из AVR
Добавлено: Сб сен 12, 2015 19:40:30
Mishany
первый мк отправляет массив во второй мк, а второй мк к принятому массиву добавляет свой массив и отправляет дальше...
Re: Организация сети из AVR
Добавлено: Сб сен 12, 2015 23:12:32
mas123
Symbiosis писал(а):Вопрос, как сделать, чтобы мои платы с контроллерами отправляли данные по очереди, а не одновременно.
Применить соответствующий протокол обмена прикладного уровня.
Я соглашусь с ранее высказанным вариантом: мастер отсылает запрос, ведомый отвечает данными, услышав запрос на свой адрес.
Стандартно, масштабируемо, отказоустойчиво.
Symbiosis писал(а):Чтобы приемник получил достоверные данные последовательно ?
Использовать контроль достоверности передаваемых данных. Проверять данные, используя контрольную сумму.
Андрей СШ писал(а):Непоятно что с физическим интерфейсом. Микроконтроллеры под разным напряжением и должны быть гальванически изолированны.
Я бы посоветовал использовать RS-485.
Или применить м/с цифровых изоляторов (гальванической развязки). Мы используем ADUM****
Re: Организация сети из AVR
Добавлено: Вс сен 13, 2015 05:47:04
Symbiosis
Я понял... Спасибо вам. Первый раз сделал такую схему:
первый контроллер отправляет массив данных + идентификатор следующего контроллера. Следующий контроллер отправляет свой массив + ИД контроллера №3 и т.д. В итоге если слушать интерфейс, собираешь все данные. Но Стабильность под вопросом. если затупит один элемент, откажет вся система. В итоге сделал отправку данных по запросу мастера.
Напряжение мерять на 8ми банках не проблема. Применил много контроллеров, просто потому что у меня 400шт примерно в запасе мега8, у нее 8каналов АЦП.
друг от друга модули гальванически развязаны. Питается каждый модуль от своей группы ячеек. Данные идут через оптопары. Собрал я два модуля на макетке. и остановился... Решил сделать по плотнее, так сказать, устройство...
Использовать мультиплексор на 32 канала. а вот тут встает очень острый вопрос, как мерять напряжение. если по предыдущей схеме, вычислять напряжение следующей банки отнимая от текущего значения АЦП результаты всех предыдущих, то конечно результат получится какой то. Но точность никакая. Т.к. 10 разрядную шкалу придется растягивать на 115В.
И вот тут затык, что делать дальше, все же оставаться на модульном варианте, при этом дискретность измерений 28мВ. Или как то иначе мерять напряжение на банках одним устройством.
Хоть это уже и вопросы совсем другой темы...
mas123, а вы занимаетесь похожим вопросом ?
Re: Организация сети из AVR
Добавлено: Вс сен 13, 2015 05:57:04
hybroid
Почему мастер не комп? Или главная плата? Куда они там отправляют.. Вот он пусть сидит и тыкает их по очереди. Ткнул первого - ответ. Ткнул второго - сдох по таймауту. Ткнул третьего - ответ и т.д.
Re: Организация сети из AVR
Добавлено: Вс сен 13, 2015 06:12:59
Symbiosis
Symbiosis писал(а): В итоге сделал отправку данных по запросу мастера.
Так и выполнено сейчас
Re: Организация сети из AVR
Добавлено: Вс сен 13, 2015 07:15:28
hybroid
Пардон, как-то мимо прочитал

Re: Организация сети из AVR
Добавлено: Вс сен 13, 2015 09:38:52
Андрей СШ
ADUM и иже с ним довольно фиговая микросхема в данном случае. Потребление 10 мА на одну сторону. Батарею на 15 Ач высадит за месяц всю если не отключать. А если отключать, то логика интерфейса усложняется.
mas123 писал(а):Я бы посоветовал использовать RS-485.
RS485 сам по себе не изолированный и на высоковольтной батарее работать не будет. Хотя некоторые трансиверы допускают смещение вольт на 40.
Symbiosis писал(а): дискретность измерений 28мВ
На самом деле можно дизерингом добиться дискретности 7 мВ при той же схеме.
Тут проблема в другом. Если резисторы имеют точность 1%, то при вычитании напряжения седьмой банки из восьмой эта погрешность превращается в 8%, что для фосфата 3,65*0,08 = 0,3 В - слишком большая погрешность
Re: Организация сети из AVR
Добавлено: Вс сен 13, 2015 11:37:40
Symbiosis
hybroid писал(а):На самом деле можно дизерингом добиться дискретности 7 мВ при той же схеме.
Уже думал над этим, по одному контроллеру на 16 банок хотя бы сделать.
hybroid писал(а):Если резисторы имеют точность 1%, то при вычитании напряжения седьмой банки из восьмой эта погрешность превращается в 8%, что для фосфата 3,65*0,08 = 0,3 В - слишком большая погрешность
А вот об этом вообще не задумывался. Спасибо! Выходит городить более 4х банок от одного контроллера не стоит...
Re: Организация сети из AVR
Добавлено: Пн сен 14, 2015 09:27:39
mas123
Андрей СШ писал(а):А если отключать, то логика интерфейса усложняется.
Что сложного в установке одного ключа, а то и использовании штатного логического входа управления у м/с?
Андрей СШ писал(а):RS485 сам по себе не изолированный
Эмммм... Как бы промышленный стандарт для передачи данных между устройствами с разным питанием.
Схема ADUM + м/с интерфейса-485 с легкостью выдерживает импульсы наводки до 4 кВ.
Для идеала - существуют м/с интерфейсов RS-485 со встроенной гальванической изоляцией.
Андрей СШ писал(а):на высоковольтной батарее работать не будет.
Как я понял - все замеры и математика выполняется на AVR. А там питание 3.3 или 5 вольт, от которых запитывается и RS-485.
Re: Организация сети из AVR
Добавлено: Пн сен 14, 2015 11:19:50
Андрей СШ
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 банки, но из-за специальности его купить трудновато и дороговато.
Re: Организация сети из AVR
Добавлено: Пн сен 14, 2015 12:30:50
mas123
Андрей СШ писал(а):Ну поставили вы его и что дальше? отключить ADUM и остаться без связи?
Согласен. Для ведомого устройства это не выход.
Андрей СШ писал(а):У меня это абзац вызывает когнитивный диссонанс. RS-485 изолированный потому что это промышленный стандарт?
Нет. Это промышленный стандарт, поэтому я сомневаюсь что вопрос гальваноразвязки так остро необходим при использовании RS-485/
Андрей СШ писал(а):Но зачем тогда ADUM?
Это уже наши "фишки" реализации в конкретных устройствах.
Андрей СШ писал(а):А суть в том, что первая попавшаяся микросхема ADM485 имеет " –7 V to +12 V bus common-mode range", что позволяет соединять устройства с плавающими туда-сюда землями, но этого недостаточно, для соединения банок на батарее в 115 В.
Я таки извиняюсь, а на atMega8 и LCD тоже 115 вольт подаётся?
Re: Организация сети из AVR
Добавлено: Пн сен 14, 2015 12:57:36
Андрей СШ
mas123 писал(а):я сомневаюсь что вопрос гальваноразвязки так остро необходим при использовании RS-485
Ну так в среднем в промышленности гальваноразвязка не очень нужна и потому её нет, но в этой теме как раз особый случай, в промышленности относительно редкий.

Между точками
И1 и
И2 напряжение 12 В. А между
И1 и
ИВ может быть 115 В.
ADUM в принципе можно применять, но только на банках большой мощности и наличии постоянного подзаряда (бесперебойник или солнечная электростанция). Да и стоит многовато.
Re: Организация сети из AVR
Добавлено: Пн сен 14, 2015 15:07:40
mas123
Андрей СШ писал(а):Между точками И1 и И2 напряжение 12 В.
Почему?
Разве напряжение батареи подается прямо на питание контроллера? Это не факт - про это ничего не сказано. И нелогично - при низком напряжении не получим данные замеров.
А измеряемое напряжение на АЦП (тем более у AVR) классически подаётся через делитель.
Re: Организация сети из AVR
Добавлено: Вт сен 15, 2015 08:50:50
Андрей СШ
mas123 писал(а):напряжение батареи подается прямо на питание контроллера? Это не факт
Тут проблема в том, что минус питания микроконтроллера и база АЦП это одна и та же нога. Так что да - напряжение батареи (частично) подаётся на GND контроллера. Собственно на схеме, которую я нарисовал это видно.
Если нарисуете как этого избежать, то я обязательно поставлю плюсик.
Re: Организация сети из AVR
Добавлено: Вт сен 15, 2015 10:24:21
hybroid
В схеме, что ты нарисовал, нету половины общих проводов. Поэтому в участках, которые ты назвал, пока что не может быть вообще никаких напряжений.
Re: Организация сети из AVR
Добавлено: Вт сен 15, 2015 14:06:59
Андрей СШ
Дажить и незнаю что сказать.
Вот какое напряжение между И1 и И2 по вашему?