Открытый проект универсального зарядника
Главная конструктивная мысль - “Лучшее - это враг хорошего.”
Ну то есть сделать идеальную зарядку, которая будет и простой и дешёвой и лёгкой для повторения и из доступных деталей - процесс бесконечно долгий. В итоге возвращаемся к приоритетам и разумным компромиссам.
Как отрезать все что после запятой и масштабировать до 5 вольт?
Ну енто просто только оператором языка в цифре. А в аналоге мне кажется никак.
Или использование внешнего АЦП более просто все таки???
Самое простое решение - усреднение. Или овер сэмплинг по умному, но Вова Путин давно уже указом запретил использование заимствованных терминов, имеющих русско язычные аналоги. Так что - усреднение. (Ну и долбанные бух галтеры со своим “ДЕБЕТ” и “КРЕДИТ” (Некоторые остроумки КРЕДЕТ пишуть) штрафы в казну должны платить за прямое нарушение Указа в каждой оборотно-сальдовой ведомости ( по новому енто Оборотная Ведомость с Остатками) - должны ведь писать “Поступления” и “Платежи”)
Усреднением убирается много не приятных моментов от бортового 10 бит АЦП. Скорость АЦП у Атмела слегка поменьше чем у ПИКа насколько я помню, ну сути енто не меняет - запускаем АЦП на макс возможной скорости, в прерывании от АЦП складываем 10 бит результаты в 24 бита накопитель, а потом просто отбрасываем какое-то количество младших разрядофф.
- Раз уж мы начали бить все на блоки.
Мы не начинали.
Просто блочный анализ схемы удобнее. А конструктив могет быть разным, это вопрос очередного компромисса. Блочная советская военная аппаратура 70х годов была как раз спроектирована с замахом на Идеальность Проекта, сила отдельно, мозги отдельно, разъёмчики/проводочки/экранчики. С расчётом на дурака/солдата, что-бы другой стороной не вставил и не перепутал уникальные разъёмы.
Но при ентом она громоздка и дорога. И по ентому модельный 7-30 вольт 35 ампер 0-1000 Гц DC-AC 3ф преобразователь для питания синхронного двигла весит примерно 15 грамм, а военный электро механический 400 Гц 36 наверное вольт 3Ф преобразователь для питания АВИА гироскопов на АН-2 весит МНОГО и стоит МНОГО. Конечно они проектировались в разное время, но и подход тоже имеет значение.
г) 12в(автоаккум) -> повышающий -> 35в -> понижающий -> 0-35в
* импульсный преобразователь+импульсный преобразователь=колебательная нестабильность
Ну в схемках которые я рисовал, повышающий и понижающий объединены и НЕ могут работать одновременно. Решение о выборе того или иного преобразователя выбирает цифра - самый старший разряд так сказать. Ну и с TL494 енто будет не красиво на схемке - гораздо красивее/проще если сразу парочку аппаратных ШИМов мелкопроца на ключи нагрузить. А про ОБЩУЮ надёжность схем на TL494 пускай рассказывають те, кто БП от компов чинит по много штук в день. Которые на них почти всегда и собраны. И енти ремонтники ещё не видят матерей/прочего, которые сломались по причине (кратковременного) отказа стабилизации напряжения и не справились с 7 вольтами вместо 5.
Просто в противопожарных целях плавкие предохранители на входе/выходе никто не отменял.
А общая надёжность системы зависит ещё и от общего количества паек/соединений и кучи прочих причин. И доля надёжности самой 494 тут не высока. А её глюки (при не стабильном питании 494 к примеру) тоже присутствуют, как и у мелко проца.
Так что лично по мне вполне красивое решение - енто управлять силовыми ключами прямо с помощью парочки аппаратных ШИМов. Через формирователи, естественно.
Ну а децкие ашиппки в коде/схеме типа неопределённого/неправильного состояния затворов силовых ключей при подаче питания/укусе сторожевой собаки/подвисании проги на некоторое время - ну выгрестись должны достаточно быстро. На то он и автор, что-бы быть альфа-тестером.
Если придумать и строго соблюдать стандарт на разъем цифровая плата/силовая плата,
Самый лучший радио Любительский стандарт на разъёмы - енто их отсутствие. Ну то есть пять-десять проводков между силой и мозгом припаять в НЕ промышленных масштабах не сложно.
должны быть соблюдены стандарты:
- С силовой платы идут измеренные сигналы цифровые, а также усиленные и отфильтрованные аналоговые. И те и другие либо абсолютные по величине либо коэффициент сторого оговорен.
- С цифровой платы идет опорное напряжение для стабилизатора тока (линейность не важна) программа будет подстраиваться по реакции силовой платы.
- С цифровой платы идет управляющий сигнал (скомутировать заряжаемый аккум к схеме если полярность нормальная)
Ентот перечень стандартов конечно можно и продолжить, но я закончу тем, с чего начал -
Лучшее - Враг хорошего.
А военная аппаратура любителям вряд ли к чему.
А одна односторонняя (большая но не более А4 или какого либо другого конструктивного габарита типа корпуса от БП компа) плата для зарядника - в ентом тоже есть свои плюсы. Для компромиссов.
Чёто тема заглохла,
Разбить сигнал будет проблемно, хватит просто поставить два делителя на два входа АЦП - уже увеличение точности в два раза. Есть ещё идея: сделать так сказать двухядерную зарядку 😁 - поставить ещё один контроллер (к примеру мега8, цена минимальна), пусть он своим АЦП параметры меряет, термодатчики опрашивает(помому у Вас были с этим сложности), токи выставляет, и сообщает основному процу результаты. Проц можно будет лепить на “силовой” части.
Наверно чтоб правильно считать вкачанную ёмкость.
А какие проблемы с подсчетом вкоряченной емкости?
TL-ка же работает в режиме стабилизации тока, который мы ей уставили и мы совершенно точно знаем что ток там ЕСТЬ и именно тот который мы задали, соответственно запихнутый ток есть произведение уставленного тока на время и все. Отсутствие же аккума можно банально отслеживать по установке максимального выходного напряжения, тк без нагрузки ТЛ-ка уйдет в максимальное напряжение (на второй компаратор TL-ки ставим делитель, чтоб напряжение не повышалось больше 25В например, без нагрузки естественно.) Для зарядки ЛИполей я бы еще отдельный тумблер бы поставил, который бы вообще исключал возможность повышения напряга на выходе более 12,6 (для трех банок) который бы преелючал делители второго компаратора. Народ как-то очень легко отностится к липолям, хотя есть совершенно реальная возможность взрыва/пожара при каких либо глюках в заряднике
Насчет надежности ТЛки (by PSW), вот не знаешь не говори, сколько в тех дохлых блоках было дохлых ТЛок? Фиг ее убьешь, только конкретно неправильной схемотехникой. И какие проблемы с нестабильностью питания, запитываем ТЛку от отдельной кренки и вопрос решен.
Аппаратный ШИМ камня можно использовать ТОЛЬКО как ЦАП (применительно к заряднику для уставки тока), идея использовать его в чоппере или бустере ущербна по определению (у камня других дел нет, как ток регулировать) и кстати любой глюк в программе/камне может запросто все выжечь, прикинь если ШИМ в чоппере прерветься и на выходе единица встанет? кирдык батарейке. Пускай аналоговыми делами аналоговые микросхемы занимаются.
Так что лично по мне вполне красивое решение - енто управлять силовыми ключами прямо с помощью парочки аппаратных ШИМов. Через формирователи, естественно.
++
А какие проблемы с подсчетом вкоряченной емкости?
Вариант 1: при закачке на токах, близких к предельным(для зарядки, блока питания) ток может недостигать установленного значения.
Вариант 2(более существенный): при заряде лития, на последней фазе заряда когда идёт ограничение по напряжению, ток недостигает установленного значения - щитать ёмкость по установленному значению тока некатит.
++
Вариант 1: при закачке на токах, близких к предельным(для зарядки, блока питания) ток может недостигать установленного значения.
Вариант 2(более существенный): при заряде лития, на последней фазе заряда когда идёт ограничение по напряжению, ток недостигает установленного значения - щитать ёмкость по установленному значению тока некатит.
Как рыба об лед, как это ток не будет достигать? каким образом? такой зарядник сразу в ведро. И даже если это случится, отследить элементарно, т.к. чоппер переходит в режим стабилизации напряжения.
При зарядке лития, САМО СОБОЙ окончательный заряд ведется малым током, только опять какие проблемы? уставили ток, учли в расчетах.
Демократия БЛИН.
Представляете как хреново Президенту-ставленнику, если силы, выдвинувшие его, имеют экстримистские (в смысле зашкал) и противоположные позиции.
Вот, что я услышал и понял:
-
Разъемы это отстой и лишнее звено отказа, значит “промышленный” вариант будет одноплатный с дорожками, с разведенным разъемом и возможностью распилить и приделать другую силовую часть на проводах или разъемах. Соединение сигнальных проводов из центра цифровой платы в центр силовой позволило бы уменьшить напряги с топологией и расстояниями.
-
В споре кому стабилизировать аналоговую силовую часть отдаю предпочтение аналоговой стабилизации, т.к. вероятность зависания цифрового процессора (как мне кажется) выше, хотябы из-за количества транзисторов и невероятного количества вариантов ходов программы в смысле зависания. Наша аналоговая авиация и космонавтика опятьже по ощущениям это доказала. Если только не использовать AT TINY MEGA сугубо только под задачу управления ключами и никаких других задач.
-
Если выкинуть измерение тока, можно выкинуть операционный усилитель и воспользоваться усилителем внутри TL494. Действительно, если протестировать силовую часть на критичных токах и добиться линейности, т.е. непровисания питалова и преобразовалова которое можно проконтролировать по входным 12 вольтам, то и мерить ничего не надо, т.к. то что мы выставили на ШИМ это и есть ток. Точность вкаченного тока не смертельно критична. Т.к. Батарея греется.
-
Что касается использования AT MEGA 8 в качестве точного внешнего АЦП это мысль. Еще бы при измерении масштабировать измеряемый сигнал до 5 вольт какимнибудь цифровым делителем, если такой есть. Ну а нет так усреднением можно бороться, кроме систематической ошибки MEGA про которую надо почитать.
-
Что касается дополнительного тумблера - защиты липо. Есть такие люди, которым никакой тумблер не поможет. Но в целом сместить вероятность недопущения ошибки при старте канала:
а) переспросить перед запуском “вы уверены” (слишком уверенные жмут 2 раза ентер обычно)
б) по косвенным уликам не запускать процесс по напряжению батареи.
в) встраивание в батарею термо цифрового датчика или разъема с кодом как на фото-пленке шоб вооще вопросов не задавать.
Изготовитель плат (принимальщик и выдавальщик заказов) сказал что вот вот скоро будет готово
10 заказанных плат может в эту субботу.
Программа медленно но верно дописывается.
Уважаемые!
Пришла в голову, возможно бредовая, мысль. Но, может в ней что-то есть.
Собрать зарядное устройство по принципу балансира:
много (кому скока вешать?) гальванически развязанных по питанию ОДИНАКОВЫХ модулей с макс. выходным напряжением/током под 1 элемент лития.
Гальваническая развязка - даёт возможность соединять их хоть последовательно, хоть как…, по нужде.
Если кому 25S NiCd - делай 25 модулей 😁
А кому 3S Li-Po - обойдётся 3-мя штуками (масштабируемость, однако).
Модуль законченный с CPU и силовой (низковольтной) частью. Несколько расточительно, но зато полная универсальность. Малое напряжение выхода/ток - проще рализовать, разработать, контролировать …
Остаётся “материнка” - CPU только для интерфейса/памяти и питание 220V->12.
Да и балансирная функция - полезно.
P.S. - Вам виднее, это просто мысли “вслух”, сильно не бить! 😊
Демократия, блин …
Могу сказать, что я пишу исключительно для собственного удовольствия и если мои высказывания относятся к теме, с которой кому-либо уже всё ясно/решение уже принято - то на него можно просто не реагировать, личное время экономить, на более полезные дела его тратить.
Из-за много цитатности я позволю себе нумеровать оригиналы.
1. TL-ка же работает в режиме стабилизации тока, который мы ей уставили и мы совершенно точно знаем что ток там ЕСТЬ и именно тот который мы задали, соответственно запихнутый ток есть произведение уставленного тока на время и все.
Прикольное решение, ничего не скажешь. Согласен .
2. без нагрузки ТЛ-ка уйдет в максимальное напряжение
Тоже естественно согласен. Туда же она САМОСТОЯТЕЛЬНО будет пытаться уйти при отказе цепей измерения напряжения и/или управления током. При чём САМА 494 конечно же будет вполне исправна. “Электроника - это наука о контактах. А неисправности в ней двух видов - это когда есть контакт где его не должно быть или нет контакта там, где он был.” - кто-то из моих знакомцев любит так своего препода цитировать.
3. (на второй компаратор TL-ки ставим делитель, чтоб напряжение не повышалось больше 25В например,
Ну если округлить до 6S лития, то будет 26 вольт, согласен.
4. Для зарядки ЛИполей <> отдельный тумблер <> вообще исключал <> более 12,6 (для трех банок)
Ну согласен, что затея с тумблерами ущербна в умном заряднике с цифровым управлением. Кроме отказов, ещё и случайное перещёлкивание (рукавом рубашки) в процессе заряда.
5. реальная возможность взрыва/пожара при каких либо глюках в заряднике
Это возможно не только при зарядке лития, а вообще с любыми электро приборами. А та фотка сгорелого от лития ланд крузера - так а сколько прошло мимо нашего внимания обычных тачек, сгоревших от коротнувшей проводки ? Зато в них лития не было и ентого обсуждения они не коснулись.
6. Аппаратный ШИМ камня можно использовать ТОЛЬКО как ЦАП (применительно к заряднику для уставки тока), <> (у камня других дел нет, как ток регулировать)
Ну у обсуждаемого проца вроде как 12 МИПСов почти простаивают при грамотном программировании задачи подобного зарядника. А в свидетели вполне можно Вад64 призвать, он обычно оценивает загрузку проца в своих проектиках - быть может и ответит.
А чего-либо регулировать (хоть ток, хоть уставку тока, хоть напряжение контролировать) процу всё-равно придётся - потому как ИМЕННО для ентого он там и поставлен. Ну и ещё для контроля/подмены интеллекта юзера ( Например контроля типа/полярности присоединённой батарейки). А не для менюшек/кнопочек/экранчика - это всё ВТОРИЧНОЕ, из-за нежелания/невозможности Максимально Упростить для юзера процедуру общения с зарядником до шаблона: Воткнул батарейку - Нажал Единственную Кнопку - Получил результат. Именно к ентому идеалу и надо стремится на мой взгляд.
А тумблерами выбирать тип/количество банок/режим конечно можно, вот только проц тогда и не нужен вообще. Даже без могучей 494 вполне можно обойтись.
7. и кстати любой глюк в программе/камне может запросто все выжечь, прикинь если ШИМ в чоппере прерветься и на выходе единица встанет? кирдык батарейке.
Наконец-то дошли и до мысленной симуляции отказов.
Как представлю, что Та Же Самая Единица по тем же самым Программным Причинам встанет на выходе ШИМа уставки тока при соблюдении условия (1), то сразу вижу вот что: Аналоговый стабилизатор зарядного тока на 494 будет ограничен только АНАЛОГОВЫМИ цепями защиты от перегруза ( а стабилизатор тока и есть ограничитель - он же настраивается/калибруется на какой-то диапазон токов) при их наличии и (3) 26 вольт на выходе. В итоге ток (в 10А к примеру) будет течь в батарейку, пока не зарядит её до 26 вольт.
Тогда как в случае ПРЯМОГО управления силовыми ключами в нарисованных мной схемках произойдёт следующее - Если откроется левый ключ, а батарейка низко вольтная ( к примеру 1-2 S литий) то просто расплавится выходной 10А предохранитель - потому как ток ограничен ТОЛЬКО достаточно малым внутренним батарейки и источника, других ограничителей нету. Если откроется правый ключ - просто сгорит входной 25А предохранитель. А при наличии в схеме обязательного 3го управляемого процом ключа (это который защиту от переполюсовки на выходе делает), то укус бешенной сторожевой псины приведёт схему в исходное состояние - все ключи разомкнуты, ожидаем команд. Ну и ещё одна мера - это когда прога в проце ещё жива, но ШИМом левого ключа по каким-либо причинам не управляет - Открыть Правый Ключ. В итоге сгорает 25А входной предохранитель.
Иными словами, МНОГО ступенчатая под страховка.
В которой аналоговый генератор 494 выглядит лишь не нужным звеном с моей точки зрения. А иногда и вредным - как я показал на условном примере, когда он могет САМОСТОЯТЕЛЬНО поддерживать что-либо в батарейке - будь то ток или напряжение - не особо то и важно.
Кстати, с точки зрения симуляции отказов очень хорошо выглядят двух тактные трансформаторные преобразователи. Чего бы там Случайно не открылось - а будет только КРАТКО временный импульс тока. Вполне Без опасно считается. Ну и вроде как сила многих фирменных зарядок именно так и сделана.
Не хотел ни кого обижать. Про демократию сказал в смысле, что все пожелания удовлетворить не удастся. В том числе и по причине моей непонятливости и другом взгляде на надежность.
Сейчас в программе написанной на Си настолько все завернуто, что я уже даже забываю где я чего учел а где не учел.
Если я при этом навороте еще буду отслеживать не наедет ли измерение АЦП на счетчик секунд и при этом не помешает ли это все в наихудьшем случае управлению ключами, голова лопнет. Процессор действительно не загружен, но вероятность критичного стечения задач резко повышается при прямом управлении ключами.
Начальник может контролировать все за подчиненными, но это плохо. TL494 дал задачу - следи и она справляется. Всеже хочется понятный и предсказуемый девайс сделать. А также хотелось бы избавиться от контроллера экрана, звука, клавиатуры, com-порта, задержек при записи в еепром, АЦП в режиме сна и заняться творчеством (переключением ключей).
У Вас хорошая идея ее надо опробовать нет ли подводных камней. Возможно только таким способом и будет работать и работает уже процессорное управление ЗУ.
И всеже я хочу завершить выбранный путь с некординальными изменениями.
Что касается ограничения по напряжению (экспериментально без нагрузки еще не пробовал).
Пробовал зажигать лампочку 12в. Одна из защит должна сработать програмно на частоте 1000 Гц приблизительно (я надеюсь и все вырубит и потребует перезапуска).
Что касается зарядки всех липо отдельно независимыми источниками - это частный случай от универсального зарядника, это хорошая идея если вы заряжаете только липо и от 220в или у вас есть 10 автомобильных аккумуляторов. Здесь выгоднее сделать не процессорный, а импульсный стабилизатор на MAXах и размножить в нужном количестве. Если Вам нужно заряжать только липо, то не нужен вам ни какой универсальный зарядник.
Чесно признаюсь:
Все вру и сгущаю краски. Все мона сделать только время надо и силы.
Как рыба об лед, как это ток не будет достигать? каким образом? такой зарядник сразу в ведро. И даже если это случится, отследить элементарно, т.к. чоппер переходит в режим стабилизации напряжения.
По разным причинам(например при питании от севшего авто аккума). Замечал такое на фирменных зарядках.
При зарядке лития, САМО СОБОЙ окончательный заряд ведется малым током, только опять какие проблемы? уставили ток, учли в расчетах.
Про необходимость в измерении тока: ну как можно будет щитать вкачиваемую ёмкость незная реально протекающего тока? Я имею ввиду в процессе заряда лития уже при стаб. напряжении - ток то меньше установленного(до режима стаб. по напряжению согласен - можно щитать без замера). И ещё, заряд лития щитается оконченным если зарядный ток упал до значения 0,1-0,2С как узнать окончание заряда лития без измерения тока???
Не хотел ни кого обижать. Про демократию сказал
Прикольно. Обижаться не имел и в мыслях. С моей стороны в данном случае всё сугубо конструктивно.
А если кто меня и задел на ентом форуме, так это Миха Юнин. Однако правила запрещают обсуждать здесь политику модерирования. А делать это на альтернативных ресурсах - это примерно как фигу в кармане держать - тоже не по мне. Отсюда, кстати, намёк Пузрину - раз уж в моду вошло делить форумы, быть может сделать раздел специально для обсуждения поведения модераторов ? В том числе С разрешением ненормативной лексики после предупреждения в заголовке темы ? Потому как некоторые другие ресурсы заводят аналогичные разделы для слива жёсткого негатива про модуляторофф (примерно как резиновая кукла начальника в релакс-руме у японцев по слухам). Потому как игнорирование критики - это ведь тоже ответ. Успокаивающий, кстати.
в смысле, что все пожелания удовлетворить не удастся.
Согласен, Это само собой. Я же говорил: Лучшее - враг Хорошего. Ну то есть полировать Глюкало до Идеального Блеска можно бесконечно долго. Так что я высказываю не пожелания, а всего лишь мысли. Потому как я сам не профи и в схемотехнике и в программировании и во многих других вещах - зарабатываю на хлеб другими методами.
Однако енти обсуждения помогают и мне самому думать/учится/не скучать.
Сейчас в программе написанной на Си настолько все завернуто, что я уже даже забываю где я чего учел а где не учел.
Если я при этом навороте еще буду отслеживать не наедет ли измерение АЦП на счетчик секунд и при этом не помешает ли это все в наихудьшем случае управлению ключами, голова лопнет. Процессор действительно не загружен, но вероятность критичного стечения задач резко повышается при прямом управлении ключами.
Во прикольно.
Никогда бы не подумал, что на Сях писать проги для мелко процов сложнее чем на асме. И после ентого заявления как верить Тохе в его высказывании про то, что на асме пишут жуткие мазохисты ? (это мой вольный пересказ моего понимания смысла высказывания Тохи у CNCшников)
Так а в 18 ПИКах раздельные высоко и низко приоритетные прерывания. С отдельными битами запрещения. Ну и высоко приоритетные за счёт использования аппаратного зеркала пары/тройки регистров не могут быть повторно прерваны. А низко приоритетные при использовании сохранения на стек - вполне можно повторно прерывать после минимального заголовка. Ну и высоко приоритетные по умолчанию прерывают низкий приоритет, естественно.
Хотя про борьбу за одно прерывание - ну так и пускай борются, будет иногда (при пропуске прерывания от ШИМ) повторный импульс в ту же самую половину обмотки давать.
Ключ конечно может сгореть, если вся схема уже на пределе (макс коэфф заполнения, макс допустимая температура ключа ну и трансформатор уже насыщен)
Однако в моей схемке нету двух тактных преобразователей - из-за ентого меньше мощность/больше габариты, за то и нет необходимости быстро менять плечи.
А следить за успеванием критичных процессов в прерываниях - ну енто тот самый альфа-тест. На дым, так сказать.
хотелось бы избавиться от контроллера экрана, звука, клавиатуры, com-порта, задержек при записи в еепром, АЦП в режиме сна и заняться творчеством (переключением ключей).
Творчество - это какие задания давать ШИМу и откуда брать эти задания ( из какой косвенной/вспомогательной/юзерной инфы, сам процесс добывания и интерпретации ентой не всегда однозначно толкуемой инфы). А переключением ключей пусть драйвер (двойственное толкование возможно - имеется в виду усилитель/формирователь сигнала на затворе) ключа занимается - где тут место творчеству ?
Ну а переключение фаз ШИМа в двух тактной схеме - просто ещё одно маленькое прерывание, тоже творчества маловато.
У Вас хорошая идея ее надо опробовать нет ли подводных камней. Возможно только таким способом и будет работать и работает уже процессорное управление ЗУ.
Моя рисованная схемка была приложена лишь для примера/иллюстрации. До реала ей весьма далеко.
Ни расчётов параметров, ни оценки КПД, ни удельной к массе/габаритам мощности, ни прочих важных моментов нету. Подводных камней там наверняка хватит за глаза. Но я же должен был “включить умного” по фразе кого-то из древних: “Есть три степени понимания. 1) ПОНИМАТЬ. 2) Понимать, и мочь повторить. 3) Понимать, и мочь опровергнуть.” От себя добавлю: Дополнить - это как маленькое Опровергнуть. Так что я всего лишь пытался отработать понимание в 3-й степени.
И всеже я хочу завершить выбранный путь с некординальными изменениями.
Это правильно. Потому как Лучшее - ВРАГ хорошего. И вместо бесконечных споров о том, какие решения лучше, реальные люди получат реальный недорогой работающий универсальный зарядник.
А я тут потихоньку повысказываю свои бредовые идеи - вдруг пригодятся кому в работе над ошибками, мне не жалко. Бредогенератор у меня высоко производительный.
зарядки всех липо отдельно независимыми
Ну мне гораздо больше нравится затея экономичного балансира, типа как “Религиозного …”. Ну это когда на каждую банку лития вешается нормально запертый каскад из опто транзистора, усилителя и ключа, нагруженного на трансформатор. Светодиодами оптопар управляет общий с зарядником мелкопроц, открытый фото транзистор порождает генерацию, энергия из пере заряженной банки выкачивается не только в тепло, но и на зарядку всей батарейки. Много намоточных узлов, зато меньше греецца. Однако для народа, лично для меня точно, проще уж общий радиатор поболее отыскать и дырок под транзисторы в нём насверлить, чем трансформеры челноком на колечках мотать, муторно енто.
Чрез Мерная Забота о КПД - это на любителя повозиться. Ну или когда альтернатив вообще нету. Типа - 100 грамм и 100 ватт - и ни грамулькой больше.
Так что в лубом случае - удачи в продвижении проектика.
Я ведь здесь бескорыстен, зарядками не торгую, идеями тоже.
Сугубо обще развивающий разговор по предложенной теме.
Что касается зарядки всех липо отдельно независимыми источниками - это частный случай от универсального зарядника, это хорошая идея если вы заряжаете только липо и от 220в или у вас есть 10 автомобильных аккумуляторов…
Не хочу настаивать на своей идее, но всё же.
Мне кажется Вы не совсем поняли, что я предложил.
1 - не только Li-Po. Любые - соединив выходы модулей и задав соотв. программу заряда каждому модулю с “материнки”.
2 - балансировка/контроль заряда NiCd и NiMh , в том числе побаночно, независимо, точно.
3 - “балансировка” - это просто независимая зарядка элемента, каждого, независимо от другого 😁
4 - Отсутствует необходимость в мощном повышающем девайсе (12 ->) все модули питаются от одного, входного напряжения (хоть от 5 вольт). Малая мощность на модуле, проще комплектуха, проще настройка (типовая).
5 - соответственно селектирование - побаночно, тренировка- побаночно …
…
просто прекинте блок-схему, это интересно. 😃
О языках программирования:
На ассемблере написать ЗУ я не решился. Попробовал написать обмен с ЖКИ, сильно запутался и на этом забил. Хотя если это ктото сделает, то код будет минимален по размеру и максимален по скорости.
На Си программа займет в 5 раз меньше места и комментариев и в 10 раз меньше умственного напряжения и все равно будет очень сложной и страшной для понимания, так что судя по всему, при имеющемся открытом коде, в нее даже никто не заглядывал и ни одного комментария не дал.
На Си++ с использованием “классов” можно написать еще понятнее и прозрачнее и удобнее. НО компилятор отожрет очень много места на стек по вложенным вызовам. А оперативной памяти у меня в притык, хотя программной памяти еще 50% осталось. Например код будет выглядеть так:
void Zu::OnKeyDown(BYTE Key)
{
Chanal1->SelectMenu(Accum);
Chanal1->SelectMenu(Algoritm);
if(Chanal1->Test())Chanal1->Start();
}
Что касается борьбы приоритетов прерываний: В АВРе борьба прерываний идет только если 2 прерывания сработали одновременно. Если происходит обработка очередного прерывания все остальные запрещаются до reti. Потом идет выполнение одной инструкции основного кода, потом вызывается следующее самое приоритетное прерывание. Короче это отдельный гимор. И тут есть много вариаций, которые в Си по разному компилятор балует.
Насчет идеи зарядки всех элементов по отдельности. Кроме всех описанных вами плюсов здесь я вижу 2 сложности:
- Что делать с запаянными 8s1p батареями аккумов особенно ААА. Сложности с припайкой разъема. Народ будет недоволен, аккумы будут очень довольны, если не паять а варить и лучше к перемычкам.
- Если делать цифровой блок управления, то либо надо много ног на проце, либо чтото придумывать с коммутацией и регистрами для аналогового опорного напряжения.
Идея вообще хорошая. Может быть какнибудь попробую.
Никогда бы не подумал, что на Сях писать проги для мелко процов сложнее чем на асме. И после ентого заявления как верить Тохе в его высказывании про то, что на асме пишут жуткие мазохисты ? (это мой вольный пересказ моего понимания смысла высказывания Тохи у CNCшников)
Ну, смысл, если честно, был несколько иной. На си проще, а главное - надежнее писать сложные программы. Сложные - это все что хоть немного сложнее rc-switch. Что же касается программирования на ассемблере для risc-ов - то я считаю, что это надо очень сильно себя не любить.
На Си программа займет в 5 раз меньше места и комментариев и в 10 раз меньше умственного напряжения и все равно будет очень сложной и страшной для понимания, так что судя по всему, при имеющемся открытом коде, в нее даже никто не заглядывал и ни одного комментария не дал.
Это не так. Все дело в самой программе. Впрочем, от стиля программирования и оформления программы тоже многое зависит.
На Си++ с использованием “классов” можно написать еще понятнее и прозрачнее и удобнее. НО компилятор отожрет очень много места на стек по вложенным вызовам.
Это тоже не совсем так. В общем случае, что объектно-ориентированное программирование, что просто структурное программирование - разницы по уровням вложенности нет. Если вы напишете аналогичный структурный код, то увидите, что разницы нет. Пямять жрется, в основном, под библиотеку и набор стандартных классов. Данных тоже получается больше.
Зато программа на c++ надежнее.
Про “Очень Сильно себя не любить” - мне больше нравится вариант - “надо люто ненавидеть Си”.
Ну потому как лично мне ента сильно развитая Си мантика не превычна, хотя - капля долбит камень.
Сейчас в программе написанной на Си настолько все завернуто
То ли ещё будет.
Массовые (конструктивные?) Пожелания в сторону проги зарядника начнутся при его массовом бета тестировании.
хорошая идея ее надо опробовать нет ли подводных камней.
А недостатков/подводных камней супротив СЕПИКа с управлением 494 как минимум:
- Деньги.
Что-бы через мою схемку прошло 300 Вт ( 30 Вольт 10А на выходе, примерно 30А 10 вольт на входе) и при ентом 10 Вт потерялось на ключах/диодах, надо 5-8 параллельно Р ключиков 4905 поставить - это 150 руб, и три/четыре параллельно N ключика 2805 - это 120 рублей, и ещё 3-4 параллельно N ключика 2805 на доп защиту от переполюсовки на выходе. Итого только за ключики 390-560 рублей.
Про стоимость хороших конденсаторов/диодов молчу, но она тоже далеко не нулевая.
А тут кто-то разговор затевал про 200 рублей экономии за пару строк на индикаторе.
Сэкономить на индикаторе 200 рублей получится один раз. А раздражать своим морганием он потом будет вечно. Другое дело, если 4х строк просто не было под рукой на момент изготовления прототипа. - Употребление 2х каналов ШИМа. Ну то есть внешней логикой можно и один канал переключать, но уж больно хороши в повторении девайсы, когда кроме мелко проца особо ничего и нету. Хотя здесь ещё усилитель токо измерительного резистора будет по любому, так что только корпусом МП не обойтись.
- Вес/габариты индуктивности.
Шестикратно более низкая частота 10 бит ШИМа ( 39 КГц для 18 ПИКа ) - вот и ответ, габариты будут соответственно примерно в 6 раз более. А в остальном индуктивность вполне подобна L1 от SEPIC.
- Деньги.
Что-бы через мою схемку прошло 300 Вт ( 30 Вольт 10А на выходе, примерно 30А 10 вольт на входе) и при ентом 10 Вт потерялось на ключах/диодах, надо 5-8 параллельно Р ключиков 4905 поставить - это 150 руб, и три/четыре параллельно N ключика 2805 - это 120 рублей, и ещё 3-4 параллельно N ключика 2805 на доп защиту от переполюсовки на выходе. Итого только за ключики 390-560 рублей.
Чтоб через чоппер пропустить 10А-30В вполне достаточно одного 4905 (ну если эстетствовать то два) только что заряжать, аккумуляторы от КАМАЗа что ли? и почему Вы решили что КПД от паралельного соединения транзисторов вырастет?. Переполюсовку можно банально отслеживать програмно, Вы ведь не предпологаете наличие напряжения в чоппере все время? Подключили аккум, проц посмотрел, какое там напряжение, сделал некие выводы, сообразно заданной програме заряда (например было задано заряжать три липоля а на клеммах 6В, все критическая ситуация).
Схема разрядки будет на том же чоппере работать, ну прийдется один ключ добавить, ну и еще может чего, в качестве нагрузочного резистора будет использоваться измерительный шунт, и ток разряда та же тлка и будет держать БЕЗ ПРОБЛЕМ и очень просто
Облазил Митино ларьки (где обычно) с импортом LM35 не нашел. Правдо это было в будни.
Платы, которые заказал народ в личке, в количестве 10 шт., забираю в субботу в митино часов в 12
прямо там мона и встретиться и пообщаться.
Думаю что с амперами будем эскрементировать позже.
Программа пишется.
В настоящий момент пишется алгоритм выставления опорного напряжения для установки тока. Т.к. хочется сделать его универсальным, он будет несколько сложнее. В обобщенном виде:
- Проверка напряжения на силовом выходе (на заряжаемом акке). Если в 2 раза ниже минимального, то переспрашиваем: А ты уверен???
- Выставляем опору 5в*1/65536. Ждем секунду. Смотрим какой получился ток. Узнаем время реакции и величину. Стандартное время реакции будет двойным от полученного.
- Выставляем 1/2 от требуемого для заряда тока. Выжидаем время. Контролируем результат.
- Вычисляем сколько еще надо добавить(убавить). И добавляем(отнимаем) половину от этого. И так многократно на все время заряда.
- Дополнительный критерий заряда, и при этом более главный, напряжение на выходе. Имея ток и напряжение мы можем вычислить внутреннее сопротивление батареи (оценочное, псевдо). Если требуется понизить напряжение до известного уровня, используя оценочное сопротивление вычисляем требуемый ток. Далее пункт 4.
Цифровой датчик уже фунциклит. С термосопротивлением еще поэкспериментируем, добавлю в меню Юстировку термосопроитивления. Входим в пункт меню, который предлагает подключить и засунуть датчик в стакан с водой и льдом и нажать ок. Потом в 25 градусов и например в 70(по термометру кипятком в стакане). Прога расчитает сплайн вторые производные и показания этих трех точек и запишет их в еепром
алгоритм выставления опорного напряжения для установки тока.
Придумывание алгоритмов. Как раз и место для мозга/творчества.
- Проверка напряжения на силовом выходе (на заряжаемом акке).
Ну здесь бы побольше интеллекта хотелось бы наверное. Хотя с другой стороны - чем сложнее интеллект - тем потенциально больше не обнаруженных ошибок.
( Мой зарядничек который только для лития 1-4S с автоматическим определением кол-ва банок после нажатия кнопки “Старт” некоторое время ( около минуты-пяти минут) заряжает батарейку небольшим током и глядит, как растёт напряжение. Из ентого каким-то макаром и определяет кол-во присоединённых банок. ) А вообще у меня возникла мысль - отношение напряжения нормально разряженного и полностью заряженного элемента достаточно похоже для различных типов : 1.45/1.0 =1.45 для кадмия/гидрида, 4.2/3.0=1.4 для лития, 2.2/1.8=1.2 для свинца. Иными словами, если при зарядке батарейки напряжение на ней выросло более 1.5 раза - вполне можно пытаться тормознуть и спросить - “А Ты уверен” ? Ну или какие-либо другие действия делать типа - снижения зарядного тока.
Если в 2 раза ниже минимального, то переспрашиваем: А ты уверен???
Вот и я говорю, что два раза - многовато/грубовато будет.
Примерно так же можно пытаться отслеживать и изменение внутреннеего батарейки - у сильно разряженной должно быть внутреннее высокое, в средней части заряда оно падает, а у перезаряженной батарейки мне кажется должно снова расти. Насколько я понимаю - это явление в работе химических источников тока обусловлено изменением концентрации реагентов в банке. А при перезаряде - сменой вида хим реакции. Так что должно в той или иной мере наблюдаться на никеле/литии/свинце.
А ещё прикольная мысль - что-бы юзер после сборки зарядника сообщал ему, какие вообще батарейки он имеет. Ну Что-бы сузить количество вариантов ручного/автоматического выбора батарейки по косвенным признакам - типа напряжения присоединённой батарейки и её внутреннего сопротивления. Разумеется можно и ручную коррекцию автоматического выбора делать. Опять же с вычёркиванием заведомо непригодных вариантов - типа когда напряжение присоединённой батарейки выше чем максимально возможное для какого-либо типа.
- Выставляем опору 5в*1/65536.
По мне так был бы проще стандартный пропорционально-интегральный алгоритм:
0. Спешить с током никуда не надо, его вполне можно очень плавно регулировать ( в Гиперионе ток от нуля до установленного набирается секунд за 10 примерно)
- Процедура изменения задатчика тока вызывается периодически ( ну к примеру 100 раз в секунду). В ней сравнивается текущее измеренное значение тока и желаемое. Разница умножается на подбираемый ( по отсутствию автоколебаний) коэффициент, часть младших разрядов отбрасывается и результат прибавляется к текущему значению задатчика тока. Туда же прибавляется и знак сравнения. Усё.
- Имея ток и напряжение мы можем вычислить внутреннее сопротивление батареи
Я бы для периодического измерения внутреннего батарейки ( раз в секунду к примеру) уменьшал уставку тока вдвое. А далее делил дэльту напряжения на дэльту тока. А полностью выключать зарядный ток для замера внутреннего мне почему-то не нравится - но не могу внятно сказать почему.
На ассемблере написать <> обмен с ЖКИ <> запутался и забил.
А мне вот пришлось в образовательных целях - Си мантика показалась сложнее. Хотя мне кажется его надо синхронным делать - ну то есть без опроса готовности контроллера, а просто с какой-то частотой, к примеру тысячу или две символов в секунду. И времени на опрос готовности не будет тратится, и отсоединение/неисправность дисплея прога никак не заметит.
Чтоб через чоппер пропустить 10А-30В вполне достаточно одного 4905 (ну если эстетствовать то два)
Паспортный максимум 4905 - это 74 ампера. Однако при ентом он на своих 22 милли Омах сколько Вт рассеет ?
только что заряжать, аккумуляторы от КАМАЗа что ли?
Вот и я думаю, зачем заранее ограничивать народный (широко универсальный) зарядник детскими батарейками ? Ну откуда следует, что человек, решивший слегка сэкономить на зарядке, никогда не купит 600 рекса с его 6S 5000 литием и не захочет его в поле заряжать током 2С ?
и почему Вы
Вполне можно на Ты, я без претензий.
решили что КПД от паралельного соединения транзисторов вырастет?.
Ну потому что енто полевые транзисторы.
А ещё это не я решил - это все так делают. К примеру изготовители 3Ф контроллеров для БК моторчиков.
Переполюсовку <> отслеживать програмно, <> Подключили аккум,
Аха, и выходной полярный электролит что сделал ? И как его командой проца успокоить ?
Кроме того, ощущения от BASE прыгов не забываемые ещё и от того, что присутствует один парашютик. Я не пробовал, мне запаска спину греет. Так и здесь - если по каким-либо причинам прога видит, что зарядка явно перестаралась - у неё есть ещё один нормально разомкнутый ключик. Который она вполне может разомкнуть в критической ситуёвине. А личности, желающие сэкономить очередные 100 рублей за ключик, вместо него в печатку смогуть впаять перемычку.
Схема разрядки будет на том же чоппере работать
Я с детства люблю мотоциклы, для меня чоппер - енто нечто двух колёсное, по ентому тут путаюсь в терминах. Лучше уж схемки наглядно на бумаге, тогда лично мне проще думается.
То что я писал про мои попытки на асме написать ЖКИ, я немного сгустил и преумножил. У меня получилось кой чего, но когда я стал добавлять функции запахло жареным. На Си тоже пахнет жареным но значительно меньше. Так пахло бы на любом языке. Поэтому появилось объектное программирование, которое снаружи все типа упростило, упорядочив сложные навороты обычного языка во фразы из слов-объектов. Но если посмотреть как написаны описания объектов (классов) мало не покажется. В нашем случае есть 3 вида памяти и прерывания и отправка на ЖКИ 8 битных команд по 4 бита, да и протокол там извратный. Если делать влоб линейно: “Всем ждать я букву рисую”, то это просто запрограмить но неправильно, как мне кажется (см. статью). Но если программа все выполняет почутьчуть и “одновременно”, то это запрограмить классами трудно. Я еще не пробовал писать классы в IAR C++, но стоя у подножья горы мне не по себе и интуитивно ищешь отмазок.
Что касается языка Си как и любого другого. Все это дело привычки. Первый неудачный опыт особенно в сочитании с неприятностями в личной жизни может закрепится в сознании, а потом, вытесненный, и в подсознании. Далее всякий раз контактируя с Си, всплывает необъяснимая плохое настроение. Вот почему в постижении истины очень полезен Сифу, Сенсей и Гуру, которые не дают зарываться. Совсем без эмоций нельзя, но и руководствоваться ими в принятии решений тоже не очень-то. Здесь в форуме молодежь балует: рефлексирует, а потом свои эмоции и выпендреж обвешивает подогнанными фактами. Если постоянно себя не выслеживать, то и дело и сам замечаю, что балую.
К сожалению без опыта, предложить сразу хороший алгоритм трудновато. Как показала практика сделаем сначала простой алгоритм - стандартный, а потом будем обвешивать его. Не забывая про выделение повторяющихся моментов в подпрограммы.
Вероятно в список заряжаемых аккумов, надо добавить строку “Я в этом не разбираюсь, сами заряжайте как хотите”. И это будет осторожный медленный алгоритм.
И добавить “Какой то литий”, “Какой то гидрит”, “Какойто кадмий”…, что приводит к томуже алгоритму.
Если клиент выбрал нормальный аккум (да еще сам вводил параметры), то он сам несет ответственность за выбор, но защита против дурака все же будет (переполюсовка, превышение емкости, по начальному напряжению и т.д. что проверить легко и не займет времени).
Можно конечно вести статистику куда ходил юзер и в соответствии с этим сортировать меню аккумов для удобства. Не перегиб ли это? Может достаточно расставить их в правильном порядке?
Насчет дополнительного ключа (или тумблера (извиняюсь доходит долго)) замечание принимается. И насчет 4х строчного ЖКИ тоже (Количество выводимой информации маловато - подумываю сделать роллинг если озу останется). И датчики всеже лучше цифровые (в целом с учетом всего, гимора меньше).
То PSW:
Насчет полярного электролита, можно за ним диод поставить.
При 10А на 4905 будет рассеиваться 2-3 Вт, паралельно их соединяют для увеличения мощности, КПД мы повысить впринципе не можем. Прикинь, ставим паралельно ДВА редуктора, что КПД вырастет?
Чоппер (chopper-прерыватель) это совсем не мотоцикл, а как принято в электронике “step down” преобразователь. Вобщем советую Семенова “Силовая электроника” пролистать, ОЧЕНЬ хорошая книга.
To All
Я бы еще обязательно поностью ручной режим сделал, типа такой то ток, столько то времени, и до такого напряжения
Щас пока сделано так (это тип акку и хар-ки его зарядки):
// Список аккумуляторов с их параметрами
// 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 дельтапик в мВ
Можно рассматривать это как точку к которой выведет зарядник, потом выбрать другую точку.
Может когданить заведу массив точек и при смене цикла будет меняться тип акку