РЕФЕРАТ
Цель работы: разработка индикатораавтомобиля отображения в режиме реального времени кодов неисправностей системыуправления двигателем на базе микроконтроллера. Задание режима работыустройства осуществляется при помощи специальных кнопок. Показания работыдвигателя отображаются на светодиодном индикаторе.
Содержание работы: вработе выполнено построение структурной схемы, построение функциональной схемы,сформирован алгоритм работы системы, выбор элементной базы, оптимальной дляреализации поставленных задач по диапазону характеристик, разработана программа,разработана принципиальная схема устройства.
СОДЕРЖАНИЕ
Введение
1. Описаниеобъекта и функциональная спецификация
2. Описание структуры системы
3. Описаниересурсов МК PIC16F84А
4. Ассемблирование
5. Разработка алгоритма работы устройства
6. Описание функциональных узлов МПС и алгоритма их взаимодействия
7. Описание выбора элементной базы и работыпринципиальной схемы
Заключение
Список литературы
Приложение А
ВВЕДЕНИЕ
Современнуюмикроэлектронику трудно представить без такой важной составляющей, какмикроконтроллеры. Микроконтроллеры незаметно завоевали весь мир. Микроконтроллерныетехнологии очень эффективны. Одно и то же устройство, которое раньше собиралосьна традиционных элементах, будучи собрано с применением микроконтроллеров,становится проще, не требует регулировки и меньше по размерам. С применениеммикроконтроллеров появляются практически безграничные возможности по добавлениюновых потребительских функций и возможностей к уже существующим устройствам.Для этого достаточно просто изменить программу.
Однокристальные(однокорпусные) микроконтроллеры представляют собой приборы, конструктивновыполненные в виде БИС и включающие в себя следующие составные части:микропроцессор, память программ и память данных, а также программируемыеинтерфейсные схемы для связи с внешней средой.
Мировая промышленностьвыпускает огромную номенклатуру микроконтроллеров. По области применения ихможно разделить на два класса: специализированные, предназначенные дляприменения в какой-либо одной конкретной области (контроллер для телефона, контроллердля модема, контроллер автомобиля) и универсальные, которые не имеют конкретнойспециализации и могут применяться в самых различных областях микроэлектроники,с помощью которых можно создать как любое из перечисленных выше устройств, таки принципиально новое устройство.
Цель курсового проекта –разработать индикатор автомобиля в режиме реального времени кодовнеисправностей системы управления двигателем на базе микроконтроллера.
1.Описание объекта и функциональная спецификация
Этоустройство предназначено для использования при регулировке холостого ходакарбюраторов двигателей внутреннего сгорания. Его можно применять и дляконтроля частоты вращения вала автомобильных или лодочных двигателей во времядвижения.
Устройствоимеет три разряда индикации с пределом измерения от 60 мин-1 до 7800мин-1. Погрешность измерения на пределе 1 секунда равна 30 мин-1,а на пределе 3 секунды — 10 мин-1. Нижний предел ограниченпогрешностью измерения, а верхний — количеством прерываний между индикацией.Из-за чего индикация разрядов становится прерывистой. Данное устройствонапоминает работу тахометра автомобиля, поэтому для простоты введем название«тахометр» (т.е. далее в нашем тексте будет ссылка дана на название «тахометр»).
Посколькуза один оборот коленчатого вала двигателя происходит два искрообразования, томы подсчитываем за одну секунду 2Nимпульсов. То есть в два раза большее количество, чем произошло оборотов (N). Чтобы получить значение оборотов вминуту, необходимо умножить значение оборотов за секунду на 60 (Nsх 60 = Nm). Так как мы подсчитываем число импульсов не N, a 2N, то умножать нужно уже не на 60, ана 30. А поскольку аппаратно мы отбрасываем разряд единиц, то фактически делимзначение оборотов на 10. Из этого следует расчетная формула: Nm = 2NSх 3 мин-1. Где Nm — значение оборотов в минуту, 2NS — число импульсов с прерывателя за одну секунду. Если подсчитывать числоимпульсов за 3 секунды, то Nm = 2NS мин-1. Таким образом,подсчитанное число импульсов за секунду достаточно умножить на 3 иперекодировать в двоично-десятичное, чтобы получить значение оборотов в минутубез единиц. А на пределе 3-х секунд просто перекодировать полученное значение.Показания индикатора, равные 100, будут соответствовать значению 1000 мин-1.
Функциональнаяспецификация
1. Входы
a. С контактовпрерывателя или с выхода коммутатора
b. Переключательдиапазонов измерения
2. Выходы
a. Семисегментныесветодиодный индикатор
3. Функции
a. Запись частотывращения двигателя в память
b. Выдача показанийчастоты вращения двигателя на семисегментные светодиоды
Хотя данное устройство ивыполняет незначительное число функций, но является незаменимым помощником придиагностике двигателей внутреннего сгорания.
2. Описание структуры системы
Послеопределения входов и выходов устройства разработана структурная схемаустройства. Структурная схема электронного тахометра.
3.Описание ресурсов МК PIC16F84А
В курсовом проекте был выбраноднокристальный 8-разрядный Flash CMOSмикроконтроллер PIC16F84А.
PIC16F84А — это 8-pазpядные микpоконтpоллеpы с RISC аpхитектуpой,пpоизводимые фиpмой Microchip Technology. Это семейство микpоконтpоллеpовотличается низкой ценой, низким энеpгопотpеблением и высокой скоpостью.Микpоконтpоллеpы имеют встpоенное ЭППЗУ пpогpаммы, ОЗУ данных и выпускаются в18 и 28 выводных коpпусах.
Микpоконтpоллеpысемейства PIC имеют очень эффективную систему команд, состоящую всего из 35инстpукций. Все инстpукции выполняются за один цикл, за исключением условныхпеpеходов и команд, изменяющих пpогpаммный счетчик, котоpые выполняются за 2цикла. Один цикл выполнения инстpукции состоит из 4 пеpиодов тактовой частоты.Таким обpазом, пpи частоте 4 МГц, вpемя выполнения инстpукции составляет 1мксек. Каждая инстpукция состоит из 14 бит, делящихся на код опеpации и опеpанд(возможна манипуляция с pегистpами, ячейками памяти и непосpедственнымиданными).
Высокая скоpостьвыполнения команд в PIC достигается за счет использования двухшиннойГаpваpдской аpхитектуpы вместо тpадиционной одношинной Фон-Hеймановской.Гаpваpдская аpхитектуpа основывается на набоpе pегистpов с pазделенными шинамии адpесным пpостpанством для команд и для данных. Hабоp pегистpов означает, чтовсе пpогpаммные объекты, такие как поpты ввода/вывода, ячейки памяти и таймеp,пpедставляют собой физически pеализоваенные аппаpатные pегистpы. ИспользованиеГаpваpдской аpхитектуpы позволяет достичь высокой скоpости выполнения битовых,байтовых и pегистpовых опеpаций. Кpоме того, Гаpвадская аpхитектуpа допускаетконвейеpное выполнение инстpукций, когда одновpеменно выполняется текущаяинстpукция и считывается следующая. В тpадиционной же Фон-Hеймановскойаpхитектуpе команды и данные пеpедаются чеpез одну pазделяемую илимультиплексиpуемую шину, тем самым огpаничивая возможности конвейеpизации,внутpенние физические и логические компоненты, из котоpых состоит PIC16FXX аналогичны любому дpугомумикpоконтpоллеpу Гаpваpдская аpхитектуpа и большая pазpядность команды позволяютсделать код для PIC значительно более компактным, чем для дpугихмикpоконтpоллеpов и существенно повысить скоpость выполнения пpогpамм./>
PIC16F84A имеют встроенные устройства, присущие большинству прикладныхсистем, что позволяет снизить стоимость, потребляемую мощность и увеличитьнадежность конечного устройства. Например, встроенная схема сброса и запускагенератора позволяют избавиться от внешних RC схем. Предлагается четыре типавстроенных генераторов на выбор, включая экономичный LP (Low Power) и дешевыйRC генераторы. Экономичный режим SLEEP, Watchdog таймер и устройство защитыкода программы снижают стоимость и увеличивают мощность плюс надежность вашейсистемы.
Микросхемы сультрафиолетовым стиранием идеальны для процесса отработки программы. Одновременносуществуют однократно программируемые (OTP) кристаллы. Здесь разработчик можетизвлечь полное преимущество из сочетания низкой цены и гибкости OTP версий.
Разработка на базеконтроллеров PIC16C5X поддерживается ассемблером, программным симуляторомэмулятором(только фирмы Microchip) и программатором. Существуют все эти средства для IBM,внутрисхемным PC и совместимых компьютеров.
Серия PIC16F84A подходит для широкого спектра приложений от схемвысокоскоростного управления автомобильными и электрическими двигателями доэкономичных удаленных приемопередатчиков, показывающих приборов и связныхпроцессоров. Наличие ПЗУ позволяет подстраивать параметры в прикладныхпрограммах (коды передатчика, скорости двигателя, частоты приемника и т.д.).Малые размеры корпусов, как для обычного, так и для поверхностного монтажа,делает эту серию микроконтроллеров пригодной для портативных приложений. Низкаяцена, экономичность, быстродействие, простота использования и гибкостьввода/вывода делает серию PIC16F84A привлекательной даже в тех областях,где ранее не применялись микроконтроллеры. Например, таймеры, замена жесткойлогики в больших системах, сопроцессоры.
Устройства серии PIC16F84A имеют большой выбор ПЗУ и ОЗУ разных размеров, разноеколичество линий ввода/вывода, различные виды возбуждения генераторов, разнуюскорость, климатику и типы корпусов. Из четырех кристаллов PIC16F84A можно выбрать устройство с подходящими ПЗУ/ОЗУ и конфигурациейввода/вывода.
Устройства сультрафиолетовым стиранием удобно использовать в прототипных и опытных партиях.Конфигурация генератора («RC», «XT», «HS»,«LP») программируется самим пользователем на UF EPROM. При UFстирании или по умолчанию устанавливается тип «RC». В зависимости отвыбранного типа генератора и частоты, рабочее напряжение питания должно быть втом же диапазоне, что будет и в будущем устройстве на OTP кристалле (если OTPпредполагается использовать).
Тип генератора кристаллахOTP устанавливается на заводе и они тестируются только для этой специальнойконфигурации, включая напряжение, частоту и ток потребления, см. Маркировка.Устройства выпускаются с чистым EPROM, что позволяет пользователю самомупрограммировать их. Кроме того, можно отключить Watchdog таймер и/или защитyкода путем программирования битов в специальном EPROM. Также доступны 16 битдля записи кода идентификации (ID).
Обзор характеристик.
— только 33 простыхкоманды;
— все команды выполняютсяза один цикл(200ns), кроме команд перехода- 2 цикла;
— рабочая частота 0 Гц…20 МГц(200 нс цикл команды)
— 12- битовые команды;
— 8- битовые данные;
— 512… 2К х 12программной памяти на кристалле EPROM;
— 25… 72 х 8 регистровобщего использования;
— 7 специальныхаппаратных регистров SFR;
— двухуровневыйаппаратный стек;
— прямая, косвенная иотносительная адресация данных и команд;
Периферия и Ввод/Вывод
— 12… 20 линийввода-вывода с индивидуальной настройкой;
— 8 — битныйтаймер/счетчик RTCC с 8-битным программируемым предварительным делителем;
— автоматический сброспри включении;
— таймер запуска генератора;
— Watchdog таймер WDT ссобственным встроенным генератором, обеспечивающим повышенную надежность;
— EPROM бит секретностидля защиты кода;
— экономичный режимSLEEP;
— программируемые EPROMбиты для установки режима возбуждения встроенного генератора:
— RC генератор: RC
— обычный кварцевыйрезонатор: XT
— высокочастотныйкварцевый резонатор: HS
— экономичныйнизкочастотный кристалл: LP
КМОП технология
— экономичнаявысокоскоростная КМОП EPROM технология;
— статический принцип вархитектуре;
— широкий диапазоннапряжений питания:
— коммерческий: 2.5…6.25 В
— промышленный: 2.5…6.25 В
— автомобильный: 2.5…6.0 В
— низкое потребление 20mA типично для 6В, 20МГц
2 мА типично для 5В, 4МГц
15 мкА типично для 3В,32КГц
3 мкА типично дляSLEEP режима при 3В, 0… 70 С
Структурная схемамикроконтроллера
Структурная схемамикроконтроллера РIС16F84A изображена на рис. 1.
/>
Рис. 1 — Структурнаясхема микроконтроллера РIС16F84A
Расположениевыводов
Расположениевыводов микроконтроллера РIС16F84A изображено на рис. 2.
/>
Рис.2 — Расположение выводов микроконтроллера РIС16F84A
Исполнениемикроконтроллера
Микроконтроллервыпускается в двух видах корпусов.
Расположениевыводов и конструктивные размеры различных корпусов приведены на Рис. 3 и Рис.4.
/>
Рис. 3 — Конструктивныеразмеры микроконтроллера РIС16F84A (исполнение 1)
/>
Рис.4 — Конструктивныеразмеры микроконтроллера РIС16F84A (исполнение 2)
4.Ассемблирование
Для ассемблирования используетсямакpоассемблеp MPASM, он содержит все необходимые нам возможности. MPASM входитв пакет программ Microchip MPLAB фирмы Microchip Technology.
В pезультате pаботыассемблеpа создаются файлы со следующими pасшиpениями:* HEX — объектный файл*LST — файл листинга* ERR — файл ошибок и пpедупpеждений* COD Объектный файлсоздается в 16-pичном фоpмате и содеpжит код, котоpый должен быть записан вмикpосхему. Файл листинга содеpжит полный листинг пpогpаммы вместе сзагpузочным кодом. В файл ошибок и пpедупpеждений записываются все ошибки ипpедупpеждения, возникающие в пpоцессе ассемблиpования. Они также пpисутствуюти в файле листинга.После обpаботки нашей пpогpаммы ассемблеp должен был выдатьсообщение «Assembly Successful», означающее, что ошибок обнаpужено небыло. Файл ошибок не должен был создаться.
Листинг программыприведен в Приложении А./>
5. Разработка алгоритма работы устройства
Алгоритмпрограммы тахометра представлен на рис. 6. После включения питания происходитначальная инициализация всех регистров с последующей индикацией. После инициализациивступает в работу таймер TMR0.Таймер имеет коэффициент деления, равный 256, что вместе с предделителем,имеющим коэффициент деления, равный 32, и циклом процессора, равным 4, даетпрерывания каждую секунду (4 х 32 х 256 = 32768).
Призамыкании контактов прерывателя с входа RB0 также происходит прерывание. При прерывании сохраняютсязначения регистров, задействованных на момент прерывания, и определяетсяпроисхождение прерывания. Если прерывание с входа RB0, то двоичный 16-разрядный счетчик увеличивается на единицу.Таким образом, подсчитывается количество прерываний с входа RB0 между прерываниями от переполнениятаймера, то есть за 1 секунду. Каждое прерывание заканчивается восстановлениемранее сохраненных значений регистров, и процессор переключается на работу синдикацией.
Если прерывание произошлопо переполнению таймера, то определяется состояние переключателя пределаизмерения и, если переключатель на пределе одной секунды, двоичное значение16-разрядного счетчика умножается на 3 (2N х 3). 16-разрядный счетчик обнуляется, готовясь к новому циклу измерения.Полученное двоичное значение перекодируется в трехразрядное двоично-десятичноечисло и переписывается в регистры индикации. После восстановления значенийрегистров индикация происходит с новыми данными. То есть индикация обновляетсякаждую секунду. Если установлен предел измерения, равный 3 секундам, то припереполнении таймера значение счетчика секунд увеличивается на единицу.
Если значение счетчикасекунд еще не равно трем, прерывание завершается без обнуления 16-разрядногосчетчика. В противном случае в 16-разрядном счетчике накапливается количествопрерываний с входа RB0 за трисекунды. Это значение перекодируется в двоично-десятичное число ипереписывается в регистры индикации. Двоичный счетчик обнуляется и цикл повторяется.В данном случае индикация обновляется каждые три секунды.
/>
Рис. 5- Алгоритм программы тахометра
6. Описание функциональных узлов МПС и алгоритма ихвзаимодействия
В проектируемомустройстве можно выделить следующие функциональные блоки: контакт управления;микроконтроллер, пульт управления, позволяющий изменить режимы измерений;стабилизатор напряжения; кварцевый резонатор; семисегментные светодиоды — индикатор. Функциональная схема тахометра приведена на рис. 6./> /> /> /> /> /> /> /> />
/>
Стабилизатор />
Пульт
управления />/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/>/> /> /> /> /> /> /> /> />
Рис. 6 — Функциональнаясхема тахометра
7.Описание выбора элементной базы и работыпринципиальной схемы
Схематахометра показана на рис. 8. Входной сигнал с контактов прерывателястабилизируется стабилитроном VD1 науровень ТТЛ и подается на вход RB0.При бесконтактной системе зажигания сигнал снимается с выхода коммутатора,выдающего перепад напряжения 3 В. Этого напряжения достаточно для срабатываниямикроконтроллера.
ВходыRA0-RA2 коммутируют аноды светодиодов, реализуя динамическуюиндикацию. Вход RA3 нагруженпереключателем предела измерения «ls-3s». Внутренние подтягивающие резисторыпрограммно отключены, но ими снабжены только входы «В» микроконтроллера, поэтомувозникла необходимость в установке резистора R2. Входы RBI-RB7 использованы для вывода значенийсегментов. Поскольку микроконтроллер работает при верхнем питающем напряжении 6В, то микросхему стабилизатора напряжения КР142ЕН5 можно взять с любой буквой,обеспечивающей это напряжение. Потребляемый тахометром ток около 25 мА, поэтомумикросхема стабилизатора напряжения не нуждается в радиаторе. Диод VD2 защищает прибор от переполюсовки.Если тахометр будет использоваться при регулировке карбюраторов, то светодиодыАЛ304Г нежелательно заменять индикаторами с большими размерами цифр.
Тахометрв настройке не нуждается. Только необходимо перед установкой проверитькварцевый резонатор на соответствие его номинальной частоте. В противном случаепридется корректировать частоту автогенератора в готовом приборе параллельнымили последовательным подключением к кварцу конденсаторов, что не предусмотреноконструкцией платы.
Проверкуработоспособности тахометра можно выполнить при помощи любого низкочастотногоимпульсного генератора. Зависимость частоты Fr-ц отпоказаний тахометра N следующая: Fpu х 3 = N. И наоборот, чтобы иметь представление о частоте вращения коленчатого вала вгерцах, необходимо показания тахометра разделить на три. Например, если податьна вход тахометра частоту 100 Гц, то показания индикатора должны быть равны 300,что соответствует 3000 мин-1. При показании тахометра, равном 150 (соответствует1500 мин-1), частота вращения коленчатого вала в герцах будет равна 50Гц. Для определения частоты вращения двухцилиндровых двигателей, напримеравтомобилей «Ока», показания тахометра необходимо умножать на два.
Принципиальнаясхема тахометра выполнена в САПР AccelEda(Рис. 7).
/>
Рис. 7 — Принципиальнаясхема тахометра вAccelEDA
Принципиальная схематахометра приведена в Приложении Б.
ЗАКЛЮЧЕНИЕ
В данном курсовом проектеразработано устройство для проверки и диагностики двигателей внутреннегосгорания. Данное устройство может быть рекомендовано станциям техобслуживания иавтолюбителям. Разработана схема электрическая принципиальная этого устройства ипрограмма для микроконтроллера. В результате ассеблирования получена прошивка программыдля памяти микроконтроллера. Применение микроконтроллера позволило упростить принципиальнуюсхему и расширить функциональные возможности микроконтроллера, так как дляизменения функций устройства достаточно внести изменения в программу микроконтроллера.
СПИСОК ЛИТЕРАТУРЫ
1. Техническая документация намикроконтроллеры PIC16F87X компании Microchip Technology Incorporated. ООО «Микро-Чип», Москва, 2002.-184с.
2. Проектированиецифровых устройств на однокристальных микроконтроллерах / В.В. Сташин [и др.].– М.: Энергоатомиздат, 1990. – 224 с.
3. Евстифеев А.В.Микроконтроллеры Microchip: практическое руководство/А.В. Евстифеев. – М.:Горячая линия – Телеком, 2002. – 296 с.
4. Ульрих В.А.Микроконтроллеры PIC16F84A В.А. Ульрих. Изд. 2-е, перераб. идоп. – СПб.: Наука и техника, 2002. – 320 с.
ПРИЛОЖЕНИЕ А
Листинг программы
/>
/>
/>
/>
/>