Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

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

Покупка
Новинка
Основная коллекция
Артикул: 844517.01.99
Во второй книге курса «Основы микропроцессорной техники» подробно рассмотрены вопросы разработки шагающих роботов на базе Arduino. Если в первой книге основное внимание уделялось программированию «с нуля», основам пайки, работе датчиков и т. д., то здесь рассмотрены уже более прикладные вопросы, такие как кинематика шагающих роботов и принцип работы сервоприводов, стабилизация питания. Прочитав книгу, вы научитесь выполнять анализ простейших электромеханических систем, таких как манипуляторы, конечности шагающих роботов, научитесь делать их математическое описание и переводить в программный код. Подробно рассмотрены вопросы стабилизации питания сервомоторов, устранения рывков при движении, шага робота, плавности шага, удержания равновесия при ходьбе. По окончании изучения материала вы разработаете два больших проекта - «Сварщик-манипулятор с дистанционным управлением» и «Шагающий робот-собака». Для педагогов, преподающих робототехнику и программирование в школах, детских центрах, кружках. Книга подойдет для самостоятельной работы ребят вместе с родителями. Может быть полезно всем, кому нравится конструировать, программировать, изобретать.
Юфкин, Е. А. Основы микропроцессорной техники для школьников и студентов. Шагающие роботы на базе Arduino : учебное пособие / Е. А. Юфкин. - Москва ; Вологда : Инфра-Инженерия, 2024. - 116 с. - ISBN 978-5-9729-2167-6. - Текст : электронный. - URL: https://znanium.ru/catalog/product/2173285 (дата обращения: 20.09.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов
 
 
 
 
Е. А. Юфкин 
 
 
 
 
 
 
ОСНОВЫ МИКРОПРОЦЕССОРНОЙ ТЕХНИКИ 
ДЛЯ ШКОЛЬНИКОВ И СТУДЕНТОВ 
 
ШАГАЮЩИЕ РОБОТЫ  
НА БАЗЕ ARDUINO 
 
 
Учебное пособие 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Москва    Вологда 
«Инфра-Инженерия» 
2024 
ϭ



УДК 621.3.049.77 
ББК 32.844.1 
Ю93 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Юфкин, Е. А. 
Ю93   
Основы микропроцессорной техники для школьников и студентов. Шагающие роботы на базе Arduino : учебное пособие / Е. А. Юфкин. - Москва ; Вологда : 
Инфра-Инженерия, 2024. - 116 с. : ил., табл. 
ISBN 978-5-9729-2167-6  
 
Во второй книге курса «Основы микропроцессорной техники» подробно рассмотрены вопросы разработки шагающих роботов на базе Arduino. Если в первой книге основное внимание уделялось программированию «с нуля», основам 
пайки, работе датчиков и т. д., то здесь рассмотрены уже более прикладные 
вопросы, такие как кинематика шагающих роботов и принцип работы сервоприводов, стабилизация питания. Прочитав книгу, вы научитесь выполнять анализ 
простейших электромеханических систем, таких как манипуляторы, конечности 
шагающих роботов, научитесь делать их математическое описание и переводить в программный код. Подробно рассмотрены вопросы стабилизации питания сервомоторов, устранения рывков при движении, шага робота, плавности 
шага, удержания равновесия при ходьбе. По окончании изучения материала вы 
разработаете два больших проекта - «Сварщик-манипулятор с дистанционным 
управлением» и «Шагающий робот-собака».  
Для педагогов, преподающих робототехнику и программирование в школах, 
детских центрах, кружках. Книга подойдет для самостоятельной работы ребят 
вместе с родителями. Может быть полезно всем, кому нравится конструировать, программировать, изобретать.  
 
УДК 621.3.049.77 
ББК 32.844.1 
 
 
 
 
 
ISBN 978-5-9729-2167-6 
” Юфкин Е. А., 2024 
 
” Издательство «Инфра-Инженерия», 2024 
 
” Оформление. Издательство «Инфра-Инженерия», 2024 
Ϯ



 
СОДЕРЖАНИЕ 
 
Введение 
........................................................................................................................................... 
4 
 
ЧАСТЬ 1. ОСНОВЫ СЕРВОПРИВОДА 
1. Знакомство с сервоприводом. Основные законы и понятия. Устройство .............................. 
6 
2. Особенности питания сервопривода. Сглаживающие С-фильтры ....................................... 
12 
3. Плавность регулирования движения в сервоприводе. Рассинхронизация .......................... 
17 
4. Простейшие робототехнические системы 
............................................................................... 
23 
 
ЧАСТЬ 2. РАЗРАБОТКА РОБОТА-МАНИПУЛЯТОРА 
 
1. Знакомство с конструкцией робота-манипулятора  
................................................................ 
28 
2. Разработка системы питания робота ...................................................................................... 
31 
3. Тестовый пуск манипулятора ................................................................................................... 
36 
4. Работа манипулятора в дискретном режиме. Кнопочное управление  ................................ 
40 
5. Разработка робота-сварщика 
................................................................................................... 
41 
6. Разработка дистанционного управления манипулятора 
........................................................ 
47 
 
ЧАСТЬ 3. РАЗРАБОТКА РОБОТА-СОБАКИ 
 
1. Знакомство с конструкцией робота-собаки  ............................................................................ 
52 
2. Разработка электронной начинки робота  
............................................................................... 
57 
3. Тестирование системы. Разработка алгоритма 
...................................................................... 
61 
4. Первые шаги робота ................................................................................................................. 
65 
5. Дистанционное управление роботом 
....................................................................................... 
69 
Приложение 1. Инструкция по сборке манипулятора ................................................................. 
76 
Приложение 2. Инструкция по сборке робота-собаки 
................................................................. 
95 
Приложение 3. Содержание электронного архива 
.................................................................... 
111 
Приложение 4. Календарно-тематическое планирование курса  ............................................ 
112 
Приложение 5. Список оборудования и элементов для курса 
................................................. 
113 
Приложение 6. Личная консультация 
......................................................................................... 
114 
 
 
Приложения к книге доступны для скачивания 
на сайте издательства «Инфра-Инженерия» www.infra-e.ru. 
Пароль к файлу архива: 
978-5-9729-2167-6 
https://disk.yandex.ru/d/RIo-nIdNVmWodQ 
 
ϯ



 
ВВЕДЕНИЕ 
 
Во второй книге курса «Основы микропроцессорной техники» подробно рассмотрены 
вопросы разработки шагающих роботов на базе Arduino. Если в первой книге основное внимание уделялось программированию «с нуля», основам пайки, работе датчиков и т. д.,  
то здесь рассмотрены уже более прикладные вопросы, такие как кинематика шагающих 
роботов и принцип работы сервоприводов, стабилизация питания.  
Как и первый курс, книга будет полезна детям от 10 лет и их родителям. Предлагаемый 
материал будет интересен как для детей, так и для взрослых, желающих освоить новую нишу.   
Изучение курса «Шагающие роботы» предполагает, что Вы уже освоили первый курс «Основы микропроцессорной техники», умеете писать простейшие программы, умеете чертить и паять печатные платы, не боитесь брать в руки паяльник.  
Пособие подойдет для педагогов, преподающих такие дисциплины, как «Технология», 
«Робототехника», «Программирование», а также для самостоятельного изучения курса дома 
с родителями.  
Arduino, напомню, - это не просто микрокомпьютер, а целый программно-аппаратный 
комплекс, на базе которого можно реализовать практически любые проекты. В первом курсе 
мы уже разработали пару проектов - «Умный светильник» и «Робот-пылесос». Пришло время 
расти и двигаться дальше).  
Прочитав книгу, вы научитесь делать анализ простейших электромеханических систем, 
таких как манипуляторы, конечности шагающих роботов, научитесь делать их математическое описание и переводить в программный код. 
Подробно рассмотрены вопросы стабилизации питания сервомоторов, устранение 
рывков при движении, шага робота, плавности шага, удержания равновесия при ходьбе.  
По окончании изучения материала вы разработаете два больших проекта - сварщикаманипулятора с дистанционным управлением и шагающего робота-собаку.  
¾ 
Первая глава. Посвящена таким вопросам, как стабилизация питания сервомотора 
и его устройство. Здесь мы учимся управлять сервомотором, знакомимся с базовыми понятиями робототехники. Рассматриваем простейшую электромеханическую систему - «НОГА 
ФУТБОЛИСТА». 
¾ 
Вторая глава. Во второй главе знакомимся уже с реальной «боевой» системой - 
роботом-манипулятором. Знакомимся с системой координат, учимся составлять матрицы 
движения робота. Прорабатываем алгоритм движения звеньев робота, превращаем наш манипулятор в настоящего робота-сварщика. Далее, обучаем нашего сварщика выполнять команды со смартфона.  
¾ 
Третья глава. В этой главе мы разрабатываем робота-собаку. Аналог собаки  
от Boston Dynamics, только сильно упрощенный. Выполняем САМУЮ СЛОЖНУЮ ЗАДАЧУ  
в робототехнике - УЧИМ РОБОТА ХОДИТЬ, ДЕРЖАТЬ РАВНОВЕСИЕ и НЕ ПАДАТЬ. Выполняем полный кинематический анализ системы с составлением матриц движения и написанием алгоритма движения ног робота. Шаг за шагом СНАЧАЛА учим собачку стоять, затем 
делать один шаг, затем шагать вперед и назад и, наконец, поворачивать налево и направо. 
Затем научим нашу собачку выполнять голосовые команды. На этом возможности робота не 
исчерпываются. Самые способные добавят в алгоритм робота, например, команду «сидеть» 
или «лежать». 
ϰ



Завершается курс оформлением курсовых работ по одной из предложенных тем. Ребята учатся презентовать свои проекты, отрабатывают навыки публичного выступления. 
¾ 
В приложении 1. Подробная пошаговая инструкция по сборке робота-манипулятора с рекомендациями. 
¾ 
В приложении 2. Подробная пошаговая инструкция по сборке робота-собаки с рекомендациями. 
¾ 
В приложении 3. Электронный архив. Здесь можно скачать детали для сборки роботов. Все модельки деталей в векторном виде. Их можно переслать специалисту и порезать 
лазерным резаком (либо распечатать на 3D-принтере). Здесь же представлены листинги некоторых программ по каждой главе. Архив также содержит GERBER-файлы печатных плат. 
Их можно передать специалисту для разводки и монтажа. 
¾ 
В приложении 4. Примерный образец календарно-тематического плана. Поможет 
преподавателю (либо родителям) спланировать план работ на учебный год. 
¾ 
В приложении 5. Список радиоэлементов, которых можно прикупить для самостоятельного прохождения курса. Также полезно преподавателям, планирующим занятия. 
¾ 
ЛИЧНАЯ КОНСУЛЬТАЦИЯ. Приложение 6. Возникли вопросы во время изучения 
материала" С удовольствием отвечу на них в режиме реального времени. Покупая книгу, Вы 
получаете право на 2 личные консультации.  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ϱ



 
Часть 1 
ОСНОВЫ СЕРВОПРИВОДА 
 
 
ЗАНЯТИЕ 1. ЗНАКОМСТВО С СЕРВОПРИВОДОМ.  
 ОСНОВНЫЕ ЗАКОНЫ И ПОНЯТИЯ. УСТРОЙСТВО 
Цель занятия:  
1. Познакомиться с устройством сервопривода. 
2. Познакомиться с библиотекой Servo. 
3. Выяснить основные законы сервомеханики.  
4. Написать первую программу для работы с серво. 
Материалы для занятия:  
1. Батарейный отсек с выключателем  2 аккумулятора 18650. 
2. Плата белая макетная. 
3. Плата breadboard power supply. 
4. Провода монтажные типа ПАПА-ПАПА. 
5. 1 сервомотор sg90. 
6. Arduino Nano. 
Теоретическая справка 
Что такое сервомотор" Servo в переводе с латинского означает раб или слуга. В нашем 
же случае серво - это вспомогательный или следящий электропривод с коррекцией положения выходного вала. 
Прежде чем перейти непосредственно к изучению серво, давайте разберемся, какие 
вообще бывают электродвигатели. 
Первый и самый простой - коллекторный двигатель постоянного тока. Как видно из 
рисунка 1, он имеет всего 2 провода. 
 
 
Рис. 1. Электродвигатель постоянного тока 
 
ϲ



Для того, чтобы его запустить, достаточно подключить батарейку, как на рис. 2. 
  
Рис. 2. Подключение мотора постоянного тока 
Из схемы видно, чтобы запустить такой мотор, необходимо подать на него питание 
от батареи через потенциометр (регулируемый резистор). Вращая ручку потенциометра, мы 
изменяем напряжение на моторе, тем самым изменяя его скорость вращения. 
Что касается серводвигателя, он представлен на рисунке 3. У него не 2, а целых 
3 провода Как его запустить" Давайте разберемся в его устройстве. 
 
Рис. 3. Устройство и принцип работы сервопривода 
ϳ



Как видно из рисунка 3, сервопривод - это уже не просто мотор, а целое устройство.  
В него входят: 
- мотор постоянного тока (его мы рассмотрели выше); 
- понижающий редуктор. Его задача увеличивать крутящий момент мотора и одновременно снижать его скорость. К редуктору подсоединен выходной вал и потенциометр; 
- потенциометр обратной связи (переменный резистор). Его задача выдавать на контроллер напряжение, пропорциональное углу поворота вала мотора; 
- контроллер с интегрированным H-мостом. Его задача принимать сигналы с потенциометра и выдавать на мотор разницу напряжений между поданным управляющим напряжением и сигналом с потенциометра; 
- подводящие провода. Красный провод - провод питания. На него подается  для 
питания мотора и потенциометра. Коричневый провод - общий минус для мотора и потенциометра. И, наконец, оранжевый провод - провод, на который мы будем подавать управляющий 
сигнал в виде серии импульсов - то самое управляющее напряжение, которое принимает контроллер, чтобы понять, на какой угол повернуть вал мотора.  
Из вышесказанного следует, что, чтобы повернуть вал сервомотора, нужно подать питание на красный и коричневый провод от батареи. Оранжевый провод подсоединить к какойто управляющей плате. В качестве управляющей платы возьмем уже любимый нами  
Arduino Nano. Схема подключения устройства приведена на рис. 4. 
 
Рис. 4. Схема подключения сервомотора 
 
	  ПРАКТИЧЕСКОЕ ЗАНЯТИЕ 
Итак, наша задача - научиться управлять положением вала сервопривода, познакомиться с основными командами. 
Задание 1.  
1.1. Собрать схему, приведенную ниже. Оранжевый провод подключить к порту 8  
Ардуино. Батареи питания ПОКА НЕ ВСТАВЛЯТЬ 
ϴ



 
Рис. 5. Схема подключения привода 
После сборки схемы можно подать питание на плату Arduino (запитать ее от компа через mini-USB). После подачи питания можно наблюдать легкие подергивания вала. 
Итак. Давайте познакомимся с основными командами библиотеки Servo и напишем 
программу. 
Библиотека Servo - стандартная библиотека Arduino. Ее структуру и основные  
команды мы рассмотрим чуть позже. А пока запишем в словарь программиста основные  
команды. 
 
Записать в словарь программиста: 
include <Servo.h! - подключение библиотеки серво. 
Servo ИМЯ ПЕРЕМЕННОЙ - инициализация функции серво. 
ИМЯ ПЕРЕМЕННОЙ.attach (номер ножки на контроллере) - инициализация сервомотора, привязанного к соответствующему порту контроллера. 
 
Пока, пожалуй, ограничимся этими командами. Для того, чтобы привести в движение 
мотор, нам нужно выполнить следующие действия: 
1. Объявить переменную типа Servo. 
2. Подключить в программе Servo к ножке 8 контроллера. 
3. Задать нужный нам угол поворота (в качестве примера давайте зададим 90 градусов). 
Программа представлена на рисунке 6 (файл lesson_1_1 в архиве). 
ϵ



 
Рис. 6. Программа работы сервомотора 
Прошиваем программу в контроллер, и ТОЛЬКО ТЕПЕРЬ можно вставить батарейки. 
Вал серво может немного подергиваться (это нормально, потом все исправим).  
Попробуйте повернуть вал рукой (без фанатизма). Получается" Если сервопривод исправен, то повернуть вал будет не так просто. Обратная связь по напряжению удерживает 
вал в одном положении и не дает повернуть его. 
Задание 2.  
Теперь выполните последовательный перевод вала в положения 75, затем 90, затем 
105 градусов. Вал меняет положение каждые 500 мс. Попробуйте сделать это самостоятельно.  
Теперь давайте разберемся, как же определять положение вала. Как нам понять, что 
75 градусов - это 75, а 105 - это 105" 
Для этого введем такое понятие, как градусный круг (рис. 7). 
 
Рис. 7. Градусный мерный круг 
ϭϬ