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

AVK

Думаю без энкодера модно обойтись, достаточно 4-х кнопок

AVK

Чегото IAR 4.11A отказался у меня проект открывать, какую версию надо?

R2D2

Проэкт был заделан на 4.12А

Но это не беда, что неоткрывается.

Создайте новый проект, заполните свойства проекта и воткните в него все файлы.

Дочитал до конца Хрусталева Д.А. “Аккумуляторы”

Исправил статью по части лития.

Прошу дать замечания по следующим утверждениям

SLA (заливные)

  1. Заряжаем постоянным током Imax = (от 0.1C до 0.25C).
  2. Ставим таймер на выключение по времени t = (16ч * 0.1C) / Imax
  3. Каждые 10 мин снимаем зарядный ток и делаем небольшой разряд в течение 5 секунд тем же Imax. Если напряжение достигло Vmax = (от 2.43в до 2.53в) прекращаем процесс зарядки.

SLA (герметичные, гелиевые)

  1. Первая фаза - Заряжаем постоянным током Imax = (от 0.1C до 0.35C) или постоянным напряжением из расчета 2.45в на элемент.
  2. Каждые 10 мин. снимаем зарядный ток и делаем небольшой разряд в течение 5 секунд тем же Imax. Если напряжение достигло Vmax = (от 2.26в до 2.31в), то переходим ко второй фазе.
  3. Ставим таймер на переход от первой ко второй фазе t = (16ч * 0.1C) / Imax.
  4. Вторая фаза стабилизация по напряжению (от 2.26в до 2.31в).
  5. Ставим таймер на вторую фазу 1 час.

Ni-Ca

  1. Если глубоко разряжен, заряжаем 0.1C до 0.8В.
  2. Кадмий с середины не заряжают. Первая фаза – разряжаем до 1В.
  3. Заряжаем постоянным током Imax = (0.1-0.2C нормально, 0.3С быстрый, 0.5-1С скоростной).
  4. Можно после каждого импульса зарядного тока делать небольшой импульс разряда для рекомбинации газов, декристаллизации и увеличения срока службы. Конкретные параметры???
  5. Ставим таймер на прекращение заряда t = (12ч * 0.1C) / Imax.
  6. Ставим температурный триггер или на температуру 60оС или на ее рост dT/dt = 1 оС/мин. При превышении прекращаем зарядку. При превышении прекращаем зарядку до остывания. Если заряд не полностью принят, можно сделать паузу и продолжить меньшим током (Дифференциально-шаговый заряд). Величина тока зависит от SoC (State of Charge) степень заряда.
  7. Не ранее чем через 20 минут после начала зарядки активизируем триггер на напряжение. Если напряжение начало снижаться (~ 10 мВ), прекратить заряд. Ориентируемся на снижение на одной банке, т.к. элементы могут быть не согласованы.
  8. Далее 1 час струйной подзарядки 0.05С. При длительном заряде приводит к кристаллизации.

Ni-Mh

  1. Если глубоко разряжен, заряжаем 0.1C до 0.8В. Если будем заряжать током 1С, то необходим период 10-20 минут инициирующего 0.2-0.3С заряда.
  2. Заряжаем постоянным током Imax = (0.1-0.2C нормально, 0.3С быстрый, 0.5-1С скоростной). Предпочтительнее быстрый и скоростной заряд иначе трудно определить конец заряда.
  3. Ставим таймер на прекращение заряда t = (12ч * 0.1C) / Imax.
  4. Ставим температурный триггер или на температуру 60оС или на ее рост dT/dt = 1-2 оС/мин. При превышении прекращаем зарядку до остывания. Если заряд не полностью принят, можно сделать паузу и продолжить меньшим током (Дифференциально-шаговый заряд). Величина тока зависит от SoC (State of Charge) степень заряда.
  5. Через 20 мин после начала зарядки ставим триггер на напряжение. Если напряжение снизилось на 10 мВ, прекратить заряд. Ориентируемся на снижение на одной банке, т.к. элементы могут быть не согласованы.
  6. Для лучшего определения дельта-пика, измерение напряжения можно делать ежеминутно с небольшим предварительным разрядом. Дельта-пик заметнее при больших токах и при малом количестве элементов.
  7. Далее 1 час струйной подзарядки 0.03С. При длительном заряде приводит к кристаллизации.

Li-Ion и Li-Po

  1. Первая фаза - заряжаем постоянным током Imax = (от 0.5C до 1.5C) до 0.9*Vном.
  2. Вторая фаза - заряжаем стабилизированным напряжением Vном до полного исчезновения тока.
  3. Контроль над током и напряжением можно производить непрерывно и одновременно.
  4. Ставим температурный триггер или на температуру 40 - 50оС или на ее рост dT/dt = 1 оС/мин. При превышении прекращаем зарядку.
  5. Ставим таймер t = (1.5ч * 1C) / Imax на прекращение зарядки.

Последняя версия статьи:

AlexAndr=
R2D2:
  1. Через 20 мин после начала зарядки ставим триггер на напряжение. Если напряжение снизилось на 10 мВ, прекратить заряд.

Несогласен, если будет подключён уже заряженный аккум то за 20 мин он прилично перезарядится. А если без термозащиты , то и взорватся может.
Есть такое решение: мерять напряжение каждую минуту, если оно достигло 1,4В/банку(+поправка по току), тогда проверять напряжение на снижение(мерять дельтапик). И 10мВ многовато для гидридов, лутше сделать настройку через меню 0-30мВ/банку.

R2D2

Согласен с Alex@ndr.

Изготовитель плат подтвердил наличие спец файла и принял заказ на 10 штук (на мой страх и риск)

Изготовление 4 недели (прошлый раз задержал) Цена платы будет 150-200 руб.

Кто не потерял интерес присылайте какиенибудь реквизиты в личку.

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

После 100% пуска платы,
Выяснения оптимальных параметров,
Выявления ошибок,
сокращения лишних элементов
добавление не лишних
словом выжимания максимума возможностей

будет предпринята попытка

создания девайса на меге128 с внешним ацп на 12-16 бит
из 2 или 3х плат (цифровая и силовая силовая)
разводка односторонняя
программатор и ком может будут убраны а вместо них бутлоадер на усб разработка osnwt.

И на этом с зарядниками закончим.

AVK

По поводу зарядки свинца,нет никакого смысла разряжать раз в 10 мин, если делать режим десульфатации то там по другому со временем совсем, а раз в 10 мин десульфатации не будет, зачем тогда?
Не очень понял насчет 128меги, это куда столько то? или планов громадье?

PIONER

Здравствуйте! Если можно мне одну плату зарезервировать? По поводу получения, то можно и наложенным платежом, по почте. Я живу в г. Жуковский под Москвой. Заранее огромное спасибо!

R2D2
PIONER:

Здравствуйте! Если можно мне одну плату зарезервировать? По поводу получения, то можно и наложенным платежом, по почте. Я живу в г. Жуковский под Москвой. Заранее огромное спасибо!

OK
ФИЗТЕХ или МАИ?

еще 7 штук осталось срок изготовления 1 марта или позже на неделю

AVK:

По поводу зарядки свинца,нет никакого смысла разряжать раз в 10 мин, если делать режим десульфатации то там по другому со временем совсем, а раз в 10 мин десульфатации не будет, зачем тогда?
Не очень понял насчет 128меги, это куда столько то? или планов громадье?

Если не 10 то сколько?
Другой способ:
Там можно заряжать импульсами боольшего тока, но чтоб итого по времени получалось 0.1-0.2С
повсюду пишут, что результат сомнительный и о форме импульсов ни слова.

Насчет 128:
Понимаю что на 16х2 строках много инфы не выдашь, но хотелосьбы не оставлять пользователя с какими та там кодами и цифрами наедине, а сообщить ему многие параметры как вела себя батарея в процессе зарядки человеческим языком (талмуд теряется всегда). Ориентироваться на ЗНАЮЩЕГО пользователя не ГУД.

Потом видел в нете статью как управляться с экранчиком от нокии по spi (200 руб в митино купил давно)
И ног у проца катастрофически не хватает.

И УСБ хочется попробовать.

Короче разводить будем мать с универсальным разъемом PCI-ЗУ экспресс мона будет разные видюхи втыкать и флэшки 😁

AVK

Собственно говоря я не думаю что режим десульфатации вообще необходим, мы же не будем убитые автоаккумуляторы заряжать, считаю что свинец надо заряжать стабильным током с отсечкой по напряжению или по времени или по впихнутым амперчасам (кто как хочет на выбор).
Десульфатация насколько помню это типа секунду заряжаем, 0,2 сек разряжаем или типа того не помню.
Кстати режим зарядки по времени надо и к гидридам приделать, у меня, например Тритон частенько ловит ложный дельтапик (и самое неприятное может вообще не поймать) при зарядке ААА аккумуляторов на 600-900мА*ч, а так поставил время и ток и вперед, очень удобно.
Думаю что стоит ограничиться 4ми липолями, заодно разрешающую способность АЦП повысим, внешний АЦП считаю нецелесообразным (мы ж народный зарядник делаем значит простой относительно).
Дисплей от мобилы конечно прикольно, но маленький он, помоему 16*2 вполне достойный вариант, а вот УПШ это хорошо и всякие графики пускай строит комп, он для этого и предназначен (уж в компе можно что хош навернуть)

DrClover
AVK:

Собственно говоря я не думаю что режим десульфатации вообще необходим, мы же не будем убитые автоаккумуляторы заряжать, считаю что свинец надо заряжать стабильным током с отсечкой по напряжению или по времени или по впихнутым амперчасам (кто как хочет на выбор).
Десульфатация насколько помню это типа секунду заряжаем, 0,2 сек разряжаем или типа того не помню.

Надо десульфатацию !
Раз народный зарядник - значит должен много чего уметь для хозяйства и не только модельного
я например как раз автомобильные Акки тоже заряжаю (в том числе и убитые 😃 )
и платку для сборки прикупил бы , если осталось зарезервируйте за мной 1 пажалуйста 😃

naumovich
R2D2:

Согласен с Alex@ndr.

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

Плату пожалуйста зарезервируйте. Данные отошлю в личку.
С уважением, Наумович С.П.

R2D2

Всего записалось 9 человек народа еще 1 осталась, но наверное еще можно дозаказать.
На всякий пожарный еще раз повторяю, что заказ сделан в Митино 3 февраля. Мужик сказал звонить через 4 недели. Качество первых 4 штук было оч приличное, но он задержал кажется на 2 недели
(давно это было год назад).

Что касается десульфатации:
Вопрос об алгоритмах задавался с целью както обобщить все аккумуляторы на уровне параметров.
Сама программа зарядки ОДНА, и она грузит параметры выбранного аккумулятора и работает с ним
как и с любым другим независимо от типа.
Добавить еще один параметр в алгоритмы (бережная зарядка) ничего не стоит, кроме моих опасений
относительно оставшейся оперативной памяти, но постораюсь.

// Список аккумуляторов с их параметрами
// 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 дельтапик в мВ

Так я попытался описать алгоритмы, которые вместе с параметрами точно определяют, что делать с аккумулятором
//Бит 7 IK Стабилизированный ток равен константе (или меньше при одновременной стабилизации по напряжению)
//Бит 6 IS Остановка заряда при токе = 0
//Бит 5 VK Ежесекундная стабилизация напряжения на уровне Vmax (ток заряда/разряда включен)
//Бит 4 VS При достижении Vmax стоп заряд. Измерение напряжения производится раз в 1 мин при отключении тока заряда с разрядом 0.1С за 5 сек
//Бит 3 DP При достижении дельтапика
//Бит 2 VR Стоп разряд при Vmin
//Бит 1 TS прекращение заряда или разряда при T=50оС
//Бит 0 tS прекращение заряда по времени

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

Aleksey_Gorelikov
R2D2:

Потом видел в нете статью как управляться с экранчиком от нокии по spi (200 руб в митино купил давно)

Я юзал дисплеи от эриксонов. Могу показать\рассказать… Там и2с, граблей тоже не много, но с одними - сутки боролся 😃 В пользу эриков - тот факт, что они выпускали очень неудачный телефон а26128, но с неплохим дисплеем. В том же митино их по полтийнику можно нарыть…

AVK

Режим заряда стабильным напряжением считаю нецелесообразным (разве что медленная зарядка 0,1С), думаю надо всегда заряжать стабильным ТОКОМ, с контролем дельтапика, напряжения, в зависимости от типа аккумулятора.
Собственно заряд свинца и липолей впринципе неотличим, кстати и свинец полезнно добивать 0,1с при достижении 90% заряда, в любом случае отсечка по напряжению.
Зарядка стабильным напрядением затрудняет измерение впихнутых А*ч и помоему не нужна.
Десульфатация… ну не знаю, гелиевые элементы практически не сульфатируются, а для авто применений есть соответствующие зарядники.

ubd

Ребят не поскажите где можно скачать просмоторщик файлов от P-CAD. У меня есть P-CAD, но он старый, под Win`98.
Полный P-CAD мне не нужен, я всё ровно Sprint Layout пользуюсь.
Хотелось бы схемы зарядника посмотрель…
Заранее благодарю…

IVАN

_____.rar

ubd:

Ребят не поскажите где можно скачать просмоторщик файлов от P-CAD. У меня есть P-CAD, но он старый, под Win`98.
Полный P-CAD мне не нужен, я всё ровно Sprint Layout пользуюсь.
Хотелось бы схемы зарядника посмотрель…
Заранее благодарю…

Вроде в архиве схема в Ворде если хотите в pdf .

ubd

to IVАN:

Там схема в ужастном качестве, ничего не видно…

jan, за свотрелку спасибо!

R2D2

Бадаюсь с тепловыми цифровыми датчиками.
Много прерываний уже работают как хотят - все учесть тухляк.
Плавающие глюки рвут задержки, если делать на прерывании и очень много ОЗУ тратится.

Буду делать в основном цикле раз в 5 секунд измерение температуры.
Длинную задержку на “сбросе” 0.00048 сек. и на “измерении” 0.75 сек. буду делать по человечески
Маленькие задержки буду тупо ждать:__delay_cycles(n); ожидание n циклов.

Изучаю апроксимационную функцию, для построения нелинейности термосопротивления.
Может ктонибудь может коротко сказать как это надо делать.
Задача:
При T=0 гр. Цельсия, я измерил 2.56 вольт
При T=25 гр. Цельсия, я измерил 3.00 вольт
При T=60 гр. Цельсия, я измерил 4.3 вольт
Вопрос: найти апроксимирующую функцию (скорее всего парабола) f(v)=av**2+bv+c (гр. Цельсия)

читаю вот это:

window.edu.ru/window_catalog/files/…/nstu92.pdf

В случае с термосопротивлением надо будет “отюстировать” это сопротивление в привязке к нашему ЗУ,
т.е. опустить его в стакан с водой вместе с цифровым датчиком и измерить несколько экспериментальных точек желательно с одинаковым шагом по температуре и с охватом всего рабочего диапазона. После этого небольшая программа насчитает массив вторых производных, который позволит нам достаточно быстро вычислять аппроксимацию в любой точке.

100 руб. за цифровой датчик или достаточно сложная процедура аппроксимации.
Я думаю 100 руб.

Victor

У меня была програмка интерполяции функции с помошью кубических сплайнов, если найду выложу