oner

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

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

oner    4

Всем привет!

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

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

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

 

624-01.jpg

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


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

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

  • Одобряю 1

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


Ссылка на сообщение
Поделиться на других сайтах
oner    4
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    39

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

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

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

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


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

Найдите миллионы труднодоступных

электронных компонентов

oner    4
7 минут назад, GOR23 сказал:

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

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

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


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

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

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


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

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

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


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

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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
oner    4
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    329

Не силен в МК, так - по верхам. Насколько я понимаю, каждый порт МК имеет несколько функций на вход и на выход. С философской точки зрения - все порты используются по назначению. Но, если считать МК сугубо цифровым устройством, которое на вход-выход может подавать 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    39

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

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

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

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

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


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

 

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

 

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

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


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

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

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


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

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

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


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

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

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


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

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

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

  • Одобряю 1

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


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

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

Это просто.

 

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

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

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

 

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

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

 

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


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

Это просто.

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

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


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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

 

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

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

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

 

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

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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Сообщения

    • Не могу, т.к. это совсем непросто - надо лазить по сайтам, устанавливать параметры родных головок и подбирать головку с такими же. Тратить столько времени и сил не собираюсь, это обременение того, кто взялся за ремонт. ЗЫ. Результат замены может не удовлетворить, даже если она найдётся, издали можно советовать только теоретически. Выше были приведены кой какие выкладки и посоветован простейший выход из ситуации. Родной фильтр при этом, естественно, удаляется.
    • #include <Stepper_28BYJ.h> #define STEPS 4078 // изменить количество шагов для вашего мотора Stepper_28BYJ stepper(STEPS, 8, 9, 10, 11); void setup() { stepper.setSpeed(5); // установим скорость вращения 3 об/мин } void loop() { if(digitalRead(14)==HIGH)//если кнопка нажата ... { digitalWrite(13,HIGH);//включаем светодиод (для проверки работы кода) stepper.step(1100); // Делаем 40000 шагов в одну строну stepper.step(-1100);// Делаем 40000 шагов в другую строну } }  
    • Спасибо большущее за информацию! Хотел плюсануть Вам в репутацию, но еще не разобрался как это сделать. Надо будет заказать с АЛИ программатор и хорошенько подготовиться.Вы абсолютно правы - Все бывает в первый раз! Еще хотел спросить- Из видео я немного не понял - А можно ли прошить микру не выпаивая?
    • Я думаю, что это максимум, т.е 12в*2А, или 24Вт, а не по 2А по всем каналам. Просто три выхода на фиксированные напряжения.
    • Добрый день. Котел навьен, пульт управления. На него приходит два провода питания, потому как после них диодный мост. Вопрос как он общается с котлом?
    • Ну дело даже не столько в цене, а в соотношении "ёмкость/цена/срок службы". В моём случае стояла батарея приблизительно на 1 ампер. Схема что я привел в первом посте, с другого фонаря. Больше в корпус физически не поставить, а вот 18650 идеальны для этого решения. Сейчас имею вот такую конструкцию. Еще немного не доделал... Столкнулся с проблемой. Пришлось полностью выбросить схему питания, и применить внешний импульсный б/п на 5V 1A, так как встроенный б/п был слаботочный. Теперь надо сообразить, куда подключить базу управляющего транзистора... Пока, самым простым решением, вижу вариант с заменой транзистора на слаботочное реле с нормально замкнутыми контактами, подключенное непосредственно к питанию, которое будет коммутировать нагрузку при отсутствии сетевого напряжения.... Или, как вариант, зашунтировать б/п резистором на 200-300 ом, уменшив соответственно резистор на базу до 700-800 ом.