Comments 43
У меня на блютуз рулетке вот такая разметка на обратной стороне - измеряет вполне точно (при измерении одного и того же показания одинаковые)
Предполагаю, что показания получаются оптическим образом.
Здесь пишут, что на катушке есть свой энкодер:
https://www.allaboutcircuits.com/news/teardown-tuesday-digital-tape-measure/
Возможно, в моем устройстве подобное тоже есть (для увеличения точности? Определения нуля при включении?), но у меня дополнительно есть "регулярная" разметка, а не только "кодированная". К тому же положение поворачивающейся части внутри может зависеть от натяжения ленты и от того, в каком направлении было предыдущее движение ленты. Это может сильно повлиять на точность, а компенсация этого - сильно усложнить механику.
Так и в штангенциркуле ты можешь сбросить на 0 и изменяя положение, он просто считывает изменениями фазы куда и соответственно смещает переменную отсчёта текущего положения.
В случае, когда требуется абсолютная позиция - применять коды Грея, многодорожечные или однодорожечные (STGC). То есть на подвижной стороне несколько таких регулярных позиций, с них уходят на свои дорожки, с которых регистрируют сигналы на статоре, а напротив этих регулярных позиций, окруженные землей точки с единой генерацией. Получаемый переменный сигнал фильтровать и усиливать, порог перешёл - 1, нет - 0. И в соответствии с кодом - положение.
или однодорожечные (STGC)
А можно чуточку больше ключевых слов? А то я заинтересовался, но поиск либо в шуме разных аббревиатур тонет, либо в каких-то слишком теоретических публикациях по теории кодирования и передаче данных.
Если ввести stgc, то single track grey code однодорожечный код Грея - получается например https://pubmed.ncbi.nlm.nih.gov/30126258/ - это математика,
значит, если брать код грея в поиске хабра - можно найти и реализации.
просто зачастую, не разобравшись как оно реально работает - сложно адаптировать чушой код, аппаратную реализацию под свои задачи.
Можешь задать вопрос в личке, я как будет время и буду в интернете - подскажу.
сложно адаптировать чушой код, аппаратную реализацию под свои задачи.
Да не, я аппаратную реализацию не надо. Оно мне эээ... по эстетическим причинам хочется посмотреть, не пробиваясь через тонны ссылок на предыдущие работы и через статьи про улучшения качества распознования на 10%.
Выбор слабого SOC и программная замена аппаратных возможностей - legacy или жёсткое ТЗ?
// Неожиданно понял, что это перевод.
Вы когда-нибудь мечтали о 500-герцовой системе датчиков линейного положения?
никогда
Основания отражателей имеют длину ровно 4 «клавиши».
Неверно. Если присмотреться, видно, что справа граница "отражателей" проходит ровно посередине "клавиши". В результате получаем несколько сигналов (по количеству "отражателей"), у которых фаза (или амплитуда) чуть смещена относительно соседей. Всё это в итоге даёт более высокую точность измерения.
Да, мне тоже кажется, что "нониусная", "муаровая" система позволит улучшить разрешающую способность. У того же штангенциркуля не то, что 0.6, а 0.01мм. вряд ли там тупо все размеры в 60 раз меньше.
Ещё мне непонятно, как оно поведет себя в движении, если будет ощутимое смещение за время сэмплинга (а оно гарантированно будет)
В движении такая система даст сбой, смазываться будет. необходимо применять более быструю - оптическую. Здесь же, на Хабре - https://habr.com/ru/companies/ruvds/articles/592201/
Да и здесь же рассматривали эти емкостные системы позиционирования.
Собственно, нового тут не слишком много. Я ещё в 70-х годах участвовал в разработке системы позиционирования для станка с ЧПУ. Датчиками были линейные индуктосины, выдающие точность 1 микрон (2000 импульсов на 2-миллиметровый шаг печатных дорожек). Принцип тот же, что и в статье, но вместо ёмкостной связи использовалась индуктивная. Собственно, к индуктосинам пришли не от хорошей жизни, а по той причине, что наладить массовое производство точных оптических датчиков линейного перемещения в СССР так и не получилось.
Военные начали использовать индуктосины ещё раньше. Например, в РЛС для точного позиционирования углов поворота антенн (естественно, у них применялись не линейные, а круговые).
"Собственно, к индуктосинам пришли не от хорошей жизни, а по той причине, что наладить массовое производство точных оптических датчиков линейного перемещения в СССР так и не получилось."
А может быть оценили все плюсы и минусы?
Когда я работал с советскими ЧПУ, то там применялись оптические круговые датчики. Насколько я помню, то ли 100, то ли 360 отсчётов на оборот и крепились на вал двигателя. Но ведь там свою погрешность дают зазоры в редукторе.
Если делать линейный из стекла, то конструкция: во-первых, боится любой пыли, во-вторых, хрупкая.
А в советском варианте: распространённейшая технология травления плат, баночка защитного лака (простая физика) и чуть более сложная математика (но с этим в СССР было весьма не плохо). На выходе: точность согласно ТЗ. Чем плохо-то?
В целом: очень часто конечное решение, не смотря на свою кажущуюся неказистость, оказывается оптимальным.
Пока писал, заяндексил про индуктосины: https://kubomc.com/stati/induktosinyi-kubo-texnicheskoe-opisanie
Там смотрите "Стойкость к внешним воздействующим факторам".
Вот ещё из учебника: https://mash-xxl.info/page/109117065156234145031169231119120069226063084008/
Интересно, можно ли таким же образом сделать абсолютный энкодер?
Если взять однодорожечный код Грея и N излучателей, то для получения N сигналов с помощью 1 приёмника нужно разносить излучатели либо по времени, либо по частоте (как в DTMF с алгоритмом Гёрцеля?)
Можно проще - сделать переменный шаг элементов. Обработка будет подороже, придется полноценное Фурье делать, но я не вижу проблемы купить фпга на три доллара дороже.
Я разбирал свой штангенциркуль с абсолютной шкалой, но у него неподвижная часть оказалась из стекла с едва видимым под определенным углом напылением. Так и не удалось толком разобрать рисунок на ней.
Может там и нет "рисунка", а просто шум. Даже не супер дорогие мыши имеют разрешение сенсора 2400dpi, что получается примерно 0.01мм на пиксель.
У абсолютной шкалы не может не быть рисунка :) По шуму абсолютное положение не определить.
Зачем абсолютное? У меня на штангене есть "установка нуля". А затем от него пляшем, определяя относительное смещение по принципу мыши. Только датчик проще, ибо одномерный (ну или вытянутый).
Обсуждается штангенциркуль именно с абсолютной шкалой.
Что значит "штангенциркуль с абсолютной шкалой"? У меня вот такой:
Скрытый текст
Шкала достаточно абсолютная?
Судя по тому, что если очень быстро его двигать он начинает врать - там именно относительное перемещение измеряется. При этом шкала - абсолютная.
Что значит "штангенциркуль с абсолютной шкалой"?
Это означает, что подвижная часть не отслеживает относительные перемещения, а определяет свое абсолютное положение на шкале. Если ее убрать от шкалы и приложить к другому месту, она точно покажет новое положение.
Как бы быстро его ни двигать - он не начинает врать. И о кнопке установки нуля можно забыть, потому что ноль не сбивается.
Скрытый текст
Почему, вполне можно в аболютном позиционере иметь именно рисунок, кодирующий положение.
Нет в мышах такой точности. И разрешения такого нет. Я делал энкодеры из мышей. У распространенных матриц разрешение 18х18 пикселей, вот зато скорость обработки бешеная это да, а линза позволяет поднять увеличение сенсора прилично так. Разрешение энкодера из мыши мне удалось получить порядка 0.05мм, но за один оборот всегда разное количество импульсов было, попросту из-за того, что вся обработка перемещения происходит внутри процессора сенсора мыши, т.е. как ему вздумается. И разрешение - это не "точность". Никакой повторяемости. Для ручного энкодера это очень круто, для энкодера обратной связи сервопривода - ну туда-сюда еще, а вот на станок такое смысла ставить нет.
Была у меня мысль по поводу энкодера из компакт-диска и штатной лазерной системы, но что-то стало лень.
Возможно я неудачно выразился со словом "разрешение" (хотя в онлайн каталогах оно называется именно так). В общем - при сдвиге мыши на 1 дюйм - курсор сдвигается на экране на 2400 пикселей, при этом возможен сдвиг и на один пиксель. То, что это сделано с помощью матрицы 18х18 пикселей - может быть. Может быть больше. Главное, чтобы при сдвиге оно успевало сравнить две картинки и определить направление и величину смещения.
Про какой "оборот" мы говорим? Мышей с шариками (который крутил два ортогональных диска с прорезями) не видел уже лет двадцать.
То, что в мышах такое возможно - значит что и в более специфических устройствах подобным же образом можно реализовать, тем более что направление сдвига картинки одно. Сенсор может быть не квадратным, а прямоугольным (вытянутым вдоль направления сдвига).
Можно и с одной частотой - я чуть выше описал.
В лоб решение, т.е. один сигнал, но приемников много. в соответствии с STGC.
Всё на статоре, а на роторе вместо одного уровня шляпок (T) - несколько таких позиций.
За счёт одной частоты можно поставить усилитель с частотной обратной связью, и дальше пороговый элемент - выше/ниже порога, и получаем сразу бинарный код положения.
Как упражнение это интересно, конечно, но точность 0.6 мм на 150 мм хода достигается, извините, даже таким говном мамонта, как реостатная линейка. А на исходном штангене, который и трансмутировали в эту замечательную схему, точность 10-20 мкм. Вопрос - в какой момент оно свернуло не туда и понизило точность копеечной приблуды в 30-60 раз?
ЗЫ. Пока писал комментарий, заметил, что это перевод. А то даже удивился, неужто в копроблогах приличные статьи писать начали?
В универе баловался с магнитной индукцией. Два соленоида с обычным ферритовым стержнем. Гипотетически можно добиться сумасшедшей точности, но диапазон измерений довольно сильно ограничен. Питал от звуковухи и записывал на нее же
Разбирался с китайскими штангенами. Они построены на спец чипе типа asic, они всегда включены, даже когда индикация выключена и отслеживают перемещения. Программно суммируют и отнимают положение. Максимальная длина отсчета линейки около 10.5 метров, но это зависит от протокола. Сам чип под каплей очень даде технологичный и сложный. Отдельно чипы купить нельзя. Вообщем снабега повторить не получилось, это весьма сложное устройство оказалось, защищенное патентами к тому же.
@BarsMonsterрегулярно показывает внутренности микросхем. Возможно, поставит в очередь и этот чип?
А сколько сигналов на входе чёрного ящика?
Удивительно, что при такой схемотехнике ни у одного штангена нет механической кнопки выключения...
Баловался когда-то с корреляционной системой. Берешь стирающую магнитную головку от кассетного магнитофона с двумя зазорами. Разбираешь, мотаешь две катушки на крайних штырях магнитопровода. Там магнитопровод в виде Ш-образного сердечника. Средний штырь освобождаешь от обмотки. И подпиливаешь контактирующую с измеряемой пластиной часть магнитопровода в плоскость. При перемещении головки по пластине из стали на обмотках появляется сигнал. Его усиливаешь и подаешь на АЦП контроллера. Выходную функцию обсчитываешь на взаимную корреляцию двух сигналов с учетом расстояния между зазорами. На выходе получаются некие метки и достаточно точно попадающие в величину перемещения. Правда микроконтроллер оказался слабоват и эксперимент зачах на корню. При контроллерах типа ESP-32 может нормально получиться.
Основания отражателей имеют длину ровно 4 «клавиши». - нет, не ровно 4, это шкала нониусов, у нее шаг меньше на величину точности измерения, например в обычном штангенциркуле шкала нониусов имеет шаг 0,9мм что позволяет измерять десятые доли миллиметра.
Датчик линейного положения, работающий по принципу электронного штангенциркуля