Велокомпьютер на базе микроконтроллера

Автор работы: Пользователь скрыл имя, 13 Февраля 2015 в 00:47, курсовая работа

Краткое описание

Задачей нашего курсового проекта является построение велокомпьютера на базе микроконтроллера. Основными требования, предъявляемыми к такой системе являются:
1) функциональность;
2) точность измерения;
3) минимальные материальный затраты;
4) размер.
Целью курсового проекта является:
1) закрепить, углубить и систематизировать теоретические знания, полученные ранее при изучении общепрофессиональных и специальных схемотехнических дисциплин;
2) получить практические навыки самостоятельного решения комплекса задач, связанных с проектированием ЭВС с использованием микропроцессорных средств, путем выполнения самостоятельной творческой разработки по заданному индивидуальному заданию;
3) научить пользоваться специальной, справочной и другой нормативной-технической литературой, действующими стандартами;
4) подготовить студента к дипломному проектированию и последующей самостоятельной работе по специальности.

Содержание

Введение. Постановка задачи ………..…………………………...….... 5
1. Анализ задачи. ……………………………………………...…….…. 6
1.1 Список функций, выполняемых системой…………………..... 6
1.2 Описание интерфейса между системой и пользователем…….. 7
2. Предварительное проектирование системы…………….……...…. 9
2.1 Разбиение системы на модули ………………………………… 9
2.2 Построение структурной схемы аппаратной части
системы и её описание……………………………………….… 11
3. Проектирование аппаратных средств системы……...……………. 13
3.1 Выбор типа микроконтроллера…………………………..…….. 13
3.2 Разработка принципиальной схемы системы……….………… 17
3.3 Описание работы системы по принципиальной схеме……….. 24
4. Проектирование программного обеспечения...……......…………. 25
4.1 Разработка схемы работы системы на Си……………………… 25
4.2 Описание работы системы и программы……………………... 29
Заключение………………………………………………………........... 31
Список использованных источников………………………………..... 32
ПРИЛОЖЕНИЕ А. Код программы микроконтроллера
на Си….……………………………………..……. 33
ПРИЛОЖЕНИЕ Б. Код программы микроконтроллера
на ассемблере…………………………………….. 40

Прикрепленные файлы: 1 файл

Гончарик А.В. Курсач.docx

— 418.49 Кб (Скачать документ)

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

При решении поставленной прикладной задачи МК должен обеспечивать выполнение следующих операций:

–   математические операции вычисления и сравнения;

– обработку внутренних прерываний и прерываний от внешних устройств.

Исходя из предварительного анализа поставленной задачи, следует, что для реализации прикладной программы, выполняющей предписанные ей функции, будет достаточно объёма памяти программ (ОЗУ) 2048 слов.

В проектируемой системе используется три набора различных периферийных относительно МК устройств: блок ЖК-дисплея, блок кнопок управления, блок датчика скорости. Для взаимосвязи между МК и данными блоками необходимо, чтобы количество портов было не менее 8.

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

Так же микропроцессор должен быть максимально дешёвым, чтобы максимально сократить экономические затраты производства системы.

Предельная скорость опроса микроконтроллером датчика будет тогда, когда велосипед имеет максимальную скорость движения и наименьший радиус колеса. Если учесть, что максимальную скорость движения велосипеда, которую можно развить, является 40 км/ч (1100 см/сек), а наименьший из диаметров возьмем равным 19 дюймов (50 см) [7], то будем ориентироваться на данные числа. Для того, чтобы обеспечить высокую скорость срабатывания системы, необходимо обеспечить соответствующую скорость опроса датчика микроконтроллером. Так как, длина окружности колеса получится равной 150 см (2*3,14*50/2=150 см), то достаточно, чтобы на 1 полный оборот колеса происходил хотя бы один опрос. Один оборот колеса (150 см) при скорости движения 1100 см/сек будет проходить велосипед за 140 мсек (150 см / 1100 см/сек = 140 мсек). Время 140 мсек будет считать минимальным требуемым временем выполнения полного цикла программы в МК. Это обеспечит своевременное срабатывание системы.

Микроконтроллер семейства AVR фирмы Atmel Corporation, ATmega8L имеет 8 Кбайт внутрисистемной программируемой Flash памяти программ. Внутренний тактовый генератор МК ATmega8L обеспечивает тактирование МК частотой 8 МГц. Большинство команд МК ATtiny24 выполняются за один такт. Если предположить, что программа занимает всю память программ (8096 команды) и в коде программ не организованы задержки и циклы, то при тактировании от внутреннего генератора (период такта равен 1/8 МГц – 125 нсек), выполнение программы займёт 125 нсек · 8096 =  1 мсек. Получаем, что полный цикл программы, включающий в себя опрос датчика выполняется гораздо быстрее, чем требуемое время 140 мсек.

Из семейства AVR будем использовать МК ATmega8L. ATmega8L – это 8-разрядный высокопроизводительный AVR микроконтроллер с прогрессивной RISC архитектурой, имеющий 8 Кбайт внутрисистемной программируемой Flash памяти программ. МК обладает необходимым набором периферийных устройств на кристалле (один 8-разрядный таймер/счётчик, 12 портов ввода/вывода, один 16-разрядный таймер/счётчик, система внутренних и внешних прерываний, программируемый сторожевой таймер, аналоговый компаратор и др.). Данный МК имеет пониженное энергопотребление. Это значит, что он предназначен в основном для систем с малым питающим напряжением и батарейным питанием. Также этот МК является одним из самых дешёвых в семействе AVR. Всё перечисленное указывает на то, что выбор МК ATmega8L является оптимальным вариантом. Так как данный МК удовлетворяет всем заявленным требованиям, и обладает одной из самых минимальных комплектаций в семействе, то используя его, мы обеспечим высокий коэффициент использования ресурсов МК.

 

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

 

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

МК ATmega8L в рабочем режиме на 1 МГц потребляет ток не более 250 мкА. Т.к. предельная частота данного МК составляет 8 МГц, то максимальное потребление тока составит не более 2 мА [1], датчик скорости (герконовый) МКА-10110А  в рабочем режиме потребляет ток не более 10 мА [3], ЖК-дисплей LM016L в рабочем режиме потребляет ток не более 3 мА [2], Таким образом, суммарное потребление тока в системе не более 15 мА (2+10+3=15мА).Т.к. в качестве источника питания у нас будет выступать две батарейки типа АА, номинальным напряжением 1,5 В каждая, а для питания МК необходимо 5 В, то преобразователь напряжения должен преобразовывать постоянное напряжение 3 В (1,5В+1,5В=3В) в постоянное напряжение 5 В с током не менее 15 мА.  

Кнопки управления должны обеспечивать надёжную и быструю коммутацию линий ввода МК с потенциалом источника питания. Пока кнопка разомкнута, на входную линию порта подаётся через внешний по отношению к МК подтягивающий резистор напряжение низкого логического уровня (коммутация с землей). При нажатии кнопки, происходит коммутация линии с напряжением высокого логического уровня (5 В). Таким образом реализуется принцип работы нормально замкнутых кнопок. Также, параллельно кнопкам необходимо подключить емкость для подавления дребезга. Широкое распространение в устройствах на основе МК получили тактовые кнопки из-за их надёжности, простоты и дешевизны. Так как к кнопкам управления сложно предъявить требуемые критерии, то единственным критерием будет удобность использования кнопок человеком. Схема подключения кнопок представлена на рисунке 3.1:

 

 

 


 

 

 

 

 

 

 

Рисунок 3.1 – Схема подключения кнопок

 

Для отображения требуемой информации необходимо использовать такое устройство, которое может отображать число в виде удобном для восприятия человеком, например, блок из семисегментных индикаторов или ЖК-дисплей. Остановим свой выбор на ЖК-дисплее, так как использование дисплея позволит сократить количество вспомогательных компонентов до минимума и упростит схему. Необходимо чтобы ЖК-дисплей питался напряжением 5 В. В качестве устройства для отображения информации выберем дисплей на основе контроллера HD44780 – LM016L (рисунок 3.2). Данный дисплей имеет две строки, который вмещает шестнадцать символов в каждую строку. Дисплей широко распространен ввиду своей простоты обращения, а также относительно малой стоимости. Размеры матрицы дисплея: 84x44x10,5 мм. Питается дисплей постоянным напряжением 5 В [2]. Так как данный дисплей удовлетворяет поставленным требованиям, то используем его в разрабатываемой системе.


 

 

 

 

 

 

 

 

 

 

 

Рисунок 3.2 – Дисплей LM016L

 

Поскольку выбранный дисплей построен на базе контроллера HD44780, то реализации дисплея в системе является очень простой. Передача данных в дисплей и из него осуществляется по шинам данных, ножки 7-14. Передачу данных можно реализовать как в 8 битном режиме, так и в 4-ех битном. Выбор режима очевиден, если у микроконтроллера имеется малое количество свободных ножек, то желательно выбирать режим 4-ех битной передачи. Различаются эти передачи лишь тем, что при 8 битной передаче передается весь байт целиком, а в 4-ех битной – по частям, то есть сначала младший полубайт, затем старший полубайт. Также стоит упомянуть про ножки E, R/W, RS.

E – стробирующий вход. Импульсом напряжения на этой линии мы даем понять дисплею, что нужно забирать/отдавать данные с/на шину данных.

R/W — определяет в каком направлении движутся данные. Если 1 — то на чтение из дисплея, если 0, то на запись в дисплей.

RS — определяет, что у нас передается, команда (RS=0) или данные (RS=1). Данные будут записаны в память по текущему адресу, а команда исполнена контроллером.

Выбор устройства для измерения скорости стоял между такими датчиками как:

  1. идуктивный датчик;
  2. оптический датчик;
  3. герконовый датчик.

В качестве датчика скорости для велосипеда будем использовать герконовый датчик, т.к. при поднесении к нему магнита он вырабатывает прямоугольные импульсы, что позволяет нам не использовать внутренний АЦП микроконтроллера [5]. Также, ввиду того что датчик будет крепится на вилке колеса, то необходимо чтобы на его работу не влияли такие дестабилизирующие факторы как: вибрация, удары, загрязнения.

Выбор пал именно на герконовый датчик ввиду того что, индуктивные датчики также показывают стабильную работу при внешних воздействия. Однако их сложнее установить на колесе. Также при прохождении спицы велосипеда возле датчика, последний будет вырабатывать аналоговый сигнал. Следовательно, придется использовать внутренний АЦП микроконтроллера. Что же касается оптических датчиков, то они не стабильно работают при внешних воздействиях.

Из множества герконовых датчиков был выбран на геркон  МКА-10110А, замыкающего типа. Схема подключения данного геркона предоставлена на рисунке 3.3:

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 3.2 – Схема подключения геркона МКА-10110А

 

Объясним назначение элементов в данной схеме подключения.

Емкость C1 нужна для подавления дребезга. Резистор R3 служит в качестве токоограничивающего резистора. Резистор R2 используется для того, чтобы избавиться от Z – состояния ножки микроконтроллера.

Данный тип геркона был выбран ввиду его следующих механических характеристик: время срабатывания – не более 0,5 мс; и время отпускания – не более 0,3 мс [3].

В качестве преобразователя для нашей схемы был выбран преобразователь напряжения типа IZ9261-50 (Производство ОАО «Интеграл»). Данная микросхема импульсного преобразователя, обычно, предназначены для применения в источниках питания бытовой и промышленной аппаратуры. Разработка микросхем повышающих преобразователей напряжения позволит создать современные источники питания для аппаратуры с батарейным питанием. Применение данных микросхем в блоках питания позволит поддерживать постоянным напряжение питания аппаратуры.

Особенности данного преобразователя напряжения по сравнению с остальными преобразователями:

  1. Минимальное число внешних компонентов (Катушка индуктивности, диод и конденсатор);
  2. Малый входной ток (5 мкА при включенном состоянии);
  3. Высокая точность выходного напряжения  +- 2%;
  4. Малые пульсации и шум;
  5. Низкое напряжение запуска: 0,85 В при 1 мА;
  6. 75% эффективность с дешевой катушкой индуктивности;
  7. Малый температурный дрейф ;

 Основными параметрами, ввиду которых выбор пал именно на данный тип преобразователя, были следующие:

  1.  Ток потребления – не более 90 мкА;
  2. Входное напряжение – 3 В;
  3. Выходное напряжение – 5 В;
  4. Ток нагрузки – 100 мА;
  5. КПД – 85%.

От данного источника будут питаться: МК, ЖК-дисплей, датчик. Так как суммарный ток потребления системы (не более 15 мА) меньше чем максимальный выходной ток данного преобразователя (100 мА), то данный преобразователь напряжения пригоден для использования в проектируемой системе [4]. 

На рисунке 3.4 представлена схема блока “Преобразователь напряжения”.


 

 

 

 

 

 

 

 

 

 

 

Рисунок 3.4 – Блок “Преобразователь напряжения”

 

Объясним назначение каждого элемента данного блока:

L1 – дроссель накопления энергии. Производитель рекомендует использовать катушку индуктивности, с характеристиками 100мкГн±5%.

С1 – сглаживающий конденсатор для снижения уровня пульсаций выходного напряжения. Производитель рекомендует использовать электролитический конденсатор, емкостью 22 мкФ±10%, 25 В.

VD1  - диод блокировки. Блокирует разряд конденсатора C1 на схему. Ток на выходе нагрузки поддерживается только за счет разряда конденсатора C1. 

Также, для стабилизации частоты микроконтроллера обычно используют внешний кварцевый резонатор. В нашем случае его номинал равен 4 МГц, т.к. наша система должна потреблять минимальное количество энергии. Для более стабильной работы микроконтроллера производитель советуют подключать параллельно кварцевому резонатору два конденсатора номинальной емкость от 20 до 33 пФ. Конденсаторы гарантируют стабильную работу микропроцессора, а также скорость выхода генератора в рабочий режим и устойчивость генератора к помехам.

На рисунке 3.5 представлена схема электрическая принципиальная системы.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 3.5 – Схема электрическая принципиальная






 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

При включении системы (замыкание ключа S4), постоянное напряжение от двух батареек, общим номиналом 3 В, преобразуется повышающим преобразователем (DC-DC) в напряжение, номиналом в 5 В, достаточное для запуска работы МК и ЖК-дисплея. Программные средства МК DD1 (рисунок 3.5) выполняют последовательно ряд операций: опрос состояния кнопок управления, опрос датчика, вывод результатов расчета на ЖК-индикатор. В самом начале работы программных средств МК, происходит запись в ПЗУ МК выбранного пользователем диаметра колеса. После этого введенное число будет служить основой для расчета всех заявленных функций. Далее, при прохождении магнита возле датчика скорости, тот начинает вырабатывать прямоугольные импульсы, принимая которые МК вызывает обработчик прерывания. В вызванном обработчике прерываний происходит расчет всех формул с последующей записью результатов в ПЗУ МК. Далее происходит опрос кнопок. В зависимости от того, какая кнопка нажимается, на соответствующий вывод МК подается напряжение высокого логического уровня (5 В). Затем, происходит выполнение действий, на которые запрограммированы соответствующие кнопки. Это могут быть следующие действия: вывод на ЖК-дисплей результатов расчета следующей функции; вывод на ЖК-дисплей результатов расчета предыдущей функции; изменение диаметра колеса. При изменении диаметра колеса все вычисления производятся заново.

Информация о работе Велокомпьютер на базе микроконтроллера