В данной несложной схеме тактовые импульсы производятся таймером серии 555. Такие импульсы можно генерировать с помощью микроконтроллера (см. гл. 6) или светочувствительного нейрона (см. гл. 5). Переключатель SW1 изменяет диапазон тактовых импульсов медленно/быстро. Переключателем SW2 можно изменить направление вращения ротора двигателя.
Шаговые двигатели можно использовать для создания робота-платформы (см. гл. 10).
Сервомоторы
Сервомоторы представляют собой двигатели постоянного тока, снабженные редукторами и системой обратной связи контроля положения. В любительских целях подобные моторы используются для контроля положения органов управления в радиоуправляемых моделях. Вал такого мотора может поворачиваться или удерживаться на углах не менее 90° от среднего положения.
В силу широкого использования таких устройств в самодельных конструкциях, их выпускаемый ассортимент достаточно разнообразен (см. рис. 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°), что потребует расширения диапазона времен управляющих импульсов.
Однако перед тем как предпринимать подобные шаги, вы должны понять, при подаче управляющего сигнала вне диапазона углов поворота сервомотора, вал мотора, дойдя до крайней позиции, будет с силой упираться во внутренний ограничитель, стремясь, все же повернуться на заданный угол.
Например, у вас имеется сервомотор, которому для поворота в крайнее правой положение требуются импульсы длиной 2,8 мс. Если сервомотор поворачивается нормально, то все в порядке. Допустим, вы заменили его другим мотором, диапазон управления которого ограничен длиной импульса в 2,5 мс. Если вы будете продолжать подавать импульс длиной в 2,8 мс, то сервомотор будет пытаться повернуться на больший угол, чем он физически может. Поскольку ротор упирается в ограничитель, через мотор будет протекать добавочный ток, который может сжечь сам мотор.
Проблема возникает обычно при замене сервомотора. Очень часто замененный мотор имеет несколько другой диапазон импульсов управления. Нужно взять за правило: если диапазон применяемых импульсов выходит из зоны 1–2 мс, необходимо проверить сервомотор в крайних положениях на предмет «залипания».
Сервомоторы используются в шагающем роботе, описанном в гл. 11. Для управления сервомоторами используется PIC микроконтроллер. Применения сервомоторов и PIC микроконтроллеров описаны в гл. 6.
Двигатели постоянного тока
Двигатели постоянного тока для любительского конструирования могут использоваться для движения и перемещения конструкций роботов (см. рис. 4.13). Для большинства таких двигателей характерны высокая частота вращения ротора и небольшой крутящий момент. Конструкции роботов, напротив, требуют большого крутящего момента при невысокой частоте вращения. Для этого могут быть использованы редукторы (см. рис. 4.14). Редуктор характеризуется передаточным числом, т. е. отношением скоростей вращения на входе и выходе. Например: двигатель с частотой вращения 8000 об/мин соединен с редуктором, имеющим передаточное число 1000:1. Какова будет скорость на выходе редуктора? 8000 об/мин: 1000=8 об/мин. Соответственно возрастет крутящий момент. Можно ожидать, что крутящий момент увеличится в той же степени, в которой снизились обороты. Практически, поскольку КПД любого устройства всегда меньше 100 %, крутящий момент будет несколько ниже из-за потерь.
Рис. 4.13. Двигатель постоянного тока
Рис. 4.14. Двигатель постоянного тока с редуктором
Некоторые двигатели постоянного тока конструктивно объединены с редуктором и называются двигателями с редукторной головкой (см. рис. 4.15).
Рис. 4.15. Двигатель постоянного тока с редукторной головкой
Мостовая схема управления двигателем постоянного тока
При конструировании робота желательно наличие простой схемы управления его включением и выключением. Кроме того, необходима схема реверса направления вращения двигателя. Таким требованиям удовлетворяет мостовая схема управления.
Необходимо понимать, что термин «двигатель постоянного тока» относится также к двигателям, снабженным редукторами или имеющим редукторную головку.
Мостовая схема состоит из четырех транзисторов (некоторые используют МОП полевые транзисторы. Я использую биполярные Дарлингтоновские NPN транзисторы). В некоторых схемах используются транзисторы PNP и NPN проводимости. В любом случае транзисторы используются в ключевом режиме (см. рис. 4.16А). Когда ключи SW1 и SW4 закрыты, двигатель вращается в одном направлении. Когда закрыты ключи SW2 и SW3, двигатель вращается в противоположном направлении.
Рис. 4.16. Мостовая схема на переключателях
При правильной коммутации ключей мы можем изменить направление тока, протекающего через двигатель, на противоположное, что вызовет изменение направления вращения вала двигателя. Транзисторная схема моста, управляющего двигателем, показана на рис. 4.17. Подобная схема использована в гл. 5 в схеме сенсора робота-тестера.
Рис. 4.17. Мостовая схема на транзисторах
Широтно-импульсная модуляция (ШИМ)
Мостовая схема обеспечивает включение-выключение двигателя постоянного тока и управляет направлением его вращения. К этим функциям может быть добавлена функция управления частотой вращения двигателя с использованием широтно-импульсной модуляции (ШИМ). Форма ШИМ сигнала приведена на рис. 4.18. Высокий уровень сигнала ШИМ соответствует включению двигателя, низкий уровень его выключает. Поскольку частота импульсов ШИМ очень велика, то напряжение на двигателе может быть определено как среднее значение длины импульса к периоду следования (скважность импульса). Чем больше длина импульса, тем больше среднее напряжение. Среднее напряжение лежит в пределах от нуля до напряжения питания, и, таким образом, ШИМ эффективно управляет скоростью вращения двигателя.
Рис. 4.18. Широтно-импульсная модуляция (ШИМ) для управления мостовой схемой
Двигатель является индуктивной нагрузкой. В моменты включения/выключения возникающее переходное напряжение, генерируемое обмотками двигателя, может повредить полупроводниковые части моста. Для гашения этого напряжения используются защитные диоды, включенные параллельно транзисторам, как показано на рис. 4.19.
Рис. 4.19. Транзисторная мостовая схема с защитными диодами
Защитный диод гасит обратное переходное напряжение на землю, что эффективно защищает переход транзистора, к которому подключен диод. Защитные диоды должны быть рассчитаны на нормальный ток, потребляемый двигателем.
Глава 5
Сенсорика
Сенсорика роботов (система чувствительных датчиков) обычно копирует функции органов чувств человека: зрение, слух, обоняние, осязание и вкус. Чувство равновесия и положения тела в пространстве, как функция внутреннего уха, иногда считаются шестым чувством. Функционирование биологических органов чувств базируется на принципе нейронной активности, в то время как чувствительные органы роботов имеют электрическую природу. Возможны возражения, что на самом деле обе эти группы имеют электрическую природу, основанные на указании, что нейронные и электрические цепи имеют общее электрохимическое происхождение. Тем не менее, нейронная сенсорика функционирует иначе, чем просто электрическая. По этой причине для устранения разночтений мы определим сенсорику робота, как имеющую электрическую природу.
Для полной имитации биологических органов чувств необходимо использование нейронных чувствительных устройств (сенсоров). Примером такого нейронного сенсора является человеческое ухо, работу которого мы рассмотрим. Характеристика человеческого уха нелинейна. Его реакция на звуковой раздражитель носит логарифмический характер. Это означает, что десятикратное повышение уровня звукового сигнала вызывает двукратное повышение субъективного уровня громкости. Для сравнения, обычный приемник звуковых сигналов, например микрофон, имеет линейную выходную характеристику. Отсюда десятикратное повышение уровня выходного сигнала, подаваемого на компьютер, микроконтроллер или иную схему, соответствует десятикратному увеличению звукового сигнала.
Сенсорные датчики могут обнаружить какие-то внешние сигналы и определить их величину, что выражается в появлении на выходе пропорционального электрического сигнала. Информация, содержащаяся в сигнале, должна быть считана и обработана «интеллектом» робота (например, ЦПУ) или нейронной сетью. Мы можем характеризовать искусственные сенсоры по их отношению к природным органам чувств, но обычно классы сенсорных устройств выделяются по типу воздействия, на которое данный сенсор реагирует: свет, звук, тепло и т. д. Типы сенсоров, встроенных в робота, определяются целями и местом его применения.
Обработка сигналов
При выборе типа сенсорного устройства, используемого в роботе, необходимо решить вопрос чтения и обработки сигнала, поступающего от него. Vjui Многие сенсоры представляют собой датчики резистивного типа, что означает, что их сопротивление меняется в зависимости от количества поступающей энергии. Если такой датчик является частью делителя напряжения, то амплитуда выходного сигнала окажется пропорциональной количеству поступающей энергии.
Если для робота необходимо действительное значение интенсивности поступающей энергии, необходимо использовать аналого-цифровой преобразователь (АЦП). АЦП измеряет входной электрический сигнал и выдает соответствующий ему двоичный код.
Для правильной работы и преобразования данных АЦП необходим микроконтроллер или цифровая схема. Во многих случаях использование АЦП не является необходимым. В некоторых случаях достаточно использовать компаратор.
Как следует из самого названия, компаратор сравнивает два электрических напряжения. Одно из напряжений называется опорным и устанавливается по нашему желанию. Другое напряжение выдается сенсорным датчиком (через делитель напряжения). Выход компаратора имеет два уровня – высокий и низкий. Высокий уровень соответствует +5 В, низкий уровень – 0 В.
Выходной сигнал компаратора зависит от соотношения уровней напряжений на его двух входах. Возможны три состояния: напряжение датчика меньше опорного напряжения, равно ему или превосходит его.