Вы находитесь на странице: 1из 49

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение


высшего образования
«Ижевский государственный технический университет имени М.Т.
Калашникова»
(ФГБОУ ВО «ИжГТУ имени М.Т. Калашникова)

Дельян Алексей Андроникович

Разработка модели шагающего мобильного робота

Направление 15.03.06 Мехатроника и робототехника


профиль 15.03.06 Мехатронные системы в машино- и приборостроении

Выпускная квалификационная работа бакалавра

Студент
_________________А.А. Дельян

Руководитель
_______________Ю.Л. Караваев

К защите
Заведующий кафедрой
________________А. И. Абрамов

Ижевск 2016
МИНОБРНАУКИ РОССИИ
Федеральное государственное бюджетное образовательное учреждение
высшего образования
«Ижевский государственный технический университет имени М.Т.
Калашникова»
(ФГБОУ ВО «ИжГТУ имени М.Т. Калашникова)

УТВЕРЖДАЮ
Зав. кафедрой "МС"
________________А. И. Абрамов
"___"________________20____г.

ТЕХНИЧЕСКОЕ ЗАДАНИЕ
на выполнение
выпускной квалификационной работы
студенту Дельяну Алексею Андрониковичу

1 Наименование темы: «Разработка модели шагающего мобильного


робота»
2 Разработка концептуальной модели
- Аналитический обзор существующих и находящихся в разработке
шагающих мобильных роботов
- Интерпретация результатов аналитического обзора
2.1 Технические требования к концептуальной модели:
2.1.1 Грузоподъёмность 17 кг;
2.1.2 Габаритные размеры не должны превышать
следующие параметры:
- по длине не более 600мм;
- по ширине не более 400мм;
- по высоте не более 200мм;
2.1.3 Максимальная скорость не менее 2 м/с;
2.1.4 Требования к системе управления
- управление от автономного устройства управления на базе
микроконтроллера STM32F407VG;

2
- Взаимодействие внутри системы управления с помощью СAN интерфейса;
- Взаимосвязь с оператором через Bluetooth;
- Время автономной работы без подзарядки 1 час;
3 Перечень подлежащих разработке конструкторско-технологических,
расчетных и программных решений
- разработка структурной схемы устройства управления;
- разработка электрической схемы соединений устройства управления;
- разработка алгоритма и управляющей программы;
- разработка программы взаимодействия по CAN интерфейсу;
- разработка алгоритма передвижения робота;
4 Перечень графического материала
- Электрическая схема соединений устройства управления (формат А1);
-Деталировочный чертёж верха рамы (формат А3);
-Деталировочный чертёж низа рамы (формат А3);
-Деталировочный чертёж основания под редукторы(формат А4);
-Деталировочный чертёж фиксатора ноги (формат А4);
-Деталировочный чертёж ноги робота(формат А4);
5 Дата выдачи задания: «12» февраля 2016 г.
6 Плановый срок сдачи законченного проекта: «10» июня 2016 г.

Руководитель Караваев Ю.Л.


подпись, дата
Задание принял к исполнению Дельян А.А.
подпись, дата

3
Содержание

Введение 5
1 Аналитический обзор 7
1.1 Анализ существующих и находящихся в разработке конструкций и
алгоритмов перемещения шагающих мобильных роботов 7
1.1.1 Алгоритмы передвижения шагающих роботов 7
1.1.2 Типы алгоритмов перемещения 9
1.1.3 Описание конкретных локомоционных алгоритмов шестиногих
роботов 10
1.1.4 Конструкции ног шестиногих роботов 13
1.2 Обзор существующих шагающих роботов 16
1.3 Выводы аналитического обзора 20
2 Разработка модели шагающего мобильного робота 21
2.1 Расчёт характеристик двигателей 21
2.2 Выбор двигателя 23
2.3 Выбор редуктора 23
2.4 Разработка конструкции шагающего робота 25
2.4.1 Разработка ноги мобильного робота 25
2.4.2 Разработка корпуса шагающего мобильного робота 26
3 Разработка системы управления 29
3.1 Разработка структурной схемы 29
3.2 Выбор элементов питания 30
3.3 Разработка схемы электрической соединений 31
4 Разработка программного обеспечения 32
4.1 Разработка интерфейса взаимосвязи 32
4.2 Разработка программы перемещения 32
Заключение 36
Список литературы 37
Приложение А 39
Приложение Б 40
Приложение В 41
Приложение Г 42
Приложение Д 43
Приложение Е 44

4
Введение

Робототехника – быстроразвивающаяся прикладная наука, связанная с


созданием автоматизированных технических систем и применением роботов
в промышленности. Робототехника это сложная синергетическая область
науки и техники объединяющая механику и электронику. Если быть точным
робототехника включает в себя такие дисциплины: электроника,
информатика, механика, радиотехника и электротехника.
Одним из главных объектов изучения в данной науке является робот,
он это универсальная автоматизированная машина для воспроизведения
интеллектуальных и двигательных функций человека. Роботы в свою очередь
делятся на различные классы, в той или иной степени повторяющие
интеллектуальные и двигательные функции человека. Среди этих роботов
самым распространённым на мой взгляд считаются мобильные роботы.
Также у мобильных роботов есть подклассы: колесные, гусеничные,
шагающие, гибридные (т.е. когда и ноги, и колёса входят в конструкцию
робота).
Практической целью создание таких роботов явилась замена человека в
определённых видах деятельности, которые требуют от человека большой
трудоёмкости и энергозатрат, а также являются опасными для жизни и
здоровья. Такими видами деятельности можно считать транспортировку,
разведывание местности, разминирование, работа в экстремальных для
человека условиях (т.е. в ядовитых и радиоактивных средах)
В наши дни мобильные роботы это достаточно популярный объект
исследований во всем мире. Большое количество научно-исследовательских
групп и коллективов, уделяют огромнейшее внимание именно шагающим
машинам как на территории Российской Федерации так и за её границами.
Высокая популярность к шагающим роботам может быть обусловлена тем,
что по сравнению с гусеничными и колесными роботами они обладают
рядом преимуществ. В частности, шагающие мобильные роботы легче
5
преодолевают рельеф со сложной формой и слабыми грунтами. Умение к
передвижению по сложным формам рельефа требует того, чтобы шагающий
робот мог приспосабливаться к нестандартной форме рельефа. Но если
провести анализ рынка шагающих роботов представленных на сегодня,
можно заметить, что не все являются таковыми.
Проектирование системы управления данными роботом считается
задачей довольно сложной. Система управления проектируется таким
образом, чтобы исполнялось взаимосвязанные действия всех ног,
обеспечивающие движение робота по заданному курсу. Чтобы реализовать
адаптивный алгоритм движения шагающего мобильного робота от системы
требуется, считать информацию с датчиков, затем определить его
расположение относительно поверхности, на которой он находится и
производит передвижение, и на основе полученных данных расположить
робота в более устойчивое положение.
В сегодняшний день развитых технологий и незамедлительно
шагающего технического прогресса человечество все быстрее переходит к
использованию автоматизированных технических систем. Большое и главное
место в промышленности начинает занимать автоматизация и робототехника.
Сегодня очень сложно, практически невозможно представить какое-либо
большое производство без участия робототехники и мехатроники. Но роботы
используются не только в производственных целях – в наши дни роботы
встречаются на улицах, в государственных учреждениях, и даже в домашнем
быту.

6
1 Аналитический обзор

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


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

1.1 Анализ существующих и находящихся в разработке конструкций


и алгоритмов перемещения шагающих мобильных роботов

С целью определения подходящего или подходящих алгоритмов


перемещения был проведён обзор, который приведён ниже.

1.1.1 Алгоритмы передвижения шестиногих роботов

Локомоцией называют разновидность движений человека и животных


или передвижение, связанное с активным изменением положения в
пространстве.
Именно на биологическом подходе основана методика разработки
алгоритмов передвижения шагающих роботов. Так как конечности живых
существ являются прообразом механических конечностей, то и алгоритм
изначально повторяет локомоционные действия у животных или насекомых.
Впоследствии некоторые алгоритмы комбинируются и изменяются, создавая
новые алгоритмы.
Существующие на сегодняшний день алгоритмы локомоционных
движений можно разделить на два типа: адаптивные алгоритмы и
неадаптивные алгоритмы. Адаптивные алгоритмы могут быть поделены на
три вида: первый - алгоритм передвижения с учётом изменения количества
ног и их соединений; второй – алгоритм передвижения учитывающие
перемещение по поверхности с рельефом сложной формы и слабыми
грунтами; алгоритмы с самообучением. Неадаптивными алгоритмами

7
называются алгоритмы, в которых заранее определены параметры, такие как
последовательность действий и количество конечностей.
Свободным называется адаптивный алгоритм, который реализует
апериодичное несимметричное передвижение робота. Этот алгоритм
характеризуется тем что последовательность перемещения определённых ног
не указана, а действие описывается в зависимости от показателей робота,
траектории и состояния поверхности.
Существуют такие адаптивные алгоритмы, которые позволяют роботу
изменять последовательность действий при неисправности системы.
Реализация и разработка подобных алгоритмов слишком сложна и в данной
выпускной квалификационной работе не будет рассмотрена.
В алгоритмах для заданного количества ног описаны возможные
действия совершаемые для перемещения механизма с заранее известными
характеристиками робота. Такими характеристиками можно назвать
количество конечностей робота, направленность и число степеней свободы.
При наличии определенных сенсоров можно дополнить базовый алгоритм
новыми действиями и различными функциями.
Алгоритмы параметры которых заранее сконфигурированными можно
охарактеризовать количеством и позицией поднятых ног, опорных ног и
алгоритмом выполнения шагов.
Локомоционные алгоритмы передвижения шестиногих мобильных
роботов можно разделить на несколько групп по схеме включения ног. Так
называемый алгоритм 3+3 можно поделить на 3 подгруппы:
животноподобный, инсектоподобный и комбинированный. Есть также такие
алгоритмы как, инсектоподобный алгоритм 4+2 и инсектоподобный
алгоритм 5+1. Подробное описание данных локомоционных алгоритмов
приведено в следующем разделе.
Одним из простых способов передвижения робота можно
использовать, способ передвижения робота, при котором все ноги
одновременно производят действие, и как опору в этот момент робот
8
использует низ корпуса. Но называть данный способ передвижения
походкой нельзя и это является грубейшей ошибкой.

1.1.2 Типы алгоритмов перемещения

В данном разделе подробнее описаны два основных существующих


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

Рисунок 1- Схема алгоритма инсектоподобного перемещения

Из состояния покоя происходит поднятие конечности, затем


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

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

Рисунок 2 - Схема алгоритма инсектоподобного перемещения


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

1.1.3 Описание локомоционных алгоритмов шестиногих роботов

В данном разделе приведено подробное описание локомоционных


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

10
отличается, по способу изменения положения ног и направлению
прямолинейного движения, от инсектоподобного 3+3 алгоритма.
Данный алгоритм реализуется только с теми конечностями, у которых
может быть изменено положение опорной части сегмента, с двумя или более
сочленениями. Немаловажным фактором считается, чтобы ноги робота были
расположены параллельно. Когда робот ориентирован по стороне, например,
когда в конструкции робота используется продолговатый или вытянутый
корпус, алгоритм реализует движение боком. При осесимметричной
конструкции робота ориентированность отсутствует, поэтому в этом случае
движение классифицируется произвольным образом.
Про инсектоподобный 3+3 алгоритм, можно сказать, что он схож с
вышеописанным алгоритмом, с некоторыми исключениями. Здесь мы видим,
что реализуется не только прямолинейное движение, а также направление
движения по прямой линии возможно параллельно оси симметрии робота
как изображено на рисунке 3. Робот осуществляет движение вперёд, когда
две его конечности осуществляют поворот в направлении движения, а одна в
противоположном. При повороте трёх опорных ног осуществляется разворот
робота.
Данный алгоритм реализуется при использовании корпусов любой
конструкции и ног любого типа. В случае, когда используется
осесимметричный корпус, для реализации алгоритма может потребоваться
использование ног робота с несколькими степенями свободы.

Рисунок 3 – Схема работы конечностей

Комбинированным 3+3 Алгоритмом называется - алгоритм в котором


комбинированы несколько типов перемещения, то есть используются
11
животноподобный и инсектоподобный типы перемещения. Конечности, как и
в прошлых алгоритмах, должны быть разделены на две части, которые
образуют треугольники. В каждой группе одна конечность использует
животнободобный способ, а две другие конечности используют
инсектоподобный. Схема работы конечностей представлена на рисунке 4.
Данный алгоритм реализует движение по прямой линии. Расположение
ног робота использующих животноподобный алгоритм, характеризуют
направленность движения, которая происходит параллельно оси данных
конечностей. Условия его реализации аналогичны животноподобному 3+3
алгоритму.

Рисунок 4 – Работа конечностей для комбинированного 3+3 алгоритма

При использовании инсектоподобного 4+2 алгоритма ноги робота


симметрично делятся на три пары: первая расположена впереди, вторая
посередине, третья в задней части корпуса.. Четыре опорные ноги совершают
отталкивание, а поднятые две ноги переносятся вперед. Эти пары ног
поочередно выполняют перемещение. Условия его реализации аналогичны
инсектоподобному 3+3 алгоритму.
При использовании инсектоподобного алгоритма 5+1 каждая нога
поочерёдно отрывается от поверхности, и переносятся вперед. Когда каждая
конечность совершила данное действие, они перемещаются назад и тем
самым продвигают робота в заданном направлении движения. Реализация
данного алгоритма может производиться на роботе с любой конструкцией,

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

1.1.4 Конструкции ног шестиногих роботов

Ногой робота называют такую часть конструкции робота, которая


производит локомоционные действия. Существует несколько типов ног, и
выбор конкретной конструкции ноги робота влияет на реализацию алгоритма
передвижения. Нога робота характеризуется несколькими параметрами:
конструкцией рычагов, количеством степеней свободы или параметрами
специфических компонентов. Виды конструкций ног шестиногих мобильных
роботов можно поделить на несколько групп: рычажные конструкции,
телескопические конструкции и полукруглые конструкции ног. Рычажные
конструкции ног можно поделить на две группы: однорычажную и
многорычажную. Однорычажные конструкции делятся на две подгруппы:
односегментную и многосегментную. Разберём данные виды конструкций
ног шагающих мобильных роботов поподробнее.
На рисунке 5 представлена однорычажная односегментная конструкция
ноги робота, которая жестко сконфигурирована и вращается в двух
плоскостях, то есть имеет две степени свободы. Робот с такой конструкцией
ноги может осуществлять движение прямолинейное при продолговатой
форме корпуса, а также регулировку высоты и разворот на месте робота в
небольших пределах. Для последнего типа движения нужны определённые
условия, такие как мощность приводов, масса робота и характер
поверхности, так как конечности будут проскальзывать при изменении
высоты. Для осуществления спуска опорные точки будут отодвигаться в
стороны, а при подъёме сдвигаться под нижнюю часть корпуса.

13
Рисунок 5 – Однорычажная односегментная конструкция ноги

На рисунке 6 представлена однорычажная многосегментная


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

Рисунок 6 – Однорычажная многосегментная конструкция ноги

На рисунке 7 представлена многорычажная конструкция ноги, которая


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

Рисунок 7 – Многорычажная конструкция ноги

На рисунке 8 изображена телескопическая конструкция ноги, которая


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

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

Рисунок 8 – Телескопическая конструкция ноги

На рисунке 9 представлена полукруглая конструкция ноги, которая,


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

Рисунок 9 – Полукруглая конструкция ноги

1.2 Обзор существующих шагающих мобильных роботов

Разработка шагающих роботов производится в таких компаниях как


BostonDynamics и НПО «Андроидная техника».

16
Рассмотрим сначала разработку зарубежной компании, робот который
называется BigDog. На сайте производителя сказано, что на испытаниях
робот прошёл 20,48 км без заправки при этом скорость движения этого
робота 6,4 км/ч. Делаем вывод, что время автономной работы составляет
приблизительно составляет 3,2 часа. Масса робота составляет 110 кг, а
грузоподъёмность 154 кг. Предельный угол подъема составляет 35°. BigDog
изображёный на рисунке 10 имеет сложную конструкцию ног. Общее число
гидродвигателей на ноги равно шестнадцати, по четыре для каждой из ног,
два приходятся на бедренный сустав, и по одному на коленный и
голеностопный суставы. Каждый из гидродвигателей состоит из
сервоклапана, гидроцилиндра, а также датчиков силы и положения. Данный
робот обладает хорошей системой стабилизации положения: во время
испытаний он не падал при сильных толчках и при проходе по льду. К
недостаткам робота можно отнести недостаточную статическую
устойчивость, малую максимальную длину шага, процесс разворота и
маневрирования занимает много времени и, соответственно много и
энергозатрат. Кинематические пары вращения ноги позволяют применять
высокоэффективные электродвигатели вращения.

Рисунок 10-Конструкция робота BigDog

17
Следующим рассмотрим устройство, лишённое недостатков
предыдущей конструкции. Робот RHex обладает шестью ногами,
приводимыми в движение шестью независимыми двигателями. В данном
роботе используется полукруглая конструкция ноги, что позволяет на
определенном этапе цикла работы перекатываться, что повышает
эффективность конструкции. Как заявлено на сайте производителя робот
может преодолевать препятствие высотой 21,25 см, подниматься под углом в
75°, а спускаться под углом 54°, режим автономной работы 6 часов и полная
изоляция от воды. Вес устройства 12,375 кг. К другим преимуществам можно
отнести чрезвычайную простоту конструкции и управления в режиме
преодоления препятствий, легкость, а как следствие и малую себестоимость
изготовления ног робота. К основным минусам можно отнести плохую
управляемость устройства, обусловленную конструкцией ног и выбранным
способом осуществления движения. Робот RHex представлен рисунке 11.

Рисунок 11- Робот RHex.

Последним рассмотрим робота компании НПО «Андроидная техника»


MR-200, который изображён на рисунке 12. За счет специальной
конструкции платформы на шести конечностях, осуществляется высокая
проходимость мобильной платформы. MR 200 – может совершать движение
в любом направление и совершать обход любых препятствий стоящих у него
на пути. На платформе установлено шесть животноподобных конечностей.
Основной недостаток робота малое время автономной работы, не
превышающее 30 минут.
18
Рисунок 12-Конструкция робота MR-200

Рассмотрев все выше перечисленные модели, можно сделать вывод,


что конечности имеют от 1 до 4 степеней подвижности, которые позволяют
конструкции осуществлять перемещение в пространстве. Число ног
изменяется от 4 до 6. Большое число ног в рассмотренных конструкциях
повышает вариативность перемещений или устойчивость роботов.
Согласно техническому заданию нам надо разработать модель шагающего
робота средних размеров, из этого следует, что конструкция робота BigDog
не подходит из-за слишком больших габаритов, а робот MR-200 не подходит
из за его малой грузоподъёмности. Проведённый анализ показал, что более
подходящей конструкцией обладает робот RHex, так как его габариты не
слишком малы и не превышают габариты определённые техническими
требованиями, а главным аспектом считается простота конструкции
конечностей этого робота.

19
1.3 Выводы аналитического обзора

Из аналитического обзора были определены основные принципы


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

Рисунок 13 – Конструкция шагающего мобильного робота


20
2 Разработка модели шагающего мобильного робота

В данном разделе приведена информация по разработке модели


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

2.1 Расчёт характеристик двигателей

Для выбора приводов мобильного колесного робота необходимо


рассчитать их основные характеристики. Масса робота равна 20кг,
грузоподъёмность согласно техническому заданию 17кг, соответственно
масса робота с полезной нагрузкой будет равняться 37кг. Максимальная
скорость согласно техническим требованиям представленным в техническом
задании равняется 2 м/с. Вычислим линейное ускорение необходимое для
достижения максимальной скорости на расстоянии 1м.
Скорость равняется:
𝑣 2 = 𝑣02 + 2𝑎𝑑 (1)
где d расстояние пройденное роботом.
Следовательно, линейное ускорение равно:
𝑣 2 − 𝑣02 4
𝑎= = = 2м/с2 (2)
2 2
Рассчитываем угловую скорость:
ω = V/R = 2/0,175 = 11,428 рад/с, (3)
где V – максимальная скорость, равная 2 м/с;
R – радиус вращения полукруглой ноги.

Рассчитываем силу:
F = m∙a = 37∙2 = 74 Н, (4)
где m – масса платформы.
21
Так как для осуществления движения у нас используется 3 привода, сила на 1
двигатель будет примерно равна 24,6 Н.
Рассчитываем вращательный момент на валу:
M = F∙r = 24,6∙0,175 = 4,31 Н∙м, (5)
где r – радиус вращения ноги робота.
Рассчитаем мощность двигателя:
𝑃 = 𝑀 ∗ 𝜔 = 4,31 ∗ 11,428 = 49,3 Вт (6)
Выбираем двигатель с мощностью не менее 50 Вт.

22
2.2 Выбор двигателя

Для разрабатываемого шагающего робота выберем бесколлекторные


двигатели. Они обладают наилучшими показателями КПД и показателем
мощности на килограмм собственного веса, с наиболее широким диапазоном
изменения скорости вращения и переносят большую нагрузку по моменту.
Следуя расчетам, был выбран бесколлекторный двигатель постоянного
тока компании Maxon motor – EC 45 flat. Основные параметры двигателя
представлены в таблице 1.
Таблица 1 – Характеристика двигателя EC 45 flat
POUT,Вт 50

VN,В 24

nN,об./мин 5240

nL,об./мин 6710

MN,мНм 83.4

IN,А 2.33

Датчик Холла Да

Расположение Односторонний
вала
TA,°C от -40 до 100

Масса,г 110

Размер: Ø,мм 42.8

Размер: Д,мм 21.3

Подробная характеристика двигателя приведена в Приложении А.

2.3 Выбор редуктора

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


отношение, которое вычисляется по формуле:
23
𝑛вх
𝑖ред = (7)
𝑛вых

𝑖ред − передаточное отношение, 𝑛вх − входной момент вращени,


𝑛вых − выходной момент вращения
Выходной момент вращения должен быть равен 120 об/мин,
следовательно, передаточное отношение редуктора будет равно:
5240
𝑖ред = ≈43 (8)
120
Модульная система компании Maxon motor позволяет подобрать
Необходимое сочетание двигатель-редуктор.
Таким образом был выбран планетарный редуктор GP 42 C, основные
параметры приведены в таблице 2.

Таблица 2 – Характеристика редуктора GP 42 C


i 43
Ступеней 3
MN,Нм 15
КПД,% 72
Люфт,° 1
nM (макс.),об./мин 8000
TA,°C от -40 до 100
Масса,г 460
Размер: Ø,мм 10
Размер: Д,мм 70

Подробные характеристики редуктора приведены в Приложении Б.

24
2.4 Разработка конструкции шагающего робота

Исходя из проведённого в ходе выпускной квалификационной работы


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

2.4.1 Разработка ноги мобильного робота

В качестве конструкции ноги выбрана полукруглая конструкция, её


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

Рисунок 14 – Конструкция ноги шагающего мобильного робота


25
2.4.2. Разработка корпуса шагающего мобильного робота

Корпус выполняется в виде гексапедальной конструкции продолговатой


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

Рисунок 15 – Конструкция рамы

Для размещения в корпусе контроллеров положения EPOS2 24/5 были


разработаны специальные основания. Ниже на рисунке 16 изображена данная
конструкция.

26
Рисунок 16 – Конструкция основания для контроллеров

Для размещения в роботе моторов и редукторов были разработаны


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

27
Рисунок 17 – Расположение деталей робота

28
Далее мы установили в корпус робота контроллеры EPOS2 24/5, что
представлено на рисунке 18. 3D модель шагающего мобильного робота со
всеми установленными компонентами представлена на рисунке 19.

Рисунок 19 – Расположение элементов внутри робота

Рисунок 19 – 3D модель шагающего мобильного робота

29
3 Разработка системы управления

В данном разделе приведена информация по разработке системы


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

3.1 Разработка структурной схемы

Управление двигателями постоянного тока производится


контроллерами положения EPOS2 24/5. Устройство управления и
позиционирования шагающим мобильным роботом осуществляет управления
всей системой. Микроконтроллер stm32f407vg является ведущим
устройством в CANOpen сети, ведомыми являются контроллеры положения
EPOS2 24/5. Напрямую передавать с микроконтроллера управляющие
команды на ведомые устройства не является возможным, поэтому был
выбран специальный CAN трансивер AIMS 30663. CAN интерфейс
обеспечивает взаимодействие между устройствами и поддерживает их
совместную роботу. Также устройство оснащено различными датчиками,
такими как акселерометр LSM303DLHC и гироскоп L3GD20. Данные
датчики позволяют определять положение шагающего мобильного робота
относительно поверхности и формировать за счёт этого управляющие
команды. Для обеспечения беспроводного управления на борту устройства
размещён Bluetooth модуль. Структурная схема устройства
позиционирования и передачи данных представлена в виде блоков на
рисунке 20.

30
СAN трансивер Микроконтроллер Акселерометр

Гироскоп
Источник Модуль
питания Bluetooth

Рисунок 20 – Структурная схема устройства управления и позиционирования


Микроконтроллер – STM32F407VG;
Акселерометр – LSM303DLHC;
Гироскоп – L3GD20;
СAN трансивер- AMIS−30663
Управление происходит микроконтроллером STM32F407VG,
являющийся основным в данной системе. Показания с акселерометра и
гироскопа помогают определять положение шагающего мобильного робота
относительно поверхности. СAN трансивер нужен для корректной передачи
управляющих команд на контроллеры положения EPOS2 24/5.
Общая структурная схема системы представлена в виде блоков на
рисунке 21.

Устройство управления и
позиционирования
CANopen Slave Network CANopen Slave Network

EPOS2 EPOS2 EPOS2 EPOS2 EPOS2 EPOS2


24/5 24/5 24/5 24/5 24/5 24/5

Двигатель Двигатель Двигатель Двигатель Двигатель Двигатель


+ + + + + +
Редуктор Редуктор Редуктор Редуктор Редуктор Редуктор
+ + + + + +
датчик датчик датчик датчик датчик датчик
Холла Холла Холла Холла Холла Холла

Рисунок 21 – Общая структурная схема


31
Двигатель – ЕС 45 flat
Редуктор – GP 42 С
Управление происходит микроконтроллером stm32f407vg. По СAN
интерфейсу микроконтроллер stm32f407vg, который является ведущим
устройством в данной сети, производит управление и взаимосвязь с
контроллером EPOS2 24/5, который является ведомым. Также в устройстве
управления имеется трёхосевой акселерометр, который позволит нам
определять положение робота относительно поверхности. USB понадобится
нам для реализации беспроводного управления.

3.2 Выбор элементов питания

Для того чтобы система могла работать автономно её нужно


обеспечить питанием.
Вычислим требуемое напряжение под нагрузкой, используя
приведённую формулу. Формула учитывает максимальный коэффициент
заполнения выходного ШИМ сигнала 90% и максимальное падение
напряжения 1В на силовых ключах EPOS2 24/5.
𝑈н ∆𝑛 1
𝑉𝑐𝑐 = × (𝑛𝑝 + × 𝑀р ) × +1 (9)
𝑛0 ∆𝑀 0,9
Где: 𝑀р − рабочий момент двигателя, мНм;
𝑛𝑝 − рабочая скорость двигателя, об/мин;
𝑈н − номинальное напряжение, В;
об
𝑛0 − скорость холостого хода при напряжении 𝑈н , ;
мин
об
∆𝑛
− крутизна механической характеристики двигателя, мин ;
∆𝑀 мНм
Vcc – требуемое напряжение питания, В.

24 696,6 1
𝑉𝑐𝑐 = × (5240 + × 83,4) × + 1 = 22,9 (10)
6710 1470 0,9

32
Следуя из вычисленного требуемого напряжения под нагрузкой,
выберем элементы питания с напряжением 22 В.
Для автономной работы будут использоваться Li-Po аккумуляторы с
количеством элементов в сборе 3.
Электрическая мощность двигателя W = 0.05 кВт; напряжение батареи
V = 24 В; требуемое время работы от батареи 1 час.
Суммарная емкость аккумуляторов:
Eс = W*H = 0.05*1*100 = 5 А*час (11)
Поскольку требуемое время работы равно 1 час, нужно увеличить
рассчитанную емкость на 28%. Получим:
Емкость аккумулятора равна 6.4 А*час(6400мАч).
Наиболее подходящей по эти параметрам считается аккумуляторная
батарея Black Magic Li-pol 11.1V 6400mAh, 30C, 3s, TRX Plug. Для установки
аккумулятора на модель шагающего мобильного робота на сайте
дистрибьютора можно докупить пластину крепления аккумулятора.

33
3.3 Разработка схемы электрической принципиальной устройства
управления.

Разработаем схему электрическую принципиальную устройства


позиционирования и передачи данных.
В ГОСТ 2.701-84 принципиальная схема определяется как схема,
определяющая полный состав элементов и связей между ними и, как
правило, дающая детальное представление о принципах работы изделия.
Строим принципиальную схему микропроцессорной системы с учетом
требований элементной базы, логики работы, электрического согласования,
требований к электромонтажу. Проводятся необходимые расчеты
нагрузочной способности, параметров времязадающих цепей, фильтрующих
элементов. Составляем перечень элементов, он представлен в приложении В.
Для разработки схемы электрической принципиальной устройства
необходимы инструкции по применению микроконтроллера STM32F407VG,
акселерометра LSM303DLHC, гирскопа L3GD20 и CAN трансивера AIMS-
30663
Из них берем стандартные схемы подключения этих устройств. Схему
подключения компонентов находим в datasheet.
Схема электрическая принципиальная приведена в приложении А.

34
3.3 Разработка схемы электрической соединений

Разработаем схему электрическую подключения устройства


управления мобильным роботом.
Для разработки схемы электрической подключения необходимы
инструкции по применению отладочной платы stm32f4-Discovery,
контроллера положения EPOS2 24/5, двигателя EC 45 flat и руководство по
обмену информацией EPOS2. Из них берем стандартные схемы подключения
этих устройств.
Контроллер maxon motor EPOS2 24/5 это цифровой контроллер
позиционирования, модульного исполнения. Он подходит для управления
коллекторными и бесколлекторными двигателями постоянного тока
мощностью от 1 до 700. Несколько рабочих режимов обеспечивают гибкое
применение контроллеров в различных электроприводах.
Чертёж схемы электрической соединений приведён в приложении А.

35
4 Разработка программного обеспечения

В данном разделе приведена разработка программного обеспечения к


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

4.1 Разработка интерфейса взаимосвязи с контроллерами


положения

Для взаимосвязи в внутри системы шагающего мобильного робота


используется CAN интерфейс. Формат пакета данных представлен на
рисунке 22.
- Пакет данных начинается с доминирующего бита Начала пакета (SOF) для
жесткой синхронизации всех узлов. (1 бит-Сигнализирует начало передачи
кадра)
- За битом начала пакета следует поле арбитража, отражающее содержание и
приоритет сообщения. (11 бит - Уникальный идентификатор и 1 бит – запрос
на передачу, должен быть доминантным)
- Следующее поле – Контрольное поле – главным образом определяет число
байт данных, содержащихся в сообщении.(1 бит – расширение
идентификатора, должен быть доминантным, 1 бит – резерв, 4 бит – длина
поля данных в байтах(0-8))
- Поле данных. (От 0 до 8ми байт – передаваемые данные (длина поля
указана в DLC))
- Поле Циклической Проверки Избыточности (CRC) используется для
определения возможных ошибок передачи. (15 бит – контрольная сумма
всего пакета, 1 бит - Разграничитель контрольной суммы, должен быть
рецессивным)
- В поле Подтверждения (ACK), передающий узел посылает рецессивный
бит. Любой узел, получивший пакет данных без ошибок, подтверждает

36
корректный прием пакета возвращением доминантного бита. (1 бит –
промежуток подтверждения)
- Рецессивные биты Конца пакета (EOF) завершают пакет данных. Между
двумя кадрами должен быть 3-битный интервал. (7 бит – конец пакета
данных)

Рисунок 22 – Формат пакета данных


Сначала конфигурируем интерфейс CAN: запускаем тактирование
GPIO и CAN (используем CAN1), настраиваем ножки порта GPIO, и
переходим к настройке CAN — общие настройки, настройки приёмника
сообщений и параметры адресации. В конце включаем прерывания по
приёму. Разработанная программа настройки CAN-интерфейса приведена в
приложении Г.

4.2 Разработка программы перемещения робота

Основным перемещением робота является движение вперёд. Для


данного вида перемещения используется животноподобный 3+3 алгоритм
передвижения. Ноги робота должны быть разделены на две части, таким
образом, что в одну часть входят три ноги, одна из которых располагается с
одной стороны посередине корпуса, а две с противоположной стороны по
краям корпуса (спереди и сзади), образуя так называемые треугольники.
Схема алгоритма программы реализации данного движения представлена на
рисунке 23.

37
Начало

Выбор вида
перемещения

Задание
параметров
двигателя

Включение тройки
двигателей

Вращение по
направлению
движения

Конечности 0
совершили оборот

Остановка
двигателей

Смена тройки
двигателей

Рисунок 23 – Схема алгоритма программы движения вперёд робота


38
Также одним из видов перемещения робота является разворот. Из за
особенностей конструкции ног робота разворот производится на месте. Для
данного вида перемещения используется 3+3 алгоритм передвижения. Ноги
робота должны быть разделены на две группы, образуя так называемые
треугольники. Схема Алгоритма программы представлена на рисунке 24.

Начало

Выбор вида
перемещения

Задание
параметров
двигателя

Включение тройки
двигателей

Вращение 2х двигателей по
направлению движения, и одного в
противоположную сторону

Конечности 0
совершили оборот

Остановка двигателей

Смена тройки
двигателей

Рисунок 24 – Схема алгоритма программы разворота робота

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

40
Заключение

В данной выпускной квалификационной работе была разработана


модель шагающего мобильного робота и программно-аппаратный комплекс ,
а также проведён аналитический обзор в области алгоритмов передвижения
шагающих робототехнических устройств.
В ходе выполнения работы над проектом был решен ряд задач:
1.Проведен поиск теоретических материалов по видам передвигающихся
роботов, типов конструкций и алгоритмов походок шестиногих роботов, а
также обзор существующих шагающих роботов. Полученные данные
послужили базой знаний для реализуемого проекта. С её помощью были
определены критерии и варианты выбора алгоритма;
2.Спроектирована модель шестиногого шагающий мобильного робота;
3.Разработана системы управления роботом;
4.Разработана программа взаимосвязи по CAN интерфейсу;
5.Разработан алгоритмы разных видов передвижения робота.
Также в работе представлена конструкторская документация на
устройство управления, которая в свою очередь включает в себя схему
электрическую соединений и перечень элементов к ней. Также в работе
приведена программа взаимосвязи по CAN интерфейсу.
В процессе выполнения выпускной квалификационной работы были
применены и улучшены навыки: программирования на языке C++ и работы в
КОМПАС 3D.
Результатом выполнения данной выпускной квалификационной работы
является программа взаимосвязи по СAN интерфейсу и 3D модель
шагающего мобильного робота.

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

1. [Boston Dynamics] Сайт компании Boston Dynamics. –


http://bostondynamics.com
2. [Edward Z. Moore, 2002] Edward Z. Moore. Leg Design and Stair Climbing
Control for the RHex Robotic Hexapod. - Department of Mechanical
Engineering McGill University, 2002.
3. [Laboratory on Legs] An Architecture for Adjustable Morphology with
Legged Robots Department of Mechanical Engineering McGill University,
2002.
4. [Academic] Академик. Сайт-словарь. Источник: «Биологический
энциклопедический словарь.» Гл. ред. М. С. Гиляров; Редкол.: А. А.
Бабаев, и др. — 2-е изд., исправл. — М.: Сов. Энциклопедия, 1986. –
http://dic.academic.ru/dic.nsf/dic_biology/2989/ЛОКОМОЦИЯ
5. [Maxon motor] Каталог товаров «Мир приводных технологий» 2015-
2016. (дата обращения: 5.03.2016)
6. [Maxon motor] EPOS2 24/5 контроллер положения «Руководство по
аппаратной части» (дата обращения: 23.04.2016)
7. [Maxon motor] EPOS2 «Руководство по обмену информацией. (дата
обращения: 10.06.2016)
8. [STMicroelectronics] Stm32f4-Discovery «User Manual» (дата
обращения: 10.06.2016)

42
Приложение А

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

Рисунок 19 – Характеристики мотора


43
Приложение Б

На рисунке 20 представлены характеристики редуктора.

Рисунок 20 – Характеристики редуктора


44
Приложение В

Конструкторская документация

В ходе курсовой работы была разработана конструкторская


документация
1) Деталировочные чертежи ноги робота, фиксатора и основания под
редуктор представлены на трёх листах формата А4;
2)Деталировочный чертеж верха, низа рамы представлен на формате
A3;
2) МС421711.001 Э3 - схема электрическая принципиальная
микропроцессорного устройства управления, выполненная на 1 листе
формата А3;
2) МС421711.001 ПЭ - перечень элементов к схеме электрической
принципиальной, выполненный на 2 листах формата А4;
3) МС421711.002 - печатная плата устройства управления,
выполненная на 1 листе формата А3;
4) МС421711.003СБ – сборочный чертеж, выполненный на 1 листе
формата А3;
5) МС421711.003 - спецификация к сборочному чертежу, выполненная
на 2-х листах формата А4;
6) МС421711.003Д1 - Файлы для изготовления печатных плат;
7) МС421711.004 Э4 - Схема электрическая соединений выполнена на
1 листе формата А1.

45
Приложение Г

Разработанная программа по настройке взаимосвязи по CAN


интерфейсу представлена на рисунке 21.

#include "stm32f40x_adc.h"
#include "stm32f40x_dma.h"
#include "stm32f40x_gpio.h"
#include "stm32f40x_rcc.h"
#include "stm32f40x_misc.h"
#include "stm32f40x.h"
CAN_InitTypeDef CAN_InitStructure;
CAN_FilterInitTypeDef CAN_FilterInitStructure;
CanTxMsg TxMessage;

void CAN1_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;

/* CAN GPIOs configuration */

/* Enable GPIO clock */


RCC_AHB1PeriphClockCmd(CAN1_GPIO_CLK, ENABLE);

/* Connect CAN pins to AF9 */


GPIO_PinAFConfig(CAN1_GPIO_PORT, CAN1_RX_SOURCE, CAN1_AF_PORT);
GPIO_PinAFConfig(CAN1_GPIO_PORT, CAN1_TX_SOURCE, CAN1_AF_PORT);

Рисунок 21 – Программа CAN-интерфейса

46
/* Configure CAN RX and TX pins */
GPIO_InitStructure.GPIO_Pin = CAN1_RX_PIN | CAN1_TX_PIN;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(CAN1_GPIO_PORT, &GPIO_InitStructure);

/* CAN configuration */
/* Enable CAN clock */
RCC_APB1PeriphClockCmd(CAN1_CLK, ENABLE);

/* CAN register init */


CAN_DeInit(CAN1);

/* CAN cell init */


CAN_InitStructure.CAN_TTCM = DISABLE;
CAN_InitStructure.CAN_ABOM = DISABLE;
CAN_InitStructure.CAN_AWUM = DISABLE;
CAN_InitStructure.CAN_NART = ENABLE;
CAN_InitStructure.CAN_RFLM = DISABLE;
CAN_InitStructure.CAN_TXFP = DISABLE;
CAN_InitStructure.CAN_Mode = CAN_Mode_Normal;
CAN_InitStructure.CAN_SJW = CAN_SJW_1tq;

/* CAN Baudrate = 125 kBps (CAN clocked at 42 MHz) */


CAN_InitStructure.CAN_BS1 = CAN_BS1_3tq;
CAN_InitStructure.CAN_BS2 = CAN_BS2_3tq;

Рисунок 21 – Продолжение

47
CAN_InitStructure.CAN_Prescaler = 12;
CAN_Init(CAN1, &CAN_InitStructure);
/* CAN filter init */
CAN_FilterInitStructure.CAN_FilterNumber = 0;
CAN_FilterInitStructure.CAN_FilterMode = CAN_FilterMode_IdMask;
CAN_FilterInitStructure.CAN_FilterScale = CAN_FilterScale_32bit;
CAN_FilterInitStructure.CAN_FilterIdHigh = 0x0000;
CAN_FilterInitStructure.CAN_FilterIdLow = 0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdHigh = 0x0000;
CAN_FilterInitStructure.CAN_FilterMaskIdLow = 0x0000;
CAN_FilterInitStructure.CAN_FilterFIFOAssignment = 0;
CAN_FilterInitStructure.CAN_FilterActivation = ENABLE;
CAN_FilterInit(&CAN_FilterInitStructure);

/* Transmit Structure preparation */


TxMessage.StdId = 0x321;
TxMessage.ExtId = 0x01;
TxMessage.RTR = CAN_RTR_DATA;
TxMessage.IDE = CAN_ID_STD;
TxMessage.DLC = 1;

/* Enable FIFO 0 message pending Interrupt */


CAN_ITConfig(CAN1, CAN_IT_FMP0, ENABLE);
CAN_ITConfig(CAN1, CAN_IT_FMP1, ENABLE);
CAN_ITConfig(CAN1, CAN_IT_TME, ENABLE);
}

Рисунок 21 – Продолжение

48
CanTxMsg TxMessage;
TxMessage.StdId=134222929;
TxMessage.ExtId=458227712;
TxMessage.Data[0] = 0;
TxMessage.Data[1] = 1;
TxMessage.Data[2] = 2;
TxMessage.Data[3] = 3;
TxMessage.Data[4] = 4;
TxMessage.Data[5] = 5;
TxMessage.Data[6] = 6;
TxMessage.Data[7] = 7;
CAN_Transmit(CAN1, &TxMessage);
void CAN1_RX0_IRQHandler (void)
{
if (CAN_GetITStatus(CAN1,CAN_IT_FMP0))
{
CAN_ClearITPendingBit(CAN1, CAN_IT_FMP0);
CanRxMsg msg_buf;
CAN_Receive(CAN1, CAN_FIFO0, &msg_buf);

uint32_t a, b, data;

data=((((((msg_buf.Data[0]*255+msg_buf.Data[1])*255+msg_buf.Data[2])*255+msg_b
uf.Data[3])*255+msg_buf.Data[4])*255+msg_buf.Data[5])*255+msg_buf.Data[6])*255+msg_b
uf.Data[7];
a=data/100000; b=data%100000;
printf("%d%drn", a, b);
}
}

Рисунок 21 – Продолжение

49