62174 (611441), страница 3
Текст из файла (страница 3)
Нужно сказать, что некоторые типы ЖК индикаторов неудовлетворительно работают при питании микросхем драйверов напряжением 5В. Однако картина резко улучшается при снижении напряжения питания до 3.3 – 4.0В. Это сделать совсем несложно, так как потребляемый драйверами ток очень мал. В цепь питания можно включить параметрический стабилизатор напряжения на основе TL431 или даже простой резистивный делитель. На всех цифровых входах драйверов также понадобятся делители напряжения.
В качестве часов реального времени применена микросхема DS1302 фирмы Dallas. Эта микросхема имеет раздельные входы для подключения основного и резервного источников питания, что избавляет от проектирования довольно хитрых схем перехода на резервный источник. Кроме того, имеется встроенная схема «капельной» зарядки резервного источника питания, которая может быть включена программно. Дополнительно микросхема имеет ОЗУ объемом 31 байт, которое может быть использовано для энергонезависимого хранения параметров. Из навесных элементов требуется только кварцевый резонатор. Здесь хочется предостеречь от применения дешевых некачественных резонаторов. Согласно рекомендациям фирмы Dallas, требуется резонатор, рассчитанный на емкость нагрузки 6 пФ. В противном случае точность хода часов будет неудовлетворительной или даже появятся проблемы с запуском кварцевого генератора.
Для обмена с микросхемой DS1302 используются общие с драйверами ЖКИ линии данных и тактирования. Разделены только сигналы CS и RST. К сожалению, микросхема DS1302 имеет довольно специфический 3-х проводный интерфейс, который в фирменной документации описан весьма неоднозначно. Это довольно редкий пример плохого фирменного описания. Поэтому в новых разработках лучше применять более современные микросхемы, например DS1307 с интерфейсом I2C.
В качестве датчиков температуры применены микросхемы цифровых термометров DS1821 фирмы Dallas. В цепях данных термометров включены защитные цепочки R11-R14, VD1-VD8, а в цепи питания включен ограничивающий резистор R10 для защиты от короткого замыкания. Несмотря на то, что аппаратно имеется возможность подключить четыре термометра, данная версия программы работает только с тремя. Это вызвано недостаточным объемом памяти программ. Термометры устанавливаются в разных местах автомобиля. В данном случае они были установлены в салоне, на открытом воздухе и в моторном отсеке. Благодаря наличию заданных программно порогов, кроме индикации температуры осуществляется ещё и контроль ее выхода за безопасные пределы. Ввиду недостаточного объема памяти программ, редактирование порогов температур не поддерживается. Пороги в виде констант внесены в текст программы. Для первого термометра +55 градусов, а для второго и третьего термометра +99 градусов.
Для измерения напряжения бортовой сети построен простейший 8-разрядный АЦП на основе встроенного в микроконтроллер компаратора. Для уменьшения влияния помех используется 16-кратное усреднение результатов. Принцип работы АЦП пояснен на рис. 8.
Рисунок 8. Принцип работы АЦП
На входе AIN1 формируется пилообразное напряжение, которое сравнивается с входным напряжением, которое через делитель R2, R3 поступает на вход компаратора AIN0. Емкость C8 снижает влияние помех на показания вольтметра. Пилообразное напряжение формируется на емкости C9 в результате заряда ее стабильным током от генератора тока, собранного на элементах VT2, VD9, R6. Перед началом измерения конденсатор C9 разряжен с помощью открытого ключа VT3. Когда начинается цикл измерения, на порту P1.5 устанавливается низкий логический уровень, транзистор VT3 закрывается, и напряжение на конденсаторе C9 начинает линейно нарастать. В это время разрешается счет программному счетчику. Счет идет до тех пор, пока напряжение на C9 не станет равным входному (на средней точке делителя R2, R3). При этом переключается встроенный компаратор, и счет запрещается. Значение, накопленное в счетчике, будет пропорционально входному напряжению. Применение генератора тока (а не резистора) позволило получить линейный закон заряда C9, что исключило необходимость программной линеаризации АЦП, которая потребовала бы дополнительных затрат и так дефицитной памяти программ. Необходимо отметить, что конденсатор C9 должен быть термостабильным, например, с пленочным диэлектриком типа К73-17. С помощью резистора R6 подбирают ток генератора таким образом, чтобы показания АЦП совпадали с реальным значением напряжения на входе +B. Кроме индикации напряжения осуществляется контроль его падения ниже порога 10В. В случае такого падения включается звуковая сигнализация.
Для управления устройством применяется ИК-пульт дистанционого управления. Конструктивно он выполнен на базе дешевого малогабаритного калькулятора. Использованы только его корпус и клавиатура. В пульту применена микросхема INA3010D в корпусе SOIC. Для питания используются два элемента СЦ-30. Используемый номер системы кода RC-5 - 1EH. Схема пульта не приводится, так как практически повторяет типовую схему включения микросхемы INA3010 (SAA3010) и зависит от конфигурации конкретной клавиатуры. Коды, соответствующие кнопкам, также могут отличаться от заданных. Для восстановления соответствия необходимо правильно заполнить перекодировочную таблицу в программе. Сделать это можно даже не перетранслируя программы с помощью шестнадцатиричного редактора прямо в .bin – файле. Таблица расположена по адресам 7B8H - 7E3H . Соответствие функций управления, их внутренних кодов (после перекодировки) и кодов ИК ДУ (до перекодировки) приведено в таблице 4.
Таблица 4. Коды кнопок управления
Номер команды | Название команды | Внутренний код команды (после перекодировки) | Код ИК ДУ (до перекодировки) |
1 | TIMER | 0CH | 00H |
2 | CLOCK | 0DH | 01H |
3 | ALARM | 0EH | 02H |
4 | LOCK | 0FH | 03H |
5 | 7 | 08H | 08H |
6 | 8 | 09H | 09H |
7 | 9 | 0AH | 0AH |
8 | LIST | 10H | 0BH |
9 | 4 | 05H | 10H |
10 | 5 | 06H | 11H |
11 | 6 | 07H | 12H |
12 | ESCAPE | 11H | 13H |
13 | ALARM DISABLE | 14H | 18H |
14 | TIMER CLEAR | 13H | 1AH |
15 | 0 | 01H | 20H |
16 | BACKSPACE | 12H | 22H |
17 | 1 | 02H | 28H |
18 | 2 | 03H | 29H |
19 | 3 | 04H | 2AH |
20 | ENTER | 0BH | 2BH |
Вот краткое описание команд управления:
-
CLOCK – вход в режим установки текущего времени
-
ALARM – вход в режим установки времени будильника
-
ALARM DISABLE – выключение будильника
-
TIMER – включение индикации значения таймера
-
TIMER CLEAR – очистка таймера
-
LIST – включение циклической смены параметров
-
LOCK – запрещение смены параметров
-
0..9 – кнопки для ввода числовых значений параметров
-
ENTER – ввод отредактированного параметра
-
ESCAPE – отказ от редактирования параметра
-
BACKSPACE – возврат на один символ при редактировании
В качестве ИК приемника использована интегральная микросхема SFH-506 фирмы Siemens. Эта микросхема весьма чувствительна к помехам по цепи питания, поэтому применен RC фильтр R15 C7.
В случае срабатывания будильника, превышения температурой установленного порога или понижения напряжения в бортовой сети формируется звуковой сигнал. Для его формирования использована малогабаритная динамическая головка HA1, которая подключена через транзисторный ключ VT1. Звуковые сигналы также формируются при нажатиях на кнопки управления.
Рис. 9. Принципиальная схема в Accel EDA.
Заключение
В данном курсовом проекте разработано устройство - электронные часы-вольтметр-термометр. Разработана схема электрическая принципиальная этого устройства и программа для микроконтроллера. В результате ассеблирования получена прошивка программы для памяти микроконтроллера. Применение микроконтроллера позволило упростить принципиальную схему и расширить функциональные возможности микроконтроллера, так как для изменения функций устройства достаточно внести изменения в программу микроконтроллера.
Список литературы
1. Белов А.В. Микроконтроллеры АVR в радиолюбительской практике – СП-б, Наука и техника, 2007 – 352с.
2. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [ и др.]. – М.: Энергоатомиздат, 1990. – 224 с.
3. Евстифеев А.В. Микроконтроллеры Microchip: практическое руководство/А.В.Евстифеев. – М.: Горячая линия – Телеком, 2002. – 296 с.
4. Кравченко А.В. 10 практических устройств на AVR-микро-контроллерах. Книга 1 – М., Додэка –ХХ1, МК-Пресс, 2008 – 224с.
5.Трамперт В. Измерение, управление и регулирование с помощью АVR-микроконтроллеров: Пер. с нем – К., МК-Пресс, 2006 – 208с.
6. Мортон Дж. Микроконтроллеры АVR. Вводный курс /Пер. с англ. – М., Додэка –ХХ1, 2006 – 272с.
7.Техническая документация на микроконтроллеры AT89C2051 фирмы «Atmel». ООО «Микро -Чип», Москва, 2002.-184 с.
Приложение А
Листинг программы и объектный файл
; ЧАСЫ-ТЕРМОМЕТР-ВОЛЬТМЕТР ДЛЯ АВТОМОБИЛЯ.
РАЗРАБОТАЛ ДЕРКАЧ
; ПРОГРАММА = ABTO.ASM
; ВЕРСИЯ: 20-01-07.
; АССЕМБЛЕР И ОТЛАДЧИК: MPLAB IDE, ВЕРСИЯ: 5.70.40.
LISTP=16F676
#INCLUDE P16F676.INC
__CONFIG 31D0H
;==============================================
; ИСПОЛЬЗУЕТСЯ КВАРЦ ЧАСТОТОЙ 32768 ГЦ.
; КОЭФФИЦИЕНТ ДЕЛЕНИЯ ПРЕДДЕЛИТЕЛЯ РАВЕН 32, ЧТО ВМЕСТЕ
; С TMR0 (256) И ЦИКЛОМ, РАВНЫМ 4 ТАКТАМ
; ДАЕТ НА ВЫХОДЕ 1 СЕКУНДУ (4х32х256=32768).
;==============================================