Открытый проект универсального зарядника

Psw
R2D2:

Не хотел ни кого обижать. Про демократию сказал

Прикольно. Обижаться не имел и в мыслях. С моей стороны в данном случае всё сугубо конструктивно.
А если кто меня и задел на ентом форуме, так это Миха Юнин. Однако правила запрещают обсуждать здесь политику модерирования. А делать это на альтернативных ресурсах - это примерно как фигу в кармане держать - тоже не по мне. Отсюда, кстати, намёк Пузрину - раз уж в моду вошло делить форумы, быть может сделать раздел специально для обсуждения поведения модераторов ? В том числе С разрешением ненормативной лексики после предупреждения в заголовке темы ? Потому как некоторые другие ресурсы заводят аналогичные разделы для слива жёсткого негатива про модуляторофф (примерно как резиновая кукла начальника в релакс-руме у японцев по слухам). Потому как игнорирование критики - это ведь тоже ответ. Успокаивающий, кстати.

R2D2:

в смысле, что все пожелания удовлетворить не удастся.

Согласен, Это само собой. Я же говорил: Лучшее - враг Хорошего. Ну то есть полировать Глюкало до Идеального Блеска можно бесконечно долго. Так что я высказываю не пожелания, а всего лишь мысли. Потому как я сам не профи и в схемотехнике и в программировании и во многих других вещах - зарабатываю на хлеб другими методами.
Однако енти обсуждения помогают и мне самому думать/учится/не скучать.

R2D2:

Сейчас в программе написанной на Си настолько все завернуто, что я уже даже забываю где я чего учел а где не учел.
Если я при этом навороте еще буду отслеживать не наедет ли измерение АЦП на счетчик секунд и при этом не помешает ли это все в наихудьшем случае управлению ключами, голова лопнет. Процессор действительно не загружен, но вероятность критичного стечения задач резко повышается при прямом управлении ключами.

Во прикольно.
Никогда бы не подумал, что на Сях писать проги для мелко процов сложнее чем на асме. И после ентого заявления как верить Тохе в его высказывании про то, что на асме пишут жуткие мазохисты ? (это мой вольный пересказ моего понимания смысла высказывания Тохи у CNCшников)
Так а в 18 ПИКах раздельные высоко и низко приоритетные прерывания. С отдельными битами запрещения. Ну и высоко приоритетные за счёт использования аппаратного зеркала пары/тройки регистров не могут быть повторно прерваны. А низко приоритетные при использовании сохранения на стек - вполне можно повторно прерывать после минимального заголовка. Ну и высоко приоритетные по умолчанию прерывают низкий приоритет, естественно.
Хотя про борьбу за одно прерывание - ну так и пускай борются, будет иногда (при пропуске прерывания от ШИМ) повторный импульс в ту же самую половину обмотки давать.
Ключ конечно может сгореть, если вся схема уже на пределе (макс коэфф заполнения, макс допустимая температура ключа ну и трансформатор уже насыщен)
Однако в моей схемке нету двух тактных преобразователей - из-за ентого меньше мощность/больше габариты, за то и нет необходимости быстро менять плечи.

А следить за успеванием критичных процессов в прерываниях - ну енто тот самый альфа-тест. На дым, так сказать.

R2D2:

хотелось бы избавиться от контроллера экрана, звука, клавиатуры, com-порта, задержек при записи в еепром, АЦП в режиме сна и заняться творчеством (переключением ключей).

Творчество - это какие задания давать ШИМу и откуда брать эти задания ( из какой косвенной/вспомогательной/юзерной инфы, сам процесс добывания и интерпретации ентой не всегда однозначно толкуемой инфы). А переключением ключей пусть драйвер (двойственное толкование возможно - имеется в виду усилитель/формирователь сигнала на затворе) ключа занимается - где тут место творчеству ?
Ну а переключение фаз ШИМа в двух тактной схеме - просто ещё одно маленькое прерывание, тоже творчества маловато.

R2D2:

У Вас хорошая идея ее надо опробовать нет ли подводных камней. Возможно только таким способом и будет работать и работает уже процессорное управление ЗУ.

Моя рисованная схемка была приложена лишь для примера/иллюстрации. До реала ей весьма далеко.
Ни расчётов параметров, ни оценки КПД, ни удельной к массе/габаритам мощности, ни прочих важных моментов нету. Подводных камней там наверняка хватит за глаза. Но я же должен был “включить умного” по фразе кого-то из древних: “Есть три степени понимания. 1) ПОНИМАТЬ. 2) Понимать, и мочь повторить. 3) Понимать, и мочь опровергнуть.” От себя добавлю: Дополнить - это как маленькое Опровергнуть. Так что я всего лишь пытался отработать понимание в 3-й степени.

R2D2:

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

Это правильно. Потому как Лучшее - ВРАГ хорошего. И вместо бесконечных споров о том, какие решения лучше, реальные люди получат реальный недорогой работающий универсальный зарядник.
А я тут потихоньку повысказываю свои бредовые идеи - вдруг пригодятся кому в работе над ошибками, мне не жалко. Бредогенератор у меня высоко производительный.

R2D2:

зарядки всех липо отдельно независимыми

Ну мне гораздо больше нравится затея экономичного балансира, типа как “Религиозного …”. Ну это когда на каждую банку лития вешается нормально запертый каскад из опто транзистора, усилителя и ключа, нагруженного на трансформатор. Светодиодами оптопар управляет общий с зарядником мелкопроц, открытый фото транзистор порождает генерацию, энергия из пере заряженной банки выкачивается не только в тепло, но и на зарядку всей батарейки. Много намоточных узлов, зато меньше греецца. Однако для народа, лично для меня точно, проще уж общий радиатор поболее отыскать и дырок под транзисторы в нём насверлить, чем трансформеры челноком на колечках мотать, муторно енто.
Чрез Мерная Забота о КПД - это на любителя повозиться. Ну или когда альтернатив вообще нету. Типа - 100 грамм и 100 ватт - и ни грамулькой больше.
Так что в лубом случае - удачи в продвижении проектика.
Я ведь здесь бескорыстен, зарядками не торгую, идеями тоже.
Сугубо обще развивающий разговор по предложенной теме.

AlexSr
R2D2:

Что касается зарядки всех липо отдельно независимыми источниками - это частный случай от универсального зарядника, это хорошая идея если вы заряжаете только липо и от 220в или у вас есть 10 автомобильных аккумуляторов…

Не хочу настаивать на своей идее, но всё же.
Мне кажется Вы не совсем поняли, что я предложил.
1 - не только Li-Po. Любые - соединив выходы модулей и задав соотв. программу заряда каждому модулю с “материнки”.
2 - балансировка/контроль заряда NiCd и NiMh , в том числе побаночно, независимо, точно.
3 - “балансировка” - это просто независимая зарядка элемента, каждого, независимо от другого 😁
4 - Отсутствует необходимость в мощном повышающем девайсе (12 ->) все модули питаются от одного, входного напряжения (хоть от 5 вольт). Малая мощность на модуле, проще комплектуха, проще настройка (типовая).
5 - соответственно селектирование - побаночно, тренировка- побаночно …

просто прекинте блок-схему, это интересно. 😃

R2D2

О языках программирования:

На ассемблере написать ЗУ я не решился. Попробовал написать обмен с ЖКИ, сильно запутался и на этом забил. Хотя если это ктото сделает, то код будет минимален по размеру и максимален по скорости.

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

На Си++ с использованием “классов” можно написать еще понятнее и прозрачнее и удобнее. НО компилятор отожрет очень много места на стек по вложенным вызовам. А оперативной памяти у меня в притык, хотя программной памяти еще 50% осталось. Например код будет выглядеть так:
void Zu::OnKeyDown(BYTE Key)
{
Chanal1->SelectMenu(Accum);
Chanal1->SelectMenu(Algoritm);
if(Chanal1->Test())Chanal1->Start();
}

Что касается борьбы приоритетов прерываний: В АВРе борьба прерываний идет только если 2 прерывания сработали одновременно. Если происходит обработка очередного прерывания все остальные запрещаются до reti. Потом идет выполнение одной инструкции основного кода, потом вызывается следующее самое приоритетное прерывание. Короче это отдельный гимор. И тут есть много вариаций, которые в Си по разному компилятор балует.

Насчет идеи зарядки всех элементов по отдельности. Кроме всех описанных вами плюсов здесь я вижу 2 сложности:

  1. Что делать с запаянными 8s1p батареями аккумов особенно ААА. Сложности с припайкой разъема. Народ будет недоволен, аккумы будут очень довольны, если не паять а варить и лучше к перемычкам.
  2. Если делать цифровой блок управления, то либо надо много ног на проце, либо чтото придумывать с коммутацией и регистрами для аналогового опорного напряжения.

Идея вообще хорошая. Может быть какнибудь попробую.

toxa
Psw:

Никогда бы не подумал, что на Сях писать проги для мелко процов сложнее чем на асме. И после ентого заявления как верить Тохе в его высказывании про то, что на асме пишут жуткие мазохисты ? (это мой вольный пересказ моего понимания смысла высказывания Тохи у CNCшников)

Ну, смысл, если честно, был несколько иной. На си проще, а главное - надежнее писать сложные программы. Сложные - это все что хоть немного сложнее rc-switch. Что же касается программирования на ассемблере для risc-ов - то я считаю, что это надо очень сильно себя не любить.

R2D2:

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

Это не так. Все дело в самой программе. Впрочем, от стиля программирования и оформления программы тоже многое зависит.

R2D2:

На Си++ с использованием “классов” можно написать еще понятнее и прозрачнее и удобнее. НО компилятор отожрет очень много места на стек по вложенным вызовам.

Это тоже не совсем так. В общем случае, что объектно-ориентированное программирование, что просто структурное программирование - разницы по уровням вложенности нет. Если вы напишете аналогичный структурный код, то увидите, что разницы нет. Пямять жрется, в основном, под библиотеку и набор стандартных классов. Данных тоже получается больше.

Зато программа на c++ надежнее.

Psw

Про “Очень Сильно себя не любить” - мне больше нравится вариант - “надо люто ненавидеть Си”.
Ну потому как лично мне ента сильно развитая Си мантика не превычна, хотя - капля долбит камень.

R2D2:

Сейчас в программе написанной на Си настолько все завернуто

То ли ещё будет.
Массовые (конструктивные?) Пожелания в сторону проги зарядника начнутся при его массовом бета тестировании.

R2D2:

хорошая идея ее надо опробовать нет ли подводных камней.

А недостатков/подводных камней супротив СЕПИКа с управлением 494 как минимум:

  1. Деньги.
    Что-бы через мою схемку прошло 300 Вт ( 30 Вольт 10А на выходе, примерно 30А 10 вольт на входе) и при ентом 10 Вт потерялось на ключах/диодах, надо 5-8 параллельно Р ключиков 4905 поставить - это 150 руб, и три/четыре параллельно N ключика 2805 - это 120 рублей, и ещё 3-4 параллельно N ключика 2805 на доп защиту от переполюсовки на выходе. Итого только за ключики 390-560 рублей.
    Про стоимость хороших конденсаторов/диодов молчу, но она тоже далеко не нулевая.
    А тут кто-то разговор затевал про 200 рублей экономии за пару строк на индикаторе.
    Сэкономить на индикаторе 200 рублей получится один раз. А раздражать своим морганием он потом будет вечно. Другое дело, если 4х строк просто не было под рукой на момент изготовления прототипа.
  2. Употребление 2х каналов ШИМа. Ну то есть внешней логикой можно и один канал переключать, но уж больно хороши в повторении девайсы, когда кроме мелко проца особо ничего и нету. Хотя здесь ещё усилитель токо измерительного резистора будет по любому, так что только корпусом МП не обойтись.
  3. Вес/габариты индуктивности.
    Шестикратно более низкая частота 10 бит ШИМа ( 39 КГц для 18 ПИКа ) - вот и ответ, габариты будут соответственно примерно в 6 раз более. А в остальном индуктивность вполне подобна L1 от SEPIC.
AVK
Psw:
  1. Деньги.
    Что-бы через мою схемку прошло 300 Вт ( 30 Вольт 10А на выходе, примерно 30А 10 вольт на входе) и при ентом 10 Вт потерялось на ключах/диодах, надо 5-8 параллельно Р ключиков 4905 поставить - это 150 руб, и три/четыре параллельно N ключика 2805 - это 120 рублей, и ещё 3-4 параллельно N ключика 2805 на доп защиту от переполюсовки на выходе. Итого только за ключики 390-560 рублей.

Чтоб через чоппер пропустить 10А-30В вполне достаточно одного 4905 (ну если эстетствовать то два) только что заряжать, аккумуляторы от КАМАЗа что ли? и почему Вы решили что КПД от паралельного соединения транзисторов вырастет?. Переполюсовку можно банально отслеживать програмно, Вы ведь не предпологаете наличие напряжения в чоппере все время? Подключили аккум, проц посмотрел, какое там напряжение, сделал некие выводы, сообразно заданной програме заряда (например было задано заряжать три липоля а на клеммах 6В, все критическая ситуация).
Схема разрядки будет на том же чоппере работать, ну прийдется один ключ добавить, ну и еще может чего, в качестве нагрузочного резистора будет использоваться измерительный шунт, и ток разряда та же тлка и будет держать БЕЗ ПРОБЛЕМ и очень просто

R2D2

Облазил Митино ларьки (где обычно) с импортом LM35 не нашел. Правдо это было в будни.

Платы, которые заказал народ в личке, в количестве 10 шт., забираю в субботу в митино часов в 12
прямо там мона и встретиться и пообщаться.

Думаю что с амперами будем эскрементировать позже.

Программа пишется.
В настоящий момент пишется алгоритм выставления опорного напряжения для установки тока. Т.к. хочется сделать его универсальным, он будет несколько сложнее. В обобщенном виде:

  1. Проверка напряжения на силовом выходе (на заряжаемом акке). Если в 2 раза ниже минимального, то переспрашиваем: А ты уверен???
  2. Выставляем опору 5в*1/65536. Ждем секунду. Смотрим какой получился ток. Узнаем время реакции и величину. Стандартное время реакции будет двойным от полученного.
  3. Выставляем 1/2 от требуемого для заряда тока. Выжидаем время. Контролируем результат.
  4. Вычисляем сколько еще надо добавить(убавить). И добавляем(отнимаем) половину от этого. И так многократно на все время заряда.
  5. Дополнительный критерий заряда, и при этом более главный, напряжение на выходе. Имея ток и напряжение мы можем вычислить внутреннее сопротивление батареи (оценочное, псевдо). Если требуется понизить напряжение до известного уровня, используя оценочное сопротивление вычисляем требуемый ток. Далее пункт 4.

Цифровой датчик уже фунциклит. С термосопротивлением еще поэкспериментируем, добавлю в меню Юстировку термосопроитивления. Входим в пункт меню, который предлагает подключить и засунуть датчик в стакан с водой и льдом и нажать ок. Потом в 25 градусов и например в 70(по термометру кипятком в стакане). Прога расчитает сплайн вторые производные и показания этих трех точек и запишет их в еепром

Psw
R2D2:

алгоритм выставления опорного напряжения для установки тока.

Придумывание алгоритмов. Как раз и место для мозга/творчества.

R2D2:
  1. Проверка напряжения на силовом выходе (на заряжаемом акке).

Ну здесь бы побольше интеллекта хотелось бы наверное. Хотя с другой стороны - чем сложнее интеллект - тем потенциально больше не обнаруженных ошибок.
( Мой зарядничек который только для лития 1-4S с автоматическим определением кол-ва банок после нажатия кнопки “Старт” некоторое время ( около минуты-пяти минут) заряжает батарейку небольшим током и глядит, как растёт напряжение. Из ентого каким-то макаром и определяет кол-во присоединённых банок. ) А вообще у меня возникла мысль - отношение напряжения нормально разряженного и полностью заряженного элемента достаточно похоже для различных типов : 1.45/1.0 =1.45 для кадмия/гидрида, 4.2/3.0=1.4 для лития, 2.2/1.8=1.2 для свинца. Иными словами, если при зарядке батарейки напряжение на ней выросло более 1.5 раза - вполне можно пытаться тормознуть и спросить - “А Ты уверен” ? Ну или какие-либо другие действия делать типа - снижения зарядного тока.

R2D2:

Если в 2 раза ниже минимального, то переспрашиваем: А ты уверен???

Вот и я говорю, что два раза - многовато/грубовато будет.
Примерно так же можно пытаться отслеживать и изменение внутреннеего батарейки - у сильно разряженной должно быть внутреннее высокое, в средней части заряда оно падает, а у перезаряженной батарейки мне кажется должно снова расти. Насколько я понимаю - это явление в работе химических источников тока обусловлено изменением концентрации реагентов в банке. А при перезаряде - сменой вида хим реакции. Так что должно в той или иной мере наблюдаться на никеле/литии/свинце.
А ещё прикольная мысль - что-бы юзер после сборки зарядника сообщал ему, какие вообще батарейки он имеет. Ну Что-бы сузить количество вариантов ручного/автоматического выбора батарейки по косвенным признакам - типа напряжения присоединённой батарейки и её внутреннего сопротивления. Разумеется можно и ручную коррекцию автоматического выбора делать. Опять же с вычёркиванием заведомо непригодных вариантов - типа когда напряжение присоединённой батарейки выше чем максимально возможное для какого-либо типа.

R2D2:
  1. Выставляем опору 5в*1/65536.

По мне так был бы проще стандартный пропорционально-интегральный алгоритм:
0. Спешить с током никуда не надо, его вполне можно очень плавно регулировать ( в Гиперионе ток от нуля до установленного набирается секунд за 10 примерно)

  1. Процедура изменения задатчика тока вызывается периодически ( ну к примеру 100 раз в секунду). В ней сравнивается текущее измеренное значение тока и желаемое. Разница умножается на подбираемый ( по отсутствию автоколебаний) коэффициент, часть младших разрядов отбрасывается и результат прибавляется к текущему значению задатчика тока. Туда же прибавляется и знак сравнения. Усё.
R2D2:
  1. Имея ток и напряжение мы можем вычислить внутреннее сопротивление батареи

Я бы для периодического измерения внутреннего батарейки ( раз в секунду к примеру) уменьшал уставку тока вдвое. А далее делил дэльту напряжения на дэльту тока. А полностью выключать зарядный ток для замера внутреннего мне почему-то не нравится - но не могу внятно сказать почему.

На ассемблере написать <> обмен с ЖКИ <> запутался и забил.

А мне вот пришлось в образовательных целях - Си мантика показалась сложнее. Хотя мне кажется его надо синхронным делать - ну то есть без опроса готовности контроллера, а просто с какой-то частотой, к примеру тысячу или две символов в секунду. И времени на опрос готовности не будет тратится, и отсоединение/неисправность дисплея прога никак не заметит.

AVK:

Чтоб через чоппер пропустить 10А-30В вполне достаточно одного 4905 (ну если эстетствовать то два)

Паспортный максимум 4905 - это 74 ампера. Однако при ентом он на своих 22 милли Омах сколько Вт рассеет ?

AVK:

только что заряжать, аккумуляторы от КАМАЗа что ли?

Вот и я думаю, зачем заранее ограничивать народный (широко универсальный) зарядник детскими батарейками ? Ну откуда следует, что человек, решивший слегка сэкономить на зарядке, никогда не купит 600 рекса с его 6S 5000 литием и не захочет его в поле заряжать током 2С ?

AVK:

и почему Вы

Вполне можно на Ты, я без претензий.

AVK:

решили что КПД от паралельного соединения транзисторов вырастет?.

Ну потому что енто полевые транзисторы.
А ещё это не я решил - это все так делают. К примеру изготовители 3Ф контроллеров для БК моторчиков.

AVK:

Переполюсовку <> отслеживать програмно, <> Подключили аккум,

Аха, и выходной полярный электролит что сделал ? И как его командой проца успокоить ?
Кроме того, ощущения от BASE прыгов не забываемые ещё и от того, что присутствует один парашютик. Я не пробовал, мне запаска спину греет. Так и здесь - если по каким-либо причинам прога видит, что зарядка явно перестаралась - у неё есть ещё один нормально разомкнутый ключик. Который она вполне может разомкнуть в критической ситуёвине. А личности, желающие сэкономить очередные 100 рублей за ключик, вместо него в печатку смогуть впаять перемычку.

AVK:

Схема разрядки будет на том же чоппере работать

Я с детства люблю мотоциклы, для меня чоппер - енто нечто двух колёсное, по ентому тут путаюсь в терминах. Лучше уж схемки наглядно на бумаге, тогда лично мне проще думается.

R2D2

То что я писал про мои попытки на асме написать ЖКИ, я немного сгустил и преумножил. У меня получилось кой чего, но когда я стал добавлять функции запахло жареным. На Си тоже пахнет жареным но значительно меньше. Так пахло бы на любом языке. Поэтому появилось объектное программирование, которое снаружи все типа упростило, упорядочив сложные навороты обычного языка во фразы из слов-объектов. Но если посмотреть как написаны описания объектов (классов) мало не покажется. В нашем случае есть 3 вида памяти и прерывания и отправка на ЖКИ 8 битных команд по 4 бита, да и протокол там извратный. Если делать влоб линейно: “Всем ждать я букву рисую”, то это просто запрограмить но неправильно, как мне кажется (см. статью). Но если программа все выполняет почутьчуть и “одновременно”, то это запрограмить классами трудно. Я еще не пробовал писать классы в IAR C++, но стоя у подножья горы мне не по себе и интуитивно ищешь отмазок.

Что касается языка Си как и любого другого. Все это дело привычки. Первый неудачный опыт особенно в сочитании с неприятностями в личной жизни может закрепится в сознании, а потом, вытесненный, и в подсознании. Далее всякий раз контактируя с Си, всплывает необъяснимая плохое настроение. Вот почему в постижении истины очень полезен Сифу, Сенсей и Гуру, которые не дают зарываться. Совсем без эмоций нельзя, но и руководствоваться ими в принятии решений тоже не очень-то. Здесь в форуме молодежь балует: рефлексирует, а потом свои эмоции и выпендреж обвешивает подогнанными фактами. Если постоянно себя не выслеживать, то и дело и сам замечаю, что балую.

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

Вероятно в список заряжаемых аккумов, надо добавить строку “Я в этом не разбираюсь, сами заряжайте как хотите”. И это будет осторожный медленный алгоритм.
И добавить “Какой то литий”, “Какой то гидрит”, “Какойто кадмий”…, что приводит к томуже алгоритму.

Если клиент выбрал нормальный аккум (да еще сам вводил параметры), то он сам несет ответственность за выбор, но защита против дурака все же будет (переполюсовка, превышение емкости, по начальному напряжению и т.д. что проверить легко и не займет времени).

Можно конечно вести статистику куда ходил юзер и в соответствии с этим сортировать меню аккумов для удобства. Не перегиб ли это? Может достаточно расставить их в правильном порядке?

Насчет дополнительного ключа (или тумблера (извиняюсь доходит долго)) замечание принимается. И насчет 4х строчного ЖКИ тоже (Количество выводимой информации маловато - подумываю сделать роллинг если озу останется). И датчики всеже лучше цифровые (в целом с учетом всего, гимора меньше).

AVK

То PSW:
Насчет полярного электролита, можно за ним диод поставить.
При 10А на 4905 будет рассеиваться 2-3 Вт, паралельно их соединяют для увеличения мощности, КПД мы повысить впринципе не можем. Прикинь, ставим паралельно ДВА редуктора, что КПД вырастет?
Чоппер (chopper-прерыватель) это совсем не мотоцикл, а как принято в электронике “step down” преобразователь. Вобщем советую Семенова “Силовая электроника” пролистать, ОЧЕНЬ хорошая книга.
To All
Я бы еще обязательно поностью ручной режим сделал, типа такой то ток, столько то времени, и до такого напряжения

R2D2

Щас пока сделано так (это тип акку и хар-ки его зарядки):

// Список аккумуляторов с их параметрами
// 0-9 BYTE Название
// 10. BYTE Тип
// 7-5 бит тип акк
// 001 - SLA
// 010 - NiCa
// 011 - NiMh
// 100 - LiIon
// 101 - LiPo
// 4-0 бит номер алгоритма
// 4 бит = 0 - алгоритм из EEPROM
// 4 бит = 1 - алгоритм из FLASH
// 3-0 бит номер алгоритма
// 11. BYTE Номинал емкость Ач *10
// 12. BYTE Ток зарядки slow *100
// 13. BYTE Ток зарядки norm *100
// 14. BYTE Ток зарядки max *100
// 15. BYTE Ток разрядки *100
// 16. BYTE Напряжение max*10
// 17. BYTE Напряжение min*10
// 18. BYTE для SLA Vmaxmax*10 напряжение отключения зарядки динамическое
// 19. BYTE для Ca и Mh дельтапик в мВ

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

R2D2

А у ключа в открытом состоянии его 0.022 Ома=const?

Если Да, то мона токаизмерительное сопротивление выкинуть и поставить ключ.

Или там опять нелинейность?

Psw
R2D2:

А у ключа в открытом состоянии его 0.022 Ома=const?

Ну Не Надо (ННН) выкидывать образцовый токоизмерительный шунт.
Потому как он гораздо менее зависит от экземпляра/температуры/отпирающего напряжения/прочей ерунды, чем открытый канал полевого транзистора. Ну и другие доводы есть, естественно.
Если очень хочется его выкинуть (за деньги, естественно) - можно пытаться интегральный датчик тока с Холлом поставить. Но это НЕ народное решение мне кажется. Да и смысл будет иметь при макс токе амперов эдак 100. Так что енто не про здесь тема.

Лучше уж думать про возможность использования инфракрасного датчика температуры - пользовать гораздо удобнее и реагирует быстрее, хотя и денег как обычно стоит. И где/что для него купить - не знаю.

У меня на асме в пробничке с дисплеем тоже усё по правильному содеяно - вместо любых ожиданий готовности - возврат управления в основной цикл.
Ну и не используется зеркало видеопамяти в ОЗУ мелко проца для экономии. Вместо ентого структурой описаны все необходимые сообщения строковыми литералами, в которых могут быть команды (неиспользуемые символы 44780). Например литерал: Координата Вывода+ " Напряжение:"+Команда знакового двоично-десятичного преобразования 16 бит ОЗУ+адрес ОЗУ, завершающий 0. А в основной проге в любом месте при простаивании/незанятости драйвера ЛСД модуля - просто вызываем процедуру с номером сообщения. Усё. Хотя енто наверное необычно. Зато просто потом использовать/текстовки менять/экран форматить. А сложно адреса ОЗУ в литералы руками писать. И ещё ента штука не умеет скроллинг текста делать - енто надо чего-то дописывать.

Минимальные Параметры батарейки могут быть:

  1. Тип химии - Свинец (заливной/загущённый - не важно), Кадмий, Гидрид, Литий (Ион/Полимер/Mh якобы не отличаются особо по зарядно/разрядным) - он же определяет макс/мин напряжение на банку и мин/макс зарядно/разрядные токи в долях от номинальной емкости - 3х бит достаточно;
  2. Количество банок в батарейке - более 5 бит будет вряд ли.
  3. Номинальная Емкость Банки мА*Час - 16 бит должно хватить для свинца авто АКБ.
  4. Допустимые Макс и мин температура батарейки, при которой зарядник будет с ней работать.
    Остальное - типа Имя и прочее - енто уже от наличия памяти хде хранить - лично мне/ГиперИону тоже без имени вполне нормально. У народа редко более 10 батареек. Так что вполне можно инвентарный номер присваивать - байт, а остальное место - это всякие календарные сроки/статистику лучше копить при наличии памяти. Имя для батарейки из 10 букв - это уже перебор на мой взгляд.
    И зачем хранить номер алгоритма к каждой батарейке ? Потому как способ заряда ( самый быстрый/быстрый/бережный) можно выбирать перед командой “Старт”. И для одной и той же батарейки он в зависимости от спешки будет различным.
R2D2:

в список <> надо добавить строку “Я в этом не разбираюсь, сами заряжайте как хотите”.

Строку в меню добавить не сложно, однако Настолько высоким интеллектом прога зарядника вряд ли будет обладать. В любом случае - такой интеллект будет далеко не сразу.

R2D2:

“Какой то литий”, “Какой то гидрит”, “Какойто кадмий”

“Какой-то свинец”
Ну вот после минимальной подсказки (тип химии) со стороны юзера уже можно пытаться что-то определять/заряжать.
P.S.
Кстати, в реальном мире присутствует почти идеальная (по моим критериям) зарядка от шуруповёрта Бош - где цепь действий юзера вообще из одного пункта - “Вставил батарейку”. Правда, там Бош себе много подсказок наделал типа уникального разъёма.

AlexAndr=

Вероятно в список заряжаемых аккумов, надо добавить строку “Я в этом не разбираюсь, сами заряжайте как хотите”. И это будет осторожный медленный алгоритм.
И добавить “Какой то литий”, “Какой то гидрит”, “Какойто кадмий”…, что приводит к томуже алгоритму.

Недумаю что будет правильным ориентироватся на то, что пользователь зарядки будет настолько плохо разбиратся в аккумуляторах. Если он сможет собрать и настроить такое З/У то и с аккумами разберётся.

R2D2

ПЛАТЫ ГОТОВЫ ДЛЯ ТЕХ КТО ЗАКАЗЫВАЛ.

Облазил Митино на предмет мощного блока питания на 12в. Нашел в подвале ТК Митино 2-3 места, где продавали профессиональные 30А 5000-6000 руб и полусамопальные 10-15А за 3000 руб.

Пришел к выводу, что переделка компьютерного АТ БП это удобно и дешево 25 р за диод и 18 за конденсатор.

Есть еще вариант мощный БП АТХ 400-450 Ва в них иногда 12В написано что дает 25А. (ничего переделывать не надо)

25А это конечно китайские 25А, но если 5в вы пользовать не будете, то возможно вытянет.

БУ в Митино можно купить за 500 р. Только желательно заглянуть в дырочку (Там боольшой вентилятор) и убедиться в качестве пайки и в боольших трансах и выпрямительные сборки диодов желательно чтоб были больше чем ТО220 и чтоб по весу БП был не легкий и чтоб фирма изготовитель была приличная и чтоб табличка на боку была 12в-25а.

И главное проверьте его сразу хотябы лампочкой. Подцепить лампочку от машины на черный красный и/или на черный желтый, включить в сеть 220, и закоротить зеленый и черный.

Psw
AVK:

только что заряжать, аккумуляторы от КАМАЗа что ли?

Вот небольшой примерчик, данные конечно пока что паспортные/технология новая, но тем не менее:

Deem:

батарейки а123 (ли-фосфат) хорошо себя показывают <> по времени заряда (15мин) <> два блока - и в поле на весь день.

Вот и я о том, какой ток/мощность потребны, что-бы батарейку 4S-6S лития 5 А*Ч за 15 минут в поле забить ? Правильно, 20 Амперчиков, и 300-500 Вт мощи.
И назвать енто НЕ народным язык не поворачивается - потому как на большом верте новичку летать проще. А чем быстрее заряжается пак - тем меньше их надо. И денех на их покупку соответственно.

Iocanaan
R2D2:

БУ в Митино можно купить за 500 р. Только желательно заглянуть в дырочку (Там боольшой вентилятор) и убедиться в качестве пайки и в боольших трансах и выпрямительные сборки диодов желательно чтоб были больше чем ТО220 и чтоб по весу БП был не легкий и чтоб фирма изготовитель была приличная и чтоб табличка на боку была 12в-25а.

Есть интересный вариант на эту тему: 12 В, 12.5 А за 1400 рублей.

R2D2

Или китайская тошибра втрое меньшего размера в 5 раз меньшая цена.

Iocanaan
R2D2:

Или китайская тошибра втрое меньшего размера в 5 раз меньшая цена.

Где?

R2D2
Iocanaan:

Где?

на 3 странице этой темы:

Да так и называется, Tashibra, у нас на любом строительном рынке продаётся, есть 50,100,150 и 200 ватт по цене от 170 до 250 руб соответственно. Может иметь и другие названия. Пароль: китайский трансформатор получше. Они все одинаковые, вполне надёжные, запускаются и на ХХ и при полной нагрузке…

Vasily_A
R2D2:

на 3 странице этой темы:

попробывал сделать на базе “китайского трансформатора” себе питатель на бормашинку.
результат мне непонятен: на галогенку нормально работает, а с диодами - крайне плохо. диоды брал от писишного питальника (от 12в части). пробывал и мостовую схему, и двуполупериодный вариант (намотал новую вторичку в два провода). внешне выглядит как срабатывание защиты по току, но я ее пробывал отключать. схема “трансформатора” совпадает с ST-шным аппнотом. с емкостью после диодов (нормальный 25в ло-есрный чемикон) не запускается совсем…