Принципиальная схема и программное обеспечение для робота, управляемого источником света

 

Введение


Создание микропроцессора явилось следствием развития и совершенствования технологии производства интегральных схем. Повышение степени интеграции микросхем привело к закономерному этапу в развитии вычислительной техники - реализации архитектуры ЭВМ на одной интегральной схеме.

Способность к программированию последовательности выполняемых функций, т.е. способность работать по заданной программе, является основным отличием микропроцессора от элементов «жесткой» логики. Аппаратные средства микропроцессора повторяют структуру процессора ЭВМ и включают: арифметико-логическое устройство, устройство управления, память. Микропроцессор может состоять из одной или нескольких интегральных схем.

Основными причинами широкого использования микропроцессорных систем в технике являются:

·Использование в микропроцессорных системах цифрового способа представления информации, позволяющего значительно повысить помехоустойчивость создаваемых на базе устройств, обеспечить простоту передачи и преобразования информации;

·Применение программного способа обработки информации, позволяющего создавать в значительной степени унифицированные технические средства, отличающиеся практически лишь содержимым запоминающего устройства и специфическими устройствами ввода/вывода информации;

·Компактность, высокая надежность и низкая потребляемая мощность микропроцессорных средств, обеспечивающих возможность расположения управляющих устройств, созданных на их основе, в непосредственной близости с управляемым оборудованием, а иногда и встроенных в них;

·Относительно низкая стоимость микропроцессорных средств.

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



. Постановка задачи


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

Алгоритм действия робота должен быть следующим:

Робот должен находиться в темной комнате. Если присутствует источник света, робот должен определить с какой стороны он светит, повернуться в его сторону и двигаться по направлении к нему. В случае отсутствия источника света, робот должен просто стоять на месте, ничего не выполняя.


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



. Выбор микроконтроллера

микропроцессорный цифровой робот фотодатчик

Микроконтроллеры с системой команд и архитектурой MCS-51 широко распространены, множество фирм выпускает их модификацию и программное обеспечение для них. Выпускает такие микроконтроллеры и фирма Atmel. В данном курсовом проекте был выбран микроконтроллер AT89C4051. Именно этот микроконтроллер наиболее хорошо известен разработчикам и является популярным средством управления в устройствах самого широкого круга. Имеется множество эмуляторов, отладчиков и программаторов микросхем AT89C4051, поэтому с разработкой программного обеспечения нет никаких трудностей.C4051 является низковольтным быстродействующим 8-битным микроконтроллером с 4 Кбайт программируемой и стираемой флэш-памятью и 128 байт ОЗУ. Микроконтроллер имеет два универсальных программируемых параллельных 8-разрядных порта ввода-вывода с возможностью реализации определенных альтернативных функций.

Набор аппаратных средств и совокупность реализуемых функций делают микроконтроллер AT89C4051 эффективным средством сбора, обработки информации и управления объектами.

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



. Структура микроконтроллера


Рис. 3.1 Структура микроконтроллера AT89C4051



Рис. 3.2 Микросхема AT89C4051 и функции выводов


Назначение выводов микроконтроллера:

RST - Сигнал общего сброса;

P1.0-P1.7 - 8-разрядный двунаправленный порт ввода/вывода Р1;

P3.0-P3.7 - 8-разрядный двунаправленный порт ввода/вывода P3 c дополнительными функциями:- Последовательные данные приемника;- Последовательные данные передатчика ;- Вход внешнего прерывания 0;- Вход внешнего прерывания 1;- Вход таймера/счетчика 0;- Вход таймера/счетчика 1;

XTAL2-XTAL1 - Выводы для подключения кварцевого резонатора;- общий вывод (земля);- Напряжение питания +5v;



4. Схема робота


.1. Принципиальная схема и принцип её работы


Принципиальная схема (Рис. 4.1.1) управляет роботом. Она позволяет найти роботу источник сета и двигаться по направлении к нему. В движение робот приводится двумя электродвигателями постоянного тока, каждый двигатель вращает отдельное колесо (левое и правое, у робота их всего два), что позволяет роботу двигаться и поворачивать. Конструкция робота имеет 6 фототранзисторов для определения источника света, благодаря этому робот имеет угол обзора в 360 градусов.

Схема робота имеет следующие элементы:

конденсаторы:

С1 - 1000 мкФ, электролитический;

C2 - 0,1 мкФ, керамический;

С3, С4 - 22 мкФ, керамические;

резисторы:

R1 - 330 Ом;

R2 - 10 кОм;

R11 … R16 - 300 Ом;

R21 … R26 - 10 кОм, подстроечные;

фототранзисторы:

VT1 … VT6 - L32P3C;

светодиод: LED - красный;

кварц: ZQ - 4 МГц;

стабилизатор: LM7805;

кнопка сброса: SA;


Рис. 4.1.1 Принципиальная схема на мк для управления роботом


электродвигатели: M1, M2 - DC 9V EG-530YD-9B;

микроконтроллер: Atmel AT89C4051;

драйвер двигателей: L283D.

Схема питается от напряжения Vbat. В качестве источника питания можно использовать батарейку крона 9V. Чтобы сгладить возможные броски напряжения питания параллельно питающим линиям подключен электролитический конденсатор C1, который дополняет керамический конденсатор C2, для фильтрации высокочастотных и среднечастотных помех. Т.к. источник питания 9V, а для схемы требуется 5V, то используется пятивольтный стабилизатор напряжения 7805. Светодиод LED показывает наличие питания в схеме.

Чтобы защитить микроконтроллер от случайного сброса, на линию RESET подается сигнал высокого уровня 5V через резистор R2, также это выполняет сброс микроконтроллера при подачи питания. Для осуществления принудительного сброса микроконтроллера используется кнопка SA.

В качестве светодатчиков используются фототранзисторы VT1…VT6, с которых сигналы поступают на микроконтроллер. На фототранзисторы подается напряжение 5V через резисторы R11…R16. Чтобы датчики не реагировали на слишком слабый свет к ним подключаются подстроечные резисторы R21…R26, они позволяют настроить чувствительность датчиков. Номинал этих резисторов настраивается экспериментальным путём в зависимости от того насколько ярким будет источник света, на который реагирует робот, и с какого расстояния робот должен заметить его.

Сигналы с шести фотодатчиков поступают на микроконтроллер в порт P3: P3.0…P3.5. Обработав сигналы с датчиков, микроконтроллер посылает сигналы на драйвер двигателей через порт P1: P1.4…P1.7. Тактовую частоту микроконтроллеру задает кварцевый резонатор ZQ на частоту 4 МГц.

Сигналы с микроконтроллера идут на входы input1, input2, input3, input4 драйвера двигателей. Электродвигатели M1 и M2 подключаются к драйверу через выходы output1, output2 и output3, output4. Сам драйвер питается от напряжения 5V, а двигатели питаются от напряжения Vm=9V, в качестве источника питания для двигателей используется батарейка крона 9V.


.2. Устройство и функции некоторых элементов схемы


Драйвер двигателей L293D


Рис. 4.2.1 Структурная схема L293D


Входы ENABLE1 и ENABLE2 отвечают за включение каждого из драйверов, входящих в состав микросхемы. Входы INPUT1 и INPUT2 управляют двигателем, подключенным к выходам OUTPUT1 и OUTPUT2. Входы INPUT3 и INPUT4 управляют двигателем, подключенным к выходам OUTPUT3 и OUTPUT4. Контакт Vs соединяют с положительным полюсом источника электропитания двигателей, этот контакт отвечает за питание электродвигателей. Контакт Vss соединяют с положительным полюсом источника питания, этот контакт обеспечивает питание самой микросхемы. Четыре контакта GND соединяют с "землей".D содержит сразу два драйвера для управления электродвигателями небольшой мощности. L293D обеспечивает разделение электропитания для микросхемы и для управляемых ею двигателей, что позволяет подключить электродвигатели с большим напряжением питания, чем у микросхемы.

Характеристики микросхемы L293D :

напряжение питания двигателей (Vs) - 4,5...36V;

напряжение питания микросхемы (Vss) - 5V;

допустимый ток нагрузки - 600mA (на каждый канал);

пиковый (максимальный) ток на выходе - 1,2A (на каждый канал);

логический "0" входного напряжения - до 1,5V;

логическая "1" входного напряжения - 2,3...7V.

Стабилизатор напряжения LM7805

Характеристики LM7805:

корпус: TO-220-3;

рабочая температура: -40°C ~ 125°C;

ток выходной: 1A;

напряжение - падение (Typ.): 2V @ 1A;

напряжение входное: до 35V;

напряжение выходное: 5V.

Электродвигатель DC 9V EG-530YD-9B

Характеристики EG-530YD-9B:

диапазон напряжения: 6.3~11.7 В;

номинальное напряжение: 9 В;

ток: 0.98 А;

скорость вращения: 4000 об/мин;

крутящий момент: 50 г/см;

выходная мощность: 0.78 Вт;

КПД: 60 %.


. Устройство и принцип действия робота


Робот имеет 6 светодатчиков состоящих из фототранзисторов VT1-VT6 (Рис 4.1.1). Они расположены по периметру робота, что дает область определения света на 360 градусов. На рисунке 5.1 линиями указаны области определения источника света для каждого датчика. Светодатчики 1 и 2 определяют источник света, находящийся спереди робота, перегородка между ними используется, чтобы сузить ту область нахождения источника света, при которой робот поедет прямо.


Рис. 5.1 Структура робота и области действия фотодатчиков


Для передвижения робот использует два колеса, которые приводятся в действие электродвигателями M1 и M2 (Рис 4.1.1). Вся электроника и источники питания робота расположены в его корпусе.


Принцип работы робота следующий: если свет падает на:

датчик 1 - робот поворачивает влево, вращая левое колесо вперёд;

датчик 2 - робот поворачивает вправо, вращая правое колесо вперёд;

датчики 1 и 2 - робот едет вперёд, вращаются оба колеса вперёд;

датчики 3 и (или) 4 - робот разворачивается против часовой стрелки, правое колесо вращается вперёд, левое назад;

датчики 5 и (или) 6 - робот разворачивается по часовой стрелки, левое колесо вращается вперёд, правое назад.

На основе таких принципов робот управляется источником света. Например, если источник света будет слева от робота, то он повернётся в его сторону и поедет прямо к нему. Если вдруг будут освещены все датчики, то робот будет двигаться вперёд, а если света совсем не будет, то робот будет стоять на месте.



. Описание программы


Программа управляет роботом следующим образом: считываются данные с порта P3, на который поступают сигналы с датчиков света, эти данные анализируются, и затем посылаются сигналы управления двигателями в порт P1, к которому подключен драйвер двигателей.

В таблице 1 указано какие значения программа посылает в порт P1 в зависимости от данных с порта P3 и какие действия при этом выполнит робот. 1 - это сигнал высокого уровня, 0 - сигнал низкого уровня, х - любое значение (1 или 0). Т.к. входы микроконтроллера P3.6 и P3.7 не используются то программа не учитывает с них значения, выходы P1.0 - P1.3 также не используются, поэтому на них посылаются значения 0.


Таблица 1

Порт P3Порт P1Движение роботаxx000000b00000000bстопxxxxxx11b01010000bвперёдхxxxxх10b01000000bповорот влевоxxxxxx01b00010000bповорот вправоxxxx0100b xxxx1000b xxxx1100b 00110000bвращение против часовой стрелкиxx010000b xx100000b xx110000b 11000000bВращение по часовой стрелки

При запуске программы сначала идёт настройка микроконтроллера на нужный режим, далее в регистр P1 посылается константа 00000000b, чтобы робот сначала стоял на месте, затем записываются все 6 констант для управления двигателями в регистры R0-R5. Потом начинается цикл, в котором посылается константа из регистров R0-R5 в регистр P1. Значение константы


выбирается в зависимости от значения данных с регистра P3 согласно таблице 1. Программа определяет данные с регистра P3 на каждом цикле.

Весь алгоритм работы программы указан в блок-схеме на рисунке 6.1.


Рис. 6.1 Блок-схема программы



Заключение


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

Принципиальная схема получилась довольно простой, но в тоже время функциональной за счёт использования в ней микроконтроллера AT89C4051 и драйвера двигателей L293D, что также значительно упростило схему. В схему входят недорогие и распространённые компоненты, это упростит процесс её реализации.

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

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


Список литературы


1.В.В. Сташин, А.В. Урусов, О.Ф. Мологонцева Проектирование цифровых устройств на однокристальных микроконтроллерах. - М.: издательство «Энергоатомиздат», 1990. - 224 с.

.Сединин В.И., Микушин А.В. Программирование микропроцессорных систем на языке ASM-51.- М.: издательство «Радио и связь», 2003. - 331 с

.Фрунзе А.В. Микроконтроллеры? Это же просто. - М: ООО «ИД СКИМЕН», 2002. - 336 с.

.Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики. - М: издательство «ЭКОМ», 2002. - 400 с.



Приложение 1. Текст программы

0h

jmp begin

org 0Bh:A,#0 P1,A ;стоять на месте

;команды управления двигателями

mov R0,#00000000b ;оба колеса не вращаются

mov R1,#01010000b ;оба колеса вращаются вперёд

mov R2,#01000000b ;левое колесо вращается вперёд, правое стоит

mov R3,#00010000b ;правое колесо вращается вперёд, левое стоит

mov R4,#00110000b ;правое вперёд, левое назад

mov R5,#11000000b ;левое вперёд, правое назад

START: ;начало цикла

jnb P3.0,m1 ;если с VT1 нет сигнала, то переход

jnb P3.1 m2 ;если с VT2 нет сигнала, то переход

mov A,R1 ;если сигнал с VT1 и VT2, то

mov P1,A ;движение вперёд

jmp START

m1:

jnb P3.1,m3 ;если с VT2 нет сигнала, то переход

mov A,R2

mov P1,A ;поворот направо

jmp START:A,R3 P1,A ;поворот налево

jmp START

m3:

jb P3.2,m4 ;если есть сигнал с VT3, то переход

jb P3.3,m4 ;если есть сигнал с VT4, то переход

jb P3.4,m5 ;если есть сигнал с VT5, то переход

jb P3.5,m5 ;если есть сигнал с VT6, то переход

mov A,R0 ;если нет сигналов ни с одного датчика, то

mov P1,A ;стоятьSTART:A,R4P1,A ;разворот влевоSTART:A,R5P1,A ;разворот вправоSTART


Приложение 2. Листинг программы

MACRO ASSEMBLER ROBOTMK 05/30/;4 PAGE 15.0 (038-N) MCS-51 MACRO ASSEMBLER, V2.3MODULE PLACED IN C:\SHELL\ROBOTMK.OBJINVOKED BY: C:\SHELL\ASM51.EXE C:\SHELL\ROBOTMK.ASMOBJ LINE SOURCE

1 org 0h

02000B 2 jmp begin

B 3 org 0Bh

begin:


7400 11 mov A,#0

B F590 12 mov P1,A

D 7800 13 mov R0,#00000000b

F 7950 14 mov R1,#01010000b

7A40 15 mov R2,#01000000b

7B10 16 mov R3,#00010000b

7CC0 17 mov R4,#11000000b

7D30 18 mov R5,#00110000b


START:

30B008 21 jnb P3.0,m1

C 30B10D 22 jnb P3.1, m2

F E9 23 mov A,R1

F590 24 mov P1,A

80F5 25 jmp START


m1:

30B10A 28 jnb P3.1,m3

EA 29 mov A,R2

F590 30 mov P1,A

A 80ED 31 jmp START


m2:

C EB 34 mov A,R3

D F590 35 mov P1,A

F 80E8 36 jmp START


m3:

20B20E 39 jb P3.2,m4

20B30B 40 jb P3.3,m4

20B40D 41 jb P3.4,m5

A 20B50A 42 jb P3.5,m5

D E8 43 mov A,R0

E F590 44 mov P1,A

80D7 45 jmp START


m4:

EC 48 mov A,R4

F590 49 mov P1,A

80D2 50 jmp STARTMACRO ASSEMBLER ROBOTMK 05/30/;4 PAGE 2OBJ LINE SOURCE


m5:

ED 53 mov A,R5

F590 54 mov P1,A

A 80CD 55 jmp START


endMACRO ASSEMBLER ROBOTMK 05/30/;4 PAGE 3TABLE LISTING

----- ----- -------A M E T Y P E V A L U E A T T R I B U T E S. . . C ADDR 000BH A. . . . C ADDR 0034H A. . . . C ADDR 003CH A. . . . C ADDR 0041H A. . . . C ADDR 0052H A. . . . C ADDR 0057H A. . . . D ADDR 0090H A. . . . D ADDR 00B0H A. . . D ADDR 0098H A. . . C ADDR 0029H A. . . . D ADDR 008DH A. . . D ADDR 0089H A. . . . B ADDR 0088H.6 ABANK(S) USED: 0COMPLETE, NO ERRORS FOUND


Введение Создание микропроцессора явилось следствием развития и совершенствования технологии производства интегральных схем. Повышение степени интеграции

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

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

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

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

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