|
|
  |
Измерение перемещения каретки с точностью 0,1 мм. |
|
|
|
Dec 30 2007, 12:25
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 20-03-07
Из: Красноярск
Пользователь №: 26 321

|
Okorok: я чего-то не понимаю вроде у меня как раз и сделано с запоминанием прошлого состояния и если дрожит только одна фаза то насчёта нет. sergeeff Jr: спасибо за ссылки, но просьба предлагать, что реально можно купить. gte: каретка металлическая хрень примерно 70 на 50 см к которой крепятся двигатели пил по 15 кВт + механизм горизонтального перемещения, примерный вес 300 кГ. Скользит по двум круглым направляющим (сверху и снизу каретки) диаметром 20 см. Перемещение: двигатель подключен к ридуктору 1/60, на выходе редуктора звёздочка которая ходит по неподвижной цепи (аналог зубчатой рейки). Источники люфтов: редуктор даёт ошибку порядка 0.3 мм, соединение звёздочка цепь порядка 2 мм. Что сделано: для компенсации люфта при смене направления движения подаётся маленький момент на двигатель ( недостаточный для того чтобы сдвинуть каретку) , происходит выборка люфта редуктора и провисания цепи, счётчик в данный момент отключен. Всё равно остаётся люфт порядка 0,4 мм . И насколько это будет работать в дальнейшем большой вопрос. Чтобы исключить все эти факторы система измерения переносится непосредственно на каретку, чтобы мерить именно смешения каретки а не все люфты. Первоначальный вариант был энкодер на каретке а резиновый ролик прижимается к направляющей по которой скользит каретка, в этом случаи мерится только перемещение. Всем спасибо кто откликнулся, вопрос всё равно нужно решать если будут появлятся мысли просьба не стеснятся. Всем с наступающим Новым Годом господа электроники (так нас обзывают в Красноярске).
|
|
|
|
|
Jan 1 2008, 22:16
|
Частый гость
 
Группа: Новичок
Сообщений: 129
Регистрация: 4-08-06
Пользователь №: 19 327

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

Профессионал
    
Группа: Свой
Сообщений: 1 079
Регистрация: 24-06-07
Из: г.Екатеринбург
Пользователь №: 28 654

|
Цитата(SasaTheProgrammer @ Jan 2 2008, 01:16)  Довелось мне в годы оно столкнуться с удивительным изделием советской промышленности - со "сколкой". Теперь такие, кажется, называют "планшетами". Лист пластика (размером с кульман!) был профрезерован с двух сторон и в образовавшиеся канавки были уложены и залиты чем-то проводники. По этой двумерной, с принудительным шагом, сетке пропускались калиброванные импульсы тока. На кончике вижками... Подобные штуки используются в измерительных машинах и обзываются индуктозинами,кстати их делают до сих пор. Меня заинтересовал ответ директора,который явно просто манагер,на вопрос об изменении показаний энкодера,по моему разумению он нагло соврал.Возможно изменение показаний связано с низкой помехозащищенностью схемы.Про вытяжной датчик,должен уложиться в ваши деньги,по простому это тотже ваш энкодер только на веревочке
|
|
|
|
|
Jan 2 2008, 12:54
|
Группа: Новичок
Сообщений: 9
Регистрация: 6-12-07
Пользователь №: 33 044

|
Цитата(VadimPlotnikov @ Dec 27 2007, 04:41)  Измерение перемещения каретки с точностью 0,1 мм.
Смотрел готовые промышленные системы устраиваю магнитострикционные но цена порядка 30000 руб (мин), не устраивает. Попробуйте после каждого цикла операций (или перед началом) уводить каретку в начальное положение и обнулять программные X, Y с привязкой к hardware reference с абсолютными значениями 0,0 для X, Y.
|
|
|
|
|
Jan 2 2008, 17:43
|
Местный
  
Группа: Свой
Сообщений: 278
Регистрация: 18-01-05
Из: Санкт-Петербург
Пользователь №: 2 031

|
Цитата частота опроса порядка 20 кГц( была около 60), перемещение даёт на максимальной скорости при энкодере 1000 им/об – 5 кГц. По вибрации не знаю, стоят двигателе на 3000 об/мин. Интересный "эффект": о нём говорил технический директор http://skbis-lir.ru/. Сам не могу проверить. Вы его скорее всего неверно поняли. Ваши вибрации ускоряют изменение координаты(смена фронта может происходить с максимально допустимой выходной частотой датчика.) здесь, на последней странице, описана ваша ситуация, как раз перед номограммами. Судя по ним частота опроса должна быть как минимум 40кГц. Надо вам увеличить частоту опроса, а если это невозможно, брать контроллер помощнее, либо ПЛИС, либо абсолютный датчик с ssi или каким-нибудь параллельным выходом, тогда не будет никаких насчётов. Цитата происходит выборка люфта редуктора и провисания цепи, счётчик в данный момент отключен Собсна если счётчик не считает, как вы определяете, что люфт выбран? Если по таймату, то это неверно и может привести к большим ошибкам.
|
|
|
|
|
Jan 6 2008, 10:28
|
Участник

Группа: Участник
Сообщений: 34
Регистрация: 20-03-07
Из: Красноярск
Пользователь №: 26 321

|
Решил сделать опрос энкодера на логике, возможно два пути: 1) Делать на логике тргеры + счётчики. 2) ПЛИС – но не разу не работал оставлю на будущие. 3) Специализированные микросхемы типа HCTL-2000. Но где их купить или кто нибудь знает аналоги.
|
|
|
|
|
Jan 16 2008, 06:00
|
Местный
  
Группа: Свой
Сообщений: 359
Регистрация: 9-12-05
Пользователь №: 12 034

|
Цитата(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 раза больше чем у Вас, но это ж только плюс.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|