Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Понимаю что не в тему но в лом искать подходящую, что-то они все закрытые. Видно АВР совсем не в моде нынче.. Надо стало быстрое деление константы 32767 на переменную 16 бит. Придумал вот такую делилку. Она проста, понятна, легко может быть приспособлена под любую разрядность Для сравнения, делилка 16\16 из АВР аппноты тратит 260 тактов
DivU_TempHL_BT: ; TempH:L делимое (потом здесь будет удвоенный остаток)- ldi Cnt, 1 ; -Buff:Temp делитель, R1:R0 округленный результат mov One, Cnt clr R1 clr R0 mov R2, One ; начальное значение маски для записи единиц в результат- clr R3 clr Zero ; -она же будет счетчиком в цикле деления cpi Temp, 128 cpc Buff, Zero brsh shl cpi Temp, 32 ; чтоб не повиснуть при делении на 0 : cpc Buff, Zero brsh swdv ldi Temp, 32 swdv: mov Buff, Temp ; для ускорения работы, если делитель <128- clr Temp ; -можно сдвинуть делитель влево сразу на 8 бит mov R3, One ; -и маску тоже clr R2 shl: sbrc Buff, 6 rjmp dv lsl Temp rol Buff ; сделать делитель близким к делимому lsl R2 rol R3 ; при этом приготовить маску rjmp shl dv: cp Temp_L, Temp ; в цикле, сравнить делимое и делитель cpc Temp_H, Buff brlo shr sub Temp_L, Temp ; если можно то вычесть sbc Temp_H, Buff or R1, R3 ; и маской внести единицу в результат or R0, R2 shr: lsr R3 ror R2 ; в любом случае, сдвинуть 1 в маске вправо brcs edv ; (пока она совсем не обнулится, тогда выйти из цикла) lsr Buff ror Temp ; и сдвинуть вправо делитель rjmp dv edv: lsl Temp_L rol Temp_H ; удвоить остаток cp Temp, Temp_L ; сравнить его с делителем cpc Buff, Temp_H adc R0, Zero ; округлить adc R1, Zero ret ; 185 тактов макс. время, мин. время 31 тактов
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 49
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения