Парковочный радар на базе контроллера фирмы ATMEL AVR ATmega8

Модульная структура аппаратных средств микропроцессорной системы. Выбор типа микроконтроллера. Разработка принципиальной схемы системы парковочного радара автомобиля. Выбор стабилизатора и датчика. Блок-схема алгоритма функционального модуля программы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 19.05.2017
Размер файла 525,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

Парковочный радар, также известный как акустическая парковочная система (АПС), парктроник или ультразвуковой датчик парковки ? вспомогательная парковочная система, опционально устанавливаемая на автомобилях. Слово «радар» в названии является, строго говоря, некорректным, так как устройство использует не радио-, а звуковые волны. Таким образом, корректно называть подобные устройства не радарами, а сонарами.

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

Система работает по принципу эхолота. Датчик-излучатель генерирует ультразвуковой (порядка 40 кГц) импульс и затем воспринимает отражённый окружающими объектами сигнал. Электронный блок измеряет время, прошедшее между излучением и приёмом отражённого сигнала, и, принимая скорость звука в воздухе за константу, вычисляет расстояние до объекта. Таким образом поочерёдно опрашиваются несколько датчиков и на основании полученных сведений выводится информация на устройство индикации и, при необходимости, подаются предупреждающие сигналы с использованием устройства звукового оповещения.

В контексте данного курсового проекта будет разработан парковочный радар на базе контроллера фирмы ATMEL AVR ATmega8, который имеет:

- FLASН память программ объемом 8 Кбайт;

- ОЗУ объемом 1 Кбайт;

- ЕЕРRОМ память данных объемом 512 байт;

- количество контактов ввода/вывода равно 23.

В качестве датчиков будут использованы 4 ультразвуковых дальномера HC-SR04.

Перед парктроником стоит ряд задач:

- измерение расстояния до препятствия;

- обеспечение индикации расстояния до препятствия на LCD-дисплей;

- обеспечение световой и звуковой индикации при преодолении некоторого определенного расстояния;

- воздействие на тормозную систему автомобиля при преодолении некоторого критического расстояния.

Хотя система призвана помогать автолюбителю, полностью полагаться на неё нельзя. Независимо от наличия системы, водитель обязан визуально проверять отсутствие каких-либо препятствий перед началом движения в любом направлении. Некоторые объекты не могут быть обнаружены парковочным радаром в силу физических принципов работы, а некоторые ? могут вызвать ложные срабатывания системы.

1. Анализ задачи

При проектировании системы парковочного радара перед нами возникает ряд вопросов, которые касаются принципа работы устройства, метода взаимодействия с тормозной системой, способов установки конечной продукции на автомобиль. Систематизировав образовавшиеся вопросы, можно получить следующий список:

1) Какие средства необходимо использовать для измерения расстояния до препятствия?

2) Какие средства необходимо предусмотреть для индикации и сигнализации?

3) Какие средства необходимо предусмотреть для воздействия на тормозную систему автомобиля?

Ответив на эти вопросы, мы получим всю необходимую информацию о принципах работы устройства и способах взаимодействия пользователя и устройства.

Дадим подробный ответ на каждый вопрос:

1. Для измерения расстояния будут использованы 4 ультразвуковых дальномера HC-SR04, которые можно размещать в любом месте автомобиля, но оптимально разместить датчики попарно в передней и задней части автомобиля. Данное размещение особенно актуально для авто с типом кузова «седан», который имеет относительно большие размеры передней части (капота) и задней (багажника), и поэтому водитель испытывает определенные трудности при парковке. HC-SR04 представляет из себя модуль с двумя пъезоизлучателями, один из которых служит излучателем, а второй - приемником ультразвуковой волны; плюс управляющая электроника для управления излучателем и приемником. Для подключения модуль имеет 4-х контактный разъем: два из которых питание (требуется 5 вольт), и еще два для общения с микроконтроллером.

2. Измеренное значение расстояния после обработки микроконтроллером выводится на LCD-дисплей (значение каждого датчика в соответствующем углу экрана). При достижении 30 см до препятствия загорается светодиодный индикатор желтого (оранжевого) цвета, после 20 см - красный индикатор, после 10 см - желтый, красный индикатор и звуковой сигнал.

3. Помимо индикации предусмотрена система дополнительной безопасности, которая не допустит повреждения автомобиля при помощи принудительной остановки. После достижения 10 см до препятствия микроконтроллер формирует управляющий сигнал, воздействующий на тормозную систему автомобиля (механизм воздействия зависит от модели автомобиля и установленного дополнительного оборудования в тормозной системе). Также необходимо предусмотреть отключение данной функции по желанию водителя для предупреждения возникновения помех движению в определенных случаях.

Эти ответы содержат информацию, необходимую для определения функциональной спецификации. Если распределить эту информацию по категориям ВХОДЫ, ВЫХОДЫ и ФУНКЦИИ, функциональную спецификацию системы парковочного радара можно представить в следующем виде:

1. ВХОДЫ.

1.1. Датчик измерения расстояния (4 шт).

1.2. Кнопка включения/выключения работы системы принудительного останова.

2. ВЫХОДЫ.

2.1. Индикация на LCD-дисплей.

2.2. Световая индикация.

2.2. Звуковая сигнализация.

2.3. Сигнал на систему принудительного останова.

3. ФУНКЦИИ.

3.1. Подача питания соответствует началу работы системы. Это значит, что микроконтроллер начинает опрашивать датчики расстояния, выполнять преобразования длительности сигнала в расстояние и выводить соответствующее число сантиметров на экран.

3.2. Полученные значения расстояния сравниваются со следующими числами, и в соответствии с полученными результатами:

3.2.1. ближе 30 см - формируется сигнал на вывод микроконтроллера для активации индикатора желтого (оранжевого) цвета;

3.2.2. ближе 20 см - формируется сигнал на вывод микроконтроллера для активации индикатора красного цвета;

3.2.3. ближе 10 см - формируется сигналы на выводы микроконтроллера для активации индикатора желтого, красного цвета и звуковой сигнал;

3.2.4. ближе 10 см - формируется сигнал на вывод микроконтроллера для воздействия на тормозную систему автомобиля для его остановки.

Важным вопросом при разработке функциональной спецификации является взаимодействие между пользователем и системой. В системе парковочного радара взаимодействие между системой и пользователем осуществляется с помощью кнопочного переключателя на панели управления, LCD-дисплея, визуальных (светодиодных) и звукового сигналов (рис. 1).

Рисунок 1 - Интерфейс между системой и пользователем

2. Предварительное проектирование системы

Основу аппаратных средств системы составляет управляющая микро-ЭВМ, которая в общем случае включает (рисунок 2):

? процессорный модуль;

? модуль генератора тактовых импульсов (ГТИ);

? модуль памяти;

? модуль интерфейса ввода и модуль интерфейса вывода, содержащие интерфейсные компоненты, необходимые для связи процессорного модуля с другими модулями системы;

? модуль преобразования входного сигнала и модуль преобразования выходного сигнала, которые содержат компоненты, необходимые для обмена входными и выходными сигналами с внешним окружением. Примерами таких компонентов являются различные датчики, детекторы, переключатели, кнопки, клавиатуры, устройства визуальной (световой) и звуковой сигнализации, цифровые (символьные) индикаторы, аналого-цифровые (АЦП) и цифроаналоговые (ЦАП) преобразователи и т.п.

Рисунок 2 - Общая модульная структура аппаратных средств микропроцессорной системы

Для реализации системных функций часть операций будут реализованы при помощи аппаратных средств, а часть при помощи программных средств. Выделим основные программные модули необходимые для реализации «функций» функциональной спецификации системы парковочного радара.

1) Исполнительный модуль. Модуль микроконтроллера.

2) Входной модуль (модуль детекторов). Выполняет генерацию сканирующего ультразвукового сигнала, прием отраженного «эхо-сигнала», и выдачу данных о расстоянии в исполнительный модуль.

3) Выходной модуль (модуль индикации). Выполняет информирование водителя о наличии препятствия на пути движения автомобиля.

Функционально-модульной структура системы парковочного радара примет следующий вид:

ИСПОЛНИТЕЛЬНЫЙ модуль

ВХОДНОЙ модуль

ВЫХОДНОЙ модуль

Рисунок 3 - Функционально-модульная структура системы парковочного радара

Рассмотрим, как распределяются функции по модулям системы парковочного радара.

1) Исполнительный модуль состоит из единственной управляющей функции.

2) Входной модуль:

- генерация ультразвукового сигнала;

- прием отраженного «эхо-сигнала»;

- выдача информации в исполнительный модуль

3) Выходной модуль:

- индикация расстояния до препятствия;

- сигнализация о преодолении некоторого расстояния до препятствия;

- формирование сигнала, управляющего воздействием на систему принудительного останова автомобиля.

Связь между программными и аппаратными средствами системы парковочного радара отображена на рисунке 4.

Рисунок 4 - Связь между программными и аппаратными средствами системы парковочного радара

3. Проектирование аппаратных средств системы

3.1 Выбор типа микроконтроллера

Микропроцессор - процессор, реализованный в виде одной или нескольких микросхем. Он отвечает за выполнение арифметических, логических операций и операций управления, записанных в машинном коде. В свою очередь, микроконтроллер - это микросхема, которая предназначена для управления электронными устройствами. В отличие от обычных компьютерных микропроцессоров, в микроконтроллерах часто используется гарвардская архитектура памяти, то есть раздельное хранение данных и команд в ОЗУ и ПЗУ соответственно. Кроме ОЗУ, микроконтроллер может иметь встроенную энергонезависимую память для хранения программы и данных. В отличие от микропроцессоров, используемых в персональных компьютерах, микроконтроллеры содержат встроенные дополнительные устройства. Эти устройства выполняют свои задачи под управлением микропроцессорного ядра микроконтроллера.

К наиболее распространенным встроенным устройствам относятся устройства памяти и порты ввода/вывода (I/O), интерфейсы связи, таймеры, системные часы. Устройства памяти включают оперативную память (RAM), постоянные запоминающие устройства (ROM), перепрограммируемую ROM (EPROM), электрически перепрограммируемую ROM (EEPROM). Таймеры включают и часы реального времени, и таймеры прерываний. Средства I/O включают последовательные порты связи, параллельные порты (I/O линии), аналого-цифровые преобразователи (A/D), цифроаналоговые преобразователи (D/A), драйверы жидкокристаллического дисплея (LCD) или драйверы вакуумного флуоресцентного дисплея (VFD).

Встроенные устройства обладают повышенной надежностью, поскольку они не требуют никаких внешних электрических цепей. В микроконтроллерах могут присутствовать такие периферийные устройства, как ШИМ, компараторы, АЦП, ЦАП, тактовый генератор, сторожевой таймер. Такие компании как Atmel Corporation и Microchip Technology Inc. являются крупными производителями микроэлектроники в спектр продукции которых входят 8-ми разрядные микроконтроллеры семейства AVR и PIC соответственно. Для того, чтобы обеспечить высокую скорость срабатывания системы, необходимо обеспечить соответствующую скорость опроса детекторов микроконтроллером.

Так же необходимо учесть, что микроконтроллер должен обладать как минимум тремя портами ввода/вывода: для LCD-дисплея, для датчиков и для звуковой и световой сигнализации. С учетом того, что данная система будет устанавливаться на автомобиль, то следует учесть габариты. Свободное место в современном автомобиле весьма ограничено так как существует много других систем устанавливаемых на нем. По этим же причинам необходимо учесть и низкое токопотребление.

Следует отметить источник питания. Уровень питающего напряжения не должен превышать 12 В, так как автомобиль работает от аккумуляторной батареи, с выходным напряжением 12 В. Превышение этого уровня повлечет за собой необходимость расчета трансформатора, что приведет к увеличению габаритов системы. Так же микропроцессор должен быть относительно дешёвым, чтобы сократить экономические затраты производства системы. Таким образом можно выделить основные требования к микроконтроллеру:

· Тактовая частота ~16 МГц и наличие, как минимум 3-х портов ввода-вывода.

· Наличие 16-битного таймера-счетчика, имеющего режим захвата.

· Минимальный размер микроконтроллера.

· Низкое токопотребление.

· Уровень питающего напряжения микроконтроллера не должен превышать 12В.

· Низкая цена микроконтроллера.

Всем этим требования удовлетворяет микроконтроллер компании Atmel Corporation ATmega8. Данный микроконтроллер имеет тактовую частоту до 16 МГц и обладает необходимым нам количеством выводов. Имеет низкое токопотребление и напряжение питания в диапазоне от 4,5 до 5,5 вольт, что полностью удовлетворяет нашим требованиям по уровню питающего напряжения. Кроме того в нем присутствует необходимый 16-битный таймер-счетчик, имеющий режим захвата. Со всеми вышеперечисленными параметрами данный микроконтроллер имеет минимальную стоимость.

Назначения выводов микроконтроллера ATmega8 приведены на рисунке 5.

Рисунок 5 - Назначения выводов микроконтроллера Atmega8.

Выбор данного микроконтроллера для построения системы парковочного радара будет наиболее правильным решением, так как он полностью удовлетворяет требованиям. Также данная система не требует больших вычислительных операций и выбор более мощного микроконтроллера будет нерациональным решением.

3.2 Разработка принципиальной схемы системы

Разработку принципиальной схемы будем вести по блокам структурной схемы. Таким образом разработка принципиальной схемы разобьется на несколько этапов с детализированным описанием каждого из блоков разрабатываемой системы.

Источник питания.

Современные автомобили имеют т.н. аккумуляторные батареи. Сегодня большинство легковых машин имеют бортовое напряжение питания 12 В, а грузовые 24 В. Так как наша система разрабатывается для использования на легковом автомобиле, то нашей задачей будет стабилизация напряжения на уровне 5 В. Идеальным решением для этой цели будет использование стабилизатора напряжения 78L05. 78L05 ? простейший стабилизатор положительного фиксированного напряжения 5 вольт в корпусе с тремя выводами для широкого применения. Этот стабилизатор рассчитан на нагрузку в 100 мA. Само собой имеется защита от превышения тока нагрузки, защита от перегрева. Стабилизаторы в этом исполнении рассчитаны на применение в слаботочных электрических цепях, поэтому установка корпуса TO-92 на радиатор не предусмотрена. Напряжение на входе 7?20 вольт.

Таким образом, при питании от бортовой системы питания автомобиля, с помощью стабилизатора 78L05 получим требуемое, для питания нашей схемы, напряжение 5 В.

Типовая схема включения простейшего стабилизатора 78L05 представлена на рисунке 6.

Взяв за основу типовую схему включения стабилизатора разработаем схему источника питания.

Схема источника питания показана на рисунке 7.

Рисунок 6 - Схема включения стабилизатора напряжения 78L05.

Рисунок 7 - Схема источника питания системы парковочного радара для автомобиля

Источник питания построен на основе стабилизатора 78L05, конденсаторы С1 и С2 имеют номиналы 0,33 мкФ и 0,1 мкФ соответственно. Таким образом видно, что задача об обеспечении системы обнаружения препятствий питающим напряжением решена. Бортовое напряжение автомобиля 12В стабилизировано на уровне 5 В. Он обеспечит питание микроконтроллера, датчиков и индикаторов.

Блок микроконтроллера.

Блок микроконтроллера будет отвечать за опрос датчиков, обработку выданных датчиками данных о расстоянии до объекта и, в случае обнаружения объекта в зоне сканирования датчиков, выдачу информации о расстоянии (в сантиметрах) на LCD-дисплей, а при сокращении расстояния до объекта до некоторых критических уровней - выдачу сигналов на средства световой и звуковой сигнализации.

Микроконтроллер ATmega8 работает в диапазоне питающих напряжений 4,5 - 5,5 В с частотой до 16 МГц. В нашем случае, с помощью источника питания, построенного на основе стабилизатора 78L05, установлено питание схемы на уровне 5 В. Схема включения микроконтроллера представлена на рисунке 8.

Рисунок 8 - Схема включения микроконтроллера ATmega8.

Микроконтроллер является единственным элементом данного блока.

Блок датчиков.

Блок датчик состоит из четырех ультразвуковых датчиков HC-SR04. Он преобразовывает электрическую энергию в ультразвуковые волны (механические вибрации с частотой свыше 20 кГц). Принимая скорость звука за постоянную величину, с помощью ультразвукового датчика определяется и расстояние до объекта, которое соответствует интервалу времени между отправкой сигнала и возвращением его эха. Сенсор получает сигнал эха, и выдаёт расстояние, которое кодируется длительностью электрического сигнал на выходе датчика (Echo). Следующий импульс может быть излучён, только после исчезновения эха от предыдущего. Это время называется периодом цикла. Рекомендованный период между импульсами должен быть не менее 50 мс. Если на сигнальный пин (Trig) подаётся импульс длительностью10 мкс, то ультразвуковой модуль будет излучать восемь пачек ультразвукового сигнала с частотой40кГци обнаруживать их эхо. Измеренное расстояние до объекта пропорционально ширине эха (Echo) и может быть рассчитано по формуле:

где S ? дистанция в сантиметрах, F ? длина импульса в микросекундах.

Основу ультразвукового датчика составляет преобразователь, объединяющий активный элемент и диафрагму. Преобразователь работает как передатчик и как приемник. Активный элемент генерирует короткий импульс и принимает его эхо от препятствия. Он изготавливается из пьезоэлектрического материала. Алюминиевая диафрагма является контактной поверхностью датчика и определяет его акустические характеристики. Преобразователь имеет упругое основание, поглощающее вибрации. Все элементы ультразвукового датчика помещены на плату с разъемами для подключения. Основными техническими характеристиками ультразвукового датчика являются дальность обнаружения препятствия, частота сигнала, быстродействие (скорость определения препятствия). Современные парковочные датчики имеют дальность обнаружения до 2,5 м, частоту сигнала 40 кГц и быстродействие порядка 0,1 с. Ультразвуковые датчики в системе автоматической парковки, системе помощи при перестроении имеют дальность действия до 4,5 м.

В данном курсовом проекте использованы ультразвуковой датчики измерения расстояния HC-SR04 (Ultrasonic ranging module HC-SR04). Напряжение питания, необходимое для работы датчика - 5В, что идеально подходит под уровень питающего напряжения нашей схема. Диапазон измерения расстояния - от 2 до 400 см и эффективный угол 15°. Выбор данного датчика будет являться правильным решением, так как по всем показателям он идеально подходит для системы парковочного радара.

Рисунок 9 - Схема включения датчика HC-SR04

Как видно из рисунка 9 датчик имеет 4 вывода:

· +5В питание (VCC)

· Опрос(Trig)

· Ответ(Echo)

· Общий 0В (GND)

Питание датчика осуществляется от общего источника питания через вход VCC. Микроконтроллер будет опрашивать датчик через вывод Trig. При обнаружении датчиком препятствия, информация о расстоянии до него будет выдана микроконтроллеру через вывод Echo. Диапазон измеряемого расстояния в 2 ? 400 см обеспечивает большую площадь зоны обнаружения датчика. В свою очередь эффективный угол в 15° так же является преимуществом, так как датчик не будет реагировать на боковые предметы, не находящиеся на пути движения автомобиля, но по каким-либо причинам попавшие в зону обнаружения(диаграмму направленности датчика) датчика, это избавит разрабатываемую систему автоматического обнаружения препятствий от ложного срабатывания, вводящего водителя в заблуждение. Он имеет малые габариты и с легкостью может быть встроен в бампер автомобиля. Так же следует отметить низкую стоимость и широкую доступность данного датчика.

Для опроса всех 4-х датчиков производится переключение между ними с помощью мультиплексора HEF4539B изображенного на рисунке 10.

Рисунок 10 - Мультиплексор HEF4539B

Назначение выводов мультиплексора:

· Vss? общий 0В,

· Vdd? +5В питание,

· ? информационные входы,

· ? адресные входы,

· ? разрешающие входы (активный сигнал - 0В),

· ? выходы мультиплексора.

Рисунок 11 - Подключение мультиплексора HEF4539B

Таким образом для переключения датчиков необходимо их выходы (Echo) соединить с информационными входами мультиплексора (выводы 6, 5, 4, 3). Для управления переключением микроконтроллер формирует сигналы на адресные входы мультиплексора (выводы 14, 2). Мультиплексор соединяет выход датчика (Echo) с выводом микроконтроллера ICP1.

Блок индикации.

Блок индикации в системе служит для информирования водителя о наличии препятствия на пути движения автомобиля. В нашей системе используется LCD-дисплей LM041L (рисунок 11) с управляющим контроллером HD44780. Графические размеры: 16 символов в 4 строки.

Рисунок 11 - LCD-дисплей LM041L

Назначение выводов индикатора:

1. Vss? общий 0В. 2. Vdd? +5В питание логики. 3. VO ? контрастность. 4. RS? выбор данные/инструкции 1-данные 0-инструкции. 5. R/W? чтение/запись 1- чтение, 0-запись. 6. E? стробирующий сигнал при записи/чтении. 7-14. DB0-DB7? шина данных/инструкций. Значение расстояния до каждого датчика выводится в соответствующих углах экрана.

Информирование водителя о наличии препятствия ближе определенного расстояния будет осуществляться двух светодиодов: желтого (оранжевого) и красного цвета. Световая сигнализация заключается в подаче питания на диод, через токоограничивающий резистор. Диоды могут питаться выходным напряжением микроконтроллера, и поэтому не требуют включения в цепь питающих напряжений.

Номинал резисторов выберем из отношения напряжения питания (выходное напряжение выхода МК при лог. единице) 5 В и максимального допустимого тока через выход МК 20 мА. Получим, что 5 В / 0,02 А = 250 Ом. Для обеспечения запаса, из стандартного ряда номиналов радиодеталей выбираем значение номинала больше рассчитанного, а именно 270 Ом. При сопротивлении резисторов 270 Ом, ток через резистор при пробитом диоде составит 18,5 мА (5В / 270 Ом = 18,5 мА), что меньше максимально допустимого тока 20 мА. С учётом падения напряжения на диоде, ток через диод будет равен 13,5 мА ((5 В - 1,35 В) /270 Ом = 13,5 мА).

Для звуковой сигнализации используется высокочастотный динамик 1ГДВ-1-8 (1ГД-56). Данный динамик применяется в акустических системах бытовой радиоаппаратуры 1-й и 2-й групп сложности. Головка громкоговорителя электродинамического типа, высокочастотная, круглая, с экранированной магнитной цепью. Установочный фланец изготовлен из алюминиевого сплава. Диафрагму защищает металлическая сетка.

Блок управления системой принудительного останова автомобиля.

В нашем проекте предусмотрена возможность принудительного останова автомобиля при достижении расстояния менее 10 см до любого из 4-х датчиков. Но развитие данной функции ограничивается тем фактором, что на разных моделях автомобилей существуют свои особенности тормозной системы. Поэтому в рамках данного курсового проекта мы ограничимся формированием управляющего импульса, который способен управлять дополнительным оборудованием тормозной системы, и не будем вдаваться в рассмотрение подробностей устройства тормозных систем различных автомобилей.

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

Завершением аппаратного проектирования является сама схема, представленная в приложении А.

Описание работы устройства по принципиальной схеме.

Схема питается от бортовой сети автомобиля 12 В. Включение системы осуществляется автоматически, путем подачи на источник питания напряжения. Стабилизатор 78L05 ограничивает напряжение на уровне 5 В. Это напряжение поступает на микроконтроллер ATmega8, ультразвуковой датчики и LCD-дисплей, обеспечивая их работу. Включение диодов в цепь питания не требуется, так как уровня выходного напряжения микроконтроллера достаточно что бы обеспечить их работу. Микроконтроллер ATmega8 опрашивает датчики, посылая на них сигнал из PB7 порта микроконтроллера в выводы Trig датчиков. Каждый ультразвуковой датчик сканирует пространство, посылая короткие ультразвуковые волны и принимая отраженные «эхо-сигналы». Информация о расстоянии до препятствия выдается с вывода Echo датчика на один из информационных входов мультиплексора. Для управления переключением датчиков микроконтроллер формирует сигналы из PC0 и PC1 на адресные входы мультиплексора (выводы 14, 2). После прохождения мультиплексора информационный сигнал приходит на вывод PB0/ICP1 микроконтроллера, который преобразует поступивший сигнал и выводит данные о расстоянии от препятствия до датчика на LCD-дисплей (в соответствующий номеру датчика угол экрана). При расстоянии до какого-либо объекта более 5 м на экран выводятся прочерки.

При достижении расстояния менее 30 см до любого из датчиков на вывод микроконтроллера PC4 поступает логическая единица (+5В) и моргает светодиод желтого (оранжевого) цвета. После 20 см на вывод PC3 поступает активный сигнал и моргает светодиод красного цвета. При достижении 10 см и менее начинают моргать оба светодиода и подается звуковой сигнал. Кроме этого формируется активный сигнал (+5 В) на выводе PC5, который предназначен для системы принудительного останова автомобиля. Данная функция отключается кнопкой с фиксацией.

парковочный радар программа микроконтроллер

4. Проектирование программного обеспечения

Так как алгоритм есть точно определенная процедура, предписывающая микроконтроллеру однозначно определенные действия по преобразованию исходных данных в обработанные выходные данные, то разработка блок-схемы алгоритма требует предельной точности и однозначности. В основе разработки блок-схемы алгоритма лежит принцип модульного проектирования - метод декомпозиции, при котором функциональные модули, полученные на этапе предварительного проектирования, последовательно разделяются на меньшие функциональные модули, каждый из которых можно анализировать, разрабатывать и отлаживать отдельно от других. При выполнении прикладной программы в микроконтроллере управление однозначно передается от одного функционального модуля к другому. Схема связности этих функциональных модулей , каждый из которых реализует некоторую процедуру, образует общую блок-схему алгоритма прикладной программы. Разделение на модули выполняется последовательно до такого уровня, который обеспечивает получение простого и понятного алгоритма модуля.

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

Разработка блок-схемы алгоритма функционального модуля программы имеет ярко выраженный итеративный характер, т.е. требует многократных проб, прежде чем возникает уверенность, что алгоритм реализации процедуры правильный и завершенный. Вне зависимости от функционального назначения процедуры при разработке ее блок-схемы алгоритма необходимо придерживаться следующей последовательностей действий:

- определить, что должен делать модуль,

- определить способы получения модулем исходных данных,

- определить необходимость какой-либо предварительной обработки введенных исходных данных,

- определить способ преобразования входных данных в требуемые выходные,

- определить способы выдачи из модуля обработанных данных,

- определить необходимость какой-либо постобработки выводимых данных.

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

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

Ассемблер - это низкоуровневый язык программирования, использующий непосредственный набор инструкций микроконтроллера. Создание программы на этом языке требует хорошего знания системы команд программируемого чипа и достаточного времени на разработку программы. Ассемблер проигрывает Си в скорости и удобстве разработки программ, но имеет заметные преимущества в размере конечного исполняемого кода, а соответственно, и скорости его выполнения.

Си позволяет создавать программы с гораздо большим комфортом, предоставляя разработчику все преимущества языка высокого уровня.

Следует отметить, что архитектура и система команд AVR создавалась при непосредственном участии разработчиков компилятора языка Си и в ней учтены особенности этого языка. Компиляция исходных текстов, написанных на Си, осуществляется быстро и дает компактный, эффективный код.

Основные преимущества Си перед ассемблером: высокая скорость разработки программ; универсальность, не требующая досконального изучения архитектуры микроконтроллера; лучшая документируемость и читаемость алгоритма; наличие библиотек функций; поддержка вычислений с плавающей точкой.

В языке Си гармонично сочетаются возможности программирования низкого уровня со свойствами языка высокого уровня. Возможность низкоуровневого программирования позволяет легко оперировать непосредственно аппаратными средствами, а свойства языка высокого уровня позволяют создавать легко читаемый и модифицируемый программный код. Кроме того, практически все компиляторы Си имеют возможность использовать ассемблерные вставки для написания критичных по времени выполнения и занимаемым ресурсам участков программы.

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

Используя советы, которые были приведены ранее, составим блок схему нашей программы (рисунок 12):

Описание работы по алгоритму (соответствующие пункты указаны в приложении Д «Код программы»).

Рисунок 12 - Схема алгоритма работы системы

Сразу после подачи питания инициализируется первый таймер-счетчик (метка 3) и LCD-дисплей (метка 1). Таймер/счетчик работает с частотой 1 МГц в режиме захвата сигнала (в начальном состоянии по переднему фронту). Также проходят необходимую конфигурацию использующиеся порты ввода-вывода (метка 2).

После инициализации периферийных модулей проверяется уровень сигнала на выводе ICP1/PB0 (метка 4). Это необходимо для подачи импульса Trig на датчик только при отсутствии сигнала Echo от него. Выполняется выбор датчика путем подачи на адресные входы мультиплексора соответствующего кода, который формируется выводами PC0, PC1 микроконтроллера(метка 5). Затем подается импульс Trig длительностью 10 микросекунд с вывода PB7 на вывод Trig датчика (метка 6). После чего разрешаются прерывания (устанавливается флаг глобальных прерываний) и дается время 5 мс, в течение которого от датчика через мультиплексор на вывод ICP1/PB0 поступает сигнал Echo, длительность которого необходимо измерить.

По положительному фронту на выводе ICP1/PB0 происходит прерывание и программа переходит к подпрограмме обработки прерывания (метка 8). В зависимости от уровня сигнала (метка 9) значение таймера/счетчика посредством регистра захвата ICR1 сохраняется как константа (метка 10), после чего происходит настройка на захват по противоположному фронту (метка 11). Разница состояний таймера/счетчика в моменты перепадов фронта с учетом его переполнения, которое учитывается соответствующей программой прерывания (метка 12), и есть длительность измеряемого сигнала (метка 13). Разделив полученную длительность в микросекундах на число 58, мы получим расстояние до объекта в сантиметрах (метка 14).

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

;interrupt [TIM1_CAPT] void timer1_capt_isr(void)

;0000 0014 {

_timer1_capt_isr:

ST -Y,R0

ST -Y,R1

ST -Y,R22

ST -Y,R23

ST -Y,R24

ST -Y,R25

ST -Y,R26

ST -Y,R27

ST -Y,R30

ST -Y,R31

IN R30,SREG

ST -Y,R30

;0000 0015 if((PINB&0x01)!=0)

SBIS 0x16,0

RJMP _0x3

;0000 0016 {

; 0000 0017 EdgeR=ICR1;

__INWR 6,7,38

;0000 0018 TCCR1B=TCCR1B & 0xBF;

IN R30,0x2E

ANDI R30,0xBF

OUT 0x2E,R30

; 0000 0019 OverflowC=0;

CLR R5

;0000 001A }

;0000 001B else

RJMP _0x4

_0x3:

;0000 001C {

; 0000 001D EdgeF=ICR1;

__INWR 8,9,38

;0000 001E TCCR1B= TCCR1B | 0x40;

IN R30,0x2E

ORI R30,0x40

OUT 0x2E,R30

;0000 001F PulseClocks=(unsigned long)EdgeF-(unsigned long)EdgeR+(unsigned long)OverflowC*65536;

MOVW R26,R8

CLR R24

CLR R25

MOVW R30,R6

CLR R22

CLR R23

RCALL __SWAPD12

RCALL __SUBD12

PUSH R23

PUSH R22

PUSH R31

PUSH R30

MOV R30,R5

LDI R31,0

RCALL __CWD1

__GETD2N 0x10000

RCALL __MULD12U

POP R26

POP R27

POP R24

POP R25

RCALL __ADDD12

STS _PulseClocks,R30

STS _PulseClocks+1,R31

STS _PulseClocks+2,R22

STS _PulseClocks+3,R23

;0000 0020 L=PulseClocks/58;

RCALL SUBOPT_0x0

MOVW R10,R30

; 0000 0021 osc=PulseClocks/58;

RCALL SUBOPT_0x0

MOVW R12,R30

_0x4:

LD R30,Y+

OUT SREG,R30

LD R31,Y+

LD R30,Y+

LD R27,Y+

LD R26,Y+

LD R25,Y+

LD R24,Y+

LD R23,Y+

LD R22,Y+

LD R1,Y+

LD R0,Y+

RETI

Далее происходит выход из подпрограммы обработки прерывания и выбирается угол экрана, соответствующий номеру датчика (метка 15). Перед выводом значения расстояния необходимо ограничить выводимое число ввиду физических возможностей датчика с целью предотвращения получения неправильных данных. Для этого будем выводить прочерки, если значение будет больше 500 см (метка 16), и цифру, соответствующую расстоянию, в противном случае (метка 17). С целью правильности отображения и предотвращения частой очистки всего экрана двух- и одноразрядные числа выводятся с одним и двумя нижними подчеркиваниями соответственно (метка 18).

После вышеперечисленных настроек отображения числа на экран следуют блоки сигнализации и управления системой принудительного останова. При расстоянии, меньшем 10 см, на выводы PC2-5 подается активный сигнал на динамик, красный светодиод, желтый (оранжевый) светодиод и систему принудительного останова автомобиля соответственно (метка 19).

При расстоянии, меньшем 30 см, загорается желтый (оранжевый) светодиод (метка 20). Меньшем 20 см ? желтый(оранжевый) и красный светодиод (метка 21). При большем 30 см ? все выводы микроконтроллера, отвечающие за сигнализацию и управление системой принудительного останова, переводятся в состояние логического 0 (0 В) (метка 22) и цикл заканчивается.

После составления алгоритма необходимо написать код программы микроконтроллера, а также проверить работу системы. Для проверки работоспособности будем использовать систему автоматического проектирования Proteus. ProteusVSM ? пакет программ для автоматизированного проектирования (САПР) электронных схем. Разработка компанииLabcenterElectronics(Великобритания).

Пакет Proteus состоит из двух частей, двух подпрограмм: ISIS-- программа синтеза и моделирования непосредственно электронных схем и ARES-- программа разработки печатных плат. Вместе с программой устанавливается набор демонстрационных проектов для ознакомления.

Пакет является коммерческим. Бесплатная ознакомительная версия характеризуется полной функциональностью, но не имеет возможности сохранения файлов.

Схема, собранная в системе САПР Proteus предоставлена на рисунке 13:

Рисунок 13 - Схема в системе САПР Proteus

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

Выводы

Результатом выполнения данной курсовой работы является разработка парковочного радара на основе микропроцессорной системы, на базе микроконтроллера Atmega8.

Осуществлена разработка аппаратной части устройства, а так же разработка программного обеспечения. Осуществлена проверка работоспособности системы в системе автоматического проектирования Proteus.

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

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

В качестве дальнейшего усовершенствования устройства можно расширить его функциональные возможности, увеличив количество датчиков к примеру ? до восьми (4 передних и 4 задних). Это не потребует дополнительных затрат на компоненты за исключением самих датчиков, но позволит сократить пространство «слепых» зон.

Литература

1. Евстифеев А.В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL. Москва, 2008.

2. Шпак Ю.А. Программирование на языке С для AVR и PIC микроконтроллеров. МК-Пресс, 2006.

3. ATMEL. Datasheet at ATmega 8, ATmega 8L. Atmel Corparation, 2011

4. Arduinos - Документация по У/З датчику HC-SR04.

5. Википедия - Парковочный радар

Размещено на Allbest.ru


Подобные документы

  • Распределение функций между аппаратной и программной частями микропроцессорной системы. Выбор микроконтроллера, разработка и описание структурной, функциональной и принципиальной схемы. Выбор среды программирования, схема алгоритма и листинг программы.

    курсовая работа [304,4 K], добавлен 17.08.2013

  • Разработка структурной схемы и обобщенного алгоритма работы прибора. Оценка максимальной погрешности линейного датчика давления и нормирующего усилителя. Разработка элементов принципиальной электрической схемы микропроцессорной системы сбора данных.

    курсовая работа [2,1 M], добавлен 08.02.2015

  • Описание алгоритма работы и разработка структурной схемы МКС. Схема вывода аналогового управляющего сигнала, подключения ЖК-дисплея, клавиатуры и аварийного датчика. Разработка блок-схемы алгоритма главной программы работы МКС. Функция инициализации.

    курсовая работа [5,7 M], добавлен 26.06.2016

  • История развития центрального процессора. Основные проблемы создания многоядерных процессоров. Проектирование микропроцессорной системы на базе процессора Intel 8080. Разработка принципиальной схемы и блок-схемы алгоритма работы микропроцессорной системы.

    курсовая работа [467,6 K], добавлен 11.05.2014

  • Структура микропроцессорной системы, алгоритм ее управления и передачи сигналов. Карта распределения адресов. Разработка электрической принципиальной схемы и выбор элементной базы. Расчет потребляемого тока, блока питания, программного обеспечения.

    курсовая работа [5,1 M], добавлен 22.01.2014

  • Разработка функциональной и принципиальной схемы. Выбор управляющего контроллера. Описание МК PIC16F626, МК AVR, МК 51. Выбор элементной базы. Разработка управляющей программы. Описание алгоритма работы программы. Схема устройства, листинг программы.

    курсовая работа [492,9 K], добавлен 28.12.2012

  • Выбор манипулятора-указателя, микропроцессора, интерфейса подключения к ПК. Обзор используемых команд. Проектирование функциональной и электрической принципиальной схемы контроллера трекбола. Разработка алгоритма и программы функционирования системы.

    курсовая работа [453,3 K], добавлен 22.10.2012

  • Разработка структурной и принципиальной схемы. Блок-схема основной программы и подпрограмм обработки прерываний. Имена переменных, используемых в них. Результаты моделирования работы устройства в программе ISIS пакета Рroteus. Разработка печатной платы.

    курсовая работа [1,5 M], добавлен 13.11.2016

  • Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.

    курсовая работа [577,8 K], добавлен 24.06.2013

  • Сравнительный анализ существующих приборов. Разработка функциональной схемы устройства. Выбор и статистический расчет элементов, входящих в систему: датчика, источник тока, усилителя, микроконтроллера, блок питания. Блок-схема управляющей программы.

    курсовая работа [769,9 K], добавлен 12.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.