Съдържание:

Захранване с превключвател в режим на високо напрежение (SMPS)/Boost Converter за Nixie тръби: 6 стъпки
Захранване с превключвател в режим на високо напрежение (SMPS)/Boost Converter за Nixie тръби: 6 стъпки

Видео: Захранване с превключвател в режим на високо напрежение (SMPS)/Boost Converter за Nixie тръби: 6 стъпки

Видео: Захранване с превключвател в режим на високо напрежение (SMPS)/Boost Converter за Nixie тръби: 6 стъпки
Видео: 12 Volt 150Ah Battery Charger using old Computer Power Supply - 220V AC to 12V DC 2024, Юли
Anonim
Захранване с превключвател в режим на високо напрежение (SMPS)/Boost Converter за Nixie тръби
Захранване с превключвател в режим на високо напрежение (SMPS)/Boost Converter за Nixie тръби

Този SMPS повишава ниското напрежение (5-20 волта) до високото напрежение, необходимо за задвижване на никси тръби (170-200 волта). Бъдете предупредени: въпреки че тази малка верига може да работи с батерии/стени с ниско напрежение, изходът е повече от достатъчен, за да ви убие!

Проектът включва: помощни електронни таблици EagleCAD CCT и PCB файлове Източник на фърмуера на MikroBasic

Стъпка 1: Как работи?

Как работи?
Как работи?

Този дизайн се основава на бележка за приложение Microchip Application TB053 с няколко модификации, базирани на опита на членовете на Neonixie-L (https://groups.yahoo.com/group/NEONIXIE-L/). Вземете бележката за приложението - това е хубаво четене само на няколко страници: (https://ww1.microchip.com/downloads/en/AppNotes/91053b.pdf) Илюстрацията по -долу е откъс от TB053. Той очертава основния принцип зад SMPS. Микроконтролер заземява FET (Q1), позволявайки на заряда да се вгради в индуктор L1. Когато FET е изключен, зарядът преминава през диод D1 в кондензатор C1. Vvfb е обратна връзка на делителя на напрежение, която позволява на микроконтролера да следи високото напрежение и да активира FET според нуждите, за да поддържа желаното напрежение.

Стъпка 2: Характеристики на индуктора

Характеристики на индуктора
Характеристики на индуктора

Макар и много хубаво, бележката за приложението Microchip ми изглежда малко назад. Той започва с определяне на необходимата мощност, след което избира време на зареждане на индуктор, без да се притеснява за наличните индуктори. Намерих за по-полезно да избера индуктор и да проектирам приложението около това. Индукторите, които използвах, са „C&D Technologies Inductors RADIAL LEAD 100uH“(част Mouser 580-18R104C, 1.2 ампер, $ 1.40), (част Mouser 580-22R104C, 0.67 усилвател, $ 0,59). Избрах тези индуктори, защото са много малки, много евтини, но имат прилични мощности. Вече знаем максималната непрекъсната мощност на нашата бобина (0,67 ампера за 22R104C), но трябва да знаем колко време ще отнеме зареждането (време на нарастване). Вместо да използваме фиксирано време на зареждане (виж уравнение 6 в TB053), за да определим необходимите усилватели на бобината, можем да разпитаме уравнение 6 и да решим за времето на нарастване: (забележка: уравнение 6 в TB053 е погрешно, трябва да е L, а не 2L) (Volts in/Inductor uH)*rise_time = Peak Amps -става- (Inductor uH/Volts in)*Peak Amps = време на нарастване.използването на 22R104C с 5-волтово захранване дава следното- (100/5)*0.67 = 13.5uS Ще са необходими 13.5 uS за пълно зареждане на индуктивната бобина при 5 волта. Очевидно тази стойност ще варира при различно захранващо напрежение. Както е отбелязано в TB053: "Токът в индуктор не може да се промени незабавно. Когато Q1 е изключен, токът в L1 продължава да тече през D1 към кондензатора за съхранение, C1 и товара, RL. По този начин токът в индуктора намалява линейно във времето от пиковия ток. "Можем да определим времето, необходимо на тока да изтича от индуктора, използвайки уравнение TB05 7. На практика това време е много кратко. Това уравнение е приложено в включената електронна таблица, но няма да бъде обсъждано тук. Колко мощност можем да извлечем от индуктор от 0,67 ампера? Общата мощност се определя от следното уравнение (tb053 уравнение 5): Мощност = (((време на нарастване)*(Волта в)2)/(2*индуктор uH))-използвайки предишните ни стойности, намираме-1.68 Вата = (13.5uS*5volts2)/(2*100uH)-конвертиране на ватове в mA-mA = (((мощност ватове)/(изходни волта))*1000-използвайки изходно напрежение 180 намираме-9,31mA = (1,68 вата/180 волта)*1000 можем да получим максимум 9,31 mA от тази намотка с захранване от 5 волта, игнорираща всички неефективности и загуби при превключване. По -голяма изходна мощност може да бъде постигната чрез увеличаване на захранващото напрежение. Всички тези изчисления са изпълнени в "Таблица 1: Изчисления на бобина за захранване с високо напрежение" на електронната таблица, включена в тази инструкция. Въведени са няколко примерни намотки.

Стъпка 3: Управление на SMPS с микроконтролер

Управление на SMPS с микроконтролер
Управление на SMPS с микроконтролер

Сега, след като сме изчислили времето за нарастване на нашата намотка, можем да програмираме микроконтролер да я зарежда достатъчно дълго, за да достигне номиналната си mA. Един от най -лесните начини да направите това е да използвате хардуерен модулатор на ширината на импулса на PIC. Широтно -импулсната модулация (ШИМ) има две променливи, очертани на фигурата по -долу. По време на работния цикъл PIC включва FET, заземява го и допуска ток в бобината на индуктора (време на нарастване). През останалата част от периода FET е изключен и токът изтича от индуктора през диода към кондензаторите и натоварването (време на падане). Вече знаем необходимото време за нарастване от предишните ни изчисления: 13.5uS. TB053 предполага, че времето за покачване е 75% от периода. Определих стойността на периода си, като умножа времето за нарастване с 1,33: 17,9uS. Това е в съответствие с предложението в TB053 и гарантира, че индукторът остава в прекъснат режим - напълно се разрежда след всяко зареждане. Възможно е да се изчисли по -точен период, като се добави изчисленото време на нарастване към изчисленото време на падане, но аз не се опитах това. Сега можем да определим действителния работен цикъл и стойностите на периода, които да въведем в микроконтролера, за да получим желаните интервали от време. В наръчника на Microchip PIC за среден клас намираме следните уравнения (https://ww1.microchip.com/downloads/en/DeviceDoc/33023a.pdf):PWM Duty Cycle uS = (10 bit Duty Cycle Value) * (1 / честота на осцилатора) * Предсказващо устройство Ако зададем прескалер на 1 и победим това уравнение с алгебра, получаваме: 10 битова стойност на работния цикъл = ШИМ дълъг цикъл uS * Честота на осцилатора Заменете работния цикъл uS за изчислено време на нарастване и приемете 8 Mhz осцилатор честота: 107 = 13.5uS * 8Mhz107 се въвежда в PIC, за да се получи работен цикъл от 13.5uS. След това определяме стойността на периода на PWM. От Ръководството за средния диапазон получаваме следното уравнение: PWM период uS = ((стойност на периода на PWM) + 1) * 4 * (1/честота на осцилатора) * (стойност на премащаб) Отново задаваме прескалиране на 1 и тормозим уравнението за стойността на периода на ШИМ, която ни дава: стойността на периода на ШИМ = ((Период на ШИМ uS/(4/Честота на осцилатора))-1) Период на заместване uS за (1,33*време на нарастване), и приемаме 8 Mhz честота на осцилатора: 35 = ((17.9/(4/8))-1) 35 се въвежда в PIC, за да се получи период от 17.9uS. Но почакай! Не е ли периодът по -кратък от работния цикъл? Не - PIC имат 10 -битов регистър на работен цикъл и регистър на 8 -битов период. Има по -голяма разделителна способност за стойността на работния цикъл, поради което стойността й понякога ще бъде по -голяма от стойността на периода - особено при високи честоти. Всички тези изчисления са изпълнени в "Таблица 2. PWM изчисления" на електронната таблица, включена в тази инструкция. Въведени са няколко примерни намотки.

Стъпка 4: Дизайн на печатни платки

Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки
Дизайн на печатни платки

PCB и CCT са във формат EagleCad. И двете са включени в ZIP архива.

Разгледах няколко съществуващи дизайна, когато правех тази печатна платка. Ето моите бележки за: важни характеристики на дизайна: 1. Следвах бележката на Microchip APP и използвах TC4427A за задвижване на FET. Това А) предпазва микроконтролера от напрежения, които излизат от FET, и B) може да управлява FET при по -високи напрежения от PIC за по -бързо/по -трудно превключване с по -добра ефективност. 2. Разстоянието от ШИМ на PIC до FET е сведено до минимум. 3. БНТ, индуктор, кондензатори опаковани много плътно. 4. Следи за доставка на мазнини. 5. Добро заземяване между FET и точката на свързване на стенен мъст. Избрах микроконтролера PIC 12F683 за този проект. Това е 8 -пинов PIC с хардуерна ШИМ, 4 аналогово -цифрови преобразуватели, 8Mhz вътрешен осцилатор и 256 байта EEPROM. Най -важното е, че имах такъв от предишен проект. Използвах IRF740 FET поради високото му признание в списъка на Neonixie-L. Има 2 кондензатора за изглаждане на HV захранването. Единият е електролитен (висока температура, 250 волта, 1uF), другият е метален филм (250 волта, 0.47uf). Последното е много по -голямо и по -скъпо ($ 0.50 срещу $ 0.05), но е необходимо, за да се получи чиста продукция. В този дизайн има две вериги за обратна връзка по напрежение. Първият позволява на PIC да усети изходното напрежение и да приложи импулси към FET, за да поддържа желаното ниво. "Таблица 3. Изчисления на мрежата за високо напрежение за обратна връзка" може да се използва за определяне на правилната стойност на обратната връзка, като се има предвид делителя на напрежението на 3 резистора и желаното изходно напрежение. Фината настройка се извършва с 1k тример резистор. Втората обратна връзка измерва захранващото напрежение, така че PIC може да определи оптималното време на нарастване (и стойностите на периода/работния цикъл). От уравненията в стъпка 1 открихме, че времето на нарастване на индуктора зависи от захранващото напрежение. Възможно е да въведете точни стойности от електронната таблица във вашия PIC, но ако захранването се промени, стойностите вече не са оптимални. Ако работи от батерии, напрежението ще намалее, тъй като батериите се разреждат, което налага по -дълго време за покачване. Моето решение беше да оставя PIC да изчисли всичко това и да зададе свои собствени стойности (вижте фърмуера). Триконтактният джъмпер избира източника на захранване за TC4427A и индуктивната намотка. Възможно е да се работи и от 5 -волтов регулатор 7805, но по -добра ефективност и по -висока мощност се постигат с по -голямо захранващо напрежение. И TC4427a, и IRF740 FET ще издържат до ~ 20 волта. Тъй като PIC ще калибрира за всяко дадено захранващо напрежение, има смисъл да ги захранва директно от захранването. Това е особено важно при работа с батерии - няма нужда да губите енергия в 7805, просто захранвайте индуктора директно от клетките. Светодиодите са по избор, но са удобни за отстраняване на проблеми. „Лявият“светодиод (жълт в моите дъски) показва, че обратната връзка на HV е под желаната точка, докато десният светодиод (червен в моя дизайн) показва, че е свършил. На практика получавате приятен ШИМ ефект, при който светодиодите светят по интензитет спрямо текущото натоварване. Ако червеният светодиод се изключи (непрекъснато), това показва, че въпреки усилията си PIC не може да поддържа изходното напрежение на желаното ниво. С други думи, натоварването надвишава максималната мощност на SMPS. НЕ ЗАБРАВЯЙТЕ ДЖЪМПЪРОВЕТЕ, ПОКАЗАНИ В ЧЕРВЕНО! Частна стойност на частта C1 1uF 250V C3 47uF 50V C4 47uF (50V) C5 0.1uF C6.1uf C7 4u7 (50V) C8 0.1uF C9 0.1uF C11 0.47uF/250V D1 600V 250ns IC2 TC4427a IC5 7805 5 -волтов регулатор IC7 PIC 12F683 L1 (22R104C) LED1 LED2 Q1 IRF740 R1 120K R2 0.47K R3 1K Линеен тример R4 330 Ohm R5 100K R6 330 Ohm R7 10K SV1 3 -контактна глава X2 3 Винтова клема

Стъпка 5: Фърмуер

Фърмуер
Фърмуер

Фърмуерът е написан на MikroBasic, компилаторът е безплатен за програми до 2K (https://www.mikroe.com/). Ако имате нужда от PIC програмист, помислете за моята подобрена програматорска програма JDM2, публикувана също на инструкции (https://www.instructables.com/ex/i/6D80A0F6DA311028931A001143E7E506/?ALLSTEPS). Основна операция: 1. Когато се подаде захранване, PIC стартира. 2. PIC забавя за 1 секунда, за да позволи стабилизиране на напрежението. 3. PIC чете обратна връзка за захранващото напрежение и изчислява оптималните стойности на работния цикъл и периода. 4. PIC регистрира показанията на ADC, работния цикъл и стойностите на периода в EEPROM. Това позволява отстраняване на проблеми и помага за диагностициране на катастрофални повреди. EEPROM адрес 0 е указателят за запис. Всеки 4-байтов дневник се записва всеки път, когато SMPS се стартира (повторно). Първите 2 байта са ADC високи/ниски, третият байт е по -нисък 8 бита на стойността на работния цикъл, четвъртият байт е стойността на периода. Общо 50 калибрации (200 байта) се регистрират, преди указателят за запис да се преобърне и да започне отново на адрес EEPROM 1. Най-новият регистър ще бъде разположен при показалец-4. Те могат да бъдат прочетени от чипа с помощта на PIC програмист. Горните 55 байта се оставят свободни за бъдещи подобрения (вижте подобрения). 5. PIC влиза в безкраен контур - измерва се стойността на обратна връзка с високо напрежение. Ако е под желаната стойност, регистрите на работния цикъл на ШИМ се зареждат с изчислената стойност - ЗАБЕЛЕЖКА: долните два бита са важни и трябва да бъдат заредени в CPP1CON 5: 4, горните 8 бита отиват в CRP1L. Ако обратната връзка е над желаната стойност, PIC зарежда регистрите на работния цикъл с 0. Това е система за „пропускане на импулс“. Реших да пропусна пулса по две причини: 1) при толкова високи честоти няма много работна ширина, с която да се играе (0-107 в нашия пример, много по-малко при по-високо захранващо напрежение) и 2) възможна е честотна модулация, и дава много повече място за настройка (35-255 в нашия пример), но САМО ЗАДЪЛЖЕНИЕТО Е ДВОЙНО БУФЕРИРАНО В ХАРАКТЕРИСТИКА. Промяната на честотата, докато ШИМ работи, може да има „странни“ефекти. Използване на фърмуера: Необходими са няколко стъпки за калибриране, за да използвате фърмуера. Тези стойности трябва да бъдат компилирани във фърмуера. Някои стъпки не са задължителни, но ще ви помогнат да извлечете максимума от захранването си. const v_ref като float = 5.1 'float const supply_ratio като float = 11.35' float const osc_freq като float = 8 'float const L_Ipeak като float = 67' float const fb_value като дума = 290 'дума Тези стойности могат да бъдат намерени в горната част на код на фърмуера. Намерете стойностите и задайте, както следва. v_ref Това е референтното напрежение на ADC. Това е необходимо, за да се определи действителното захранващо напрежение, което да се включи в уравненията, описани в стъпка 1. Ако PIC се управлява от 7805 5 -волтов регулатор, можем да очакваме около 5 волта. С помощта на мултицет измерете напрежението между захранващия щифт на PIC (PIN1) и масата на винтовата клема. Точната ми стойност беше 5,1 волта. Въведете тази стойност тук. supply_ratio Делителят на захранващото напрежение се състои от 100K и 10K резистор. Теоретично обратната връзка трябва да бъде равна на захранващото напрежение, разделено на 11 (виж Таблица 5. Изчисления на мрежата за обратна връзка на захранващото напрежение). На практика резисторите имат различни отклонения и не са точни стойности. За да намерите точното съотношение на обратна връзка: 1. Измерете захранващото напрежение между винтовите клеми. 2. Измерете напрежението на обратната връзка между PIC щифт 7 и масата на винтовата клема. 3. Разделете Supply V на FB V, за да получите точно съотношение. Можете също да използвате "Таблица 6. Калибриране на обратна връзка за захранващо напрежение". osc_freq Просто честотата на осцилатора. Използвам вътрешния 8Mhz осцилатор 12F683, така че въвеждам стойност 8. L_Ipeak Умножете индукционната намотка uH с максималните непрекъснати ампера, за да получите тази стойност. В примера 22r104C е намотка от 100uH с номинал 0,67 ампера непрекъснато. 100*.67 = 67. Умножаването на стойността тук елиминира една 32 -битова променлива с плаваща запетая и изчисление, което иначе би трябвало да се направи на PIC. Тази стойност се изчислява в "Таблица 1: Изчисления на бобина за захранване с високо напрежение". fb_value Това е действителната цяло числова стойност, която PIC ще използва, за да определи дали изходът за високо напрежение е над или под желаното ниво. Използвайте таблица 3, за да определите съотношението между изходното напрежение и напрежението на обратната връзка, когато линейният тример е в централно положение. Използването на централната стойност дава възможност за регулиране от двете страни. След това въведете това съотношение и вашата точна референтна стойност на напрежението в "Таблица 4. Зададена стойност на ADC за високо напрежение за обратна връзка", за да определите fb_value. След като намерите тези стойности, въведете ги в кода и компилирайте. Запишете HEX на PIC и сте готови за работа! ЗАПОМНЕТЕ: EEPROM байт 0 е указателят за запис на дневник. Задайте го на 1, за да започнете да влизате в байт 1 на нова снимка. Поради калибрирането, FET и индукторът никога не трябва да се нагряват. Също така не трябва да чувате звънещ звук от бобината на индуктора. И двете условия показват грешка в калибрирането. Проверете регистъра на данните в EEPROM, за да определите къде може да е проблемът ви.

Стъпка 6: Подобрения

Подобрения
Подобрения

Няколко неща могат да бъдат подобрени:

1. Поставете винтовата клема по -близо до FET за по -добър път на земята. 2. Закрепете следата за захранване към кондензаторите и индуктора. 3. Добавете стабилна справка за напрежение, за да подобрите работата от батерии и захранващи напрежения под 7 волта (където изходът на 7805 пада под 5 волта). 4. Използвайте горните 55 EEPROM байта, за да регистрирате очарователни битове от безполезни данни - общо време на изпълнение, събития на претоварване, мин/макс/средно натоварване. -ian instructables-at-whereisian-dot-com

Препоръчано: