Светодиодные фонари и световые приборы. Всё о светотехнике.
Изображения Дневники Группы Поиск
Вернуться   Форум FONAREVKA.RU Источники питания и зарядные устройства Общие вопросы по источникам питания и зарядным устройствам
Расширенный поиск
Забыли пароль? Регистрация

  • О нашем проекте
  • Светотехника и световые приборы
  • Правила форума
Проект FONAREVKA.RU специализируется на предоставлении всей необходимой информации по светотехнике:

— светодиодные фонари;
— различные источники питания;
— разнообразные зарядные устройства;
— освещение помещений и наружное освещение;
— световые приборы для личного, пассажирского и грузового транспорта;
— специальные световые приборы для медицины, для растений, для аквариумов, для террариумов, а также аварийно-сигнальные световые приборы;
— альтернативные источники света;
— лазеры и лазерная техника.

Если у вас есть вопросы по выбору фонарей, аккумуляторов и зарядных устройств ознакомьтесь с FAQ от наших экспертов:

F.A.Q. по выбору фонарей различных типов;
F.A.Q. по выбору аккумуляторов;
F.A.Q. по выбору зарядных устройств.
Ответ  Создать новую тему
Просмотров в теме 30314   Ответов в теме 84   Подписчиков на тему 0   Добавили в закладки 0
Опции темы Поиск в этой теме
Старый 11.03.2010, 16:12 Автор темы   21
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Не хватит встроенного - внешний АЦП ещё никто не отменял
Ага. Только тут есть одна проблемка. Непонятно, что дешевле или лучше использовать? МК или специальные микросхемы.

1. В случае со специализированными микросхемами, насколько я понимаю, нам понадобятся 2 микросхемы (одна для зарядки Li-Ion, а другая - для Ni-Mh) + МК для индикации + обвес.

2. В случае с МК, скорее всего, нам хватит внутреннего АЦП для замера напряжения, а ток заряда мы будем регулировать через напряжение, получаемое от ШИМ. Его тоже надо сглаживать - соответственно, доп. обвес. Зато, получим большую универсальность - алгоритмы зарядки можно со временем изменять. А если реализовать возможность подключения к компу, то и апгрейд зарядок…
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 16:22   22
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Естественно, с МК будет дороже. Один МК стоит столько же, сколько специальная микросхема. Так к нему ещё и обвесу требуется.
Да и надёжнее всё-таки будет специальную юзать.

Что касается алгоритмов зарядок - эта вещь, которую я бы не пожелал отлаживать... Если на реальном аккумуляторе отлаживать - это ж следить весь процесс заряда. А потом где-то разряжать, чтобы опять начать Учитывая, что правильно программы работают раза с двадцатого (а сложные и того хуже), на эту ерунду придётся потратить нереальное количество времени.
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 16:39 Автор темы   23
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Естественно, с МК будет дороже. Один МК стоит столько же, сколько специальная микросхема.
А мне пока так не кажется... Насколько я понимаю, не существует универсальной микросхемы, которая бы умела заряжать и Li-Ion, и Ni-Mh. Соответственно, нам понадобится 2 микросхемы. Также, нам понадобится МК для индикации и выбора микросхемы, которую использовать для зарядки. Итого в деньгах это уже 3х + обвес. В случае с МК - это 1х + на обвес еще 2х остается...

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

Цитата:
Что касается алгоритмов зарядок - эта вещь, которую я бы не пожелал отлаживать...
Отладка - это дело такое. Занимает большую часть времени...

Цитата:
Если на реальном аккумуляторе отлаживать - это ж следить весь процесс заряда.
Я бы предпочел, для начала, на каком-нибудь эмуляторе. Вроде, для AVR Studio что-то такое было...

Цитата:
А потом где-то разряжать, чтобы опять начать
Это, вроде, не особо сложно - надо только большой ток с него брать чем-нибудь...
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 16:48   24
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Цитата:
Я бы предпочел, для начала, на каком-нибудь эмуляторе.
Да все эмуляторы фигня. В AVR будешь отлаживать до посинения... Схему там не собрать - всё надо вводить самому. И пошааагово...
Proteus вообще со многими вещами не дружит в МК... А многие воспроизводит с точностью до наоборот Даже те вещи, которые в самом даташите указаны, как должно работать.
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 16:55 Автор темы   25
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
В AVR будешь отлаживать до посинения... Схему там не собрать - всё надо вводить самому. И пошааагово...
В смысле, она значения на входах сбрасывает на каждом шаге?
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 17:06   26
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Всмысле, что их самому задавать придётся.
Вобщем, для задач, которые должны работать в реальном времени, не годится совсем...
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 17:15 Автор темы   27
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Всмысле, что их самому задавать придётся.
Вот и я тоже, не наблюдал, чтобы она что-то сбрасывала...

Цитата:
Вобщем, для задач, которые должны работать в реальном времени, не годится совсем...
Почему? На мой взгляд, в ней все есть. Точки останова есть. Значение задавать можно... Что еще надо?

Ты же не будешь весь процесс отслеживать... А просто проверишь работу алгоритма на нескольких ключевых точках, которые заранее сам рассчитаешь...
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 17:27   28
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Проверять ШИМ - вообще занятие неблагодарное, в AVR Studio даже представить тяжело Вобщем, у меня свои методы - всё на железе только. Я и с ПЛК так учился, и с МК привычек не меняю. На железе обычно даже быстрее.
Всякими симуляторами будет ещё медленнее.

Цитата:
Значение задавать можно... Что еще надо?
И самому в голове прокручивать все вычисления законов ома в схеме? И выполнять роль симулятора процессов, которые происходят за пределами МК?
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 17:44 Автор темы   29
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Проверять ШИМ - вообще занятие неблагодарное, в AVR Studio даже представить тяжело
А кто говорил, что будет легко? Зато, интересно...

Цитата:
Вобщем, у меня свои методы - всё на железе только.
На вкус и цвет...

Цитата:
И самому в голове прокручивать все вычисления законов ома в схеме? И выполнять роль симулятора процессов, которые происходят за пределами МК?
А Excel на что? Мне, когда лень прогу писать, я просто в нем формулы забиваю - удобно...

PS: Я вчера весь вечер в аське провел. Так что, сегодняшний придется посвятить нормам Минздрава. А вот завтра, думаю смогу уже и зарядкой на МК заняться. Для начала, неплохо было бы схему нарисовать и алгоритмы найти...
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 17:47   30
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Уже выкладывал, но повторюсь
Миниатюры
Нажмите на изображение для увеличения
Название: lichrprf.png
Просмотров: 723
Размер:	19.1 Кб
ID:	252069 Нажмите на изображение для увеличения
Название: lichrprg.png
Просмотров: 757
Размер:	17.2 Кб
ID:	252070
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 20:59   31
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 831
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от Hobbi TV :
Встроенного 10 битного АЦП не хватит?
У 10-и разрядного АЦП при диапазоне входного напряжения 5 вольт, дискретность будет менее 0.005 вольт. Так что хватит
PS: меня тоже посетила идея сделать зарядку на МК после того, как я получил с DX зарядку, которая перезаряжает аккумуляторы.
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 21:20 Автор темы   32
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Thumbs up

Цитата:
Посмотреть сообщение Сообщение от ArtDen :
У 10-и разрядного АЦП при диапазоне входного напряжения 5 вольт, дискретность будет менее 0.005 вольт. Так что хватит
Мне тоже так кажется.

Цитата:
PS: меня тоже посетила идея сделать зарядку на МК после того, как я получил с DX зарядку, которая перезаряжает аккумуляторы.
На мой взгляд, у нас МК недооценивают. Думаю, они способны на большее, чем просто индикация...

PS: Пошел я нормы Минздрава изучать, может сегодня еще время и на зарядку останется...
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 21:49   33
lasers_yuri
Увлеченный
 
Аватар для lasers_yuri
 
Регистрация: 12.02.2010
Последняя активность: 15.02.2011 20:41
Сообщений: 273
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Что касается алгоритмов зарядок - эта вещь, которую я бы не пожелал отлаживать...

Учитывая, что правильно программы работают раза с двадцатого (а сложные и того хуже), на эту ерунду придётся потратить нереальное количество времени.
На асме пишешь?

"Алгоритм зарядки аккумулятора" & "сложная программа" - лол, именно поэтому я асм даже не смотрел.
Код:
void volt_chk(void)
{
	ADMUX = (1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(0<<MUX3)|(0<<MUX1)|(1<<MUX0); // Input select
	ADCSRA = (1<<ADEN)|(0<<ADIE)|(1<<ADPS2)|(1<<ADPS1); 
	volt=ADC_result();
}

void batt_current_chk(void)
{
	ADMUX = (1<<REFS1)|(1<<REFS0)|(1<<ADLAR)|(1<<MUX3)|(1<<MUX1)|(1<<MUX0); // Input select
	ADCSRA = (1<<ADEN)|(0<<ADIE)|(1<<ADPS2)|(1<<ADPS1); 
	batt_current=AMP_ADC_result();
}

unsigned int ADC_result (void) // 256 ADC measurements
{
	unsigned int result = 0;
	int count = 0;
	while (count<=255)
	{
		ADCSRA|=(1<<ADSC);
		while(bit_is_clear(ADCSRA,ADIF));
		result += ADCH;
		count++;
	}
	result >>= 8;
 	return result;
}

unsigned int AMP_ADC_result (void) // 256 amplified ADC measurements
{
	unsigned int result	= 0;
	int count = 0;
	while (count<=255)
	{
		sbi(ADCSRB,ADASCR);
		while (bit_is_clear(ADCSRA,ADIF));
		result += ADCH;
		count++;
	}
	result >>= 8;
	if (result>127) return 0; else return result; // discarding negative values
}

void Chg_on(void)
{	
	chgd=0;
	chg=1;
	CHG_PWM=CHG_PWM_MIN;
	sbi (PSOC0, POEN0B);
}

void Chg_off(void)
{
	chg=0;
	cbi (PSOC0, POEN0B);
}

void Chg_set(void)
{
	batt_current_chk();
	volt_chk();
	if ((volt<V_LOW) & (batt_current>BATT_CURRENT_LOW))	// first stage, low current control
	{
		if (CHG_PWM>CHG_PWM_MIN) CHG_PWM--;
	}
		else if (batt_current>BATT_CURRENT_MAX)	// second stage, high current control
			{
				if (CHG_PWM>CHG_PWM_MIN) CHG_PWM--;
			}
				else if ((volt>=V_MAX)&(batt_current>BATT_CURRENT_OFF))	// third stage, voltage control
				{
					if (CHG_PWM>CHG_PWM_MIN) CHG_PWM--;
				}
					else if (volt<V_MAX)	// rising current, if not enough
					{
						if (CHG_PWM<CHG_PWM_MAX) CHG_PWM++;
					}
						else 
						{
							chgd=1;
							Chg_off(); // Charge is over
						}
}
Это кусок из моей самой первой программы, как раз для зарядки аккума.
BATT_CURRENT_MAX, V_MAX и прочее - можно померить при помощи простенькой проги, которая мигает светодиодиком по уровню сигнала на АЦП, задать через #define.
CHG_PWM - регистр таймера ШИМ, посмотреть по даташиту для своего МК.
регистры ADMUX, ADCSRA и соответствующие биты - уточнить по даташиту для своего типа МК
А, и переменные ещё нужно объявить. И проинициализировать таймеры и прерывания, см даташит.

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

----------------
Апдейт - опубликовано на условиях GNU GPL v2 или v3.
lasers_yuri вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 22:15   34
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Цитата:
"Алгоритм зарядки аккумулятора" & "сложная программа"
Да, а температура и LCD дисплей где? И где автоопределение типа аккумулятора?
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 22:32   35
lasers_yuri
Увлеченный
 
Аватар для lasers_yuri
 
Регистрация: 12.02.2010
Последняя активность: 15.02.2011 20:41
Сообщений: 273
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Как говорят в таких случаях линуксоиды - сообщество допишет.

Температура - copy&paste batt_current_chk() или volt_chk() c другими комбинациями битов. Впрочем, для Li-Ion она не нужна, есть стандартрные токи заряда. Для NiMH тоже не нужна, зарядка там останавливается по падению напряжения в процессе заряда (но я этого не писал, знаю только в теории).

Автоопределение типа - элементарный if по диапазону напряжений на аккумуляторе (или что имеется ввиду?).

Измерение ёмкости не нужно. Её надо при разряде мерить.
lasers_yuri вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 22:43   36
SviMik
Завсегдатай Фонарёвки
 
Аватар для SviMik
 
Регистрация: 26.02.2010
Последняя активность: 18.08.2015 18:47
Сообщений: 810
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

Отправить сообщение для SviMik с помощью ICQ Отправить сообщение для SviMik с помощью MSN
По умолчанию

Отлично, теперь у нас есть кодер, который нам всё сделает
ЗЫ. А я МК совсем недавно изучаю, буквально неделю в сумме им занимался... Конечно многое для меня сложно...

Цитата:
У 10-и разрядного АЦП при диапазоне входного напряжения 5 вольт, дискретность будет менее 0.005 вольт.
Ты уверен, что так всё идеально будет, и все 10 разрядов окажутся полезными (а не шумами)? В даташите много оговорок вроде "хотите точность - перед преобразованием уходите в спящий режим, не переключайте выхода в это время и т.д.".
SviMik вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 22:58   37
lasers_yuri
Увлеченный
 
Аватар для lasers_yuri
 
Регистрация: 12.02.2010
Последняя активность: 15.02.2011 20:41
Сообщений: 273
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от SviMik :
Отлично, теперь у нас есть кодер, который нам всё сделает
А как же "сообщество"?
8 разрядов, кстати, хватит с головой, проверено.
lasers_yuri вне форума   Ответить с цитированием Вверх
Старый 11.03.2010, 23:07   38
lasers_AVSel
Ветеран Фонарёвки
 
Аватар для lasers_AVSel
 
Регистрация: 15.02.2010
Последняя активность: 05.09.2022 18:18
Сообщений: 1090
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от ArtDen :
У 10-и разрядного АЦП при диапазоне входного напряжения 5 вольт, дискретность будет менее 0.005 вольт. Так что хватит
Ага 0.005В это 1/1024 от 5В, точность АЦП +/- 1тик - т.е. 0.015В, плюс помехи, плюс нестабильность внутреннего ИОН. Дальше можно не продолжать.

Алгоритм зарядки лития 3.7В простой: ток до 1С, при напряжении выше 4.20В заряд отключается, упало ниже 4.20В - опять включается. Греются только плохинькие аккум. при зарядке предельными токами, из-за большого внутреннего сопротивления.
lasers_AVSel вне форума   Ответить с цитированием Вверх
Старый 12.03.2010, 08:14   39
lasers_ArtDen
Завсегдатай Фонарёвки
 
Аватар для lasers_ArtDen
 
Регистрация: 17.02.2010
Последняя активность: 30.01.2016 13:11
Сообщений: 831
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от AVSel :
Ага 0.005В это 1/1024 от 5В, точность АЦП +/- 1тик - т.е. 0.015В, плюс помехи, плюс нестабильность внутреннего ИОН. Дальше можно не продолжать
Ну-ну. Мы же не космический аппарат делаем, а простую зарядку для аккумуляторов Учёт этой погрешности можно сразу заложить в ЗУ и тогда особых проблем не будет.
lasers_ArtDen вне форума   Ответить с цитированием Вверх
Старый 12.03.2010, 11:21 Автор темы   40
lasers_Hobbi TV
Ветеран Фонарёвки
 
Аватар для lasers_Hobbi TV
 
Регистрация: 14.02.2010
Последняя активность: 18.11.2015 19:18
Сообщений: 9050
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях

По умолчанию

Цитата:
Посмотреть сообщение Сообщение от yuri :
я асм даже не смотрел.
У тебя прошивки буду раз в 10 работать медленней. Поэтому, они на асме и пишутся, как и тормознутые участки в нормальных прогах...

Добавлено через 2 минуты
Цитата:
Посмотреть сообщение Сообщение от SviMik :
В даташите много оговорок вроде "хотите точность - перед преобразованием уходите в спящий режим, не переключайте выхода в это время и т.д.".
Ага, тоже такое читал... А что нам мешает по прерыванию деятельность проца останавливать для замеров? Тогда точность должна быть выше…

Добавлено через 52 секунды
Цитата:
Посмотреть сообщение Сообщение от yuri :
А как же "сообщество"?
На подходе...
lasers_Hobbi TV вне форума   Ответить с цитированием Вверх
Ответ  Создать новую тему





Copyright ©2007 - 2024, FONAREVKA.RU

Powered by vBulletin®
Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot

Правила форума | Отказ от ответственности

Время генерации страницы 0.13614 секунды с 17 запросами