Защита автомобиля противоугонными системами
Автомобиль - одна из наиболее привычных и обыденных вещей в повседневной жизни. Однако, он также является имуществом, несущим определённую ценность, что делает его потенциальным объектом хищения. Чтобы быть уверенным в сохранности своего имущества, нужно прибегать к способам его защиты. Общеизвестно, что не существует абсолютно неприступной защиты автомобиля. Одним из наиболее надёжных способов защиты автомобиля является противоугонная система. Чтобы подойти к этому вопросу осознанно, стоит разобраться, что такое противоугонная система (ПУС) и какие функции она выполняет. Назначение ПУС, исходя из ее названия – помешать угону вашего авто. Именно помешать, так как практически не существует системы, которую невозможно обойти. Но дать драгоценные 10 минут для вашего реагирования хорошая ПУС обязана.
Многие современные автомобили оборудуются штатными противоугонными системами (иммобилайзерами). Но зачастую этого бывает недостаточно. В данном курсовом проекте будет рассмотрен элемент противоугонной системы, дополняющий классические методы защиты от угона.
Идея этого элемента в том, чтобы ограничить возможность запуска двигателя, посредством применения кодовой комбинации, которая будет известна лишь владельцу автомобиля. Нужно учесть тот факт, что владелец может захотеть изменить кодовую комбинацию, следовательно система должна предоставить такую возможность. Также она должна быть проста в использовании и понятна любому человеку.
1.Анализ задачи.
Чтобы избежать нежелательного запуска двигателя, нужно для начала понять механизм этого процесса.
Система запуска двигателя предназначена для создания первичного крутящего момента коленвала двигателя с оборотами, необходимыми для образования нужной степени сжатия, для воспламенения горючей смеси. Управление системой запуска может быть ручным, автоматическим и дистанционным.
Система пуска двигателя состоит из основных функциональных устройств:
-Аккумуляторная батарея
-Стартер
-Механизмы управления запуска (замок зажигания, блок управления автоматическим пуском, система дистанционного управления)
-Соединительные провода большого сечения (многопроволочные медные).
Рис.1 «Система пуска двигателя автомобиля»
Поворачивая ключ в замке зажигания в положение "II", вы замыкаете электрическую цепь: Аккумулятор - Стартер. Электрическая энергия аккумулятора преобразуется в стартере во вращательную механическую энергию. Зубья пусковой шестерни стартера входят в зацепление с зубьями маховика и прокручивают его.
Наиболее подходящий участок для включения проектируемой системы в данный механизм – между замком зажигания и тяговым реле стартера.
Таким образом, требуется спроектировать систему, которая будет замыкать цепь замок зажигания – тяговое реле стартера, посредством воздействия пользователя на функциональные узлы системы.
Основным узлом данной системы будет являться микроконтроллер - микросхема, предназначенная для управления электронными устройствами. Управление электронным устройством осуществляется с помощью программы, сохранённой в памяти микроконтроллера.
Взаимодействие с пользователем будет осуществляться с помощью органов управления и отображения – клавиатура, дисплей.
Наконец, узел коммутации (замыкания цепи), будет представлен схемой, работающей как электронный ключ, управляемый напряжением.
2.Предварительное проектирование системы.
Основные функциональные модули системы:
- блок питания
- микропроцессорное устройство (микроконтроллер)
- устройство ввода данных (клавиатура)
- устройство вывода данных (дисплей)
- ключевой элемент (электронный ключ)
Набор программных средств включает в себя код программы, управляющей работой микроконтроллера. Код может быть реализован на различных языках программирования. Моделирование работы программы также осуществляется с помощью различного программного обеспечения, которое выбирается исходя из типа микроконтроллера.
Структурную схему аппаратной части системы можно найти в приложении 1.
Большинство микроконтроллеров требуют напряжения питания 3,3-5в. Так напряжение между клеммами аккумуляторной батареи – 12в, непосредственно к ней нельзя подключать микроконтроллер. Для этого используется блок питания (понижающий DC-DC преобразователь). После того, как ключ в замке зажигания переведён в положение «2», на устройстве вывода данных появится запрос о вводе кодовой комбинации. После ввода данных пользователем на устройстве вывода отображается введённая кодовая комбинация. Если она верна, то на управляющий вывод ключевого элемента подаётся активный уровень сигнала и цепь замок зажигания – тяговое реле стартера замыкается, переведя ключ в замке зажигания в положение «3», двигатель запустится. Если кодовая комбинация введена неверно, ключевой элемент не замкнёт цепь и двигатель не запустится.
3.Проектирование аппаратных средств системы.
Микроконтроллеры являются основной частью для большинства современных автономных устройств. Он может выполнять как функции управления, так и служить промежуточным звеном между исследуемым объектом и устройством верхнего уровня. Для микроконтроллеров, которые питаются от автономного источника напряжения, обязательна функция сброса по снижению напряжения питания. Если напряжение микроконтроллера опускается ниже определенного значения на заданное время, то происходит сброс. Также следует не забывать про режимы пониженного энергопотребления микроконтроллера. У микроконтроллеров фирмы Microchip среднего семейства существует один режим энергосбережения – Sleep mode. Для микроконтроллеров семейства Classic AVR предусмотрено 2 режима пониженного энергопотребления. Из всего вышесказанного можно сделать вывод, что с точки зрения пониженного энергопотребления, микроконтроллеры AVR являются более предпочтительными, чем PIC-контроллеры. Основной целью выбора микроконтроллера является нахождение такой микросхемы, которая полностью бы удовлетворяла техническому заданию на устройство, но в тоже время была бы наименее дорогой. Для проектируемой системы подойдёт микроконтроллер AVR Atmega16. Исходя из этого, будем использовать среду моделирования AVR Studio, а также Proteus. Программу будем писать на языке ассемблер, так как мы знакомы с этим языком с прошлого курса предмета микропроцессорная техника.
Как уже упоминалось ранее, система состоит из нескольких функциональных узлов: блок питания, микропроцессорное устройство, устройство ввода данных, устройство вывода данных , ключевой элемент.
Блок питания.
В качестве блока питания будем использовать DC-DC преобразователь понижающего типа. Нам нужно получить напряжение в 5в, используя 12в аккумуляторной батареи. Лучшим вариантом является линейный стабилизатор L7805 (аналог КР142ЕН5). Это дешевая трехвыводная микросхема в корпусе, внешне похожая на транзистор. Для работы из элементов потребуется всего несколько конденсаторов. Напряжение на входе может варьироваться в пределах 8-15 в, а на выходе будут стабилизированные 5в.
Рис.2 «Микросхема L7805 (аналог КР142ЕН5).»
Рис.3 «DC-DC преобразователь-стабилизатор понижающего типа»
Чтобы сгладить возможные броски напряжения, особенно в схемах с общим питанием для микросхем и моторов, параллельно питающим линиям включают электролитический конденсатор 100-1000 мкф (C1), который обычно дополняют керамическим конденсатором около 0,1 мкф (C2) для фильтрации высокочастотных и среднечастотных помех (точный номинал этого конденсатора можно расcчитать только тогда, когда точно известна паразитная частота). Кроме того, чтобы развязать питание ,батарей и микросхем, в положительную линию питания микроконтроллера включают диод, например, 1N4001 или 1N4004.
Клавиатура.
В качестве устройств ввода и вывода данных будем использовать легко доступные элементы.
В устройстве предусмотрен ввод данных с использованием кнопок. Реализовать такое схемное решение очень просто учитывая то, что кроме собственно кнопки и подтягивающего резистора (и то, в некоторых случаях он не нужен) больше ничего не надо. Но простое подключение контактных групп к линиям ввода/вывода микроконтроллера может породить проблему нехватки этих линий, если таких контактных групп много. Решение проблемы довольно простое - использование клавиатурной матрицы.
Схема клавиатурной матрицы представлена на рисунке. Кнопки включены таким образом, что при нажатии кнопка замыкает строку на столбец. Из схемы видно, что часть линий контроллера используется в качестве сканирующих (столбцы), а часть в качестве считывающих (строки). Количество кнопок, подключенных таким образом, определяется как количество сканирующих линий, умноженное на количество считывающих. Отсюда следует, что использование матричной клавиатуры для случая, когда кнопок меньше или равно четырем, не имеет смысла, так как понадобятся те же четыре линии, а схема и прошивка усложнятся.
Рис.4 «Матричная клавиатура(схема подключения)»
Существуют различные способы организации матричной клавиатуры, представленный на рисунке требует наименьшего числа элементов, однако может создать опасную ситуацию для микроконтроллера. Если замкнуть выходы микроконтроллера с различными логическими уровнями (0 и 1), то высокий ток повредит выходные каскады порта, в данном случае такая ситуация может возникнуть при замыкании одновременно двух кнопок в одном ряду. Поэтому только одна сканирующая линия может быть сконфигурирована на выход, остальные должны быть переведены в высокоимпедансное состояние (z-состояние, третье состояние), при котором они не оказывают влияние на схему. Для этого необходимо записать логический 0 в соответствующие линии биты регистров DDRx и PORTx.
Таким образом, алгоритм сканирования матричной клавиатуры следующий:
- считывающие линии (подключены к строкам) сконфигурировать как вход с подтягивающим резистором (DDRx=0 и PORTx=1)
- сканирующие линии (подключены к столбцам) сконфигурировать как входы с z-состоянием (DDRx=0 и PORTx=0)
- поочередно переключать сканирующие линии на выход с логическим уровнем 0 (DDRxi=1)
- считывать значения на входах считывающих линий, если на j-той линии появляется логический 0, значит нажата кнопка в j-той строке и i-том столбце
Рис.5 «Матричная клавиатура(внешний вид)»
Дисплей.
Устройство вывода – LCD индикатор на базе HD44780 контроллера.
Сегодня существует очень большая разновидность таких индикаторов, которые между собой отличаются :
- числом строк – 1,2 или 4
- числом символов в каждой строке – от 8 до 80
- с последовательным или параллельным интерфейсом
- размерами индикатора
Если говорить о технологии изготовления, то самыми популярными на сегодняшний день являются : LC – индикатор (жидкокристаллический), OLED – индикатор (органические соединения) и VF – индикатор (вакуумно-люминесцентный).
Технические характеристики:
- Номер модели : Н8143
- Тип: 16х2
- Размеры дисплея: 7.1 * 2.4cm
- Размеры области отображения: 64.5 * 14.5mm
- Напряжение питания: 5V DC
- Диапазон рабочих температур: 0-50℃
Преимущества данного индикатора:
- совместимость с ASCII – таблицей символов. Очень удобно при написании кода для этих индикаторов.
- очень простой интерфейс : для параллельного интерфейса – всего 3 управляющих вывода и 4-/8-битная шина данных, для последовательного интерфейса и того меньше.
- низкая стоимость, в основном для ЖК индикаторов.
- легко доступен, имеются практически в каждом радио- магазине.
Недостатки:
- пониженные скорости работы: ~(250 .. 270)KHz
- плохая видимость ЖК дисплеев в плохо освещенном помещение. Сей недостаток компенсируется использованием подсветки.
Для выполнения поставленной задачи выбираем индикатор с количеством строк, равным 2.
Рис.6 «LCD дисплей (условное обозначение)»
Распиновка. Выводы питания дисплея.
Рис.7 «Подключение питания к дисплею »
Vss – общий вывод (земля). В некоторых даташитах можно встретить название GND.
Vdd – вывод подачи напряжения питания (+5V ). Подключаем этот пин к плюсу источника питания.
Vo – вывод управления контрастностью. На этот вывод подается напряжение от Vss до Vdd (по вкусу), через (10 .. 20)КΩ переменный резистор.
Управляющие выводы:
RS – Register Select При помощи этого вывода мы сообщаем дисплею какой тип данных будет записан/прочитан.RS = 0, работаем с регистром команд (Instruction Register)
RS = 1, работаем с регистром данных (Data Register)
RW – Read/Write При помощи этого вывода, мы переключаем дисплей в режим записи или чтения.RW = 0, записываем данные/команды в дисплэй
RW = 1, читаем данные/переменные из дисплэя
E – Enable При помощи этого вывода, активизируется исполнение операции записи/чтения команд/данных. Или другими словами, на этот вывод подается “стробирующий сигнал”, без которого не может быть выполнена ни одна операция. Исполнение операций дисплеем, начинаются при спадающем фронте.
Шина данных/адресов DB7 .. DB0 – Data Bus. Символьный дисплей может работать как с 8-битной шиной данных/адресов, так и с 4-битной шиной данных/адресов – что позволяет сэкономить драгоценные выводы микроконтроллера. Шина подключается напрямую к микроконтроллеру, без никаких дополнительных преобразований логических уровней, она толерантна как 5В так и к 3.3В – смотри техническую характеристику.DB7- наиболее значащий бит. DB0- наименее значащий бит.
Рис.8 «Карта памяти дисплея »
Память индикатора делится на три составные части :
DDRAM (Display Data RAM), предназначена для хранения 8-битных символов (в основном ASCII), которые мы хотим отображать на экране. Емкость этой памяти составляет 80 символов, по 40 на каждую строку. Но вы скажете, “эй, в строке всего 16 символов!”. Остальные символы скрыты. Чтобы их отобразить, следует назначить другой участок DDRAM памяти (2×16 символов) как видимый, по умолчанию видимая память начинается с адреса 0×00.
CGROM (Character Generator ROM), здесь хранится расшифровка записанных в DDRAM символов. То есть, когда мы записываем в DDRAM ячейку, скажем, символ 0×41, то на экране появится символ хранящийся в ячейке CGROM памяти с адресом 0×41 – “A“. Как и ASCII таблицы для разных стран, символы хранящиеся в CGROM памяти отличаются, так что выбирайте индикатор с нужной вам ASCII таблицей (CGROM памятью).
CGRAM (Character Generator RAM), в общем это маленький участок CGROM-памяти в которой нет никаких символом и которую можно изменять – первые 64 байта CGROM памяти. Так что пользователь может нарисовать парочку своих символов.
Для того чтобы помнить адрес последней ячейки, к которой мы обращались, есть специальный регистр – address counter, по умолчанию он указывает на ячейку 0×00, DDRAM памяти. После каждого обращения к памяти он автоинкрементируется или декрементируется в зависимости от настроек режима ввода.
Рис.9 «Таблица команд дисплея »
I/D — инкремент или декремент счетчика адреса. По дефолту стоит 0 — Декремент. Т.е. каждый следующий байт будет записан в n-1 ячейку. Если поставить 1 — будет Инкремент.
S - сдвиг экрана, если поставить 1 то с каждым новым символом будет сдвигаться окно экрана, пока не достигнет конца DDRAM, наверное удобно будет когда выводишь на экран здоровенную строку, на все 40 символов, чтобы не убегала за экран.
D — включить дисплей. Если поставить туда 0 то изображение исчезнет. А чтобы картинка появилась в эту позицию надо записать 1.
С - включить курсор в виде прочерка. Все просто, записали сюда 1 — включился курсор.
B — сделать курсор в виде мигающего черного квадрата.
S/C -сдвиг курсора или экрана. Если стоит 0, то сдвигается курсор. Если 1, то экран. По одному разу за команду
R/L — определяет направление сдвига курсора и экрана. 0 — влево, 1 — вправо.
D/L — бит определяющий ширину шины данных. 1-8 бит, 0-4 бита
N — число строк. 0 — одна строка, 1 — две строки.
F - размер символа 0 — 5х8 точек. 1 — 5х10 точек (встречается крайне редко)
AG - адрес в памяти CGRAM
АD — адрес в памяти DDRAM
Рис.10 «Символьный ЖКИ (внешний вид)»
Электронный ключ.
В качестве ключевого элемента выбираем схему, состоящую из реле, коммутирующим цепь, которое управляется транзистором. В сущности, электронный ключ, это просто выключатель (или переключатель) который замыкает/размыкает сильноточную цепь по внешнему электрическому сигналу (тоже входной ток, но намного меньшей мощности). Обычно, когда на вход электронного ключа подается слабый ток управления, ключ замыкается и пропускает через себя мощный ток в силовой цепи. Когда ток управления пропадает, то ключ размыкается и мощный потребитель тока отключается. Реле представляет собой электромагнит, который управляет замыканием контактов. Работает это точно так же, как если бы контакты замыкались механическим нажатием кнопки, но в случае реле усилие для замыкания берется от магнитного поля обмотки реле. Выходные контакты реле могут управлять очень большой электрической мощностью - на порядки большей, чем прикладываемая мощность к обмотке электромагнита реле. При этом входная цепь обмотки (где действует слабый управляющий ток) полностью изолирована от выходной мощной цепи, что очень важно для безопасного управления высоковольтными нагрузками.
Существует возможность управлять реле с помощью микроконтроллера. Для этого обычно также применяются транзисторы. Ниже приведена простая схема на транзисторе KT315 (его можно заменить аналогом на BC547), предназначенная для коммутации сетевой нагрузки 220V. Диод VD1 нужен для предотвращения повреждения транзистора высоковольтным импульсом ЭДС самоиндукции, который возникает при обесточивании обмотки реле.
Рис.11 «Электронный ключ»
Микроконтроллер AVR Atmega16.
Рис.12 «Микроконтроллер (внешний вид)»
Рис.13 «Микроконтроллер (блок-схема)»
Технические характеристики:
8-разрядный высокопроизводительный AVR микроконтроллер с малым потреблением
Прогрессивная RISC архитектура
130 высокопроизводительных команд,
большинство команд
32 8-разрядных рабочих регистра общего назначения
Полностью статическая работа
Производительность
Встроенный 2-цикловый перемножитель
Энергонезависимая память программ и данных
16 Кбайт внутрисистемно программируемой Flash памяти (In-System Self-Programmable Flash)
Обеспечивает 1000 циклов стирания/записи
Дополнительный сектор
Внутрисистемное
программирование встроенной
Обеспечен режим
512 байт EEPROM
Обеспечивает 100000 циклов стирания/записи
1 Кбайт встроенной SRAM
Программируемая блокировка, обеспечивающая
защиту программных средств
Интерфейс JTAG (совместимый с IEEE 1149.1)
Возможность сканирования
Расширенная поддержка
Программирование через JTAG интерфейс: Flash, EEPROM памяти, перемычек и битов блокировки
Встроенная периферия
Два 8-разрядных таймера/счетчика с отдельным предварительным делителем, один с режимом сравнения
Один 16-разрядный таймер/счетчик с отдельным предварительным делителем и режимами захвата и сравнения
Счетчик реального времени с отдельным генератором
Четыре канала PWM
8-канальный 10-разрядный аналого-цифровой преобразователь
8 несимметричных каналов
7 дифференциальных каналов (только в корпусе TQFP)
2 дифференциальных канала с
Байт-ориентированный 2-проводный последовательный интерфейс
Программируемый
Последовательный интерфейс SPI (ведущий/ведомый)
Программируемый сторожевой
Встроенный аналоговый
Специальные микроконтроллерные функции
Сброс по подаче питания и
программируемый детектор
Встроенный калиброванный RC-генератор
Внутренние и внешние
Шесть режимов пониженного
Выводы I/O и корпуса
32 программируемые линии ввода/
40-выводной корпус PDIP и 44-выводной корпус TQFP
Рабочие напряжения
2,7 - 5,5 В (ATmega16L)
4,5 - 5,5 В (ATmega16)
Рабочая частота
0 - 8 МГц (ATmega16L)
0 - 16 МГц (ATmega16)
4.Проектирование программного обеспечения.
Так как алгоритм есть точно определенная процедура, предписывающая микроконтроллеру однозначно определенные действия по преобразованию исходных данных в обработанные выходные данные, то разработка блок-схемы алгоритма требует предельной точности и однозначности. В основе разработки блок-схемы алгоритма лежит принцип модульного проектирования – метод декомпозиции, при котором функциональные модули, полученные на этапе предварительного проектирования, последовательно разделяются на меньшие функциональные модули, каждый из которых можно анализировать, разрабатывать и отлаживать отдельно от других. При выполнении прикладной программы в микроконтроллере управление однозначно передается от одного функционального модуля к другому. Схема связности этих функциональных модулей , каждый из которых реализует некоторую процедуру, образует общую блок-схему алгоритма прикладной программы. Разделение на модули выполняется последовательно до такого уровня, который обеспечивает получение простого и понятного алгоритма модуля.
Программные модули должны иметь только одну точку входа и одну точку выхода. Только в этом случае отдельные модули можно разрабатывать и отлаживать независимо, а затем объединять в законченную прикладную программу с минимальными проблемами их взаимосвязей. Источником подавляющего большинства ошибок программирования использование модулей, имеющих один вход несколько выходов. При необходимости организации множественных ветвлений в программе условные переходы или включают внутрь модуля, объединяя их с операциями обработки, или выносят в систему межмодульных связей, формируя тем самым блок-схемы алгоритма более высокого уровня или используя систему программных флагов.
Разработка блок-схемы алгоритма функционального модуля программы имеет ярко выраженный итеративный характер, т.е. требует многократных проб, прежде чем возникает уверенность, что алгоритм реализации процедуры правильный и завершенный. Вне зависимости от функционального назначения процедуры при разработке ее блок-схемы алгоритма необходимо придерживаться следующей последовательностей действий:
- определить, что должен делать модуль
- определить способы получения модулем исходных данных
- определить необходимость
какой-либо предварительной
- определить способ
- определить способы выдачи из модуля обработанных данных
- определить необходимость
какой-либо постобработки
Преобразование разработанной блок схемы алгоритма в исходный текст программы – относительно несложный процесс. Прежде, чем преступить к написанию программы, необходимо выполнить распределение памяти и рабочих регистров.
Распределение памяти и рабочих регистров заключается в определении адреса первой команды прикладной программы, действительных начальных адресов стека, таблиц данных, переменных, областей передачи параметров между подпрограммами, подпрограмм обслуживания прерываний и т.п. При этом следует помнить, что в микроконтроллере память программ и память данных физически и логически разделены.
Код программы для микроконтроллера на языке программирования ассемблер можно увидеть в приложении 4, блок-схему – в приложении 2.
Для проверки работоспособности программы смоделируем систему в среде ISIS Proteus.
Рис.14 «Моделирование работы системы»
5.Список литературы.
1. Мирский Г.Я. Микропроцессоры в измерительных приборах / Г.Я. Мирский. – М.: Радио и связь, 1984. – 160 с.
2. Шилейко А.В. Микропроцессоры / А.В. Шилейко, Т.И. Шилейко. – М.: Радио и связь, 1986. – 112 с.
3. Сташин В.В. Проектирование цифровых устройств на однокристальных микроконтроллерах / В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева. – М.: Энергоатомиздат, 1990. – 224 с.
4. Голубцов М.С. Микроконтроллеры AVR: от простого к сложному / М.С. Голубцов, А.В. Кириченкова. – М.: СОЛОН–Пресс, 2006. – 304 с.
5. Предко М. Руководство по микроконтроллерам. Т. 1 / М. Предко. – М.: Постмаркет, 2001. – 416 с.
6. Басманов А.С. Микропроцессоры и однокристалные микроЭВМ: Номенклатура и функциональные возможности / А.С. Басманов, Ю.Ф. Широков под ред. В.Г. Домрачёва. – М.: Энергоатомиздат, 1988. – 128 с.
7. Варламов И.В. Микропроцессоры в бытовой технике / И.В. Варламов, И.Л. Касаткин. – М.: Радио и связь, 1990. – 104 с.
ПРИЛОЖЕНИЕ 1
ПРИЛОЖЕНИЕ 2
ПРИЛОЖЕНИЕ 3
ПРИЛОЖЕНИЕ 4
ПРИЛОЖЕНИЕ 5

- Защита авторских и смежных прав
- Защита авторских и смежных прав
- Защита авторских и смежных прав
- Защита авторских и смежных прав
- Защита авторских и смежных прав
- Защита авторских и смежных прав
- Защита авторских и смежных прав
- Зачет и возврат излишне уплаченных налогов
- Зачетная работа по дисциплине «Экономика недвижимости»
- Зачетные материалы по методологии
- Зашита права собственности и других вещных прав
- Зашита прав потребителей
- Зашита прав потребителей
- Зашита прав потребителей в России