СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

37
СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91 С УГЛУБЛЁННЫМ ИЗУЧЕНИЕМ ОТДЕЛЬНЫХ ПРЕДМЕТОВ НАУЧНО-ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА ПО ИНФОРМАТИКЕ ДЕМОНСТРАЦИОННОЕ ПОЛУАВТОНОМНОЕ УСТРОЙСТВО Выполнили: АРТЕМЬЕВ ВЛАДИМИР СКРИБЛОВСКИЙ ИЛЬЯ ученики 11 ПТ класса школы № 91 Научный руководитель : МИТИН РОМАН ОЛЕГОВИЧ

Upload: jessie

Post on 21-Jan-2016

80 views

Category:

Documents


0 download

DESCRIPTION

СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91. С УГЛУБЛЁННЫМ ИЗУЧЕНИЕМ ОТДЕЛЬНЫХ ПРЕДМЕТОВ. НАУЧНО-ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА ПО ИНФОРМАТИКЕ. ДЕМОНСТРАЦИОННОЕ. ПОЛУАВТОНОМНОЕ УСТРОЙСТВО. Выполнили:АРТЕМЬЕВ ВЛАДИМИР. СКРИБЛОВСКИЙ ИЛЬЯ. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91С УГЛУБЛЁННЫМ ИЗУЧЕНИЕМ ОТДЕЛЬНЫХ ПРЕДМЕТОВ

НАУЧНО-ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА ПО ИНФОРМАТИКЕ

ДЕМОНСТРАЦИОННОЕПОЛУАВТОНОМНОЕ УСТРОЙСТВО

Выполнили: АРТЕМЬЕВ ВЛАДИМИРСКРИБЛОВСКИЙ ИЛЬЯученики 11ПТ класса школы № 91

Научный руководитель : МИТИН РОМАН

ОЛЕГОВИЧ

г. НИЖНИЙ НОВГОРОД

2004 г

Page 2: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

СОДЕРЖАНИЕ

1. Вводная часть. Автономные системы управления

2. Задачи, выполняемые устройством. Возможность дополнения различными устройствами.

3. Общая структурная схема

4. Описание модели в комплексе (передатчик с устройством сопряжения с компьютером, модель)

5. Общие характеристики модели: (габариты, скорость, источники питания, параметры передатчика и приёмника, контроллера)

6. Механическая часть

7. Электрическая часть

8. Радиоэлектронная часть

9. Микроконтроллер

10. Электрические схемы

11. Схема устройства сопряжения передатчика с ПК

12. Электрическая схема модели

13. Изображение модели

14. Заключительная часть

15. Приложения

Page 3: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Автономные системы управления

Система управления объектом или несколькими объектами называется автономной, если она может выполнять определенную работу без внешнего управления. Примером автономной системы управления можно считать игрушечную собачку AIBO.

Система управления объектом или несколькими объектами называется полуавтономной, если она может выполнять определенную работу, с частичным внешним управлением.

Примером полуавтономных систем можно считать промышленных роботов на заводе по производству автомобилей .

Наиболее сложными являются автономные системы, которые управляют движущимися объектами или группой движущихся объектов. К таким системам относится данное устройство. В основе построения передвижных автономных систем управления лежат 3 определяющих фактора :

1. Производительность;

2. Мобильность;

3. Цена.

В соответствии с этими факторами есть несколько вариантов построения автономных систем управления.

1. Использование микроконтроллеров в совокупности с другими радиоэлектронными компонентами. Такой вариант используется для построения малогабаритных объектов или объектов, где необходима наименьшая масса, минимальное энергопотребление. Например, беспилотные самолеты, искусственные спутники земли, луноходы и марсоходы. К недостаткам можно отнести характеристики микроконтроллеров, которые не позволяют самостоятельно обрабатывать большой объём информации, относительная сложность при необходимости перепрограммировать микроконтроллер.

2. Использование карманных компьютеров. Данный вариант используется в системах связи. Например, сотовые телефоны. Вариант имеет хорошие параметры и возможность быстрого перепрограммирования. К недостаткам можно отнести высокую стоимость.

3. Использование компьютеров (персональных, специальных рабочих станций, серверов и других). Этот вариант используется там, где нужна высокая

Page 4: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

производительность. Например, на кораблях, подводных лодках, самолётах и других подвижных объектах. Имеет очень высокую производительность, возможность быстрого перепрограммирования. К недостаткам можно отнести большую стоимость оборудования.

Page 5: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Задачи, выполняемые устройством

1. Устройство демонстрирует основные принципы полуавтономных систем управления;

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

Page 6: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Общая структурная схема

Компьютер

Согласующее устройство

между компьютером и передатчиком

Передатчик

Приемник

Радио

Микроконтроллер

Инфракрасный передатчик

Инфракрасный

Приемник

IRк а н а л

Дополнительные устройства

ДвигателиДатчики и

навигационные устройства

Page 7: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Описание

Устройство состоит из двух частей.

Первая часть представляет собой передатчик с блоком сопряжения с компьютером.

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

Устройство питается постоянным током 5В, 9В.

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

Page 8: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Вторая часть представляет собой модель на гусеничном ходу (БМД-2).

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

Page 9: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Внутри модели находится радиоприемник, который прикреплён к верхней части корпуса, работающий на частоте 27 МГЦ, микроконтроллер, батареи питания, два двигателя, согласующие устройства между приемником, микроконтроллером и двигателями, несколько светодиодов. Межблочное соединение осуществляется при помощи разъёмов.

Page 10: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Механическая часть.

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

Датчики и навигационные

приборы

Page 11: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Электрическая часть

Управление двигателями организовывает и контролирует микроконтроллер. Буфером между двигателями и контроллером является электронный мост, выполненный на полупроводниковых транзисторах КТ816, КТ817, КТ315, который в зависимости от входного сигнала меняет полярность питания двигателей, а дешифратор простой логики при одном входном сигнале меняет полярность питания на оба двигателя одновременно в зависимости от направления движения.

Page 12: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91
Page 13: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Радиоэлектронная часть

Для осуществления согласования между приемником и микроконтроллером используется оптронная развязка

Page 14: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Общие характеристики модели

Длина, мм 350Ширина, мм 150Высота, мм 100

Вес без батарей питания, кг 1,200Вес с батареями питания, кг 1,350

Количество двигателей, штук 2Тип двигателей Коллекторные двигатели

постоянного токаНапряжение питания

двигателей, В6

Ток, потребляемый одним двигателем, А

0,5

Количество батарей питания, штук

3

Типы батарей питания Сухие элементы питания с напряжением питания 6 В (1 элемент) и 9 В (2 элемента)

Максимальная скорость, м/с 0,2Скорость поворота, ˚/с 65Напряжение питания

приемника, В9

Количество микроконтроллеров, штук

1

Тип микроконтроллера AT90S8535Напряжение питания микроконтроллера, В

5

Время без остановочной работы двигателей, ч

2

Page 15: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Микроконтроллер

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

Микроконтроллер AT90S8535

В нашем проекте в качестве управляющего элемента устройства мы использовали микроконтроллер AT90S8535 семейства AVR фирмы Atmel.

AT90S8535 – современный 8-битовый CMOS-микроконтроллер. Он имеет производительность около 1 миллиона операций в секунду на 1 мегагерц частоты за счет того, что почти все команды он выполняет за один период тактового генератора.

Микроконтроллеры семейства AVR построены на основе расширенной RISC-архитектуры, объединяющей развитый набор команд и 32 регистра общего назначения. Все 32 регистра непосредственно подключены к арифметико-логическому устройству (АЛУ), что дает доступ к любым двум регистрам в течении одного машинного такта. Подобная архитектура обеспечивает почти десятикратный выигрыш в производительности по сравнению с традиционными микроконтроллерами.

Микроконтроллер AT90S8535 имеет следующие характеристики:

Высокопроизводительная и малопотребляющая 8-битная RISC архитектура (производительность до 8 млн. операций в секунду при 8МГц).

118 инструкций, большинство из которых выполняются за 1 цикл тактового генератора.

32 8-битных регистра общего назначения.

8 килобайтов энергонезависимой flash-памяти, программирование которой возможно прямо в готовой схеме используя последовательный протокол SPI. Ресурс

Page 16: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

памяти – 1000 циклов записи.

512 байтов энергонезависимой памяти EEPROM (electrically erasable programmable read-only memory – электрически перепрограммируемое ПЗУ).

512 байтов внутренней статической оперативной памяти с произвольным доступом.

Возможность защитить контроллер от записи/чтения программы.

8-канальный 10-битный АЦП.

Программируемый последовательный интерфейс UART (RS-232).

Два 8-битных и один 16-битный таймер.

Программируемый сторожевой таймер.

Встроенный аналоговый компаратор.

Внешние и внутренние источники прерываний.

Три режима пониженного энергопотребления.

Типичные электрические характеристики: рабочее напряжение 4.0-6.0V; потребляемый ток 7.0 мА; частота тактового генератора 0-8МГц.

32 программируемые линии ввода/вывода общего назначения.

4 различных варианта корпуса.

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

Мы использовали 40-выводный корпус PDIP. Назначения его выводов показаны на рисунке 1.

Рисунок 1. Выводы корпуса 40-PDIP

Рисунок 2. Подключение резонатора

Page 17: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Выводы XTAL1 и XTAL2 являются входом и выходом инвертирующего усилителя, на котором можно собрать генератор тактовых импульсов. Можно использовать как кварцевые, так и керамические резонаторы. Мы использовали кварцевый резонатор на 4МГц. Схема его подключения показана на рисунке 2.

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

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

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

Рисунок 3. Схема программатораРисунок 4. Распайка кабеля программатора

Page 18: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Чтобы заносить скомпилированную программу в память контроллера мы реализовали несложную схему, показанную на рисунке 3. Провода от разъема PROG со стороны компьютера напрямую подключаются к выводам параллельного порта (LPT) так, как это показано на рисунке 4.

Для написания, компилирования и отладки кода мы использовали следующие основные программные средства:

Knoppix Linux 3.0

ASPLinux 9

AVR-GCC 3.2

binutils-avr 2.11.2

UISP-20011025

GNU Make 3.79.1

AVR-GCC – это версия популярного компилятора GCC (GNU Compiler Collection), ориентированная на создание программ для микроконтроллеров семейства AVR. Программатор UISP позволяет загрузить в контроллер программу, используя протокол SPI. Пакет GNU Binutils-avr содержит низкоуровневые средства необходимые для создания объектных файлов. Он включает в себя ассемблер AVR (avr-as), линкер (avr-ld), средства управления библиотеками (avr-ranlib, avr-ar), программы для создания исполняемых модулей загружаемых в память программ микроконтроллера (avr-objcopy), дизассемблер (avr-objdump) и утилиты avr-strip и avr-size. Make – это мощная утилита, позволяющая осуществлять контроль над процессом сборки программы. Все используемые программы являются свободными и распространяются под лицензией GPL (GNU General Public Licence).

К примеру, следующая простая программа, непрерывно считывает байт с линий вывода порта B и выводит инвертированное значение на выводы порта C:

#include <io.h> void main(void){

unsigned char value;

outp(0xff, DDRC);

while (1){

value = inp(PINB);outp(~value, PORTC);

}

Page 19: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

}

Команда outp(0xff, DDRC) переключает все линии порта C в режим вывода (по умолчанию при запуске они все находятся в режими считывания), путем записи значения 0xff (все разряды 1) в управляющий регистр DDRC (Data Direction Register – регистр направления данных). Строчка value = inp(PINB) считывает значение с порта B и заносит в переменную value, занимающую один байт. Следующая строчка устанавливает выводы порта C в соответствии с инвертированным значением переменной value. Переменная value хранится в памяти, хотя компилятор на стадии оптимизации по своему усмотрению может расположить ее непосредственно в регистре. Впрочем видно, что в данном примере мы вполне могли бы обойтись и без переменной, написав while (1) outp(~inp(PINB), PORTC).

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

Page 20: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Общее построение системы

Структуру нашего проекта можно представить так, как это отображено на рисунке 5.

Здесь сплошными черными линиями показано непосредственное взаимодействие данных модулей. Про микроконтроллер мы уже рассказали. Теперь кратко опишем остальные детали этой диаграммы.

Отладочный канал

Этот канал связи контроллер-компьютер реализован для того, чтобы обеспечить удобное средство отладки программы для устройства на этапе разработки. Этот канал представляет собой 3-проводной кабель, поверх которого реализуется последовательный протокол RS-232 (UART). Это тот же протокол, который используется для подключения периферии к компьютеру через COM-порты.

Протокол RS-232

RS-232 – это универсальный последовательный асинхронный протокол передачи данных на скоростях от низких до средних (предложен в 1969г.). Структура передачи одного байта представлена на рисунке 6.

При асинхронной передаче к концам каждого 8-битного пакета

Рисунок 5. Общая структура проекта

Передвижная платформа

Навигационноеустройство

Датчики

Устройствопитания

Компьютер

Программауправления

Порты ввода-вывода

Отладочный канал

Цифровой канал связи

Дополнительные каналы

Независимыеустройства

Микро-контроллер

Двигатели

Периферийныеустройства

Обратная связь

Page 21: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

присоединяются старт-бит и стоп-бит, образуя кадр в 10 бит. Передатчик и приемник используют фиксированную скорость из допустимого набора. Наиболее популярны скорости 300, 1200,

2400, 9600, 19200, 38400, 115200 бод (т. е. тактов в секунду).

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

Реализация

Т. к. в цифровой электронной схеме контроллера и его переферии используются напряжения 0 и 5V, а в

Рисунок 6. Формат кадра при последовательной передаче (RS-232)

Рисунок 7. Подключение преобразователя напряжения

Page 22: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

последовательном порту компьютера +12 и -12V соответственно, то возникает необходимость преобразования этих напряжений. Мы остановились на самом простом решении – использовании специальной микросхемы-преобразователя. Используемая нами микросхема ICL232CPE предназначена именно для подключения устройств с уровнями 0 и 5V к последовательному порту. Она преобразует эти напряжения в +10 и -10V.

Схема ее подключения представлена на рисунке 7. Для работы микросхеме необходимы 4 внешних конденсатора по 100F и один конденсатор 0.1F между питанием и землей.

Со стороны контроллера протокол RS-232 реализуется аппаратно на скорости 9600 бит/сек.

Цифровой радиоканал

Этот основной канал используется для управления и передачи данных устройству. Он реализован на основе приемопередатчика от детской радиоуправляемой модели.

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

Ввиду технических ограничений, используемого приемопередатчика может находиться в одном из 9-ти состояний:

Сигнал

Состояние (вверх, вниз,

влево, вправо).

0 0 0 0 0

1 0 0 0 1

2 0 0 1 0

3 0 1 0 0

4 0 1 0 1

5 0 1 1 0

6 1 0 0 0

7 1 0 0 1

Page 23: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Сигнал

Состояние (вверх, вниз,

влево, вправо).

8 1 0 1 0

Сигналы, используемые в протоколе (первая колонка) при непосредственной передаче преобразуются в состояния из второй колонки, а при приеме сразу же преобразуются обратно. Реальные состояния используются только для передачи/приема. Поэтому далее мы будем обозначать состояния соответствующими сигналами.

Одно состояние передает бит. Но реально мы не используем состояние 0 0 0 0, для того, чтобы приемник мог определить потерю сигнала, поэтому одна посылка передает 3 бита.

Формат кадра, передающего 1 байт, представлен на рисунке 8.

Сигнал No Data (ND) является сигналом 1. Он говорит о том, что данных для передачи нет (пассивный уровень). Сигнал BS (Byte Start; реально – сигнал 2) является сигналом синхронизации. За ним идут 4 посылки (гарантированно отличные от ND и BS), несущие данные кадра. Каждая посылка может быть сигналом 4– 7 и нести, соответственно 2 бита данных. Данные передаются по принципу Low Endian, т. е. старшие биты передаются первыми, а младшие - последними.

Приемник и передатчик работают на фиксированных скоростях. В приемнике (контроллере) реализован таймер, частота которого в 25 раз больше, чем частота передачи. При обнаружении сигнала BS приемник отсчитывает 37 (25+25/2) тактов этого таймера и оказывается в середине посылки D0. Он считывает ее и отмеряет 25 тактов до середины посылки D1. Таким образом, он считывает все данные кадра.

К сожалению, из-за технических причин, не удается повысить скорость передачи данных по каналу выше, чем 2 байта в секунду.

Конкретное применение

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

Рисунок 8. Кадр радиоканала

Page 24: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

представляющую собой ломаную линию. От модели требуется из текущего положения проехать по этой траектории. Для построения траектории на компьютере была создана программа (под ОС Linux и Windows), позволяющая пользователю легко, указывая мышью точки излома, строить траекторию, а затем загружать ее в память контроллера через радиоканал. Затем пользователь может дать команду, после чего модель начнет двигаться по заданной траектории.

По траектории программа строит последовательность действий (перемещений, т. е. движений и поворотов), которые должна выполнить модель и загружает их через радиоканал. Для каждого перемещения передается 5 байтов: первый – направление движения и четыре байта, представляющих 4-байтное целое число без знака, обозначающее длительность движения, выраженную в тиках системного таймера контроллера (частота таймера равна 15625 Гц). Эти четыре байта передаются по принципу High Endian. Управляющая программа знает характеристики движения модели и поэтому может рассчитать это время. Как показали эксперименты, модель успешно справляется с такими заданиями.

Обратная связь

Канал связи от устройства к компьютеру предполагается реализовать с помощью инфракрасного приемопередатчика, используя протокол RC5, разработанный фирмой Philips. Уже собран подходящий инфракрасный приемник.

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

Двигатели

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

Датчики

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

Page 25: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

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

Периферийные устройства

Периферийными мы называем дополнительные устройства, которыми управляет контроллер. Такими устройствами могут быть светодиоды, ЖК-индикаторы и любое другое оборудование, необходимое для выполнения какой-либо работы. Из того, что нами уже реализовано, к этой категории можно отнести статусные светодиоды на корпусе, которые отображают состояние модели. Точно также контроллер может управлять гораздо более сложными устройствами, например, регулировать работу бортовой видеокамеры.

Навигационные приборы

Навигационные приборы позволяют контроллеру измерять свои координаты, вычислять погрешности движения и корректировать свое перемещение. Мы считали необходимым сделать такой прибор для нашего проекта, т. к. свойства движения модели (скорость движения, скорость поворотов) сильно зависят от поверхности и контроллер не в состоянии предсказать, какое расстояние проедет устройство за определенное время. В качестве такого прибора мы используем две оптическую компьютерных мыши, подключаемых к контроллеру через интерфейс PS/2. С помощью них можно точно указать координаты модели с точностью до миллиметра. Показания мышей используются при движении для подстройки под конкретные условия.

В настоящее время в основном используются компьютерные мыши трех различных интерфейсов: USB, PS/2 и RS-232. Интерфейс RS-232 постепенно выходит из употребления и считается устаревшим. Тем более сложно найти в магазинах оптические мыши с интерфейсом RS-232, а мы хотели бы использовать именно оптические, т. к. они отличаются лучшим поведением на различных типах поверхностей. Интерфейс USB в последнее время становится все более и более популярным, чему способствуют его универсальность, расширяемость и скорость. Но его реализация более сложная, да и он еще недостаточно прижился на рынке компьютерных манипуляторов, поэтому при выборе интерфейса для реализации, мы остановились на интерфейсе PS/2.

На рисунке показан способ закрепления печатной платы от оптической мыши так, чтобы ее можно было зафиксировать на

Page 26: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

модели.

Физический интерфейс PS/2

Интерфейс PS/2 впервые появился в компьютерах IBM “Personal System/2” в конце 80-х годов. С тех пор он остается повсеместно используемым и поддерживаемым стандартом. Несмотря на то, что интерфейс USB быстро распространяется в последние годы, PS/2 все еще широко применяется.

Физический интерфейс PS/2 является двухсторонним последовательным синхронным протоколом передачи данных и команд между компьютером и внешними устройствами.

Для подключения устройств через интерфейс PS/2 обычно используются разъемы двух типов: 5-контактный DIN (AT/XT) и 6-контактный mini-DIN (PS/2). Оба эти разъема идентичны по назначению и различаются только расположением контактов. Назначение выводов этих разъемов показано на рисунке 9.

Page 27: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Рисунок 9. Контакты разъемов DIN и mini-DIN

При описании протоколов, вместо слов “компьютер” или “контроллер” обычно употребляют более общий термин “хост”, вместо названий “мышь”, “клавиатура” используют “устройство”.

Контакты Земля/Питание обеспечивают питание устройству. Напряжение между этими контактами должно находится в диапазоне 4.5-5.5V. Устройство не должно потреблять более чем 275mA.

Контакты Синхронизация и Данные используются непосредственно для передачи данных в обе стороны. Обе этих линии подключаются к устройству с помощью интерфейса “открытый коллектор”. Способ подключения показан на рисунке 10. Интерфейс “открытый коллектор” имеет два возможных состояния: активный нижний уровень или пассивный верхний уровень. В нижнем уровне лини подтягиваются к земле транзисторами, а в верхнем они подтягиваются к уровню 5V через резисторы достаточно высокого сопротивления.

Page 28: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Рисунок 10. Интерфейс "открытый коллектор"

Физический интерфейс PS/2 представляет собой двунаправленный синхронный последовательный протокол. Когда шина (линии Синхронизация и Данные) находится в состоянии Ожидание (см. таблицу), любая из сторон может начать передачу данных. Хост имеет право в любой момент времени прервать передачу данных путем установления нижнего уровня на линии Синхронизация на время 100мс.

Состояние Линия Синхронизация

Линия Данные

Ожидание 1 1

Передача прервана 0 1

Запрос на передачу от хоста 1 0

Таблица 1. Состояния шины

Тактовые импульсы на линии Синхронизация всегда генерирует устройство. Когда хост хочет передать данные он должен сперва прервать передачу данных, путем установки линии Синхронизация в 0, затем он устанавливает линию Данные в 0 и отпускает линию Синхронизация.

Все данные передаются по байтам, посылаемым в виде кадра, состоящего из 11-12 бит. Эти биты означают соответственно:

1 старт-бит. Всегда 0.

8 бит данных. Формат передачи High Endian, т. е. сначала передаются младшие, а затем старшие биты.

Page 29: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

1 бит четности.

1 стоп-бит. Всегда 1.

1 бит-подтверждение (только при передачи хост-устройство).

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

Данные от устройства устанавливаются на линию, когда сигнал Синхронизация равен 1, а читаются по его спаду. Данные от хоста устанавливаются, когда сигнал Синхронизация равен 0, а читаются по фронту. Частота тактовых импульсов на линии Синхронизация находится в диапазоне 10 – 16.7 KHz. Это означает что линия Синхронизации 30 – 50мс находится в состоянии 1 и 30 – 50мс в состоянии 0.

Когда устройство хочет передать кадр, оно проверяет, не находится ли шина в состоянии Передача прервана, а затем начинает генерировать тактовые импульсы на линии Синхронизация и выставлять данные на линии Данные, так, как это показано на рисунке 11.

Рисунок 11. Передача данных от устройства к хосту

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

Передача данных от хоста к устройству отличается от обратной. Перед началом соединения, хост должен привести шину в состояние Запрос на передачу. Затем устройство начнет генерировать тактовые импульсы для хоста. После того, как устройство приняло 11 бит (заканчивая стоп-битом), оно генерирует один дополнительный такт, во время которого устанавливает линию данных в 0. Этим оно подтверждает прием кадра. Схема передачи кадра от хоста к устройству приведена на рисунке 12.

Page 30: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Рисунок 12. Передача данных от хоста к устройству

Программный протокол PS/2

Способы работы с мышью зависят от текущего состояния мыши. Существуют 4 стандартных состояний:

Reset. В это состояние мышь переходит после включения питания или после приема команды “Сброс” (Reset – 0xFF, см. таблицу команд).

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

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

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

После включения питания контроллер ожидает от мыши сигнала, что она успешно провела самотестирование. После этого он устанавливает разрешение мыши в 8 ед/мм с помощью команды “Установить разрешение” (Set Resolution – 0xE8, см. таблицу команд). Затем он включает режим оповещения (Enable Data Reporting – 0xF4, см. таблицу команд) и переходит в режим нормальной работы с мышью, ожидая информацию о перемещениях от устройства.

Стандартная мышь передает информацию о своем состоянии в пакете из трех байт, изображенном на рисунке 13. Надо сразу сказать, что здесь мы рассматриваем программный протокол обычной мыши, имеющей 2 степени свободы и 3 кнопки. Любая мышь по умолчанию работает в таком режиме. Чтобы перевести более продвинутую мышь (например Microsoft Intellimouse) в соответствующий ей режим работы, драйвер посылает ей определенную последовательность команд. Работу с такими устройствами мы описывать не будем, т. к. в нашем проекте нет необходимости выходить за рамки стандартной PS/2 мыши.

Page 31: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Рисунок 13. Пакет передающий состояние мыши

Перемещения – это расстояние, пройденное мышью по соответствующей оси с тех пор, как она отослала предыдущий пакет данных. Счетчики перемещения являются 9-битными целыми числами со знаком. Если счетчик отрицателен, то он передается в дополнительном коде. Старший бит счетчиков находится в битах знака в первом байте. Если с момента предыдущей отсылки данных счетчик переполнился, то устанавливается биты переполнения. Состояние кнопок мыши передается в младших битах первого байта.

Значение

Команда

0xFF “Сброс” (Reset)

0xFE “Переслать” (Resend)

0xF6 “Восстановить параметры” (Set Defaults)

0xF5 “Выключить оповещение” (Disable Data Reporting)

0xF4 “Включить оповещение” (Enable Data Reporting)

0xF3 “Установить выборку” (Set Sample Rate)

0xF2 “Запросить код устройства” (Get Device ID)

0xF0 “Установить дистанционный режим” (Set Remote Mode)

0xEE “Установить режим отладки” (Set Wrap Mode)

0xEC “Сбросить режим отладки” (Reset Wrap Mode)

0xEB “Запросить данные” (Read Data)

Page 32: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Значение

Команда

0xEA “Установить режим потока” (Set Stream Mode)

0xE9 “Запросить состояние” (Status Request)

0xE8 “Установить разрешение” (Set Resolution)

0xE7 “Установить масштаб 2:1” (Set Scaling 2:1)

0xE6 “Установить масштаб 1:1” (Set Scaling 1:1)

Таблица 2. Перечень команд стандартной PS/2 мыши.

Page 33: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Заключение

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

Усовершенствовать готовые решения, например, повысить скорость передачи данных по радиоканалу;

Инфракрасный канал обратной связи от устройства к компьютеру;

Улучшить методы ориентирования устройства на местности;

Добавить возможность взаимодействия устройства со стационарными приборами.

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

Автономные устройства все более и более получают распространение в повседневной жизни. Например, компания LG представила пылесос ROBOKING, который имеет систему автономного управления, т. е. пылесос сам производит уборку помещения в определённое время и сам ищет источник подзарядки. Автономные и полуавтономные устройства облегчают жизнь и позволяют экономить время и деньги. Не далеко то время, когда весь бытовой труд будут выполнять автономные устройства.

Page 34: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Благодарности

В заключение хотелось бы выразить благодарность Владимиру Евгеньевичу Артемьеву за помощь в решении технических вопросов, Никите Морозову за первоначальную реализацию некоторых идей, Роману Олеговичу Митину и Ирине Борисовне Каськовой за координацию проекта.

Page 35: СРЕДНЯЯ ОБЩЕОБРАЗОВАТЕЛЬНАЯ ШКОЛА № 91

Список использованной литературы

1. Евстифеев А. В., «Микроконтроллеры AVR семейства Classic фирмы «Atmel», изд. «Додека», Москва 2002г.

2. Голубцов М. С., «Микроконтроллеры AVR: от простого с сложному», изд. «Солон-Пресс», Москва 2003г.

3. Богатырев А. Н., «Радиоэлектроника, автоматика и элементы ЭВМ», изд. «Просвещение», Москва 1990г.

4. Миль Г. «Модели с дистанционным управлением», изд. «Судостроение», Ленинград, 1984г.

5. Было использовано множество различных материалов и статей из Интернет. Основные сайты:

www . atmel . com – фирменные спецификации на контроллеры AVR;

www . avrfreaks . org – сайт любителей проектирования с использованием контроллеров;

www . linuxfocus . org – несколько статей для начинающих.