VadimPlotnikov
Dec 27 2007, 02:41
Измерение перемещения каретки с точностью 0,1 мм.
Задача в следующем: на деревообрабатывающем станке необходимо мерить перемещение каретки с точностью 0,1 мм с диапазоном 1200 мм. Сильные вибрации, пыль, стружка не проводящая, желательный температурный диапазон -30 ….+50 С (возможно от -10). Датчик желательно абсолютный но и сойдёт инкрементальный.
Мои варианты которые работают не корректно:
1) Сейчас стоит индуктивный датчик на вале двигателя всё работает но набегает большая погрешность в связке двигатель (1000 об/мин)- редуктор (1/60)- передача (1/4) порядка 3 мм, при движение вперёд назад.
2) Чтобы избавится от люфтов ставил Энкодеры на 1024 им/об на него резиновый вал диаметром 30 мм. Сам Энкодеры крепил к каретке а вал катался по направляющим.Получил: пока двигатели пил не включены всё работает нормально но при включении начинаются вибрации и с выходов энкодера идут постоянно импульсы, было бы нормально если бы значения скакали туда назад но идёт насчёт значений. Говорил с людьми говорят что у энкодеров с таким разрешением при вибрациях наблюдается эффект перескакивания оптического диска. Варианты с подвесами на пружинах и т.д не предлагать убили кучу времени, тупиковый путь.
Бюджет на датчик 3000 руб. – максимум 5000 руб.
Смотрел готовые промышленные системы устраиваю магнитострикционные но цена порядка 30000 руб (мин), не устраивает.
Посмотри на возможность использования ультразвукового измерителя, использующего не импульсы, а сигналы с длинной базой (например, синус, модулированный по амплитуде или фазе ПСП). Тогда, пока на пути нет явной преграды (от нее можно защититься, например, телескопической трубой), и при условии контроля (замера) температуры с внесением соответствующей поправки, можно получить точность порядка 10^-4, это как раз 0.1 мм на метр. Но кореллятор писать придется самому, потребуется или довольно мощный микропроцессор, или DSP или ПЛИС. Где почитать - см. теорию и практику радиолокации.
Designer56
Dec 27 2007, 04:56
Попробуйте СКВТ- они в авиации работают, ни пыли, ни климата не боятся.
jasper
Dec 27 2007, 05:40
По сути, подходят так называемые цифровые рулетки (digital ruler), либо датчики с вытяжной проволокой (draw-wire). По ценам подсказать не смогу, смотрите сами.
Цитата(VadimPlotnikov @ Dec 27 2007, 05:41)

Измерение перемещения каретки с точностью 0,1 мм.
Бюджет на датчик 3000 руб. – максимум 5000 руб.
Смотрел готовые промышленные системы устраиваю магнитострикционные но цена порядка 30000 руб (мин), не устраивает.
На мой взгляд, такая точность в таких условиях и за такие деньги почти нереально.
Сходите на форум
http://forum.rcdesign.ru/index.php?showforum=41Там самодельщики такие вещи обсуждают.
Цитата
Получил: пока двигатели пил не включены всё работает нормально но при включении начинаются вибрации и с выходов энкодера идут постоянно импульсы, было бы нормально если бы значения скакали туда назад но идёт насчёт значений.
А чем вы фронты считаете? Частота опроса датчика должна как минимум в два раза превышать максимальную частоту его выходных сигналов.
Цитата
Говорил с людьми говорят что у энкодеров с таким разрешением при вибрациях наблюдается эффект перескакивания оптического диска.
Интересный "эффект" не сталкивался пока с таким. Допустимые вибрационные ускорения приводятся в паспорте датчика. Их превышение может привести к выходу датчика из строя, а не к насчёту.
В 99,(9)% случаев всякие насчёты и прочие глюки связаны не с датчиками, а с системой обработки, как правило самодельной.
Можно попробовать
цифровой штангенциркуль. Дёшево и сердито

. Главное шкалу сделать.
evgeny_ch
Dec 27 2007, 07:00
А Вы точно используете обе фазы с энкодера ? A & B
VadimPlotnikov
Dec 28 2007, 06:59
gte: возможно бюджет будет увеличен до 15, убеждаю заказчика. (цена складывается из того что изделия мелкосерийные, если были разовые то и вопросов бы не возникло).
_Sam_: частота опроса порядка 20 кГц( была около 60), перемещение даёт на максимальной скорости при энкодере 1000 им/об – 5 кГц. По вибрации не знаю, стоят двигателе на 3000 об/мин.
Интересный "эффект": о нём говорил технический директор
http://skbis-lir.ru/. Сам не могу проверить.
НЕХ: кусок кода из прерывания:
if (koderchanel10 == 1 && koderchanel11 == 1) koderuroven1=1;
if (koderuroven1 == 1)
{
if (koderchanel10 == 0 && koderchanel11 == 1) koderuroven1=2;
if (koderchanel10 == 1 && koderchanel11 == 0) koderuroven1=3;
}
if (koderuroven1 > 1 && koderchanel10 == 0 && koderchanel11 == 0)
{
if (koderuroven1==2) koder1++;
if (koderuroven1==3) koder1--;
koderuroven1=0;
}
koderchanel10 и koderchanel11 каналы А и В.
Просьба ответить:
1)У энкодеров есть выход синхронизации для чего ? Разве не достаточно каналов А и В.
2) Рассматриваю возможность использования
http://www.servotechnica.ru/catalog/encoder/kuebler-limes/ кто сталкивался, какие отзывы.
Okorok
Dec 28 2007, 10:09
Цитата(VadimPlotnikov @ Dec 28 2007, 07:59)

кусок кода из прерывания:<...>
koderchanel10 и koderchanel11 каналы А и В.<...>
В указанном Вами коде из прерывания обрабатываются только текущие значения каналов.
В итоге, если канал koderchanel11 держится постоянно, а канал koderchanel10 "дрожит" 0-1-0... (например, из-за вибрации), Ваш код дает "уплывание" координаты.
Для правильной интерпретации двух фаз энкодера следует учитывать как
текущие, так и
предыдущие значения обоих каналов. Тогда, если канал koderchanel11 держится постоянно, а канал koderchanel10 "дрожит" 0-1-0..., вычисленная координата не будет "уплывать", а всего лишь прыгать на +/-1 отсчет, что вполне разумно.
sergeeff Jr.
Dec 28 2007, 12:59
VadimPlotnikov, можете также посмотреть на продукцию фирмы
Sensitec. Я у них брал сенсор и полоску магнитную (длина 1000 мм). Еще не все собрано и досканально проверено, но уже есть положительные результаты. То есть с сенсором (даже за 7 Евро) этой фирмы проблем не было.
evgeny_ch
Dec 28 2007, 14:08
Цитата(VadimPlotnikov @ Dec 28 2007, 10:59)

Просьба ответить:
1)У энкодеров есть выход синхронизации для чего ? Разве не достаточно каналов А и В.
2) Рассматриваю возможность использования
http://www.servotechnica.ru/catalog/encoder/kuebler-limes/ кто сталкивался, какие отзывы.
То, что вы называете синхронизацией, это опорная метка датчика, чаще всего используется при точном позиционировании, для выхода в конкретную точку координатной системы.
По моему мнению, применение измерителей линейного типа вместо круговых, облегчит вам жизнь только отчасти. Вы не избавляетесь при этом от люфтов в редукторах и вибраций координатной системы, связанных с низкой жесткостью механики.
Следовательно не сможете корректно настроить регуляторы привода.
Если мне не изменяет склероз, то зазор между подвижной и неподвижной частями магнитного датчика небольшой, около 0,5 мм.
sergeeff Jr.
Dec 28 2007, 15:01
Зазор именно такой, но с помощью таких вещей как предлагает например фирма Isel
http://www.iselautomation.de/products/cate...g=de&ID=c54эту проблему можно решить. Вибрация будет только в сторону движения (если будет вообще). Ведь можно думаю механику (на шестеренках например) сделать так, чтобы вибрация была минимальной...
evgeny_ch
Dec 28 2007, 15:24
Цитата(sergeeff Jr. @ Dec 28 2007, 19:01)

Зазор именно такой, но с помощью таких вещей как предлагает например фирма Isel
http://www.iselautomation.de/products/cate...g=de&ID=c54эту проблему можно решить. Вибрация будет только в сторону движения (если будет вообще). Ведь можно думаю механику (на шестеренках например) сделать так, чтобы вибрация была минимальной...
Буратины на это не пойдут.
Будут наждачкой пользоваться

до последнего.
Цитата(VadimPlotnikov @ Dec 28 2007, 09:59)

gte: возможно бюджет будет увеличен до 15, убеждаю заказчика. (цена складывается из того что изделия мелкосерийные, если были разовые то и вопросов бы не возникло).
Можно узнать, что за каретка и какие направляющие, есть ли люфт в паре винт-гайка (можно обнаружить при смене направления вращения). Люфт и жесткость должна соответствовать требуемой точности. По этой причине я и посоветовал Вам обратиться еще в один форум.
VadimPlotnikov
Dec 30 2007, 12:25
Okorok: я чего-то не понимаю вроде у меня как раз и сделано с запоминанием прошлого состояния и если дрожит только одна фаза то насчёта нет.
sergeeff Jr: спасибо за ссылки, но просьба предлагать, что реально можно купить.
gte: каретка металлическая хрень примерно 70 на 50 см к которой крепятся двигатели пил по 15 кВт + механизм горизонтального перемещения, примерный вес 300 кГ. Скользит по двум круглым направляющим (сверху и снизу каретки) диаметром 20 см. Перемещение: двигатель подключен к ридуктору 1/60, на выходе редуктора звёздочка которая ходит по неподвижной цепи (аналог зубчатой рейки). Источники люфтов: редуктор даёт ошибку порядка 0.3 мм, соединение звёздочка цепь порядка 2 мм. Что сделано: для компенсации люфта при смене направления движения подаётся маленький момент на двигатель ( недостаточный для того чтобы сдвинуть каретку) , происходит выборка люфта редуктора и провисания цепи, счётчик в данный момент отключен. Всё равно остаётся люфт порядка 0,4 мм . И насколько это будет работать в дальнейшем большой вопрос.
Чтобы исключить все эти факторы система измерения переносится непосредственно на каретку, чтобы мерить именно смешения каретки а не все люфты. Первоначальный вариант был энкодер на каретке а резиновый ролик прижимается к направляющей по которой скользит каретка, в этом случаи мерится только перемещение.
Всем спасибо кто откликнулся, вопрос всё равно нужно решать если будут появлятся мысли просьба не стеснятся. Всем с наступающим Новым Годом господа электроники (так нас обзывают в Красноярске).
Цитата(VadimPlotnikov @ Dec 30 2007, 15:25)

люфтов: редуктор даёт ошибку порядка 0.3 мм, соединение звёздочка цепь порядка 2 мм. Что сделано: для компенсации люфта при смене направления движения подаётся маленький момент на двигатель ( недостаточный для того чтобы сдвинуть каретку) , происходит выборка люфта редуктора и провисания цепи, счётчик в данный момент отключен. Всё равно остаётся люфт порядка 0,4 мм . И насколько это будет работать в дальнейшем большой вопрос.
Т.о. при резе может быть вибрация каретки больше шага (нескольких шагов) энкодера. Обратите внимание, что в этот момент скорости програмной обработки может не хватить. Можно попробовать обработчик сигналов энкодера на жесткой логике.
Евгений Германович
Jan 1 2008, 15:47
А почему не обсуждается ранее выдвинутая и весьма разумная мысль с вытяжным датчиком?Ну и до кучи-а почему забыли о лазерных измерителях?
Цитата(Евгений Германович @ Jan 1 2008, 18:47)

А почему не обсуждается ранее выдвинутая и весьма разумная мысль с вытяжным датчиком?Ну и до кучи-а почему забыли о лазерных измерителях?
А они в указанную первоначально сумму разве впишутся?
SasaTheProgrammer
Jan 1 2008, 22:16
Цитата(VadimPlotnikov @ Dec 30 2007, 14:25)

...если будут появлятся мысли просьба не стеснятся.
Довелось мне в годы оно столкнуться с удивительным изделием советской промышленности - со "сколкой". Теперь такие, кажется, называют "планшетами". Лист пластика (размером с кульман!) был профрезерован с двух сторон и в образовавшиеся канавки были уложены и залиты чем-то проводники. По этой двумерной, с принудительным шагом, сетке пропускались калиброванные импульсы тока. На кончике "пера" была крохотная катушечка, которая в момент "считывания" должна была быть прижата к поверхности через скалываемый чертёж. В тот момент, когда волна импульсов проходила под ней, наводимая ЭДС достигала максимума и резко меняла знак, чётко разграничивая провода слева/справа и сверху/снизу. Шаг проводников составлял, если мне не изменяет память, 1мм. Но интерполяцией по соотношению амплитуд двух разнополярных откликов точность поднмалась до 0.1мм.
Всё это делалось аппаратно (!!!!) стоящим рядом шкафчиком. Причём интерполяция была нелинейная !!!
На сегодняшний день с такой задачей справится практически любой МК.
Как это "обставить" конструктивно для данного случая я себе представляю смутно. Но уже вижу одну подводную скалу - нужно учитывать локальную температуру носителя разметки или делать его из чего-то экзотического (долм мм еа метре... хмм). В принципе, если коммутация проводников будет матричная, то можно попытаться использовать те-же диоды для измерения температуры. Но всё это рядом с мощными движками...
Евгений Германович
Jan 2 2008, 05:22
Цитата(SasaTheProgrammer @ Jan 2 2008, 01:16)

Довелось мне в годы оно столкнуться с удивительным изделием советской промышленности - со "сколкой". Теперь такие, кажется, называют "планшетами". Лист пластика (размером с кульман!) был профрезерован с двух сторон и в образовавшиеся канавки были уложены и залиты чем-то проводники. По этой двумерной, с принудительным шагом, сетке пропускались калиброванные импульсы тока. На кончике вижками...
Подобные штуки используются в измерительных машинах и обзываются индуктозинами,кстати их делают до сих пор.
Меня заинтересовал ответ директора,который явно просто манагер,на вопрос об изменении показаний энкодера,по моему разумению он нагло соврал.Возможно изменение показаний связано с низкой помехозащищенностью схемы.Про вытяжной датчик,должен уложиться в ваши деньги,по простому это тотже ваш энкодер только на веревочке
Цитата(Евгений Германович @ Jan 2 2008, 08:22)

Подобные штуки используются в измерительных машинах и обзываются индуктозинами,кстати их делают до сих пор.
По линейным индукционным датчикам, например
http://www.newall.com/DROs/dro_encoders.htm
sakrivosh
Jan 2 2008, 12:54
Цитата(VadimPlotnikov @ Dec 27 2007, 04:41)

Измерение перемещения каретки с точностью 0,1 мм.
Смотрел готовые промышленные системы устраиваю магнитострикционные но цена порядка 30000 руб (мин), не устраивает.
Попробуйте после каждого цикла операций (или перед началом) уводить каретку в начальное положение и обнулять программные X, Y с привязкой к hardware reference с абсолютными значениями 0,0 для X, Y.
Цитата
частота опроса порядка 20 кГц( была около 60), перемещение даёт на максимальной скорости при энкодере 1000 им/об – 5 кГц. По вибрации не знаю, стоят двигателе на 3000 об/мин.
Интересный "эффект": о нём говорил технический директор
http://skbis-lir.ru/. Сам не могу проверить.
Вы его скорее всего неверно поняли.
Ваши вибрации ускоряют изменение координаты(смена фронта может происходить с максимально допустимой выходной частотой датчика.)
здесь, на последней странице, описана ваша ситуация, как раз перед номограммами. Судя по ним частота опроса должна быть как минимум 40кГц. Надо вам увеличить частоту опроса, а если это невозможно, брать контроллер помощнее, либо ПЛИС, либо абсолютный датчик с ssi или каким-нибудь параллельным выходом, тогда не будет никаких насчётов.
Цитата
происходит выборка люфта редуктора и провисания цепи, счётчик в данный момент отключен
Собсна если счётчик не считает, как вы определяете, что люфт выбран? Если по таймату, то это неверно и может привести к большим ошибкам.
По моему опыту, работая с инкрементальными датчиками, чувствовать себя спокойно можно только используя аппаратную обработку. В этом случае, опять же по собственному опыту, даже весьма серьезные вибрации не вызывают пропусков и набегов. Хотя проблему люфтов это, безусловно, не снимает...
Пару лет назад хотели выборку люфтов делать на акселерометре MMA1260D, но, к сожалению, ничего конкретного сказать не могу, т.к. тема умерла. Единственное замечание: надо предусматривать отключение питания акселерометра, потому что при ударах они ( MMA, ADXL) любят впадать в ступор.
VadimPlotnikov
Jan 6 2008, 10:28
Решил сделать опрос энкодера на логике, возможно два пути:
1) Делать на логике тргеры + счётчики.
2) ПЛИС – но не разу не работал оставлю на будущие.
3) Специализированные микросхемы типа HCTL-2000. Но где их купить или кто нибудь знает аналоги.
Рискну посоветовать: если надо не "вчера", то лучше ПЛИС - для начала в MAXPLUSе примитивами, а там пойдет...Байтбластер только спаять. Почувствуете, что зто как с велосипеда на мотоцикл пересесть. Удачи.
Alex03
Jan 16 2008, 06:00
Цитата(VadimPlotnikov @ Dec 30 2007, 17:25)

Код
if (koderchanel10 == 1 && koderchanel11 == 1) koderuroven1=1;
if (koderuroven1 == 1)
{
if (koderchanel10 == 0 && koderchanel11 == 1) koderuroven1=2;
if (koderchanel10 == 1 && koderchanel11 == 0) koderuroven1=3;
}
if (koderuroven1 > 1 && koderchanel10 == 0 && koderchanel11 == 0)
{
if (koderuroven1==2) koder1++;
if (koderuroven1==3) koder1--;
koderuroven1=0;
}
Okorok: я чего-то не понимаю вроде у меня как раз и сделано с запоминанием прошлого состояния и если дрожит только одна фаза то насчёта нет.
При дрожании одной фазы - ДА нет счёта, а при "дрожании енкодера" очень даже может насчитать.
То что у вас сделано не поймёшь как работает, точнее работает только при движении в одну сторону и точно не работает при движениях туда/сюда.
Попробуйте например такую последовательонсть 11 -> 01 -> 00 -> 01 -> 11 -> 01 -> 00 -> 01 -> 00, т.е. 2 (четверть)шага вперёд, 2 назад, 2 вперёд, 2 назад. А оно у Вас насчитает 2 шага вперёд.
Попробуйте такое:
Код
if (koderchanel10 ^ koderchanel11 ^ koderchanel10_prev ^ koderchanel11_prev)
{
if (koderchanel10 ^ koderchanel11_prev)
koder1++;
else
koder1--;
}
koderchanel10_prev = koderchanel10;
koderchanel11_prev = koderchanel11;
Количество шагов правда будет в 4 раза больше чем у Вас, но это ж только плюс.
Практика показывает, что безглючно работают железные квадратурные декодеры например в ПЛИС. А с программными надо слишком много ресурсов на это дело выделять чтобы избежать пропуска импульсов.
Андрей83укр
Dec 24 2015, 07:45
Цитата(slog @ Jan 16 2008, 08:02)

Практика показывает, что безглючно работают железные квадратурные декодеры например в ПЛИС. А с программными надо слишком много ресурсов на это дело выделять чтобы избежать пропуска импульсов.
ребята,пожалуйста помогите!у меня дисковая пилорама,устройство-каретка,такая же как в описание више.те же проблемт с люфтами.стоят индуктивние датчики и на валу жвигателя круг с тремя болтами.счетчики импульсов си-30.двигателя влево вправо через редуктора и ремни управляються частотником.погрешность размеров большая,так как есть люфти,перепробовали все.приежжали специалисти говорят виной всему люфти и вибрация.Посоветуйте пожалуйста что-нибудь может датчики которие не бояться вибрации и опилок и контроллер чтоб управлял всем єтим с памятью размеров.Пожалуйста
Может кто-то посоветует готовие промишленние системи
k155la3
Jan 15 2016, 15:40
В обрабатывающих станках используются т.н. "линейки".
На станину крепится (наклеивается) метал. лента с магнитными метками.
По ней ездит считывающая головка. Интерфейс - цифра.
По сути - синусно-косинусный преобразователь с высокой разреш. способностью.
Порядка сотых мм. Длина линейки - заказная. Может быть несколько метров
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.