Текст книги "Создаем робота-андроида своими руками"
Автор книги: Джон Ловин
Жанр: Зарубежная образовательная литература, Наука и Образование
сообщить о неприемлемом содержимом
Текущая страница: 15 (всего у книги 22 страниц)
Радиус действия нашего небольшого передатчика лежит в пределах от V 30 до 100 м. Для увеличения радиуса действия необходимо применение другой системы – она называется любительским телевидением.
Любительское телевидение существует уже в течение ряда лет. Это способ, используемый радиолюбителями для двухстороннего обмена изображениями. До недавнего времени цена оборудования была достаточно высока, поэтому такое могли позволить себе только отдельные «элитные» радиолюбители. С развитием твердотельной технологии ситуация изменилась.
Все компоненты для системы любительского телевидения мощностью 5 Вт можно приобрести за $200, исключая телевизионный монитор и видеокамеру. Для любительского телевидения подойдут камеры, используемые в роботе Голем I. Менее мощные системы любительского телевидения (0,75 Вт) можно приобрести за $100.
Для легального использования подобных систем на территории США необходима радиолюбительская лицензия Technical class. В настоящее время для получения данной лицензии знание азбуки Морзе необязательно. За дополнительной информацией можно обратиться в местный радиолюбительский клуб. Можно отправить письмо в American Radio Relay League (ARRL), 225 Main Street, Newington, CT 06111, или позвонить (800) 594-0200 или (203) 666-1541 (факс: (800) 594-0259).
Пятиваттная система любительского телевидения может обеспечить связь на расстояния до 50–70 километров в соответствии с уровнем местных помех, рельефа, погоды и т. д.
Другие модели
Полученный при конструировании системы телеслежения опыт поможет читателю в создании других моделей. Компания, производящая Erector Sets, постоянно совершенствует и обновляет ассортимент интересных конструкторских наборов, выпускаемых на рынок. Эти наборы, которые называются Meccano-Erector Sets, содержат двигатели, редукторы, шкивы и прочие стандартные детали Electro Set.
Выпускаются стандартные наборы для изготовления самоходных платформ, автомобилей, мотоциклов, вездеходов и пр. В этих наборах имеются очень хорошие платформы на пружинной подвеске, пригодные для изготовления экзотических моделей роботов. Наборы можно приобрести у местных US-дилеров Toys R.
Список деталей робота – устройства телеслежения
• (1) Миниатюрная цветная видеокамера с приемником и передатчиком диапазона 2,4 ГГц
• (1) Дополнительный батарейный отсек
• (1) Система пропорционального радиоуправления (приемник/передатчик – два канала, кварцевые резонаторы, сервомотор с крутящим моментом 1,3 кгс)
• (1) Лента адгезивная Velcro 30 см
Детали можно заказать:
Images SI Inc.
39 Seneca Loop
Staten Island, NY 10314
(718) 698-8305
Глава 10
Передвижные платформы
Платформы представляют собой основания передвижных роботов. Существует два способа: купить такую платформу или сделать ее самому. Если есть навыки слесарной работы или просто желание учиться, то изготовление платформы с самого начала имеет очевидные преимущества. Такая платформа проектируется и изготавливается специально под цели и задачи, поставленные перед роботом. При этом не имеет значения тип применяемых двигателей, редукторов, механических соединений, источников питания и т. д.
Покупка готовой платформы освобождает от ее самостоятельного изготовления. Но, с другой стороны, подходящие готовые двигатели, редукторы, источники питания и скорости движения первоначально предназначены для других целей. Одна особенность наиболее важна: большинство существующих моделей автомобилей двигаются слишком быстро. Если нет слесарных навыков, то это может быть выходом. Обычно приобретается радиоуправляемая модель электрического автомобиля. Схема радиоуправления удаляется, а электрические соединения (провода), идущие к двигателям хода и поворота, оставляются.
Вот несколько моментов, которые необходимо учитывать при покупке электрического автомобиля для последующей переделки. Во-первых, не приобретайте слишком маленький или слишком близко расположенный к земле автомобиль. В модели маленького размера трудно разместить на шасси сенсорные датчики и микроконтроллеры. Если днище автомобиля расположено слишком близко к земле, то он будет постоянно застревать. Выбирайте экземпляр с высокой колесной базой.
На рис. 10.1 изображена модель автомобиля, которую не стоит выбирать для переделки в передвижного робота. Она слишком мала, чтобы нести дополнительную нагрузку, и заметьте, насколько близко она лежит к земле. Такой автомобиль будет легко застревать. На рис. 10.2 показан лучший вариант. Размеры платформы больше (можно разместить больше деталей) и она имеет большую колесную базу.
Рис. 10.1. Небольшая модель радиоуправляемого автомобиля не подходит для переделки
Рис. 10.2. Большая модель радиоуправляемого автомобиля подходит для переделки
Шаговые двигатели
B качестве ходовых двигателей платформы лучше всего использовать шаговые двигатели. Рассмотрим некоторые преимущества таких двигателей. Поскольку шаговый двигатель поворачивается на каждом шаге на строго определенный угол, микроконтроллер может легко подсчитать пройденный путь, зная количество импульсов управления, поданных на шаговый двигатель, и диаметр ведущего колеса. В случае применения на передвижной платформе двух шаговых двигателей, по одному на каждой стороне, используемых для прямого движения и поворота, оказываются возможными повороты на точный заранее определенный угол. Ввиду особой важности шаговых двигателей для робототехники, перед тем, как проектировать и изготовлять какие либо устройства, мы подробно остановимся на принципах их работы.
Конструкция и работа шагового двигателяШаговые двигатели сконструированы с использованием постоянных магнитов и электромагнитов. Постоянные магниты находятся на вращающемся валу, который называется ротором. Электромагниты или катушки обмоток находятся в неподвижной части двигателя и носят название статора. Рис. 10.3 иллюстрирует полный цикл работы шагового двигателя. Обмотки статора, неподвижной части двигателя, со всех сторон окружают ротор.
Рис 10.3. Полный шаг
На рис 10.3, позиция 1, ротор находится в начальном положении и направлен к верхнему электромагниту, который включен. Чтобы повернуть ротор по часовой стрелке, верхний электромагнит отключают и включают обмотку правого электромагнита. Это приводит к повороту ротора на 90° по часовой стрелке по направлению к правому электромагниту, как это показано в позиции 2. Продолжая таким же образом, ротор пошагово поворачивается до полного оборота, пока не окажется в начальной позиции, как это показано на позиции 5.
РазрешениеУгол поворота на каждый поступающий импульс называется разрешением шагового двигателя. В иллюстративном примере на рис. 10.3 ротор поворачивался на 90° на импульс – не очень подходяще для практического использования. Реальные шаговые двигатели имеют гораздо большее разрешение (меньшую угловую величину шага), например имеющие угол поворота 1° на импульс (или шаг). Для завершения полного оборота на такой двигатель необходимо подать 360 импульсов. Когда шаговый двигатель используется для передвижения или линейного позиционирования на поверхности, каждый шаг двигателя преобразуется в строго отмеренное линейное перемещение.
Допустим, что один оборот двигателя соответствует 25 мм линейного перемещения. Тогда приращение линейного перемещения для двигателя с разрешением 3,75° на шаг будет составлять примерно 0,25 мм на шаг. Для двигателя с разрешением 1° на шаг соответствующее приращение составит 0,007 мм на шаг. Соответственно, приращение линейного перемещения будет обратно пропорционально количеству градусов на один шаг.
Половинный шагДля некоторых типов шаговых двигателей возможно удвоить их разрешение с помощью процесса под названием половинный шаг. Этот процесс иллюстрирован рис. 10.4. В позиции I ротор начинает вращение с верхнего электромагнита, как это было ранее. В положении II включается правый электромагнит, при этом питание катушки верхнего электромагнита сохраняется. Поскольку ток протекает через катушки обоих электромагнитов, ротор притягивается к ним обоим и занимает промежуточное положение между двумя позициями (половина шага). В позиции III обмотка верхнего электромагнита обесточивается и ротор «завершает» полный шаг. Здесь показана только одна половина шага. Очевидно, что ротор может вращаться с половинным шагом в течение полного оборота.
Рис. 10.4. Половинный шаг
Другие типы шаговых двигателейСуществуют шаговые двигатели, имеющие четыре вывода. Такие шаговые двигатели называются биполярными и имеют две обмотки, каждая из которых имеет два вывода. Хотя конструкция такого двигателя проще тех, которые мы используем, она требует более сложной схемы управления его вращением. Такая схема должна менять направление тока в обмотках после совершения шага.
Реальные типы ШДШаговый двигатель в рассмотренном примере имел угол поворота 90° на шаг. Статоры и роторы реальных шаговых двигателей представляют собой последовательности мини-полюсов. Мини-полюса уменьшают угол поворота на шаги улучшают разрешение шагового двигателя. Схема шагового двигателя на рис. 10.5 представляется более сложной, однако принцип его работы идентичен рис. 10.3 и 10.4.
Рис. 10.5. Многополюсное управление
Ротор двигателя на рис. 10.5 поворачивается по часовой стрелке. В исходной позиции северный полюс постоянного магнита ротора притянут к южному полюсу электромагнита статора. Заметим, что таких пар магнитов, притянутых разноименными полюсами, несколько. Во втором положении цепочка электромагнитов выключается, и включается следующая по ходу часовой стрелки цепочка. Это приводит к повороту ротора по часовой стрелке на строго определенный угол. Это продолжается таким же образом и для следующих шагов. После восьми шагов цикл завершается и начинается повторение. Поворот на половинный шаг аналогичен описанному выше.
На рис. 10.6 показана схема однополярного шагового двигателя. Двигатель имеет шесть выводов, выходящих из корпуса. Как видно из рис. 10.6, обмотки соединены попарно последовательно и имеют выводы от средней точки. Если вы только что взяли в руки подобный шаговый двигатель и ничего не знаете о нем, то простейшим способом будет измерение электрического сопротивления между выводами. Составив таблицу соответствия между цветами проводов выводов и электрическими сопротивлениями между ними, вы быстро разберетесь, какие выводы соответствуют каким обмоткам. (В некоторых случаях шаговый двигатель имеет только пять выводов. В этом случае средние точки обмоток соединены между собой).
Рис. 10.6. Принципиальная схема шестиполюсного шагового двигателя
Двигатель, который мы будем использовать, имеет сопротивление 100 Ом между центральным выводом и концом обмотки, и соответственно, 220 Ом между концами обмоток. Понятно, что сопротивление между несвязанными между собой обмотками будет равно бесконечности (нет соединения). Снабженные этой информацией, мы легко сможем определить распайку выводов обмоток любого двигателя с шестью выводами. Шаговый двигатель, который мы будем использовать, имеет угол поворота 1,8° на шаг.
ИС UCN-5804
На рис. 10.7 изображена цоколевка ИС UCN-5804. ИС предназначена для управления и запитки четырехфазного однополярного шагового двигателя, который мы будем использовать в нашей конструкции. ИС UCN-5804 имеет следующие параметры:
• Максимальный выходной ток в непрерывном режиме 1,25 А
• Величина опорного напряжения 35 В
• Управление полным и половинным шагом
• Управление состоянием выхода и направлением вращения
• Встроенные защитные диоды
• Автоматический сброс при включении
• Внутренняя защита от тепловых перегрузок
Рис. 10.7. ИС UCN-5804 контроллер шагового двигателя
ИС обеспечивает в непрерывном режиме максимальный выходной ток 1,35 А на фазу при опорном напряжении 35 В. Это оказывается более чем достаточным при управлении 12 вольтовым шаговым двигателем. Необходимый выходной ток для такого двигателя составляет (12В/110О м = 0,11 А), т. е. примерно 1/10 ампера.
Последовательность выходных импульсов, определяемая внутренней логикой UCN-5804, запускается прямоугольными импульсами, поступающими на вывод 11. Каждый прямоугольный импульс, поданный на этот вывод, своим отрицательным фронтом запускает перемещение ШД на один шаг.
Порядок включения обмоток определяется таблицей. После того как таблица заканчивается, последовательность повторяется с начала таблицы. Для реверсирования направления вращения ШД последовательность включения обмоток определяется по таблице снизу вверх.
Вывод 15 управляет статусом выхода. Когда на этот вывод подается высокий потенциал, то все выходы ИС отключаются. Если эта функция не требуется для вашей конструкции, то необходимо соединить этот вывод с землей (низкий уровень).
Таблица 10.1. Порядок следования полных импульсов
Таблица 10.2. Порядок следования половиных импульсов
Вывод 14 определяет направление вращения. Когда этот вывод имеет потенциал низкого уровня или соединен с земляной шиной, то направление вращения определяется таблицей 10.1 или 10.2, которая читается сверху вниз. Когда на этом выводе имеется высокий потенциал (15В), то направление вращения сменяется на противоположное и определяется таблицами, читаемыми снизу вверх.
Применение ИС UCN-5804На рис. 10.8 изображена схема управления ШД с использованием ИС UCN-5804. Тактовые импульсы вырабатываются с помощью таймера ИС 555. Частота тактовых импульсов может быть увеличена или уменьшена с помощью переменного резистора V1. Изменение частоты тактовых импульсов непосредственно управляет скоростью вращения ШД. В этой главе мы также покажем, как можно управлять ШД с помощью PIC-микроконтроллера непосредственно или с использованием дополнительных схем.
Рис. 10.8. Основная принципиальная схема управления вращением шагового двигателя
В этой схеме управление дополнительными функциями осуществляется с помощью трех выключателей. Выводы ИС, с которыми соединены эти выключатели, могут также управляться с помощью шин ввода/вывода микроконтроллера того же типа. Выключатель, соединенный с выводом 15, управляет состоянием выхода. При подаче высокого потенциала выход ИС UCN-5804 отключается и происходит остановка ШД.
Выключатель, соединенный с выводом 14, управляет направлением вращения ШД (по часовой стрелке или против часовой стрелки). Переключатель, соединенный с выводом 10 ИС UCN-5804, переключает ШД в режим полного или половинного шага. Когда на вывод 10 подан высокий потенциал, то ШД находится в режиме половинного шага. Такой режим удваивает разрешение ШД. Например, двигатель, который мы используем, имеет разрешение 1,8° на шаг. При включении режима половинного шага разрешение увеличится до 0,9° на шаг, и соответственно скорость вращения уменьшится вдвое. При подаче на вывод 10 низкого уровня ШД переключится в режим полного шага.
Присоединение ведущего колеса к валу ШД
Присоединение ведущего колеса к валу ШД может представлять определенную проблему. На рис. 10.9 показан один из вариантов ее простого решения. Найдите пластмассовую шестерню большого диаметра с фиксирующим винтом. Осевое отверстие шестерни должно совпадать с диаметром вала ШД. Приложите шестерню к ведущему колесу по центру. Просверлите три сквозных отверстия на окружности шестерни через 120°. Скрепите ведущее колесо и шестерню с помощью винтов, гаек и шайб. Затем наденьте шестерню на вал ШД и закрепите ее фиксирующим винтом.
Рис. 10.9. Соединение ведущего колеса с валом двигателя
Использование микроконтроллера для управления ШД
Для изучения принципов работы ШД изготовим схему управления ШД с помощью микроконтроллера PIC 16F84.
Начальная схема управленияНа рис. 10.10 показан первый тестовый вариант схемы управления ШД. Для буферизации выходных сигналов с шин PIC 16F84 использованы шестнадцатеричные буферы типа 4050. Сигнал с выхода каждого буфера подается на транзистор NPN типа. В качестве таких транзисторов в действительности использованы NPN транзисторы TIP 120 Darlington, но на схеме они обозначены как обычные NPN транзисторы. Транзисторы TIP 120 использованы в схеме в качестве электронных ключей, обеспечивающих своевременное включение обмоток ШД.
Рис. 10.10. Схема микроконтроллера шагового двигателя
Диоды, включенные параллельно транзисторам, обеспечивают гашение импульсов тока, возникающих в индуктивностях обмоток ШД. Диоды обеспечивают безопасную блокировку обратных токов. Если исключить диоды из схемы, то многократно возрастет вероятность пробоя транзисторов обратным током.
Шаговые двигателиНа рис 10.11. изображена эквивалентная электрическая схема используемого нами двигателя. Двигатель имеет шесть проводников, выходящих из его корпуса.
Рис. 10.11. Схема выводов однополярного шагового двигателя
Предположим, что мы только что взяли двигатель в руки и ничего не знаем о его внутреннем строении. Как я уже говорил ранее, наиболее простым путем выяснить внутреннюю распайку обмоток является измерение электрического сопротивления между выводами. Составив таблицу сопротивлений, измеренных между выводами, вы легко определите, какой вывод присоединен к какой из обмоток.
На рис. 10.12 изображено, какие сопротивления имеет используемый нами двигатель. Между центральным выводом и концами обмоток сопротивление составляет 13 Ом, соответственно между концами обмоток сопротивление имеет значение 26 Ом. Сопротивление между парами соединенных обмоток равно, соответственно, бесконечности (отсутствие соединения). Например, если мы измерим сопротивление между коричневым и голубым проводником, то прибор покажет бесконечность. Вооружившись этими данными, мы сможем правильно включить обмотки ШД в схему.
Рис. 10.12. Сопротивление между выводами однополярного шагового двигателя
Программа для тестовой схемы управленияПосле того как тестовая схема управления изготовлена, необходимо запрограммировать PIC-микроконтроллер с помощью следующей программы на языке BASIC. Программа является очень простой и короткой, чтобы показать, насколько просто обеспечить вращение ШД. В таблице 10.3 показано, как на каждом шаге включается соответствующий транзистор. Используйте таблицу 10.3 для слежения за логикой BASIC программы. Когда вы достигаете до конца таблицы, то последовательность повторяется, начиная с начала.
Таблица 10.3. Логика переключений транзисторов для полного шага
‘Контроллер шагового двигателя
Symbol TRISB = 134 ‘Инициализировать TRISB как 134
Symbol PortB = 6 ‘Инициализировать PortB как 6
Symbol ti = b6 ‘Инициализировать ti как задержку
ti = 25 ‘Задержка 25 мс
poke TRISB,0 ‘Установить шины PORTB на выход
start: ‘Последовательность движения вперед
poke portb,1 ‘Шаг 1
pause ti ‘Задержка
poke portb,2 ‘Шаг 2
pause ti ‘Задержка
poke portb,4 ‘Шаг 3
pause ti ‘Задержка
poke portb,8 ‘Шаг 4
pause ti ‘Задержка
goto start ‘Повторение
Полный оборот
При полном шаге для завершения полного оборота ШД требуется 200 импульсов (360° /1,8° на шаг). Подсчет количества импульсов позволяет PIC-микроконтроллеру управлять и позиционировать ротор ШД.
Вторая программа на PICBASICВторая программа на PICBASIC является гораздо более гибкой. Пользователь может изменять параметры программы (время задержки) во время ее работы с помощью одного из четырех выключателей, соединенных с портом А. При нажатии кнопки 1 время задержки между импульсами увеличивается, и соответственно ротор ШД вращается медленнее. Кнопка 2 обладает противоположным действием. При нажатии кнопки 3 двигатель останавливается и находится в режиме ожидания, пока эта кнопка нажата. Кнопка 4 управляет направлением вращения ШД (по часовой стрелке или против часовой стрелки). Нажатие кнопки 4 изменяет направление вращения на противоположное. Реверсирование направления вращения сохраняется на все время нажатия кнопки.
‘Контроллер вращения ШД
Symbol TRISB = 134 ‘Инициализация TRISB как 134
Symbol TRISA = 133 ‘Инициализация TRISA как 133
Symbol PortB = 6 ‘Инициализация portb как 6
Symbol PortA = 5 ‘Инициализация porta как 5
symbol ti = b6 ‘Начальное время задержки
ti = 100 ‘Установка времени задержки 100 мс
Poke TRISB,0 ‘Установка PORTB как выхода
start: ‘Вращение ШД вперед
poke portb, 1 ‘Шаг 1
pause ti ‘Задержка
poke portb,2 ‘Шаг 2
pause ti ‘Задержка
poke portb,4 ‘Шаг 3
pause ti ‘Задержка
poke portb,8 ‘Шаг 4
pause ti ‘Задержка
goto check ‘Переход на проверку состояния кнопок
start2: ‘Вращение ШД назад
poke portb,8 ‘Шаг 1
pause ti ‘Задержка
poke portb,4 ‘Шаг 2
pause ti ‘Задержка
poke portb,2 ‘Шаг 3
pause ti ‘Задержка
poke portb,1 ‘Шаг 4
pause ti ‘Задержка
goto check ‘Переход на проверку состояния кнопок
Check: ‘Состояние кнопок
Peek PortA, B0 ‘Загрузка состояния
if bit0 = 0 then loop1 ‘Если кнопка 1 нажата, увеличить ti
if bit1 = 0 then loop2 ‘Если кнопка 2 нажата, уменьшить ti
if bit2 = 0 then loop3 ‘Остановка ШД
if bit3 = 0 then start ‘Вращение вперед
goto start2 ‘Реверсивное вращение
loop1: ‘Увеличение времени задержки
poke portb,0 ‘Выключение транзисторов
ti = ti +5 ‘увеличение задержки на 5 мс
pause 50 ‘Пауза 50 мс
if ti > 250 then hold1 ‘Ограничение задержки 250 мс
peek porta,b0 ‘Проверка состояния кнопок
if bit0 = 0 then loop1 ‘Продолжать увеличивать задержку?
goto check ‘Если нет, переход на основную проверку состояния
loop2: ‘Уменьшить задержку
poke portb,0 ‘Выключение транзисторов
ti = ti – 5 ‘Уменьшение задержки на 5 мс
pause 50 ‘Пауза 50 мс
if ti < 20 then hold2 ‘Ограничение задержки 20 мс
peek porta,b0 ‘Проверка состояния кнопок
if bit1 = 0 then loop2 ‘Продолжать уменьшать задержку?
goto check ‘Если нет, переход на основную проверку состояния
hold1: ‘Верхний предел задержки
ti = 245 ‘Задержка до 250 мс
goto loop1 ‘Идти назад
hold2: ‘Нижний предел задержки
ti = 25 ‘Задержка 25 мс
goto loop2 ‘Идти назад
hold3: ‘Остановка ШД
poke portb,0 ‘Выключение транзисторов
peek porta,b0 ‘Проверка состояния кнопок
if bit2 = 0 then hold3 ‘Держать мотор выключенным?
goto check ‘Если нет, переход на основную проверку состояния
Схема устройства изображена на рис. 10.13. На фотографии (рис. 10.14) трудно различить конструкцию кнопок выключателей. Они представляют собой четыре оголенных проводящих полоски позади микроконтроллера.
Рис. 10.13. Схема шагового микроконтроллера с дополнительными выключателями
Рис. 10.14. Схема микроконтроллера шагового двигателя
Верхние половины оголенных полосок соединены с источником питания 5 В через резисторы сопротивлением 10 кОм. Проводник от каждой полоски соединен с соответствующим выводом порта А ИС. Второй контакт представляет собой оголенный одножильный проводник, соединенный с землей, на который замыкаются при нажатии на соответствующие полоски.
Половинный шаг
Использование режима половинного шага эффективно удваивает разрешение ШД. В этом случае для завершения полного оборота требуется 400 импульсов. Таблица 10.4 представляет логику переключений, необходимую для работы программы. Когда вы дойдете до конца таблицы, то вы циклически вернетесь к ее началу.
Таблица 10.4. Логика переключений транзисторов для половинного шага
Переменная задержки ti
Переменная ti в каждой из программ на PICBASIC определяет время задержки, целью которой является снижение скорости следования выходных импульсов на шине В. Без этой задержки скорость следования выходных импульсов может оказаться слишком большой для обеспечения нормальной работы ШД, что приведет к сбоям в его функционировании.
Вы можете захотеть изменить значение переменной ti в зависимости от тактовой частоты работы микропроцессора, определяемой кварцевым резонатором. Проведя эксперименты, вы подберете наилучший диапазон изменения переменной ti для конкретного PIC.
Правообладателям!
Это произведение, предположительно, находится в статусе 'public domain'. Если это не так и размещение материала нарушает чьи-либо права, то сообщите нам об этом.