Приветствую семейство кошачьих! Есть такая задача по реализации smart BMS: передать данные (напряжение каждой из 24 ячеек аккумулятора LiFePO4) с помощью 24 шт. ATtiny13A в один управляющий контроллер ATmega328P. Каждая тинька имеет отдельное питание 2.5В, стабилизированное TL431 от напряжения ячейки, которое и требуется измерить и передать (2.7-3.6В). Понятно, что будет опторазвязка и передача с помощью программного UART. Вопрос в том, будут ли корректно работать 24 оптопары, запараллеленных по выходу и 24 оптопары, запараллеленных по входу (тут наверное нужно ставить транзисторный ключ, ATmega328P не вытянет по току 24 параллельных светодиода). Еще посоветуйте пожалуйста дешевые спаренные оптроны (скорость не важна, важна цена и минимальное токопотребление).
Какие проблемы мультиплексирования сигналов от Тини и коммутации опросных - от меги ? Или дело - в количестве проводов ? Опрос и ответ идет по шине ? Неконкретный вопрос подразумевает неконкретный ответ.
Я бы питал Тини13 непосредственно от аккумулятора. Можно иметь несколько передатчиков на мастере которые будут работать на группу приёмников (ведомых).
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
А если применить нечто подобное последовательному пробросу данных по цепочке? Первый датчик посылает свой пакет, второй добавляет к принятому свои данные и отсылает следующему и так до конца цепочки. "WS2812 навыворот"...
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
последовательное соединение передатчиков и приемников каждого ATtiny13A - вполне приемлемое решение. но добавка к предыдущим пакетам собственного пакета создает определенные трудности. каждый следующий ATtiny13A сначала должен определить, что принятые пакеты закончились, и только потом добавлять собственный. гораздо проще каждому ATtiny13A присвоить номер в цепочке, и ведущий обращается по очереди к каждому номеру. ATtiny13A проверяет номер в телеграмме, и если номер соответствует, отправляет свою телеграмму. а если не соответствует, то не отправляет. но каждый ATtiny13A должен сначала передать принятую телеграмму дальше, и только потом проверить номер. в итоге, к ведущему придет и его собственная телеграмма и ответ от запрошенного номера. собственную телеграмму можно просто игнорировать. процесс будет гораздо длиннее, чем при параллельном соединении, примерно в 24 раза, по количеству ATtiny13A. но и параллельно включение тоже вполне реально. и тоже требует присвоения номера каждому ATtiny13A.
_________________ Мудрость приходит вместе с импотенцией... Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
у меня в голове засела мысль, что можно цепочкой соединить без оптронов... использовать только 1 - с самого высокопотенциального МК.
вот в чем идея. на рисунке показано 2 ячейки аккумов и 2 МК - MCU1 и MCU2, внутри которых показаны встроенные зепи защитных диодов. если выход OUT выдает 0, то стабилитрон оказывается включен анодом к минусу "нижнего" аккумулятора. вход IN MCU1 при этом включен с подтяжкой, т.е. катод стабилитрона оказывается включенным через внутреннюю подтяжку к плюсу верхнего аккумултора. это означает, что стабилитрон откроется, на нем будет 3,6В, а это означает, что на IN MCU1 будет логический 0. итак, на OUT MCU2 лог 0 --> на IN MCU1 лог. 0.
если OUT MCU2 перевести в Z-состояние или выдать на него лог.1, стабилитрон запрется, и в этом случае на IN MCU1 возникнет лог.1. итак, на OUT MCU2 лог 1 --> на IN MCU1 лог. 1.
таким образом сигнал от "нижнего" МК к "верхнему" можно передавать без всяких оптронов. а с самого верхнего уже придется передать на "главный" МК через оптрон. сам "главный" МК соединить "землей" с самым нижним минусом аккумуляторов, и тогда на IN самого нижнего MCU можно подавать сигнал напрямую без оптрона.
как вам такая идея?
возможно, стабилитрон надо будет на 3,3В взять... и добавить небольшой резистор последоватльно... это надо еще подумать, пожалуй.
Добавлено after 3 minutes 26 seconds: сам протокол передачи, вероятно, будет немного отличаться от чистого USART, но все равно у тиньки нет аппаратного, а программно можно замутить любой...
А кито мешает те оптроны последовательно включить? Единственно только питание"гирлянды" потребует соответственно более высокого напряжения. И соответствующей доработки протокола обмена.
питание"гирлянды" потребует соответственно более высокого напряжения.
24 x 0,7 = 16,8 V. C запасом (разброс параметров) надо 20 V отдельно питание тащить...
А не проще просто взять один большой МК (например ATmega128 или типа того) и подключить каждую отптопару на отдельный вывод МК ? Не нужно тащить отдельное питание... Не нужны никакие ключи на транзисторах... Не нужны никакие специальные протоколы... и т.д. ))
Т.С. хочет всё собрать на ATmega328P... ATmega128 стоит столько же. Разница ~10 рублей..))
_________________ Когда уже ничего не помогает - прочтите, наконец, инструкцию. Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII) Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
roman.com, см. моё сообщение выше. ARV, банки могут быть и разряжены, до 2,5 вольт например. Какой стабилитрон будем ставить? И при последовательной передаче возможна другая неприятность. При неработоспособности одного МК будет потеряна связь со всеми...(
я думаю, что можно поставить стабилитрон на 2,5В или меньше, главное проследить, чтобы в "отпущенном" состоянии на входе "верхнего" МК сохранялась лог.1, то есть напряжение стабилизации стабилитрона плюс 0,6 (падение на встроенном "защитном" диоде порта) было хотя бы на 0,6 вольт (точнее - надо выяснить по параметрам в даташите) выше половины питания МК.
кстати, можно еще над использованием транзистора покумекать... мне кажется, что в случае схемы с ОБ возможен вариант тоже... причем свободный от недостатка стабилитрона.
Добавлено after 32 minutes 50 seconds: вот, покумекал:
вроде получается. R1 - имитация встроенной подтяжки, на самом деле там порядка 40-70 килоОм.
Добавлено after 11 minutes 50 seconds: что-то для более двух ячеек не очень получается - не пойму, в чем дело...
Спасибо всем за ответы! Протокол обмена предполагается такой: управляющий контроллер посылает данные о номере ячейки, если номер ячейки совпадает, соответствующая тинька отправляет данные о напряжении ячейки. Хочется максимально упростить схему, пусть будет даже 48 оптронов, пусть даже рс817 (они работают на частоте uart до 9600 по субъективным данным Опять же, как они будут работать при параллельном соединении?
Опять же, как они будут работать при параллельном соединении?
На один бит порта tx по 3 оптрона. И будете вы передавать не всем, а только группе из 3х. Но можно и всем сразу - 8-битным портом. От них же и принимать на 1 rx. Проще не бывает.)
Нарисовал вот схемку, что я хочу осуществить, как пример пока для 4 ячеек (будет 24). Хочется узнать мнение знатоков, что добавить/убрать на схеме и вообще имеет ли такое решение право на жизнь. Если да, как повысить безотказность, помехозащищенность? Можно ли обойтись без резисторов в базах транзюков, как на схеме?
...Можно ли обойтись без резисторов в базах транзюков, как на схеме?
Напрямую нельзя. Вы же ставите резисторы последовательно со светиками, здесь тоже самое. Можно, поставить "цифровые". К слову, BCX53 это PNP и стрелку эмиттера нужно нарисовать как у транзистора TxD.
Сейчас этот форум просматривают: Majestic-12 [Bot] и гости: 30
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения