Высокоточный энкодер

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем MXXX, 8 фев 2016.

Метки:
  1. MXXX

    MXXX Гик

    Интересует недорогое решение для высокоточного измерения угловых скоростей.
    1. Измеряемая скорость 0-2000 оборотов / мин.
    2. Разрешение измерения не менее 15 градусов.
    3. Допустимая погрешность измерения не более 0,02%

    Прорабатываю варианты:
    1. Магнитные или механические энкодеры. В распоряжении пока только недорогой магнитный энкодер. Для указанных целей не пригоден. Периодически либо пропускает импульсы, либо наоборот ловлю несколько вместо одного. Соответственно не прохожу по допустимой погрешности измерения.
    2. Оптический энкодер.
    3. Оптический датчик + лазер.
    4. Датчик холла.

    Я конечно что-нибудь придумаю, но не хотелось бы тратить время на изобретение велосипеда. Может кто уже сталкивался с аналогичной задачей и подскажет какое решение будет самым недорогим и надежным?
     
  2. Onkel

    Onkel Гуру

    пункты 2 и 3 не совсем друг другу подходят. Если хотите точность 0,02%, то нужно разрешение не 1/24, а побольше.
    по вариантам
    1 сами отказались, и правильно
    2 да, из чпу или асутп, чтобы обеспечить 0,02% вам понадобится инкрементальный энкодер с разрешением под тысячу импульсов/оборот. Баксов 100 за корейский, сотни три за фирменный.
    3 ?
    4 0,02 имхо не бывает. Все таки магнитно поле - оно такое непрерывное.
    С задачей сталкивался, звонил в фирму по продаже энкодеров для асу тп и покупал там же.
     
  3. MXXX

    MXXX Гик

    Под 3 пунктом я имею ввиду фактически самодельный оптический энкодер. На ротор крепим диск с равноудаленными отверстиями. С одной стороны просвечиваем диск слабым лазером или любым другим источником света, с другой принимаем световой импульс оптическим датчиком. Когда свет проходит через отверстие получаем логическую 1, когда отверстие перекрыто логический 0. Считаем количество импульсов на единицу времени, получаем угловую скорость.
     
  4. Onkel

    Onkel Гуру

    даже если вы просверлите 100 отверстий, вам нужно чтобы толщина луча лазера составляла 0,02 от размера отверстия, и чтобы край отверстия был выполнен с такой же точностью (0,02 от размера отверстия). Имхо это нереально, ну если вы не Левша Кулибин.
     
  5. MXXX

    MXXX Гик

    Почему 0.02 то? )) Мне с указанной точностью не угол нужно измерять, а угловую скорость. Можно и 1 отверстие сделать. Просто если их будет несколько, то угловую скорость можно вычислить быстрее. Это актуально только для низких оборотов ротора. На оборотах более 200/мин мне и 1 импульса на 360 градусов хватит.
     
  6. Onkel

    Onkel Гуру

    И вы тоже правы....
    Но на 200 об/мин вы получите разрешение 1/200, что также хуже нужной вам точности 0,02% в 25 раз.
     
    Последнее редактирование: 8 фев 2016
  7. DrProg

    DrProg Вечный нерд

    Угловая скорость легко вычисляется из количества оборотов в минуту (секунду).
     
  8. MXXX

    MXXX Гик

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

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

    Onkel Гуру

    но точность будет пропорциональна к-ву импульсов на оборот и скорости. И если вам 1 имп/оборот хватает, то зачем тогда
    что явное не вписывается в 1 имп/оборот даже при 200 об/мин
     
  10. MXXX

    MXXX Гик

    Вы продолжаете путать то, что мне точность нужна по параметру угловой скорости, а не углу поворота )
    Точность измерения угловой скорости зависит только от 2 составляющих:
    1. От количества ложных импульсов.
    2. От точности таймера времени.

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

    Например, если у меня 1 импульс на 360 градусов и скорость вращения вала 60 оборотов в минуту
    То я получаю значение текущей угловой скорости 1 раз в секунду. При отсутствии за это время ложных импульсов и идеальной работы таймера погрешность будет = 0. Точность меня в данном случае устраивает, а вот скорость измерения маловата. Мне нужно оценивать ситуацию несколько раз в секунду. По этому в требованиях выше я и указал: "Разрешение измерения не менее 15 градусов." Это позволит мне в описанном примере получить значение угловой скорости 24 раза за 1 сек., что уже приемлемо.
     
    Последнее редактирование: 9 фев 2016
  11. Onkel

    Onkel Гуру

    нет, не путаю. Если у вас скорость будет 60,999 оборотов в минуту, то с одним импульсом на оборот вы получите значение 60 при реальной скорости практически 61, погрешность будет 1/60=1,7%. У вас ведь скорость вала не дискретна? Так что такая точность - 1,7% и такое разрешение по скорости и будет у вас вблизи 60 об/мин при одном импульсе на оборот.
     
  12. DrProg

    DrProg Вечный нерд

    Датчик Холла вполне справится с частотой 2000Гц, с подсчетом импульсов так же легко справится любой МК хоть на 1МГц, но лучше конечно хотя бы на 8. В чем проблема то конкретно?
     
  13. MXXX

    MXXX Гик

    Ага, если знать сколько оборотов было за эту секунду ) Магнитный энкодер вот постоянно путается в показаниях )
     
  14. MXXX

    MXXX Гик

    Ну судя по Вашим данным проблемы наверно уже и нет. У меня получается максимум 800Гц и датчик холла подходит. К тому же решение очень дешевое.
     
  15. DrProg

    DrProg Вечный нерд

    А, вот только сейчас заметил требование к точности 0.02%. То есть 1/20000 оборота. Либо вы не правильно выразились, либо готовьте 20000 датчиков на свое устройство.

    Не знаю про магнитный энкодер, а вот автомобильный датчик холла вполне себе ровно работает при вращении вала до 4000 и более об/мин. Во всяком случае те, которые я видел. Вот тут пишут про максимальную частоу 320кГц, что больше ваших требований в сотни раз (почти в тысячу, если точнее).
     
  16. MXXX

    MXXX Гик

    Нет, не будет у меня 60, у меня будет ровно 60,999. Вы по какой-то странной формуле считаете скорость.
    Скорость считается по формуле:
    S = X / T * 60
    где:
    X: Количество импульсов на 1 оборот
    T: Время прошедшее с момента прошлого импульса, либо начала движения.

    Иными словами нужно не количество оборотов за 1 сек. измерять, а количество времени затраченного на 1 оборот.
     
    Последнее редактирование: 9 фев 2016
  17. MXXX

    MXXX Гик

    Вы, что сегодня сговорились все ))) Я про это с Onkel как раз спорю ))
    Прочтите мои сообщения выше. Мне не угол поворота нужно измерять, а угловую скорость.
     
  18. DrProg

    DrProg Вечный нерд

    Про угловую скорость я написал выше. А вот вы зачем написали про точность 0.02%? Кстати, Onkel прав в том, что если за минуту ваш вал немного недокрутит до очередного полного оборота, то этот оборот округлится в меньшую сторону. Ошибка будет меньше, если время измерения увеличиться, например за час наблюдений плюс-минус 1 оборот будет уже совершенно незначителен и результат приблизится к заданной точности. Если, конечно, весь час скорость вращения не менялась.

    Вам вообще нужно угловую скорость за какой то период времени или моментальную?
     
  19. MXXX

    MXXX Гик

    Ваша ошибка и ошибка Onkel в том, что Вы измеряете угловую скорость по количеству оборотов за единицу времени. А так считать нельзя, это даст погрешность, о которой Вы и пишите. Измерять скорость нужно по другой формуле, я писал про это выше. По количеству времени затраченному на 1 оборот. Тогда никакой погрешности не будет
     
  20. MXXX

    MXXX Гик

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