Создаем робота-андроида своими руками - Джон Ловин
Шрифт:
Интервал:
Закладка:
Уровни входов ИС UCN-5804 совместимы с выходами КМОП– и ТТЛ-логики. Это означает, что для нормальной работы схемы мы можем непосредственно соединить входы ИС с шинами выхода PIC-микроконтроллера. Входные тактовые импульсы (вывод 11) для ИС UCN-5804 генерируются PIC-микроконтроллером. Вывод управления выходом разрешает вращение ШД при подаче сигнала низкого уровня и останавливает ШД при сигнале высокого уровня.
Выводы 10 и 14 ИС UCN-5804 управляются переключателями, подающими сигналы высокого или низкого уровня. Вывод 10 управляет режимами полного или половинного шага, а вывод 14 управляет направлением вращения. При желании этими функциями можно управлять с помощью PIC. Для управления на соответствующие выводы подаются сигналы высокого или низкого уровня аналогично управлению работой выхода ИС.
Программа на PICBASIC для обеспечения работы схемы имеет следующий вид:
‘Управление шаговым двигателем через ИС UCN 5804
Symbol TRISB = 134 ‘Инициализировать TRISB как 134
Symbol PortB = 6 ‘Инициализировать PortB как 6
Poke TRISB,0 ‘Установить шины PORTB на выход
low1 ‘Установить выход на низкий уровень
start:
pulsout 0, 10000 ‘Подача 10 мс импульсов на UCN 5804
goto start ‘Повторение
В этом случае я снова написал простейшую «базовую» программу, чтобы показать, насколько просто осуществляется управление вращением ШД. Конечно, вы можете дополнить программу управлением частотой импульсов, направлением вращения и т. д.
Список деталей для контроллера ШД
• (1) микроконтроллер 16F84
• (2) конденсатор 22 пФ
• (1) кварцевый резонатор 4 МГц
• (1) резистор 4,7 кОм, 0,25 Вт
• (1) ИС таймер 555
• (1) ИС контроллер ШД UCN-5804B
• (1) Шаговый двигатель (однополярный с 6 выводами)
• (1) Понижающий трансформатор
• (6) диод 1N914
• (4) транзистор TIP 120 NPN
• (1) ИС регулятор напряжения (7805, 7812)
• (1) диодный мост 50 В, 1 А
• (1) конденсатор 150 мкФ
• (1) ИС буфер 4050
• Разное: макетная плата
Детали можно заказать в: Images Company, James Electronics, JDR MicroDevices и Radio Shack.
Для более подробной информации см. приложение в конце книги.
Глава 11
Шагающие роботы
Шагающие роботы представляют собой класс роботов, имитирующих передвижение животных или насекомых. Как правило, для передвижения роботы используют механические ноги. Передвижение с помощью ног насчитывает миллионы лет истории. По контрасту, история передвижения с помощью колеса началась от 10 до 7 тысяч лет назад. Колесное передвижение достаточно эффективно, но требует наличия относительно ровных дорог. Достаточно взглянуть на аэрофотосъемку города или его пригородов, чтобы заметить сеть переплетающихся дорог.
Цель создания шагающих роботов
Шагающие роботы могут передвигаться по пересеченной местности, недоступной для обычных колесных средств. С подобной целью обычно и создают шагающих роботов.
Имитация жизни
Совершенные шагающие роботы имитируют движения насекомых, ракообразных, и иногда – человека. Конструкции двуногих роботов редки, поскольку требуют для осуществления сложных инженерных решений. Я планирую рассмотреть проект двуногого робота в моей следующей книге с условным названием Pic-Robotics. В этой главе мы будем строить шестиногого шагающего робота.
Шесть ног – походка треножником
Используя модель с шестью ногами мы сможем продемонстрировать знаменитую походку «треножником», т е. с опорой на три ноги, которую используют большинство существ. На следующих рисунках темный кружок означает, что нога устойчиво поставлена на землю и поддерживает вес существа. Светлый кружок означает, что нога поднята и находится в движении.
На рис. 11.1 показано наше существо в позиции «стояния». Все ноги опираются о землю. Из положения «стояния» наше существо решает идти вперед. Для того чтобы сделать шаг, оно поднимает три из своих ног (см. светлые кружки на рис. 11.2), опираясь своим весом на три оставшиеся ноги (темные кружки). Заметьте, что ноги, поддерживающие вес (темные кружки), расположены в форме треножника (треугольника). Такая позиция является устойчивой, и наше существо не может упасть. Три остальные ноги (светлые кружки) могут двигаться и двигаются вперед. На рис. 11.3 показан момент движения поднятых ног. В этой точке вес существа перемещается с неподвижных на движущиеся ноги (см. рис. 11.4). Заметьте, что вес существа по-прежнему поддерживается треугольным расположением опорных ног. Затем таким же образом переставляется другая тройка ног, и цикл повторяется. Такой способ передвижения называется треножной походкой, поскольку вес тела существа в каждый момент времени поддерживается треугольным положением опорных ног.
Рис. 11.1. Треножная походка. Исходное положение
Рис. 11.2. Треножная походка, первый шаг вперед
Рис. 11.3. Треножная походка, второе движение, перенос центра тяжести
Рис. 11.4. Треножная походка, третье движение
Создание шагающего робота
Существует много моделей небольших заводных шагающих игрушек. Такие игрушечные «пешеходы» передвигают ногами вверх-вниз и вперед-назад с помощью кулачковых механизмов. Хотя такие конструкции вполне способны «шагать», а некоторые делают это достаточно проворно, нашей целью является создание шагающего робота, не использующего кулачковые механизмы для имитации шагового передвижения.
Мы будем строить робота, имитирующего треножную походку. Роботу, описанному в этой главе, требуется три сервомотора для передвижения. Существуют другие шестиногие и четырехногие модели шагающих роботов, которые требуют больших степеней свободы в своих ногах. Соответственно, наличие большего количества степеней свободы требует большего количества управляющих механизмов для каждой из ног. Если для этой цели используются сервомоторы, то для каждой ноги потребуются два, три или даже четыре двигателя.
Необходимость в таком количестве сервомоторов (приводов) диктуется тем, что требуется как минимум две степени свободы. Одна для опускания и поднимания ноги, а другая – для движения ее вперед-назад.
Шагающий робот с тремя сервомоторами
Шагающий робот, которого мы собираемся сделать, является компромиссным решением по замыслу и конструкции и требует наличия всего трех сервомоторов. Однако даже в этом случае он обеспечивает передвижение с помощью треножной походки. В нашей конструкции использованы три облегченных сервомотора HS300 (крутящий момент 1,3 кгс) и микроконтроллер 16F84-04.
Работа устройства
Перед тем как мы приступим к конструированию робота, посмотрим на готового робота, изображенного на рис. 11.5, и проанализируем, как робот осуществляет передвижение. Треножная походка, которая использована в данной конструкции, является не единственно возможной.
Рис. 11.5. Шестиногий ходок готов к прогулке
В передней части робота закреплены два сервомотора. Каждый из сервомоторов управляет движением передней и задней ног с соответствующей стороны робота. Передняя нога прикреплена непосредственно к ротору сервомотора и способна качаться вперед и назад. Задняя нога соединена с передней при помощи тяги. Тяга позволяет задней ноге повторять движения передней ноги вперед-назад. Две центральные ноги управляются третьим сервомотором. Этот сервомотор поворачивает центральные ноги вдоль продольной оси на угол от 20° до 30° по часовой стрелке и против часовой стрелки, что наклоняет робот вправо или влево.
Используя информацию о механизме привода ног, мы сейчас посмотрим, как наш робот будет передвигаться. Посмотрим на рис. 11.6. Мы начнем с положения покоя. Каждый кружок отмечает положение ноги. Как и в предыдущем случае, темные кружки показывают положение опорных ног. Обратите внимание, что в положении покоя средние ноги не являются опорными. Эти ноги на 3 мм короче передних и задних ног.
Рис. 11.6. Фазы движения шестинога
В позиции А центральные ноги поворачиваются по часовой стрелке на угол примерно 20° от центрального положения. Это приводит к наклону робота вправо. В данной позиции вес робота удерживается правой передней и задней ногами и левой центральной ногой. Это стандартная позиция «треножника», которая была описана выше. Поскольку левая передняя и левая задняя нога оказываются «в воздухе», то их можно передвинуть вперед, как показано на рис 11.6, позиция В.
В позиции С центральные ноги поворачиваются против часовой стрелки на угол примерно 20° от центральной позиции. Это приводит к наклону робота влево. В данной позиции вес робота распределяется между левой передней и задней ногами и правой средней ногой. Теперь правая передняя и задняя ноги не несут нагрузки и могут быть передвинуты вперед, как это показано на поз. D рис. 11.6.
В позиции Е центральные ноги возвращаются в среднее положение. В такой позиции робот «стоит» прямо и опирается только на передние и задние ноги. В позиции F передние и задние ноги одновременно перемещаются назад, а робот соответственно – вперед. Далее цикл движения повторяется.