oner

Не понимаю, как работает зарядник на МК

23 сообщения в этой теме

oner    3

Всем привет!

На просторах сети нашел статью с описанием зарядного устройства на Atmega8. Описание устройства в статье недостаточно для меня. Допустим, я хочу на базе материала данной статьи сделать зарядное устройство на ток ампер в 10 с защитой от перегрева аккумулятора при заряде. Правильно ли я понимаю, что зарядное устройство в этой статье:

а) одни порты АЦП использует по назначению, а другие - как выход?

б) не замеряет непосредственно ток заряда аккумулятора, а контроллирует только ток разряда?

 

624-01.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00
KomSoft    104

Все порты используются по назначению, просто одни как входы (в т.ч. АЦП), а другие - как выходы. Да, измеряется напряжение на акб (через adc1), а не ток заряда и ток разряда путем измерения напряжения на резисторе 5.1ом через adc0

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3
12 минуты назад, KomSoft сказал:

Все порты используются по назначению, просто одни как входы (в т.ч. АЦП), а другие - как выходы. Да, измеряется напряжение на акб (через adc1), а не ток заряда и ток разряда путем измерения напряжения на резисторе 5.1ом через adc0

Т.е. все-таки PC0 и PC1 используются, как каналы АЦП, а PC2  и PC3 - совсем нет? А PC4 вообще используется, как выход ШИМ?Очень смущает это, потому что в программе из статьи инициализация АЦП выглядит так:

ADCSRA |= (1 << ADEN)|(1 << ADSC)|(1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0)|(1 << ADIE);

 

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

Изменено пользователем oner

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    30

Есть же микросхемы специально для заряда Li-ion, в основном разряжать не умеют, только заряжать, для li ion разрядка и ненужна. Самая простая TP4056.  Насчёт NiMg решение сомнительное, так как только один канал, не очень то удобно по одной батарейки заряжать...

Падение на резисторе ведь не меряется. Максимум что можно измерить это напряжение на акуме при открытом 2sa614 и сравнить его с напряжением питания. Получится падение на диоде + резисторе + транзисторе. Толку от этого 0.

Изменено пользователем GOR23

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3
7 минут назад, GOR23 сказал:

Есть же микросхемы специально для заряда Li-ion, в основном разряжать не умеют, только заряжать, для li ion разрядка и ненужна. Самая простая TP4056.  Насчёт NiMg решение сомнительное, так как только один канал, не очень то удобно по одной батарейки заряжать...

Я хочу расширить это устройство до свинцовых аккумов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    30

Так найдите нормальную схему для свинцовых акумов, вон сколько разных вариантов с компьютерного бп. А так, для свинцовых тут нужно переделывать всё, проще сделать с нуля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3

Если не секрет - чем заряд свинцовых АКБ радикально отличается от заряда остальных?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    30
Цитата

ADCSRA |= (1 << ADEN)|(1 << ADSC)|(1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0)|(1 << ADIE);

Сейчас точно не вспомню про мегу восьмую, но помоему этот регистр к портам контролера не имеет никаого отношения, входа АЦП, ADMUX настраиваются.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3
14 минуты назад, GOR23 сказал:

Сейчас точно не вспомню про мегу восьмую, но помоему этот регистр к портам контролера не имеет никаого отношения, входа АЦП, ADMUX настраиваются.

ISR(ADC_vect)// Обработчик прерывания от АЦП
{
	ADCSRA = 0; // Выключаем АЦП
	if((ADMUX & 0x0F)==1) // Если был выбран канал ADC1
	{
		voltage_value = voltage_value + ADC; // Суммируем измеренные значения напряжения и помещаем в буфер
		ADMUX = (ADMUX & 0xF0) | 0; // Выбираем канал ADC0
	}
	else
	{
		current_value = current_value + ADC; // Суммируем измеренные значения тока и помещаем в буфер
		ADMUX = (ADMUX & 0xF0) | 1; // Выбираем канал ADC1
		adc_counter++; // Увеличиваем счетчик выборок АЦП на 1
	}
	// Включаем АЦП
	ADCSRA |= (1 << ADEN)|(1 << ADSC)|(1 << ADPS2)|(1 << ADPS1)|(1 << ADPS0)|(1 << ADIE);
}

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
KomSoft    104

Не силен в МК, так - по верхам. Насколько я понимаю, каждый порт МК имеет несколько функций на вход и на выход. С философской точки зрения - все порты используются по назначению. Но, если считать МК сугубо цифровым устройством, которое на вход-выход может подавать 0 или 1 -  тогда эти порты используются НЕ по назначению (кроме, разве что ШИМ).

Я вижу так: PC0, PC1 используются как входы АЦП, PC2 - вход чтения состояния кнопки (при этом должен быть включен внутренний подтягивающий резистор). PC3 - выход ШИМ, управляет яркостью индикатора (для данной схемы, извините, вые#он, или автор тренировался). PC4 - логический выход (0/1) управления включением/выключением разряда.

@GOR23 прав, для свинцовых придется переделать все, начиная от программы, потом всю аналоговую часть (измерение токов от малых до 10А) и т.д. и наконец - всю силовую блока питания под напряжение 8-16В и ток до 10А для заряда свинцовых АКБ.

Лет много назад я собирал и дорабатывал "Автоматическое зарядное устройство для свинцово-кислотных аккумуляторных батарей" (аппаратное, без МК). Оно получило продолжение, за которым я не следил, но его нашел - http://radiokot.ru/forum/viewtopic.php?f=25&t=31187. Можете глянуть. Кстати, вот не форум а статья про него на Mega16, но аппартную часть можете позаимтсвовать и покопаться с прошивкой.

 

Изменено пользователем KomSoft
дополнил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    30

Ну так, меряет он только только ток разряда, как вы и говорили, и напряжение на акб. Вот это сомнительно:

if((ADMUX & 0x0F)==1) // Если был выбран канал ADC1

Если все биты MUX (MUX0 - MUX3) еденици, то ацп посажен на землю.

Изменено пользователем GOR23

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3
17 минут назад, KomSoft сказал:

 

@GOR23 прав, для свинцовых придется переделать все, начиная от программы, потом всю аналоговую часть (измерение токов от малых до 10А) и т.д. и наконец - всю силовую блока питания под напряжение 8-16В и ток до 10А для заряда свинцовых АКБ.

 

Может вы все же уточните - чем зарядка свинцовых АКБ радикально отличается от остальных, кроме величин токов и напряжений?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
KomSoft    104

Никогда не изучал этот вопрос, доверял производителям зарядок. Особенно с той точки зрения, что в автомобиле (пуски, езда на короткие дистанции и пр. прелести) все эти изощренные алгоритмы идут псу под хвост. Этой информации про алгоритмы зарядки полно в интернете.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3

Простите, но на каком основании тогда Вы утверждаете, что Li-Ion и свинцовые нельзя зарядить одним устройством?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
KomSoft    104

Почему же, IMAX B6 заряжает все. И я встречал еще разработки похожме по функционалу, но у них нампого сложнее схема и применяется внешняя память (поскольку в МК не всегда хватает) для записи алгоритмов заряда. У моего товарища есть такой, так он выпаивает со всего, чего можно то ли 24с04, то ли 93схх, чтобы не вводить параметры каждого АКБ вручную.  Если мы говорим конкретно про схему из первого поста - то в ней АКБ заряжается от +5В, следовательно вы сможете заряжать NiCd, NiMh, LiIon - короче все, у чего напряжение меньше 5В. Например, сборку из 2 или 3 LiIon уже не потянет. Иначе, как я уже говорил - переделывать  "силовую блока питания под напряжение 8-16В". И переписывать программу с выбором типа АКБ (набором параметров процесса и окнчания заряда - ток, напряжение). А это будет уже совсем другое устройство. Хотя сама по себе идея очень полезная в смысле развития навыков схемотехники и программирования.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 056

да можно никто не запрещает, только есть одно маленькое НО, если речь идет о 100% заряде свинцовых АКБ , еще никто не придумал как это сделать в автоматическом режиме.

теория гласит что заряд АКБ проводится постоянным током 0,1С с контролем температуры, газовыделения и плотности электролита в конце заряда,  без наличия аккумуляторщика контролирующего эти процессы достижение 100% заряда АКБ без выхода его из строя невозможно 

  • Одобряю 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3
19 минут назад, KomSoft сказал:

Иначе, как я уже говорил - переделывать  "силовую блока питания под напряжение 8-16В". 

Это просто.

 

19 минут назад, KomSoft сказал:

 И переписывать программу с выбором типа АКБ (набором параметров процесса и окнчания заряда - ток, напряжение).

Это сложнее, но, думаю, полезно 

 

20 минут назад, KomSoft сказал:

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

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
IMXO    1 056
Только что, oner сказал:

Это просто.

и не только силовую... 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    30

Объясните, в чём ценность схемы, если всё нужно переделать, что бы добиться желаемого результата. Если цель подтянуть знания в схемотехнике и програмировании МК тогда ясно, только за основу в схемотехническом плане я бы взял что нибудь другое, велосипед уже давно изобрели. А по программе - исходник у вас сомнительный, я уже писал почему. При переделке нужно быть внимательным, как бы там других косяков небыло.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
oner    3
2 минуты назад, GOR23 сказал:

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

То, что схема и код Вам не понравились, я понял давно. А что конкретное Вы можете предложить в качестве лучшей альтернативы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
KomSoft    104

Например -    http://pic.[пытался спамить но не получилось]/shemotehnika/ustroystva-dlya-doma/264-universalnoe-zaryadnoe-ustroystvo-na-pic16f877a.html, это перевод отсюда http://sergiols.blogspot.com/search/label/Univ-Battery-Charger. Вроде в архиве есть схемы и исходник

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
GOR23    30

Я когда то эту собирал.

Изменено пользователем GOR23

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
BARS_    530
13 часа назад, GOR23 сказал:

для li ion разрядка и ненужна

Так девайс определяет емкость аккума.

 

12 часа назад, oner сказал:

чем заряд свинцовых АКБ радикально отличается от заряда остальных?

Как бы всем. У каждого типа аккумов свои строго определенные условия зарядки. У лития зарядка вообще в 2 стадии идет, сначала стабилизированным током, а потом стабилизированным напряжением. Для АКБ такого не требуется, там все гораздо проще.

 

13 часа назад, KomSoft сказал:

измеряется напряжение на акб

На АКБ тут ничего не измеряется, ибо их девайс не умеет заряжать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Нашел такой вариант...
      http://www.penguin.cz/~utx/hardware/Hetai_HD-818/hwmod/
      Но я не знаю будет он 1 выдавать или 0 когда будет воткнут зарядник...
    • Один 10W или два по 5W. Не могу ничего посоветовать.
    • корпус, клава, мать, проц, привод, охлаждение.
    • хотелось, попробуй. Начни с каких нибудь двухполосных полочников для начала, они дадут достаточно много начального опыта и позволят оценить свои силы. А дальше уже и так понятно будет за что следующее стоит браться, и стоит ли вообще
    • Например, каких? Оттяните резинку в трусах и отпустите. 
      Совершив работу над гравитационным полем, Вы вносите возмущение в это поле. Поле возвращает изменение к первоначальному состоянию. 
      Может, такая трактовка Вам более понятна. Даже Кеша до такого не доходил. Во, черт, как получается. Резинка в трусах может перебить тело, т.к. получает извне опупенную энергию! Интересно, а сами трусы при этом остаются целыми или все же сгорят? @Мистер Чебурашкин , Вы, случайно, не в НИИ психиатрии работали? Пациентом?
    • http://rudatasheet.ru/diodes/kd213/ http://www.club155.ru/datasheet/KD213A КД213А Тип полупроводникового прибора: Выпрямительный диод средней мощности   Общая информация и особенности применения: Выпрямительные диоды Описание параметров: Общие свойства и параметры диодов, Параметры выпрямительных диодов   Максимально допустимый средний прямой ток (Iпрсрmax)(Iпрсрmax), А: 10 при: Частота приложенного напряжения, кГц: Температура корпуса диода, °C: –
      85 Максимально допустимое импульсное 
      повторяющееся обратное напряжение (Uобрипmax)(Uобрипmax), В*: 200 Максимально допустимое постоянное 
      обратное напряжение (Uобрmax)(Uобрmax), В*: 200 Максимально допустимый ток перегрузки (Iпргmax)(Iпргmax), А: 100 при: Длительность импульса тока (перегрузки) (tи(tпрг))(tи(tпрг)), мс: Температура, °C: 10
      25 Максимальная рабочая частота (fmax)(fmax), кГц*: 100 Максимально допустимая температура перехода (Tпmax)(Tпmax), °C: 140 Постоянное (среднее) прямое напряжение (Uпр(Uпрср))(Uпр(Uпрср)), В: 1 при: Постоянный (средний) прямой ток диода (Iпр(Iпрср))(Iпр(Iпрср)), А: Температура, °C: 10
      25 Время обратного восстановления (tвособр)(tвособр), мкс: 0,3 при: Импульсный прямой ток (Iпри)(Iпри), А: Импульсное обратное напряжение (Uобри)(Uобри), В Температура, °C: 1
      20
      25 Постоянный (средний) обратный ток (Iобр(Iобрср)(Iобр(Iобрср), мА*: 0,2 Тепловое сопротивление переход-корпус (RΘп−к)(RΘп−к), °C/Вт*: 1,5 !0 микросекунд при 25 градусах )))))) Кто мне что там объяснит ? И это ОДНОКРАТНАЯ перегрузка .