Создаем робота-андроида своими руками - страница 24



В силу широкого использования таких устройств в самодельных конструкциях, их выпускаемый ассортимент достаточно разнообразен (см. рис. 4.9). Существуют большие сервомоторы, используемые в промышленности, но они достаточно дороги для любительского применения. В этой книге мы будем использовать небольшие и недорогие моторчики для любительских целей.

Рис. 4.9. Сервомотор


Сервомотор имеет три вывода. По двум из них подается питающее напряжение от 4 до 6 В. На третий вывод подается сигнал позиционирования. Сигнал позиционирования представляет собой цепочку прямоугольных импульсов длительностью от 1 до 2 мс. Соответственно, импульс, соответствующий среднему положению будет равен 1,5 мс. Импульсы подаются с частотой порядка 50 в секунду (50 Гц), т. е. время между импульсами составляет порядка 20 мс. Такой «средний» импульс вызовет поворот вала мотора в среднее положение ±45 град.

Поворот вала сервомотора ограничен 90 градусами (±45 град. от среднего положения). Импульс длиной 1 мс вызовет поворот вала мотора влево до упора (см. рис. 4.10), в то время как импульс в 2 мс вызовет аналогичный поворот вправо. Варьируя длину импульсов в пределах 1–2 мс, можно добиться поворота вала двигателя на любой угол внутри указанного интервала.

Рис. 4.10. Управляющие импульсы для сервомотора


Может показаться, что генерация подобных импульсов представляет собой достаточно сложную задачу. На самом деле это не так. Для управления сервомотором PIC – микроконтроллер 16F84 использует лишь несколько простых команд. Такой PIC может управлять одновременно восемью сервомоторами. Другим удобным методом управления сервомоторами является использование R/C систем. Альтернативой этому может служить создание собственной схемы управления.

Изготовление такой схемы не столь сложно, как может показаться вначале. На рис. 4.11 показано использование сдвоенного таймера типа 556 для управления сервомотором. Схема 556 имеет два независимых таймера. Для лучшего понимания работы схемы посмотрите на схему, изображенную на рис. 4.12, где использованы два отдельных таймера серии 555. Первый таймер находится в режиме генерации и выдает отрицательные прямоугольные импульсы длительностью 1 мс с частотой 55 Гц. Этот таймер соединен со вторым таймером серии 555, включенным по схеме одновибратора.

Рис. 4.11.Управление сервомотором с помощью ИС 556


Рис. 4.12. Управление сервомотором с помощью ИС 555


При появлении отрицательного импульса на выводе 1 одновибратор генерирует положительный импульс на выводе 5. Ширину выходного положительного импульса можно изменять, используя потенциометр 10 кОм. В зависимости от типа используемого сервомотора, возможно, придется подобрать величины сопротивлений R1 и R2 на рис 4.11. Помните, что у сервомотора могут существовать внутренние ограничители угла поворота, и не прикладывайте излишних усилий, если мотор «застрял».

Практическая работа с сервомоторами показала, что поворот вала мотора в крайние допустимые положения требует импульсов длиной менее 1 мс или более 2 мс.

По мере накопления опыта работы с сервомоторами вы можете захотеть использовать их на больших углах поворота (в пределах 180°), что потребует расширения диапазона времен управляющих импульсов.

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