|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Курс машиностроения
(В нашей стране и большинстве стран Европы используется метрическая система классификации винтов и гаек. Согласно этой системе указываетсн диаметр вичта (например, МЗ — это 3 мм) шаг резьбы и длина в миллиметрах. Все очень просто и понятно — Примеч. ред.) Что касается Соединенных Штатов Америки и некоторых других стран мира, в них размеры винтов и гаек выражаются виде пары чисел, как, например, 6-32. Вот что это значит. • Первое число: указывает диаметр винта согласно специальной системе размеров. Чем меньше эта величина, тем соответственно, меньше сам винт. (Для витов диаметром больше четверти дюйма указчмстся полный размер 3/8 или 5/16 дюйма) • Второе число: показывает количество нарезок резьбы на дюйм длины винта (Фактически шаг резьбы — так называемые нити. — Примеч. ред.) Таким образом, винт с обозначением 6-32 будет иметь диаметр # 6 (какой именно диаметр в миллиметрах представляет эта величина, знать не так важно: достаточно подобрать либо гайку с соответствующим размером, либо просто взять такую, которая накрутится на этот винт без труда) и 32 нити на каждый дюйм длины. Среди других наиболее широко распространенных винтов можно упомянуть следующие: 4-40, 8-32 и 10-24. Кроме того, важно знать длину винта. Она указывается непосредственно в миллиметрах (или дюймах для англоязычных стран. — Примеч. ред.). Ну, и что касается формы, то здесь можно добавить лишь то, что при конструировании небольших механизмов чаще всего применяют винты с круглой головкой.
В качестве электромоторов для нашего робота были выбраны редукторные электродвигатели фирмы Tamiya (модель 72004). Однако никто не запрещает подобрать похожие где-нибудь в магазине или даже на рынке. Как правило, моторчики продают в виде готовых устройств в корпусе и с припаянными выводами. На вал этого электромотора можно насадить колеса нужного диаметра. Обе деки разделяются с помощью стоек. Стойками называют продолговатые металлические стержни, на одном или обоих концах которых имеются резьбовые соединения под винты или гайки. Если в стойке есть канал под винт, на жаргоне говорят, что это "стойка типа «мама»". Соответственно, если на конце стойки имеется более узкий по сравнению с основным диаметром элемента выступ под гайку, то говорят, что это «папа». Чем длиннее стойки, тем больше будет расстояние между "палубами" нашего робота. Сами стойки легко купить в магазинах товаров для радиолюбителей. Если же их по той или иной причине не удалось достать, то вполне реально заменить стойки обычными длинными винтами, достать которые уж точно не составит никакого труда. Выбирая стойки, нужно учитывать следующие важные факторы.
> Для наших целей длина стоек должна быть не менее 20 мм. А наиболее оптимальной будет длина около 30 мм.
> При использовании в качестве стоек обычных винтов необходимо учесть, что расстояние между пластинами будет меньше полной длины винта на удвоенную толщину используемых пластин, да еще нужно учесть гайку, которая должна быть как-то накручена. К примеру, если было решено сделать зазор между деками равным 25 мм, а сами деки состоят из пластмассы толщиной 6 мм, то полная длина винта должна составлять не менее 40 мм: 25 мм + 2x6 мм + 3 мм (этих 3 мм вполне хватит, чтобы накрутить небольшую гайку на кончик винта).
Тело для робота Теперь, когда под рукой есть все необходимые материалы, можно начать, наконец, собирать несущую конструкцию. Так что надевайте рабочий халат и приступайте к делу. Да! И не забудьте защитные очки, чтобы уберечь глаза от пыли и осколков.
Резка и сверление пластин Первым шагом в конструировании робота будет изготовление двух панелей (дек) согласно шаблону, изображенному на рис. 15.1. Сначала в заготовках будет нужно просверлить отверстия, а уж потом правильно отрезать деки. Для изготовления панелей для Ровера следуйте этому простому руководству.
1. Чертеж шаблона с рис. 15.1 можно нарисовать прямо на деревянной или пластиковой заготовке. Или, еще лучше, вырежьте шаблон из плотной бумаги и наложите или приклейте его на заготовку из подходящего материала.
2. Если чертеж на поверхности заготовки выглядит нормально, просверлите отверстия, используя сверло диаметром 3-4 мм. Для сверления, конечно, можно использовать и обычную дрель (как электрическую, так и ручную), но значительно быстрее и надежнее будет найти сверлильный станок, чтобы выполнить работу на максимально высоком уровне. Крайне важно соблюсти правильные расстояния между отверстиями и их четкое взаимное расположение.
3. После окончания сверления можно распилить заготовку на пластины. Для этого возьмите ножовку (рис. 15.2), лобзик или даже разыщите небольшую циркулярную пилу — подойдет практически любой тип пилы и полотна. Наиболее оптимальным кажется лобзик, поскольку он обеспечивает полный контроль над процессом.
4. Снимите с углов пластин фаски и зашлифуйте острые края. Это сделает деки более безопасными для рук.
Проще всего найти шлифовальную машинку (рис. 15.3), чтобы удалить лишние острые углы. Однако, если под рукой нет станка, можно взять крупнозернистую наждачную бумагу и слегка поднапрячься — результат будет ничуть не хуже.
Если вы пилите заготовку без помощи стусла или циркулярной пилы, то лучше делать надрез по всей длине заготовки в миллиметре сбоку от линии разреза, чтобы затем сгладить все неровности линии распила на шлифовальном станке.
Сборка и монтаж электродвигателей Теперь давайте на время отложим детали конструкции робота и соберем его самую важную механическую часть — два миниатюрных редукторных электродвигателя. Их часто продают в виде специальных наборов деталей, собрать которые очень легко, пользуясь прилагающейся инструкцией. Для скрепления этих деталей между собой можно взять винты с крестовидным шлицом, но чаще всего они также поставляются в комплекте. Зато в комплекте отсутствует отвертка для них, поэтому лучше сразу подыскать ее под размер винтов, а если в вашей мастерской еще нет подходящей, то и приобрести отвертку на месте. Еще может понадобиться небольшой шестигранный ключик. Однако, опять же, уважающий себя производитель всегда положит его в кулечек с деталями.
Теперь нужно прикрепить оба мотора к нижней деке робота при помощи винтов и гаек. Как именно лучше расположить моторы на плоскости и где именно крепить их "ушки", показано на рис. 15.5.
Верхом на Ровере Надежно прикрепив оба электродвигателя к конструкции робота, можно начинать устанавливать колеса. Колеса, естественно, нужно закрепить на осях моторов. Небольшие электродвигатели для разных механических и электронных безделушек часто уже имеют оси в комплекте, но нужно знать, что они бывают двух типов: с отверстием на конце и без него. Эти отверстия предназначены для цилиндрических штифтов, с помощью которых и происходит крепление. Будьте внимательны — эти штифты очень маленькие и их легко потерять; а поставляются они в комплекте с моторчиками, так что купить их отдельно весьма проблематично. Понятно, что штифты используются для крепления деталей (в данном случае — колес) на тех осях, где имеются отверстия под них. Если в комплекте было сразу две оси под колеса, то вторую можно пока бросить в ящик с запасными деталями — кто знает, может быть вскоре понадобится и она. Колеса для робота можно подобрать и самостоятельно, но что касается авторов, то мы выбрали вполне определенные — из набора с узкими шинами (Narrow Tire set, номер 70145 по каталогу Tamiya), которые имеют диаметр 58 мм и оснащены небольшими резиновыми ободами (шинами). В комплекте с этими колесами сразу поставляются и втулки, которые позволяют закрепить колеса на валу электродвигателя. Колесо располагается на оси и закрепляется при помощи специальной шестигранной гаечки — она также входит в набор. Вообще — сами по себе колеса также представляют готовый для сборки комплект со всеми необходимыми деталями, поэтому можно пользоваться прилагающейся к нему инструкцией. После окончания сборки первого мотора и колес соберите второй, который должен представлять собой точную копию первого. Прикрепите оба электродвигателя к нижней деке робота, используя пару винтов и гаек соответствующего размера, например, МЗ длиной около 10 мм. Как должна выглядеть механическая часть робота после окончания сборки, показано на рис. 15.6
При использовании набора с узкими шинами от Tamiya после установки может обнаружиться, что концы осей моторов, которые торчат с противоположной от колес сторон, слишком длинные для того расстояния, которое осталось между электродвигателями. Эту проблему легко исправить. Закрепите вал электромотора в тисках и сделайте ножовкой небольшой надрез у конца, на который НЕ крепится колесо. Затем просто отломайте лишний кусок большими плоскогубцами.
Установка шарнирного колеса Для того чтобы поддерживать второй конец основы робота, нужно установить еще одно или два колеса сзади. Мы будем использовать для этой цели лишь одно колесо, но специальное — на шарнирах. Внутри такого колесика есть маленький подшипник, который позволяет ему вращаться не только вокруг своей оси, но и в горизонтальной плоскости. Идеально подойдет небольшое колесико примерно 30 мм в диаметре — использование же больших шарнирных колес чревато тем, что вместе со своей конструкцией они будут весить столько же, сколько весь робот и с трудом вращаться даже под воздействием всех сил обоих моторов. Колесо на шарнире также крепится к нижней деке при помощи винтов и гаек, как показано на рис. 15.7. Здесь также, если получится, можно обойтись уже знакомыми нам винтами МЗ с длиной 10 мм. В зависимости от модели колесика, которую удастся приобрести, расстояния между отверстиями под него могут существенно отличаться, поэтому лучше всего достать эту деталь еще до изготовления шаблона (рис. 15.1) и перенести размеры крепежной площадки непосредственно с имеющегося колеса.
Добавляем вторую палубу К этому моменту мы должны были получить нижнюю деку с установленными на ней электромоторами и всеми тремя колесами. Наш робот сейчас больше всего напоминает открытый бутерброд. На следующем этапе можно сделать из бутерброда толстенький гамбургер, накрыв всю механическую часть сверху верхней декой и спрятав ее от посторонних глаз. Крепиться между собой деки будут при помощи стоек. Уже почти готовый робот, которому не достает лишь электроники, изображен на рис. 15.8 Органы управления Если вам благополучно удалось пройти все шаги по превращению отдельных деталей в робота, то можете считать, что вы почти закончили работу по сборке Ровера. Пара последних движений — и можно открывать игротеку. Перед тем как развешивать по всей квартире объявления о новом шоу, осталось подключить к роботу батарейки и обустроить дистанционное управление, состоящее из двух переключателей, которые будут направлять робота. Взгляните на рис. 15.9. На схеме соединений показано, как правильно подключить батарейки к механическим переключателям (двухполюсным двунаправленным — типа DPDT) устройства управления. Второй конец каждого переключателя присоединяется к выводам электромоторов, так что переключение каждого ключа запускает один из электродвигателей. Переключение ключей в обратном направлении заставляет моторы вращаться в реверсном направлении.
Для того чтобы подключить переключатели к батарейкам, воспользуйтесь следующей последовательностью действий.
1. Припаяйте между центральными выводами переключателей и электромоторами Ровера провода длиной 3-5 м.
2. Припаяйте выводы отсека для батареек (на четыре батарейки типа АА) к двум из оставшихся четырех выводов переключателей. Красный и черный провода от отсека с батарейками должны быть подключены сразу к обоим электромоторам, как и показано на рис. 15.9.
3. Наконец, припаяйте перемычки между оставшимися неподключенными выводами переключателей, как показано на рисунке. Согласно приведенной схеме соединений эти перемычки должны располагаться крест-накрест. При таком подключении полярность напряжения изменится, как только мы переведем толкатель ключа в противоположное положение.
4. Возьмите пластмассовую пластинку или деревянную дощечку размера примерно 10 х 10 см и толщиной около 5-6 мм и просверлите в ней отверстия (диаметром 8-10 мм) для крепежа переключателей. Лучше сделать отверстия около верхнего края дощечки, чтобы на ней осталось еще достаточно места для отсека под батарейки чуть ниже. Что касается точного диаметра отверстий, то он должен быть таким, чтобы верхняя часть переключателя с толкателем свободно входила в него снизу, а сверху надежно закреплялась при помощи гаек. Гайки накручиваются на резьбу на верхней части переключателя, и они не должны выпадать из отверстий — так что точный их размер зависит от размеров выбранных переключателей.
5. Закрутите гайки, идущие в комплекте с переключателями.
6. Установите оба переключателя в центральное положение (выключено).
7. Поставьте в отсек для батареек 4 батареи типа АА (пальчиковые).
8. Закрепите отсек с батарейками на пластинке нашего пульта дистанционного управления при помощи изоляционной ленты или как-нибудь еще. Удобно подвернуть провода, идущие от переключателей, под дощечку и примотать их к ней изолентой, закрепляя отсек, — такая предосторожность послужит дополнительным крепежом для провода и не даст вам или роботу случайно оторвать провода от дистанционного управления.
Правильнее всего тщательно и аккуратно пропаять все соединения, а уж потом обмотать изоляционной лентой все места с открытыми контактами. Это не столько защитит людей от оголенных проводов, сколько провода от людей — дополнительный крепеж не позволит оторвать их при резком движении. Возьмите обеими руками пластинку пульта дистанционного управления так, чтобы большие пальцы легли на толкатели переключателей. Помните, что робот будет находиться в выключенном положении тогда, когда оба ключа находятся в центральной позиции. В таком положении ни один из электромоторов не должен вращаться.
Может оказаться, что вследствие того, что электромоторы закреплены в основании робота в зеркальном отражении друг к другу, при одновременном переключении ключей, скажем, вверх один из моторов начнет вращаться по часовой стрелке, а второй — против. В этом случае нужно перевернуть один из переключателей на дистанционном управлении так, чтобы при нажатии обоих ключей оба ведущих колеса завертелись в одну сторону, позволяя роботу ехать вперед. Тогда, соответственно, нажатие в противоположное положение заставит Ровера отступить назад.
Управление сэром роботом Наконец, после тяжких трудов пришел тот радостный час, когда можно целиком посвятить себя роботу, уже не напрягаясь. Управление Ровером осуществляется следующим образом.
> Робот поворачивается на одном месте при переключении одного из ключей. Если одновременно переключить второй ключ в противоположном направлении, то робот развернется значительно быстрее.
> Нажатие ключей в одну сторону заставит робота двигаться вперед или назад.
На рис. 15.10 стрелками показаны все возможные положения переключателей и соответствующие им направления движения нашего питомца. На этой схеме показаны только ведущие колеса — колесо с шарниром мы добавили к роботу лишь для придания ему устойчивости, и активного участия в движении оно не принимает.
Добавим роботу немного мозгов До сих пор мы осуществляли управление роботом Ровером при помощи самодельного дистанционного управления. И хотя наше собственное творение вполне способно вихрем пронестись по комнате, все еще могут найтись неискоренимые скептики, которые заявят, что "робот" ненастоящий, потому что он не умеет сам думать и не подает кофе в постель. Ладно, никто не запрещает нам добавить ему мозгов. И сделать это проще, чем кажется на первый взгляд! Все что необходимо переделать в роботе — это изменить способ подключения электромоторов, чтобы он мог принимать команды от электронного блока управления, затем добавить пару сенсоров, чтобы он смог понимать, когда он наталкивается на препятствия, и, наконец, установить микроконтроллер, который и будет управлять Ровером младшим. Микроконтроллер нужен для того, чтобы запрограммировать робота. Мы выбрали все тот же старый добрый BASIC Stamp 2, с которым вы имели возможность познакомиться в главе 13. Если же вдруг вы поняли, что никогда раньше не слышали о таких загадочных зверьках, как микроконтроллеры, то лучше сразу вернитесь к этой главе. Для этого проекта мы будем предполагать, что под рукой имеется не просто BASIC Stamp, а микроконтроллер в составе обучающей платы ВОЕ (Board of Education). Более подробно об этой отладочной плате также можно прочесть в главе 13.
Размышления о микроконтроллерах Если вы чувствуете, что достаточно поднаторели в изучении микроконтроллеров, чтобы продолжать осваивать их и дальше, то можно смело двигаться вперед. Для начала давайте еще раз вспомним, что же собой представляют микроконтроллеры, а также этапы работы с ними.
> Микроконтроллером называется миниатюрный компьютер в виде микросхемы, который имеет для подключения к роботу специальные порты ввода-вывода. Загрузив в память микроконтроллера программу, можно управлять роботом.
> Микроконтроллер программируется так же, как и любой другой компьютер, включая настольный ПК. В память устройства вносятся определенные команды, которые и сообщают роботу, что он должен делать.
> Программа пишется на обычном персональном компьютере, а затем загружается в микроконтроллер, обычно посредством последовательного или универсального порта.
> После загрузки программы в микроконтроллер, она сохраняется в энергонезависимой памяти и остается там до тех пор, пока ее не заменят другой программой. Она хранится в памяти даже после снятия питания.
В главе 13 мы познакомились с небольшим микроконтроллером BASIC Stamp 2 от компании Parallax. Создается впечатление, что этот микроконтроллер специально разрабатывался с учетом использования в домашних роботах. Сам BASIC Stamp 2 представляет собой миниатюрную микросхему в корпусе с 24 выводами. Этот микроконтроллер можно достать из коробки и сразу же вставить в плату, которая монтируется на роботе, а можно использовать специальный отладочный набор, как, например, обучающая плата компании Parallax. Эта плата (Board of Education) всегда поможет в экспериментах с микроконтроллером BASIC Stamp. Более детально о ней мы рассказывали в главе 13, так что можно немного вернуться по тексту, если возникли какие-то вопросы.
Обычные моторы - прочь, радиоуправляемые сервомоторы - сюда Перед тем как запрограммировать микроконтроллер, нужно еще немного довести до ума механическую часть робота: для того, чтобы использовать электронное управление, нужно заменить моторы нашего робота. Ровер, которого мы собрали в первой части этой главы, имел два обычных редукторных электромотора постоянного тока. Такие двигатели отлично работают при управлении роботом с помощью механических переключателей, когда оператор изменяет полярность питания, щелкая тумблерами. Однако редукторные моторы приходится дорабатывать, чтобы они справлялись с электронным управлением. Если быть более точным, для их работы нужен так называемый Н-образный мост, который выполняет ту же работу, что и оператор при помощи механических ключей для нашего первого Ровера. Обещаем — вам не придется покупать или собирать самостоятельно Н-мосты; вместо этого мы используем в нашем новом проекте пару не слишком дорогих (около 10 долл. каждый) серводвигателя. Это не простые моторы — они будут управляться по радио, и используются, например, в авиамоделировании. С такими электродвигателями микроконтроллер может управляться и без какой-либо вспомогательной схемотехники. Типичный радиоуправляемый серводвигатель показан на рис. 15.11 внизу.
Внутри сервомотора Что же находится внутри этого моторчика? Серводвигатель, использующийся в радиоуправляемых моделях самолетов и машин, состоит из блока электроники, самого мотора, редукторов и переменного резистора (потенциометра). А вот как все эти части работают вместе.
> Управляющая электроника (в нашем случае это микроконтроллер BASIC Stamp 2) служит для приема сигнала по радио и активизации двигателей.
> Роторы моторов начинают вращаться. Поскольку их вращение довольно быстрое, а робот не может столь же быстро перемещаться, скорость вращения уменьшается за счет использования редукторных механизмов.
> К выходу последнего звена редуктора подключается потенциометр. Этот редуктор выходит наружу электромотора и управляет непосредственно вращением колеса или просто вала. Поскольку ось мотора вращается, вращается и потенциометр. Его позиция и сообщает управляющей электронике о положении в пространстве выходного каскада редукторного механизма.
Закупаем сервомоторы Первое, с чего следует начать, — это пойти и купить сервомотор. Их не так уж трудно разыскать. Оказывается, более полудюжины только крупных компаний мира производят серводвигатели с радиоуправлением, и каждая из них предлагает свой спектр моделей. Однако, если подойти к задаче более критически, с учетом того, что мы собираемся адаптировать эти моторы для работы с роботом, остается практически лишь три серводвигателя, которые не зашкаливают по цене и которые не столь уж сложно переделать:
> FutabaS148; > Grand Wing Servo (GWS) S03 и S06; > HitecHS-422.
Все эти сервомоторы имеют одну общую черту — небольшой фиксирующий зажим с нижней стороны выходного редуктора, который используется для обеспечения контакта с потенциометром. Такие двигатели наиболее легко модифицировать. Если удалить этот зажим, то выходной редуктор больше не будет вращать ось потенциометра. (Также нужно откусить кусачками или спилить при помощи напильника пластмассовый стопор в виде небольшого выступа на верхней части колеса редуктора. Он служит для физического ограничения поворота редуктора на углы, превышающие 270 градусов.)
Доводка серводвигателей Итак, вы сумели-таки достать эти самые серводвигатели, о которых столько говорилось на последних страницах, но к этой бочке меда неожиданно подмешивается и ложка дегтя: производители разрабатывают радиоуправляемые моторы таким образом, чтобы их роторы оборачивались как вперед, так и назад не более чем на 90 градусов. А для того, чтобы управлять роботом, совершенно необходимо, чтобы колеса могли вращаться свободно, а не входили в стопор каждые 90 градусов. К счастью, не эта работа может нас испугать (если, конечно, вы действительно купили такой сервомотор, как мы советовали выше). Ниже мы распишем подробно, как можно модернизировать серводвигатели. Зачем вообще нам трогать заводские моторы? Преимущество модифицированных радиоуправляемых серводвигателей состоит в том, что вокруг них не нужно танцевать с бубном и напаивать дополнительную электронику, чтобы сочленить с микроконтроллером (тем же BASIC Stamp 2). Вдобавок, такие моторы стоят вполне недорого, если сравнить с другими. Именно поэтому стоит затратить немного сил, чтобы сделать из них конфетку. Немодифицированный сервопривод обеспечивает довольно точное позиционирование выходного редукторного каскада. В модифицированном же варианте связь между потенциометром и этим каскадом разрывается, и вал мотора получает возможность вращаться свободно, без остановок. После модернизации сервомотора его выводы можно просто-напросто подключить к макетной обучающей плате — и готово! Все, что остается доделать, это написать несколько строк программного кода, но не переживайте — мы поможем вам в этом. Как только все модификации будут выполнены, двигатели смогут в полную силу крутить колеса нашего Ровера младшего (как показано на рис. 15.10), и он гордо сможет объехать комнату кругом.
Модификация радиоуправляемых серводвигателей Так что же нужно для такой разрекламированной модернизации сервомоторов, о которой так долго говорили авторы? Запишем, прежде всего, какие понадобятся инструменты.
> Отвертка с крестовидным шлицом №0 (диаметром Змм). > Отвертка с плоским шлицом шириной 3 мм или меньше. > Небольшие кусачки или бритвенное лезвие. > Маленький плоский надфиль (ювелирный).
После самостоятельной модификации сервомотора его гарантия автоматически аннулируется, поэтому сначала неплохо бы удостовериться, что вам не попался бракованный экземпляр. Проверьте исправность мотора, подсоединив его к микроконтроллеру и отослав ему какую-нибудь команду (подробнее, как это делается, будет описано чуть ниже в разделе "Как положить программу на место"), перед тем, как браться за инструменты. Ведь никто не застрахован — даже новехонький серводвигатель может оказаться бракованным, хотя такое случается крайне редко.
По ходу всех описанных ниже работ внимательно следите за тем, чтобы не удалить с внутренних редукторов серводвигателей слишком много смазки. Иначе может оказаться, что смазки осталось так мало, что механика не может как следует работать. Если вам кажется, что вы случайно сняли чересчур много смазки, то лучше добавить дополнительной перед тем, как собирать мотор обратно. Как правило, смазывающие материалы продаются в тех же магазинах, где и сами серводвигатели.
Итак, наконец, вроде бы все готово для того, чтобы приступить непосредственно к модификации сервомоторов. Все последующие стадии этой процедуры мы опишем для серводвигателя Hitec HS-422, но совсем несложно провести подобную модернизацию любого мотора, работающего по тому же принципу (с использованием фиксирующего зажима).
1. Отсоедините при помощи отвертки с крестообразным шлицом колесо или диск сервопривода, если он имеется и мешает нормальному доступу к выходному редуктору сервомотора.
2. Ослабьте четыре крепежных винта на нижней части корпуса (рис. 15.12).
3. Положите мотор "вверх ногами" на поверхность стола и совсем удалите крепежные винты. На некоторых моделях моторов — например, у GWS S03 — винты откручиваются с верхней стороны корпуса, а не с нижней.
4. Аккуратно снимите кожух корпуса и внимательно осмотрите механизм серводвигателя, чтобы в конце модернизации вновь собрать его в том же виде. Пример внутренней части серводвигателя изображен на рис. 15.13.
Снимите центральное зубчатое колесо — осторожно, чтобы не сместить металлическую ось, но которой держатся колесики, — и отложите его в сторону. В модели от Hitec это центральное колесо не так-то просто снять — сначала придется поднять и колесо выходного редуктора, поэтому нужно приступить к делу очень осторожно. Снимайте колесо выходного редуктора (а потом и надевайте обратно на ось) предельно аккуратно.
6. Снимите зубчатое колесо выходного каскада редуктора.
7. Возьмите небольшие плоскогубцы и установите потенциометр в центральное положение, как показано на рис. 15.14.
8. Аккуратно удалите стопор с верхней стороны колесика выходного редуктора при помощи кусачек (рис. 15.15) или бритвенного лезвия.
Будьте предельно внимательны и осторожны! Чем тверже пластмасса, тем более вероятно, что кусочек пластмассы, который и является стопором, внезапно отломится и отлетит куда-нибудь в глаз. Лучше наденьте защитные очки. Сначала откусите стопор с более длинной стороны, чтобы ненароком не сломать колесо редуктора, а уж потом — с короткой. При использовании обычного лезвия обязательно соблюдайте все меры предосторожности, чтобы не отрезать себе пальцы. Наконец, если используете ножницы, лучше отрезайте стопор потихоньку, маленькими кусочками пластмассы, чем все сразу, иначе под давлением лезвий ножниц может треснуть вся шестеренка.
9. Аккуратно зачистите надфилем остатки стопорного шва. Как именно удалить необрезанную пластмассу, решайте сами — это не так уж важно, главное — результат. Проще всего, конечно, это сделать при помощи небольшого плоского надфиля (рис. 15.16).
10. Снимите при помощи небольшой отвертки металлическое контровочное кольцо с оси зубчатого колеса выходного редуктора (рис. 15.17). Это кольцо удерживает вал потенциометра и поддерживает само колесо выходного редуктора.
11. При помощи маленькой отвертки удалите фиксирующий зажим вала потенциометра, как показано на рис. 15.18.
12. Наденьте контровочное кольцо обратно на зубчатое колесо выходного редуктора.
13.Установите колесо выходного редуктора на его место, над потенциометром.
14. Установите на место центральное колесо редуктора и убедитесь, что все зубцы всех колес надежно сцепляются между собой.
15. Проверьте, достаточно ли смазки на осях колес редуктора, и при необходимости добавьте еще немного.
16. Наконец, поставьте на место крышку корпуса и прикрутите ее всеми четырьмя крепежными винтами.
Установка серводвигателя на Ровера Радиоуправляемые серводвигатели имеют специальный фланец с отверстиями под винты, при помощи которого их удобно крепить на основную конструкцию. Однако в случае с Ровером будет значительно проще приклеить моторы при помощи клея или липкой ленты.
Лично мы предпочитаем использовать двухстороннюю липкую ленту Velcro или ей подобные. Ленту, которая будет скреплять между собой детали робота, можно купить практически в любом магазине. Наклейте ее на боковую сторону серводвигателя, а потом крепко прижмите мотор к нижней деке робота. На рис. 15.19 показано, как должна выглядеть конструкция после монтажа двигателя.
После окончания монтажа сервомоторов на основную конструкцию робота убедитесь, что двигатели установлены ровно по отношению друг к другу, без перекосов, иначе робот будет шататься по комнате, как порядочно выпивший прохожий. Кроме того, позаботьтесь, чтобы на валах осталось достаточно свободного места для крепления колес, и они не терлись о деку во время движения.
Поставим робота на колеса Моторы нужны роботу для того, чтобы вращать колеса; соответственно, следующим этапом по сборке Ровера младшего будет монтаж колес на платформу робота. Иногда можно встретить в Интернете предложения по продаже колес, которые специально предназначены для установки на радиоуправляемые серводвигатели. К ним относятся, например, колеса диаметром около 6 см, продаваемые на сайтах www.budgetrobotics.com и www.solarbotics.com. Можно, конечно, смастерить и свои колеса, но, возможно, вам все же удастся найти фирменные: стоят они недорого, а крепить их — одно удовольствие; так зачем же зря мучиться? В общем, найдите где-нибудь пару подходящих колес. Если вы покупаете готовые, то убедитесь, что они подходят для той модели сервомотора, которую вы использовали: втулки для колес немного отличаются у Futaba и Hitec, поэтому лучше брать и серводвигатель, и колеса одной фирмы.
В сервомоторах, производимых фирмами Grand Wind (GWS) и Parallax, используются втулки Futaba, поэтому, если вы используете эти модели двигателей, нужно покупать колеса Futaba или аналогичные. Для крепления колеса на вал мотора обычно используется винтовое соединение: в отверстие по центру колеса вставляется винт, который соединяется с осью двигателя; крепежный винт входит в комплект сервомотора. На рис. 15.20 показана несущая платформа нового Ровера с установленными сервомоторами и колесами.
Как заставить робота чувствовать? Движение по комнате, несомненно, доставит удовольствие всем вокруг, но что если ваш робот вдруг наткнется на ножку обеденного стола? В этом случае на первый план выходит амортизационный переключатель. В нашей модели будет использоваться небольшой подпружиненный лепестковый переключатель, который и поможет роботу "почувствовать", когда он врежется в какое-то препятствие на пути. Такой ключ (в немного модифицированном виде) представляет собой длинный кусок толстой проволоки, размещенный на тумблере на переднем краю платформы робота, который переключается, как только робот натолкнется на какую-либо преграду. В этом случае программа, записанная в микроконтроллер (о ней подробнее смотрите в разделе "Как положить программу на место" чуть ниже), заставит робота сдать немного назад и повернуть, чтобы обойти препятствие. Лепестковый переключатель типа SPST (однополюсный однонаправленный) можно приобрести практически в любом магазине товаров для радиолюбителей. Размер ключа нас не слишком интересует — он только должен быть достаточно большим, чтобы его можно было легко закрепить на "носу" робота. Амортизационный переключатель изображен схематически на рис. 15.21. К нему при помощи пайки прикреплен длинный кусок медной проволоки (так назьюаемая рояльная проволока). Этот стержень действует наподобие длинного рычага и обеспечивает большую площадь эффективного столкновения.
Очень часто можно встретить лепестковые переключатели типа SPDT (однополюсный двунаправленный). В таком ключе есть три вывода: общий, нормально замкнутый и нормально разомкнутый. Такая конструкция сгодится для Ровера. В случае приобретения SPDT-ключа нужно лишь соединить между собой общий и нормально разомкнутый выводы, а третий (нормально замкнутый) оставить сам по себе. Подробнее мы рассмотрим соединение выводов нашего амортизационного переключателя ниже. Где и как закрепить лепестковый переключатель на несущей платформе робота, показано на рис. 15.22.
Соединение робота с макетной платой Итак, настоящий "умный" робот почти готов! Теперь осталось лишь подключить уже установленные серводвигатели к микроконтроллеру BASIC Stamp в составе обучающей платы. Общую схему соединений можно проверить по рис. 15.23.
Для связи между микроконтроллером и каждым из сервомоторов используются два вывода ввода-вывода: вывод 17 (обозначенный на рис. 15.24 как Р12) и вывод 19 (на рис. 15.24 обозначенный как Р14). Обратите внимание на то, что на рисунке указаны номера только тех выводов, которые располагаются по углам микросхемы. Будет лучше, если вы детально ознакомитесь с информацией о портах ввода-вывода, нумерации и свойствах выводов в документации к микроконтроллеру BASIC Stamp 2.
Все порты ввода-вывода микроконтроллера доступны на специальных разъемах обучающей платы, как показано на рис. 15.25. В частности, изображенный разъем предназначен именно для работы с внешними приводами, в том числе с радиоуправляемыми сервомоторами. Т.е. достаточно воткнуть разъемы в соответствующие контактные гнезда (именно — с номерами 12 и 14), и все заработает. Проще некуда!
Подключение цепей питания Желательно вместе с переключателем, который уже был установлен в разделе "Как заставить робота чувствовать?", добавить Роверу еще и светоизлучающий диод, который бы в явном виде указывая, когда переключается механический ключ. Он присоединяется к плате, используя те же самые электрические цепи, что и в главе 13. Как именно приделать переключатель, можно узнать, вернувшись к разделу "Добавление в схему переключателя" этой главы. Программа Ровера младшего также использует индикацию при помощи светоизлучающего диода. Еще одна особенность нового робота: серводвигатели потребляют больше тока, чем способна обеспечить стандартная 9-вольтовая батарейка. По этой причине мы будем использовать 4 батареи типа АА вместо одной на 9 В. Для подключения питания к обучающей плате можно использовать специальный разъем, а можно припаять проводки от отсека для четырех батареек. Кроме того, такие отсеки часто продают с уже припаянными разъемами питания; примеры такой продукции можно посмотреть на сайте компании Parallax (www.parallax.com).
He используйте батареи, которые выдают более 6 В. Серводвигатели предназначены для работы от напряжения от 4,8 до 6 В, и большая амплитуда питания может повредить их. Четыре пальчиковых аккумулятора обеспечивают напряжение около 4,8 В, а стандартные батарейки типа АА — около 6 В.
Как научить робота думать Пришло время оснастить робота Ровера младшего мозгами; в этом нам поможет уже небезызвестный микроконтроллер BASIC Stamp 2. Он будет работать под управлением программы, код которой записан чуть ниже. Основные функции этой программы заключаются в управлении обоими серводвигателями и анализом состояния лепесткового переключателя.
> Программа начинает свой цикл с включения обоих сервомоторов, толкая робота вперед. > Если робот наталкивается на преграду, импульс от столкновения переключает ключ, и программа запускает один из моторов в обратном направлении. > Мотор работает в реверсном режиме в течение примерно трех четвертей секунды, что обеспечивает оборот робота на определенный угол. > Затем робот продолжает движение вперед до тех пор, пока не натолкнется на следующее препятствие.
Как положить программу на место В этом разделе мы рассмотрим программу, которая управляет движением Ровера. Введите ее текст в программный редактор, который идет в комплекте с микроконтроллером BASIC Stamp, как мы уже делали в главе 13, и запустите ее; программная оболочка сама загрузит программу в память робота.
Не забудьте перед загрузкой соединить ваш компьютер с обучающей платой при помощи последовательного или универсального (USB) кабеля. Подключение платы к компьютеру показано на картинке все в той же главе 13.
' {$STAMP BS2} OUTPUT 0 btn VAR Byte ' задаем переменную BUTTON cnt VAR Byte ' задаем вспомогательную переменную ' для использования в цикле FOR/NEXT loop: PULSOUT 12,1000 ' запускаем сервомотор А PULSOUT 14,500 ' запускаем сервомотор Б PAUSE 15 ' ждем 15 миллисекунд BUTTON 1,0,255,250,btn,0,noSwitch OUT0 = btn ' включаем светодиод FOR cnt = 1 TO 50 ' в течение 50 итераций... PULSOUT 12,1000 ' запускаем сервомотор А PULSOUT 14,1000 ' запускаем сервомотор Б PAUSE 15 ' ждем 15 миллисекунд NEXT ' конец цикла OUT0 = 0 ' выключаем светодиод noSwitch: GOTO loop ' повторяем цикл снова
Хм-м... Говорите, ваш робот вместо того, чтобы ехать вперед, мчится задним ходом? Что ж — эту проблему легко поправить: просто поменяйте местами цифры, обозначающие время выдачи сигнала (1000 и 500 периодов соответственно) в двух командах управления серводвигателями (А и Б), идущих непосредственно после указания метки loop:.
Вот как будет выглядеть программа после этих изменений:
PULSOUT 12,500 ' запускаем сервомотор А PULSOUT 14,1000 ' запускаем сервомотор Б
Разбор полетов программистской мысли Теперь не мешало бы взглянуть на программу для Ровера поближе, чтобы попытаться осмыслить, как она может управлять нашим роботом. Мы шаг за шагом подробнейшим образом рассмотрим все команды и выясним, что они делают. Итак, начнем:
' {$STAMP BS2}
В этой строке мы просто указываем сами себе, какой микроконтроллер используется в устройстве.
OUTPUT 0
Здесь микрокотроллеру дано указание установить вывод 0 порта ввода-вывода в режим выхода. К этому выводу был подключен светоизлучающий диод, и, таким образом, программа может управлять им, включая или выключая его в зависимости от обстоятельств.
btn VAR Byte ' задаем переменную BUTTON cnt VAR Byte ' задаем вспомогательную переменную для 'использования в цикле FOR/NEXT
В этих двух строках мы задаем микроконтроллеру две переменные. Таким образом, под этими именами микроконтроллер будет хранить какие-то временные данные, значения которых затем программа будет использовать в своих нуждах.
loop:
Здесь начинается основной цикл программы. Команда loop: сообщает микроконтроллеру о начале цикла, который заканчивается командой GOTO loop в самой нижней строке кода. Цикл означает, что все команды, лежащие между двумя указанными строками, будут выполнятся бесконечно. Если вы планируете всерьез заняться роботами, то вам придется основательно изучить правила построения циклов — они используются во всех программах управления роботами.
PULSOUT 12,1000 ' запускаем сервомотор А PULSOUT 14,500 ' запускаем сервомотор Б
Радиоуправляемые сервоприводы управляются импульсным током. Длина импульсов определяет время работы двигателей и, следовательно, направление движения всего робота. Инструкция PULSOUT сообщает микроконтроллеру о необходимости выдать импульс определенной длительности на определенный вывод микросхемы. Так, к примеру, команда PULSOUT 12,1000 предписывает BASIC Stamp выдать импульс длительностью 2000 микросекунд на вывод 12. (Длительность импульса указывается в интервалах по 2 микросекунды; соответственно, цифра 1000 обозначает 2000 мкс.) Однако внимательный читатель может спросить: "Почему же мотор А работает в течение 2 мс, тогда как мотор Б — только 1 мс?". Да потому, что сервомоторы монтируются на платформу робота в зеркальном отражении, и для того, чтобы робот перемещался, первый двигатель должен вращаться по часовой стрелке, а второй — против нее.
PAUSE 15 ' ждем 15 миллисекунд
В этой строке BASIC Stamp ждет в течение 15 мс, не предпринимая никаких действий.
BUTTON 1,0,255,250,btn,0,noSwitch
Инструкция BUTTON сообщает микроконтроллеру о необходимости проверить состояние лепесткового переключателя, подключенного к выводу 1 порта ввода-вывода. Эта команда требует дополнительного указания большого количества аргументов, назначение которых можно узнать из документации, поставляемой вместе с микроконтроллером и обучающей платой. Подробно эту команду мы уже анализировали в главе 13.
OUT0 = btn ' включаем светодиод FOR cnt = 1 ТО 50 ' в течение 50 итераций... PULSOUT 12,1000 ' запускаем сервомотор А PULSOUT 14,1000 ' запускаем сервомотор Б PAUSE 15 ' ждем 15 миллисекунд NEXT
Эти команды будут выполняться тогда и только тогда, когда ключ на "носу" робота окажется переключенным вследствие наезда на препятствие. В строке OUT0 = btn выключается светодиод. Операторы цикла FOR/NEXT служат для указания того, какие команды попадают в тело этого цикла и сколько раз они будут выполнены: в нашем случае это три последующие строки (до оператора NEXT), которые будут повторяться целых 50 раз. После окончания последней, 50-й, итерации, программа выходит из цикла. За это время микроконтроллер 50 раз заставит один из двигателей робота вращаться в обратном направлении, и, таким образом, развернет Ровера!
OUT0 = 0 ' выключаем светодиод noSwitch: GOTO loop ' повторяем цикл снова
После того как робот изменит направление движения, микроконтроллер выключит светодиод (команда OUT0 = 0) и снова начнет основной цикл, как указано в последней строке.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.064 сек.) |