Як бачите, схема досить проста.
Мікроконтролер AtMega8 був обраний тільки через те, що він був в наявність і за звичкою :). Транзистори VT3 і VT4 повинні бути MOSFET серії Logic-level gate drive (IRL), це обмеження схеми. При включенні зарядного імпульсу або що теж саме подачі високого рівня напруги на затвор VT3 напруга на роз'ємі Х1 падає приблизно до 2-3В. При цьому стабілізатор 78L05 живиться за рахунок ємності C1, і якщо замість VT3 поставити біполярний транзистор, то базової ток відразу ж розрядить С1. До речі, мікроконтролер майже завжди знаходиться в режимі IDLE і ток споживає маленький, конденсатор розряджає сама 7805 (в реальній схемі саме 7805, L у мене не було). Замість VT4 можна було б застосувати біполярний транзистор, але до його повного відкриття потрібен великий базовий струм, що не дозволить С1 заряджатися під час розрядного імпульсу. Замість VT4 IRLML2502 можна застосувати будь-який MOSFET серії IRL з максимальним струмом стоку більш 2А, VT3 можна ставити будь-який з серії IRL. Складовою транзистор теж бажано замінити на P-канальний MOSFET серії IRL.
Нижче наведені графіки зарядного і розрядного імпульсу.
Тривалість зарядного імпульсу 100мс. Тривалість розрядного імпульсу 6.5мс, пауза між зарядні імпульсами 20мс. Пауза необхідна для зарядки конденсатора С1.
Як говорилося раніше, що б не робити подвійну роботу я використовував софт для комп'ютера від старої зарядки. Для даної зарядки другий канал не використовуються. В сторінці налаштувань, слід вказати тільки опір розрядного резистора (Rd), за замовчуванням дорівнює номіналу в схемі. Програма приймає дані з кого порту зі швидкістю 4800 бод. Дані від зарядки відсилаються раз в хвилину, і вони ж використовуються в алгоритмі визначення кінця заряду. Скріншот програми наводити не буду, там і так все зрозуміло, натискаєте кнопку старт включається на отримання даних від обраного кому порту і починається побудова графіків. Для передачі даних на комп'ютер я використав перехідник usb-com. Якщо у когось виникне бажання користуватися перетворювачем рівнів MAX232, то треба переконатися, що перешкоди від MAX232 не проникають в схему зарядки. Ця мікросхема досить сильно фонить по харчуванню.
Інструкція користувача:)
При включенні, зарядка починає цикл перевірки наявності акумулятора. Напруга на акумуляторі вимірюється при розрядному імпульсі. Якщо напруга нижче 1 вольта, зарядка намагається розштовхати акумулятор до 1 вольта і тільки потім переходить до виконання програми заряду. Якщо напруга акумулятора більше 1 вольта і замкнутий перемикач <предварительный разряд>, то акумулятор буде розряджений до 1 вольта перед зарядом (у мене перемикач замінений на кнопку, мені так здалося зручніше). Після детектування закінчення заряду, зарядка переходить в режим крапельної підзарядки. Зарядний імпульс подається на 5мс через 1 секунду.
Перемикачами SA1-SA3 в двійковому коді задається максимальний час заряду. Чи не замкнутий стан відповідає логічній одиниці, все розімкнуті - 7 годин. Перемикачі опитуються, тільки при старті заряду.
Датчик DS18B20 встановлюється за бажанням, потрібен для того, що б бачити температуру на комп'ютері. Спочатку думав активно його використовувати, але як виявилося, при таких токах, інформація більше наочна, ніж корисна. Та й примхлива це річ, включили настільну лампу або закрили балкон і цим викликали помилкове детектування закінчення заряду (метод dT / dt швидкість зміни температури в хвилину).
Індикація.
Передбачена одним світлодіодом. При включенні заряду світлодіод загоряється на одну секунду.
Світлодіод горить - кінець заряду / крапельна підзарядка.
Світлодіод блимає з періодом 1 сек.- кінець заряду за часом (помилка за часом).
Часто блимає - йде заряд акумулятора. Дані на комп'ютер надсилаються раз в хвилину.
Виключений - режим очікування, підзаряд до одного вольта або розряд до одного вольта. У режимі підзарядки дані на комп'ютер надсилаються раз в 30 секунд. У режимі розряду дані на комп'ютер надсилаються раз в хвилину.
Мікроконтролер тактується від внутрішнього RC генератора частота 1 мегагерц. Слід запрограмувати fuse біт BODEN, значення інших fuse біт залишені за замовчуванням.
Мої піддослідні :)
Як просто і швидко зробити держалку акумулятора. Я розібрав старий пускач, взяв контакти, вони до речі посріблені, зігнув їх і припаяв на текстоліт. Вийшло досить добре, контакт з акумулятором вийшов набагато краще, ніж з пружинними версіями.
А спочатку було так:
Тут теж використані контактні площадки від пускача.
Спасибі, що прочитали статтю :) Радіокоту і всім, гарного настрою.