Заклинивание сервопривода

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем Papipa, 22 ноя 2017.

  1. Papipa

    Papipa Гик

    Друзья! Есть вопрос.

    В изобретенном мною автоподатчике типовых деталей есть одна проблема - заклинивание (какой-то очередной деталью) вала сервопривода. Ну то бишь деталь стоит в определенном неправильном положении, серво крутить не может.

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

    Событие достаточно редкое, но имеет место быть.

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

    Ещё есть мысль в направлении тока... Как представляется мне, при заклинивании вала - серво пытается все равно крутить, но т.к. кручение не происходит, то растет сила потребляемого тока на серве - вот этот, может быть, момент контролировать? Хотя могу абсолютно ошибаться - потребление тока не растёт и т.п.
    Но если всё-таки момент такой существует, то каким методом (технологией) можно определять изменения тока на серве?!
     
  2. Tomasina

    Tomasina Сушитель лампочек Модератор

  3. Papipa

    Papipa Гик

    Инфы маловато... "сообщит об изменении нагрузки или поднимет тревогу при аварийном обесточивании системы"

    Куда оно, к чему подключается? Как будет себя вести в описанной мной ситуации - выдавать "ноль" при заклинивании сервы?

    Есть ли еще подобные аналоги? Тройка, всё-таки, особняком стоящий продукт, а не повсеместно продаваемые Дуне-модули...
     
  4. issaom

    issaom Гуру

    INA219 ?
     
  5. Tomasina

    Tomasina Сушитель лампочек Модератор

    Будет выдавать потребляемый мотором ток, в некоторых попугаях (можно пересчитать в Амперы или проценты, но для данной задачи не столь важно). Допустим, при нормально работающем приводе это будет 56-70 попугаев, при заклинивании показания станут уже 120-140 попугаев. Т.е. как только показания стали выше 90 попугаев, можно отключать привод.
    Подключается в разрыв любого питающего провода к мотору.

    Вот они же в более ширпотребном исполнении: http://iarduino.ru/M_search.php?s=Тока
     
  6. akl

    akl Гуру

    это ACS712, может я что-то не так делал, или микросхема плохая была, но они слишком неточные. может если надо отличать +- единицы ампер, то сойдет, но если например нужна точность +-50мА хотя бы, то по моему опыту такой датчик никуда не годится. Лучше поставить резистор (0,1-0,2 ома в зависимости от ожидаемого тока), и с него мерить через ОУ (это и дешевле в десятки раз будет).
     
  7. Papipa

    Papipa Гик

    Почитал. Да, вроде хороший вариант )) Уже сходил в Сеть, закинул в корзинку пару изделий )) Будем поизучать, спасибо!
     
  8. akl

    akl Гуру

    тащемта, мне кажется, цифровой датчик это слишком для такой задачи (тупо отследить превышение тока). резистор и однополярное ОУ - цена 20 рублей и займет это один пин (аналоговый).
    хотя если приводов много и каждый надо отслеживать отдельно, то уже не факт.
     
    Papipa нравится это.
  9. Tomasina

    Tomasina Сушитель лампочек Модератор

  10. akl

    akl Гуру

    о, типа хамбакер. но для мелких токов до 1-2 ампер это все равно неоправданные костыли по сравнению с резистором
     
  11. rkit

    rkit Гуру

    Интегральный датчик проще и точнее, потому что внутри все то же самое, но изготовленное и откалиброванное на фабрике. Нужно просто выбирать датчик под требуемый диапазон измерения.
     
  12. Papipa

    Papipa Гик

    Ну вот замерял... Напруга (мультиметр на GND и +5В) во время работы сервы скачет в пределах 4,2-4,4 В. При клине сервы напруга встаёт стабильно в пределах 3,27В... Думаете на это и остановиться?

    Как понимаю, в таком случае нужно кинуть с +5В на аналоговый пин провод с резистором (кстати, каким номиналом?!), ну и замерять Дуней значения... Всё верно?
     
  13. akl

    akl Гуру

    я делал так - самый простейший вариант:
    резистор 0,2 ома (лучше взять 0,1ом - диапазон будет побольше) 1 ватт (в принципе мощность и сопротивление надо подбирать исходя из измеряемого тока, для больших токов вообще есть специальные шунты), его поставить между нагрузкой и землей, и с точки между ним и нагрузкой снимать напряжение, которое усиливать каким-нибудь однополярным ОУ, например вот https://www.chipdip.ru/search?searchtext=lm358 - стоит копейки.

    подробнее вот тут можно почитать http://easyelectronics.ru/izmeritelnye-cepi.html

    допустим через нагрузку течет ток максимум до 2 ампер, значит если взять 0,1 ом резистор, то на нем при 2 амперах будет падать 0,2 вольта - греться он будет на 0,4 ватта соответственно - 1 ватт резистор нормально.
    Так при 2 амперах с него будет сниматься 0,2 вольта - соответственно если настроить ОУ на усиление в 20 раз, то при максимуме он будет выдавать 4 вольта, при минимуме 0 (на самом деле чуть больше, но можно не учитывать). выход с ОУ подключается к ардуино, которое его соответственно оцифровывает. думаю точность измерения будет +-10мА.
    соответственно это все можно дополнительно откалибровать, измеряя ток мультиметром, но у меня все в пределах точности этого мультиметра совпало со всеми расчетами.
    вот такая кстати приблуда получилась:
    [​IMG]

    ОУ лучше ставить прямо рядом с резистором и питать ардуиновскими 5 вольтами.
     
    Papipa нравится это.