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

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 24.12.2012
Размер файла 552,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

2

Содержание

Введение

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

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

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

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

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

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

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

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

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

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

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

Заключение

Литература

Приложение

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 - смещение.

if(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--;} //движение //назад по Х

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

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

}

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

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

}

UART 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.

}

void 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, изучены основные принципы действия шаговых двигателей и приобретены навыки программирования однокристальных контроллеров.

Приложение

Размещено на Allbest.ru


Подобные документы

  • Главный элемент матричного принтера. Синхронное взаимодействие всех механизмов принтера. Двухсторонний обмен информацией с ПК, хранение и проведение необходимых преобразований информации, формирование управляющих сигналов на рабочие органы принтера.

    контрольная работа [135,8 K], добавлен 06.09.2011

  • Технические характеристики и принцип работы принтера "Epson Lx 350". Принцип работы устройства по структурной схеме. Выбор и инсталляция операционной системы и драйверов. Диагностика матричного принтера, возможные неисправности и способы их устранения.

    курсовая работа [100,4 K], добавлен 07.12.2015

  • Ознакомление с приемами управления работой печатающих устройств в MS-DOS. Формирование новых символов для матричного принтера, разработка команд загрузки символов в оперативную память принтера и программы, реализующей процесс печати заданных символов.

    курсовая работа [1,2 M], добавлен 22.06.2011

  • Основные компоненты и принцип работы простейшего 3D принтера, построенного на основе картезианского робота. Мониторинг первого российского 3D принтера второго поколения PrintBox3D One. Установка программного обеспечения Repetier-Host и его настройка.

    курсовая работа [4,9 M], добавлен 25.08.2015

  • Подсистема управления процессами и потоками вычислительной системы. Формирование новых символов для матричного принтера, разработка команд для загрузки символов в оперативную память принтера и программы, реализующей процесс печати заданных символов.

    курсовая работа [201,1 K], добавлен 23.06.2011

  • Классификация принтеров по методу нанесения изображения печатных знаков. Принцип действия матричных принтеров. Последовательные и параллельные матричные принтеры. Характеристики матричного ударного принтера: обзор моделей. Рекомендации по выбору принтера.

    реферат [167,2 K], добавлен 14.11.2009

  • Исследование приемов управления работой печатающих устройств в MS-DOS. Изучение принципа действия матричного принтера, механизма печати литер, команд, позволяющих осуществить вывод символов на печать. Анализ реализации программных кодов на языке BASIC.

    курсовая работа [825,7 K], добавлен 23.06.2011

  • Понятие памяти, функции ОC по управлению работой печатающих уcтройcтв в MS-DOS. Формирование новых cимволов для матричного принтера, разработка команд для загрузки cимволов в оперативную память принтера и программы, реализующей заданный процеcc печати.

    курсовая работа [2,6 M], добавлен 24.06.2011

  • Принцип действия лазерного принтера. Особенности конструкции LaserJet III. Блок-схема лазерного принтера. Обслуживание лазерных принтеров и уход за ним. Диагностика неисправностей и ремонт лазерного принтера. Аппаратные неисправности принтера LaserJet III

    курсовая работа [282,9 K], добавлен 26.12.2007

  • Изучение программного обеспечения для создания и воспроизведения презентаций. Обоснование выбранной программы. Разработка презентации средствами PowerPoint на тему: "Эксплуатация цветного принтера". Работа с текстом и рисунком. Анимация и показ слайдов.

    курсовая работа [4,0 M], добавлен 10.02.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.