Устройство матричного принтера

 

Содержание


Введение

. Техническое задание

.1 Параметры устройства

.2 Описание и анализ функций, выполняемых МПС устройства

.3 Выбор микропроцессора

. Принцип действия устройства

.1 Функциональная схема

.2 Принципиальная схема

.3 Описание элементов схемы

. Программное обеспечение МПС

.1 Алгоритм работы программы

.2 Листинг программы

Заключение

Литература

Приложение



Введение


Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.

Использование микроэлектронных средств в изделиях производственного и культурно-бытового назначения приводит не только к повышению технико-экономических показателей изделия (стоимости, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть сроки «морального старения» изделий, но придает им принципиально новые потребительские качества (расширенные функциональные возможности, модифицируемость, адаптивность и т.д.).

За последние годы микроэлектроники бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров (ОМК), которые предназначены для «интеллектуализации» оборудования различного назначения. ОМК представляют собой приборы, конструктивно выполненные в виде БИС, и включающие в себя все составные части «голой» микроЭВМ: микропроцессор, память программы, память данных, также программируемые интерфейсные схемы для связи с внешней средой. Использование микроконтроллеров в системах управления обеспечивает достижение исключительно высоких показателей эффективности при столь низкой стоимости (во многих применениях система может состоять только из одной БИС микроконтроллера), что микроконтроллерам, видимо, нет разумной альтернативной базы для построения управляющих и / или регулирующих систем. К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно ОМК.

1.Техническое задание


1.1 Параметры устройства

микроконтроллер головка матричный принтер

В данном курсовом проекте поставлена задача разработать блок управления шаговыми двигателями и печатающей головкой простого матричного принтера.

В качестве канала связи с компьютером предполагается использовать стандартный LPT порт компьютера. Но для связи с компьютером используются только 8 линий данных и 2 линии синхронизации, что достаточно для простейшего принтера.

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

При разработке курсового проекта необходимо также разработать не только схему контроллера но и согласованную систему силовых ключей для шаговых двигателей с напряжением питания 3..7В.


.2 Описание и анализ функций, выполняемых МПС устройством


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



1.3 Выбор микропроцессора и его обоснование


Мной был выбран контроллер 51 серии AT89C51

Основанием для выбора данного микроконтроллера послужили то что он полностью удовлетворяет моим требованиям по следующим техническим характеристикам:

-наличие достаточного количества портов ввода-вывода(32линии);

-наличие встроенного последовательного порта;

-наличие трех таймеров счетчиков.

-тактовая частота 24МГц

-объем памяти программ 4Кб

объем ОЗУ 258байт

две линии внешних прерываний.

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



2. Принцип действия устройства


.1 Функциональная схема


Функциональная схема устройства приведена на рис.1

Рисунок 1. Функциональная схема устройства.


Загружаемые через параллельный порт данные позволяют управлять положением печатающей головки и включать и выключать нужные иголки печатающей головки для выполнения графической печати.


2.2 Принципиальная схема


Принципиальная схема приведена на чертеже.

Сперва микроконтроллер производит инициализацию устройства, путем прогонки головки принтера до крайнего положения с которого начинается последющая печать о отсчет позиций, который отмечается замыканием геркона при подходе магнита расположенного на печатающей головке.. После процедуры инициализации микроконтроллер DD2 принимает от ЭВМ данные положения головки. Для согласования уровней ТТЛ и СОМ-порта служит микросхема DD1, которая при помощи встроенных преобразователей уровня и конденсаторов С1, С2, С4, С5 осуществляет преобразование. Конденсатор С3 включен для фильтрации помех по питанию. Если принятые координаты больше фактических, то они принимают значение существующих. Управление шаговыми двигателями производится с порта Р1. При появлении лог.1 на выходе порта открываются транзисторы VT5-VT8 для М1 и VT13-VT16 для М2, которые подключают обмотки двигателя к общему проводу, а при появлении лог.0 открываются транзисторы VT1-VT4 и VT9-VT13 соответственно, которые подключают обмотки двигателя к шине питания +5В. Для нормальной работы двигателей на их обмотки необходимо подавать прямоугольные импульсы в особой последовательности. Диаграммы напряжений на выходах порта и на обмотках двигателя для М1 представлены на рис.2.


Рисунок 2. Диаграммы напряжений.


2.3 Описание элементов схемы.


Микросхема DD1 - преобразователь уровня ТТЛ - СОМ-порт, необходима для согласования электрических уровней микроконтроллера и COM-порта компьютера. Уровень логического нуля и единицы у микроконтроллера равны 0 и 5В, а у COM-порта компьютера +12В и -12В соответственно. Микросхема питается напряжением +5В, а напряжения ±12В она генерирует с помощью встроенных преобразователей напряжения

Микросхема DD2 - Temic 80C51 - однокристальный 8-ми разрядный микроконтроллер, он имеет следующие аппаратные особенности:

·внутреннее ОЗУ объемом 128 байт;

·внутренне ПЗУ памяти программ, 4 кБ

·четыре двунаправленных побитно настраиваемых восьмиразрядных порта ввода-вывода;

·два 16-разрядных таймера-счетчика;

·встроенный тактовый генератор;

·адресация 64 КБайт памяти программ и 64 Кбайт памяти данных;

·две линии запросов на прерывание от внешних устройств;

·интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами.

Шаговый двигатель М1 FMD02700B4 - имеет следующие характеристики:

·производитель - Mitsumi

·напряжение питания - 3…7.5В

·ток потребляемый двигателем - 150мА;

·сопротивление обмоток - 48 Ом;

·максимальная частота вращения - 6500 об/мин

·количество шагов - 48

·угол одного шага - 7.5о

3. Программное обеспечение МПС


3.1 Алгоритм работы программы


Алгоритм работы основной программы приведен на рис.3.


Рисунок 3. Общий алгоритм работы программы.


При включении контроллера происходит его инициализация, в которой задаётся частота переполнения таймера Т/С0, определятся скорость обмена информацией через УАПП, устанавливаются приоритеты прерываний. После этого контроллер переходит в режим холостого хода. Выход из этого режима происходит при возникновении любого прерывания.

Алгоритм подпрограммы обработки прерывания от Т/С0 представлен на рис. 4.

При возникновении прерывания от Т/С0 контроллер выводит в порт Р1 очередную комбинацию нулей и единиц для шагового двигателя.


Рисунок 4.1. Алгоритм подпрограммы обработки прерывания от Т/С0.


Рисунок 4.2. Алгоритм подпрограммы обработки прерывания от Т/С0.


Алгоритм подпрограммы обработки прерывания от УАПП представлен на рис. 5.

При возникновении прерывания от УАПП микроконтроллер принимает координаты положения головки.


Рисунок 5. Алгоритм подпрограммы обработки прерывания от УАПП.


Участок А-В повторяется для Y перед запуском T/C0. За направление движения по Y отвечает флаг F1.


3.2 Листинг программы


#include <reg51.h>

short chx=0, chy=0, yy=0, xx=0, Gx=0, Gy=0, i,j;

//chx, chy - количество позиций(вычисляется при инициализации)

//xx,yy - текущая позиция

//Gx, Gy - смещение.

//i,j - для пошагового управления двигателями.

Inte0 interrupt 0

{EX0 =0; if(EX1==0) IE=0x96;} //сброс разрешения на это прерывание, если уже /*произошла инициализация по другой оси, разрешаем ввод информации с UART.

Inte1 interrupt 2

{EX1 =0; if(EX0==0) IE=0x96;}

Timer0 interrupt 1

{short smh;//smh - смещение.(EX0){if(i==8) then i=1; else i=i*2; chx++;xx++;} //оператор инициализации /* - двигает головку по х пока не произошло замыкание герконового контакта и запоминает число позиций.*/

if(EX1){if(j==8) then j=1; else j=j*2; chy++;yy++;} // выполняет аналогичные //действия по у.

if(!EX1&&!EX0) //если произошла инициализация обоих осей.

{if(F0&&Gx!=0) {if(i==8) then i=1; else i=i*2; Gx--;xx++;}//движение //вперед по Х пока смешение имеет ненулевое значение(во всех 4 случаях)

if(!F0&&Gx!=0) {if(i==1) then i=8; else i=i/2; Gx++;xx--;} //движение //назад по Х(F1&&Gx!=0) {if(j==8) then j=1; else j=j*2; Gy--;yy++;} //движение //вперед по Y(!F1&&Gx!=0) {if(j==1) then j=8; else j=j/2; Gy++;yy--;}//движение //назад по Y

}

cmh=j*0x10+i;//формирование позиций двигателей

P1=cmh;// передача их в порт.

} interrupt 4

{short x,y;

TR0=0;// остановка Т/С0

If(SBUF==0xff) //если принятое число равно 0xFF,(для возбуждения прерывания.)

{While(!RI); x=SBUF; RI=0; //1)ждём следующий байт.2)прием Х. 3)сброс //бита готовности приёма.

While(!RI); y=SBUF; RI=0;} //аналогично.

if(x>chx) x=chx; if(x<0) x=0; //защита от ошибок ввода.

Gx=x-xx; if(Gx<0) then F0=0; else F0=1; //вычисление смещения и //направления.

if(y>chy) y=chy; if(y<0) y=0; //аналогично для Y

Gy=y-yy; if(Gy<0) then F1=0; else F1=1;

TR0=1;//запуск T0/C.

}main()

{short n;//для считывания с порта.

EX1=1; EX0=1; //Разрешение внешних прерываний

N=P1; i=N&&0x0f; j=N&&0xF0; j=j/0x10;

TMOD=0x22;//режимы таймеров T0/c-2, T1/C-2.

TH0=0xf3; TL0=0xf3;// частота вращения двигателя 3000 об/мин = 50 об/сек. //48 шагов * 50 об/сек = 2400 шагов/сек

TH1=0xf3; TL1=0xf3;// счётчик1 - генератор частоты. обмен с ЭВМ - 2400 Бод

SCON=0x40// 8 бит UART таймер2/32*2 (второй режим управления скоростью)

TR0=1;//запускаем таймеры

TR1=1;

IT0=1; IT1=1;//выставляем внешнее прерывание по фронту(0,2 биты TCON).

IE=0x8f;//разрешение прерываний и конкретно от таймеров и внешних.

F0=F1=1;//выставляем направление осей для инициализации вперед.

While(1);

}



Заключение


При выполнении данной курсовой работы был изучен однокристальный микроконтроллер Temic 80C51, изучены основные принципы действия шаговых двигателей и приобретены навыки программирования однокристальных контроллеров.



Приложение



Содержание Введение . Техническое задание .1 Параметры устройства .2 Описание и анализ функций, выполняемых МПС устройства .3 Выбор микропроц

Больше работ по теме:

КОНТАКТНЫЙ EMAIL: [email protected]

Скачать реферат © 2017 | Пользовательское соглашение

Скачать      Реферат

ПРОФЕССИОНАЛЬНАЯ ПОМОЩЬ СТУДЕНТАМ