Модуль дистанционного запуска двигателя автомобиля
Проект и программная реализация на языке программирования Ассемблер модуля дистанционного запуcка двигателя автомобиля. Структурная и электрическая принципиальная схемы устройства, алгоритм его работы. Реализация модуля на микроконтроллере серии MCS-51.
Рубрика | Коммуникации, связь, цифровые приборы и радиоэлектроника |
Вид | реферат |
Язык | русский |
Дата добавления | 02.12.2013 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
"Южно-Уральский государственный университет"
Приборостроительный факультет
Кафедра "Инфокоммуникационные технологии”
"Контроллер светодиодного табло"
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ
по дисциплине:
"Цифровые устройства и микропроцессоры”
ПС-475.09.01.11 ПЗ
Руководитель:
Николаев А.Н.
Автор проекта
Студент группы ПС-475
Семёнов А.И.
Челябинск 2013
Аннотация
Семёнов А.И. Модуль дистанционного запуска двигателя автомобиля. - Челябинск: ЮУрГУ, ИКТ, 2012, 21 с.2 илл. Библиография - наименования, 1 лист чертежей ф. А4, перечень элементов.
Согласно варианту задания, необходимо спроектировать и программно реализовать на языке ассемблер модуль дистанционного запуcка двигателя автомобиля. Данное устройство осуществляет дистанционный запуск реле двигателя на промежуток времени в размере 5 секунд путём принятия SMS сообщения. В ходе данной курсовой работы мною были составлены структурная и электрическая принципиальная схемы данного устройства, разработан алгоритм работы устройства, по которому написана программа на языке ассемблер. Реализация данного модуля осуществляется на микроконтроллере серии MCS-51.
Оглавление
- Введение
- 1. Анализ технического задания
- 2. Структурная схема устрйства
- 3. Разработка алгоритма работы
- 3.1 Основная программа
- 3.2 Подпрограмма приёма СМС
- 3.3 Обработчик прерываний от ТС0
- 4. Разработка схемы электрической принципиальной
- 4.1 Цепь сброса
- 4.2 Кварцевый резонатор
- 4.3 Цепи питания и прочее
- 5. Разработка программы на языке ассемблера
- Заключение
- Библиографический список
Введение
Назначение устройства - производить запуск двигателя с помощью SMS сообщения.
Курсовая работа состоит из 5 частей:
В первой части работы на основе технического задания описывается принцип работы устройства, определяются составные блоки.
Во второй части приводится структурная схема устройства управления модулем дистанционного запуска двигателя, описывается принцип работы используемых блоков.
В третьей части приведён алгоритм работы всего устройства в целом, а также алгоритмы работы подпрограмм, необходимые для реализации заданных параметров.
В четвертой части разработана принципиальная электрическая схема устройства, произведён расчёт её составных элементов.
В пятой части разработана программа на языке Assembler обеспечивающая работу устройства с комментариями.
В списке литературы приводится перечень информационных источников, используемых в процессе проектирования приемника последовательного интерфейса связи.
модуль дистанционный запуск двигатель
1. Анализ технического задания
Требуется разработать модуль дистанционного запуска двигателя автомобиля. Контроллер анализирует состояние двигателя (остановлен), состояние коробки передач (включена нейтральная), ручного тормоза (включен). При поступлении команды "start" в виде SMS с телефона владельца автомобиля происходит запуск двигателя - включение реле запуска на 5 сек. При трёх неудачных попытках (с интервалом 2 минуты) запуск прекращается. Отчёт об успешном или неуспешном запуске отправляется владельцу в виде SMS.
Устройство будет получать SMS сообщение с телефона владельца с помощью GSM модуля SIM900D (рисунок 1.1). При получении команды "start", устройство проверяет 3 параметра - двигатель, коробку передач и ручной тормоз. Анализируя эти параметры, модуль принимает решение осуществлять запуск двигателя или, в случае несоблюдения данных параметров, сразу отправить отчет на телефон владельца.
Рисунок 1.1 - Плата SIM900D
Сигнал от двигателя, коробки передач и ручного тормоза приходит в цифровом виде. Двигатель: 0 - двигатель выключен, 1 - двигатель запущен. Коробка передач: 1 - стоит нейтральная передача, 0 - нейтральная передача не стоит. Ручной тормоз: 1 - ручной тормоз установлен, 0 - ручной тормоз не установлен.
Запуск двигателя происходит путем имитации поворота ключа в замке зажигания, т.е. замыкание цепи от аккумулятора до тягового реле стартера.
Включение реле происходит на 5 секунд, если запуск не осуществлен, происходит два повторный запуска. Если после этого двигатель не запустился, то отсылается отчет об ошибке. Если двигатель удалось запустить, владельцу отсылается отчет о запуске двигателя.
Общий вид проектируемого модуля представлен на рисунке 1.2, в таблице 1 представлены уровни TTL для используемого микропроцессора.
Рисунок 1.2 - Общий вид модуля дисианционного запуска
Таблица 1 - Уровни TTL
Уровень логической "1" |
Уровень логического "0" |
|
2. Структурная схема устрйства
В предыдущем разделе уже оговаривались блоки необходимые для реализации проектируемого устройства. На основании анализа технического задания можно изобразить структурную схему устройства (рисунок 2.1).
Рисунок 2.1 - Структурная схема устройства
На рисунке 1 изображены основные блоки проектируемого устройства.
D - Цифровой сигнал, который поступает с двигателя: 0 - двигатель выключен, 1 - двигатель запущен, KP - цифровой сигнал, который поступает с коробки передач: 1 - стоит нейтральная передача, 0 - нейтральная передача не стоит, RT - цифровой сигнал, который поступает с ручного тормоза (1 - ручной тормоз установлен, 0 - ручной тормоз не установлен). Микроконтроллер выполняет обработку данных. GSM модуль необходим для приема и отправки SMS.
3. Разработка алгоритма работы
3.1 Основная программа
Рисунок 3.1 - Блок - схема алгоритма работы программы
Рассмотрим подробнее алгоритм реализации модуля для запуска двигателя. Алгоритм начинает работать, когда поступает SMS с текстом "start". После этого проверяются сигналы от устройств автомобиля, а именно от коробки передач (нейтральна), двигателя (выключен) и ручника (поставлен). Если какое-либо состояние из перечисленных выше устройств не выполнилось, то сразу отправляется сообщение об ошибке на телефон владельцу. Только при выполнении всех этих условий производится запуск реле двигателя.
После этого проверяется, запустился двигатель или нет. Если двигатель запустился, то сразу отправляется SMS сообщение о запуске двигателя на телефон владельца. Если же двигатель запустить не удалось, происходит повторный запуск реле двигателя ещё 2 раза. Если не удалось запустить двигатель за эти три попытки, отправляется отчет об ошибке и выполнение операции прекращается. Для управления GSM модулем используются AT-команды, представленные в таблице 2 и таблице 3. Уведомление о запуске приходит на личный сотовый номер владельца, возьмём, к примеру, 89227157174.
Таблица 2 - используемые АТ-команды
АТ-команда |
Значение |
|
AT+CMGR=1 |
Чтение непрочитанных смс |
|
AT+CMGS=”89227157174” >Текст SMS сообщения |
Отправка сообщения на номер 89227157174 |
Таблица 3 - ответы на АТ-команды
АТ-команда |
Значение |
|
ERROR |
Ошибка |
|
OK |
Команда выполнена |
Нам необходима скорость в 19200 бит/с для этого используется ТС1 в режиме 1.
Далее передается АТ-команда получения SMS "AT+CMGR=1. После этого нужно принять от GSM-терминала сообщение "start", которое подтверждает начало выполнения операции.
После того, как подпрограмма передачи АТ-команд выполнила все действия, происходит выход из подпрограммы, возобновляется анализ портов.
Рис.3.2 - Подпрограмма получения SMS
3.2 Подпрограмма приёма СМС
На рисунке 3.3 представлен алгоритм подпрограммы приёма. Как видно из него, мы ждем пока флаг прерывания приёмника установится в логическую "1", это говорит нам, что символ принят. Далее содержание буфера приёмника записывается в аккумулятор и происходит сброс флага приёмника.
Рисунок 3.3 - Подпрограмма приёма
3.3 Обработчик прерываний от ТС0
Так как один машинный такт занимает 12 временных тактов, на вход таймеров счетчиков будут поступать импульсы с частотой:
f = fтакт / 12 = (11.0592 * 10^6) / 12 = 0.9216 МГц,
где fтакт = 11.0592 МГц - частота процессора.
Так как таймеры-счетчики настроены как 16-тиразрядные таймеры, то максимальное значение в них равно 65535, что соответствует максимальному времени:
tmax = 65536/ (0.9216 * 10^6) = 71.11 мс,
поэтому прерывание от него происходит раз в 71 мс. После запуска реле двигателя требуется 5 секунд задержки до выключения двигателя, следовательно, необходимое нам количество прерываний находим как: 5/ 71 * 10-3 = 70. Тоесть таймер будет иметь 70 прерываний.
Рисунок 3.4 - Алгоритм обработчика прерываний
4. Разработка схемы электрической принципиальной
В качестве микроконтроллера для сигнализации возьмём контроллер из семейства MCS-51 фирмы Atmel, а именно AT89C51. Данный микроконтроллер имеет 4 КБайт флэш-памяти с внутрисхемным программированием, 125 байт внутреннего ОЗУ, 2 16-ти разрядных таймер-счётчика, 1 последовательный интерфейс UART, рабочий диапазон температур от - 40 до 80 C0. Напряжение питания от 4.5 до 5.5 В, необходимый ток 20 мА.
На рисунке 4.1 представлено расположение выводов данного микроконтроллера.
Рисунок 4.1 - Микроконтроллер AT89C51
В устройстве используются порты P3.0 (RxD) и P3.1 (TxD) для последовательного интерфейса, входы XTAL1 и XTAL2 для подключения кварцевого резонатора, порты P1.1, P1.2 и P1.3 для подключения датчиков.
4.1 Цепь сброса
Цепь сброса включается для начальной установки всех внутренних систем процессора в момент включения питания. На рисунке 4.2 представлена схема начального сброса.
Рисунок 4.2 - Схема начального сброса
Чтобы при включении питания сброс был гарантированно выполнен, вывод RST должен удерживаться в состоянии высокого уровня в течение времени, достаточного для запуска тактового генератора плюс еще минимум два машинных цикла. Время запуска тактового генератора зависит от его частоты работы и для 10 МГц кварцевого резонатора составляет в среднем 1 мс. Если взять значение резистора равным 1кОм, то по формуле емкость конденсатора будет составлять 1 мкФ.
4.2 Кварцевый резонатор
Он предназначен для формирования и выдачи внутренних синхросигналов фаз, тактов и циклов. Для работы с последовательным портом микроконтроллера возьмём частоту резонатора 11.059 МГЦ. Схема подключения кварцевого резонатора показана на рисунке 5.3.
Рис. 4.3 - Схема подключения кварцевого резонатора
Значения емкостей в данной схеме обычно берут 3010 пФ
4.3 Цепи питания и прочее
Для фильтрации (сглаживания) бросков напряжения в цепи питания обычно используют конденсатор. Возьмём его емкость равной 1 мкФ.
Рисунок 4.4 - Цепь питания микроконтроллера
На вход DEMA необходимо подать логическую "1" т.е. напряжение более 2.4В, возьмём 3В. У нас есть источник питания +5В, значит необходимо поставить резистор, на котором падает 2В. Если ток равен 50мкА, то необходим резистор 39 кОм
5. Разработка программы на языке ассемблера
Листинг программы на языке ассемблера
org 0; начало с 0 адреса
jmp START; переход на метку
ORG 0BH; после метки START, программа начинается в 0ВН
START:
mov P0,#0; подаем нули на неиспользуемые контакты
mov P3,#00000011b; подаем нули на неиспользуемые контакты
mov SP,#80h; запись начинается с адреса 81h
mov 08h,#0FFh; запись в ОЗУ первоначального состояния порта Р1
mov 09h,#0h; запись в 0ЗУ первоначального состояния порта Р2
PROVERKA:
mov TMOD,#00100001b; настройка ТС1
mov TH1,#0FDh; запись числа в старшие байты ТС
mov TL1,#0FDh; запись числа в младшие байты ТС
mov SCON,#01010000b; режим UART, передача 9 битного пакета
mov PCON,#10000000b; удвоение скорости
mov TCON,#01000000b; включение ТС1
nabor:
mov R0,#0
mov DPTR,#prer1
string:
mov A,R0; записываем значение из R0 в аккумулятор
movc A,@A+DPTR; загружаем байт в аккумулятор из DPTR
mov SBUF,A; записываем значения из А в буфер
again:
JNB TFI,again; ветвление по адресу, пока флаг таймера не переполниться
clr TFI
inc R0; увеличение значения регистра R0 на 1
mov R4,#0; флаг для прерывания от ТС0, который еще не включен
cjne A,#9,string
LCALL PRIEM; должны принять "start
CJNE A,#'s',nabor
LCALL PRIEM
CJNE A,#'t',nabor
LCALL PRIEM
CJNE A,#'a',nabor
LCALL PRIEM
CJNE A,#'r',nabor
LCALL PRIEM
CJNE A,#'t',nabor; если пришло start, то начинается выполнение операции
mov N, 1; Количество попыток запуска двигателя
Dvigatel:
CMP P1.1, #0, Dvigatel; Сравнивание D и 0 (двигатель заглушен)
JZ Korobka; Переход к проверке Korobka
Dvigatel: RETI; выход из цикла
Korobka:
CMP P1.2, #1, Korobka; Сравнивание KP и 0 (стоит нейтральная передача)
JZ Ruchnik; Переход к проверке Ruchnik
Korobka: RETI; выход из цикла
Ruchnik:
CMP P1.3, #1, Ruchnik; Сравнивание RT и 1 (ручной тормоз включен)
JZ Run; Переход к Run
Ruchnik: RETI; выход из цикла
Run:
mov P1.7, #1h; Подача наивысшего уровня для запуска двигателя
CMP P1.1, 1, Dvigatel; Сравнивание D и 1 (двигатель запущен)
JZ Answer_true; Переход на метку с положительным отчетом
inc N; увеличение N на единицу, для подсчета попыток
PRIEM:
cjne R4,#0,vyhod
JNB RI,PRIEM; Ждём пока придёт символ, и в регистр R1 установится 1
mov A,SBUF; Записываем в аккумулятор пришедший символ из буфера
CLR RI
vyhod: RETI
PRERVART:
inc R2
cjne R2,#70, ret_1
mov R2,#0
mov R4,#1; задержка на 5 секунд
ret_1: RETI
mov P1.7, #0h; отмена запуска реле
CMP N, 3; проверка количества попыток
JBE Run
Dvigatel: RETI
JMP Answer_false; Переход на метку с отрицательным отчетом
Answer_true:
smska: mov R0,#0; передача команды "AT+CMGS=89227157174", т.е. отправка SMS на номер абонента
mov DPTR,#prer2
again:
JNB TFI,again
clr TFI
inc R0
cjne A,#20,string
mov R0,#10h; ввод в отчета о выполнении операции
string:
mov A,@R0
mov SBUF,A
again:
JNB TFI,again
clr TFI
inc R0
cjne A,#30,string
kolvo:
LCALL PRIEM; принятине отчета о количестве отправленных смс
CJNE A,#30,kolvo; т.к. нам не понадобится данная информация, то ждем окончания строки
LCALL PRIEM; подтверждение отправки sms
CJNE A,#'O',smska
LCALL PRIEM
CJNE A,#'K',smska
Ret;
Answer_false:
smska: mov R0,#0; передача команды "AT+CMGS=89227157174", т.е. отправка SMS на номер абонента
mov DPTR,#prer2
again:
JNB TFI,again
clr TFI
inc R0
cjne A,#20,string
mov R0,#10h; ввод в отчет о выполнении операции
again:
JNB TFI,again
clr TFI
inc R0
cjne A,#30,kolvo: LCALL PRIEM; принятие отчета о количестве отправленных смс
CJNE A,#30,kolvo; т.к. нам не понадобится данная информация, то ждем окончания строки
LCALL PRIEM; подтверждение отправки sms
CJNE A,#'O',smska
LCALL PRIEM
CJNE A,#'K',smska
Ret;
prer1: db ' AT+CMGR=1; ',9
prer2: db 'AT+CMGS=89227157174; ', 19
end;
Заключение
Разработанное в курсовой работе устройство, осуществляет запуск двигателя с помощью отправки SMS сообщения, отвечает требованиям технического задания. Разработана принципиальная электрическая схема и написана программа на языке ассемблера.
Главным модулем устройства является GSM модуль который принимает SMS сообщение, а также отправляет отчет о работе
Были получены практические знания, связанные с работой процессорной техники, для выполнения устройством заданного алгоритма работы использовали программу, которая написана на языке assembler для процессора серии MCS - 51.
Библиографический список
1. Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. - М.: ЭКОМ, 2002. - 412 c.
Размещено на Allbest.ru
Подобные документы
Требования к конструкции модуля управления климатом. Требования к технологичности, надёжности, уровню унификации и стандартизации, маркировке и упаковке. Эксплуатационные характеристики разрабатываемого модуля. Разработка схемы электрической структурной.
дипломная работа [3,9 M], добавлен 20.06.2015Разработка технологического процесса ремонтных работ для модуля кадровой развертки МК-41. Конструкция и электрическая принципиальная схема модуля. Выбор элементной базы микросхемы и измерительных приборов для проведения регулировочных работ изделия.
курсовая работа [869,2 K], добавлен 03.03.2012Описание объекта и функциональная спецификация. Структурная схема, расположение выводов, конструктивные размеры микроконтроллера РIС16F84A. Алгоритм программы тахометра. Описание функциональных узлов МПС. Описание выбора элементной базы и работы схемы.
курсовая работа [2,4 M], добавлен 27.12.2009Пульт дистанционного управления на ИК лучах. Протокол RC-5 и принцип его работы. Разработка ИК пульта и приемника дистанционного управления. Алгоритм программы обработки прерывания ИК приемника. Разработка схемы электрической принципиальной ИК пульта.
курсовая работа [5,7 M], добавлен 01.02.2013Алгоритм функционирования устройства управления мощностью двигателя постоянного тока. Основные компоненты функциональной спецификации системы. Структурная и принципиальная схема, программное обеспечение. Проектирование аппаратных средств системы.
курсовая работа [410,4 K], добавлен 24.12.2013Описание алгоритма работы игры и применяемых в ней функций. Составление программы работы системы управления с использованием языка С. Основные характеристики микроконтроллера, его функциональные группы. Принципиальная схема микропроцессорного модуля.
курсовая работа [756,1 K], добавлен 14.01.2013Выбор формата данных. Разработка алгоритма и графа макрооперации. Разработка функциональной электрической схемы и её особенности. Выбор элементной базы. Разработка принципиальной схемы. Микропроцессорная реализация устройства на языке Ассемблер.
курсовая работа [955,0 K], добавлен 04.05.2014Разработка модуля для решения задач управления и обмена информацией с удаленными объектами. Принцип работы интерфейсного модуля RS2-4.5x и разработка его конструкции. Выбор и описание элементной базы, поверочный конструкторский расчет устройства.
курсовая работа [1,3 M], добавлен 06.11.2012Блок регистров выходных данных, принцип его работы. Принципиальная электрическая схема блока памяти. Согласование по электрическим параметрам входных цепей памяти. Проверка допустимости значения времени нарастания сигнала на входе адреса микросхемы.
курсовая работа [1,3 M], добавлен 24.06.2015Принцип работы и характеристика интегральных схем. Разработка модуля реверсивного счетчика с применением микросхем современных серий. Принципиальная схема модуля; расчет динамических параметров, потребляемой мощности, надежности; конструкция устройства.
курсовая работа [171,3 K], добавлен 25.11.2013