Курсовая работа: Разработка микропроцессорного устройства для проверки и диагностики двигателя внутреннего сгорания автомобиля
Рис. 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 Гц. Для определения частоты вращения двухцилиндровых двигателей, например автомобилей «Ока», показания тахометра необходимо умножать на два.
Принципиальная схема тахометра выполнена в САПР Accel Eda (Рис. 7).