Автоматично устройство за съхранение на автомобилни акумулатори на PIC. Универсално зарядно за микроконтролер ATmega8 зарядно

Което е сглобено за тестване в кутия от cd устройство. Оказа се, че устройството се справя отлично със своите функции, зарежда и разрежда почти всяка батерия, като същевременно изчислява капацитета. Чрез редуване на цикли на зареждане и разреждане батериите могат да бъдат възстановени. В скорошно състезание за идеи беше предложено да се направи по-човешка версия.

Новото универсално зарядно устройство се захранва чрез USB от зарядно за смартфон или таблет. Може да се захранва и от компютърен USB порт. Платката има инсталиран micro-usb, но може да се инсталира и всяка друга опция. Има и жак за стандартен DC щепсел; когато през него се подава захранване с напрежение над 5 волта, джъмпера се отстранява на платката и логическата част започва да се захранва през LDO стабилизатора. Когато се захранва от 5 волта, джъмперът трябва да бъде инсталиран (той просто късо свързва входа и изхода на +5 волтовия стабилизатор).

Устройството е поставено върху платка 10 * 12 см. LCD индикатор 16 * 2 с i2c-конвертор е фиксиран върху монтажните стълбове. Платката има винтови клеми за свързване на акумулаторна батерия и товар за разреждане, който може да бъде електрическа крушка или мощен циментов резистор 5W със съпротивление например 4,7 ома. Съпротивлението на този резистор се изчислява по формулата R = U / I, където U е напрежението на акумулатора, а I е желаният начален разряден ток. Ако разреждането не е планирано, тогава товарът може да бъде оставен несвързан. Управлението се осъществява с помощта на три бутона. Информацията се показва на дисплея, в допълнение към това се използва малък бипер без вграден генератор и светодиод. Колкото по-ярък е светодиодът, толкова по-широка е ширината на импулса в режим на зареждане.

Схемата на зарядното устройство е същата като в оригиналната тестова версия с малки промени. Полевите транзистори трябва да са с логическо ниво, можете да ги намерите на компютърните платки. Транзисторите на полевия драйвер на p-канала трябва да са текущи, например - SS8050 и SS8550. Индукторът на преобразувателя трябва да може да издържа на подходящия ток.


щракнете, за да увеличите
Режими на работа на интелигентното универсално зарядно устройство:

  • Главно меню. той избира параметрите на зареждане, разреждане, калибриране на волтметъра
  • зареждане. текущите и зададените параметри за зареждане се показват на екрана, възможно е да промените параметрите директно по време на процеса на зареждане. има ограничение на напрежението и тока до посочените стойности с помощта на PWM. зареждането приключва, когато се достигне определеното напрежение и токът на зареждане намалява под указаното.
  • освобождаване от отговорност. управлението е подобно на зареждането. разрядът приключва, когато напрежението или токът паднат под посочените.
В процеса се броят милиампер-часовете, те също се показват в края. Въз основа на изчислените стойности можете да определите степента на загуба на капацитета на батерията, т.е. колко е износен. Ако батерия с капацитет 1A / h улавя 500 mA / h или улавя 1A / h и дава 500 mA / h, тогава нейният ресурс вече е значително изчерпан.

Калибрирането на измерването на тока по време на зареждане и разреждане се извършва с помощта на подстригващи резистори според показанията на примерен амперметър. Калибрирането на волтметъра се извършва по същия начин. На платката е предвиден ISP конектор за мигане на микроконтролера.

Тази версия на устройството е доста подходяща за използване, но много може да се подобри. Платката може да се направи по-компактна, като поставите държачите за батерии директно върху нея. Може би ще има друга версия на устройството, ако има интерес към него. Можете да изразите този интерес, като поставите харесване във всяка социална мрежа, като щракнете върху бутона под статията. Колкото по-голям е интересът, толкова повече ще има стимул за работа по този проект, информацията ще се допълва.

С пожелания, допълнения и уточнения - заповядайте в коментарите.

PCB: Очаквайте скоро
фърмуер: скоро

"Народна" опция за почти универсално зареждане на Aliexpress: Lii-100.

Лека модификация на универсалното зарядно устройство, което ви позволява да зададете разрядния ток. Първоначално се определя само от съпротивлението на товарния резистор. С тази модификация токът може да се регулира в рамките на тази стойност, т.е. максималният ток се определя от товарния резистор, но може да се зададе и по-нисък.

Усъвършенстването може да се извърши чрез повърхностен монтаж или на малка дъска. Заедно с това се променят и някои сигнали. И така, PWM сигналът за зареждане (честота около 66 kHz) вече се взема от OC1A, PWM разряд - от OC1B, звук - от OC2. За да направите това, на платката ще трябва да хвърлите два резистора (преминавайки към OC1A и OC2) и да направите прекъсване от неизползвания PB0. Промените в диаграмата са показани в жълто.

Операционният усилвател може да се приложи по същия начин, както за измерване на тока в основната част на веригата. Не намерихме MCP6002, вместо това беше инсталиран TLC2272. Регулирането на разрядния ток работи по същия начин, както в оригиналния IMAX. В този случай не само товарният резистор ще се загрее, но и полевият контролер Q1.

Тъй като за цялото време на използване на устройството го захранвахме изключително от USB, фърмуерът е оптимизиран за изходно напрежение не повече от 5 волта, за почти всички "кръгли" батерии това е достатъчно: можете да зареждате и разреждате единични литиеви кутии или две никелови батерии, свързани последователно, максималният ток - 2 ампера.

Честотомер на AT90S2313

Виртуалният честотомер е "комплект" от компютърна програма и обикновено измервателно устройство, което е свързано към COM порта на компютъра.Виртуалният инструмент ви позволява да измервате честота, период, времеви интервали и да броите импулси.

Подробности:http://home.skif.net/~yukol/FMrus.htm

Препоръчвам да сглобите прост дизайн, който не изисква конфигурация и най-важното е, че работи! Програмиран микроконтролерпрограмист PonyProg - отличен програмист, прост, голям набор от програмируеми микроконтролери,работи под Windows, интерфейсът е руски.


Радиосписание N1 2002г За Ni-Cd батерии. Позволява ви да зареждате 4 батерии.



Честотомер на снимка 16F84A

Спецификации на честотомера:

Максимална измерена честота ............. 30 MHz;

Максималната разделителна способност на измерената честота .. .10 Hz.

Входна чувствителност .................... 250 mV;

Захранващо напрежение .................. 8 ... 12 V:

Консумация на ток ................................. 35 mA


Подробности, фърмуер:http://cadcamlab.ru


Станция за запояване на Atmega 8


Превключването на поялника и сешоара се извършва от компютърните ключове. Сешоарът се управлява от тиристор, т.к 110v сешоар вместо R1 диоден катод към V.6.


Подробности, фърмуер: http://radiokot.ru/forum


Цифров измервател на капацитета без запояване от веригата

Описанието е дадено в списание "Радио" № 6 2009 г. Структурата е сглобена на AT90S2313, без промени в използвания фърмуер Tiny2313. В Pon'ka сложих квадратчетата за SUT1, CKSEL1, CKSEL0, останалите са празни. Не инсталирах MAX631, скъпо е за нас, реших да го захранвам от захранването през стабилизатора 7805, R29, R32, R33, сложих го на плюс захранване. В допълнение към измервателя на капацитета, в корпуса е монтирана сонда за тестване на транзистори без запояване и генератор на LF RF сигнал.



Полупроводников уред на базата на ATmega8

Устройството може:

Определете изводите на полупроводниците;
- определят вида и структурата;
- измерване на статичните параметри.
Измерва диоди, биполярни транзистори, JFET и MOS полеви транзистори, резистори, кондензатори.


Глюкомерът е направен в същия корпус като FCL метъра, индикаторът се превключва между инструментите чрез превключвателя на компютъра.

Честотомер, измервател на капацитет и индуктивност - FCL-метър

Устройството, описано по-долу, дава възможност за измерване на честотите на електрическите трептения, както и на капацитета и индуктивността на електронните компоненти, с висока точност в широк диапазон. Дизайнът е с минимални размери, тегло и консумация на енергия.

Спецификации:

Захранващо напрежение, V: 6 ... 15

Консумационен ток, mA: 14 ... 17

Граници на измерване:

F1, MHz 0,01 ... 65 **

F2, MHz 10 ... 950

От 0,01 pF ... 0,5 μF

L 0,001 μH ... 5 H


Диаграма на дистанционната глава


Повече информация: http://ru3ga.qrz.ru/PRIB/fcl.shtml


Миниатюрен волтметър на базата на микроконтролер ATmega8L


Тук разглеждаме дизайна на волтметър само на един микроконтролер ATmega8L и индикатор от електронен медицински термометър. Диапазонът на измерените постоянни напрежения е ± 50 V. Като допълнителна функция е реализиран режим на звукова сонда за проверка на целостта на проводниците, лампи с нажежаема жичка. Устройството автоматично преминава в режим на готовност, когато няма измервания. Микроконтролера се захранва от две миниатюрни алкални клетки (батерии за ръчен часовник), настроих 1 клетка на 3v. Няма да е необходимо често да сменяте батериите: консумацията на ток в активен режим е само 330 μA, в режим на готовност - по-малко от 300 nA. Благодарение на миниатюрния си дизайн и възможности, устройството е полезно и практично. Платката не се побираше в кутията на термометъра и я направих в кутията от фламастера. Той направи своя собствена платка, резистори R5-R7, инсталирани vetikically на автобусите. VADZZ помогна да се направи фърмуера от източника благодарение на него. Индикаторни щифтове отляво надясно, щифтове отдолу и с лице към вас.

Схема (за диаграма в пълен размер запазете изображението на вашия компютър).

За повече подробности вижте: http://www.rlocman.ru/shem/schematics.html?di=63917

Памет с функция за измерване на капацитет

Исках да измеря капацитета на батериите, вносните измервателни уреди са доста скъпи, намерих интересна схема и я сглобих. Работи добре, зарежда, мери, но с каква прецизност не мога да кажа - няма стандарт. Измерих акумулатори на доста прилични фирми 2700 ma/h - имах предвид 2000. Батерии за играчки 700 ma/h -350, поръчах китайски BTY батерии 2500 ma/h - 450 ma/h на EBAY, но в същото време са доста прилични, работят добре в играчки, много по-изгодни от батериите.


Устройството е предназначено да зарежда NiMH батерии и да контролира капацитета им. Превключването между режими на зареждане/разреждане се извършва с бутона SA1. Режимът на работа се индикира със светодиоди и десетичните точки на първите две цифри на седемсегментния дисплей.
Веднага след включване на захранването устройството преминава в режим на зареждане. Индикаторът показва времето за зареждане. След изтичане на програмирания период от време зареждането спира. Краят на заряда (и разрядът е същият) се доказва от осветената точка на четвъртия разряд. Токът на зареждане се определя като C / 10, където C е капацитетът на батерията, зададен от тримера R14.
Принципът на работа на измервателния уред се основава на изчисляване на времето, през което напрежението на батерията ще падне до 1,1 V. Токът на разреждане трябва да бъде равен на 450 ma, настроен на R16. За да измерите капацитета, трябва да поставите батерията в отделението за разреждане и да започнете процеса с натискане на бутон! Устройството може да разреди само една батерия.

Повече информация:http://cxem.net

Универсална печка за шунка

Печка за запояване на SMD части има 4 програмируеми режима.

Контролна блокова диаграма (за пълноформатна диаграма запазете изображението на вашия компютър).


Захранване и управление на нагревателя


Сглобих тази структура, за да управлявам IR станция за запояване. Може би някой ден ще управлявам печката. Имаше проблем със стартирането на генератора, поставих 22 pF кондензатори от щифтове 7, 8 към маса и започна да стартира нормално. Всички режими работят нормално, заредени с 250 W с керамичен нагревател.

Повече информация: http://radiokot.ru/lab/hardwork/11/

Докато няма печка, направих това долно отопление, за малки дъски:

Нагревател 250 W, диаметър 12 см, изпратен от Англия, закупен от EBAY.


Цифрова станция за запояване на базата на PIC16F88x / PIC16F87x (a)

Станция за запояване с два едновременно работещи поялника и сешоар. Можете да използвате различни MCU (PIC16F886 / PIC16F887, PIC16F876 / PIC16F877, PIC16F876a / PIC16F877a). Дисплеят е от Nokia 1100 (1110). Оборотите на турбината на сешоара се управляват електронно, а тръстиковият превключвател, вграден в сешоара, също е включен. В авторската версия беше използвано импулсно захранване, използвах трансформаторно захранване. Всички харесвам тази станция, но с моя поялник: 60W, 24V, с керамичен нагревател, голям разход и температурни колебания. В същото време поялниците с по-ниска мощност с нихромен нагревател имат по-малко колебания. В същото време моят поялник, с описаната по-горе станция за запояване от Mikhi-Pskov, с фърмуер от Volu, поддържа температурата с точност до градус. Така че е необходим добър алгоритъм за отопление и поддържане на температурата. Като експеримент направих PWM регулатор на таймер, подадох управляващото напрежение от изхода на усилвателя на термодвойката, изключих, включих от микроконтролера, Температурните колебания веднага намаляха до няколко градуса, това потвърждава, че е правилен алгоритъм за управление необходими. Външният ШИМ разбира се е порнография при наличието на микроконтролер, но все още не е написан добър фърмуер. Поръчах друг поялник, ако няма добра стабилизация с него, ще продължа експериментите си с външно PWM управление или може би ще се появи добър фърмуер. Станцията е сглобена на 4 платки, свързани помежду си чрез съединители.

Диаграмата на цифровата част на устройството е показана на фигурата; за по-голяма яснота са показани два MC: IC1 - PIC16F887, IC1 (*) - PIC16F876. Други MCU са свързани по същия начин към съответните портове.

За да промените контраста, трябва да намерите 67 байта, стойността му е "0x80", като за начало можете да поставите "0x90". Стойностите трябва да са от "0x80" до "0x9F".

Относно дисплея 1110i (текстът се показва огледално), ако не Китай, а оригинала, отворете EEPROM, потърсете 75 байта, сменете го от A0 на A1.

В интернет има огромен брой схеми за зареждане (зарядни устройства) за автомобилни акумулатори. От най-простите до най-сложните. В нашия случай ще говорим за памет, направена на микроконтролер Atmega8 (MK). Използването на MK, за разлика от схемата на транзисторите, ви позволява да приложите много богата функционалност за паметта. Например в това зарядно реших да внедря следните функции.

1. Лесен за работа. Един енкодер е достатъчен. Завъртете по посока на часовниковата стрелка - зареждането се включи. Завъртането по часовниковата стрелка или обратно на часовниковата стрелка избира тока на зареждане. Кодерът реши да избере с ритъм. Като кликнете върху него, можете да влезете в менюто с настройки за допълнителни функции.

2. Токът на зареждане ще бъде до 5A. Въпреки че имам батерия 85A / h в колата си, 5A ми е достатъчно за зареждане, просто отнема малко повече време за зареждане. Въпреки това, ако е необходимо, ще бъде възможно да се увеличи зарядния ток до 10A без глобални промени и повторно мигане на MK.

3. Ще бъде възможно да се променя зарядния ток на стъпки до 0.1A. Минималният ток може да бъде избран до 0.1A. Това означава, че можете да зареждате и малки батерии. Освен това, ако енкодерът се върти малко по-бързо, стъпката на увеличаване / намаляване на тока на зареждане ще работи в рамките на 0,5 A.

4. Батерията ще се зареди до 14,4 волта.

5. На дисплеят ще показва информация за текущия заряден ток и напрежение на батерията, индикаторът за зареждане на батерията също ще работи, точно като в мобилен телефон. Стори ми се, че това ще бъде по-визуално.

6. Трябва да има защита срещу късо съединение на клемите на зарядното устройство. Например, ако свържете клемите на късо заедно и в същото време включите зарядното устройство, разбира се, това не трябва да му навреди. И като цяло, докато батерията не е свързана, няма да има напрежение на клемите. Освен това, ако батерията е била свързана по погрешка с грешен поляритет, ще бъде невъзможно да включите зареждането. Цялата тази защита ще бъде внедрена в софтуер и хардуер.

7. Зареждането на батерията трябва да бъде напълно автоматизирано. Това е напълно възможно, тъй като MK ще се използва. Автоматизирането на процеса на зареждане трябва да изключи човешко участие. Това означава, че свързах батерията, избрах тока на зареждане и това е всичко. Зарядното трябва да направи останалото. А именно, поддържане на избрания заряден ток по време на процеса на зареждане. Ако батерията е повредена и зареждането вече не е възможно, батерията трябва да бъде автоматично изключена, в противен случай тя просто ще кипи безкрайно и нямаме нужда от нея.

8. Функцията "съхранение на батерията през зимата" изглеждаше удобна. Каквото и да се каже, абсолютно всяка батерия в природата има собствен вътрешен саморазряд. Това означава, че ако просто оставите батерията без надзор за определен период, тогава поради тока на саморазреждане тя ще се разреди, което в крайна сметка ще доведе до сулфатиране на плочите. А за батерията това е смърт. Освен това времето за саморазреждане и сулфатиране не е толкова дълго. Понякога няколко месеца са достатъчни. За да не се случи това, функцията ще бъде внедрена"съхранение на батерии през зимата". Работи просто, свързваме зарядното към акумулатора и батерията не е необходимо да се изважда от колата. Освен това зарядното устройство ще следи напрежението на батерията на всеки половин час. Ако напрежението падне под нормата, автоматичното зареждане ще се включи, след края на цикъла на зареждане зарядното устройство отново ще премине в режим на управление на напрежението на батерията. Освен това прагът на реакция се задава от самия потребител в менюто и текущата сила също може да бъде избрана в менюто. Лично аз зададох праг от 12,5 волта за себе си и ток на зареждане от 0,5A. Зареждането с ниски токове е по-ефективно от високите токове.

9. Може би функцията "продължи зареждането след прекъсване на тока" ще бъде полезна. Въпреки че подобно съвпадение може да се случи веднъж на всеки 150 години, все пак тази функция е налице. Зарядното устройство винаги "помни", че процесът на зареждане е включен и ако електричеството е изключено/включено, зареждането просто ще продължи. Във всеки случай всички функции могат да бъдат деактивирани или активирани по избор в менюто. Ако изключите всички функции, зарядното устройство просто ще се превърне в "обикновено зарядно устройство", което ще зареди батерията и ще се изключи.

10. И накрая, програмният таймер ще работи в паметта. Таймерът постоянно ще тиктака напред 0..1.2 и така нататък. Ако батерията се зарежда, и това ще се види от това как напрежението върху нея постепенно се повишава до 14,4 волта. Така че, веднага щом напрежението на батерията леко се повиши, таймерът незабавно ще се върне на 0 и ще продължи да брои отново 0 ... 1,2 ... Но ако батерията е дефектна или стара, или плътността на електролита не е съвсем правилно, тогава при определен праг, зареждането е допълнително невъзможно. И този праг може да бъде под 14,4 волта. Как да бъде? В този случай таймерът ще спре да се нулира. И като достигне определен момент, той просто ще изключи зареждането със съобщение на дисплея. Няма смисъл да преварявате батерията допълнително. Таймерът може да се изключи от менюто или да се включи чрез задаване на диапазона на тиктакане от 30 минути до 3 часа. Дисплеят ще показва как таймерът ще тиктака и се нулира от време на време, ако зарядът изтече в нормален режим.

Сега нека да преминем към обсъждането на веригата на зарядното устройство.

Захранване.
В този случай ще използваме всяко импулсно захранване (UPS). Изходно напрежение от 16 до 20 волта. Тъй като токът на зареждане ще бъде до 5A, изходният ток на UPS трябва да бъде с марж някъде до 6A. Използвах IPBЗНАЧИ ДОБРЕРС-75-15който има изходно напрежение 15 волта, но в блока има тример с който може да вдигнеш напрежението до 16,5 волта. Предимството на UPS е, че е лек, компактен и има вградена защита срещу високи токове, къси съединения и т. н. Затова вече няма нужда да се притеснявате за това. Принципът е подходящ за всеки друг IPI. Поне от лаптоп. Ако вашият UPS има ток по-малък от 5A, можете също да го използвате, просто трябва да се уверите, че не задавате зарядния ток повече, отколкото UPS може да даде. Трансформаторното захранване не е подходящо в нашия случай. Зарядно на трансформатор е отделна тема и отделна статия. Така захранващата верига ще изглежда така.

Кондензатор 1000uF по принцип не може да бъде инсталиран, тъй като той вече е инсталиран в импулсното захранване на изхода, но ако го инсталирате, няма да е по-лошо. Кондензатор С2 е по-добър ако има електролит, но аз сложих керамичен smd. Стабилизаторът 7805 е необходим за захранване на MK, LCD дисплея и други връзки.

Сега нека свържем батерията и полевия транзистор.



Както можете да видите, всичко е просто. Транзисторът ще регулира тока през батерията. Релето K1 ще поеме ролята на защита, ще се включи само когато батерията е свързана и свързана правилно. Циментовият резистор R18 действа като шунт. При ток от 5A той ще има напрежение от 0,5 волта. Ще увеличим това напрежение и ще го подадем към MK ADC, така че MK ще знае какъв ток има в веригата за зареждане и тази стойност може да бъде показана. Сега е време да свържете MK към веригата.

Както можете да видите, схемата е станала малко по-сложна. Но не много. Свързваме реле към терминала PB0, всяко реле за 12V, чиито контакти трябва да издържат на ток от 5A. Затихващ резистор от около 200 ома трябва да бъде свързан последователно с релето, тъй като релето ще се захранва от напрежение 16-20 волта. Паралелно с бобината на релето трябва да бъде инсталиран защитен диод (всякакъв, поставенLL4148), без диод, транзисторът VT4 може да пробие. VT4 може да бъде всеки npn тип, използван MMBT4401LT1.

Енкодер е свързан към щифтове PD7, PC1, PC0. Използвал е този или този. На изходите, към които е свързан енкодерът, е необходимо да свържете 0,1 uF кондензатори и 10k издърпващи резистори. Това ще намали контактите.

Дисплеят беше използван на два реда от 16 знака. Дисплеят има и вграден руски шрифт. Ако свържете дисплей без руски символи, екранът ще бъде спукан. Тъй като Atmega8 MK няма много крака, дисплеят беше свързан чрез 4-битова шина. Изводите на дисплея DB3-DB0 не се използват.

Диод на Шотки BAT54S, два 0.1uF кондензатора и 100 Ohm резистор са свързани към извода MK PB2. Защо е необходимо това? Факт е, че схемата използва оперативен усилвател LM358, който не е "релса към релса". В такива операционни усилватели без отрицателно захранващо напрежение на отрицателния извод за захранване, изходът на операционния усилвател никога няма да има 0 волта. Следователно тази верига от елементи, свързани към щифта PB2, създава отрицателно напрежение от около -4V за захранване на операционния усилвател. За да може веригата на щифта PB2 да работи и да генерира -4V, към нея трябва да се приложи PWM сигнал с работен цикъл от 50%. По този начин на щифт PB2 винаги има PWM с честота 62,5 kHz.

ШИМ винаги присъства на извода PB3, но работният цикъл на сигнала в този случай от 0 до 100% вече се регулира от въртенето на енкодера. Резистор R18 и кондензатор C11 представляват интегрираща верига, която изглажда ШИМ в постоянно напрежение. Резисторите R19 и тримерът R20 са делители на напрежението. Как да настроя R20? Свързваме мултиметъра към щифта PB3 и завъртаме енкодера, докато устройството покаже 2,5 волта. След това завъртаме тримерния резистор R20, така че да има напрежение от 0,25 волта на неинвертиращия изход на операционния усилвател. Това завършва настройката на R20.

Как работи транзисторното регулиране и управление? Да предположим, че неинвертиращият изход на операционния усилвател (+) е 0,5 волта. Едно от свойствата на операционния усилвател е, че той се стреми да изравни потенциалната разлика между двата си входа. Той прави това, използвайки своя изход, като повишава или намалява напрежението върху него. Така че на щифта (+) е 0,5 волта, а на (-) щифта е 0 волта. Какво следва? Операционният усилвател незабавно ще започне да увеличава напрежението на изхода, който е свързан към портата на транзистора IRF540. Транзисторът започва да се отваря. Токът започва да тече през батерията, транзистора и шунта. Текущият ток причинява спад на напрежението в шунта R18. Операционният усилвател ще включи транзистора, докато има напрежение от 0,5 волта през шунта. Напрежението от шунта се подава през R13 към (-) терминала. Веднага щом има 0,5 волта на щифта (-) (същото като на (+) щифта), операционният усилвател ще спре да включва транзистора. В този случай зарядният ток ще бъде 5A.

Ако енкодерът намали напрежението на (+) терминала до 0,25 волта, операционният усилвател ще намали напрежението на портата на транзистора до такава стойност, че на (-) терминала, то също става 0,25 волта, тази стойност съответства на заряден ток от 2.5A. Оказва се, че регулирането на зарядния ток се извършва хардуерно с помощта на операционни усилватели. И това е много добре, тъй като операционният усилвател никога няма да замръзне и скоростта на рейк е мигновена. Тази управляваща верига е конвенционален линеен източник на ток. Удобството на тази схема е, че е проста, но недостатъкът е, че цялата разлика в напрежението между импулсното захранване и напрежението на батерията се освобождава под формата на топлина върху транзистора.

Например UPS издава 20 волта, напрежението на батерията в началото на нейното зареждане е 12 волта, а токът на зареждане е 5A. Колко мощност е разпределена на транзистора? (20-12) * 5 = 40 W. 40W е много!!! Имате нужда от силен радиатор и пет вентилатора. Толкова добре за нищо. Въпреки че транзисторът IRF540 ще издържи 150 вата, няма смисъл да нагрявате зарядното устройство с транзистора. Как да намалим генерирането на топлина? Можете да намалите напрежението на UPS, например, до 16 волта. Тогава (16-12) * 5 = 20 W два пъти по-малко е вече по-добре. Но отоплението може да се направи дори по-малко до 5 вата или по-малко. Как?

В IPB от подобен тип катоЗНАЧИ ДОБРЕРС-75-15винаги има подстригващ резистор, който може да регулира изходното напрежение в рамките на 10%. Това означава от 13,5 до 16,5, в моя случай се оказа от 13 до 17 волта. Можете да запоявате тримера от ISB и вместо това да запоите MK изхода, така че можем да използваме MK за регулиране на напрежението на изхода ISB, това ще намали генерирането на топлина на транзистора до минимум. Например, ако батерията има 12 волта, намаляваме напрежението до 13 волта и получаваме (13-12) * 5 = 5 W топлина на транзистора, по-добре от 40. Така че модернизираме веригата


Свържете оптрона PC123 или подобен към щифта PB1. На извода PB1 винаги е дежурен Pwm сигнал, който е интегриран от верига от R22 и C13. Запояваме резистора за подстригване в UPS и вместо това запояваме обичайния резистор 1,2 kOhm. Сега MK може да контролира напрежението на изхода на UPS чрез оптрон. Когато оптронът е изключен, напрежението на изхода на UPS е минимално, когато е включено, резисторът R23 е шунтиран към земята, напрежението се повишава. Плавно затваряне / отваряне на оптрона с помощта на PWM сигнал на щифта PB1, плавно регулиране на напрежението на изхода на UPS.

За да знаете кога и колко да регулирате напрежението на изхода на UPS, трябва да знаете колко волта има като цяло на силовия транзистор. След това трябва да намалим напрежението на изхода на UPS, така че разликата между напрежението на батерията и напрежението на изхода на UPS да е възможно най-ниска. За да направите това, ние измерваме напрежението на изтичането на транзистора с изхода на PC2 с помощта на MK ADC. Това се прави с помощта на разделител за R9 и R10. Сега, знаейки необходимите параметри, програмата в MC сама ще контролира работния цикъл на PWM на извода PB1.

Сега остава много малко. Това е за измерване на тока в зарядната верига и показване на дисплея. И остава да се измери напрежението на батерията и също да се покаже на дисплея.

Напрежението на акумулатора се измерва по диференциален начин. Премахваме стойността от щифта PC5. Резисторите R5 и R6 трябва да са точно 3 kOhm, а резисторите R2 и R4 трябва да са по 1 kOhm всеки, за предпочитане с точност от поне 1%, така че нямах такъв R4 като тример. Изводът е, че при такива номинални стойности на резистора съотношението на напрежението на входовете на операционния усилвател и на неговия изход е 3: 1. Когато напрежението се промени от 0 до 15 волта на батерията, напрежението на изхода на операционния усилвател ще се промени от 0 до 5 волта. За да настроите тази верига, трябва да свържете 14,4 волта вместо батерия, например от лабораторно захранване. След това завъртаме тримера R4, така че LCD дисплеят също да е 14,4 волта. Настройката на веригата за измерване на напрежението вече е завършена.

Токът се измерва чрез спада на напрежението през шунта, който се играе от конвенционален циментов резистор. Токът ни е от 0 до 5А. Напрежението през шунта варира съответно от 0 до 0,5 волта. Стойностите на резисторите R16 и R17 са избрани така, че напрежението на изхода на операционния усилвател да е от 0 до 5 волта. Настройваме дисплея на зарядния ток според следната верига. Свързваме батерията и правим ток от 2,5 A. Успоредно с батерията свързваме 12 волтова крушка. Изключваме батерията и оставяме крушката. Уверяваме се, че токът е 2,5 ампера. Ако напрежението на шунта е 0,25 волта, тогава токът е 2,5 A. ако не, завъртете енкодера, докато шунтът стане 0,25 волта. Сега завъртаме тримера R17, така че дисплеят да показва ток от 2.5A. Настройката на текущия дисплей вече е завършена.

Какво може да се опрости? Например, ако няма желание да се забърквате с делителя на напрежението в UPS, тогава всичко, което е запоено към крака на MK PB1, може да бъде изхвърлено от веригата. Но всичко останало трябва да е на мястото си. Но в този случай цялата разлика в напрежението между батерията и на изхода на UPS ще падне под формата на топлина върху силовия транзистор. В този случай не съжаляваме, че взехме повече от радиатора.

Ако имате нужда от заряден ток до 10A, успоредно на шунта, ние запояваме същия шунт със стойност 0,1 Ohm. Вземаме релето с контакти, издържащи до 10A и успоредно с транзистора IRF540 запояваме още едно от същото. Завиваме транзисторите на як радиатор и продължаваме, правим теста. Единственото нещо е, че стойността на тока на дисплея трябва да се умножи по 2. Ако дисплеят показва 5А, всъщност вече ще е 10А. Лично аз не съм правил това сам, но на теория би трябвало да работи.

В крайна сметка получената диаграма ще изглежда така:


Не виждам нищо, което да съм съгласен, така че изтеглете схемата оттук .

Няколко фрагмента на фърмуера.

#include "define.h" #include "init_mcu.h" #include "lcd.h" #include "text.h" #include "bits_macros.h" #include "fun.h" #include "encoder.h" # включва "servise.h" #include "main.h" #include #включи #включи #включи #включи #включи #включи #define RELAY PB0 uint8_t lcd_time, lcd_track, lcd_count, enc_interval, enc_speed, off_charge; uint8_t U_bat_tim, I_bat_tim = 255, stok_reg, energy_flag, count; uint16_t I_reg, enc_block, bat_count, bat_save, bat_off; EEMEM uint8_t energy_off; struct флаг (_Bool lcd_clr_txt0: 1; _Bool lcd_clr_txt1: 1; _Bool count_timer0: 1; // за манипулатора на прекъсване _Bool start_charging: 1; // изключете релето, ако електричеството е изключено, когато бухалката се зарежда: _b lock o1_) знамена; ISR (TIMER0_OVF_vect) // прекъсване на препълване на таймер 0 на всеки 1ms. (TCNT0 = 0x6; flags.count_timer0 = 1;) void reg_I (uint16_t reg_val) // намаляване на тока на зареждане, когато се достигне 14,4 волта (ако (I_reg> reg_val) (I_reg = 0; off_charge = 1; ако (OCR2! = 0) (OCR2--; enc_data = OCR2;))) void charg_off (void) (if (BitIsSet (PORTB, RELAY)) (eeprom_update_byte (& energy_off, 0);) ClearBit (PORTB, RELAY); ClearBit (TCCR2, COM21); // деактивира хардуерния Pwm изход на PB3 щифта OCR1A = 0; // намали захранването на импулсния генератор до 12,5 волта.off_charge = 0; flags.start_charging = 0; flags.ocr1a_block = 0; enc_data = 0; I_bat_tim = 255; count = 0; OCR2 = 0;) int main (void) (#if 1 // инициализация MCU_init_ports (); MCU_init_adc (); MCU_init_an_comp (); MCU_init_timer0 (); MCU_init2 MCU_timer1 (_ti); ; LCD_init_flash , 0); LCD_string_of_flashXY (text_2,3,1); _delay_ms (1500); LCD_string_of_flashXY (text_3,3,0); LCD_string_of_flashXY (text_4,2,1); _delay_ms (текст_4,2,1); _delay_ms (текст_4,2,1); _delay_ms (текст_4,2,1); _delay_ms (PIND , PUSH)) (servise ();) // влизане в сервизното меню if (eeprom_read_byte (& energy_off) && u_batt ()> 20) (enc_data = eeprom_read_byte (& i_pusk); ) else (eeprom_update_byte (& energy_off, 0);) MCU_init_wdt (); сей (); #endif while (1) (wdt_reset (); uint8_t u_bat = u_batt (); uint8_t i_bat = i_batt (); #if 1 / * определя дали батерията е свързана * / if (u_bat> 30) // 30 * 0,0585 = 1,7 волта на батерия, свързана (if (flags.lcd_clr_txt0 == 0) (flags.lcd_clr_txt0 = 1; LCD_clear ();) if (lcd_time> 200) (lcd_time = 0; LCD_string_of_flashXY,f_string_of_flashXY,f_string_of_flashXY,f); XY (текст 7,0); LCD_string_of_flashXY (text_11,13,0); char буфер; uint16_t U = (u_bat * 59) / 100; utoa ((uint8_t) U, буфер, 10); // показване на напрежението, ако (( uint8_t ) U> = 100) (LCD_dataXY (буфер, 2,0); LCD_data (буфер); LCD_data ("."); LCD_data (буфер); LCD_string_of_flashXY (text_10,6,0);) иначе ако ((uint8_t) U > = 10 && (uint8_t) U<=99) { LCD_dataXY(buffer,2,0); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,5,0); } else { LCD_dataXY("0",2,0); LCD_data("."); LCD_data(buffer); LCD_string_of_flashXY(text_10,5,0); } uint16_t I=(i_bat*20)/100; utoa((uint8_t)I, buffer, 10);//выводим ток на дисплей c шунта if ((uint8_t)I>9) (LCD_dataXY (буфер, 10,0); LCD_data ("."); LCD_data (буфер);) друго (LCD_dataXY ("0", 10,0); LCD_data ("."); LCD_data (буфер); ))) else // не е свързан (LCD_string_of_flashXY (text_5,0,0); LCD_string_of_flashXY (text_6,0,1); flags.lcd_clr_txt0 = 0; eeprom_update_byte (& energy_off, 0);;) #endif #if флаг за прекъсване на timer0 на процес * / if (flags.count_timer0 == 1) (flags.count_timer0 = 0; lcd_time ++; enc_interval ++; I_reg ++; lcd_track ++; if (enc_speed! = 100) // определяне на енкодера скорост на въртене. (enc_speed ++;) if (enc_block > = 1) (enc_block ++; if (enc_block> = 500) (enc_block = 0;)) if (BitIsSet (PORTB, RELAY)) (bat_count ++;) else (bat_count = 0; bat_off = 0; bat_save ++;) stok_reg ++; if (flags.start_charging && count! = 255) (count ++;)) #endif #if 1 / * Получаване на данни от енкодера * / if (enc_interval> = 5) (enc_interval = 0; OCR2 = encoder (); // четене на стойностния кодер. #if 0 // временно за тестов буфер за символи; utoa (OCR2, bu ffer, 10); if (OCR2> = 100) (LCD_dataXY (буфер, 0,1); LCD_data (буфер); LCD_data (буфер);) else if (OCR2> = 10 && OCR2<=99) { LCD_dataXY("0",0,1); LCD_data(buffer); LCD_data(buffer); } else { LCD_dataXY("0",0,1); LCD_data("0"); LCD_data(buffer); } #endif if (OCR2==0)//отключаем все. { charg_off(); } else//начали заряд { if (flags.ocr1a_block==0) { flags.ocr1a_block=1; OCR1A=255;//подняли питание импульсника до 17 вольт. } SetBit(TCCR2,COM21); SetBit(PORTB,RELAY); } } #endif #if 1 /*уменьшение тока заряда при достижении 14.4вольта*/ if (u_bat==246 && OCR2>0) (reg_I (3000); // веднъж на всеки 3 секунди) else if (u_bat == 255 && OCR2> 0) (reg_I (100); // веднъж на всеки 100 ms) else if (u_bat> 246 && OCR2> 0 ) (reg_I (500); // веднъж на всеки 500 ms) #endif #if 1 / * Изключете зареждането, когато зарядният ток достигне 0.1A * / if (off_charge == 1 && enc_block == 0) (if (i_bat<=5)//5*0.02=0.1 А ток в батарее. { charg_off(); flags.lcd_clr_txt1=1; LCD_string_of_flashXY(text_13,0,1);//"БАТАРЕЯ ЗАРЯЖЕНА" } } //отключение реле если при заряде бат откл. электричество. if (OCR2>0 && i_bat> 4) // 4 * 0.02 = 0.08A (flags.start_charging = 1;) if (flags.start_charging == 1 && i_bat<2 && count==255)//2*0.02=0.04 А ток в батарее. { ClearBit(PORTB,RELAY); } #endif #if 1 /*Бегущий индикатор на дисплее*/ if (OCR2>0) (if (flags.lcd_clr_txt1 == 1) (flags.lcd_clr_txt1 = 0; LCD_string_of_flashXY (text_8,0,1);) if (lcd_track> = 200) (lcd_track = 0; l_c превключвател) (cd_count) случай 0 : LCD_data_of_flashXY (текст_15,8,1); прекъсване; случай 1: LCD_data_of_flashXY (текст_16,8,1); прекъсване; случай 2: LCD_data_of_flashXY (текст_17,8,1); прекъсване; случай 3: LCD_data_of_y_8_f ,1); прекъсване; случай 4: LCD_data_of_flashXY (text_19,8,1); прекъсване; случай 5: LCD_data_of_flashXY (text_20,8,1); прекъсване; случай 6: LCD_data_of_flashXY (text_21,8,1); прекъсване; случай 7 : LCD_data_of_flashXY (text_22,8,1); прекъсване; случай 8: #if 1 if (off_charge == 1) (lcd_count = 5; break;) if (u_bat<232)// 13.57V/0.0585=230 на АЦП. { lcd_count=255; LCD_string_of_flashXY(text_12,8,1); } else if (u_bat<=234) { lcd_count=0; } else if (u_bat<=236) { lcd_count=1; } else if (u_bat<=238) { lcd_count=2; } else if (u_bat<=240) { lcd_count=3; } else if (u_bat<=242) { lcd_count=4; } else if (u_bat<=244) { lcd_count=5; } else { lcd_count=5; } break; #endif default:lcd_count=5; break; } } } else { lcd_count=255; if (flags.lcd_clr_txt1==0) { flags.lcd_clr_txt1=1; LCD_string_of_flashXY(text_8,0,1); } } #endif #if 1 /*Аварийный таймер отключения*/ if (bat_count>= 60000 && eeprom_read_byte (& timer_time)) // msec 60000 (bat_count = 0; bat_off ++; #if 1 // за отстраняване на грешки LCD_string_of_flashXY (text_37,0,1); char буфер; utoa, bat_off,); if (bat_off > = 100) (LCD_dataXY (буфер, 2,1); LCD_data (буфер); LCD_data (буфер); LCD_string_of_flashXY (text_38,5,1);) else if (bat_off> = 10 && bat_off<=99) { LCD_dataXY(buffer,2,1); LCD_data(buffer); LCD_string_of_flashXY(text_38,4,1); } else { LCD_dataXY(buffer,2,1); LCD_data(" "); LCD_string_of_flashXY(text_38,4,1); LCD_dataXY(" ",7,1); } #endif } if (u_bat>U_bat_tim && off_charge == 0) // нулиране на таймера за аларма за напрежение (bat_off = 0; U_bat_tim = u_bat;) if (i_bat = eeprom_read_word (& tim_dlitl)) // 180 минути по подразбиране (charg_off (); LCD_string_of_flashXY (text_14,0,1); bat_off = 0; flags.lcd_clr_txt1 = 1;) #endif #if 1 / * Регулиране на напрежението на изхода на захранването * / if (stok_reg> = 100) (stok_reg = 0; uint8_t u_stok = u_stokk (); if (u_stok> 62) // 0,0195 * 51 * 2 = 2 волта на мивката (ако (OCR1A! = 0) (OCR1A--;)) иначе ако (u_stok<60) { if (OCR1A!=255) { OCR1A++; } } #if 0//временно для теста char buff; utoa(u_stok, buff, 10); if (u_stok>= 100) (LCD_dataXY (buff, 3,1); LCD_data (buff); LCD_data (buff);) else if (u_stok> = 10 && u_stok<=99) { LCD_dataXY("0",3,1); LCD_data(buff); LCD_data(buff); } else { LCD_dataXY("0",3,1); LCD_data("0"); LCD_data(buff); } #endif } #endif #if 1 /*Режим хранения батареи*/ if (bat_save>= 60000 && eeprom_read_byte (& save_on)! = 0) (bat_save = 0; if (u_bat<=eeprom_read_byte(&u_start))//12.5V / 0.0585=213,6 на АЦП { enc_data=eeprom_read_byte(&i_pusk); } } #endif #if 1 /*Режим отключения питания*/ if (enc_data && eeprom_read_byte(&power_off) && energy_flag==0) { energy_flag=1; eeprom_update_byte(&energy_off,1); } #endif } } #if 1 //тексты на дисплей const uint8_t PROGMEM text_1="Зарядное"; const uint8_t PROGMEM text_2="устройcтво"; const uint8_t PROGMEM text_3="SIRIUS 5А "; const uint8_t PROGMEM text_4="Для АКБ 12В"; const uint8_t PROGMEM text_5="Подключи батарею"; const uint8_t PROGMEM text_6="УЧТИ полярность."; const uint8_t PROGMEM text_7="U="; const uint8_t PROGMEM text_8=" "; const uint8_t PROGMEM text_9=" I="; const uint8_t PROGMEM text_10="В "; const uint8_t PROGMEM text_11="А "; const uint8_t PROGMEM text_12=" "; const uint8_t PROGMEM text_13="БАТАРЕЯ ЗАРЯЖЕНА"; const uint8_t PROGMEM text_14="ЗАРЯД ОТКЛЮЧЕН! "; // const uint8_t PROGMEM text_15={0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0}; // 1 const uint8_t PROGMEM text_16={0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0x20,0}; // 12 const uint8_t PROGMEM text_17={0xFF,0xFF,0xFF,0x20,0x20,0x20,0x20,0x20,0}; // 123 const uint8_t PROGMEM text_18={0xFF,0xFF,0xFF,0xFF,0x20,0x20,0x20,0x20,0}; // 1234 const uint8_t PROGMEM text_19={0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x20,0x20,0}; // 12345 const uint8_t PROGMEM text_20={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0x20,0}; // 123456 const uint8_t PROGMEM text_21={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x20,0}; // 1234567 const uint8_t PROGMEM text_22={0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0}; // 12345678 const uint8_t PROGMEM text_23 ="Режим сохр. "; const uint8_t PROGMEM text_24 ="ВКЛ "; const uint8_t PROGMEM text_25 ="ВЫКЛ"; const uint8_t PROGMEM text_26 ="U запуска <"; const uint8_t PROGMEM text_27 =" СЕРВИСНОЕ МЕНЮ "; const uint8_t PROGMEM text_28 =" ВЫХОД ИЗ МЕНЮ "; const uint8_t PROGMEM text_29 ="I запуска "; const uint8_t PROGMEM text_30 ="Режим отключения"; const uint8_t PROGMEM text_31 ="питания "; const uint8_t PROGMEM text_32 ="Аварийный Таймер"; const uint8_t PROGMEM text_33 =" ВКЛ "; const uint8_t PROGMEM text_34 =" ВЫКЛ "; const uint8_t PROGMEM text_35 ="задержка "; const uint8_t PROGMEM text_36 =" мин"; const uint8_t PROGMEM text_37 ="T="; const uint8_t PROGMEM text_38 ="min"; #endif

Тук задаваме въпроси [защитен с имейл] com
Ако някой има нужда от флашнат микроконтролер, тогава може да се поръча оттук... Ние естествено събираме всичко останало и го правим сами.

Сега има няколко видеоклипа и снимки. Ето как изглеждаше първият прототип.

Ето как изглеждаше първата дъска.

Впоследствие беше извършено по-цивилизовано плащане.

Тогава е изобретено тялото.

Тогава всичко това беше събрано.

В крайна сметка това се случи.

Можете да изтеглите схемата на зарядното устройство.
Можете да поръчате флаширан микроконтролер.
Допълнителна информация., Печатна платка.
Въпроси и пожелания [защитен с имейл]

Този уред е предназначен за измерване на капацитета на Li-ion и Ni-Mh батерии, както и за зареждане на Li-ion акумулатори с избор на начален заряден ток.

Контрол

Свързваме устройството към стабилизирано захранване 5V и ток от 1A (например от мобилен телефон). Индикаторът за 2 секунди показва резултата от предишното измерване на капацитета "xxxxmA / s" и на втория ред стойността на регистъра OCR1A "S.xxx". Поставяме батерията. Ако трябва да заредите батерията, натиснете за кратко бутона CHARGE, ако трябва да измерите капацитета, след това натиснете за кратко бутона TEST. Ако трябва да промените тока на зареждане (стойността на регистъра OCR1A), натиснете за дълго време (2 секунди) бутона CHARGE. Отиваме в прозореца за настройка на регистъра. Пуснете бутона. С кратко натискане на бутона CHARGE променяме стойностите (50-75-100-125-150-175-200-225) на регистъра в кръг, като първият ред показва празния ток на зареждане на батерията при избраната стойност (при условие, че имате 0 резистор във веригата), 22 ома). Натиснете за кратко бутона TEST, стойността на регистъра OCR1A се съхранява в енергонезависимата памет.
Ако сте правили различни манипулации с устройството и трябва да нулирате часовника, измерения капацитет, след това натиснете дълго бутона TEST (стойността на регистъра OCR1A не се нулира). Веднага след като зареждането приключи, подсветката на дисплея се изключва, за да включите подсветката, натиснете за кратко бутона TEST или CHARGE.

Логиката на устройството е следната:

Когато се включи захранването, индикаторът показва резултата от предишното измерване на капацитета на батерията и стойността на регистъра OCR1A, съхранен в енергонезависимата памет. След 2 секунди устройството преминава в режим на определяне на типа на батерията по напрежението на клемите.

Ако напрежението е повече от 2V, тогава това е литиево-йонна батерия и напрежението на пълен разряд ще бъде 2,9V, в противен случай това е Ni-MH батерия и напрежението на пълен разряд ще бъде 1V. Едва след свързване на батерията бутоните за управление са налични. След това устройството изчаква да бъдат натиснати бутоните за тестване или зареждане. На дисплея се показва "_STOP". Когато натиснете за кратко бутона Test, товарът се свързва през MOSFET.

Големината на разрядния ток се определя от напрежението на резистора 5,1 ома и всяка минута се сумира с предишната стойност. Устройството използва 32768Hz кварц за управление на часовника.

Дисплеят показва текущата стойност на капацитета на батерията "xxxxmA / s" и разрядния тор "A.xxx", както и времето "xx: xx: xx" от момента на натискане на бутона. Показва се и анимирана икона за изтощена батерия. В края на теста за Ni-MH батерията се появява надписът "_STOP", резултатът от измерването се показва на дисплея "xxxxmA / s" и се съхранява.

Ако батерията е Li-ion, тогава резултатът от измерването също се показва на дисплея "xxxxmA / s" и се запомня, но режимът на зареждане се включва незабавно. Дисплеят показва съдържанието на регистъра OCR1A "S.xxx". Показва се и анимирана икона за зареждане на батерията.

Токът на зареждане се управлява от ШИМ и е ограничен от резистор 0,22 Ohm. В хардуера зарядният ток може да бъде намален чрез увеличаване на съпротивлението от 0,22 Ohm до 0,5-1 Ohm. В началото на зареждането токът постепенно нараства до стойността на регистъра OCR1A или докато напрежението на клемите на акумулатора достигне 4,22V (ако батерията е била заредена).

Стойността на зарядния ток зависи от стойността на регистъра OCR1A - колкото по-голяма е стойността, толкова по-голям е зарядният ток. Когато напрежението на клемите на акумулатора е 4,22V, стойността на регистъра OCR1A намалява. Процесът на презареждане продължава, докато стойността на регистъра OCR1A стане равна на 33, което съответства на ток от около 40 mA. Това приключва таксата. Подсветката на дисплея се изключва.

Персонализиране

1. Свържете захранването.
2. Свържете батерията.
3. Свързваме волтметъра към батерията.
4. Чрез временни бутони + и - (PB4 и PB5) постигаме съвпадение на показанията на волтметъра на дисплея и на референтния волтметър.
5. Натиснете бутона TEST за продължително време (2 секунди), започва запаметяването.
6. Изваждаме батерията.
7. Свързваме волтметъра към резистора 5,1 Ohm (според диаграмата близо до транзистора 09N03LA).
8. Свържете регулираното захранване към клемите на акумулатора, настройте го на 4V захранващ блок.
9. Натиснете за кратко бутона TEST.
10. Измерваме напрежението на резистора 5.1 Ohm - U.
11. Изчислете разрядния ток I = U / 5.1
12. С помощта на временните бутони + и - (PB4 и PB5), задайте изчисления разряден ток I на индикатора "A.xxx".
13. Натиснете бутона TEST за продължително време (2 секунди), започва запаметяването.

Устройството се захранва от стабилизиран източник с напрежение 5 волта и ток 1A. Кварцът при 32768Hz е проектиран за точно синхронизиране. ATmega8 се синхронизира от вътрешен 8 MHz осцилатор и EEPROM защитата трябва да бъде настроена с подходящите конфигурационни битове. При писане на контролната програма са използвани уроци от този сайт.

Текущите стойности на коефициентите на напрежение и ток (Ukof. Ikof) могат да се видят, ако свържете дисплей 16x4 (16x4 е за предпочитане за отстраняване на грешки) на третия ред. Или в Ponyprog, ако отворите EEPROM файла на фърмуера (прочетете от EEPROM контролера).
1 байт - OCR1A, 2 байта - I_kof, 3 байта - U_kof, 4 и 5 байта са резултат от предишното измерване на капацитета.

Видео на устройството:

Понякога минавате покрай паркирани коли и с крайчеца на окото си забелязвате, че някой, съдейки по приглушеното сияние на лампите, е забравил да изключи светлината за дълго време. Самият някой го е получил. Добре е, когато има редовен индикатор за неизгасена светлина, а когато няма такова нещо ще помогне: Незабравимо нещо може да скърца, когато светлината не е изключена и знае как да мушне задна предавка.

Цифровият индикатор за нивото на горивото има висока степен на повторяемост, дори ако опитът с микроконтролерите е незначителен, така че разбирането на тънкостите на процеса на сглобяване и настройка не създава проблеми. Програматорът на Громов е най-простият програмист, който е необходим за програмиране на AVR микроконтролер. Програматорът на Горомов е много подходящ както за програмиране във верига, така и за стандартно програмиране. По-долу е дадена диаграма на управлението на индикатора за гориво.

Плавно включване и изключване на светодиодите във всеки режим (вратата е отворена и лампата свети). Също така автоматично изключване след пет минути. И минимална консумация на ток в режим на готовност.

Вариант 1 - Комутация минус. (с помощта на N-канални транзистори) 1) "минус превключване", тоест такава опция, при която един захранващ проводник на лампата е свързан към + 12V на батерията (захранване), а вторият проводник комутира тока през лампа, като по този начин я включва. В този вариант ще бъде предоставен минус. За такива схеми е необходимо да се използват N-канални полеви транзистори като изходни превключватели.

Самият модем е малък, евтин, работи без проблеми, ясно и бързо и като цяло няма оплаквания от него. Единственият минус за мен беше необходимостта да го включвам и изключвам с бутон. Ако не го изключите, модемът се захранваше от вградена батерия, която в крайна сметка седна и модемът трябваше да бъде включен отново.

Принципът на работа е прост: чрез завъртане на копчето силата на звука се регулира, при натискане звукът се изключва и включва. Трябва да пишете на Windows или Android

Първоначално в Lifan Smily (и не само) режимът на задната чистачка е единственият и се нарича „винаги се люлее“. Подобен режим се възприема особено негативно в началото на дъждовния сезон, когато капките се събират на задното стъкло, но в недостатъчно количество за едно преминаване на чистачката. Така че, трябва или да слушате скърцането на гумата върху стъклото, или да изобразите робот и периодично да включвате / изключвате чистачката.

Леко модифицирах веригата на релето за забавяне на времето за включване на вътрешното осветление за автомобил Ford (схемата е разработена за много специфичен автомобил, като заместител на стандартното реле Ford 85GG-13C718-AA, но беше успешно инсталирана в домашната "класика").

Това не е първият път, когато подобни занаяти се промъкват. Но по някаква причина хората се придържат към фърмуера. Въпреки че в по-голямата си част те са базирани на проекта elmchan "Simple SD Audio Player с 8-pin IC". Изходният файл не се отваря с аргумента, че проектът трябва да бъде коригиран, че качеството ми е по-добро... и т.н. Накратко, те взеха проект с отворен код, сглобиха го и го представиха за свой собствен.

Така. Микроконтролерът Attiny 13 е сърцето на това устройство, така да се каже. Дълго се мъчих с фърмуера му, не можах да го флашна по никакъв начин.Нито 5 проводника през LPT, нито прогроматора на Громов. Компютърът просто не вижда контролера и това е всичко.

Във връзка с иновациите в правилата за движение хората започнаха да мислят за внедряването на дневни светлини. Един от възможните начини е да включите дългите светлини за част от мощността, за това е тази статия.

Това устройство ще позволи късите светлини да се включват автоматично, когато започнете да шофирате и регулира напрежението на лампите, късите светлини, в зависимост от скоростта, с която шофирате. Освен това ще направи шофирането по-безопасно и ще удължи живота на лампите.