Dremel2020

Можно ли пользовать оптопару от принтера для датчика угла поворота ?

41 повідомлення у цій темі

Есть несколько старых струйных принтеров от НР....там есть диск пластиковый с двоичной раскраской.

Проходит через оптопару....

Вопрос - можно ли этот брухт использовать в полезных целях ? В частности, - для позиционирования вала ШВП ? 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Если вы про те диски что на основном валу сидят -- то почеу нет, там порядка 1000имп/об, вполне достаточно....

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Благодарю за ответ !

А если там ещё код Грэя допечатать (на соосном  диске  но меньшего качества, с учётом меньшей тщательности, ввиду меньшей разрядности) - можно его превратить в абсолютный  ? (минималка)......задача максимум - сделать многооборотный. Фирменные стОят денег.....проще самому задуматься. Техпроцессом в собственных изысканиях обещаю поделиться !

С уваженимем !

 

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

если на диске рисочки то да , есть диски с рельефом типо призма они могут пропускать импульсы 

 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

" дребезг " аппаратно никто не пытался решить ? 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

давно было не помню что там за код ,я импульсы делил ещё чтоб понятные мне цифры были , надо его поискать если не удалил 

 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
, Dremel2020 написав:

Проходит через оптопару....

Вопрос - можно ли этот брухт использовать в полезных целях ? В частности, - для позиционирования вала ШВП ?

Все питання в оптопарі: якщо вона двоканальна - тобто формує так званий квадратурний сигнал - тоді можна заморочитись...

 

Якщо вихід лише один - брухт. Боротись із напрямком рахування і враховувати для одного каналу 

, Dremel2020 написав:

" дребезг "

то невдячна справа.

 

Як на мене простіше поставити найдешевший з інкрементних енкодерів і мати гарантований результат.

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Благодарю за ответ !

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

Кто-то говорит - "мне и контроллера хватает", кто-то говорит -  уже всё давно решено. И микросхем есть умных типа ls 7084 и подобных. Глянул документацию кстати, на неё - строб импульсы по изменению  состояний. Микросхема всё равно ошибается при нарушении последовательности "00" >"10">"11""> "01"   

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

Может кто пошлёт меня куда надо :-) буду очень признателен !

С уважением !!!

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Мысль просто есть.......когда штрих диска проходит через двойную оптопару - может создавать две последовательности:

Прямую 00>10>11>01>00 - отслеживает прямой канал  (строб подтверждения прохождения последовательности + инкремент)

И обратную 00 >01>11>10 -//- квадратурный (--/-- декремент)

Варианты с 00 >10> 00 >11 >00> 01> 00 не рассматриваю, ибо так сложнее

А если вдруг штрих остановился на "11" , потом снова вернулся на 01, потом  ещё и вернулся к реверсивной

последовательности ....так собственно в чём мысль:  дребезги будут только на фронтах.

А если даже и так, то что, если сделать, как в советском галетнике шарик в паз заскочил -  вот и состояние.

Обратно уже не повернёшь. Иными словами - чтобы нельзя было пройти через "ступеньку".

Простите за кошмарное изложение мыли, но сведущим будет понятно о чём я....

кто-то эти вопросы прорабатывал ?

С уважением !

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Простите, перечитал свой текст....неловко стало.

избавится от дребезга думалось так:

Например - оптопара выдала  последовательность 00>01>11

Дребезги будут при преходе 00 в 01, далле 01 в 11, и т.д.

Что если считать, что произошло событие перехода в "01" из "00", то следующих событий

может быть только два - переход в "11" или обратно в "00" Однако если схема "помнит" предыдущее состояние (оно было "00"),

то фиксировать обратный переход не нужно. Важным был бы переход либо из 00 в "10" (уже реверс), либо из "01"  в "11" (прямой ход)

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

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

Либо - если вернуться назад, то нужно сделать то же самое, но в обратной последовательности.

Иными словами - отследить логическую последовательность......    

 

 

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

 собрал на операционнике  для поигратса , вроде работало , 200 пиков маловато будет ,но 360/200=1,8 градуса не очень 

20200602231219.jpg

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Благодарю за ответ !

Пожалуй попробую нечто собрать, чтобы продемонстрировать суть вопроса....небыстро будет, однако попытаюсь.

С уважением !

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
16 часов назад, Dremel2020 сказал:

" дребезг " аппаратно никто не пытался решить ? 

А шо там решать? Для этого существуют логические элементы с триггером Шмитта на входе.
Перед ним установить банальный RC-фильтр с соответствующей частотой среза.

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

а чи не простіше при потребі взяти ось таке -https://item.taobao.com/item.htm?spm=a230r.1.14.119.1450471aVAhZyC&id=599303380298&ns=1&abbucket=19#detail   та не займатися "мазохізмом" , хіба що  для розваги , перед тим як викинути

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
1 час назад, Одессит сказал:

А шо там решать? Для этого существуют логические элементы с триггером Шмитта на входе.
Перед ним установить банальный RC-фильтр с соответствующей частотой среза.

 

RC- фильтр и триггеры Шмидта не решают вопросов нарушения последовательности засветки светодиодов оптопар. 

"00" >"10"> "11"> "01" - прямой ход "00"> "01"> "11" >"10" и реверс.

А если элементарный штрих энкодера прошёл всего часть последовательности - а потом ушёл в реверс - схема регистрации выдаст ошибку.   

Я попытался придумать схему на дискретных элементах.(RS-триггеры, комбинационная логика) - получилось корпусов 15....

Там - осуществлена попытка исключить дребезг логически. Суть идеи -  наступившее состояние фиксируется соотв. триггером.

Чтобы зафиксировать (не просто вернуться в...) прежнее состояние - нужно вернуться от него к предыдущему.

Простите за не слишком подробное объяснение ! Я попробую суть проблемы изложить в каком-то более продуманном пояснении.

С уважением !

 

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
1 час назад, Dremel2020 сказал:

 

RC- фильтр и триггеры Шмидта не решают вопросов нарушения последовательности засветки светодиодов оптопар. 

"00" >"10"> "11"> "01" - прямой ход "00"> "01"> "11" >"10" и реверс.

А если элементарный штрих энкодера прошёл всего часть последовательности - а потом ушёл в реверс - схема регистрации выдаст ошибку.   

Я попытался придумать схему на дискретных элементах.(RS-триггеры, комбинационная логика) - получилось корпусов 15....

Там - осуществлена попытка исключить дребезг логически. Суть идеи -  наступившее состояние фиксируется соотв. триггером.

Чтобы зафиксировать (не просто вернуться в...) прежнее состояние - нужно вернуться от него к предыдущему.

Простите за не слишком подробное объяснение ! Я попробую суть проблемы изложить в каком-то более продуманном пояснении.

С уважением !

 

Вы допускаете статистическую ошибку. Т.к. то что вы описываете не является "дребезгом". Счёт ведётся по фронтам и спадам (точнее- по их парам). И если вы "зависли между фронтом и спадом это ровно ничего не значит. Т.е. если у вас в одном канале инкрементного энкодера возникло состояние 0/1 а во втором осталась 1, например, и при "обратном ходе" вы получили 1/0, то это означает лишь движение в обратную сторону.
Другой вопрос в том, что могут быть "дырки" в штрихах. Тут ничего не поделаешь.

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
В 03.06.2020 в 14:26, Одессит сказал:

Вы допускаете статистическую ошибку. Т.к. то что вы описываете не является "дребезгом". Счёт ведётся по фронтам и спадам (точнее- по их парам). И если вы "зависли между фронтом и спадом это ровно ничего не значит. Т.е. если у вас в одном канале инкрементного энкодера возникло состояние 0/1 а во втором осталась 1, например, и при "обратном ходе" вы получили 1/0, то это означает лишь движение в обратную сторону.
Другой вопрос в том, что могут быть "дырки" в штрихах. Тут ничего не поделаешь.

 

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

В противоположном канале не может оставаться единица, если схема предполагает начальную  регистрацию комбинации (01 или 10) при этом происходит разрешение на регистрацию следующей комбинации (11). Но !  соответствующего канала ! (Предполагается запрещение работы одного канала во время начала работы противоположного).  Разблокировка  обоих каналов может быть только при возврате в 00. 

 Пожалуй следует упомянуть о схеме построения каждого из каналов. Это цепочка из 3х триггеров , соединенных последовательно (выход-вход) через схему "логическое И". На второй вход схемы умножения подаётся сигнал от селектора соотв. комбинации. Иными словами - последовательное срабатывание всех триггеров возможно только при полном прохождении соотв последовательности.   

Дребезг  несомненно будет, Но для схемы будет нечувствительным !   

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

 

С уважением ! 

 

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
В 03.06.2020 в 13:11, igor_restavrator сказал:

а чи не простіше при потребі взяти ось таке -https://item.taobao.com/item.htm?spm=a230r.1.14.119.1450471aVAhZyC&id=599303380298&ns=1&abbucket=19#detail   та не займатися "мазохізмом" , хіба що  для розваги , перед тим як викинути

 

Дякую за увагу до теми та бажання допомогти....вибачте, що відповів не одразу. Справа в тому, що є сумний досвід використання подібних девайсів.

Дійсно, доцільнішим інколи здається просте рішення. Але коли починаєш користуватися яким-небудь девайсом, котрий коректно не бажає працювати....і причина лишається невідомою попри всі зусилля....лишається єдине - покласти його на поличку....:-(

Можливо, я дещо ускладнюю задачу. Я намагався знайти рішення проблеми "дріб,язку". Більшіть рішень пропонувалося виконати програмно.

При цьому автори відповідей не зуміли переконати, що Їхні рішення виключають помилки роботи енкодера. В основному це були напівміри.

Зауважую, що принципово правильне рішення я так і не знайшов. Звичайно, виникла мотивація спробувати самому....здається - мені це вдалося.

Отже: виникла думка створити цю тему та поділитися своїми роздумами, спробувати зібрати схему та поекспериментувати з нею. Я не виключаю,

що хтось цим теж заморочувався, але хто і яким шляхом вирішував ці задачі - оце - найцікавіше !

 

З повагою !     

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
38 минут назад, Dremel2020 сказал:

При цьому автори відповідей не зуміли переконати, що Їхні рішення виключають помилки роботи енкодера.

Ви, схоже, не використовували оптичні енкодери, тільки механічні. А вони себе поводять зовсім по різному.

Немає в оптиці ніякого "брязкоту". Можлива  неправильна обробка сигналу від них, або перевищення швидкості руху самого енкодера, або повільна обробка, якщо це МК напряму, завади на лінію передачі.

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
1 час назад, Fyva сказал:

Ви, схоже, не використовували оптичні енкодери, тільки механічні. А вони себе поводять зовсім по різному.

Немає в оптиці ніякого "брязкоту". Можлива  неправильна обробка сигналу від них, або перевищення швидкості руху самого енкодера, або повільна обробка, якщо це МК напряму, завади на лінію передачі.

 

Дякую за відповідь !

Явище зміни освітлення чутливого єлементу оптопари не є раптовим (і подальша зміна логічного рівня виходу схеми з "0" на "1", або навпаки), оскільки в логічних елементах завжди присутня зона невизначеності.

Звичайно, тут приципово немає механічного дріб,язку і зону невизначеності, я к найбіш вразливу до шуму  долають в основному за рахунок так званого "гістерезису" як на тріггерах Шмідта.

Проте те рішення, котре пропонується в темі - принципово не залежить від типу енкодерних сенсорів. Я навіть спробую випробувати роботу схеми в режимі високочастотного меандру, щоб імітувати дріб,язок.  Це дало б можливість оцінити стійкість схеми до завад.

Крім того - якщо використовувати не програмне, а апаратне рішення - можна значно підвищити швидкодію схеми, оскольки вона буде фактично обмежена апаратною швидкодією обраноЇ серії мікросхем.

 

З повагою  ! 

 

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
20 минут назад, Dremel2020 сказал:

Крім того - якщо використовувати не програмне, а апаратне рішення - можна значно підвищити швидкодію схеми

Апаратне рішення - ставити фільтри на входи і зменшувати швидкість фронтів, що приводить до зменшення швидкості обробки. Ніяке "вгадування" чергування рівнів та тому подібне не допоможе у разі сильного шуму, бо тоді можливе короткочасне змінення (через завади) сигналу по обом каналам, скоріш за все, неодночасне, що призведе до розпізнавання неіснуючого кроку від енкодера у випадковому напрямі. То "боротьба з вітряними млинами". 

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах
17 минут назад, Fyva сказал:

Апаратне рішення - ставити фільтри на входи і зменшувати швидкість фронтів, що приводить до зменшення швидкості обробки. Ніяке "вгадування" чергування рівнів та тому подібне не допоможе у разі сильного шуму, бо тоді можливе короткочасне змінення (через завади) сигналу по обом каналам, скоріш за все, неодночасне, що призведе до розпізнавання неіснуючого кроку від енкодера у випадковому напрямі. То "боротьба з вітряними млинами". 

 

Дякую за відвовідь !

Ставити фільтри у своїй схемі я не збирався. Мова про "вгадування" не йде - є певний алгоритм роботи, котрий, нажаль за браком знань я не можу чітко формалізувати.

Все, що запропоновано - це найбіш наближений до схеми опис - власне, ідеї. Крім того - в разі виникнення значного шуму не допоможуть не оптопари, ніякі алгоритми..тощо. Але перевірити роботу схеми на маеандрі високої частоти - чи це не наближене порівняння  з роботою у разі значних завад ? Вибачте, кращого не придумав. Звичайно я попрацюю і спробую більш зрозуміло описати принцип роботи....

Забув - відслідковування всієї послідовності комбінацій  має ще одну корисну властивість - це певною мірою надлишковий аналіз - що, звичайно робить схему більш стійкою до завад.

З повагою !         

0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Спробую  навести приклад. Це суто механічна аналогія.

Десь приблизно так були влаштовані радянські галетні перемикачі, або секційні залежні перемикачі П2К. У першому випадку - повертаючи ручку перемикача в будь-якому напрямку - потрібно прикласти певне зусилля в певному напрямку. Тоді перемикач спрацовує. Знаходячись у наступному надійному стані - щоб повернутися назад -потрібно повернути ручку у потрібний бік . Якщо певне зусилля незначне - цьго зробити не вдасться.  П2К працюють по- іншому, непослідовно, але скільки не тисни -  потрібна секція включиться лише за умови певного зусилля.

До чого -це - аналогією можуть бути чіткі стани тріггерів. А алгоритм керування організовуються з допомогою комбінаційних схем логіки.

З повагою !  

 

 

 

Змінено користувачем Dremel2020
0

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Неможливо достовірно відрізнити  справжній крок від схожої завади. От ніяк. Тому що напрямок може змінитися непередбачено і швидко (механічно на органі керування, вібрація, наприклад). Тому це "вгадування", незалежно від алгоритмів.

Тільки якщо добавити умовності: гарантоване прискорення/уповільнення чи щось подібне і відслідковувати часові параметри сигналів від енкодера, або щось ще, тоді можливо щось і вийде. Та без додаткових умов нічого гарантовано дієвого не вийде.

 

PS: Я зрозумів принцип вашого алгоритму.

PPS:  Досить дякувати, на то і форум, щоб спілкуватися. Якщо вже дуже-дуже хочеться - ставте плюсики (сердечки).

1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

@Dremel2020 я ж "без дули в кармане"!
У меня достаточно большой опыт общения с оптическими энкодерами.
Должен заметить, что очень многие из них на выходе оптопар имеют банальные ОУ а-ля 741 включенные в режиме компаратора с ограничением полосы пропускания.
Например "Mitutoyo". Куда уж фирменней!
У мну на фрезерном станке (ЧПУ с ОС "по линейкам") стоят самообычные "Iskra TGM-0113". С аналоговым выходом. Шаг "стекла" - 20 мкм. К ним приторочены интерполяторы от фирмы iC-Haus.
Выходное разрешение - 0,5мкм (Kint = 10). Ничего не ошибается и не сбоит с августа 2013-го года.

Как-то так...
В этой связи могу рекомендовать таки фирменные микрухи интерполяторов. Т.к. кроме широких возможностей включения "со стороны входа", они обладают широким диапазоном  выбора коэффициента интерполяции и прочими плюшками в виде подавления шумов и прочее и прочее.
Например: IС-NV или RLX40i. Я использую обе.
Скажу больше - применение родного к вашим колёсам датчика избавит от всех проблем, т.к. в нём внутри (как правило) уже есть логическая схема с нужными вам параметрами.

1

Поділитися повідомленням


Посилання на повідомлення
Поділитися на інших сайтах

Створіть акаунт або увійдіть для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!


Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.


Увійти зараз

  • Зараз на сторінці   0 користувачів

    Немає користувачів, які переглядають цю сторінку