Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Источники питания и свет Актуальные вопросы и ответы по источникам питания, световому оборудованию.

 
Опции темы
Непрочитано 22.12.2012, 23:37  
vidask
Почётный гражданин KAZUS.RU
 
Регистрация: 12.12.2007
Сообщений: 1,654
Сказал спасибо: 170
Сказали Спасибо 291 раз(а) в 215 сообщении(ях)
vidask на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от anatol378 Посмотреть сообщение
Зажмем себе яйца тисками и пищим что больно.
1. шкафы питания предназначены .....Остальное самопал.
2. требования к питанию 24В +-10% норма (отсюда 26,4).
3. по норме установите нормальный выпрямитель.
4. если начальство жадное и нагибает установите выпрямитель аналогичный установленному на малую мощность параллельно основному. 6 дополнительных маломощных тиристоров + фильтр+ схема управления и - головная боль.
но схема управления нехилая получится, наверное- все же полностью управляемый трехфазный мост и обратная связь. Да еще, как понял , АЦП имеется
Реклама:
vidask вне форума  
Непрочитано 22.12.2012, 23:38  
Scadauser
Почётный гражданин KAZUS.RU
 
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
Scadauser на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от Impartial Посмотреть сообщение
Схема выпрямителя шестифазная
Где вы увидели шесть фаз?
О каком ПИДе здесь речь? При отключении нагрузки имеется энергия, которой один путь - в нагрузку. Элементарный энергетический расчёт показывает, что в дросселе накапливается 2 Дж, при 100 А и при условии, что индуктивность дросселя 400 мкГ и не снижается при таком токе. Этих 2 Дж достаточно, чтобы зарядить 20000 мкФ до 200 В. Если "набрасыванием" кучи электролитов удалось снизить импульс до 30 В, значит, либо куча велика, либо у дросселя при 100 А уже далеко не 400 мкГ.
Отсюда и следует плясать, а не отвлекаться на всякие ПИДы. Мне лень считать, какой длительности получится импульс, но зная ёмкость "кучи" и индуктивность дросселя, нетрудно и прикинуть и посмотреть, близко ли к расчётной получилось. Чтобы получить выброс не более 2 В, требуется ёмкость в 1 Ф. Т.е. 100 шт. по 10000 мкФ или 10 шт. по 100000 мкФ. Хороша кучка.
Scadauser вне форума  
Непрочитано 23.12.2012, 07:43  
Starichok51
Почётный гражданин KAZUS.RU
 
Аватар для Starichok51
 
Регистрация: 03.08.2010
Сообщений: 1,982
Сказал спасибо: 67
Сказали Спасибо 1,680 раз(а) в 554 сообщении(ях)
Starichok51 на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от Scadauser Посмотреть сообщение
Элементарный энергетический расчёт показывает, что в дросселе накапливается 2 Дж, при 100 А и при условии, что индуктивность дросселя 400 мкГ и не снижается при таком токе.
все верно.
Сообщение от Scadauser Посмотреть сообщение
Этих 2 Дж достаточно, чтобы зарядить 20000 мкФ до 200 В.
а вот тут имеется ошибка. забыли извлечь корень из 200 ...
итого получается всего 14 Вольт, и то, если емкость полностью разряжена.
у заряженной емкости будет уже гораздо меньше прибавка напряжения.
Starichok51 вне форума  
Непрочитано 23.12.2012, 11:03  
Scadauser
Почётный гражданин KAZUS.RU
 
Регистрация: 04.12.2009
Сообщений: 5,455
Сказал спасибо: 73
Сказали Спасибо 2,510 раз(а) в 1,414 сообщении(ях)
Scadauser на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от Starichok51 Посмотреть сообщение
забыли извлечь корень из 200
Точно. Ну, время позднее...

Сообщение от Starichok51 Посмотреть сообщение
у заряженной емкости будет уже гораздо меньше прибавка напряжения
Утро вечера мудренее.
Если конденсатор был, допустим, заряжен до 20 В, то энергия в нём 20000мкф*20В*20В/2= 4 Дж. Из индуктивности добавится 2 Дж. Ведь больше им деваться некуда - нагрузка отключена? Итого 6 Дж. Тогда U=sqr (2*6Дж/20000мкФ)=17В...

Последний раз редактировалось Scadauser; 23.12.2012 в 11:08.
Scadauser вне форума  
Непрочитано 24.12.2012, 11:48  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от Scadauser Посмотреть сообщение
Утро вечера мудренее.
Если конденсатор был, допустим, заряжен до 20 В, то энергия в нём 20000мкф*20В*20В/2= 4 Дж. Из индуктивности добавится 2 Дж. Ведь больше им деваться некуда - нагрузка отключена? Итого 6 Дж. Тогда U=sqr (2*6Дж/20000мкФ)=17В...
Ну Вы насчитали.
Джоулями измеряется, в данном случае, энергия запасенная в индуктивности.
А это всего (1дж=1вт*сек) 2вт*сек.
Эта энергия переходит в конденсатор и провода за время меньшее 20мс увеличивая напряжение. (Видно из осцилограммы.) Это время определяется комплексным сопротивлением цепи заряда.
Если учесть, что остается нагрузка с током около 20 ампер и мощностью более 400 ватт, то длительность этого всплеска не должна превышать 10 мс.
Откуда берется переходной процесс длительностью более секунды?
Impartial вне форума  
Непрочитано 24.12.2012, 12:31  
Starichok51
Почётный гражданин KAZUS.RU
 
Аватар для Starichok51
 
Регистрация: 03.08.2010
Сообщений: 1,982
Сказал спасибо: 67
Сказали Спасибо 1,680 раз(а) в 554 сообщении(ях)
Starichok51 на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от Scadauser Посмотреть сообщение
Тогда U=sqr (2*6Дж/20000мкФ)=17В...
не пошло утро на пользу...
корень из 600 равен 24,5, а не 17.
Starichok51 вне форума  
Непрочитано 24.12.2012, 13:06  
dr-kannibal
Частый гость
 
Аватар для dr-kannibal
 
Регистрация: 20.12.2012
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
dr-kannibal на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

В общем, порылся в программе, нашёл кусок по АЦП и ПИД-у.
Нумер раз
Код:
void pid(void)
{
	if (start_count != 0) //"мягкий" запуск
	{
		start_count--;
		if (start_count == 0) //задержка истекла
		{
			//Установка рабочих коэффициентов
			k_u = param_value[PID_K_U];
			k_i = param_value[PID_K_I];
		}
	}

	//Ошибка по выходному напряжению
	if (param_value[MODE_COMP] == 0)
		error_u = param_value[UOUT_CODE] - param_value[UUST_CODE];
	else //режим "Компенсация"
		error_u = param_value[UCOMP_CODE] - param_value[UUST_CODE];
	
	//Ошибка по выходному току
	error_i = param_value[IOUT_CODE] - param_value[IUST_CODE];

	//Определение текущей ошибки
//	error_u = param.uout - uout_ust;
//	error_i = param.iout - iout_ust;

	//Изменение угла управления пропорционально максимальной ошибке
	if (error_u › error_i) //стабилизация напряжения
	{
		angle_pid += (long)error_u*k_u;
	}
	else //стабилизация тока
	{
		angle_pid += (long)error_i*k_i;
		param_value[PRG_STATE] |= FLG_STAB_J2; //установить признак стабилизация тока
	}

	//Пропорциональная составляющая
	//angle_pid += (long)error_curr*kp;

	//Дифференциальная составляющая
	//angle_pid += (long)(error_prev-error_curr)*kd;
	//error_prev = error_curr;

	
	//Ограничение диапазона
	//if (angle_pid › MAX_ANGLE_PID)
	//	angle_pid = MAX_ANGLE_PID;
	//if (angle_pid ‹ MIN_ANGLE_PID)
	//	angle_pid = MIN_ANGLE_PID;

	//Масштабирование с округлением
	angle = (angle_pid+0x8000) ›› 16;
	
	//Масштабирование
	//angle = angle_pid ›› 16;

	//Ограничение диапазона
	if (angle › param_value[PROTECT_ANGLE_MAX])
	{	
		angle = param_value[PROTECT_ANGLE_MAX];
		angle_pid = (long)angle ‹‹ 16;
	}
	if (angle ‹ param_value[PROTECT_ANGLE_MIN])
	{
		angle = param_value[PROTECT_ANGLE_MIN];
		angle_pid = (long)angle ‹‹ 16;
	}

	param_value[ANGLE_CURR] = angle; //обновить текущее значение угла управления

}
Здесь в общем, ошибка на коэффициенты Ku и Ki умножается, в зависимости от режимов стабилизации напряжения или тока, изменяются вручную в пределах от 1000 до 30000. Больше нет смысла ставить - автоколебания.
И со слов разработчика, задействованы только П- и И- составляющие ПИДа, когда он пытался ввести Д-, система входит опять же в те же автоколебания. Сам правда, наглядно только П- вижу, остальное закомменчено, видимо, еще с тех времен, когда разраб пытался что-то там колдовать...



Нумер 2, АЦП настройки:
Код:
void adc_init(void)
{
	//Прерывание АЦП
	IPC2bits.ADIP = 6; //приоритет 6 (инструкция DISI запрещает прерывания с приоритетами 0..6)
	IEC0bits.ADIE = 1;
	
	//Режим работы АЦП
	ADCON1bits.ADON = 0; //запретить работу АЦП
	ADCON1 = 0b0000000001000100; //формат выходных данных - целые; источник запуска преобразования - TMR3; автоматический запуск выборки после преобразования
	ADCON2 = 0b0110010000100000; //внешние Vref+, Vref-; сканирование входов; прерывание каждые 9 преобразований; один буфер; всегда использовать MUX A
	ADCON3 = 0b0000100000011101; //период тактовой частоты АЦП - 750 нс; время преобразования - 10,5 мкс; время выборки - 12,6 мкс
	ADCHS = 0; //отрицательный вход MUX A к Vref-
	ADPCFG = 0x0020; //вывод AN5 (сигнал KALIBR) - цифровой вход
	ADCSSL = 0b1111111011000000; //сканирование каналов AN6, AN7, AN9...AN15
	ADCON1bits.ADON = 1; //разрешить работу АЦП

	adc_count = 0;
	adc_mean[0] = 0;
	adc_mean[1] = 0;
	adc_mean[2] = 0;
	adc_mean[3] = 0;
	adc_mean[4] = 0;
	adc_mean[5] = 0;
	adc_mean[6] = 0;
	adc_mean[7] = 0;
	adc_mean[8] = 0;

	//Частота запуска АЦП: 300*9*16=43200 Гц
	PR3 = 463;
	T3CON = 0x8000; //делитель 1:1
Собсно, параметры запуска АЦП...

Особо этого кода не понимаю, ибо, во-первых, не своя прога, во-вторых, нубас еще в этом (поколение АРДУИНО, можно сказать, хе-хе). Может, кому-то что-то сразу станет ясно, ну а если нет, буду искать верёвочку да мыльце потихоньку...
dr-kannibal вне форума  
Непрочитано 24.12.2012, 13:51  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Решение возможно такое.
1. Перед дросселем поставить обратно включенный диод, например 150EBU-04.
Это для того, чтобы обеспечить протекание тока разряда индуктивности в момент, когда управление отключает тиристоры обнаружив перенапряжение.
2.В программе используется только И (интегральныя составляющая) ПИД.
Раскоментируйте строки П (пропорциональной)
//angle_pid += (long)error_curr*kp;

//Изменение угла управления пропорционально максимальной ошибке
if (error_u › error_i) //стабилизация напряжения
{
angle_pid += (long)error_u*k_u;
}
else //стабилизация тока
{
angle_pid += (long)error_i*k_i;
param_value[PRG_STATE] |= FLG_STAB_J2; //установить признак стабилизация тока
}

Здесь не правильно если angle_pid переменння управляющая углом открывания тиристоров.
Нужно вводить переменную накопления интегральной составляющей, потом суммировать с пропорциональной и это будет обобщенный угол, который нужно спроецировать на матрицу коммутации.
Найдите в программе эту матрицу и выложите. Без нее трудно ориентироваться.
3.На входе цепи питания КИП поставить фильтр, аналогичный L1C1. С постоянной времени большей, чем время сброса энергии с индуктивности фильтра.
Impartial вне форума  
Непрочитано 24.12.2012, 14:27  
dr-kannibal
Частый гость
 
Аватар для dr-kannibal
 
Регистрация: 20.12.2012
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
dr-kannibal на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от Impartial Посмотреть сообщение
1. Перед дросселем поставить обратно включенный диод, например 150EBU-04.
Это для того, чтобы обеспечить протекание тока разряда индуктивности в момент, когда управление отключает тиристоры обнаружив перенапряжение.
Поставил 150EBU02, результаты такие же, что и с Д161-250, который пробовали навесить до этого. Возрастают пульсации до целых 1.5-2В, хотя и выброс с 40В в среднем снижается до 32-33 В...
Сообщение от Impartial Посмотреть сообщение
2.В программе используется только И (интегральныя составляющая) ПИД.
Раскоментируйте строки П (пропорциональной)
//angle_pid += (long)error_curr*kp;
Расскоменчиваю, плюс ввожу ручной ввод с платы клавиатуры, завтра буду пробовать. ПРоблема-то в том, что коэффициентов я не знаю вовсе, потому и придется вводить в ручную и пробовать.
По поводу так называемой матрицы коммутации...
Хм, вроде бы вот оно.
Код:
//**************************************************  ***//
//Модули Input Capture (IC), Output Compare(OC)
//**************************************************  ***//

#define UU_PULSE 250 //длительность импульсов управления тиристорами (в тактах таймера 2): 0,4 мкс*250 = 100 мкс

#define ICxCON_DISABLE  0 //запрещение работы модуля IC
#define ICxCON_ENABLE  0b0000000010000011 //разрешение работы модуля IC: используется таймер 2, прерывание по каждому фронту сигнала
#define OCxCON_ENABLE 0b0000000000000100 // запуск модуля OC: используется таймер 2, начальное состояние - 0, генерация одного импульса

//Обработчик прерывания модуля IC5 (сигнал +FA)
void __attribute__((__interrupt__, no_auto_psv)) _IC5Interrupt(void)
{
	if (param_value[DEV_STATE] & FLG_ENABLE)
	{
		//управляющий импульс VS1
		OC2R = IC5BUF + angle + param_value[OFFSET_VS1];
		OC2RS = OC2R + UU_PULSE;
		OC2CON = OCxCON_ENABLE;
	}
	else
		IC5CON = ICxCON_DISABLE;

	IFS1bits.IC5IF = 0; //сброс флага прерывания
}
//Обработчик прерывания модуля IC6 (сигнал -FA)
void __attribute__((__interrupt__, no_auto_psv)) _IC6Interrupt(void)
{
	if (param_value[DEV_STATE] & FLG_ENABLE)
	{
		//управляющий импульс VS2
		OC5R = IC6BUF + angle + param_value[OFFSET_VS2];
		OC5RS = OC5R + UU_PULSE;
		OC5CON = OCxCON_ENABLE;
	}
	else
		IC6CON = ICxCON_DISABLE;

	IFS1bits.IC6IF = 0; //сброс флага прерывания
}
//Обработчик прерывания модуля IC4 (сигнал +FB)
void __attribute__((__interrupt__, no_auto_psv)) _IC4Interrupt(void)
{
	if (param_value[DEV_STATE] & FLG_ENABLE)
	{
		//управляющий импульс VS3
		OC6R = IC4BUF + angle + param_value[OFFSET_VS3];
		OC6RS = OC6R + UU_PULSE;
		OC6CON = OCxCON_ENABLE;
	}
	else
		IC4CON = ICxCON_DISABLE;

	IFS1bits.IC4IF = 0; //сброс флага прерывания
}
//Обработчик прерывания модуля IC3 (сигнал -FB)
void __attribute__((__interrupt__, no_auto_psv)) _IC3Interrupt(void)
{
	if (param_value[DEV_STATE] & FLG_ENABLE)
	{
		//управляющий импульс VS4
		OC3R = IC3BUF + angle + param_value[OFFSET_VS4];
		OC3RS = OC3R + UU_PULSE;
		OC3CON = OCxCON_ENABLE;
	}
	else
		IC3CON = ICxCON_DISABLE;

	IFS1bits.IC3IF = 0; //сброс флага прерывания
}
//Обработчик прерывания модуля IC2 (сигнал +FC)
void __attribute__((__interrupt__, no_auto_psv)) _IC2Interrupt(void)
{
	if (param_value[DEV_STATE] & FLG_ENABLE)
	{
		//управляющий импульс VS5
		OC4R = IC2BUF + angle + param_value[OFFSET_VS5];
		OC4RS = OC4R + UU_PULSE;
		OC4CON = OCxCON_ENABLE;
	}
	else
		IC2CON = ICxCON_DISABLE;

	IFS0bits.IC2IF = 0; //сброс флага прерывания
}
//Обработчик прерывания модуля IC1 (сигнал -FC)
void __attribute__((__interrupt__, no_auto_psv)) _IC1Interrupt(void)
{
	if (param_value[DEV_STATE] & FLG_ENABLE)
	{
		//управляющий импульс VS6
		OC7R = IC1BUF + angle + param_value[OFFSET_VS6];
		OC7RS = OC7R + UU_PULSE;
		OC7CON = OCxCON_ENABLE;
	}
	else
		IC1CON = ICxCON_DISABLE;

	IFS0bits.IC1IF = 0; //сброс флага прерывания
}

void ic_enable(void)
{
	//Разрешение работы модулей IC1-IC6
	IC1CON = ICxCON_ENABLE;
	IC2CON = ICxCON_ENABLE;
	IC3CON = ICxCON_ENABLE;
	IC4CON = ICxCON_ENABLE;
	IC5CON = ICxCON_ENABLE;
	IC6CON = ICxCON_ENABLE;
}

void ic_init(void)
{
	//Разрешение прерываний от модулей IC1-IC6
	IEC0 |= 0x0012;
	IEC1 |= 0xF000;
	
	//Программирование таймера 2
	T2CON = 0;
	PR2 = 0xFFFF;
	T2CON = 0b1000000000010000; //делитель 1:8, внутренний CLK (Fosc/4)
}
Внешний кварц по частоте там 10МГц.

Сообщение от Impartial Посмотреть сообщение
3.На входе цепи питания КИП поставить фильтр, аналогичный L1C1. С постоянной времени большей, чем время сброса энергии с индуктивности фильтра.
Нереально, не будут же заказчик везде фильтр ставить.
dr-kannibal вне форума  
Непрочитано 24.12.2012, 18:29  
Impartial
Прописка
 
Регистрация: 09.02.2011
Сообщений: 164
Сказал спасибо: 1
Сказали Спасибо 27 раз(а) в 22 сообщении(ях)
Impartial на пути к лучшему
По умолчанию Re: Проблема с ЭДС самоиндукции зарядных устройств

Сообщение от dr-kannibal Посмотреть сообщение
Поставил 150EBU02, результаты такие же, что и с Д161-250, который пробовали навесить до этого. Возрастают пульсации до целых 1.5-2В, хотя и выброс с 40В в среднем снижается до 32-33 В...
А этот фильтр считали или поставили что было? Уберите вообще эту катушку если так.

Сообщение от dr-kannibal Посмотреть сообщение
Расскоменчиваю, плюс ввожу ручной ввод с платы клавиатуры, завтра буду пробовать. ПРоблема-то в том, что коэффициентов я не знаю вовсе, потому и придется вводить в ручную и пробовать.
ПИД настраивается по реакции на единичный импульс побором коэффициентов.
А лучше смоделировать.
Процессор мне не знакомый, с настройкой аппаратной части не помогу.

Сообщение от dr-kannibal Посмотреть сообщение
Нереально, не будут же заказчик везде фильтр ставить.
Да прямо на эту линию в самом блоке.

Последний раз редактировалось Impartial; 24.12.2012 в 18:35.
Impartial вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Индикатор тока для зарядных устройств hacker7 Ремонт оргтехники 18 28.10.2012 14:27
противо эдс? neox-neox Электроника - это просто 9 29.07.2011 14:15
Виды зарядных устройств duzzer Источники питания и свет 4 10.05.2011 13:28
Как происходит обнаружение поврежденных аккумуляторов АА ААА в зарядных устройствах? profiler Источники питания и свет 10 02.02.2011 16:15
ищу схемы зарядных устройсв=-кедр= и =искра-1= GETMAN-2 Источники питания и свет 4 21.11.2007 02:07


Часовой пояс GMT +4, время: 09:31.


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