Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 2160.pdf
Скачиваний:
27
Добавлен:
30.04.2022
Размер:
9.07 Mб
Скачать

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

Роботизированная собака AIBO от Sony была представлена в 1999 году. АИБО был способен взаимодействовать с людьми. Затем Sony также показала своих роботов Sony Dream, маленьких гуманоидных роботов в разработке для развлечения.

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

3 и 24 января марсоходы Spirit и Opportunity приземляются на поверхность Марса. Запущенный в 2003 году, эти два робота будут ездить во много раз больше, чем первоначально ожидалось, и все еще работают.

В 2005 году Honda представила обновленную версию ASIMO, которая имеет новые модели поведения и возможности.

Четырехногий робот под названием «Морская Звезда», который был сп о- собен к самостоятельному моделированию и обучению ходить после повреждения, был создан в Корнельском университете в 2006 году.

2. АППАРАТНАЯ РЕАЛИЗАЦИЯ РОБОТИЗИРОВАННОГО УСТРОЙСТВА

2.1. Комплектующие

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

Внастоящее время существует большое разнообразие вычислительных устройств, ориентированных на применение в решении различных задач. В рамках данной работы наиболее подходящим решением является использование микроконтроллера как центрального узла всей системы. Это связано с тем, что микроконтроллеры, по сравнению с микропроцессорами и другими программируемыми вычислительными устройствами (ПЛИС, вентильные матрицы

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

11

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

Первоначально на этапе разработки роботизированного устройства предполагалось применять микроконтроллер ATMega328 [2] на базе платформы Arduino [3]. Его основные характеристики приведены в табл. 2.1. Данный микроконтроллер разработан по технологии КМОП с низким энергопотреблением, его ядро основано на архитектуре RISC с 8-бит шиной данных. Большинство инструкций выполняются за один период тактовой частоты. Имеется возможность аппаратного генерирования сигналов широтно-импульсной модуляции, что необходимо для управления определенными модулями роботизированного устройства. Данный микроконтроллер в настоящее время широко используется в самых разнообразных задачах, а также для него написано большое количество свободно распространяемого программного обеспечения в виде библиотек для работы с периферией и прочего. Другим несомненным преимуществом применения данного микроконтроллера является наличие разработанной на его базе отладочной платы, которая обеспечивает еще большую гибкость использования возможностей микроконтроллера, а также ускоряет время разработки за счет применения готовых внешних подключаемых модулей.

 

Таблица 2.1

Основные характеристики микроконтроллера ATMega328

 

 

 

Параметр

Значение

Разрядность шины данных

8 бит

 

Тактовая частота ядра

не более 20 МГц

 

Количество портов ввода/вывода

23

 

Объем памяти программ

32 кБ

 

Объем памяти данных

16 кБ

 

Аппаратные интерфейсы обмена данными

I2C, SPI, Uart

 

Напряжение питания

1.8 … 5.5 В

 

Рабочая температура

-40 … +85º

 

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

12

В результате дальнейшего анализа решено использовать микроконтроллер STM32F407ZGT6. Данный микроконтроллер имеет расширенную RISC архитектуру на базе ядра ARM-Cortex M4 с 32-бит системной шиной. Среди основных особенностей данного микроконтроллера можно выделить наличие блока вычислений с плавающей точкой, наличие возможности использования прямого доступа к памяти при передаче данных, а также поддержку инструкций цифровой обработки сигналов. Микроконтроллер STM32F407ZGT6 в настоящее время менее распространен по сравнению с ATMega328, для него нет того количества свободно распространяемого программного обеспечения. Тем не менее, использование STM32F407ZGT6 открывает большой потенциал возможностей для роботизированного устройства, а также последующих его модификаций. Основные характеристики микроконтроллера приведены в табл. 2.2.

 

Таблица 2.2

Основные характеристики STM32F407ZGT6

 

 

 

Параметр

Значение

Разрядность шины данных

32 бит

 

Тактовая частота ядра

не более 168 МГц

 

Количество портов ввода/вывода

100

 

Объем памяти программ

1 Мб

 

Объем памяти данных

192 кБ

 

Аппаратные интерфейсы обмена дан-

3xI2C, 2хSPI, 6xUart, CAN,

 

ными

LIN, IRDA, USB

 

Напряжение питания

2 … 3.6 В

 

Рабочая температура

-40 … +85º

 

Структурная схема микроконтроллера STM32F407ZGT6 (далее – микроконтроллера) изображена в прил. 1. Корпус микроконтроллера с обозначением выводов изображен на рис. 2.1.

Микроконтроллер имеет в своем составе внушительный набор периферийных устройств. Его тактирование может осуществляться как от внешнего источника с максимально допустимой частотой до 25 МГц, так и от внутреннего RC-генератора 16 МГц.

Внешнее тактирование является более предпочтительным, так как при этом можно обеспечить большую стабильность тактовой частоты. Тактирование ядра и периферийных устройств осуществляется раздельно и может настраиваться программным путем, благодаря чему имеется возможность обеспечить относительно малое энергопотребление. Частота тактового генератора может быть использована непосредственно либо после преобразования в умножителе с фазовой автоподстройкой (PLL), благодаря чему тактирование ядра можно считать стабильным даже на предельных частотах. Максимальная стабильная частота на выходе умножителя 168 МГц.

13

Рис. 2.1. Корпус микроконтроллера STM32F407ZGT6 [5]

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

Таблица 2.3

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

Тип

Расш.

Общего назначения

 

 

 

Баз.

Номер

TIM1

TIM2

TIM3

TIM9

TIM10

TIM12

TIM13

TIM6

 

TIM8

IM5

TIM4

 

TIM11

 

TIM14

TIM7

Разреш-

16 бит

32 бит

16 бит

16 бит

16 бит

16 бит

16 бит

16 бит

ение

 

 

 

 

 

 

 

 

счета

 

 

 

 

 

 

 

 

Предде-

от 1 до

65536

 

 

 

 

 

 

литель

 

 

 

 

 

 

 

 

ПДП

Да

а

Да

Нет

Нет

Нет

Нет

Да

Каналы

4

4

4

2

1

2

1

0

Компле-

Да

Нет

Нет

Нет

Нет

Нет

Нет

Нет

ментар-

 

 

 

 

 

 

 

 

ный вы-

 

 

 

 

 

 

 

 

ход

 

 

 

 

 

 

 

 

Макс.

84

42

42

84

84

42

42

42

частота

 

 

 

 

 

 

 

 

интер-

 

 

 

 

 

 

 

 

фейса

 

 

 

 

 

 

 

 

Макс.

168

84

84

168

168

84

84

84

частота

 

 

 

 

 

 

 

 

таймера

 

 

 

 

 

 

 

 

14

Для взаимодействия с внешними устройствами в состав микроконтроллера включены шесть последовательных интерфейсов UART. Их характеристики представлены в табл. 2.4.

 

 

 

 

 

 

Таблица 2.4

 

Характеристики последовательных интерфейсов UART

 

 

 

 

 

 

 

 

Имя

USART1

USART2

USART3

USART4

USART5

USART6

Стандарт.

Да

Да

Да

Да

Да

Да

 

ф-ции

 

 

 

 

 

 

 

LIN

Да

Да

Да

Да

Да

Да

 

SPI

Да

Да

Да

Нет

Нет

Да

 

мастер

 

 

 

 

 

 

 

IrDA

Да

Да

Да

Да

Да

Да

 

Смарт

Да

Да

Да

Нет

Нет

Да

 

карты

 

 

 

 

 

 

 

Макс. ско-

5.25

2.62

2.62

2.62

2.62

5.25

 

рость

Мбит/с

Мбит/с

Мбит/с

Мбит/с

Мбит/с

Мбит/с

 

(оверсем-

 

 

 

 

 

 

 

плинг 16)

 

 

 

 

 

 

 

Макс. ско-

10.5

5.25

5.25

5.25

5.25

10.5

 

рость

Мбит/с

Мбит/с

Мбит/с

Мбит/с

Мбит/с

Мбит/с

 

(оверсем-

 

 

 

 

 

 

 

плинг 8)

 

 

 

 

 

 

 

Микроконтроллер имеет в своем составе три последовательных интерфейса передачи данных I2C, которые могут работать как в режиме ведущего, так и в режиме подчиненного. Поддерживается стандартный режим передачи (скорость до 100 кбит/с), а также быстрый режим (скорость до 400 кбит/с). Имеется возможность использования 7-бит и 10-бит режимов адресации устройств на шине.

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

Ко всему прочему, имеется ряд полезных функций, например, аппаратное вычисление циклического избыточного кода (CRC32).

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

15

VDD – напряжение источника питания цифровой части микроконтроллера, лежащее в пределах от 1.8 до 3.6 вольт. VREF – напряжение питания аналоговой части микроконтроллера (в роботизированном устройстве не используется, поэтому цифровая и аналоговая часть имеют общий источник). Два домена питания используются для обеспечения снижения помех цифровой части схемы на аналоговую. Кроме того, к микроконтроллеру может быть подключено батарейное питание, благодаря чему становиться возможным использовать часы реального времени, а также режимы пониженного энергопотребления и спящий режим. Батарейное питание в роботизированном устройстве в данный момент не используется.

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

Рис. 2.2. Схема системы питания микроконтроллера [5]

16

Подключение тактового генератора в виде керамического резонатора к микроконтроллеру схематично показано на рис. 2.3. Максимальная частота внешнего источника составляет 25 МГц. При помощи аналогичной схемы возможно подключение низкочастотного генератора 32 кГц к соответствующим выводам для питания часов реального времени.

Рис. 2.3. Схема подключение источника тактирования к микроконтроллеру [5]

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

Рис. 2.4. Отладочная плата микроконтроллера [5]

На плате установлен стабилизатор напряжения 3.3 В для питания микроконтроллера, кварцевый резонатор 8 МГц для тактирования, а также набор соединителей для подключения внешних устройств. Принципиальная схема отладочной платы микроконтроллера приведена в прил. 1.

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

17