47605 (Микропроцессорное устройство управления электронными весами)
Описание файла
Документ из архива "Микропроцессорное устройство управления электронными весами", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "47605"
Текст из документа "47605"
Федеральное Агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
МИКРОПРОЦЕССОРНОЕ УСТРОЙСТВО УПРАВЛЕНИЯ ЭЛЕКТРОННЫМИ ВЕСАМИ
Пояснительная записка к курсовому проекту по дисциплине
«Микропроцессорные устройства и системы»
ЗФ КП. ХХХХХХ.008 ПЗ
Студент группы
Руководитель проекта
профессор кафедры ПрЭ
А.В.Шарапов
2008
Федеральное Агентство по образованию
ТОМСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ СИСТЕМ УПРАВЛЕНИЯ И РАДИОЭЛЕКТРОНИКИ (ТУСУР)
Кафедра промышленной электроники (ПрЭ)
ЗАДАНИЕ
на курсовое проектирование по дисциплине
«Микропроцессорные устройства и системы»
студенту ____________________________________
группа ________________ факультет _______ ЗФ ________
Тема проекта: Микропроцессорное устройство управления
электронными весами ________________________________
Исходные данные к проекту: Фиксируются вес и стоимость расфасованной порции продукта ____________________________
Содержание пояснительной записки (перечень подлежащих разработке вопросов): ______________________________________
выбор микроконтроллера, обоснование функциональной схемы,
разработка полной принципиальной схемы устройства с перечнем
элементов и листинга управляющей программы
Перечень графического материала (с точным указанием обязательных чертежей и схем):
схема электрическая принципиальная – 1 лист
Дата выдачи задания: __________________________________
Руководитель профессор кафедры ПрЭ _______ А.В.Шарапов
Задание принял к исполнению ____________________
СОДЕРЖАНИЕ
1 Введение ...................................................................................................4
2 Конкретизация технического задания ...................................................4
3 Разработка функциональной схемы .......................................................4
4 Разработка схемы алгоритма прикладной программы .........................5
5 Разработка принципиальной схемы .......................................................7
6 Разработка управляющей программы ....................................................9
7 Заключение .............................................................................................10
Список использованных источников ......................................................11
Приложение А. Листинг управляющей программы ..............................12
ЗФ КП. ХХХХХХ.008 Э3 Плата микроконтроллера. Схема электрическая принципиальная……………......................................................19
ЗФ КП.ХХХХХХ.008 ПЭ3 Плата микроконтроллера. Перечень элементов..............................................................................................................20
1 ВВЕДЕНИЕ
Применение микропроцессорных средств позволяет строить универсальные устройства управления электронными весами, легко перестраиваемые на различные режимы его работы.
Анализ технического задания показывает, что проектируемое устройство должно выполнять две основные задачи:
а) позволять вводить цену продукта с клавиатуры;
б) обрабатывать и выводить значение цены, веса и стоимости расфасованного продукта;
При проектировании принято, что вес товара не превышает 1кг, а цена за килограмм и стоимость – 99р. 99коп..
2 КОНКРЕТИЗАЦИЯ ТЕХНИЧЕСКОГО ЗАДАНИЯ
Для электронных весов потребуются следующие внешние устройства:
- клавиатура с цифрами 0-9 и клавишей ввода, т.е. всего десять клавиш;
- 2 семисегментных индикаторов: 4 отображают вес с точностью до грамма, по 4 для отображения цены и стоимости товара.
- усилитель сигнала с датчика веса и АЦП для оцифровки данных.
При использовании микропроцессорного комплекта серии К580 устройство управления весами кроме центрального процессора (пять микросхем) должно включать в себя параллельный интерфейс, программируемый таймер, ПЗУ для хранения прикладной программы и ОЗУ для организации стека.
Предпочтительнее использование однокристальных микроконтроллеров, где все перечисленные устройства реализованы в одной микросхеме и требуется лишь один источник питания. Наиболее оптимальное решение получается при применении микроконтроллеров Atmel AVR с гибкой и развитой системой команд и множеством вспомогательных функций, среди которых присутствуют 8- и 16-разрядные таймеры и 10-разрядные АЦП. Кроме того, эти контроллеры изготовлены по технологии КМОП, что обеспечивает экономичное потребление тока.
3 РАЗРАБОТКА ФУНКЦИОНАЛЬНОЙ СХЕМЫ
На рисунке 3.1 приведена функциональная схема устройства управления электроннымим весами, выполненного на однокристальном микроконтроллере Atmega16.
В связи с достаточно большим количеством семисегментных индикаторов следует использовать схему динамической индикации. Для этого информационные входы семисегментных индикаторов подключены к выходам дешифратора К514ИД1, а общий вход каждого индикатора – к выходу 4-разрядного дешифратора К1564ИД5. На вход К514ИД1 от микроконтроллера подается код символа, на вход К1564ИД5 – код активного индикатора. Каждый индикатор должен активироваться с частотой не менее 40 Гц (частота, при которой мерцание индикаторов незаметно для глаз). Для отображения информации при таком подключении потребуется один порт, в данной схеме для этих целей выделен порт PC. Поскольку у дешифратора семисегментного индикатора управление запятой не предусмотрено, то для следует выделить еще один вывод микроконтроллера, в данном случае PD7.
Клавиатуру удобно построить в виде матрицы 34, для ее сканирования потребуется один порт, в данном случае PB.
Для оцифровки сигнала датчика используется вход микроконтроллера ADC0.
Для определения веса товара с точностью до грамма при максимальном весе 1кг требуется 10-ти разрядный АЦП, встроенный в микроконтроллер.
DB CCD CNTL
RD SHIFT
WR RL
CS
A0 SL
IRQ
CLK BD
RES OB,OA
Рисунок 3.1 – Функциональная схема контроллера
4 Разработка алгоритма управляющей программы
Вне зависимости от задач, выполняемых микроконтроллером, алгоритм управляющей программы, как правило, состоит из двух частей:
- начальная загрузка регистров и значений переменных, инициализация внешних устройств;
- бесконечный цикл, в котором обычно происходит опрос внешних сигналов и обновление информации как для внутренних регистров, так и для внешних устройств.
У электронных весов должно быть два режима работы: режим взвешивания и режим редактирования цены за единицу продукции. Чтобы их различать, введен специальный байт status. При сбросе весы должны находиться в режиме редактирования, контроллер в этом режиме, ожидает ввода значения цены или ее подтверждения путем нажатия клавиши ввода. В режиме взвешивания контроллер пересчитывает значение стоимости взвешенной продукции в зависимости от веса и цены.
Для отображения чисел на экране необходима специальная подпрограмма, преобразующая число в последовательность выводимых символов.
Рисунок 4.1 – Схема алгоритма прикладной программы
5 РАЗРАБОТКА СХЕМЫ ЭЛЕКТРИЧЕСКОЙ ПРИНЦИПИАЛЬНОЙ
Схема электрическая принципиальная полностью приведена в приложении.
При использовании контроллера Atmega16 фирмой-производителем рекомендовано использовать параллельно каждой паре выводов питания подсоединять помехозащищающий конденсатор емкостью не менее 1мкФ. На схеме эти конденсаторы обозначены C1 и C2, выбран тип К10-17–10В–1мкФ10%. Между линией RESET и плюсом питания подключается резистор с типовым значением 10 кОм (на схеме – R1), между линией RESET и минусом питания – конденсатор емкостью 1мкФ (на схеме – C4). Такая схема позволяет избежать ложного сброса микроконтроллера.
Параллельно линиям XTAL1 и XTAL2 подсоединяется кварцевый резонатор, частота которого для данного микроконтроллера обычно равна 16МГц. Между минусом питания и линиями XTAL1 и XTAL2 ставятся конденсаторы емкостью (20..30) пФ (на схеме – C3 и C5).
Для усиления сигнала с датчика веса следует применить измерительный усилитель. Схема такого устройства часто включает в себя несколько операционных усилителей, но может выпускаться в интегральном исполнении. В качестве измерительного усилителя выбрана микросхема INA128, которая в качестве дополнительных пассивных элементов требует только резистор для регулирования коэффициента усиления (на схеме – R2), определяемый по формуле:
, (5.1)
где K – требуемый коэффициент усиления.
Например, при K=100 рассчитанное по формуле значение RG равно 505 Ом, оно округляется до значения из ряда номиналов E6, равное 510 Ом. Лучше применять подстроечный резистор с целью калибровки коэффициента усиления.
В клавиатурной матрице опрашиваемые линии должны быть подтянуты к плюсу питания через резисторы, типовое значение которых равно 10кОм (на схеме – R4–R6).
Для отображения информации выбраны семисегментные индикаторы SA04-11 с общим анодом, каждый из которых потребляет максимальный ток 160мА, каждый сегмент потребляет ток Iсег=20мА. Сопротивление, ограничивающее ток линии PD7, рассчитывается по формуле:
, (5.2)
Округляя значение сопротивления до стандартного, получаем R3=130Ом.
Выход дешифратора К1564ИД5, разрешающий работу отдельно взятого индикатора, не обеспечивает такого тока, поэтому следует применить схему с усилительным каскадом, изображенную на рис. 5.1. Работа семисегментного индикатора разрешена, когда с выхода дешифратора приходит низкий уровень. При этом между базой и эмиттером транзистора подается смещение, задаваемое делителем напряжения, состоящим из резисторов R1 и R3, включенного параллельно с сопротивлением эмиттерного перехода со стороны базы. Резистор R2 ограничивает ток.
Рис. 5.1 – Схема согласования по току дешифратора с семисегментным индикатором.
Для данной схемы можно выбрать транзистор К501 с максимальным током коллектора 300мА.
Если принять ток через R3 равным току базы, то величина этого сопротивление определиться по формуле:
(5.3)
где – коэффициент передачи по току в схеме с общим эмиттером, для К501 можно принять равным 50;
Uбэ – напряжение, необходимое для открытия транзистора, обычно равно (0,8..0,9)В;
Iк – ток коллектора, в данном случае равен току, потребляемому индикатором;
Rбэ – сопротивление эмиттерного перехода со стороны базы.
.
Округляя значение сопротивления до стандартного, получаем R3=300Ом.
R1 рассчитывается по формуле:
, (5.4)
где Uп – напряжение питания.
Округляя значение сопротивления до стандартного, получаем R1=680Ом
R2 рассчитывается по формуле:
, (5.5)
где Uд – падение напряжение на индикаторе, равно 2,5В.
Выводы 4 микросхемы К514ИД1, 18 и 19 микросхемы К1564ИД5 подсоединяются к минусу питания для разрешения их работы.
Извне на устройство управления через разъем XP1 подаются: сигнал датчика, напряжение питания +5В, -5В (для усилителя), общий провод питания.
6 РАЗРАБОТКА УПРАВЛЯЮЩЕЙ ПРОГРАММЫ
Листинг управляющей программы приведен в приложении А.
Для отображения информации в памяти следует выделить 12 байт, в каждом из которых будет храниться код отображаемого символа. Подпрограмма преобразования числа в последовательность выполняет деление машинного слова на 10 с остатком, поэтому для нее необходимо 6 байт: по два для делимого, частного и остатка. Подпрограмма расчета стоимости выполняет умножение и деление слов, поэтому для нее необходимо выделить 8 временных регистров. При выделении регистровой памяти учтено, что регистры r0–r15 не могут использоваться в ряде команд, например, при сравнении. В оперативной памяти также следует выделить 10 ячеек под таблицу для расшифровки скан-кодов цифровых клавиш. Под вес, цену и стоимость в памяти выделяется по два байта.
После подачи сигнала сброса RESET производится начальная загрузка регистров, с помощью которых реализуется настройка портов ввода/вывода и оцифровка аналогового сигнала, а также инициализация таблицы рашифровки скан-кодов. После инициализации программа входит в бесконечный цикл. Опрос клавиатуры происходит путем поочередной установки в низкий уровень линий PB4–PB6 и чтения линий PB0–PB3. Далее скан-код клавиши распознается программно, под него выделен регистр r13. При выполнении процедуры ввода данных скан-код расшифровывается при помощи таблицы и конечное значение символа, введенного с клавиатуры, записывается в регистр r14.