Регулируемый блок питания с управлением на микроконтроллере. Цифровой лабораторный блок питания с управлением через пк

Регулируемый блок питания с управлением на микроконтроллере. Цифровой лабораторный блок питания с управлением через пк

16.05.2019

Индикатор - ЖКИ дисплей на основе контроллера НD44780, 2 сточки по 16 символов. Управление напряжением осуществляется встроенным в контроллер ШИМ ом. Его скважность регулируется энкодером, каждый шаг которого приводит к увеличению или уменьшению напряжения на 0,1 вольт на выходе БП. Полный оборот энкодера – 2 вольта. Поскольку ШИМ может изменять напряжение на накопительной емкости лишь в интервале от 0 до 5 вольт, применен ОУ с коэффициентом усиления 5. Таким образом фактическое напряжение на выходе БП регулируется в пределах 0 – 25 вольт.
Регулирующим элементом является мощный составной транзистор КТ827А. С эмиттера регулирующего транзистора через верхнее плечо делителя (2 Х 8,2 к) осуществляется обратная связь, благодаря чему даже при больших токах в нагрузке напряжение поддерживается на строго заданном уровне вплоть до сотых долей вольта.

Измерительная часть – двухканальный АЦП (Микрочип), измеряющий реальное напряжение на выходе БП и падение напряжения на шунтирующем резисторе, усиленное ОУ, что прямо пропорционально потребляемому нагрузкой току. Сердцем конструкции является контроллер.

Блок защиты от короткого замыкания в нагрузке. Выполнен виде отдельного устройства включенного между выпрямителем и регулирующим элементом. Ток срабатывания защиты - 5 А. Подбирается резистором 47к в базовой цепи транзистора управляющего ключом КТ825Г.

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

Детали.
Шунт взят из разбитого мультиметра, его сопротивление около 0,01 Ом. Исходное состояние контактов энкодера описано в принципиальной схеме, он может быть любой соответствующий этим состояниям. Кроме вращения, он имеет вн контакты, которые замыкаются без фиксации при нажатии на вал.
Транзисторы n-p-n без маркировки могут быть КТ315 или любыми маломощными, подобными им в чип корпусе. Транзистор p-n-p в ключе, управляющем подсветкой может быть любой средней мощности.

Как пользоваться БП.
Энкодером регулируется напряжение 0 – 25 вольт с шагом 0,1 вольта. При кратком (менее 0,5 сек) нажатии на ручку включается/выключается подсветка. При нажатии более 0,5 сек происходит запись установленного напряжения в энергонезависимую память контроллера.

Полный проект для MPLAB вы можете скачать ниже.

Список радиоэлементов

Обозначение Тип Номинал Количество


МК PIC 8-бит

PIC16F628A

1


АЦП MCP3202 1


Операционный усилитель

LM358

2


Линейный регулятор

LM7809

1


Линейный регулятор

LM7805

1


Биполярный транзистор

КТ825Г

1


Биполярный транзистор

КТ827А

1


Биполярный транзистор

КТ315А

2


Транзистор
1


Диодный мост
1


4700 мкФ 1


Электролитический конденсатор 2200 мкФ 3


Электролитический конденсатор 1 мкФ 1


Электролитический конденсатор 470 мкФ 2


Электролитический конденсатор 4.7 мкФ 4


Электролитический конденсатор 10 мкФ 1


Конденсатор 0.1 мкФ 1


Резистор

2.2 кОм

1


Резистор
1


Резистор

4.7 кОм

2


Резистор

47 кОм

1


Резистор

3.3 кОм

2


Резистор

100 кОм

1


Резистор

1 кОм

3


Резистор

0.01 Ом

1


Резистор

470 Ом

1


Резистор

Блок питания с микроконтроллерным управлением + энкодер

Без чего не может обойтись не один радиолюбитель? Правильно - без ХОРОШЕГО блока питания. В этой статье я опишу, как можно сделать неплохой, на мой взгляд, блок питания из обычного компьютерного (AT или ATX). Идея хороша тем, что не нужно покупать дорогие трансформаторы, транзисторы, мотать импульсные трансформаторы и катушки... Достать компьютерный БП на сегодняшний день не составляет большого труда. Например на местном радиорынке средний БП ATX 300W стоит ~8$. Естественно это за б/у. Но следует учитывать, что чем качественнее копьютерный БП - тем качественнее девайс мы получим=) Бывает что китайские БП так плохо укомплектованы/собраны что и смотреть страшно - отсутствуют абсолютно все фильтры на входе, и почти все фильтры на выходе! Так что выбирать нужно внимательно.За основу был взят БП АТХ C ODEGEN 300W который был переделан под напряжение 20В идобавлена плата управления.


Характеристики:

Напряжение - 3 - 20,5 Вольт
Ток - 0,1 - 10А
Пульсации - зависит от модели "исходника".

В изготовлении такого БП есть одно "НО": если Вы ни разу не ремонтировали или хотя бы не разбирали компьютерный БП, то изготовить лабораторный будет проблематично. Это связано с тем, что схематических решений компьютерных БП очень много и описать все необходимые переделки я не смогу. В данной статье я опишу как изготовить плату для контроля за напряжением и током, куда её подключить, и что переделать в самом БП, но точной схемы переделки я Вам не дам. Поисковики вам в помощь. Ещё одно "но": схема рассчитана на использование в БП на основе довольно распространенной микросхемы ШИМ - TL494 (аналоги КА7500, МВ3759, mPC494C, IR3M02, М1114ЕУ).

Схема управления

Схема АТХ C ODEGEN 300W

Немного пояснений по первый схеме. В пунктир обведена часть схемы, которая находится на плате БП. Там указаны элементы, которые нужно поставить вместо того, что там стоит. Остальную обвязку TL494 не трогаем.

В качестве источника напряжения используем канал 12 Вольт, который немного переделаем. Переделка состоит в замене ВСЕХ конденсаторов в цепи 12 Вольт на конденсаторы такой же (или больше) ёмкости, но большего напряжения 25-35 Вольт. Канал 5 Вольт я вообще выкинул - выпаял диодную сборку и все элементы, кроме общего дросселя. Канал -12В также нужно переделать на большее напряжение - мы его тоже будем использовать. Канал 3,3 Вольта тоже нужно убрать, чтобы он нам не мешал.

Вообще, в идеале нужно оставить только диодную сборку канала 12 Вольт и конденсаторы/дроссели фильтра этого канала. Так же нужно убрать цепи обратной связи по напряжению и току. Если цепь ОС по напряжению найти не трудно - обычно на 1 вывод TL494, то по току (защита от КЗ) обычно приходится искать довольно долго, особенно если нету схемы. Иногда это ОС на 15-16 вывод той же ШИМ, а иногда хитрая связь со средней точки управляющего трансформатора. Но эти цепи необходимо убрать и убедиться, что ничего не блокирует работу нашего БП. Иначе лабораторный не получится. Например - в CODEGEN-е я забыл убрать ОС по току... И не мог поднять напряжение выше 14 Вольт - срабатывала защита по току и выключала БП полностью.

Ещё одно важное замечание: Необходимо изолировать корпус БП от всех внутренних цепей.

Это связано стем, что на корпусе БП - общий провод. Если, совершенно случайно, коснуться выходом "+" на корпус, то получается неплохой феерверк. Т.к. теперь нет защиты от КЗ, а есть только ограничение по току, но оно реализовано по отрицательному выводу. Именно так я сжёг первую модель своего БП.

Хотелось что бы параметры блока устанавливались с помощью энкодера.

Управление напряжением и током стабилизации осуществляется встроенным в контроллер ШИМ-ом. Его скважность регулируется энкодером, каждый шаг которого приводит к увеличению или уменьшению опорных напряжений по напряжению и току и как следствие к изменению напряжения на выходе БП или тока стабилизации.

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

Если в течении некоторого времени не проводить никаких действий система управления переходит в ждущий режим и не реагирует на вращение энкодера.

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

Индикатор в верхней строке отображает измеренное напряжение и ток.

В нижней строке отображается установленный ток ограничения.

Привыполнении условия I i zm > Iset БП переходит в режим стабилизации тока.


Регулируем напряжение

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


Характеристика подопытного БП

Идея блока питания была взята на сайтеhttp://hardlock.org.ua/viewtopic.php?f=10&t=3

C Ув. SONATA

E-mail:[email protected]

Все вопросы на - форум =)

Лабораторного блока питания, да еще и с управлением от компьютера, и не смог устоять. Детали решил брать в российских магазинах, потому что доллар, санкции, ну и все такое. Вот что из этого получилось…

Лабораторный блок питания нужен для запитывания различных махараек устройств на этапе разработки. Первое подобие лабораторника я сделал лет в 16. Это был леденящий душу ужас, который, тем не менее, худо-бедно справлялся со своими функциями. Тогда я только начинал познавать электронику, и все ограничивалось кручением моторчиков. Мне бы в то время интернет и хоть какие то карманные деньги…

Первый блок питания





Потом был длительный перерыв, армия, несколько лет работы далеко от дома, но после этого периода я вернулся к этому хобби, все было гораздо серьезнее, и был изготовлен из подручных материалов этот монстр:



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

Список закупленных деталей:

Чип-Дип
силовой транзистор - 110 р.
- 2х8 р.
- 540 р.
итого 825 р.

Чип-нн (со ссылками не получается из-за специфики сайта)
операционный усилитель LM358N - 12 р.
конденсатор электролитический 2200 мкф. - 13 р.
винтовые терминалы 2х - 22 р.
держатель светодиода х3 - 20 р.
кнопка с фиксацией красная, здоровенная - 17 р.
шунт 0.1 ом - 30 р.
многоборотные подстроечные резисторы 470 ом х2 - 26 р.
итого 140 р.

Принцип работы сего устройства.

Ардуино следит за напряжением на выходе, за током, и посредством ШИМ пинает силовой транзистор так, чтобы блок питания выдавал установленные значения.
Блок питания умеет выдавать напряжение от 1 до 16 вольт, обеспечивать ток 0.1 - 8 ампер (при нормальном источнике напряжения) уходить в защиту и ограничивать ток. То есть его можно использовать для зарядки аккумуляторов, но я не рискнул, да и у меня уже есть. Еще одна особенность этого странного блока питания в том, что он питается от двух напряжений. Основное напряжение должно подкрепляться вольтодобавкой от батарейки, или второго блока питания. Это нужно для корректной работы операционного усилителя. Я использовал ноутбучный блок питания 19в 4А в качестве основного, и зарядку 5в 350мА от какого-то телефона в качестве добавочного питания.

Сборка.

Сборку я решил начать с пайки основной платы с расчетом забить болт, если не заработает, так как начитался комментов от криворуких, как все у них дымит, взрывается и не работает, да и к тому же я внес некоторые изменения в схему.
Для изготовления платы я купил новый лазерный принтер, чтобы наконец то освоить ЛУТ, ранее рисовал платы маркером (), тот еще геморрой. Плата получилась со второго раза, потому что в первый раз я зачем-то отзеркалил плату, чего делать было не нужно.

Окончательный результат:



Пробный запуск обнадежил, все работало как надо



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

Натыкал на переднюю панель кнопок управления и лампочек. Здоровенная крутилка это энкодер со встроенной кнопкой. Используется для управления и настройки. Зеленая кнопка переключает режимы индикации на дисплее, прорезь снизу для разъема юсб, три лампочки (слева направо) сигнализируют о наличии напряжения на клеммах, активации защиты при перегрузе, и об ограничении тока. Разъем между клеммами для подключения дополнительных устройств. Я втыкаю туда сверлилку для плат и резалку для оргстекла с нихромовой струной.

Засунул все кишки в корпус, подсоединил провода




После контрольного включения и калибровки закрыл крышкой.

Фото собранного

Отверстия проделаны под радиатором стабилизатора lm7805, который нехило греется. Подсос воздуха через них решил проблему охлаждения этой детали

Сзади выхлопная труба, красная кнопка включения и разъем под сетевой кабель.


Прибор обладает кое-какой точностью, китайский мультиметр с ним согласен. Конечно калибровать самопальную махарайку по китайскому мультиметру и говорить о точности достаточно смешно. Несмотря на это прибору найдется место на моем столе, так как для моих целей его вполне достаточно

Некоторые тесты

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

К блоку питания подключена 12-вольтовая лампа накаливания и амперметр. Внутренний амперметр после подстройки работает сносно

Измерим напряжение на клеммах. Великолепно.

В прошивке реализована ваттосчиталка. К блоку подключена все та же лампочка на 12 вольт, на цоколе которой написано «21W». Не самый паршивый результат.


Изделием доволен на все сто, поэтому и пишу обзор. Может кому-то из читателей нехватает такого блока питания.

О магазинах:
Чип-нн порадовал скоростью доставки, но ассортимент маловат на мой взгляд. Этакий интернет магазин, аналогичный арадиомагазину в среднем городке. Цены ниже, кое на что в разы.
Чип-дип… закупил там то, чего не было в чип-нн, иначе б не сунулся. розница дороговата, но все есть.

Без чего не может обойтись не один радиолюбитель? Правильно - без ХОРОШЕГО блока питания. В этой статье я опишу, как можно сделать неплохой, на мой взгляд, блок питания из обычного компьютерного (AT или ATX). Хотелось что бы параметры блока устанавливались с помощью энкодера. Идея хороша тем, что не нужно покупать дорогие трансформаторы, транзисторы, мотать импульсные трансформаторы и катушки... Достать компьютерный БП на сегодняшний день не составляет большого труда. Например на местном радиорынке средний БП ATX 300W стоит ~8$. Естественно это за б/у. Но следует учитывать, что чем качественнее копьютерный БП - тем качественнее девайс мы получим=) Бывает что китайские БП так плохо укомплектованы/собраны что и смотреть страшно - отсутствуют абсолютно все фильтры на входе, и почти все фильтры на выходе! Так что выбирать нужно внимательно.За основу был взят БП АТХ CODEGEN 300W который был переделан под напряжение 20В и добавлена плата управления.

Характеристики:

Напряжение - 3 - 20,5 Вольт
Ток - 0,1 - 10А
Пульсации - зависит от модели "исходника".

В изготовлении такого БП есть одно "НО": если Вы ни разу не ремонтировали или хотя бы не разбирали компьютерный БП, то изготовить лабораторный будет проблематично. Это связано с тем, что схематических решений компьютерных БП очень много и описать все необходимые переделки я не смогу. В данной статье я опишу как изготовить плату для контроля за напряжением и током, куда её подключить, и что переделать в самом БП, но точной схемы переделки я Вам не дам. Поисковики вам в помощь. Ещё одно "но": схема рассчитана на использование в БП на основе довольно распространенной микросхемы ШИМ - TL494 (аналоги КА7500, МВ3759, mPC494C, IR3M02, М1114ЕУ).

Схема управления

Схема АТХ CODEGEN 300W

Немного пояснений по первый схеме. В пунктир обведена часть схемы, которая находится на плате БП. Там указаны элементы, которые нужно поставить вместо того, что там стоит. Остальную обвязку TL494 не трогаем.

В качестве источника напряжения используем канал 12 Вольт, который немного переделаем. Переделка состоит в замене ВСЕХ конденсаторов в цепи 12 Вольт на конденсаторы такой же (или больше) ёмкости, но большего напряжения 25-35 Вольт. Канал 5 Вольт я вообще выкинул - выпаял диодную сборку и все элементы, кроме общего дросселя. Канал -12В также нужно переделать на большее напряжение - мы его тоже будем использовать. Канал 3,3 Вольта тоже нужно убрать, чтобы он нам не мешал.

Вообще, в идеале нужно оставить только диодную сборку канала 12 Вольт и конденсаторы/дроссели фильтра этого канала. Так же нужно убрать цепи обратной связи по напряжению и току. Если цепь ОС по напряжению найти не трудно - обычно на 1 вывод TL494, то по току (защита от КЗ) обычно приходится искать довольно долго, особенно если нету схемы. Иногда это ОС на 15-16 вывод той же ШИМ, а иногда хитрая связь со средней точки управляющего трансформатора. Но эти цепи необходимо убрать и убедиться, что ничего не блокирует работу нашего БП. Иначе лабораторный не получится. Например - в CODEGEN-е я забыл убрать ОС по току... И не мог поднять напряжение выше 14 Вольт - срабатывала защита по току и выключала БП полностью.

Ещё одно важное замечание: Необходимо изолировать корпус БП от всех внутренних цепей.

Это связано стем, что на корпусе БП - общий провод. Если, совершенно случайно, коснуться выходом "+" на корпус, то получается неплохой феерверк. Т.к. теперь нет защиты от КЗ, а есть только ограничение по току, но оно реализовано по отрицательному выводу. Именно так я сжёг первую модель своего БП.

Хотелось что бы параметры блока устанавливались с помощью энкодера.

Управление напряжением и током стабилизации осуществляется встроенным в контроллер ШИМ-ом. Его скважность регулируется энкодером, каждый шаг которого приводит к увеличению или уменьшению опорных напряжений по напряжению и току и как следствие к изменению напряжения на выходе БП или тока стабилизации.

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

Если в течении некоторого времени не проводить никаких действий система управления переходит в ждущий режим и не реагирует на вращение энкодера.

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

Индикатор в верхней строке отображает измеренное напряжение и ток.

В нижней строке отображается установленный ток ограничения.

При выполнении условия Iizm>Iset БП переходит в режим стабилизации тока.

Первая часть марлезонского балета.


Ну, собственно, поехали! Давным-давно, лет 7 назад, по случаю прикупил на фирму штук 5 корпусов АТХ по 12 баксов. Корпуса, на удивление, оказались очень хорошими - добротный металл и т.п. - на уровне Inwin и до сих пор служат верой и правдой. Блоки питания были на 250 ватт и работали отлично - тихо и надежно. Однако прогресс на месте не стоит, и со временем пришлось менять мамы, ну и, до кучи, данные БП. Дома их завалялось парочку, и на досуге я решил сделать мощный блок питания как для зарядки разных, в том числе и автомобильных, аккумуляторов, так и для экспериментов с Пельтье и т.п. На сайте итальянского коллеги http://www.chirio.com/switching_power_supply_atx.htm нашел схему переделки, которая меня устроила в плане минимальных доработок и грамотного использования микросхемы ШИМ. Переделка прошла с успехом, немножко доработав схему, я добился устраивающих меня характеристик БП, но, так как в данном случае это не является темой статьи, подробности опускаю.


Встал вопрос о том, чтобы блок питания заимел собственные "мозги", т.е. мог показывать свой товар лицом (выдаваемые напряжение и ток), ну и пытался себя каким-то образом защищать от непосильной ношы (перегрузки и перегрева). В сети есть много вариантов реализации подобных схем, но, для увеличения энтропии Вселенной, и, пренебрегая принципом «бритвы Оккама», мною было принято решение о разработке еще одного показометра.
Анализ реализованных конструкций и курение даташитов привели к тому, что свой выбор я остановил на ATTINY26 и двухстрочном дисплее 1602. Обоснование следующее: тинька имеет достаточно памяти (как мне казалось вначале), дифференциальный вход с программируемым усилением, ну а дисплей - большой и информативный и достаточной простой в управлении – не надо городить динамическую индикацию и т.п. На просторах Интернета мною был найден кусок по реализации ваттметра от немецких камрадов с усреднением из 64 выборок по напряжению и току, который и был взят за основу. Программка накидалась быстро, скомпилировалась где то на 70% и была зашита в тиньку. Однако, как говорится, "гладко было на бумаге, да забыли про овраги". На тестовом этапе выявились баги в виде "мусора" на дисплее от десятичных знаков значений. "Ага", - сказали русские мужики и применили оператор FUSING. Все стало красиво, мусор исчез, но размер кода подрос где-то до 90%. Так как экран был 16*2, а на дисплей выводилось 3 значения - ток, напряжение и потребляемая мощность, то выглядело это кривовато и чего-то не хватало, а именно - температуры. Как известно, последняя имеет немалую роль при эксплуатации электрооборудования и контролировать ее желательно.


Как гласит пословица: "Мужик сказал - мужик сделал!", - подумал я и полез в коробку за цифровым термодатчиком DS1820. "Щас", - ответил компилятор после добавления кода чтения датчика и вывода на дисплей температуры, благополучно показывая результаты компиляции 146%, взяв, по всей видимости, пример с недавних событий. Оптимизация кода в виде применения подпрограмм, снижения числа переменных, убирания FUSING и шаманства с выводом на дисплей (об этом позже), ни к чему не привели - размер хекса превышал 100%. "Нормальные герои всегда идут в обход", - подумал я и на следующий день поехал в магазин за аналоговым термодатчиком. С этим датчиком дела пошли веселей, ибо все свелось к очередному измерению напряжения и, в конце концов, компилятор сдался и показал пресловутые 90 с небольшим %. Так как оставалось немного места в памяти и свободные ноги у камня, я решил вставить парочку исполнительных ключей для того, чтобы электронный болван мог не только моргать глазками на дисплее, но и принимать простейшие решения по типу: «Я устал, я ухожу» . Вставляем куски управления ключами - проверка на условия и память практически закончилась.
Дальше все прозаично - разводка платы, ЛУТ, впайка деталей и на тестирование. Однако эпопея не была завершена - при работе с лабораторным БП на шунте 10 Ом и малых токах индикатор мне подмаргивал показаниями, но не настолько часто, чтобы это раздражало. Когда же я его нагрузил на переделанный блок питания - а пульсации при 10 А составили около 30 мВ - отображение меняющихся чисел начало раздражать. Задавшись извечными русскими вопросами - "кто виноват?" и "что делать?" - я пришел к трилемме: либо усреднять показания больше чем из 64 выборок, либо загрублять вывод данных на дисплей и/или менять период отображения данных. Последние два варианта меня не устраивали – хамов и тормозов в моем окружении достаточно, да это и не кошерно выглядит, и я решил увеличить количество выборок. Бодро изменив в циклах значения с 64 на 255 и сдвиг вправо с 6 на 8 разрядов – таким незатейливым образом реализована операция деления, я, довольный собой - красным молодцем, втыкаю камень обратно в плату.
Вначале - на малых напряжениях - все было хорошо, а потом начались какие-то глюки - показания съеживались и противоречили здравому смыслу. Минут через пять после напряженного мозгового штурма, что означает введение в себя С2Н5ОН-содержащих продуктов, меня осенило: "эврика!", - возопил я внутри себя, как тот мудрец из Сиракуз и, в отличие от него, сухой снаружи и слегка одетый, распугивая домашних, побежал по квартире к своим друзьям: Клаве и Моне. Ларчик открывался просто - сложение 10-разрядных чисел 64 раза давало в итоге 16-разрядное число, а вот если больше - то при больших значениях происходило переполнение, и данные скукоживались и блекли. Лобовая психическая атака с гаишными жезлами в тельняшках на зебрах на изменение типа переменных с Word на Dword и, тем самым, увеличением разрядности с 16 до 32 бит, окончилась позорным провалом - переменные упорно не хотели взаимодействовать между собой, ругаясь на то, что они разного типа, что приводило к нехорошим подозрениям на счет их половой идентификации. Тут я вспомнил замечательный апноут AN #193 - Examples for using OVERLAY на сайте www.mcselec.com и, невзирая на возможные опасности, решил подобраться к ним с тыла. Изюминка заключалась в следующем - я считываю данные с 10-ти разрядного АЦП в переменную типа Word, а складываю переменные типа Dword, частью которых и является присвоенное значение АЦП и так, от забора и до обеда, 256 раз. Потом полученный результат Dword сдвигаю вправо на 8 разрядов - и на выходе у меня получается опять переменная типа Word, но уже усредненная от 256 выборок. Против такого финта ушами переменные не смогли устоять и покорно принялись за работу, взбрыкнув напоследок переполнением памяти. Измерение температуры осталось в старом формате - процесс более стабильный во времени и меньше подвержен флуктуациям. В связи с экономией места пришлось применять различные утряски и усушки: оставить по минимуму количество переменных, что повлияло на читабельность программы. Применение FUSING нехило кушало память - поэтому выводим на дисплей значения Single как есть, а, чтобы не было мусора - лишние знакоместа забиваем пробелами. Введение разнотипных операций - деления и умножения также кушало драгоценное место и от первого пришлось отказаться. Сравнение граничных параметров с текущими пришлось перевести в попугаи формата типа Word. Дошло до мелочей типа отказа от вывода знака градус Цельция, ну и остальное.
В конце концов, настойчивость победила, компилятор показал ровно 100%, и блок питания обзавелся собственными фаршированными нулями и единичками мозгами, а я - экспириенсом.

Часть вторая - железная


Итак, с начинкой для мозгов мы разобрались, теперь осталось разобраться с тем, что так любят все зомби. Что мы имеем в данном случае:
- индикатор - относительно стандартный, только таращится синим светом и, по слухам, имеет альтернативный знакогенератор на китайском языке, был приобретен на http://www.buyincoins.com/ за смешные относительно наших цен деньги – порядка 90рублей. Его братья также хорошо работают в других големах;
- камень ATTINY26 - был у меня в одном экземпляре и еще есть его два собрата, но ATTINY261 - с ними размер программы больше на 2%, так что, если не найдете 26 - придется что-то вырезать из программы. Стоимость тоже около 100 рублей в DIP корпусе. Нулевой канал АЦП работает в дифференциальном режиме - задействованы порты 0 и 1, коэффициент усиления внутреннего ОУ - 20. Второй канал - измерение напряжения, третий - внешний опорник, четвертый - измерение температуры;
- ИОН был собран внешний на TL431 по типовой схеме на напряжение 4,096 вольт. Конечно, лучше бы использовать готовые опорники, но в магазинах нашей косопузой Рязани на данное напряжение их нет, а ждать их не хотелось, да и цена кусается в отличие от. Почему 4,096 В - оказалось удобно применить в расчетах при требуемых характеристиках показометра и поэтому так;
- термометр реализован на LM335Z – 30 деревянных - дешево и сердито - в бытовых условиях диапазона вполне хватает. По расчетам на дисплей корректно должны выводиться данные от -9 до 99 градусов, если ранее не сработает защита. Аналоговое измерение температуры свелось к нехитрым действиям в виде отнимания константы смещения и деления остатка на 2,5 – но для понимания этого пришлось решить систему уравнений с двумя неизвестными, тем самым освежив школьные знания по алгебре;
- исполнительные элементы - сборка из двух полевиков – 25 рублей - куда навесить, какие условия их срабатывания и что с ней сделать - решайте сами - фантазия ограничивается только вами и размером кода)));
- шунт - самое серьезное дело во всей конструкции. Давным-давно, когда винчестеры были большими и из их дисков делали хорошие дециметровые антенны, при разборке ЭВМ достались мне некоторые элементы, в том числе несколько шунтов из какой-то проволоки, скорее всего нихром, диаметром около 1 мм и сопротивлением 0,1 Ом. По прошествии многих лет, согласно законам жанра, в живых остался только один, которому и была проведена децимация в виде усечения 1/10 части. Однако, в связи с тем, что в процесс вмешались до сих пор неустановленные барабашки: может коэффициент усиления внутреннего ОУ не равен 20, может сопротивление проводов, или еще что - пришлось вместо расчетного коэффициента 0,02 применить 0,025 и излишек срезать подстроечным резистором. Шунт в данной конструкции общий и расположен на плате БП АТХ. На плате место предусмотрено для стационарного шунта - меняя коэффициент пересчета - можно вогнать в нужный диапазон.
Подстроечных резисторов четыре - для ИОН, вольтметра и амперметра. регулировка контрастности. Предусмотрено место и для подстроечника термометра, если ИОН будет ниже 3 вольт. В принципе, при использовании точных резисторов можно попробовать обойтись и без них, но в данном случае я решил сделать так – проще в настройке и обеспечивает приемлемую для меня точность. Мелкие деталюшки, цепь питания и развязки аналоговой части стандартны и в пояснениях не нуждаются. Номиналы на схеме показаны условно и могут меняться в пределах здравого смысла и типовых решений узлов. Разводка платы была задумана под бутербродную конструкцию, однако при монтаже в корпус был сделан небольшой джампер-шлейф. О том, как все соединить, в следующей серии нашей трилогии.


Часть третья – почувствуй себя Франкенштейном.


Итак, юные и не очень Франкенштейны, будем оживлять нашего гомункула. Для этого нам понадобится, согласно канонам, тело и мозги. Необходимое предупреждение: будьте внимательны при работе с волшебной силой электричества и представляйте все последствия своих заклинаний. Телом в моем случае, как было описано в первой части, является переделанный БП от старого системного блока стандарта АТХ. На его борту оказалась дежурка, выдающая порядка 9 вольт, что вполне меня устроило для обеспечения энергией «мозгов». Вентилятор также запитан от нее. Параметры выходных напряжений и тока были заданы в диапазоне от 1-20 Вольт и 0-12 Ампер соответственно. Так как выносную панель мне делать не хотелось, и в наличии имелся набор отрезных дисков, гравер, дрель и т.п., то через 30-40 минут жужжания на балконе я сделал необходимые отверстия в крышке БП.

Как было указано выше, бюджет на детали в моем случае составил порядка 300 рублей и никаких дефицитных элементов в конструкции не задействовано. Прилагаемая печатка выполнена в формате Sprint Layout и печатается «как есть». Аналоговая земля выполнена в виде контура отдельно от цифровой и сильноточной цепи и соединена в одном месте. Камень устанавливается через цанговую панельку, и при желании, легко снимается и ставится. Отдельный разъем для зомбирования тиньки не предусмотрен, но при желании можно зашить через разъем для дисплея, и выведенную отдельно лапку RESET – нога 10 панельки.


Опускаем такие рутинные для каждого современного алхимика процессы по выращиванию гомункула в виде изготовления платы, запаивания элементов и т.п. и переходим к его оживлению. Для этого, не вставляя контроллер в панельку, подаем питание 9-10 Вольт на вход и, если никаких дыма и вспышек не произошло, пробегаемся вольтметром по ногам панельки дабы убедиться в наличии 5 Вольт на лапках 5 и 15 – т.е. питания контроллера. Далее тычем щуп на лапку 17 – опорное напряжение и крутим подстроечник возле TL431, до достижения напряжения 4,096 В. К сожалению, мой палантир страдает дальнозоркостью и последнюю значащую цифру не кажет. В данном случае я ориентировался на ощущения своей пятой точки опоры, которая со временем выработала требуемую чувствительность. После подключаем дисплей на шлейфе, вставляем заколдованную нашими заклинаниями тиньку и снова подаем питание. Регулировкой подстроечника выставляем контрастность и, если все было сделано правильно, видим какие-то цифры и буквы.
Подаем на нагрузку, подключенную через плату, напряжение и вспоминаем закон Ома. Нагрузку желательно иметь точную – у меня в качестве такой был резистор 10 Ом с допуском +-0,25% аж 1964 года выпуска, т.е. старше меня самого. Скорее всего, его сняли с какой-нибудь баллистической ракеты, которая грозила нашему потенциальному врагу и министр обороны которого с криками «Русские идут!» безуспешно попытался преодолеть земное тяготение. Потом потенциальный враг превратился в заклятого друга и в его «партнерских» объятиях многое превратилось в прах или же растворилось неизведанными оффшорными путями по просторам нашего земного диска. Как-то так оказался у меня данный резистор. Путем сложных, недоступных простому смертному с гуманитарным образованием, измерений необходимо узнать действующее напряжение и вычислить протекающий через цепь ток и подстроечными резисторами добиться нужных показаний на дисплее. Мощность же, потребляемая нагрузкой, равна их произведению. Подключая нагрузку с меньшим сопротивлением, будьте внимательны и осторожны, ибо при несоответствии рассеиваемой мощности вы можете вызвать духов в виде волшебного дыма, из которого состоят все радиоэлементы, а, возможно, и пламени. У меня такой дым пошел из 5-ти ваттных резисторов общим сопротивлением около 1,5 Ом, и только через полчаса сложными пассами в виде открывания балкона удалось изгнать демона обратно. Резисторы, как ни странно, выжили, но на конкурсе красоты среди своих братьев заняли бы место в арьергарде.
На приведенных ниже фотографиях видны испытания моего почти-что собранного гомункула с изменением тока и напряжения. Термодатчик всунут внутрь резистора ПЭВ-5 сопротивлением 6,2 Ома и видно, как он нагревается. Хочу предупредить, что опытный, пытливый глаз инквизитора сразу заметит несоответствие в показаниях между этими фотографиями и захочет устроить допрос с пристрастием. Поэтому ответственно заявляю - «in omnibus voluntas Dei!» - фотографии были сделаны, когда цикл был 64 выборки и я пытался ввести поправки на ошибку смещения, вставлял конденсаторы для интегрирования показаний и т.п. В дальнейшем я отрекся от неправедного пути и встал на путь исправления и сотрудничества с администрацией. Показания сразу стали более-менее соответствовать закону Ома с учетом отсутствия округления результатов.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows