Блок питания на LM2596 с вольтметром

Представляю сообществу очередной блок питания. На этот раз собранный на микросхеме импульсного преобразователя LM2596.



Печатная плата.


Собственно блок питания был изготовлен с целью задействовать 98 ваттный трансформатор ТН-56-127/220-50. Вторичные обмотки трансформатора соединены последовательно, что дает в сумме выходное напряжение около 25В. После выпрямления на диодном мосту — 34В. Конденсаторы С1 и С2 на 50 вольт, а С3 и С4 низкоимпендансные на 35 вольт. Дроссель L1 содержит 46 витков медного провода диаметром 0.6 мм на ферритовом кольце 5х10х16 мм. Резистор R1 — 1 кОм, R2 — переменный резистор сопротивлением 22 кОм. Конденсатор С5 — 1.5 нФ. Также последовательно выходу БП (на схеме не изображен) включен еще один выключатель — как показала практика сначала необходимо подавать на выход БП необходимое напряжение, затем подключать нагрузку. Напряжение на выходе регулируется резистором R2. Нулю Ом соответствует напряжение 1.23 В, 22 кОм — 30.5 В.

Вольтметр для данного блока питания собран на микроконтроллере ATMega8. Схема ниже.


Печатная плата вольтметра.


Семисегментный индикатор был выведен на отдельную плату и подключается к вольтметру самодельным шлейфом :)


Для удобство отладки на плату вольтметра отдельно выведен разъем для программирования по ISP.
Схема вольтметра питается от стабилизатора напряжения L78M05, вход которого подключен параллельно конденсатору С1 силовой части блока питания. Резисторы R1-R8 на 390 Ом. Номиналы остальных деталей указаны схеме выше, если конечно я чего-то не упустил) Текущее напряжение отображается на семисегментном индикаторе на три цифры с общим катодом. Светодиоды образующие сегменты индикатора подключены к выводам порта D.

#define	a	4				//LED "A" is connected to PD3
#define	b	1				//LED "B" is connected to PD0
#define	c	64				//See LED datasheet for additional information
#define	d	16
#define	e	8
#define	f	2
#define	g	128
#define	dp	32


Выбор нужной цифры осуществляется подачей соответствующего сигнала на выводы PB0-PB2 микроконтроллера.

Вольтметр рассчитан на измерение максимального напряжения 35 В. Работает следующим образом. Напряжение с выхода блока питания делится на 7. Таким образом на вход АЦП поступает напряжение от 0 до 5 В. После завершения преобразования от АЦП результат сохраняется в массиве symbol (состоящий из трех элементов), содержащий десятки, единицы и десятые доли вольта. На некоторое время работа АЦП запрещается и запускается 8-битный счетчик T/C0 на частоте 1.5МГц. Через 170 мкс программа попадает в прерывание переполнения счетчика, проверяет какой символ необходимо вывести на индикатор, выполняет это, при этом увеличивая переменную activeDigit, в которой содержится значение включенного символа, и заново запускает счетчик T/C0. Таким образом МК включает каждый символ с частотой 1.5МГц. После вывода последнего символа программа запускает счетчик T/C1 на частоте 46875 Гц. В счетный регистр TCNT1 предварительно записывают значение 18660, это гарантирует возникновение соответствующего прерывания через 1 с. Через 1 с с момента запуска счетчика T/C1 возникает прерывание, в котором программа останавливает данный счетчик, а также дает команду АЦП начать новое преобразование. Введение односекундной паузы было необходимым, т.к. напряжение на входе АЦП (или выходе блока питания) не остается постоянным, а изменяется. Поэтому в случае, когда на дисплей выводилось каждое преобразование АЦП, вместо нужного значения наблюдалась абракадабра. Например, если напряжение «скакало» между 4.9 и 5.0 вольтами, то в результате помех на индикаторе наблюдалось 9.8 В, хотя реально там было около положенных 5 вольт.
Текст программы для МК жутко не оптимален. Его наверняка можно упростить, оптимизировать и т.д. Но потратив достаточно времени на написание такого кода, я решил, что и так сойдет :)
//
//
//This code works only with LED display with common cathode
//Set optimization level to -O0 in configuration options
//
#include <avr/io.h>
#include <avr/interrupt.h>

#define maxInputVoltage	35		//Maximum voltage could be measured by voltmeter
#define scaleFactor	7

#define	a	4					//LED "A" is connected to PD3
#define	b	1					//LED "B" is connected to PD0
#define	c	64					//See LED datasheet for additional information
#define	d	16
#define	e	8
#define	f	2
#define	g	128
#define	dp	32

#define digit0	1				//Definition for first digit (the left one)
#define digit1	2				//Definition for second digit (the middle one)
#define digit2	4				//Definitions for third digit (the right one)

unsigned char number[10];		//Array of symbols
unsigned char activeDigit=0;	//Digit is currently drawing
unsigned int voltage;			//Voltage in decavolts (V*10)
unsigned char symbol[3];		//Array contains symbols to send to LED display


void numberInit()
{
	number[0]=a+b+c+d+e+f;			//symbol 0
	number[1]=b+c;					//symbol 1
	number[2]=a+b+g+e+d;			//and so on...
	number[3]=a+b+g+c+d;
	number[4]=f+g+b+c;
	number[5]=a+f+g+c+d;
	number[6]=a+f+g+e+c+d;
	number[7]=a+b+c;
	number[8]=a+b+c+d+e+f+g;
	number[9]=a+b+c+d+f+g;
}
//ISR for TIM1 overflow
ISR(TIMER1_OVF_vect)
{
	SREG	&= ~(1<<7);			//Global Interrupt Disable
	TCCR1B&=~(1<<2);		        //Stop TIM1
	TCNT1=18660;
	ADCSRA	|= (1<<6);                      //Start new ADC conversion
	SREG|=1<<7;				//Global Interrupt Enable						
}	

//ISR for TIM0 overflow
ISR(TIMER0_OVF_vect)
{
	SREG	&= ~(1<<7);			//Global Interrupt Disable
	TCCR0	&= ~(1<<0)|(1<<1);		//Stop timer0
	if (activeDigit == 0)
	{
		activeDigit++;				//Chose second digit
		PORTD=number[symbol[0]];		
		PORTB=(1<<0);				//Choose second digit
	}
	else if (activeDigit == 1)
	{
		activeDigit++;				//Chose second digit
		PORTD=number[symbol[1]];		
		PORTD|=(1<<5);				//Light the dot.
		PORTB=(1<<2);				//Choose the third digit
	}
	else
	{
		activeDigit=0;				//Set 0 as active digit
		PORTD=number[symbol[2]];		//Write the lowest digit of voltage
		PORTB=(1<<1);				//Choose pin 0 of port B
		if (!(TCCR1B&0x04))
		{
			TCCR1B|=(1<<2);			//Launch TIM1 at 46875 Hz

		}
	}
	TCNT0=0x00;					//Clear counter
	TCCR0	|= (1<<1);				//Launch timer0 at frequency 1500000Hz
	SREG|=1<<7;					//Global Interrupt Enable

}

//ISR for ADC conversion complete
ISR(ADC_vect)
{	
	SREG	&= ~(1<<7);				//Global Interrupt Disable
	symbol[0]=symbol[1]=symbol[2]=0;		//Clear symbols
	voltage=(unsigned long)ADCH * 350 / 255;        //Calculate voltage in decavolts (V*10)
	while (voltage >= 100)				//Decompose whole number on 
	{						//symbols
		voltage-=100;
		symbol[0]++;
	}
	while (voltage >=10)
	{
		voltage-=10;
		symbol[1]++;
	}
	while (voltage >=1)
	{
		voltage--;
		symbol[2]++;
	}
	activeDigit=0;				//Set 0 as active digit
	TCCR0	|= (1<<1);			//Launch timer0 at frequency 1500000Hz
	SREG|=1<<7;				//Global Interrupt Enable

}

int main (void)
{
	numberInit();			
	SREG|=1<<7;					//Global Interrupt Enable
//Ports configuration
	DDRD=0xFF;					//All pins are outputs
	PORTD=0xFF;					
	DDRB|=(1<<0)|(1<<1)|(1<<2);	                //Pins 0,1 and 2 are outputs
	PORTB&=~(1<<0)|(1<<1)|(1<<2);	                //Set logic 0 at pins 0,1 and 2	
	
//ADC configuration
	//Enable ADC         
	ADCSRA|=(1<<7);

	//Enable ADC interrupt
	ADCSRA|=(1<<3);

	//Set ADC clock division factor to 8
	ADCSRA|=(1<<1)|(1<<0);

	//Choose channel ADC3
	ADMUX|=(1<<0)|(1<<1);

	//Left adjustment enable                 
	ADMUX|=(1<<5);      

	//Choose ADC voltage as reference voltage                                                            
	ADMUX|=(1<<6);

//TIM0 configuration
	TIMSK	|= (1<<0);			//Enable TIM0 interrupt

//TIM1 configuration
	TIMSK|=(1<<2);				//Enable TIM1 overflow interrupt
	TCNT1=18660;				

//Enable peripheral modules
	ADCSRA	|= (1<<6);		//Start first conversion
	//TCCR0	|= (1<<0)|(1<<1);	//Use division factor 64. Timer0 operates 
								//at frequency of 187500Hz
	while (1)
	{

		asm volatile("nop");
	}
	
	return (0);
}

Настройка вольтметра осуществляется следующим образом. Подключают мультиметр и измеряют напряжение на выходе блока питания. Изменяя сопротивление подстроечного резистора добиваются того, чтобы показания обоих вольтметров совпадало.

Картинки готового устройства прилагаются.



Вид изнутри.

Эргономический корпус собран из ДСП толщиной 10 мм и скреплен саморезами) После того как были сделаны эти фотографии на лицевой панели появились клемы, вместо оголенных проводов, а также на переменный резистор одета ручка. И вообще к этому блоку питания я подошел основательно — даже места спайки проводов изолировал термоусадочной трубкой)

К статье прикреплен архив с файлами. Schemes_SprintLayout50.lay — рисунок печатных плат силовой части, вольтметра и дисплея. В папке LM2596T_Voltmeter_v2 содержится проект AVRStudio 4.18 SP3. А файл Project_Transistors в папке LM2596T_Voltmeter_v2\default — это файл проекта Proteus 7.10.

Enjoy!
  • +4
  • 02 декабря 2012, 19:52
  • NBS
  • 1
Файлы в топике: LM2596T_Voltmeter.zip

Комментарии (118)

RSS свернуть / развернуть
CUUUUUUUUUTTTTTTTTTTT.
+3
Не понимаю почему народ так залип на LM2596. Старая, медленная, неоптимальная (из-за несихронного преобразователя), индуктивность нужна с кирпич размером…
0
  • avatar
  • evsi
  • 02 декабря 2012, 20:51
зато дешевая и дубовая:)
+1
Преобразователи вообще достаточно дубовые.
0
Сначала я делал схему на LM2576. Там действительно индуктивность была размером с кирпич. В этой же схеме вполне вменяемых размеров.
0
Вменяемых, это когда индуктивность размером, скажем 5х5х3мм для таких токов. Только для этого частота преобразования должна быть слегка побольше 150кГц.
0
А какие есть альтернативы с подобным (бóльшим) уровнем мощности и КПД?
0
L5988D, ST1S10, ST1S40, NCP3170, NCP3155. Это если к TI не заглядывать, там вообще их не перечесть. На крайняк можно взять какую-нибудь IRU3037 и сдвоенный полевик, там ампер 5 легко получается. Это если из дешевого/доступного. А так есть и на 5-10-25А в одном чипе. Скажем, IR3473(6A), IR3475(10A), IR3476(12A). Кстати, эта троица не такая уж и дорогая, 3.5-4.5 бакса поштучно.
0
Можно еще контроллеры питания вспомнить. Десяток стабилизаторов в одном QFN корпусе, добавить нужно только несколько миниатюрных дросселей. Некоторые вполне могут выдать ампера три-пять в канал (ну, таких каналов уже не десяток будет, ессна).
0
Да, всяких чипов для питания вагон и маленькая тележка.
+1
Все-таки в защиту LM2596 скажу что она несколько более универсальна. Последняя троица не выдаёт более 12 вольт. Остальные ограниченны входным напряжением, 18 вольт, кроме NCP3155 на 24. Т.е. в подобном блоке питания, с широким диапазоном напряжений, вполне уместна. MP2307, которую советовали ниже, также до 23 вольт кушает, да и то при высоком входном довольно сильно теряет в КПД. LM2596 же принимает до 40 вольт, выдаёт до 37, имеет достаточную для блока питания эффективность (греется, но есть место для радиатора). Так что, имхо, в данном случае — оправдано.
+2
Напряжения выше +12 нужны редко, для какой-нибудь специфичной силовух (шаговики, например) и токи в таких случаях нужны слегка поболе 3А. То есть такое решение таких вариантов не накрывает в любом случае. А «в быту» 12В/3А, обычно, с головой.
0
Да, случаи бывают разные. Какие параметры нужны — решать автору топика. Мне лично иногда нужно 14.4 вольта для устройств автомобильного применения. Я всего лишь предложил один из ответов на вопрос «почему народ так залип на LM2596».
0
Там, насколько я понимаю, тремя амперами не всегда обойдешься. Тут вариант на IRU3037 гораздо лучше подходит. Там и напряжение побольше, и ток.
0
Тогда по вашему зачем вообще регулируемый БП? собрал фиксированных самых ходовых 3,3/5/12В и хватит. и защиты понавороченней впихнуть же можно!
Но ведь делают же. Значит надо.
0
Регулируемый, как раз, достаточно часто нужен. Во всяком случае мне.
0
ST1S10 экстремальная штука. помню как оплакивал ею убиенных. еще одна лежит в закромах, но эту буду использовать когда отойду от стресса :)
0
А что в ней такого экстремального?
0
аккуратнее с ней надо. в 34063 хоть защита есть от перегруза. а эта не прощает ошибок, выжигает все что питало :) один раз похерило мне кучу всего, ща как-то боязно.
не стоит её применять в качестве питания своих макеток, всегда есть шанс при экспериментах че-нить да коротнуть.
0
Странно. У меня они в таких передрягах выживали… Единственное условие — качественное охлаждение.
0
А не пофигу ли для такого девайса-то? Он сам по себе большой, искать чего покруче смысла особого нет. Можно даже на 34063 с внешним транзистором слепить — благо она менее 10р стоит. И серлечник от ДГС для дросселя, в китайских АТХ частоты как раз в районе 40-80кГц.
0
Фу, это не модно.
0
Зато бюджетно и просто.
0
Каким боком тут мода? Не стоит превращать разумный консерватизм в религию.
0
Надо полагать, вы теперь рассматриваете любое нежелание пользоваться дерьмом мамонта как модность?
0
Это у быдлокодеров любая вещь старше года превращается в дерьмо мамонта (освобождая место для ещё большего дерьма). В технике (которую разрабатывают нормальные инженеры) хорошее и плохое — объективно. Решения, которые были красивыми и элегантными 50 лет назад, такими и остались.
+1
Это у быдлокодеров любая вещь старше года превращается в дерьмо мамонта (освобождая место для ещё большего дерьма).
То-то я смотрю, что вы вовсе не i4040 программируете.
В технике (которую разрабатывают нормальные инженеры) хорошее и плохое — объективно.
Да, объективно. На момент создания и в тех условиях, под которые разрабатывается решение. И, что совсем уж неприятно для любителей кондовых олдскульных решений, даже на момент создания часто решение, даже объективно хорошее, не является объективно лучшим.
Решения, которые были красивыми и элегантными 50 лет назад, такими и остались.
Угу. Опять-таки, на момент создания. С того времени вполне могло появиться что-то красивее и элегантнее. Правда, для того, что бы это осознавать нужно продолжать пользоваться объективными критериями.
0
Всякие там мегабайты, мегагерцы, размеры корпуса и прочая модная фаллометрия — это не объективные критерии, а частности. Они не дают общей картины. Электромеханические АТС, которые создавались 50 лет назад были настоящими произведениями искусства, и хотя они содержали огромное количество «ненадёжных», «дорогих», «медленных», «неэффективных» электромеханических изделий, современные быдлокодеры умудряются создавать для решения куда более простых задач, монстров, создающих куда больше проблем в эксплуатации, хотя имеют безотказный комп, не теряющий ни одного битика, IDE с подсветкой синтаксиса и ещё множество удобств. Новомодные планшеты и смартфоны куда более непрозрачны и малополезны, чем старенький ЕС-1841 с досом, несмотря на всю миниатюрность, дешевизну, гигагерцы, гигабайты, четырёхядерные GPU и прочие субъективные частности, о которых сейчас модно орать, как о единственно важном.
0
Всякие там мегабайты, мегагерцы, размеры корпуса и прочая модная фаллометрия — это не объективные критерии, а частности.
Точно. И вы бы предпочли программировать машину Холлерита размером с пол-комнаты, а не эту мелкую хрень с фаллометрическими мегагерцами и размерами с ноготь мизинца.
современные быдлокодеры умудряются создавать для решения куда более простых задач, монстров, создающих куда больше проблем в эксплуатации
Самокритика это, конечно, похвально, но это, как бы, ваша личная проблема.
Новомодные планшеты и смартфоны куда более непрозрачны и малополезны, чем старенький ЕС-1841 с досом
Ну что вы, ес-ка (кстати, редкое по своей ненадежности и бесполезности дерьмо) это тоже фаллометрия с мегагерцами. Даже Эниак и тот фаллометрия, хотя и не такая кондовая как ес-ка. Вот «железный феликс» — это вещь. Хотя, конечно, по сравнению со счетами и абаком это тоже чистейшей воды фаллометрия и мода.

P.S. ваша ненависть к слову «мода» и желание пихать его к месту и не к месту перестали забавлять и стали вызывать тревогу за ваше здоровье. советую найти словосочетание «научно-технический прогресс» в словаре и тщательно его изучить. а то как-то странно читать опусы подобные вашим от вас, при том, что ваш род занятий, насколько я понимаю, непосредственно связан с микроэлектроникой и программированием, то есть двумя направлениями, которые по меркам человеческой истории появились не то, что «вчера», а что-то типа «15 минут назад».
0
То, что этот бесполезный кусок пластмассового дерьма размером с ноготь вчера имел гигабайт и гигагерц, а сегодня — по два того и другого — это не прогресс. Переделывать то, что и так хорошо работает (ибо без оопов и прочей новомодной херни оно «дерьмо мамонта») — это не прогресс тоже. Научно-технический прогресс — в мозгах, а не в железках. Если посмотреть на новомодные оопы, армы, явы и андроиды — никакого прогресса нет.
0
То, что этот бесполезный кусок пластмассового дерьма размером с ноготь вчера имел гигабайт и гигагерц, а сегодня — по два того и другого — это не прогресс.
Для вас — возможно. Для тех, кто это разрабатывает и выпускает это, зачастую, прорывы в областях, где, казалось, уже давно достигнут предел.
Переделывать то, что и так хорошо работает (ибо без оопов и прочей новомодной херни оно «дерьмо мамонта») — это не прогресс тоже.
Зачастую необходимость переделывать возникает именно потому, что авторы дерьма мамонта не удосужились воспользоваться чем-то современным (на момент создания), считая что ооп и прочее — это новомодная херня. На практике же получилось, что созданный ими «шедевр» сопровождать и развивать не могут даже они, поскольку без «новомодной херни» там черт ногу сломит, а память у авторов не резиновая и за месяц-другой они уже в собстенном коде в роли новичка. А вот то, что они считали «не прогрессом тоже» и «новомодной херней» позволяет развивать и сопровождать код не переписывая его каждый раз заново с нуля. Иначе говоря, собственный консерватизм авторов софтины не позволил им разглядеть прогресс, а это уже на грани потери профессиональных навыков.
Да, уточню, что речь не о вас. Это из моего опыта.
Если посмотреть на новомодные оопы, армы, явы и андроиды — никакого прогресса нет.
Если посмотреть на это так, как делаете вы, то, возможно, прогресса и нет. Даже, наверное, регресс и деградация мерещится. Что, впрочем, ничего не говорит о том, так ли это на самом деле, поскольку объективной оценкой тут и не пахнет.

P.S. сложность софта за последние лет 15 выросла просто невероятно. причем не гуевых рюшечек, а именно функционально. прикол в том, что подавляющее большинство этого софта мало кто в живую видит, хотя это львиная доля рынка разработки софта. и да, эта сложность (сформированная реальными потребностями) была бы не достижима без «оопов, яв и прочего дерьма».
+1
Увеличение энтропии (= сложности) — не может «сопровождать и развивать». Сложность не имеет отношение к масштабу решаемой задачи — можно сделать космическую станцию простой, а фонарик — сложным.
0
Не может помогать «сопровождать и развивать»*
0
Увеличение энтропии (= сложности) — не может помогать «сопровождать и развивать»
ООП не усложняет, а упрощает. И повышает уровень абстракции, таким образом позволяя решать более сложные задачи не выходя за пределы возможностей человека. Иногда же небольшое усложнение позволяет решить не одну конкретную, а целый класс задач, упрощая таким образом создание большого количества приложений ценой усложнения одного. Характерный пример — движок этого сайта. Да, один конкретный сайт, видимо, можно было бы написать проще, чем движок сайта, на котором мы сейчас общаемся. Но написать те сотни и тысячи сайтов, которые на нем созданы в разумное время и в разумные сроки было бы просто не реально без такого более универсального (но и более сложного) инструмента.

Сложность не имеет отношение к масштабу решаемой задачи — можно сделать космическую станцию простой, а фонарик — сложным.
Когда я пишу «причем не гуевых рюшечек, а именно функционально», то, как не сложно догадаться, речь идет именно о сложности задачи, а не о сложности получившегося решения.

P.S. в моем текущем проекта кода написанного нами — кот наплакал, три программиста его за несколько месяцев не напрягаясь написали, больше времени с заказчикм трындели. если бы мы делали этот проект «олдскульными» методами, он бы потребовал не менее полусотни программистов, писался бы лет пять (предыдущая версия так и писалась, так что цифры не с потолка) и функционально уступал бы тому, что мы делаем (кластеры-шмастеры, отказоустойчивоть и прочие заморочки, вобщем, ядрен-батон систему не положит, а если положит, то данные уцелеют). согласитесь, хорошая иллюстрация к тому, что новомодные оопы, явы и прочее (хотя они не такие уж и новые) это таки прогресс.

P.P.S. ооп в виде концепции и конкретного языка старше микропроцессоров, тем более микроконтроллеров. да и жаба на год старше avr-ок. считать их «новомодным», мягко говоря, не логично.
+1
Чтобы иметь возможность использовать готовое, или разделять систему вертикально для повышения абстракции, не нужны оопы. Впрочем, хорошо написанный код на простом языке во многом напоминает эти ваши оопы, но кардинально отличается тем, что не содержит прорвы лишних сущностей (которых тем больше, чем более новомодный язык). Особенно напичкан всяким мусором С++ — вроде оформления методов в виде перегрузки операторов, что кроме увеличения энтропии в синтаксисе не дают ничего. В явах поначалу было чуть получше (впрочем, базовые типы с громоздкими и дублирующими их обёртками — ещё то пиршество маразма). Но позже «осовременили» — добавили множество способов превратить всё в запутанное месиво (например, «аннотации»).
0
Чтобы иметь возможность использовать готовое, или разделять систему вертикально для повышения абстракции, не нужны оопы.
Да, теоретически не нужны. Нужен язык, который хорошо это поддерживает. Достаточно посмотреть на то, сколько либ и какого уровня есть для какого языка, что бы осознать, где эта поддержка сделана хорошо, а где нет. Если к этому коктейлю требований добавить еще отвязку кода использующего библиотеку от самой библиотеки и припудрить тестированием, то окажется, что это будут (столь не любимые некоторыми) интерфейсы + реализация. Которые, опять-таки, требуют а) поддержки в языке и б) по сути представляют собой столь нелюбимый вами ооп. Ну а если уж совсем захотеть упростить удобство повторного использования и позволить (буквально) собирать программу из готовых компонентов добавляя только то, что реально необходимо, то окажется, что нужна поддержка рефлекшна, что опять-таки, нужно поддерживать в языке. И вот тут оказывается, что «простой язык» для этого не годится, поскольку эти этапы создания ПО в нем никак не поддержаны. Совсем. И все желающие вынуждены закатывать солнце вручну. В итоге появляется совершенно не нужное и никак не помогающее жить дробление по привязке к конкретным фреймворкам частично реализующим нужную функциональность. В добавок эти фреймворки, зачастую, заточены под конкретную область применения. Скажем, KDE и gtk частично решают проблему, но на них писать, например, сервер, мягко говоря, не логично. И наоборот, жабовский, скажем, спринг, и жнец и кузнец и на дуде тоже может.

Впрочем, хорошо написанный код на простом языке во многом напоминает эти ваши оопы, но кардинально отличается тем, что не содержит прорвы лишних сущностей (которых тем больше, чем более новомодный язык).
Называть язык С простым может только тот, кто слишком к нему привык и не пробовал ничего другого. Ну или сильно сгоряча.

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

P.S. аннотации _упрощают_ программу, ее чтение и сопровождение. заодно они позволяют прозрачно реализовать многие удобные фишки не раздувая язык и, опять-таки, упростить написание программ, разделяя ответственности. скажем, достаточно на методе поставить аннотацию Transactional и контейнер в котором живет программа, сам добавить все необходимое, что бы код выполнялся в транзакции. Программист может сосредоточиться на задаче и решать только то, нужна ли ему тут транзакция или нет, а не тупо кодировать повторяющиеся куски. И это только самый простой пример их использования.
+1
А не надоело срачи устраивать почти в каждой теме? Причем здесь вообще программирование, и какое отношение оно имеет к этому блоку питания?
0
А не надоело срачи устраивать почти в каждой теме?
А когда это кому-то надоедало? Да и тут древовидное обсуждение, неинтересную ветку можно проигнорировать или даже свернуть.
0
сколько на этот ДГС витков мотать? Для аналогичного БП :)
0
Считать надо. Причем весьма желательно иметь L-метр. Тогда можно просто померить индуктивность на виток и посчитать, сколько надо витков для получения требуемой преобразователю индуктивности. Хотя с приличной вероятностью можно воспользоваться одной из уже имеющихся на нем обмоток — он как раз считался в качестве чопперного дросселя для преобразователя с примерно аналогичной частотой.
0
Если бы был L-метр, вопрос не стоял бы. Тратить 1-2к на покупку онного не много смысла для сборки 1 устройства (в мелкие преобразователи ставятся готовые дросели, коих в продаже тьма).
0
L-метр — штука полезная, к тому же идет бесплатно в составе мультиметров, так что поставив себе цель купить хороший мультиметр за 2+ кр — стоит в категорию требуемых фич вписать L-метр.
Можно обойтись и без L-метра, но нужен осциллограф (притом хороший, а не показометр вроде Н313 с 20%-й погрешностью). Плюс придется собирать установку для измерения параметров индуктивностей. Такая установка круче по возможностям, но сложнее в эксплуатации.
Еще можно посчитать, но для этого требуются параметры сердечника, взять которые негде.
Ну и еще можно выяснить частоту работы питальника, откуда ДГС и выставить такую же. Тогда сгодится родная обмотка (да и вообще, чопперы допускают огромный разброс индуктивности — желательно только чтобы она была не меньше минимально необходимой для неразрывного режима). Для малых токов можно увеличить количество витков (включить пару обмоток ДГС последовательно) или частоту.
0
Алсо, я присматриваюсь к 4070L. Довольно удобный на вид LCR-метр за 15 баксов. К нему удобно подключить щуп-пинцет с DX для измерения SMD-шек (стоит, правда, половину цены самого LCR-метра).
0
Дроссель L1 содержит 46 витков медного провода диаметром 0.6 мм на ферритовом кольце 5х10х16 мм

а что за кольцо?
0
Кажется 2000НМ
0
без зазора? а насыщения сердечника не наблюдается?
0
без зазора. А как мажет проявить себя насыщение сердечника?
0
Большими пульсациями на выходе. При насыщении дроссель практически перестает быть дросселем. Выяснить можно при помощи осциллографа, если посмотреть форму тока через дроссель.
0
Всегда интересовало как можно осциллографом померить ток? :))))
0
Так же, как стрелочником или ICL7106 — шунт последовательно с дросселем и смотришь напругу на нем.
0
быстро ты пишешь:)

автору — ну вот, Vga ужЕ ответил на вопрос:)
+1
корпус совсем стремный
да и амперметр нужен

за 1 бакс можно было купить готовый модуль конвертера и там к нему только резистор допаять
0
А ссылку можно на этот конвертер за 1 бакс?
+2
www.buyincoins.com/new_en/details/lm2596-step-down-adjustable-dc-dc-power-supply-module-new-product-9004.html $1.69
Радиатор там же можно для этих плат купить.
0
Позанудствую. Это не бакс. Это полтора-два. Бакс это до $1.25, а в такой сумме на ауке не всегда получишь.
0
если брать пачку — то дешевле бакса будет. например 3r33 тут обсуждали.
0
И что мне теперь, делать пачку блоков питания? :)
0
да это же расходники, как КРЕНки. везде и всегда пригодятся.
+1
Валяются у меня эти расходники. До сих пор не пригодились.
Это вон дихальтам есть куда впаять их, а обычному любителю — он столько не паяет. Если устройству требуется отдельное от компа питание, то при выборе «взять юсб зарядку за 3 бакса» и «взять бп/транс за 300р и поставить кренку/модуль» выигрывает обычно первый.
0
Зарядка за три бакса обычно имеет соответствующую стоимости надежность и безопасность. Да и для батарейного питания достаточно мощных девайсов (тех же одноплатников или роутеров вроде TL-WR703N) такие модули весьма пользительны.
0
Вторичные обмотки трансформатора соединены последовательно, что дает в сумме выходное напряжение около 34В.
Амплитудного (что то же самое — выпрямленного без нагрузки) хоть, а не действующего переменного?
Дроссель L1 содержит 46 витков медного провода диаметром 0.6 мм на ферритовом кольце 5х10х16 мм.
Не мелковат ли? И я надеюсь, ты все же взял не ферритовое кольцо (2000НМ — феррит), а порошковое (из аналогичного преобразователя, например)? И на какой ток рассчитан девайс?

По поводу вольтметра — я бы считывал напряжение не одним преобразованием, а несколькими и усреднял их.
0
  • avatar
  • Vga
  • 02 декабря 2012, 21:23
Ошибка вышла. 34 В — это уже выпрямленное напряжение, после диодного моста. Сейчас исправлю.

Кольцо, наверное, все-таки феррит. На радиорынке ассортимент не шибко большой.

На счет тока. Пока что я подключал только электромоторчик от фена. 1.5 ампера держит. Больше не пробовал.
0
Феррит в таком преобразователе работать не будет. Нужно специальное кольцо. Они обычно не-ферритового цвета.
0
как лроссель — да, не будет:) с другой стороны — для электромоторчика, возможно, и дроссель-то не нужен, достаточно меандра:)
0
в смысле — не меандра, конечно, а последовательности прямоугольных импульсов
0
С третьей — а нафига моторчику LM2596 и дроссель вообще?)
0
ну тут не поспоришь, да:)
0
А корпус стильненький :)
+3
  • avatar
  • ACE
  • 02 декабря 2012, 23:33
Я надеюсь это был сарказм?)
0
Ну почему? Трэш — тоже стиль :)
+2
Показалось, что внутри устройство выглядит получше, чем снаружи.
+1
Ну почему ж «показалось»?)
+1
корпус — самый запоминающийся среди местных, такого лютого и яростного madskillz здесь ещё не было))

алсо, я нихера не понял, зачем там коммутация нагрузки отдельной кнопкой, но если всё настолько печально, то хорошо бы прикрутить даже рыле и хотя б на меге запилить задержку подключения нагрузки к питальнику — здесь от лишней кнопки один геморрой и никакого профита.
0
алсо, я нихера не понял, зачем там коммутация нагрузки отдельной кнопкой
Вполне типичная фишка. Удобная, притом. Я в самопале тоже предусматриваю такую. Разве что удобней был бы тумблер, а не рокерный выключатель.
0
Очень удобное решение. Отключаешь нагрузку и меняешь напряжение на нужное, не боясь спалить устройство.
0
Я никогда другого не понимал: что за арабский стиль? ) Вниз — включено, вверх — выключено… Меня это даже раздражает, ибо противоречит общепринятым правилам (пусть местами и негласным) в электрооборудовании… Ибо обычно в таких вещах в первую очередь смотришь не на надписи, а на положение выключателя… Тут понятно — автор для себя делает, но это только у меня такой бзик, или еще кто-то заметил?
+5
А разве есть какие-то требования к положению выключателей?
0
The direction which represents «on» also varies by country. In the USA and Canada and Mexico and the rest of North America, it is usual for the «on» position of a toggle switch to be «up», whereas in many other countries such as the UK, Ireland, Australia, and in New Zealand it is «down.» In multiway switching, the correspondence between a single switch's state and whether lights are on or off depends on other switches in the circuit. In countries prone to earthquakes, such as Japan, most switches are positioned sideways to prevent the switch from inadvertently being turned on or off by falling objects.
wiki
+1
Ну у Британии и колоний всё не как у людей, даже ездят не по той стороне дороги. У Японцев хоть логика есть. Да и то, имхо, если что-то упадёт и что-то другое отключится — так и хорошо, меньше риска замыканий и пожаров. Ежели включено что-то жизненно важное, так надо защищать а-ля тумблеры в самолетах.
+1
Говорят, есть какие-то госты на эргономику — увеличение параметра должно сопровождаться движением ручки вверх, вправо, и, кажется, от себя, уменьшение наоборот. Соответственно, выключатели тоже.
0
автор темы шутит видимо так, а вы его тролите, лучше советов ему надавайте :)
0
Автору незачет. Если уж задействовал микроконтроллер, можно было бы реализовать автоматическую подстройку напряжения и выбор с помощью энкодера.
-1
все верно ;)
0
И забабахать ещё управление по Ethernet. А нет, по блютузу!
+1
Корпус — ЖЕСТЬ. :(((
По поводу выключателей — выключается всегда вниз это правило. Даже по логике безопасности — в аварийной ситуации выключить проще когда выключатель выключается вниз (руки опускаются и выключают автоматически).

Намек понятен в каком положении все «включено» и работает :))
+5
Выключатели расположены в нижней части. БП стоит на столе. Перед БП вполне возможно будет что-либо валяться (ойли всюды и всегда вы соблюдаете инструкцию по безопасности вплоть до запятой). Так вот, просунуть руку для выключения вниз будет сложнее.
Когда вы находитесь выше уровня выключателя, проще выключать вверх. И чаще так и будет, если только вы не ползаете по полу, а БП стоит на краю стола.
0
Если выключатель снизу, то под него еще подлезть надо. А вниз — просто рубануть рукой. Напротив, если он под потолком — вот тогда внизу выключать будет не очень удобно.
0
Ну по поводу корпуса, зря вы на него напали — тут все очевидно, автор с юмором, улыбнуло, молодец!
А вот что мне не понравилось, так это схема с LM2596, объясню почему… Эн-нет, лучше задам вопрос, а вы сами найдете ответ. Что будет когда вы выставите на вашем переменном резисторе к примеру 3В, а ваш резистор из-за старости начнет «трещать».
Что будет у вас на выходе? Думаю ответ вас не развеселит…
Итак, как уже сказали ранее, у вас есть микроконтроллер, так используйте электронные потенциометры с запоминаем состояния, таких щас полно, и они копеечные.
0
Хотелось бы посмотреть пример использования потенциометра совместно с DC-DC. У потенциометра есть определенный предел рабочих напряжений, обычно не превышающий 5В. Напрямую вместо переменного резистора включить не получится.
+1
Не правда.
… смотрим первый попавшийся — MCP4011/2/3/4 — CS and U/D inputs w.r.t VSS… -0.3V to 12.5V
А если порыться глубже и внимательней то можно найти и до 40В(если память не подводит), находил когда то уже.
0
Включи в качестве нижнего. Больше чем Vop (1.25В в данном случае) на нем не будет при нормальной работе стабилизатора. От ненормальной — запараллелить сапрессором. Правда, при таком включении напряг с линейностью регулировки, но шаг будет расти вместе с увеличением выходного напряжения, что не так уж и плохо.
0
Автор, а почему ты выбрал именно LM2596, а не к примеру MP2307?
0
  • avatar
  • xpeh
  • 03 декабря 2012, 17:19
Хочу заметить, хотя я и не автор, что не у всех есть доступный eBay и пр. Некоторым доступны только отечественные ларьки со скудным выбором и ценами втридорага. Это как народ пересевший на анлим — полагает что он у всех, ан нет, бывает и иначе.
Так вот, LM2596 найти проще, чем «к примеру MP2307». Еще вариант MC34063, что бы народ вообще не умолкая галдел «старье, биполярник,...».
+1
Еще вариант MC34063, что бы народ вообще не умолкая галдел «старье, биполярник,...».
А его тоже хрен где найдешь. По крайней мере у нас не было, нет и не предвидится. Вот дешевый он — это да.
0
Да их полно во всякой аппаратуре же (модемы, роутеры, коммутаторы,..). Если сдувать не противоречит вашей религии.
0
Ну не так уж и полно. Мне покупать пришлось.
0
+1:) всё думал — скажет кто-нибудь это или нет. или это только у меня такая беда: стрельнет чего в башку (мне или заказчику, неважно) — бегОм на ближайший радиодрынок:) а с точки хрения наших барыг, видимо, всё то, что изготовлено менее 10 лет назад — экзотика. вот LM2576/96 и иже с ней, а также МС34063 — в полный рост, всегда в наличии:)
+1
Все верно, но тут заказчик — сам автор. А в такой ситуации люди, обычно, стремятся использовать что поновее да покачественнее. Что, помимо столь нелюбимой многими модности, имеет и чисто практическую сторону — моральное устаревание откладывается на существенный срок. Ставить то, что морально устарело за многие годы до того, как его ставищь, как-то не кажется рациональным.
0
ну дык — это само собой. всё определяется ситуацией — насколько срочно надо, надолго ли источник собирается и т.д. ну и не забываем, что подходы к проектированию у всех разные — кто-то выцарапывает проценты КПД и миллиметры площади печатной платы, а кому и 50% да квадратный дециметр вполне сойдет:)
0
Однако «тёплый ламповый звук» процветает.
0
По-сути, выбрал первую попавшуюся микросхему, более-менее отвечающую требованиям по напряжению и току.
0
Этот дроссель получился примрно на 0,1А тока. При большем токе он войдет в насышение, что чревато увеличенным током через него, греющейся и выгорающей микросхемой в конечном итоге.
Можно сделать и на феррите. Только нужно быть готовым, что размеры его будут больше чем порошкового. В феррит в этом случае нужно вводить немагнитный зазор (ломать кольцо, брать ш-образный с зазором).
Если на базаре попадется желтое кольцо от блока питания компьютера — это будет наверное самым подходящим вариантом.
0
  • avatar
  • OlegG
  • 03 декабря 2012, 18:04
Сойдут еще салатовые колечки от мамок и видях.
0
А увеличив кол-во витков можно ли избавиться от насыщения? А то я делал как-то давно БП на TL494, мотал транс, из-за недостаточного кол-ва витков у меня начинали греться транзисторы, раскачивающие транс. Добавил витков — все стало нормально.
0
Нет, эффект будет прямо противоположный. Чем больше витков, тем выше индуктивность и ниже ток насыщения. В данном случае есть только два метода — отказ от феррита или введение немагнитного зазора. Подробности можно прочитать в книге Семенова, я давал линк на нее в одном из своих постов.
С трансом другая история. В насыщение он не входил (иначе бы транзисторы просто взорвались), но из-за недостаточной индуктивности ток через первичку был слишком велик.
0
так а чего не так?:) выше индуктивность — дольше дроссель «заряжаться» будет. и на данной частоте при постепенном увеличении витков наступит, наконец, момент, когда ток просто тупо не успеет дорасти до критической величины. но, естественно, за это придется платить тем, что источник на выходе тока практически давать не будет:)
0
Индуктивность уже не имеет значения. Чем больше витков — тем при меньшем токе сердечник насытится и дроссель превратится в гвоздь, а ток через дроссель чоппера в принципе не может быть меньше тока нагрузки. Правда, если наращивать количество витков, то однажды наступит момент, когда будет хватать индуктивности обмотки без сердечника.
0
а что будет с выходным напряжением, когда потенциометр начнёт «шуметь»/протираться?
0
поставить на потенциометр фильтрующую емкость не 100нф, а 10мкф, и ничего шуметь не будет. а при «протирке» напыления будет скакать выход. равно как и у заводского источника за 200 баксов с аналоговым управлением. вопрос немного непонятен.
0
Увеличение емкости конденсатора так же увеличит время действия стабилизатора на внешние изменения. Иными словами, если вы увеличите ток нагрузки, то напруга просядет и будет «долго» возвращаться на установленный уровень. А при снижении — подскочи вверх и та же шняга.
+1
уменьшение скорости переходных процессов от доп ёмкости — это понятно. спросили про шумы — это и есть решение от шумов. если хочется всего и сразу — ну, тогда нужно ставить что-то более сложное, нежели одна лм с дросселем и диодов.
да и по существу — если знать и помнить такую «доработку», то без потребителей, с большой импульсной нагрузкой это никак не скажется на работе всего бп.
0
спросили про шумы — это и есть решение от шумов.
Вы мне напомнили «рабочую ситуацию». Была проблема со «слишком быстрой реакцией на отклонение напряжения» — все шумы ловило и кричало о неполадке. Решили, естественно добавив коридор/гистерезис. Через N лет стал вопрос о том, что «не понятно, оно же отклонилось, почему не пишет?». Естественное и гениальное решение — убрали гистерезис. Что бы вы думали? Правильно — все по новой.
Вот вы сейчас предложили столь же гениальное решение.
(20:37) Leela: Should we really be celebrating? I mean, what if the second garbage ball returns to Earth like the first one did?
(20:43) Fry: Who cares? That won't be for hundreds of years.
(20:46) Farnsworth: Exactly! It's none of our concern.
(20:50) Fry: That's the 20th century spirit!
0
нет, ну ситуация просто из тех, где нужно чем-то жертвовать. не бывает везде шоколадно. что спросили, то и ответил. иначе это бы уже напомнило байку про блох и рыб.
0
Корпус стильный.
Эргономика, однако.
0
Модули на микросхеме Lm2596 это надежные стабилизаторы, блоки питания и зарядные устройства. На днях ради прикола собирал зарядное на нем rustaste.ru/zaryadnoe-ustrojjstvo-lm2596.html. Схема в принципе ведет себя очень стабильно.
С ув. Эдуард
0
Когда говорят о стабильности схема, обычно указывают ещё и критерии, по которым эта стабильность оценивалась, а так же условия и результаты. Не могли бы Вы привести таковые, если они имеются?
ПС: по ссылке на сайт (видимо Ваш персональный) количество рекламы доставляет. Особенно «какие» таки хорошие и «пушистые» братья китайцы)
С ув.
0
Графомания зашкаливает)))
0
Ну а что такого?

Просто некий нищий человек, видимо ранее весьма далекий от електроники, посмотрел ютуб и муську, где уже 100500 обзоров про то, как некий чувак СОЕДИНИЛ_ПО_СХЕМЕ кетайский ди-си-ди-си (гы-ы, эти мартышки так быстро все впитывают!) преобразователь и кетайский блок питания и т.п. и в тоге смастрячил зарядник_для_аккума/лабораторный_БП, автообогреватель для свинарника на ардуино (гы-ы, кстати, уже с давно имеющимся в сети кодом/скетчем для этого дела!) и т.п. и решил тоже вписаться в это богоугодное и достойное дело! Ну за некую нищую копеечку, есно, которую он видимо пытается выкляньчивать у китайских барыг торговцев.
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.