Приветствую Вас ГостьВторник, 26.09.2017, 10:28

Robostroi


Самодельный датчик скорости для мотора Pittman GM8712 с передаточным механизмом

Иногда бывает сложно найти мотор, который будет обладать и необходимыми под конкретного робота характеристиками, и встроенным датчиком с нужной точностью. Дэвид Андерсон (David P. Anderson) описал, как из подручных материалов самостоятельно собрать датчик под нужный мотор.


Мотор Pittman GM8712-31 с передаточным механизмом (рабочее напряжение 19,1 В постоянного тока).

Бывает не просто найти недорогой мотор, обладающий всеми требуемыми характеристиками, такими как вольтаж, стопорный ток, передаточное число, размер, разрешающая способность датчика положения, уровень шума. Для небольших роботов (до 5 кг) можно порекомендовать очень хороший электромотор постоянного тока с шестереночным механизмом Pittman GM8712. Этот мотор всем хорош, но у него не очень удачный круговой датчик положения (датчик скорости). В данной статье описано, как самому сделать датчик скорости для этого замечательного мотора. Материал собран из серии постов на форумах Далласского сообщества персональной робототехники (DPRG) и Сиэттлского робототехнического сообщества (SRS).



Мотор

В Интернете выложены чертежи и измерения самого мотора (DWG, DXF)
и его узлов (DWG,).

Краткий обзор:
Модель GM8712, рабочее напряжение 19,1 В, с шестереночным механизмом, обеспечивающим редукцию 60,5:1.

Характеристики шестереночного механизма:
КПД коробки передач 66%

  • Скорость без нагрузки 128 об/мин

  • Характеристики мотора:
  •  Постоянный крутящий момент (максимально) 0,009 Н*м
  • Максимальный крутящий момент (при застопоривании) 0,036 Н*м
  • Скорость без нагрузки 7729 об/мин

  • Характеристики обмотки подмагничивания:
  •  Коэффициент момента 2,2 Н*м/A
  • Сопротивление 10,80 Ом
  • Ток без нагрузки 0,14 A
  • Максимальный ток (при застопоривании) 1,76 A
  • Значит, на выходе шестереночного механизма должно быть:

    • Постоянный крутящий момент (максимально) 0,009 Н*м * 60,5:1 * 66% = 0,36 Н*м
    • Максимальный крутящий момент (при застопоривании) 0,036 Н*м * 60,5:1 * 66% = 1,42 Н*м
    Действительно, разработчики утверждают, что крутящий момент на выходе их моторов составляет 0,35 Н*м для небольших моторов (типа рассматриваемого), и 0,9 Н*м для больших моделей. Оказывается, что мотор хорошо работает и от напряжения 12 В, тогда его скорость составляет 70 об/мин, а стопорный ток равен примерно 1 А. Эти значения достаточно малы, поэтому при работе с ним можно использовать обычные контроллеры для небольших роботов.


    http://www.roboclub.ru/netcat_files/11_732.jpg
    Внутреннее устройство мотора Pittman GM8712 и его шестереночного механизма.

    Внутреннее устройство

    Это семиполярный мотор, предназначенный для создания большого крутящего момента при малой скорости, и он исключительно тихий, что особенно важно для домашних роботов. На правой верхней картинке показано, что семь полюсов плотно обмотаны очень хорошим проводом (измеренное нами сопротивление составило 12 Ом). Полюса закручены геликоидально для обеспечения большей гладкости движения вследствие того, что полюса "нахлестываются" друг на друга.
    Шестереночный передаточный механизм состоит из четырех ступеней. На трех последних ступенях по 32 зубца на внешней шестерне и по 10 на внутренней, что обеспечивает отношение 3,2:1. На внутренней ступени используются меньшие по размеру шестерни, так что передаточное число составляет 1,8:1. Все шестерни и оси сделаны из качественной стали, а втулки - бронзовые.
    На правой нижней картинке видно, что диаметры выходного штифта и втулки довольно малы, поэтому колеса лучше не подключать непосредственно к выходному валу. Тем более что такой мотор должен передвигать механизм весом до 5 кг. Подшипники скольжения не предназначены для аксиальных и больших радиальных нагрузок. Поэтому рекомендуется выдавить бронзовые втулки и вставить на их место шариковые подшипники. Эта процедура намного увеличивает значения допустимых нагрузок. Для стандартных шариковых подшипников максимально допустимые нагрузки составляют обычно примерно 35 Н (радиальные) и 10 Н (аксиальные).


    Самодельные датчики скорости
    Наш метод, успешно опробованный на нескольких роботах, состоит в следующем. На вырезанном из бумаги диске лазерным принтером печатаются метки. Этот диск приклеивается к выходному валу мотора. Бумажные диски очень легкие, поэтому даже при высокой скорости вращения они не вызовут сильной вибрации, что избавляет от необходимости осуществлять тщательную балансировку. Супер-клей намного крепче бумаги, так что за прочность крепления можно не опасаться. Метки, нанесенные на диск, считываются оптическим сенсором Hamamatsu P5587 IR. Так и осуществляется позиционирование мотора.

    Сенсор

    Мы работали именно с сенсорами Hamamatsu, потому что они многократно доказали свою надежность, простоту и удобство использования. Ниже приведена упрощенная схема этого сенсора.

    http://www.roboclub.ru/netcat_files/11_741.GIF

    Стандартное подключение сенсора Hamamatsu с сайта
    http://www.acroname.com/robotics/parts/R64-P5587.html

    Конструкция
    Например, в конструкции нашего робота SR04
    используется именно описываемый метод. На небольшую пластину из печатной платы вешается сенсор Hamamatsu. Сама пластина держится на алюминиевой трубке, а трубка закрепляется в скобе, привинченной к корпусу мотора. Эта конструкция работает вот уже 4 года, и наши сомнения в связи с использованием бумажных дисков полностью рассеялись. К недостаткам такой реализации можно отнести отсутствие светонепроницаемости и беззащитность бумажного диска перед неловкими руками конструктора.

    http://www.roboclub.ru/netcat_files/11_740.JPG
    Конструкция кодировочного диска SR04

    src="http://www.roboclub.ru/netcat_files/11_736.jpg"
    width=400 vspace=3>
    Левый кодировочный диск и сенсор на SR04


    Можно порекомендовать следующие улучшения:



    1. Подвес с более легко настраиваемым расстоянием от сенсора до диска
    2. Защитная оболочка для бумажного диска и сенсора
    3. Возможность экспериментировать с квадратурными сигналами
    4. Более простой способ крепления

    Нам этого удалось добиться следующим образом. Оказалось, что обычный футляр для 35 мм пленки идеально налезает на корпус мотора Pittman, лишь нужно сделать небольшой вырез для проводов. Ко дну футляра крепится печатная плата сенсора Hamamatsu. Теперь, перемещая футляр по корпусу мотора, мы управляем расстоянием между сенсором и кодировочным диском. На месте футляр закрепляется пластиковой петлей.


    Изображение “http://www.roboclub.ru/netcat_files/11_737.jpg” не может быть показано, так как содержит ошибки.


    Секторы кодировщика

    В качестве источника питания можно использовать12-вольтный NMH аккумулятор. Когда он полностью заряжен, напряжение на нем составляет 15 вольт. Согласно характеристикам мотора, при рабочем напряжении 19,1 В его скорость составляет 128 об/мин. Рабочему напряжению 12 В соответствует 70 об/мин. Значит, на один вольт приходится 6 оборотов в минуту (если зависимость аппроксимировать линейной функцией). Нетрудно посчитать, что 15 В * 6 об/(мин*В) = 90 об/мин. Учитывая, что передаточное число равно 60:1, находим скорость вращения мотора при рабочем напряжении 15 В: 90 об/мин * 60 = 5400 об/мин. Иногда бывает удобно пересчитать на количество оборотов в секунду: 5400 об/мин / 60 сек / мин = 90 об/сек.
    Ранее время цикла ввода-вывода информации в датчиках робота составляло 100 мсек (частота обновления 10 Гц). Сейчас предпочтительнее работать с частотой обновления информации сенсора, равной 50 Гц. Это значит, что датчик должен за 20 мсек определять скорость робота. Рассматриваемый датчик определяет скорость, подсчитывая количество "тиков" (смены черных и белых областей перед считывающим оптическим устройством) кодировочного диска за предшествующий интервал выборки. Длина этого интервала составляет всего лишь 20 мсек, поэтому надо убедиться, что количества тиков за это период времени достаточно для вычисления скорости работы мотора с требуемой точностью.
    Например, у робота SR04, движущегося на максимальной скорости, за секунду происходит 1000 тиков кодировочных дисков. При частоте обновления 20 Гц, интервал выборки составляет 50 мсек. Количество тиков за этот интервал равно 1000 / 20 = 50. Медленная скорость движения обычно определяется как 1/10 от максимальной скорости, что приводит к 5 тикам за интервал выборки при движении на этой скорости. Соответственно, в роботе SR04 используется такая техника управления скоростью, при которой 5 тиков/интервал - это и есть минимальное количество тиков, при котором возможно гладкое управление скоростью.
    Если потребовать такую же разрешающую способность датчика при частоте обновления 50 Гц (в 2,5 раз больше), то теперь уже нужно будет обеспечить 1000*2,5=2500 тиков в секунду на полной скорости. Для рассматриваемого мотора мы выше получили значение максимальной скорости, равное 90 об/сек. Значит, за один оборот должно произойти 2500 / 90 = 27,78 ~ 28 тиков.
    Поэтому на бумагу кодировочных дисков необходимо нанести 28 черных и белых секторов. Эмпирически установлено, что максимальная легко достижимая на практике разрешающая способность обычных оптических детекторов составляет 20 секторов на дюйм (8 секторов/см). Двухсенсорная конструкция хорошо работает, если частота следования черных и белых секторов на диске не более 15 на дюйм (6 секторов/см).

    Создание дисков

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


    http://www.roboclub.ru/netcat_files/11_738.jpg

    %! Postscript utility for printing an encoder wheel



    %

    /inch {72 mul} def % #points/inch (don't change me)

    /size 0.5 inch def % radius of encoder wheel

    /segments 16 def % number of segments (black and white)

    /angle 360 segments div def



    /wedge

    { /radius exch def

    /angle_s exch def

    /angle_e exch def

    newpath 0 0 moveto

    0 0 radius angle_s angle_e arc

    closepath

    } def



    gsave

    1.0 inch 1.0 inch translate

    0 1 segments {

    360 segments div rotate

    angle 0 size wedge

    2 mod 0 eq {1} {0} ifelse

    setgray fill

    } for

    grestore



    showpage





    Сборка датчика

    Итак, перечислим материалы, которые нужны для изготовления датчика положения: бумажный кодировочный диск, оптический сенсор типа Hamamatsu, черный пластиковый футляр из-под фотопленки, пластмассовая петля. Диск приклеивается к выходному валу там, где он выступает из задней части корпуса мотора. Сенсор и несколько других элементов крепятся на небольшой пластине из печатной платы. Печатная плата приклеивается ко дну футляра, а провода датчика и мотора выводятся через прорезь в боковой поверхности футляра.

    http://www.roboclub.ru/netcat_files/11_733.jpg

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


    Тестирование

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

    Затем мы взяли контрольную плату M.I.T.
    6.270
    (конечно, тип платы несущественен) и написали небольшой драйвер для работы с датчиком по прерыванию TIC3 процессора HC11, так чтобы количество подсчитанных тиков за секунду отображалось на дисплее.


    http://www.roboclub.ru/netcat_files/11_734.jpg
    Самодельный датчик, соединенный с портом 68HC11 (сравнивающим входной сигнал с таймером) на контрольной плате
    href="http://www.mcmanis.com/chuck/robotics/controllers/6270.html">M.I.T.
    6.270
    , похожей на "
    href="http://handyboard.com/">Handy Board
    ".


    Поиск
    Наш опрос
    Оцените мой сайт
    Всего ответов: 180
    Статистика

    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0
    Форма входа
    Календарь новостей
    «  Сентябрь 2017  »
    ПнВтСрЧтПтСбВс
        123
    45678910
    11121314151617
    18192021222324
    252627282930
    Реклама
      WMmail.ru - сервис почтовых рассылок WMlink.ru - рекламный брокер SB-MONEY.RU - Электронная коммерция, Сервисы для вебмастеров, Раскрутка
      OZON.ru
      Обмен SMS
      ПОЛУЧИТЬ:  
      НА:
    Мини-чат