Линейные энкодеры

ATLab
BALAL:

Ппредлагаю простой линейный энкодер… 😁
На столе… полотно от рулетки, а на движущейся части… WEB - камера с нестандартной оптикой… и фонариком, вероятно… Дело за небольшим - грамотным ПО!
(Шутка с долей истинны!)

Не, web-камера точно не подойдет, вот она стоит у меня перед глазами 6408480 USB2- все движения получаются смазанными. Прикидываю, как от нее изображение забрать в свою программу, выходит, что без Windows никак. А про то, что в Windows плохо управлять двигателями станка уже много написано. Да и обрабатывать изображение нехилое быстродействие нужно - фотография в BMP занимает 921 кбайт, уж лучше мышиный датчик. Не всегда много пикселей хорошо.

Sergey_Murzinov

Народ на сайте www.usdigital.com/products/lin/ есть описание линеных энкодеров. Вот только не могу всосать как получают сигналы двух каналов выходов

Художник

Прикольно. Линейку на коленке делать. Это фокус. Всё таки как вы собираетесь риски например, с шагом 0,02 и с высокой точностью на линейку наносить?

Допустим, не на стекло, а на лавсановую плёнку. Всё равно, как?

ATLab,

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

Но сделать это (естественно точно) не так уж просто. Поэтому хорошая линейка дорого стОит, примерно 1$ - 1мм.

ATLab
Художник:

ATLab,

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

Но сделать это (естественно точно) не так уж просто. Поэтому хорошая линейка дорого стОит, примерно 1$ - 1мм.

А я не спорю, конечно, получить абсолюгные координаты сложнее. Только я не вижу смысла делать линейный энкодер без этого, а для относительных вполне достаточно энкодера на валу.
Как обработать сигнал с камеры я представляю - бОльшую часть трудовой биографии занимаюсь цифровой схемотехникой, микропроцессорами и микроконтроллерами, в том числе и программирую - может поэтому и не предвижу легкости в обработке (распознавании) изображения. Цифровой обработкой изображений интересовался еще в студенческие времена - элементная база за это время изменилась, а принципы обработки и формулы - нет.
Убежден, что простым микроконтроллером типа PIC16, PIC18 в реальном времени слежения за линейкой и распознавания абсолютных меток не сделать, не нужно иллюзий по этому поводу.

BALAL
ATLab:

Не, web-камера точно не подойдет…

Далее… А сенсор, аналогичный сенсору сканера? Линией вдоль линейки? Закодировать абсолютные координаты в ширине рисок линейки (допустим, десяток узких - синхронизирующих, за ними широкая - стартовая и следом кодовая комбинация из широких и узких? При этом, если сенсор будет сразу пару комбинаций, допустим, будет обозревать… то абсолютную координату сможет вычислить в любом положении… ?!
Разместить счёт для авторских отчислений? 😅

Художник

Допустим, на лазерном принтере риски на шкалу напечатаете. Например, 600 DPI, составит 0,0423 мм/шаг, предположим, машине с такой линейкой надо на 0,2 мм двинуться. 0,2:0,0423=4,728 шага. То есть 5 полных шагов. 5*0,0423=0,2115. При этом погрешность перемещения составит 0,2115-0,2=0,011 На сотне таких перемещений погрешность составит более миллиметра, на тысяче - 11,5 мм.

И дело даже не в дюймах, а в некратности шагу машины.

Само собой, принтер штука не точная, шестерёночки пластиковые, протяг не совершенный, такая шкала точность будет иметь + 0,5 мм на 0,25 м.

Не верите - файлик приложенный распечатайте, например на HP 6L и металлической линейкой по ГОСТ 427-75 измерьте.

Рачпечатали?

Полосочки по фону видите? Муар называется. Это вы как раз вышеописанную погрешность наблюдаете. Не даст он вам точно работать, да и полосатить всегда будет. Шкала конечно хилая, 1000 линий, 0,25мм/шаг, на серъёзной шкале всё будет гораздо хуже.

Кто то скажет - для хобби пойдёт. Ну если хотите вместо кругов овалы резать, фоны полосатить, размеры не выдерживать, и на миллиметры и сантиметры уезжать - тогда пожалуйста…

В общем кому время не жалко терять, балуйтесь 😃

BALAL,

Примерно так и делается, так что авторские отчисления не грозят 😃

ATLab,

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

Как раз таки последние продвинутые энкодеры имеют кучу смещённых шкал, и легко считывают абсолютное положение.

А линейка это ЛИНЕЙКА.

Galant1,

“Иначе- порталы ЛЕТАЮТ!”

Дальше концевика не улетит 😃

_____1.rar

Galant1
Художник:

Дальше концевика не улетит 😃

С шаговиками- да…
А вот сервачок даст так даст…
И штука под сотню кг, со всей дури наехавшая на концевик, думаю, в этом месте не остановится…

maxvovk
Художник:

Допустим, на лазерном принтере риски на шкалу напечатаете. Например, 600 DPI, составит 0,0423 мм/шаг, предположим, машине с такой линейкой надо на 0,2 мм двинуться. 0,2:0,0423=4,728 шага. То есть 5 полных шагов. 5*0,0423=0,2115. При этом погрешность перемещения составит 0,2115-0,2=0,011 На сотне таких перемещений погрешность составит более миллиметра, на тысяче - 11,5 мм.

И дело даже не в дюймах, а в некратности шагу машины.

Само собой, принтер штука не точная, шестерёночки пластиковые, протяг не совершенный, такая шкала точность будет иметь + 0,5 мм на 0,25 м.

Угу. Распечатал. На 5и струйниках и 3х лазерниках. На струйниках печатаем на пленке от Lomond. На лазерниках - на пленке от Basf.

  • Первый струйник офисник HP2250 - лучше не смотреть. Полоски неравномерной высоты, многие слились, расстояние между ними гуляет. Разворот на 90градусов ничего не дает. Отстой.

  • Второй струйник мыльница HP Psc1300 - уже что-то. Ширина полос равномерна, как и растояние. Но - полосы имеют ширину меньше, чем растояние. Требуется эксперимент.

  • Третий струйник - Lexmark Z52. Ширина полос и растояние идеальны. Похоже, черный печатал смесью цветов, но лучший из трех.

  • Четвертый струйник - Epson Photo 950. Полосы черные и ровные. Растояние и ширина идеальны. Черный цвет глубокий, полоски практически без облоя. Лучший вариант для струйника.

  • Пятый струйник - Epson Photo R240. Все ИДЕАЛЬНО! Я ожидал качества - но такого! Хотя он современен и совсем новый, чего и следовало ожидать.

  • Первый лазерник - пресловутый HP 6L. Полоски серо-черные. Встречаются незаполненные (как из двух штрихов). Растояние идеально, ширина плавает. Отстой.

  • Второй лазерник - HP LJ 2420. Все ровненько и красиво. Уровень 4-го струйника, но облой еще меньше. Заполнение немного хоже, что странно…

  • Третий лазерник - Samsung ML3561. Это корейское “чудо” показало, что печатает лучше всех. Облоя НЕТ, полосы по ширине и растоянию идеальны. Чернота отличная.

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

Выводы.

  • чем современней принтер, тем точнее и лучше он печатает. Использовать технику 95 года разработки для точных работ не рекомендуется.

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

  • Печать на бумаге и на пленке дает разные результаты.

В аттаче файл, который был сделан как альтернативный вышеприведенному. На нем получены лучшие результаты.

Также. Есть такая штука, как коэффициенты пересчета. Разрядность мантиссы 32 бита.
Так же некоторый софт пересчитывает _каждый_ импульс с енкодера, а не суммирует результаты. Никакого накопления ошибки не происходит.
Так же енкодер делается с _широкими_ опто-датчиками, в каждый момент времени работает не одна, а множество полосок.

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

Давайте все-таки отталкиваться не от теории, а от практики. Сделанный для теста экспериментальный енкодер с 1800имп на оборот (правда, диаметром 95мм) - все-таки показатель. И портал ездит как надо, и после часа езды возвращается в обратную точку с точностью до импульса или 0.05мм.

Потратил кучу и так отсутствующего времени, поэтому злой. Но довольный 😃.

Художник
Galant1:

И штука под сотню кг, со всей дури наехавшая на концевик, думаю, в этом месте не остановится…

Без проблем.

Galant1

Смотря как и на чем едет…
с дохлым ДШ-200 с подачей 1000 мм/мин может и без проблем…
С хорошим серво- концевик может и обеспечит обесточивание движка, но тормозные функции выполнить не успеет и не сможет…
И буде большой “БАХ!”…

Художник

maxvovk,

"Так же енкодер делается с _широкими_ опто-датчиками, в каждый момент времени работает не одна, а множество полосок.

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

На меня намекаете? Я лично Вам в приват высылал конструкцию одного из энкодеров со специальной конфигурацией многощелевого окна. Специально для Вас делал микрофотографию под микроскопом, и подробно объяснял особенности конфигурации щелей, преимущества конструкции и способы снижения погрешности. Терял своё время. А Вы мне ещё отвечали, что понимать отказываетесь, или что то в этом роде.

В итоге, вместо спасибо - типа кто то не знал или умалчивал…

Теперь моя очередь отказываться понимать. Или невнимательно читаете?

Что вы называете качественным решением? Оптическую шкалу линейного датчика перемещений станка ЧПУ, напечатанную на принтере? +_ 1 мм, с муаром?

Не смешите.

И программная компенсация, это всё фигня. Информации от этого не добавляется, и погрешность не уходит, а размазывается, и трансформируется в другие ошибки.

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

Мне особо спорить ни с кем не хочется. Если бы всё было так просто, наверное такие фирмы не процветали бы:
www.real-inter.com/rus/lm.htm

Есть у меня такие линейки. Это вещь. Вот когда такие же риски, как на них, на принтере сделаете, тогда и поговорим.

Galant1,

“И буде большой “БАХ!”…”

Какой бах?

У меня серво - 15 м/мин, вес каретки - килограмм 150, в концевик влетает, становится как вкопанный.

Только резюк балластный в цепи тормоза нагревается.

dm1try

что вы рубитесь по поводу пленок? 😃 получится на принтере - отлично. не получится - любая контора, занимающаяся изготовлением печатных плат, рублей за двести выдует на фотоплоттер все, что пожелаете…

во, первая попавшаяся:

Растровый фотоплоттер фирмы LAVENIR RPG-1622.
Пленка KODAK ACCUMAX 2000.

В течение 24 часов:
Размер пленки в дюймах Размер пленки в мм Стоимость без НДС
16x20 400x500 310 руб.
12x18 300x450 250 руб.
10x16 250x400 190 руб.
9x12 225x300 150 руб.

Стоимость изготовления
в течение 6 часов + 50% в
присутствии заказчика + 100%

/dmitry

Художник

dm1try,

Вот это уже более здравый мысль. Только не растровый. Именно прецизионный фотоплоттер. Не фотонаборная машина (имиджсеттер) а именно фотоплоттер. Желательно планшетный. Если барабанник, то без спиральной развёртки.

На хорошем фотоплоттере фотошаблон на порядок дороже, чем на растровой машине, но он того стОит.

Для серьёзной машины не пойдёт, но для хобби уже что то приемлемое.

Это будет лёгкое прикосновение к Точности.

maxvovk
Художник:

На меня намекаете? Я лично Вам в приват высылал конструкцию одного из энкодеров со специальной конфигурацией многощелевого окна. Специально для Вас делал микрофотографию под микроскопом, и подробно объяснял особенности конфигурации щелей, преимущества конструкции и способы снижения погрешности. Терял своё время. А Вы мне ещё отвечали, что понимать отказываетесь, или что то в этом роде.

Не было таких писем, вы что-то путаете.

Что вы называете качественным решением? Оптическую шкалу линейного датчика перемещений станка ЧПУ, напечатанную на принтере? +_ 1 мм, с муаром?

Блин, читайте выше. Современные принтеры печатают очень и очень прилично.

И программная компенсация, это всё фигня. Информации от этого не добавляется, и погрешность не уходит, а размазывается, и трансформируется в другие ошибки.

Что размазывается? Лирика, и не более того. По вашим рассуждения точность полосок по ширине и растоянию между ними должна быть в одну миллионную, но и тогда на милион итераций накопится погрешность в 1мм. Чушь полная. Енкодеры обсчитываются, а не суммируются импульсы. И в умных книжках написано, что главное - соблюсти РАВНОМЕРНОСТЬ распределения меток, а отклонение ширины от расстояния не играет роли, так как это микрон и меньше.

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

Ваше четкое деление на “любительски” и “профи” станки непонятно. Если енкодер на любительском дает гарантированную точность в сотку и выше, то и на “гостовском” 😃 координатно-расточном даст то же.

Мне особо спорить ни с кем не хочется. Если бы всё было так просто, наверное такие фирмы не процветали бы:
www.real-inter.com/rus/lm.htm
Есть у меня такие линейки. Это вещь. Вот когда такие же риски, как на них, на принтере сделаете, тогда и поговорим.

Вы просто переврали теорию и теперь изворачиваетесь.
Надо бы еще вспомнить интерполяцию - можно уменьшить количество штрихов, и промежуточные значения вычислять дешевым АЦП. Так все и делают (во всяком случае на современных енкодерах и линейках), совершенно бестолково печатать штрихи на высокоточных линейках с шагом 0.001мм. Я с этим еще поиграюсь, когда будет время. Но вот тут точность по ширине и расстоянию роль как раз играет. Но даже 4х битый АЦП с частотой дискретизации 5мГц за $1.5 + МК Atmel Tiny за $1.25 сделают из енкодера c 50 штрихами 800-импульсный енкодер. 😃

Для серьёзной машины не пойдёт, но для хобби уже что то приемлемое.

И все-таки. Определите понятие “серьёзной машины” в сравнении с “хобби”. И поясните не только мне, но и общественности, что такое есть страшный “ГОСТовский” станок, “ГОСТовский” привод…? И чем он круче ОСТовского, ТУшного или примитивного Милуоки или Хааса с купленной за пару сотен $$ бумажкой в любом центре сертификации?

Я не поленюсь, пришлю вам круг акрила, вырезанный на “хоббийной” машине. Если честно, то результат меня самого поразил… 😃

Художник
maxvovk:

Не было таких писем, вы что-то путаете.

Было. От 2.04. с приложенными файлами.

maxvovk:

Блин, читайте выше. Современные принтеры печатают очень и очень прилично.

Опа. А я и не знал. 😃

maxvovk:

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

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

Класс!

maxvovk:

Ваше четкое деление на “любительски” и “профи” станки непонятно. Если енкодер на любительском дает гарантированную точность в сотку и выше, то и на “гостовском” 😃 координатно-расточном даст то же.

Ну куда уж нам, с пониманием то… Оказывается всем надо было линейки на струйнике напечатать, а они дебилы, у HEIDENHAIN покупали 😃

maxvovk:

Вы просто переврали теорию и теперь изворачиваетесь.

Я практик. В теории, это Вы сильны. Больше года на форумах ошиваетесь, сколько вас просили хоть что нибудь показать, так ничего и не показали. Сплошное бла-бла-бла и собирание информации.

maxvovk:

совершенно бестолково печатать штрихи на высокоточных линейках с шагом 0.001мм. Я с этим еще поиграюсь, когда будет время.

Если в теме много чего не понимаете, зачем глупости то писать?
Играйтесь на здоровье, другим зачем ерунду советовать?

maxvovk:

Я не поленюсь, пришлю вам круг акрила, вырезанный на “хоббийной” машине. Если честно, то результат меня самого поразил… 😃

Вы уж его себе приберегите…

Sergey_Murzinov
maxvovk:

Надо бы еще вспомнить интерполяцию - можно уменьшить количество штрихов, и промежуточные значения вычислять дешевым АЦП. Так все и делают (во всяком случае на современных енкодерах и линейках), совершенно бестолково печатать штрихи на высокоточных линейках с шагом 0.001мм. Я с этим еще поиграюсь, когда будет время. Но вот тут точность по ширине и расстоянию роль как раз играет. Но даже 4х битый АЦП с частотой дискретизации 5мГц за $1.5 + МК Atmel Tiny за $1.25 сделают из енкодера c 50 штрихами 800-импульсный енкодер. 😃

А с этого момента можно поподробней: где почитать, взять примеры и пр.

maxvovk
Художник:


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

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

Ну куда уж нам, с пониманием то… Оказывается всем надо было линейки на струйнике напечатать, а они дебилы, у HEIDENHAIN покупали 😃

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

На остальное отвечать не буду. Вам ничего доказать невозможно. Да и на конкретные вопросы вы не отвечаете.

Художник

" Да и на конкретные вопросы вы не отвечаете."

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

“тут хоббийный форум. И соответствующие в лучшем случае гаражным условиям обсуждения.”

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

Смысл линейки - это прямое измерение линейного перемещения с высокой точностью. Если линейка изначально неточная, то она не нужна. Поворотный энкодер проще и дешевле.

Художник
Sergey_Murzinov:

А с этого момента можно поподробней: где почитать, взять примеры и пр.

maxvovk:

Да и на конкретные вопросы вы не отвечаете.

Вот и и ответьте человеку. Только конкретно, и с пользой.

maxvovk
Sergey_Murzinov:

А с этого момента можно поподробней: где почитать, взять примеры и пр.

Почитать - в Гугле искать что-то типа “optical encoder ADC interpolation”.
Где взять примеры - не в курсе, это прикладная работа, довольно несложная для владеющего схемотехникой и программированием МК.
Теория довольно проста - фоторезистор и его оцифровка АЦП с частотой дискретизации, превышающей максимальную скорость енкодера раза в 4 и выше. Простейшая цифровая фильтрация сигнала (выбраковка значений, выходящих из рамок теоретически ожидаемых - это на пальцах), сравнение с таблицей значений (например 16 значений при 4х битном АЦП).
В качестве фоторезисторов можно использовать полоски кремниевых солнечных элементов как доступный материал. Размер полосок 3х10мм. Форму дуги можно сделать на алмазном диске.

Художник, ответ более-менее вразумительный?

Художник

“Художник, ответ более-менее вразумительный?”

Очень вразумительный - “Ищи в Гугле…”