Проектирование автоматической системы взвешивания вагонов в статике

Рис. 2.6. Микроконтроллер INTEL MCS-8051

2.7 Передача информации через последовательный порт.

Рис. 2.7.

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

ера последовательного интерфйса RS232A.

Главная функция устройства RS232A - согласование напряжения между устройствами. Дело в том, что напряжения логической единицы и нуля для микроконтроллера и компьютерного COM - порта различаются по уровням и полярности напряжений.

Табл.2.5.

Логический Уровень

Уровень напряжения для МК

Уровень напряжения для COM

0

0 . 0.4

+12V

1

4.75 . 5.25

- 12V

Напряжение питания для RS232A - 5V.

Напряжение питания преобразовывается до уровня ±12V. Затем в зависимости от того, какой логический уровень пришел на вход драйвера, ключи подключают к выходу напряжение необходимой полярности в соответствии с таблицей 2.7. Также, драйвер RS232A выполняет некоторые дополнительные функции - защищта от статического электричества, гальваническая развязка и т.д.

Следуя руководству по эксплуатации данного драйвера необходимо, чтобы номиналы всех конденсаторов С1 - С4 были равны. Причем для RS232A С1 - С4 равно 0.1 mF.

Конденсатор Сst выбираем 10 mF. Он служит для сглаживания случайных скачков напряжения питания RS232A.

2.8 Настройка контроллера на работу с последовательным портом

В данном микроконтроллере INTEL MCS-8051 есть специальные выводы RxD и TxD - линии, соответственно ввода и вывода информации, представленной в последовательном коде. Прием или передача информации программой осуществляется с помощью регистра SBUF.

Архитектура контроллера следующая. При передаче информации через последовательный порт в регистре SCON устанавливается флаг Т1,а при приеме информации - флаг R1. В регистре РCON находится бит SMOD, установка которого означает работу с удвоением частоты.

Для установки скорости передачи по последовательному порту необходимо записать в регистр счетчика TH1 и TL1 число N, определяемое по следующей формуле:

В этой формуле Fosc - частота резонатора (кварца)

SMOD - бит удвоения частоты

BR - Baud Rate, скорость передачи данных.

В нашем случае мы работаем без удвоения частоты, т.е. SMOD=0.

Частота резонатора Fosc = 8 MHz.

Скорость передачи данных BR = 300 Бод.

Формат посылки изображен на рисунке 2.8.

Рис. 2.8.

3. Программирование микроконтроллера

Программа для микроконтроллера состоит из трех основных блоков:

1. Предварительная установка. Запускается по RESET или при включении питания микроконтроллера.

2. Измерение веса (считывания кодов с АЦП, обрабатывающего последовательно 8 аналоговых каналов). Запускается по сигналу INT0, соответствующему сигналу готовности данных на выходе микросхемы аналого-цифрового преобразователя.

3. Вывод информации на компьютер. Запускается по вызову из подпрограмм измерения веса или обработки последовательного порта (по получению управляющего сигнала с компьютера).

4. Калибровка. Считывание кодов с АЦП, обрабатывающего последовательно 8 аналоговых каналов. Причем полученный код считается соответствующим нулевому весу. Данные значения будут вычитаться в последствии из кода, полученного при измерении веса вагона. Запускается по сигналу INT1, соответствующему сигналу готовности данных на выходе микросхемы аналого-цифрового преобразователя.

3.1 Блок-схема предустановок (настроек)

3.2 Блок-схема измерения веса

3.3 Блок-схема вывода информации о весе в компьютер

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

3.4 Блок-схема автоматической калибровки

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

Калибровка должна производиться при отсутствии грузов (вагона и т.п.) на измерительной площадке.

3.5 Управление микроконтроллером с компьютера

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

Таблица 3.5.

Управляющее слово

Действия, производимые устройством по УС

00111100

Обнуление ячеек памяти, содержащих смещение и результат преобразования.

11110000

Преобразование и передача в компьютер кода, соответствующего весу.

00001111

Передача в компьютер кода, соответствующего весу измеряемого вагона.

11111111

Калибровка устройства.

При необходимости, этот список можно дополнить. Всего возможно запрограммировать 256 действий.

3.5 Программа на ассемблере для микроконтроллера

;R0-@ адрес получаемого кода 32-47

;R1-@ адрес смещения 52-67

;R4-счетчик задержки для АЦП

;R5-MUX 1-8

;R6-# младший байт кода 32,34-46

;R7-# старший байт кода 33,35-47

;PSW.1 - программируемый бит: 0 - взвешивание, 1 - калибровка.

Страница:  1  2  3  4  5 


Другие рефераты на тему «Коммуникации, связь и радиоэлектроника»:

Поиск рефератов

Последние рефераты раздела

Copyright © 2010-2024 - www.refsru.com - рефераты, курсовые и дипломные работы