Федеральное государственное бюджетное
образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМ. Н. П. ОГАРЁВА»
Институт электроники и светотехники
Кафедра электроники и наноэлектроники
УТВЕРЖДАЮ
Зав. кафедрой
к.т.н., доцент
__________ Н. Н. Беспалов
«___» ______ 2020 г.
БАКАЛАВРСКАЯ РАБОТА
РАЗРАБОТКА ЗАРЯДНОГО УСТРОЙСТВА ДЛЯ АВТОМОБИЛЬНЫХ
АККУМУЛЯТОРОВ НА МИКРОКОНТРОЛЛЕРЕ ATMEGA 8
Автор бакалаврской работы
А. В. Мартынов
Обозначение бакалаврской работы
Направление подготовки
БР–02069964–11.03.04–09–20
11.03.04 «Электроника и наноэлектроника»
Руководитель работы
к.т.н., доцент
А. Ю. Бальзамов
Нормоконтролер
ст. преподаватель
А. А. Шестеркина
Саранск
2020
Федеральное государственное бюджетное
образовательное учреждение высшего образования
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ
МОРДОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИМ. Н. П. ОГАРЁВА»
Институт электроники и светотехники
Кафедра электроники и наноэлектроники
УТВЕРЖДАЮ
Зав. кафедрой
к.т.н., доцент
__________ Н. Н. Беспалов
«___» ______ 2019 г.
ЗАДАНИЕ НА ВЫПУСКНУЮ КВАЛИФИКАЦИОННУЮ РАБОТУ
(в форме бакалаврской работы)
Студент Мартынов Алексей Викторович
1 Тема:
«Разработка
зарядного
устройства
для
автомобильных
аккумуляторов на микроконтроллере Atmega 8»
Утверждена приказом ФГБОУ ВО «МГУ им. Н.П. Огарёва» № 8061-с от
09.10.2019 г.
2 Срок представления работы к защите: 22 июня 2020 г.
3 Исходные данные для выпускной квалификационной работы.
Разработать зарядного устройства для автомобильных аккумуляторов
со следующими параметрами:
− номинальный ток заряда (0-5) А;
− номинальное выходное напряжение устройства (13,5-16,5) В;
− питание устройства должно осуществляться от бытовой сети
переменного тока (220 В, 50 Гц).
Разработка зарядного устройства должна осуществляться с помощью
следующих программных средств:
− sPlan;
− NI Multisim;
− Altium Designer.
4 Содержание выпускной квалификационной работы:
4.1 Реферат.
4.2 Введение.
4.3 Обзор методов и устройств заряда аккумуляторов и постановка задачи.
4.4 Разработка структурной схемы устройства.
4.5 Разработка принципиальной схемы.
4.7 Моделирование частей схемы в среде NI Multisim.
4.8 Разработка программы управления.
4.9 Разработка конструктивного исполнения.
4.10 Список использованных источников.
5 Приложения:
5.1 Приложение А (обязательное). Графический материал.
− Структурная схема устройства.
− Электрическая принципиальная схема.
− Чертеж печатной платы.
− Сборочный чертеж печатной платы.
5.2 Приложение Б (обязательное). Исходный код программы.
Руководитель проекта,
к.т.н., доцент
Задание к исполнению принял
А. Ю. Бальзамов
РЕФЕРАТ
Бакалаврская работа содержит 102 страницы, 54 рисунка, 2 таблицы,
13 формул, 15 литературных источников, 2 приложения.
УСТРОЙСТВО,
УПРАВЛЕНИЕ,
АКБ,
ДАТЧИК,
МИКРОКОНТРОЛЛЕР,
ИЗМЕРИТЕЛЬНЫЙ
ATMEGA
8,
ПРЕОБРАЗОВАТЕЛЬ,
ПРОГРАММНЫЙ КОД.
Объект исследования: зарядное устройство для аккумуляторных батарей
на микроконтроллере Atmega 8.
Цель исследования: разработка устройства заряда аккумуляторных батарей
на микроконтроллере Atmega 8.
Полученные
результаты:
выбраны
компоненты,
необходимые
для
реализации устройства заряда автомобильный АКБ, разработана схема, создана
трёхмерная модель итоговой платы устройства, созданы маски для разводки
печатной платы.
Изм. Лист
Разраб.
Провер.
Реценз.
Н.контр
Утвержд.
№ докум.
Мартынов А. В.
Бальзамов А. Ю.
Шестёркина А. А.
Беспалов Н. Н.
Подпись
Дата
БР - 02069964 - 11.03.04 - 09 - 20
Лит. Лист Листов
Разработка зарядного
4
102
устройства для
автомобильных аккумуляторов МГУ им. Н. П. Огарёва,
на микроконтроллере Atmega 8 ИЭС, 411 гр., ЭиНЭ
ъ
СОДЕРЖАНИЕ
Стр
ВВЕДЕНИЕ
7
1 Обзор методов и устройств заряда аккумуляторов и постановка задачи
8
1.1 Типы аккумуляторных батарей
8
1.2 Обзор зарядных устройств
10
1.3
Зарядные
устройства
автомобильных
аккумуляторов
с
применением микроконтроллера
12
1.4 Задачи и требования к зарядному устройству
13
2 Разработка структурной схемы устройства
16
3 Выбор элементной базы и основных узлов
18
3.1 Выбор блока питания
18
3.2 Выбор микроконтроллера
19
3.3 Выбор энкодера
23
3.4 Выбор дисплея
24
4 Синтез основной схемы
26
4.1 Питание операционных усилителей LM358
28
4.2 Питание микроконтроллера и обвязки
30
4.3 Схема управления током заряда
32
4.4 Измерительный преобразователь ток-напряжение
36
4.5 Измерительный преобразователь тока на ОУ LM358
39
4.6 Реализация защит
41
4.7 Повышение частоты микроконтроллера
42
4.8 Расчёт радиатора регулирующего транзистора
43
4.9 Дополнительная регулировка тока заряда
45
4.10 Синтез итоговой схемы
48
5 Моделирование частей схемы в Multisim
5.1 Моделирование схемы питания операционных усилителей
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
49
49
Лист
5
5.2 Моделирование схемы питания микроконтроллера и обвязки
50
5.3 Моделирование схемы управления током заряда
51
5.4 Моделирование измерительного преобразователя ток-напряжение
53
5.5 Моделирование измерительного преобразователя тока
54
6 Программный код
56
7 Разработка конструктивного исполнения
57
7.1 Создание элементной базы
57
7.2 Создание базы корпусов компонентов
58
7.3 Привязка УГО к трёхмерной модели
59
7.4 Создание схемы устройства
60
7.5 Перенос схемы в менеджер печатных плат
62
7.6 Трассировка
65
ЗАКЛЮЧЕНИЕ
70
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
71
ПРИЛОЖЕНИЕ А (обязательное) Графический материал
73
ПРИЛОЖЕНИЕ Б (обязательное) Исходный код программы
84
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
6
ВВЕДЕНИЕ
Сложно представить современную жизнь без транспортных средств, в
последние несколько лет их количество на земле увеличилось более чем в 3 раза.
Почти в каждом транспортном средстве, будь это легковые автомобили или
грузовики различных классов, не обойтись без источника постоянного тока. На
сегодняшний момент в этой роле, чаще всего, выступают свинцово-кислотные
аккумуляторы.
Технологии производства аккумуляторов постоянно совершенствуются, но
на данный момент средняя продолжительность жизни аккумуляторной батареи
не превышает 2-4 года. Столь малая продолжительность может объясняться
климатическими условиями и человеческим фактором.
В связи с особенностями нашего климата, очень часто, особенно в
холодное время года, автолюбители сталкиваются с необходимостью зарядки
автомобильного аккумулятора. В эру автоматизации, когда многие типовые
задачи берут на себя микроконтроллеры, эту проблему не сложно решить.
Целью бакалаврской работы является создание зарядного устройства на
микроконтроллере для подзарядки автомобильных аккумуляторных батарей,
опираясь на полученные в реальном времени электрические параметры
аккумулятора.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
7
1 Обзор методов и устройств заряда аккумуляторов и постановка
задачи
Всем счастливым обладателям автомобилей обязательно рекомендуется
иметь зарядное устройство для аккумулятора, поскольку аккумуляторные
батареи периодически нуждается в подзарядке. Кроме того, нередко бывают
ситуации, когда автомобиль стоит продолжительное время. После этого для
успешного запуска мотора обязательно потребуется зарядка. Так, что если
приобрели автомобиль, то обязательно нужно купить зарядное устройство.
1.1 Типы аккумуляторных батарей
Аккумуляторная батарея (АКБ) – это источник постоянного тока, который
предназначен дня накопления и хранения энергии. Подавляющее число типов
аккумуляторных батарей основано на циклическом преобразовании химической
энергии в электрическую, это позволяет многократно заряжать и разряжать
батарею.
Со времени изобретения первого аккумулятора прошло уже более 150 лет
и сейчас невозможно представить современный мир без резервных источников
питания на основе батареи. На данный момент изобретено больше трех десятков
типов, которые отличаются своим составом, а также применяемым.
Условно можно выделить следующие типы АКБ:
− литиевые (литий-ионные) – тип электрического аккумулятора, который
широко распространён в современной бытовой электронной технике. Такой
аккумулятор чаще всего используется для питания ноутбуков, фотоаппаратов и
другой техники, но в современных телефонах он уже используется редко, так как
вытесняется более прогрессивным типом батарей. Их основной недостаток в
высокой
чувствительности
к
перезаряду,
поэтому
в
устройствах,
где
используются такие батареи, обязательно устанавливают контроллер, который
ограничивает заряд;
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
8
− никель-кадмиевые – тип электрического аккумулятора, который на
данный момент все ещё достаточно широко используются в народном хозяйстве.
Данный тип способен выдерживать большое количество разрядов и зарядов,
устойчив к низким температурам и у него большой допустимый ток разряда.
Одними из основных его достоинств является низкая цена и большой срок
службы. Недостатки указанного вида в том, что он быстро саморазряжается,
имеет низкую плотность энергии и его применение ограничивается из
соображений
охраны
окружающей
среды
(кадмий
является
ядовитым
веществом);
− свинцово-кислотные – тип электрического аккумулятора, который
применяется в транспортных средствах. Свинцовые аккумуляторы могу
использоваться многократно. Они являются вторичными источниками тока,
работающими за счёт создания химических реакций. При их работе в большом
количестве расходуются химические элементы, но следующая зарядка их
восстанавливает.
В автомобилях в основном используется свинцово-кислотный тип. Чаще
всего батарея состоит из 6 аккумуляторов (банок), каждая номинальным
напряжением около 2,2 В, соединённых последовательно в батарею (рисунок 1).
Рисунок 1 – Устройство автомобильной АКБ
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
9
Обычный электролит представляет собой смесь дистиллированной воды и
серной кислоты с плотностью в пределах 1,23-1,31 г/см3 (чем больше плотность
электролита,
тем
более
морозостойкая
батарея),
но
сейчас
появились
автомобильные АКБ построенные на базе технологии AGM (Absorbent Glass
Mat) – в ней жидкий электролит абсорбирован в пористых сепараторах из
стекловолокна,
размещенных
между
электродами,
а
также
гелевые
аккумуляторы, где в жидкий электролит добавляют вещество на основе двуокиси
кремния (SiO2), в результате чего образуется густая масса, напоминающая по
консистенции желе (технология носит название GEL).
В своем дипломном проекте я буду использовать нашедший широкое
применение свинцово-кислотный тип электрического аккумулятора.
1.2 Обзор зарядных устройств
Зарядное устройство (ЗУ) – это электронное устройство для заряда
электрических аккумуляторов энергией внешнего источника; как правило, – от
сети переменного тока.
Выделяют следующие виды зарядных устройств для АКБ.
По назначению ЗУ можно разделить на три основные группы:
− зарядные;
− пуско-зарядные;
− пусковые.
Как нетрудно понять, зарядные и пусковые ЗУ предназначены для зарядки
АКБ и запуска двигателя, соответственно. Пуско-зарядные устройства способны
выполняют обе эти функции. Здесь нужно понимать, что для запуска двигателя
пусковым и пуско-зарядным устройствам требуется подключение к сети.
Можно также выделить виды зарядных устройств для автомобильных
аккумуляторов по их устройству, это импульсные и трансформаторные ЗУ.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
10
Импульсные ЗУ имеют небольшой вес и габариты. В их составе имеется
инвертор и защита от замыкания. Трансформаторные модели более громоздкие,
поскольку в их конструкции предусмотрен выпрямитель и трансформатор.
Импульсные ЗУ более современные, совершенные и удобные. Несмотря на то,
что они дороже трансформаторных, производителями рекомендуется покупать
именно импульсные модели.
В основном все зарядные устройства включают в себя преобразователь
напряжения (трансформатор или импульсный блок питания), выпрямитель,
стабилизатор напряжения, и по необходимости устройство контроля процесса
заряда, средства индикации (стрелочный или светодиодный амперметр /
вольтметр).
Основные характеристики зарядных устройств:
− номинальное напряжение – это напряжение, которое выдаёт зарядное
устройство,
должно
соответствовать
номинальному
напряжению
АКБ.
Практически все современные зарядные устройства для автомобильных
аккумуляторов выдают напряжение 12 В. Вторые по популярности ЗУ с
возможностью зарядки АКБ номиналом 24 В. Реже встречаются зарядные
устройства, которые выдают напряжение 6 В. Этот режим пригодится при
зарядке соответствующих батарей для мотоциклов, скутеров и т. п.
− номинальный ток – это максимальный ток зарядки не должен быть
выше 10% от ёмкости батареи, т.е. распространённые аккумуляторы 55 А*ч для
легковых автомобилей нужно заряжать током не более 5,5 А.
Из вышесказанного можно сделать вывод, что характеристики зарядных
устройств зависят от типа аккумуляторов, рабочего напряжения, номинальной
ёмкости, а также следует отметить, что зарядные устройства могут быть
встроенными и внешними.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
11
1.3
Зарядные
устройства
автомобильных
аккумуляторов
с
применением микроконтроллера
Зарядные устройства автомобильных аккумуляторов являются внешними
устройствами. Они запитываются от сети 220-230 В переменного тока
штепсельным разъёмом и снабжены зажимами-крокодилами для присоединения
к клеммам аккумулятора.
ЗУ
для
автомобильных
аккумуляторных
батарей
с
применением
микроконтроллера (МК) имеет весомые преимущества перед обычным зарядным
устройством без его применения. Главная задача такого устройства, как и всей
техники в принципе, в которой применяется МК, это расширение функционала
не в убыток простоте работы с устройством. Проще говоря, такие устройства
экономят время и не требуют каких-то специальных знаний при работе с ними.
Использование
управляющее
микроконтроллера
устройство)
позволяет
(англ.
внедрить
controller
в
–
устройство
регулятор,
огромный
функционал, который впоследствии может практически исключать участие
человека в процессах, с которыми работает данное устройство.
Вот некоторый функционал ЗУ для АКБ с применением МК:
− подача тока большего, чем ток саморазряда (для компенсации
саморазряда (см. капельная подзарядка)), но меньшего, чем максимальный ток
заряда (для предотвращения разрушения аккумулятора);
− реализация алгоритма разряда/заряда, эффективного для данного типа
аккумулятора (NiMH, Ni-Cd или Li-Ion) при данном химическом составе
компонентов;
− измерение температуры (с помощью термодатчика) для аварийного
отключения зарядки на холоде или при перегреве (для предотвращения порчи
аккумулятора);
− измерение давления (с помощью датчика давления) для аварийного
отключения зарядки при утечке газов (для предотвращения взрывов и утечек).
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
12
1.4 Задачи и требования к зарядному устройству
Задачей данного проекта является создание устройства для подзарядки
автомобильных
свинцово-кислотных
аккумуляторных
батарей
(АКБ)
с
применением микроконтроллера.
Заряд аккумуляторных батарей (далее АКБ) должен осуществляется в
полуавтоматическом режиме, то есть оператору необходимо задать только ток
заряда АКБ, далее устройство должно автоматически поддерживать заданный
ток заряда. Ток заряда должен быть достаточным для полного заряда АКБ.
Питание устройства должно осуществляться от бытовой сети переменного тока
(220 В, 50 Гц).
Для данного проекта требуется принять точные рамки характеристик АКБ.
Логично сделать это, исходя из принципа «спрос рождает предложение», т.е.
выбрать наибольше распространенную аккумуляторную батарею и согласно
этому принципу, выбрал самый распространённый тип свинцово-кислотных
АКБ: стартерные АКБ с напряжением 12 В и ёмкостью до 85 А*ч.
На данный момент зарядка автомобильного АКБ с применением обычного
зарядного устройства представляет из себя целый алгоритм действий со своими
особенностями:
− оптимальная сила тока для подзарядки аккумулятора, это 10% от
номинальной ёмкости АКБ, т.е. при энергоёмкости батареи в 55 А*ч, сила тока
не должна превышать 5,5 А;
− оптимальное напряжение на клеммах зарядного устройства это +10%
от номинального напряжения от полностью заряженной батареи, т.е. к примеру,
у полностью заряженного АКБ напряжение на выходе составляет 12,6 В, тогда
10% от номинального напряжения, это 1,26 В. В итоге получается, что для
оптимальной зарядки АКБ требуется 13,86 В;
− нельзя допускать заряд батареи большим током, т.к. это разрушает
сложную структуру АКБ;
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
13
− следует постоянно следить за током зарядки и напряжением на АКБ;
− сигналом о полном заряде АКБ будет
удержание показателя
напряжения на одном уровне в течении часа, или опускания тока заряда до нуля.
И даже это может быть неполный алгоритм действий, т.к. существуют
различные режимы зарядки АКБ, служащие как для восстановления батарей, так
и для продления срока их службы. На рисунке 2 отображены этапы зарядки АКБ.
Рисунок 2 – Этапы зарядки АКБ
Всё это в итоге при правильном подходе может занимать большое
количество времени, эту проблему прекрасно решает применение МК.
В своей работе я поставил некоторые требования для устройства.
1. Простота
в
управлении
–
управление
устройством
планирую
реализовать всего одним компонентом – энкодером с тактовым нажатием.
2. Вывод на дисплей информации о токе и напряжении заряда – данная
информация позволит пользователю оценивать примерное время зарядки и
служит для информирования.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
14
3. Защита от замыкания клемм зарядного устройства – одна из основных
функций во всех подобных современных устройствах, т.к. без неё большой шанс
выхода из строя основного компонента – микроконтроллера.
4. Защита от переполюсовки при подключении клемм зарядного
устройства к аккумулятору – аналогично с предыдущем пунктом – всё это
направленно на продление жизни прибора.
5. Полная автоматизация заряда батареи, а именно:
− регулировка тока заряда батареи, опираясь на показания вольтметра и
амперметра;
− отключение заряда при неисправности или полной зарядке батареи.
Это минимальные требования, которые я хочу реализовать в устройстве,
но их может быть гораздо больше.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
15
2 Разработка структурной схемы устройства
Основная задача – это создание системы управления зарядом АКБ на МК.
Первое, что требуется, в данном проекте, это блок питания для моего
устройства, который преобразует сетевое напряжение в удобное для данной
задачи. Второй и не менее важный элемент, это микроконтроллер. Далее
требуется схема управления током заряда, с помощью которой МК задаёт
величину тока, поступающего на аккумулятор.
Для правильной регулировки микроконтроллером тока заряда, ему
требуется знать величину тока и напряжения на батарее. Для этого будут
применяться датчик тока и датчик напряжения. Как говорилось выше, для
вывода информации о процессе, токе заряда и напряжении будет использован
дисплей, а для управления – энкодер.
В итоге я получил структурную схему устройства, изображенную на
рисунке 3.
Рисунок 3 – Структурная схема устройства
Блок питания обеспечивает энергией микроконтроллер, который управляет
током заряда при помощи специальной схемы. Данная схема так же, как и МК
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
16
питается от напряжения того же блока питания. Далее, схема управления током
заряда питает непосредственно аккумулятор, заряжая его. Так как ток заряда не
может быть одинаков из-за того, что по мере заряда аккумулятора, он падает,
микроконтроллер следит за этим током заряда при помощи датчика тока.
Так же, к микроконтроллеру подключен датчик напряжения, который в
свою очередь подключен к аккумулятору. Эта цепочка так же должна служить
для того, чтобы микроконтроллер знал о процессах, опираясь на которые, он
должен правильно регулировать ток заряда. Ниже к МК подключены блоки
ввода-вывода и энкодер.
Выбор элементной базы я решил производить в следующем порядке: для
начала нужно выбрать основной блок питания, далее микроконтроллер с
элементами ввода вывода, а затем все оставшиеся компоненты. Данный порядок
будет наиболее логичным, т.к. при подборе элементной базы я буду опираться не
только на задачи и требования, но и исходя из выбора предыдущих компонентов.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
17
3 Выбор элементной базы и основных узлов
3.1 Выбор блока питания
Для начала следует определиться с блоком питания устройства. Среднему
автомобильному аккумулятору, из выше сказанного, требуется сила тока в
среднем до 6 А, а напряжение около 14 В, то примерно в этих рамках будем
подбирать параметры блока питания.
Классификация
источников
питания
осуществляется
по
принципу
действия. Основных вариантов здесь два: трансформаторный и импульсный.
Применение трансформаторного блока питания в данном проекте менее
целесообразно по причине отсутствия в нём дополнительной защиты от
замыкания. Так как данный проект не коммерческий и использование в нём
более дешевых компонентов не является одной из целей, то для него вполне
подойдёт импульсный блок питания.
При выборе импульсного блока питания имеем такие преимущества как
защита от повышенных токов, коротких замыканий, хороший встроенный
фильтр, а также зачастую он имеет подстроечный резистор, для регулировки
выходного напряжения. Исходя из написанного выше, был выбран импульсный
блок питания фирмы «Mean Well» модели «RS-75-15», показанный на рисунке 4.
Рисунок 4 – Импульсный блок питания Mean Well RS-75-15
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
18
Выходное напряжение данного блока питания 15 В, так же в данном блоке
питания имеется возможность регулировки выходного напряжения при помощи
встроенного подстроечного резистора от 13,5 до 16,5 В. Номинальный выходной
ток этого блока питания 5 А с запасом до 6 А.
3.2 Выбор микроконтроллера
Микроконтроллер (англ. Micro Controller Unit, MCU) – микросхема,
предназначенная для управления электронными устройствами. Типичный
микроконтроллер сочетает на одном кристалле функции процессора и
периферийных устройств, содержит ОЗУ и (или) ПЗУ. По сути, это
однокристальный компьютер, способный выполнять относительно простые
задачи. Отличается от микропроцессора интегрированными в микросхему
устройствами
ввода-вывода,
таймерами
и
другими
периферийными
устройствами. [3]
При выборе микроконтроллера первым делом нужно определить:
− какие сигналы МК должен обрабатывать и как быстро;
− каким образом МК будет управлять схемой управления током заряда;
− возможность подключения различных вариантов дисплея и энкодера.
Итак, опираясь на функциональную схему, видно, что устройство будет
иметь два датчика, датчик тока и напряжения. Я считаю, что данные датчики
будут аналоговыми: во-первых, для большей простоты устройства, во-вторых, по
причине того, что все датчики расположены на одной плате, а значит очень
близко к МК, и проблем с потерей точности показаний датчиков не будет.
Приходим к выводу, что МК должен иметь минимум два аналоговых входа.
Дальше нужно решить, каким образом контроллер будет управлять
схемой, регулирующей ток заряда. Данной схемой выбранный микроконтроллер
будет управлять по средствам широтно-импульсной модуляции сигнала (ШИМ,
англ. pulse-width modulation (PWM)). ШИМ, это процесс управления мощностью,
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
19
подводимой к нагрузке, путём изменения скважности импульсов, при
постоянной частоте. Итак, второе требование – это наличие хотя бы одного
вывода, поддерживающего ШИМ.
Что касается быстродействия микроконтроллера, то данное устройство не
подразумевает
управления
быстропротекающими
процессами.
Снимать
показания с датчиков тока и напряжения не требуется чаще, чем один раз в
секунду. Даже при частом снятии показаний и активной регулировке скважности
ШИМ сигнала, времени будет достаточно и для работы с дисплеем и для
управления МК энкодером. Так что, даже самые «медленные» современные
микроконтроллеры
в
силах
работать
в
реальном
масштабе
времени,
применительно к данному прибору. Другая характеристика – это дискретность
АЦП в микроконтроллере. Для измерения напряжения тока достаточно
использовать 8 разрядный АЦП, который при измерении напряжения от 0 до 5 В
обеспечивает точность аналогово-цифрового преобразования.
В итоге мои требования к микроконтроллеру следующие:
− микроконтроллер должен иметь минимум два аналоговых входа;
− наличие хотя бы одного вывода, поддерживающего ШИМ;
− быстродействие не принципиально;
− встроенный АЦП, с дискретностью 8 бит;
− минимум три дискретных входа;
− выводов микроконтроллера должно хватить на подключения какоголибо дисплея, учитывая уже занятые выше выводы.
Опираясь на эти требования, я выбрал микроконтроллер семейства AVR:
Atmega 8 в корпусе DIP28 (рисунок 5).
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 20
ъ
Рисунок 5 – Внешний вид МК Atmega 8 в корпусе DIP28
Технические характеристики данного микроконтроллера:
− программная память равна 8 кБ, цикл составляет 10000 раз;
− объем флеш памяти 512 байт который хранит переменные (цикл
перезаписи 100 000);
− оперативная память (ОЗУ) 1 Кбайт;
− 32 регистра общего назначения;
− два 8-ми разрядных таймера/счетчика с раздельным прескалером,
режим сравнения, режим захвата;
− таймер реального времени с независимым генератором;
− три канала ШИМ;
− шесть каналов АЦП, канал 10-ти разрядный;
− последовательный интерфейс двухпроводной;
− программируемый последовательный USART;
− последовательный интерфейс SPI (ведущий/ведомый);
− сторожевой таймер с независимым генератором;
− аналоговый компаратор;
− внутренний RC генератор;
− режимы с пониженным энергопотреблением: Idle, Power-save, Powerdown, Standby, ADC Noise Reduction;
− напряжение от 4.5 В до 5.5 В;
− тактовая частота от 0-16 МГц.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
21
Функциональная схема внутреннего устройства показана на рисунке 6, а
расположение выводов данного микроконтроллера изображено на рисунке 7.
Рисунок 6 – Функциональная схема внутреннего устройства Atmega 8
Рисунок 7 – Расположение выводов микроконтроллера Atmega 8
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 22
ъ
3.3 Выбор энкодера
Исходя из поставленных требований выше к контроллеру, для управления
программой, нужно будет подключить один энкодер с тактовым нажатием. Что
бы выбрать подходящий энкодер, надо понять логику его работы, для этого
стоит заглянуть в его техническую документацию и посмотреть схему
устройства. Это позволит определить, сколько потребуется выводов МК для
подключения энкодера. Самый простой и наиболее подходящие для данного
устройства – энкодер для впайки в плату, например «Bourns PEC11», т.к. все
устройства в данном корпусе (рисунок 8) у различных производителей
аналогичны по логике работы, размерам и характеристикам, то можно брать
любой энкодер с тактовым нажатием и пятью выводами.
Рисунок 8 – Энкодер Bourns PEC11
Ниже, на рисунке 9, приведена схема подключения этого энкодера к
микроконтроллеру, а также примерная принципиальная электрическая схема его
внутреннего устройства:
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 23
ъ
Рисунок 9 – Схема подключения энкодера к микроконтроллеру
Выше видно, что для подключения требуется всего три цифровых входа:
для ног A и B – контактов, передающих угол поворота, и E – тактового нажатия.
3.4 Выбор дисплея
Как уже говорилось выше, я выбрал микроконтроллер семейства AVR:
Atmega 8 в корпусе DIP28А. Выбор дисплея пал на наиболее часто
используемый с этим МК двухстрочный, шестнадцати символьный дисплей
W1602A (рисунок 10), для подключения которого используется 7 дискретных
выходов контроллера.
Рисунок 10 – Внешний вид дисплея W1602A
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 24
ъ
В заключение делаем вывод, что выбранный микроконтроллер вполне
удовлетворяет требованиям, имея 13 дискретных вводов/выводов, три из
которых имеют возможность использования их как ШИМ генераторов. Шесть
каналов аналогового входа с дискретностью АЦП до 10 разрядов. Этого вполне
хватает ещё и для подключения, выбранного в дальнейшем мною дисплея. Для
его подключения по 4-х битной шине используется 7 дискретных выходов
микроконтроллера, так что ещё 6 остаются свободными, один из которых будет
использован как ШИМ генератор, а три для подключения энкодера.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 25
ъ
4 Разработка принципиальной схемы
Следующий
этап
моего
дипломного
проекта,
это
разработка
принципиальной схемы. На данном этапе я выбрал блок питания с выходным
напряжением 15 В, микроконтроллер модели Atmega 8, а также некоторую
обвязку для ввода-вывода информации. Для управления микроконтроллером
током заряда аккумулятора, а также измерения напряжение и текущий ток на
АКБ, я решил использовать операционный усилитель.
Операционный усилитель (ОУ; англ. operational amplifier, OpAmp) –
усилитель постоянного тока с дифференциальным входом и, как правило,
единственным выходом, имеющий высокий коэффициент усиления. Выход
операционного усилителя стремится к тому, чтобы разность на его входах была
равна нулю.
Для дальнейшего использования в своей работе я решил выбрать
достаточно распространенный операционный усилитель LM358, внешний вид и
схема включения которого представлена на рисунке 11.
Рисунок 11 – Операционный усилитель LM 358
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 26
ъ
Как видно, это два маломощных операционных усилителя с высоким
коэффициентом усиления и частотной компенсацией в одном корпусе DIP8, его
технические характеристики приведены в таблице 1.
Таблица 1 – Технические характеристики ОУ LM358
Параметр
Значение
Однополярное питание
от 3 В до 32 В
Двухполярное питание
± 1,5 до ± 16 В
Ток потребления
0,7 мА
Синфазное входное напряжение
3 мВ
Дифференциальное входное напряжение
32 В
Синфазный входной ток
20 нА
Дифференциальный входной ток
2 нА
Дифференциальный
коэффициент
усиления
по
напряжению
100 дБ
Размах выходного напряжения
от 0 В до VCC – 1,5 В
Коэффициент гармонических искажений
0,02%
Максимальная скорость нарастания выходного сигнала
0,6 В/мкс
Частота
единичного
усиления
(с
температурной
компенсацией)
1,0 МГц
Максимальная рассеиваемая мощность
830 мВт
Диапазон рабочих температур
0…70 °C
На основе этого операционного усилителя я планирую создать схему,
позволяющую микроконтроллеру управлять током заряда благодаря широтноимпульсной модуляции. Так же на основе ОУ потребуется синтезировать схемы
измерительных преобразователей. Измерительный преобразователь – это
техническое средство, служащее для преобразования измеряемой величины в
другую величину или измерительный сигнал, удобный для обработки, хранения,
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 27
ъ
дальнейших преобразований, индикации и передачи, но непосредственно не
воспринимаемый оператором.
В данной работе измерительные преобразователи мне нужны для того,
чтобы при помощи АЦП моего микроконтроллера было возможно измерять
напряжение на аккумуляторе и ток в цепи заряда.
Вникая
в
подробные
технические
характеристики
выбранного
операционного усилителя, можно узнать, что он не имеет полезной в моём
случае особенности под названием «rail-to-rail». Проще говоря, в таком ОУ без
двуполярного питания, напряжение на выходе не может быть равным нулю, а
значит, для питания данного ОУ требуется и положительное и отрицательное
напряжение. Тогда в первую очередь потребуется синтезировать схему для
двуполярного питания LM358. Так же, для микроконтроллера и дисплея
требуется напряжение +5 В, их потребуется преобразовать из +15 В.
4.1 Питание операционных усилителей LM358
Для
полноценного
питания
операционного
усилителя
не
хватает
отрицательного напряжения от 1,5 до 16 В. Нужное напряжение получаем при
помощи двух конденсаторов и двух диода, соединенных последовательно, а
также генератора сигнала с амплитудой в 5 В. Схема данного источника
отрицательного напряжения приведена на рисунке 12.
Рисунок 12 – Схема генератора отрицательного потенциала
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 28
ъ
Генератор
сигнала
можем
смело
взять
со
свободного
выхода
микроконтроллера, поддерживающего ШИМ, т.к. по подсчётам в МК остаются
неиспользуемые свободные цифровые выводы, с поддержкой широтноимпульсной модуляции. Единственное требование, нужно будет программно
постоянно генерировать сигнал на одном из выходов.
Далее выберем номиналы конденсаторов данной схемы. Для этого нужно
определиться с частотой генератора и входным напряжением. Микроконтроллер
Atmega 8 может генерировать ШИМ сигнал с частотой до 1 кГц при частоте в
8 мГц и с напряжением питания, в моём случае это 5 В. Зададим среднюю
частоту генерации сигнала в 50 кГц. В Atmega 8 ближайшее значение частоты
исходя из его технических характеристик (рисунок 13) это 64 кГц. Ими и
зададимся в дальнейшем.
Рисунок 13 – Частоты генерации ШИМ сигнала в МК Atmega 8
Вообще в данной схеме не принципиальны параметры конденсаторов, так
как от их ёмкости зависит только время, через которое данная схема будет
выдавать отрицательное напряжение. Для простоты выбираем конденсаторы
ёмкостью 0,1 мкФ. Их вполне хватит для того, чтобы генерировать
отрицательный потенциал.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 29
ъ
Поскольку на обычных диодах напряжение падает на 0,7 В, а на двух
диодах оно в сумме упадёт почти на 1,5 В, то целесообразнее использовать
диоды Шоттки, т.к. падение напряжение на них составляет 0,2 В, а также они
будут играть роль защиты выхода микроконтроллера.
В данном проекте используем уже готовую сборку диодов Шоттки –
BAT54S, выполненную в корпусе для поверхностного монтажа SOT-23. А также
для минимизации паразитных колебаний на вход данной схемы поставили
резистор сопротивлением в 100 Ом. В итоговом варианте схема генерации
отрицательного потенциала для операционных усилителей в моём случае
выглядит следующим образом (рисунок 14).
Рисунок 14 – Схема генерации отрицательного напряжения
4.2 Питание микроконтроллера и обвязки
Для питания микроконтроллера и дисплея в схеме нужно иметь источник
напряжения +5 В, такое напряжение получаем, применив линейный регулятор
напряжения, и подключив его к входному напряжению от блока питания. В
данном случае логично применить стабилизатор напряжения LM7805, его
технические параметры приведены в таблице 2.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 30
ъ
Таблица 2 – Технические параметры стабилизатора напряжения LM7805
Параметр
Значение
Рабочая температура
0°C ~ 125°C
Ток выходной
1A
Число регуляторов
1
Напряжение - падение (Typ.)
2 В при токе 1 A
Напряжение входное
от 7 до 25 В
Напряжение выходное
5В
Топология регулятора
Positive Fixed
Lead Free Status / RoHS Status
Lead free / RoHS Compliant
Как видно из таблицы 2, напряжение стабилизации схемы равно 5 В при
входном напряжении от 7 до 25 В, что отлично подходит при имеющемся
входном напряжении равном 15 В. Для защиты напряжения 5 В от скачков и
помех потребуется установить конденсаторы на 10 и 0,1 мкФ. Основная защита
от помех из сети уже встроена в блок питания, поэтому этих конденсаторов
будет достаточно. На рисунке 15 показана итоговая схема преобразования из
+15 В в +5 В.
Рисунок 15 – Схема преобразования +15 В в +5 В
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
31
4.3 Схема управления током заряда
Как и решено выше, схему управления током заряда будет основываться
на ОУ LM358. Для этого используем схему обычного линейного источника тока
(рисунок 16).
Рисунок 16 – Линейный источник тока
Стабилизация тока производится за счёт основного свойства ОУ –
стремления уравнять разность потенциалов на своих входах за счёт повышения
или понижения напряжения на выходе.
В данной схеме операционный усилитель стремиться уровнять напряжения
от источника опорного напряжения и падение напряжения на шунте.
Операционный усилитель, меняя напряжение на выходе, подключенном к
затвору транзистора, изменяет значение тока протекающего через транзистор (и
соответственно через шунт). А от значения тока протекающего через шунт как
раз зависит падение напряжение на шунте, которое в свою очередь и стремится
уровнять ОУ сравнивая его и напряжением от ИОН. Регулирование тока через
нагрузку прекратится тогда, когда падение напряжения на шунте будет равно
напряжению от источника опорного напряжения.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 32
ъ
Для данной схемы требуется полевой NPN транзистор, выбираем IRF540N,
т.к. он по своим параметрам отлично подходит для ограничения тока в 5 А, а
управление затвором этого транзистора не сложно будет осуществить при
помощи выбранного выше операционного усилителя LM358.
Для использования этой схемы в моей работе нужно её модернизировать, в
первую очередь следует определиться с номиналом шунтирующего резистора,
т.к. ток будет изменяться от 0 до 5 А, целесообразно использовать резистор
номиналом в 0,1 Ом. Тогда по закону Ома:
𝑈 = 𝐼 ∗ 𝑅 = 5 А ∗ 0,1 Ом = 0,5 В.
(1)
Это значит, что при токе в 5 А, падение напряжения на шунте будет 0,5 В.
Далее в схему следует добавить резисторы и некоторые стабилизирующее
элементы (рисунок 17).
Рисунок 17 – Линейный источник тока применительно для заряда АКБ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 33
ъ
Резистор Rн служит как нагрузочный резистор. Он нужен для того, чтобы
при отключении аккумулятора от клемм цепь не была разорвана. Элементы R1,
С1, R2 – применяются для стабилизации схемы. Номиналы резисторов выбираем
одинаковые: 20 кОм, а конденсатора 10 мкФ. Элементы R3 и C2, а также
стабилитрон VD введены в схему для стабилизации вредного свойства
операционного усилителя самовозбуждаться при работе с ёмкостной нагрузкой.
В данном случае её роль выполняет затвор полевого транзистора. Номинал
резистора равен 1 кОм, конденсатора 10 мкФ, этого будет достаточно при
частоте ШИМ в 64 кГц и амплитуде в 5 В. Для защиты от скачков напряжения
использован стабилитрон на 15 В – IN4744.
Управляющее напряжение будет изменяться микроконтроллером, для
этого будет использована интегрирующая цепочка из резистора и конденсатора.
Так
же
следует
предусмотреть
возможность
настройки
выходного
выпрямленного напряжения для того, чтобы иметь возможность вручную
подстраивать управляющее напряжение. Для этого далее введена следующая
цепочка, представленная на рисунке 18.
Рисунок 18 – Схема выпрямления ШИМ
Номиналы интегрирующей цепочки достаточно будет задать в 300 Ом и
10 мкФ, т.е. R1 тут равен 300 Ом, а C = 10 мкФ. Далее идёт делитель напряжения,
служащий для точной настройки выходного напряжения, его следует рассчитать
так, чтобы на выходе данной цепочки напряжение было 0,5 В, при входном
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 34
ъ
напряжении 5 В. Исходя из формулы расчета и временно принимая, что вместо
потенциометра для расчета используется постоянный резистор, рассчитываем по
формуле (2).
𝑈вых = (𝑅
𝑅3
2 +𝑅3 )
∗ 𝑈вх .
(2)
Примем резистор R2 равным 15 кОм, тогда:
0,5 В = (
𝑅3
12 кОм+𝑅3 )
∗ 5 В.
(3)
Отсюда R3 = 1,333 кОм, но т.к. в схеме выше используется построечный
резистор, то можно принять R2 равным 10 кОм, а R3 = 5 кОм. В конечном счете,
схема регулирования тока для заряда АКБ имеет следующий вид (рисунок 19).
Рисунок 19 – Схема управления током заряда АКБ с управлением ШИМ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 35
ъ
Эта схема поддерживает заданный ток заряда самостоятельно, опираясь на
падение напряжения на шунте, а опорное напряжение,
т.е. величина
поддерживаемого тока заряда, задаётся микроконтроллером по средствам
изменения скважности ШИМ сигнала.
4.4 Измерительный преобразователь ток-напряжение
Как уже известно, на данном этапе, номинальная величина тока, которая
должна быть измерена, находится в пределах 5 А. Так же известно, что в схеме
применён
AVR
микроконтроллер
Atmega
8,
исходя
из
технических
характеристик которого видно, что в нём встроен 10 битный АЦП, опорным
напряжением которого является либо напряжение питания 5 В, либо встроенное
опорное напряжение в 2,56 В. Для большей простоты я решила, что опорным
напряжением встроенного АЦП будет 5 В.
В итоге, мы имеем следующие исходные данные для построения датчика
тока, величина измеряемого тока 0-5 А и величина выходного напряжения
датчика 0-5 В.
Из индивидуального технического задания ясно, что датчик тока должен
быть построен на операционном усилителе LM358, его характеристики я привёл
в таблице 1.
Величину тока будем измерять по падению напряжения на том же шунте
сопротивлением 0,1 Ом, на котором основана схема регулировки тока заряда.
Чаще всего в таких схемах в качестве шунта применяется цементный резистор, с
сопротивлением 0,1 Ом.
Падение напряжение на шунте U измеряется с помощью закона Ома,
рассчитывая его при силе тока в 5 А и шунте 0,1 Ом.
𝑈 = 𝐼 ∗ 𝑅 = 5 А ∗ 0,1 Ом = 0,5 В.
(4)
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 36
ъ
Это значит, что при токе в 5 А, падение напряжения на шунте будет 0,5 В.
Величина недостаточная, для измерения её при помощи АЦП микроконтроллера,
а значит нужно её усилить, для этого и будет применён операционный
усилитель.
Для данного варианта используем схему неинвертирующего усилителя
(рисунок 20), имеющая бесконечно большое входное и бесконечно малое
выходное сопротивление, что конечно является достоинством.
Рисунок 20 – Схема неинвертирующего преобразователя на LM358
Коэффициент преобразования операционного усилителя рассчитывается
по формуле (5).
𝑅
𝐾у = 1 + (𝑅1 ).
2
(5)
Этот коэффициент нужно сделать равным 10, что бы измеряемое падение
напряжения на шунте в 0,5 В соответствовало напряжению на выходе усилителя
в 5 В. Именное такое соотношение нужно для того, чтобы при максимальном
изменении тока (от 0 до 5 А) АЦП преобразовывал в максимальных своих
пределах. За счёт этого согласования уровней напряжения добиваемся
максимальной точности при аналогово-цифровом преобразовании.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 37
ъ
Для данного коэффициента усиления выбираем резистор R1 номиналом
20 кОм, соответственно резистор R2 должен быть номиналом 2,2 кОм. Получаем
схему усилителя для датчика тока, с входным напряжением от 0 до 0,5 В и
выходным от 0 до 5 В.
Далее следует адаптировать эту схему для данной работы, применив
защиту от скачков напряжения, привязку выхода к земле и предусмотреть
возможность подстройки.
На выходе схемы относительно земли ставится стабилизатор напряжения,
рассчитанный на 5,6 В, чтобы защитить вход микроконтроллера от повышенного
напряжения, был выбран стабилизатор IN4734A. На входе используется резистор
для защиты по току, номиналом в 1 кОм, а на входе и выходе относительно
земли ставятся сглаживающие конденсаторы номиналом 0,1 мкФ.
Так же, что бы АЦП МК не считывал шумы, когда на входе схемы ничего
нет, выход следует привязать к земле делителем напряжения с плечами 300 Ом и
10 кОм, а вместо резистора R2 на 2,2 кОм выбираем подстроечный резистор
номиналом в 5 кОм. Итоговая схема преобразователя применительно к моей
работе показана на рисунке 21.
Рисунок 21 – Схема неинвертирующего преобразователя
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 38
ъ
4.5 Измерительный преобразователь тока на ОУ LM358
В данном случае измерительный преобразователь классифицируется как
масштабный, т.е. предназначенный для изменения размера величины или
измерительного сигнала в заданное число раз.
Итак: нужно снимать показания напряжения в пределах от 0 до 15 В.
Снимаются они, тем же микроконтроллером Atmega 8, а значит, на выходе
датчика нужно получить напряжение от 0 до 5 В. Так как снимать напряжение
требуется не относительно нулевой точки, а между источником напряжения и
силовым транзистором, то в данном случае целесообразно будет использовать
схему на основе разностного (дифференциального) усилителя, схема которого
приведена на рисунке 22.
Рисунок 22 – Схема дифференциального усилителя на LM358
Данная схема основана на усилении разницы напряжений на входах.
Вследствие свойств идеального операционного усилителя (он обладает высоким
коэффициентом усиления по напряжению) разность потенциалов между его
входами равна нулю.
На рисунке 23 данная схема включена в цепь с транзистором,
регулирующим ток заряда АКБ, в целом представляет из себя готовый датчик.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 39
ъ
Схема преобразовывает разность напряжений в точках «1» – между питанием и
нагрузочным резистором, и «2» – между нагрузочным резистором и
сопротивлениями транзистора и шунта. Сравнивая разность напряжения на этих
точках, схема преобразовывает разность этого напряжения по коэффициенту,
заданному резисторами R1, R2, R3 и R4.
Рисунок 23 – Схема преобразователя напряжения на LM358
Для данного преобразователя значения двух резисторов R1 и R2 должны
быть равны, как и значения резисторов R3 и R4. Для их расчета при их равенстве
используется формула (6).
𝑅
𝑈вых = (𝑈1 − 𝑈2 ) ∗ 𝑅3 .
1
(6)
Считая, что разность потенциалов U1 и U2 будет 15 В, при этом на выходе
ОУ должно быть 5 В, рассчитал значения резистора R3 = 1 кОм, а R1 = 3 кОм. Как
и в случае с измерительным преобразователем тока в напряжение, следует
предусмотреть возможность подстройки схемы, защиту от помех и перегрузок.
Для этого аналогично поставлю стабилизатор на 5,6 В –
IN4734A,
подключенного относительно земли, так же параллельно стабилизатору
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 40
ъ
конденсатор на 0,1 мкФ, а для точной подстройки коэффициента преобразования
резистор R3 нужно сделать подстроечным с номиналом 2,2 кОм. Итоговая схема
представлена на рисунке 24.
Рисунок 24 – Итоговая схема преобразователя напряжения на LM358
4.6 Реализация защит
В требованиях к работе есть такие пункты, как защита от переполюсовки и
защита от замыкания контактов, для её реализации достаточно будет добавить
ключ между АКБ и блоком питания. Ключом нужно будет управлять с помощью
дискретного
выхода
микроконтроллера,
для
этой
цели
подходит
электромагнитное реле, которое желательно питать от напряжения 15 В, что бы
оно выдавало меньше помех в цепь питания микроконтроллера. Для этого
последовательно с управляющими реле контактами следует установить резистор
в 200 Ом, но тогда управлять реле нужно будет через транзисторный ключ. Для
этого я использовал NPN транзистор MJE13005 и резистор в 1 кОм, т.к.
напряжение насыщения данного транзистора около 0,5 В. Известно, что при
выключении реле, в катушке возникает ЭДС самоиндукции достаточно больших
размеров и для предотвращения этого эффекта и защиты ключевого транзистора
следует поставить диод параллельно обмоток катушки реле. Итоговая схема
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
41
принудительного отключения аккумуляторной батареи от блока питания
показана на рисунке 25.
Рисунок 25 – Защита от переполюсовки и замыкания контактов
Работает защита следующим образом – реле разъединяет блок питания и
схему регулировки тока заряда. Программно замыкать реле следует только в том
случае, если датчики, подключенные к схеме регулировки тока заряда,
показывают
какое-либо
напряжение батареи.
Это будет
означать,
что
аккумулятор подключен к цепи, и подключен верно.
4.7 Повышение частоты микроконтроллера
В итоге всё же решил повысить производительность микроконтроллера до
16 МГц, чтобы увеличить скорость обновления информации на дисплее и
скорость отклика на управляющие воздействия. Эта возможность предусмотрена
микроконтроллером Atmega 8, необходимо лишь подключить к нему внешний
генератор по схеме изображенной на рисунке 26.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 42
ъ
Рисунок 26 – Внешний генератор частоты микроконтроллера
4.8 Расчёт радиатора регулирующего транзистора
Так как через транзистор будут протекать достаточно большие токи, ему
нужно подобрать радиатор. Первое, что необходимо знать, это предельную
температуру работы выбранного транзистора IRF540N. Как видно из рисунка 27,
предельная температура кристалла данного транзистора, +175 °C.
Рисунок 27 – Предельные режимы работы транзистора IRF540N
Для подбора радиатора нужно определить, сколько Ватт тепла выделяется
на кристалле транзистора. Максимальный протекающий ток определяется по
формуле (7).
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 43
ъ
𝑃 = 𝑈 ∗ 𝐼 = 15 В ∗ 5 А = 75 Вт.
(7)
Тепловое сопротивление переход-корпус Rпк у данного транзистора, как
видно из рисунка 28, равно 1,15 °C/Вт.
Рисунок 28 – Параметры тепловых сопротивлений транзистора IRF540N
Исходя из расчетов выше, учитывая, что транзистор в максимальном
режиме работы выделяет 75 Вт тепла, а тепловое сопротивление переход-корпус
равно 1,15 °C/Вт, получаем, что разница между переходом и фланцем корпуса
будет равна:
1,15 ℃/Вт ∗ 75 Вт = 86,25 ℃.
(8)
А поскольку максимальная температура кристалла равна +175 °C, то
максимальный нагрев фланца корпуса транзистора не должен превышать:
175 ℃ − 86,25 ℃ = 88,75 ℃.
(9)
Далее по формуле (10) мы рассчитаем требуемое тепловое сопротивление
Q.
𝑄=
88,75 ℃
75 Вт
= 1,18 ℃/Вт.
(10)
Тогда по грубой формуле (11) для расчета площади теплоотвода S
получим.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 44
ъ
50
2
𝑆 = (1,18 ℃/Вт ) = 1795,46 См2 .
(11)
В итоге получаем, что радиатор для силового транзистора должен иметь
минимальную площадь 1800 См2, но т.к. желательно не использовать транзистор
в его предельных режимах работы, нужно взять радиатор с площадью не менее
2000 См2, или же использовать принудительное охлаждение радиатора.
4.9 Дополнительная регулировка тока заряда.
Схема регулировки тока на транзисторе превращает большое количество
энергии
в
теплоту,
а
значит,
имеет
проблемы
с
КПД
и
большим
тепловыделением. В то же время выбранный мной блок питания является
импульсным и имеет возможность подстройки выходного напряжения от 13,5 до
16,5 В. Для этого в нём имеется резистивный делитель, одно плечо которого
представляет собой подстроченный резистор, выведенный на внешнюю часть
корпуса для ручной подстройки сопротивления. Я решил использовать эту
функцию для дополнительной регулировки, чтобы снизить тепловыделение на
транзисторе до минимума.
Что бы иметь возможность изменять сопротивление резистора при помощи
микроконтроллера,
решил
использовать
транзисторный
оптрон.
Это
электронный прибор, состоящий из излучателя света – светодиода и
фотоприёмника полевого транзистора. Выбрал распространенный оптрон PC123,
его электротехнические характеристики представлены на рисунке 29.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 45
ъ
Рисунок 29 – Электротехнические характеристики оптрона PEC123
Опытным путём измерили сопротивление подстроечного резистора в блоке
питания, оно оказалось равным 1,2 кОм. Вместо него в блок питания следует
впаять обычный резистор с таким же сопротивлением. Параллельно ему должен
располагаться фототранзистор оптрона, а с другой стороны, управлять
сопротивлением транзистора будет микроконтроллер опять же посредствам
ШИМ сигнала.
Для этого между ногой МК
и оптроном поставили
дифференцирующую цепь, состоящую из конденсатора и резистора. Их
номиналы будут такие же, как и на входе цепи, открывающей транзистор. В
итоге получили цепь, управляющую выходным напряжением блока питания при
помощи микроконтроллера (рисунок 30).
Рисунок 30 – Управление выходным напряжением БП
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 46
ъ
Для считывания напряжения на батарее именно для расчета регулирования
данной схемы, следует ввести в схему обособленный датчик, в качестве него
будет использован делитель напряжения. Плечи делителя должны обеспечивать
выходное напряжение примерно в 0-5 В, при входном 0-15 В, по формуле (12) и
R2 я выбрал равным 5 кОм, отсюда следует, что R1 = 10 кОм.
𝑈вых = (𝑅
𝑅2
1 +𝑅2
∗ 𝑈вх = (𝑅
)
5
1 +5)
∗ 15.
(12)
Так же аналогично пунктам 4.4 и 4.5 для защиты входа микроконтроллера
от скачков, применяются стабилизатор на 5,6 В и конденсатор на 0,1 мкФ. В
итоге я получил простой преобразователь напряжения (рисунок 31) для
считывания напряжения на АКБ.
Рисунок 31 – Цепь для считывания напряжения АКБ
Логика работы этих элементов будет следующая: микроконтроллер будет
следить за напряжением АКБ и регулировать выходное напряжение блока
питания, максимально возможно приближая его к напряжению АКБ. Это всё
позволит значительно разгрузить силовой регулирующий транзистор, снизив
мощность на транзисторе на 5-10 Вт.
Ещё одним плюсом данной схемы является возможность исключения этих
цепей из схемы без внесения изменений в код программы, это сделано за счёт
обособленности этих цепей от остальных. Это позволит сделать плату более
универсальной, и применять её с другими источниками питания без
возможности внесения в них изменений.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 47
ъ
4.10 Синтез итоговой схемы
Так как планируется, что конечная схема в будущем должна быть
воплощена в устройство, то перед окончательным синтезом схемы нужно
добавить несколько цепей.
В итоге схема должна будет собираться на печатной плате. Я решил, схему
нужно будет разделить на две части: первая и основная часть, это управляющая
схема, а вторая, это панель ввода вывода. Для этого нужно будет предусмотреть
соединяющие элементы. Аналогичные элементы следует предусмотреть и для
соединения управляющей напряжением блока питания цепи с платой. Так же,
для соединения платы с источником питания и зарядными проводами
(проводами, подсоединяющими АКБ к схеме), нужно будет предусмотреть
использование клеммных колодок.
Учитывая то, что основным преимуществом устройства будет являться
управление зарядом аккумуляторной батареи при помощи микроконтроллера.
Как известно, программный код микроконтроллера зачастую требует отладки.
Для удобства отладки я решил вывести на плату устройства разъем,
позволяющий прошивать микроконтроллер «на месте». Для прошивки данного
МК легче всего использовать интерфейс ICP, в этом случае требуется 4
соединения – RESET, MOSI, MISO и SCR, подключенные соответственно к
ногам 1, 17, 18 и 19 микроконтроллера. Для этого следует предусмотреть
соединяющие элементы.
Так как отладка микроконтроллера будет происходить на плате, так же
желательно предусмотреть на ней кнопку сброса, подключенную к входу
микроконтроллера PC6. Это позволит перезапустить программу контроллера без
отключения питания.
Итоговая схема устройства приведена в приложении А.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 48
ъ
5 Моделирование частей схемы в среде NI Multisim
Программный продукт компании National Instruments под названием
Multisim, часть целого программного пакета, позволяющая с помощью
персонального компьютера моделировать электронные схемы. NI Multisim
позволяет создать схему, используя обширную библиотеку компонентов, и
эмулировать
поведение
интегральной
схемы
с
помощью
стандартного
промышленного симулятора SPICE. [7].
Перед следующим этапом нужно проверить отдельные части схемы на
работоспособность. Кроме проверки работоспособности это так же позволит
лучше понимать то, как микроконтроллер должен работать с элементами схемы,
что внесёт ясность в логику написания программного кода.
5.1 Моделирование схемы питания операционных усилителей LM358
Проверка схем производится по порядку. Начнем с пункта 4.1, с проверки
генератора отрицательного напряжения для питания операционных усилителей.
Для этого собираем схему в среде Multisim (рисунок 32).
Рисунок 32 – Схема генератора отрицательного напряжения в среде Multisim
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 49
ъ
Настройки генератора задаем в соответствии с требующимися для
правильной работы схемы. Генератора в данном случае приравнивается к ШИМ
генератору микроконтроллера, формирующий сигнал со скважностью 50 %, и
частотой 64 кГц. Запустив моделирование схемы, открываем окно осциллографа
(рисунок 33).
Рисунок 33 – Окно осциллографа
Как видно из графиков, генератор генерирует отрицательное напряжение
равное почти -5 В, делаем вывод, что схема работает верно.
5.2 Моделирование схемы питания микроконтроллера и обвязки
Далее производим проверку простой схемы генератора напряжения +5 В
на основе LM358. На рисунке 34 показана собранная схема с подключенными к
ней мультиметрами, показывающими входное и выходное напряжение.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 50
ъ
Рисунок 34 – Симуляция схемы питания +5 В
5.3 Моделирование схемы управления током заряда
Для проверки схемы управления током заряда аккумулятора собираем в
Multisim следующую схему (рисунок 35).
Рисунок 35 – Схема управления током заряда АКБ в Multisim
Для проверки данной схемы подключаем ко входу схемы функциональный
генератор, моделирующий выход АЦП. Частота сигнала всё та же: 62 кГц.
Далее производим замер тока на выходе, задав скважность сигнала
генератора в 50%. Показания амперметра видны на рисунке 36.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
51
Рисунок 36 – Моделирование схемы управления током
при скважности ШИМ 50%
Аналогичные замеры производим изменив скважность генератора на
минимальную (рисунок 37) и максимальную (рисунок 38).
Рисунок 37 – Моделирование схемы управления током
при скважности ШИМ 1%
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 52
ъ
Рисунок 38 – Моделирование схемы управления током
при скважности ШИМ 99%
Как видно из показаний амперметра, схема функционирует верно.
5.4 Моделирование измерительного преобразователь ток-напряжение
Далее собираем в программе схему (рисунок 39) для последующей
проверки измерительного преобразователя.
Рисунок 39 – Схема проверки измерительного преобразователя ток-напряжение
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 53
ъ
При помощи встроенного инструмента «DC Sweep», производим снятие
входного и выходного напряжений схемы, чтобы проследить их зависимость
друг от друга. Как видно из графика, показанного на рисунке 40, зависимость
линейная и коэффициент преобразования верен.
Рисунок 40 – График зависимости выходного напряжения от входного
5.5 Моделирование измерительного преобразователя тока на ОУ
LM358
Собираем измерительный преобразователь (рисунок 41).
Рисунок 41 – Измерительный преобразователь тока в среде Multisim
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 54
ъ
Аналогично
пункту
5.4
производим
моделирование
посредствам
инструмента «DC Sweep», изменяя входное напряжение от 0 до 15 В.
Зависимость выходного напряжения от входного показана на рисунке 42.
Рисунок 42 – График зависимости выходного напряжения от входного
Из
графика
видно,
что
зависимость
линейная
и
коэффициент
преобразования так же верен.
Итак, все основные силовые части итоговой схемы работают верно.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 55
ъ
6 Разработка программы управления
Для написания программного кода, следует учитывать подключения всех
частей схемы, согласно приложению А.
В данном проекте, написание программного кода – это не основная задача.
Программный код может быть в последующем изменён и более отлажен.
Программа написана на языке С.
Язык C (рус. Си) – компилируемый статически типизированный язык
программирования общего назначения, разработанный в 1969-1973 годах
сотрудником Bell Labs Деннисом Ритчи как развитие языка Би. Первоначально
был разработан для реализации операционной системы UNIX, но, в последствии,
был перенесён на множество других платформ. Согласно дизайну языка Си, его
конструкции близко сопоставляются типичным машинным инструкциям,
благодаря чему он нашёл применение в проектах, для которых был свойственен
язык ассемблера, в том числе как в операционных системах, так и в различном
прикладном ПО для множества устройств – от суперкомпьютеров до
встраиваемых систем. [9].
Полный код программы с пояснениями представлен в приложении Б.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 56
ъ
7 Разработка конструктивного исполнения
Altium
Designer
проектирования
–
комплексная
(САПР)
система
радиоэлектронных
автоматизированного
средств,
разработанная
австралийской компанией Altium. Altium Designer – это система, позволяющая
реализовывать проекты электронных средств на уровне схемы или программного
кода с последующей передачей информации проектировщику ПЛИС или
печатной платы. Отличительной особенностью программы является проектная
структура и сквозная целостность ведения разработки на разных уровнях
проектирования. Иными словами, изменения в разработке на уровне платы могут
мгновенно быть переданы на уровень ПЛИС или схемы и так же обратно. Так же
в качестве приоритетного направления разработчиков данной программы стоит
отметить интеграцию ECAD и MCAD систем. Теперь разработка печатной платы
возможна в трёхмерном виде с двунаправленной передачей информации в
механические САПР (Solid Works, Pro/ENGINEER, NX и др.). [9].
Итоговым продуктом данного пункта должна стать карта печатной платы
для зарядного устройства.
7.1 Создание программных компонентов
Отправным пунктом для создания элементной базы моего устройства
будет, создание базы условно графических обозначений (далее УГО) для всех
применяемых компонентов. Создание базы УГО производиться, опираясь на
конечную схему устройства
и перечень
элементов,
представленный в
приложении А.
Так как основная цель работы в данном программном продукте – создание
печатной платы, то особого внимания соответствию УГО ГОСТам решили не
предавать. На рисунке 43 представлен список компонентов базы УГО,
созданных для данного устройства.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 57
ъ
Рисунок 43 – Список компонентов базы УГО
Данная база компонентов нужна только для создания из них схемы, по
которой программа автоматически сможет синтезировать карту печатной платы.
Но для этого нужно пройти ещё несколько этапов.
Следующий этап – это создание карты контактных площадок и корпусов
каждого компонента.
7.2 Создание базы корпусов компонентов
В данном программном продукте есть возможность представлять корпуса
элементов в трёхмерном виде. Для данной работы бала создана базу корпусов
электронных элементов (рисунок 44).
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 58
ъ
Рисунок 44 – База корпусов электронных компонентов
Как видно из рисунка 44, база корпусов содержит карту контактных
площадок для каждого компонента, это основной параметр, который нам
требуется. Так же база может содержать 3D модель самого компонента.
Итак, исходя из перечня элементов, создана база корпусов для всех
компонентов из этого списка, большинство моделей корпусов можно найти в
открытых источниках сети интернет, что мы и сделали.
7.3 Привязка УГО к трёхмерной модели
Следующим этапом привязываем к каждому условно графическому
обозначению компонента свой корпус. Для этого нужно лишь выбрать в
программе соответствия УГО компонента с моделью корпуса в базе трёхмерных
компонентов. Компонент, привязанный к своей модели, имеет в базе УГО связь с
моделью его корпуса (рисунок 45), при этом программа автоматически
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 59
ъ
связывает выводы УГО компонента с картой контактных площадок. Это
основной принцип того, как программа в будущем собранную схему сможет
представить в трёхмерном виде и далее синтезировать печатную плату.
Рисунок 45 – УГО компонента привязанного к трёхмерному корпусу
7.4 Создание схемы устройства
Так как в пункте 4.10 было решено, что устройство будет иметь две
разделенные печатные платы, то учитывая это и основываясь на схеме
приложения А собираем в программе Altium Designer две отдельных схемы, по
которым далее будет создано две раздельных карты печатных плат.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 60
ъ
При создании схем учитываем нумерацию компонентов и их названия на
основной схеме. Первая схема, управляющая, показана на рисунке 46, а вторая,
схема панели ввода вывода на рисунке 47.
Рисунок 46 – Управляющая электрическая схема устройства в
программе Altium Designer
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
61
Рисунок 47 – Схема панели ввода вывода
7.5 Перенос схемы в менеджер печатных плат
Далее при помощи специальных инструментов создаем печатную плату.
Как сказано выше, печатных платы две, но размещать элементы будем на одной
печатной плате, учитывая то, что после ее создания, её нужно будет разделить на
две, т.е. на печатной плате будет располагаться две зоны, так называемые
«комнаты». Панель ввода вывода и управляющая часть. Размеры управляющей
части выбираем исходя из того, что в конечном приборе плата управления,
скорее всего, будет устанавливаться поверх блока питания. Размеры граней
блока питания Mean Well RS-75-15 показаны на рисунке 48.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 62
ъ
Рисунок 48 – Размеры блока питания
Как видно из рисунка, большая плоскость имеет стороны граней 129 мм и
98 мм. Размер платы управления выбираем так же 120х98 мм. Далее нужно
определиться с размерами панели ввода вывода. Так как плата будет сдвоена, а
для удобства производства и экономии материала решили, что ширина панели
ввода вывода будет аналогична ширине платы управления, то есть 129 мм.
Высоту панели ввода вывода выбираем исходя из высоты дисплея и учитывая то,
что на эту плату будет помещены разъемы для шлейфа соединения её с платой
управления. Замерив высоту дисплея, и ширину разъемов, сделали вывод, что
высота платы ввода вывода будет 51 мм. Итоговые размеры платы: 129х129 мм.
Для удобства монтажа плат разместили на них отверстия с четырех сторон.
Так же, для разделения плат, разместила на высоте 98 мм линию шелкографии,
по которой при производстве будет происходить разделение. Итоговый вариант
показан на рисунке 49.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 63
ъ
Рисунок 49 – Плата в окне редактора плат
Далее при помощи инструмента «Import Changes» импортировали все
примененные в ранее собранных схемах компоненты вместе с их связями. После
импорта вручную разместили все компоненты на плате в соответствии с их
расположением. То есть, все компоненты платы управления разместили в
нижней части, а все компоненты платы ввода вывода в верхней. Так же задали
границы комнат в соответствии со своими местами. Это нужно будет для более
удобной трассировки.
Так как устройство делаем на двухсторонней плате, то для удобства
запайки SMD компонентов в блоке управления разместили их все на обратной
стороне печатной платы. А в плате ввода вывода разместили на обратной
стороне вообще все элементы, кроме самого дисплея и энкодера. Это нужно для
того, чтобы эти компоненты не мешались в будущем при монтаже в корпус. В
итоге получили следующий вариант (рисунок 50).
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 64
ъ
Рисунок 50 – Расположение компонентов
При расположении элементов учитывали некоторые аспекты. Например,
старались не располагать элементы слишком тесно, или же группами, для более
равномерного распределения тепла по плате. Силовые элементы, такие как
транзистор регулировки тока и регулятор напряжения, а также ключевой
транзистор разместили по одной линии, т.к. они выполнены в корпусе формата
TO220, это сделано для возможность разместить их все на одном охладителе.
7.6 Трассировка
Следующий этап, это трассировка проекта, следует определиться с
толщиной
дорожек.
Для
расчета
ширины
проводника
относительно
максимального тока, протекающего через силовой транзистор, применяется
выражение (13).
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 65
ъ
𝐼 2 ∗𝜌
52 ∗0,0175
𝑏 = √∆𝑡∗ℎ2 ∗𝑞∗𝑐 = √60∗0,22 ∗8,9∗103 ∗390 = 0,484 мм,
(13)
где b – ширина дорожки печатного проводника;
ρ – удельное сопротивление меди (ρмеди = 0,0175 Ом*мм2/м);
с – удельная теплоемкость меди (390 Дж/кг*к);
q – плотность меди (8,9 * 103 Кг/М3);
h – глубина дорожки печатного проводника (0,2 мм);
∆t – оптимальный интервал температур для работы платы (60 °С);
I – ток, протекающий через проводник.
Взяли ширину проводника с запасом, сделав её среднюю ширину 1 мм, а
для остальных цепей среднюю ширину задали 0,5 мм. Все эти параметры
прописали в правилах проекта.
Далее,
при
помощи
инструмента
«Auto
Routing»
запустили
автоматическую трассировку. Первым делом запустили трассировку только
внутри одной «комнаты», что бы программа провела трассировку только в ней.
Далее я запустил трассировку в «комнате» панели ввода вывода и программа так
же провели трассировку там. Это нужно, что бы при трассировке программа не
имела конфликтов между двумя частями платы и не заходила при трассировке на
соседнюю часть. Результат автоматической трассировки показан на рисунке 51.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 66
ъ
Рисунок 51 – Результат автотрассировки
После автоматической трассировки платы внесли несколько изменений,
например, немного увеличил шину проводника, идущего непосредственно от
клеммы питания +17 В через реле к выходной клемме, а также цепь от
минусовой клеммы аккумулятора, до силового транзистора и далее от
транзистора к измерительному резистору на землю. Так же я получил следующее
трёхмерное представление будущего устройства (рисунок 52).
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 67
ъ
Рисунок 52 – Трёхмерный вид печатной платы с компонентами
Далее разработал сборочный чертеж печатной платы для лицевой и задней
сторон платы (рисунок 53).
Рисунок 53 – Лицевая и задняя сторона сборочного чертежа печатной платы
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 68
ъ
Затем при помощи инструмента «Export Final Files» экспортировали из
программы маски разводки дорожек печатных плат для лицевой и задней
стороны платы (рисунок 54).
Рисунок 54 – Лицевая и задняя маска разводки для печатной платы
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 69
ъ
ЗАКЛЮЧЕНИЕ
В ходе выполнения дипломного проекта были произведены:
− изучение предметной области – были проанализированы основные
типы режимов заряда аккумуляторных батарей;
− разработаны схемы взаимодействия микроконтроллера с системой
управления и получения информации;
− реализована
программная
поддержка
автоматического
заряда
аккумуляторных батарей;
− реализована индикация некоторых текущих параметров заряда – тока
заряда и напряжения заряда;
− предусмотрена защита устройства от переполюсовки зарядных клемм и
их замыкания.
Как было задумано, данное устройство призвано упростить процедуру
заряда аккумуляторных батарей и сделать её практически автоматической.
Автоматизация
этого
процесса
позволит
сохранить
не
только
время
пользователя, но и продлить срок службы аккумуляторных батарей за счёт
исключения из человеческого фактора.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 70
ъ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
1. Батоврин
В.
К.
LabVIEW:
практикум
по
электронике
и
микропроцессорной технике: учебное пособие для вузов / В. К. Батоврин, А. С.
Бессонов, В. В. Мошкин. – М.: ДМК Пресс, 2005. – 182 с.
2. Бриндли К. Измерительные преобразователи: справочное пособие. / К.
Бриндли. – М.: Энергоатомиздат, 1991. – 185 с.
3. Бродин В. Б. Системы на микроконтроллерах и БИС программируемой
логики. / В. Б. Бродин, А. В. Калинин. – М.: ЭКОМ, 2002. – 398 с.
4. Горячев Н. В. Типовой маршрут проектирования печатной платы и
структура проекта в САПР электроники ALTIUM DESIGN / Н. В. Горячев, Н. К.
Юрков. // Труды международного симпозиума надежность и качество. – 2011. –
Т. 2. – С. 120-122
5. Гребнев А. К. Оптоэлектронные элементы и устройства / А. К. Гребнев,
В. Н. Гридин, В. П. Дмитриев. – М.: Радио и связь, 1998. – 336 с.
6. Демидович Е. М. Основы алгоритмизации и программирования. Язык
Си: учебное пособие / Е. М. Демидович. – СПб.: БХВ-Петербург, 2008. – 438 с.
7. Зайцев И. П. Сноровка в зарядке-тренировке. Контроллеры заряда
аккумуляторов автономных устройств / И. П. Зайцев // Компоненты и
технологии. – 2006. – № 9. – С. 116-119.
8. Керниган Б. Язык программирования С / Б. Керниган, Д. Ритчи. – М.:
Вильямс, 2017. – 288 с.
9. Коштанов В. П. Свинцовые стартерные аккумуляторные батареи.
Руководство / В. П. Каштанов, В. В. Титов, А. Ф. Усков. – М.: Воениздат, 1983. –
184 с.
10. Новиков Ю. В. Основы микропроцессорной техники: учебное пособие /
Ю.
В.
Новиков,
П.
К.
Скоробогатов.
–
М.:
Интернет-Университет
Информационных Технологий; БИНОМ. Лаборатория знаний, 2009. – 357 с.
11. Сабунин А. Е. Altium Designer. Новые решения в проектировании
электронных устройств / А. Е. Сабунин. – М.: Солон-Пресс, 2009. – 432 с.
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
71
12. Сдобняков В. В. Изучение операционного усилителя и схем на его
основе с использованием виртуальных приборов LabVIEW: практикум / В. В.
Сдобняков, В. В. Карзанов, М. Г. Белянина, Л. С. Бовкун. – Н. Новгород: ННГУ
им. Н. И. Лобачевского, 2012. – 45 с.
13. Хернитер М. Е. Электронное моделирование в Multisim / М. Е.
Хернитер. – М.: ДМК Пресс, 2010. – 503 с.
14. Хоровиц П. Искусство схемотехники / П. Хоровиц, У. Хилл. – М.:
БИНОМ, 2014. – 704 с.
15. Шлыков В. А. Пути совершенствования аккумуляторов свинцовокислотной системы. Проблемы и решения / Шлыков В. А. – Курск: ЮгоЗападный гос. ун-т, 2016. – 239 с.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 72
ъ
ПРИЛОЖЕНИЕ А
(обязательное)
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 73
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 74
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 75
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 76
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 77
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 78
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 79
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 80
ъ
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
81
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 82
ъ
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 83
ъ
ПРИЛОЖЕНИЕ Б
(обязательное)
Листинг программы микроконтроллера Atmega8
#include "define.h"
#include "init_mcu.h"
#include "lcd.h"
#include "text.h"
#include "encoder.h"
#include "main.h"
#include <util/delay.h>
#include <avr/interrupt.h>
#include <stdlib.h>
#include <avr/wdt.h>
#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 flag
{
_Bool lcd_clr_txt0:
1;
_Bool lcd_clr_txt1:
1;
_Bool count_timer0:
1; //для обработчика прерывания
_Bool start_charging: 1; //отключение реле если при заряде батареи отключен
_Bool ocr1a_block:
1;
}flags;
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 84
ъ
Продолжение ПРИЛОЖЕНИЯ Б
ISR(TIMER0_OVF_vect) //прерывание по переполнению Timer 0 раз в 1 мсек.
{
TCNT0=0x6;
flags.count_timer0=1;
}
void reg_I(uint16_t reg_val) //уменьшение тока заряда при достижении 14.4 В
{
if (I_reg>reg_val)
{
I_reg=0;
off_charge=1;
if (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); //отключение аппаратного вывода ШИМ на пине PB3
OCR1A=0; //уменьшение питания БП до 12.5 В.
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 85
ъ
Продолжение ПРИЛОЖЕНИЯ Б
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_init_timer1();
MCU_init_timer2();
LCD_init();
LCD_string_of_flashXY(text_1,4,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(1500);
LCD_clear();
if (BitIsClear(PIND,PUSH)){servise();} //вход в сервисное меню
if (eeprom_read_byte(&energy_off) && u_batt()>20)
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 86
ъ
Продолжение ПРИЛОЖЕНИЯ Б
{
enc_data=eeprom_read_byte(&i_pusk);
}
else
{
eeprom_update_byte(&energy_off,0);
}
MCU_init_wdt();
sei();
#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)
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 87
ъ
Продолжение ПРИЛОЖЕНИЯ Б
{
lcd_time=0;
LCD_string_of_flashXY(text_7,0,0);
LCD_string_of_flashXY(text_9,7,0);
LCD_string_of_flashXY(text_11,13,0);
char buffer[3];
uint16_t U=(u_bat*59)/100;
utoa((uint8_t)U, buffer, 10);
//выводим напряжение на дисплей
if ((uint8_t)U>=100)
{
LCD_dataXY(buffer[0],2,0);
LCD_data(buffer[1]);
LCD_data('.');
LCD_data(buffer[2]);
LCD_string_of_flashXY(text_10,6,0);
}
else if ((uint8_t)U>=10 && (uint8_t)U<=99)
{
LCD_dataXY(buffer[0],2,0);
LCD_data('.');
LCD_data(buffer[1]);
LCD_string_of_flashXY(text_10,5,0);
}
else
{
LCD_dataXY('0',2,0);
LCD_data('.');
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 88
ъ
Продолжение ПРИЛОЖЕНИЯ Б
LCD_data(buffer[0]);
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(buffer[0],10,0);
LCD_data('.');
LCD_data(buffer[1]);
}
else
{
LCD_dataXY('0',10,0);
LCD_data('.');
LCD_data(buffer[0]);
}
}
}
//если не подключена
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);
continue;
}
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 89
ъ
Продолжение ПРИЛОЖЕНИЯ Б
#endif
#if 1
/*обрабатка флага прерывания 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
{
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 90
ъ
Продолжение ПРИЛОЖЕНИЯ Б
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//временно для теста
char buffer[3];
utoa(OCR2, buffer, 10);
if (OCR2>=100)
{
LCD_dataXY(buffer[0],0,1);
LCD_data(buffer[1]);
LCD_data(buffer[2]);
}
else if (OCR2>=10 && OCR2<=99)
{
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20
ъ
Лист
91
Продолжение ПРИЛОЖЕНИЯ Б
LCD_dataXY('0',0,1);
LCD_data(buffer[0]);
LCD_data(buffer[1]);
}
else
{
LCD_dataXY('0',0,1);
LCD_data('0');
LCD_data(buffer[0]);
}
#endif
if (OCR2==0)
//отключение всего
{
charg_off();
}
else//начали заряд
{
if (flags.ocr1a_block==0)
{
flags.ocr1a_block=1;
OCR1A=255;
//поднятие питания БП на максимум
}
SetBit(TCCR2,COM21);
SetBit(PORTB,RELAY);
}
}
#endif
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 92
ъ
Продолжение ПРИЛОЖЕНИЯ Б
#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 мсек
}
else if (u_bat>246 && OCR2>0)
{
reg_I(500);//раз в 500 мсек
}
#endif
#if 1
/*Отключение заряда при достижении тока заряда 0.1А*/
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
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 93
ъ
Продолжение ПРИЛОЖЕНИЯ Б
{
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;
lcd_count++;
switch (lcd_count)
{
case 0: LCD_data_of_flashXY(text_15,8,1);
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 94
ъ
Продолжение ПРИЛОЖЕНИЯ Б
break;
case 1: LCD_data_of_flashXY(text_16,8,1);
break;
case 2: LCD_data_of_flashXY(text_17,8,1);
break;
case 3: LCD_data_of_flashXY(text_18,8,1);
break;
case 4: LCD_data_of_flashXY(text_19,8,1);
break;
case 5: LCD_data_of_flashXY(text_20,8,1);
break;
case 6: LCD_data_of_flashXY(text_21,8,1);
break;
case 7: LCD_data_of_flashXY(text_22,8,1);
break;
case 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)
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 95
ъ
Продолжение ПРИЛОЖЕНИЯ Б
{
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;
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 96
ъ
Продолжение ПРИЛОЖЕНИЯ Б
#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
/*Аварийный таймер отключения АКБ*/
/*Данный таймер отключит заряд АКБ, если напряжение на клеммах не
будет подниматься в течении 30 минут*/
if (bat_count>=30000 && eeprom_read_byte(&timer_time))
{
bat_count=0;
bat_off++;
#if 1
LCD_string_of_flashXY(text_37,0,1);
char buffer[5];
utoa(bat_off, buffer, 10);
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 97
ъ
Продолжение ПРИЛОЖЕНИЯ Б
if(bat_off>=100)
{
LCD_dataXY(buffer[0],2,1);
LCD_data(buffer[1]);
LCD_data(buffer[2]);
LCD_string_of_flashXY(text_38,5,1);
}
else if (bat_off>=10 && bat_off<=99)
{
LCD_dataXY(buffer[0],2,1);
LCD_data(buffer[1]);
LCD_string_of_flashXY(text_38,4,1);
}
else
{
LCD_dataXY(buffer[0],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;
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 98
ъ
Продолжение ПРИЛОЖЕНИЯ Б
}
if
(i_bat<i_bat_tim
off_charge="=1)
//сброс"
bat_off="0;"
i_bat_tim="i_bat;">= eeprom_read_word(&tim_dlitl) ) //60 минут по умолчанию
{
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 В на стоке.
{
if (OCR1A!=0)
{
OCR1A--;
}
}
else if (u_stok<60)
{
if (OCR1A!=255)
{
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 99
ъ
Продолжение ПРИЛОЖЕНИЯ Б
OCR1A++;
}
}
#if 0 //временно
char buff[3];
utoa(u_stok, buff, 10);
if (u_stok>=100)
{
LCD_dataXY(buff[0],3,1);
LCD_data(buff[1]);
LCD_data(buff[2]);
}
else if (u_stok>=10 && u_stok<=99)
{
LCD_dataXY('0',3,1);
LCD_data(buff[0]);
LCD_data(buff[1]);
}
else
{
LCD_dataXY('0',3,1);
LCD_data('0');
LCD_data(buff[0]);
}
#endif
}
#endif
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 100
ъ
Продолжение ПРИЛОЖЕНИЯ Б
#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[]=" 5A ";
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
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 101
ъ
Конец ПРИЛОЖЕНИЯ Б
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_38[] ="min";
#endif
</i_bat_tim></stdlib.h>
Лист
Изм. Лист
№ докум.
Подпись Дата
БР - 02069964 - 11.03.04 - 09 - 20 102
ъ
Отзывы:
Авторизуйтесь, чтобы оставить отзывНачал читать сей труд. Увидел кучу грамматических и синтаксических ошибок, плюнул и закрыл страницу.
здравствуйте
Работа слизана. Код не полный в прошивке, я не стал заморачиваться. А этот нуб, что представляет данную разработку своей, плюньте ему в лицо. Он вообще не шарит в контроллерах. Бесит этот дешовый понт начинающего разраба. Спросите для начала, что такое if, else у него, сразу будет ясно. ОК гугл...и весь ответ
Проныра, озорник, Любитель книг, Ловкач, игрок, Жизнь между строк. И потому Открыт ему Незримый путь В любую суть. Танец злобного гения На страницах произведения Это игра без сомнения Обречённый ждёт поражения. Подсыпать в душу яд Всегда он рад Всего за час Прочтёт он вас. Он волен взять И поменять Строку и с ней Смысл темы всей.Танец злобного гения На страницах произведения Это игра без сомнения Обречённый ждёт поражения. Открыт роман Читатель пьян Разлив вино - Шагнул в окно. Танец злобного гения На страницах произведения Это игра без сомнения Обречённый ждёт поражения. Танец злобного гения На страницах произведения Это игра без сомнения Обречённый ждёт поражения.
Танец Злобного Гения КиШ
А теперь я скину тексты своих любимых песен для этого:)
и хорошего настроения
удачи
успехов в конкурсе
Наверное было затрачено много времени и труда на работу
Продолжай свое исследование
Админам респект
И продвижения статьи в топы?
Как на счет взаимных комментариев под работами?)
Красиво написанная работа
Так держать
Молодец
Интересная работа!