«Оживляем» руку-манипулятор для робота с Arduino/Freeduino. Часть 2 KosachenkoSV's blog / 27.05.2012 Напомню краткое содержание сюжета: наш лицей получил конструктор манипулятора ARM Mini для робота, но после сборки оказалось, что контроллер у него неисправен, и тогда возникла идея использовать в качестве контроллера для манипулятора аналог Arduino, который называется Freeduino 2009 http://freeduino.ru. Но подключая ARM Mini к Freeduino, нам с ребятами пришлось вникать во многие технические нюансы, писать свои программы для управления "рукой". В этом я вижу пользу такой неисправности, т.к. для меня и ребят она стала стимулом для поиска и изучения нового материала, применения его на практике, учета в своих разработках и при составлении собственных алгоритмов. Разбираемся в схеме подключения серво-двигателя к Arduino/Freeduino.Схема подключения такова: Для начала мы узнали, что для управления серводвигателями потребуется Широтно-Импульсная модуляция, сокращенно ШИМ (англ. PWM). Широтно-Импульсная модуляция, или ШИМ, это операция получения изменяющегося аналогового значения посредством цифровых устройств. Устройства используются для получения прямоугольных импульсов - сигнала, который постоянно переключается между максимальным и минимальным значениями. Данный сигнал моделирует напряжение между максимальным значением (5 В) и минимальным (0 В), изменяя при этом длительность времени включения 5 В относительно включения 0 В. Длительность включения максимального значения называется шириной импульса. Для получения различных аналоговых величин изменяется ширина импульса. У Arduino/Freeduino имеется 6 ШИМ портов. На самой плате они промаркированы как PWM (на фото они выделены красными точками). Итак, удачно складывается, что у нашего манипулятора ARM Mini 6 серводвигателей и у Arduino/Freeduino как раз 6 портов с возможностью ШИМ. В прошлой статье Мышка, Freeduino и рука робота (ARM-манипулятор) /index.php?automo...;showentry=2927 я писал, как мы попробовали управлять системой из двух серводвигателей SG-90. Именно эта тестовая сборка придала нам уверенности, что сможем управлять сложной рукой из шести "серво-суставов". Модель данного серводвигателя SG-90 с нейлоновыми шестернями подешевле, чем с металлическими. Купить его можно через интернет, например, на robocraft.ru Характеристики SG-90: Вес: 9гр Размеры: 23х12.2х29мм момент (усилие): 1.6кг/см Время поворота на 60°: 0.10сек Напряжение: 4.8В Длина кабеля 25,5см Материал шестерней : Нейлон Электроника: Аналоговая Питание одного-двух таких маломощных серводвигателей можно взять прямо с платы Arduino/Freeduino (вывод +5V и GND «Земля»). Но для подключения манипулятора ARM Mini c его 6 "сервами" нужно будет подключать электропитание помощнее — иначе Freeduino может сгореть... будем думать... Есть идея использовать для питания нашего робота блок питания от компьютера: 5 Вольт пустить на питание серводвигателей, а 12 Вольт для питания Arduino/Freeduino, для этого мощности компьютерного БП более, чем достаточно. Программирование контроллера Freeduino 2009 с использованием серводвигателей оказалось несложным, т.к. нужная библиотека с подпрограммами для работы с "серво" уже имеется в ПО к Arduino 021. Рассмотрим пример программы, которая после "заливки" в Arduino будет вращать серводвигателем на 9-м порту, покачивая его туда-сюда.В следующей статье опишу, как, используя протошилд, подключили все 6-серводвигателей манипулятора ARM Mini к Freeduino и успешно задействовали для электропитания компьютерный БП от компьютера ATX.Посты по теме: Мышка, Freeduino и рука робота (ARM-манипулятор) /index.php?automo...;showentry=2927 ARM arduino freeduino servo комплект микроэлектроника робототехника