www.cncmasterkit.ru
http://cncmasterkit.ru/

Простой датчик касания
http://cncmasterkit.ru/viewtopic.php?f=15&t=4276
Страница 1 из 1

Автор:  George164 [ 10 апр 2014, 18:39 ]
Заголовок сообщения:  Простой датчик касания

Датчик касания нужен был давно. Да все не мог понять по картинкам как он работает.
Спасибо UAVpilot и Planet растолковали на пальцах.
Сразу оговорюсь. Тот, кто способен спроектировать и собрать точный станок, в таких конструкциях не нуждается, сам легко сделает. Тот, кто купил точный станок, тоже. Купит и датчик. А людям "попроще" может и будет интересно как идея. Как он работает еще сам толком не знаю, в руках вроде работает.
Эта конструкция спроектирована по принципу снизу вверх, т.е. от самого простого варианта идет усложнение конструкции, пока не заработает.
Сделана полностью из доступных материалов: хвостовики трердосплавных фрез, текстолит 4мм, фольгированный текстолит 1.4 мм и рекламный пластик 6мм. Кроме шариков 3.175, которые пришлось купить. И то потому что была фреза с круглой головой только диаметра 3.175 и нужны были именно такие шарики, чтобы обеспечить 6 жестких контактов одновременно. Для мягкого корпуса достаточно сложная задача.
Мне нужен был датчик на самый популярный для меня хвостовик - 3.175. Возможно понадобится еще и вариант для хвостовика на 6мм.
Все работы сделаны на станке Альтернатива, уже требующем регламентных работ. Плюс паяльник и эпоксидка.
Токарные работы не использовались.
Изображение Изображение
Поролона плоского, когда понадобилось, найти не смог. Использовал подложку под ламинат. Оказалось к лучшему. Подбираем прижим числом слоев.
Сверку надо будет еще один слой толстого текстолита добавить и залить эпоксидкой, снизу под печатную платку тоже нужен ровный прижим для жесткости конструкции. Расстояние между шариками сейчас 1-1.5 мм. Самый тонкий момент это припаивание шариков. Вначале засверлил под них отверстия в пп чуть не на всю глубину, пропилил канавки там где надо было разорвать контакты ,затем уложил шарики, подложил сверху и снизу толстое стекло, сжал и последовательно припаял шарики к плате.
Держатель роликов из двух половинок. Сначала снимаем слой текстолита для нуля, потом делаем пропилы круглой фрезой на глубину половины роликов минус 5 соток-десятка и центральное отверстие. Половинки стягиваем винтами.
Ровно не будет, но это и хорошо. При сборке перебираем соотношение роликов и шариков, чтобы замыкало при минимальном усилии. Подбираем прижим и собираем датчик в корпус. Заработало сразу.
Как всегда, пока датчик не доведен до ума и интерес к нему не пропал, принимаю замечания.
Беспокоила центровка щупа. А потом решил, что так как датчик всегда будет устанавливаться в цангу в одном положении, то легко будет его протестировать и заложить отклонения в скрипты. В конце концом, никто же не выводит датчик нуля по высоте. Замерили и заложили в скрипт, то, что получилось.
Моя цель - точность 5 соток. На следующей неделе пощупаем.

Автор:  UAVpilot [ 10 апр 2014, 18:54 ]
Заголовок сообщения:  Re: Простой датчик касания

Только среднюю часть (белая) нужно делать примерно такой формы:

Изображение

Красными стрелками отмечены выемки под шарики, а зелёной - под ролики. Такая форма не даст средней части провернуться и не попадать на шарики.

Ну и как я понял ты сделал датчик наоборот - средняя часть (со штырьками) закрепляется в цанге, а щуп жёстко закреплён на внешнем корпусе?
В таком случае возможны ложные срабатывания из-за внешних воздействий на соединительный провод.

Автор:  George164 [ 10 апр 2014, 19:19 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
Ну и как я понял ты сделал датчик наоборот

Я сделал как положено. Корпус в цангу, а щуп снизу.
В моей конструкции и шарики и ролики полностью внутри белой части корпуса. Это увеличивает диаметр, но более технологично для меня. У меня были платки с разным расстоянием между шариками. Первый вариант я спаял на даче паяльником с жалом 8мм. Еще и припой расплылся под корпус. А второй вариант уже нормальным паяльником дома со стеклом. Поэтому и протестировать на станке пока не могу. Залил пока эпоксидкой.
Без электроники. Проверяю тестером. Возвращается в ноль устойчиво. Должно работать. Проверю только в воскресенье.
PS Понял в чем проблема. Обломки фрез имеют острый конец. Поэтому для двух острых концов внутри места не хватило и один пришлось развернуть наружу. Это как раз и есть хвостовик датчика. А щуп - там где идеально ровный хвостовик.
PS2 Погорячился, утверждая, что увеличился диаметр. Он не увеличился . Толщина корпуса в узкой части 2 мм плюс зазор до ролика. Т.е. диаметр такой же. У тебя вырезы под ролики. У меня выступы под винты. У тебя ролики не могут уйти. Но два шарика сами по себе достаточно хорошо центрируют и фиксируют ролики и без стенок.

Автор:  UAVpilot [ 10 апр 2014, 19:48 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
В моей конструкции и шарики и ролики полностью внутри белой части корпуса.

Это понятно, я про другое: попробуй надавить на щуп вдоль оси датчика и повернуть подвижную часть вокруг оси - ролики уже не попадут на своё место.

George164 писал(а):
У меня были платки с разным расстоянием между шариками.

Опытным путём установлено, что наиболее чётко датчик срабатывает при такой геометрии контактов:

Изображение

+/- градусов 10

Автор:  George164 [ 10 апр 2014, 19:56 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
попробуй надавить на щуп вдоль оси датчика и повернуть подвижную часть вокруг оси - ролики уже не попадут на своё место.

Попадут. Это если пружинки, то не попадут. У меня прижим пористой подложкой по всей поверхности. Щуп у меня вокруг оси просто не проворачивается. Трение очень сильное.

Автор:  George164 [ 18 апр 2014, 21:47 ]
Заголовок сообщения:  Re: Простой датчик касания

Испытал, наконец, датчик на станке.
1. Подложка ламината не подошла. Пришлось заменить на более жесткую губку. (На первом фото эту губку видно. Только пришлось ее сделать тоньше.)
2. Работа по высоте просто идеальна. Повторяемость 0 соток.
3. Поиск центра дал разброс 2 сотки: 0 +2 сотки. Но деталь просто лежала на столе. Когда попробовал то же самое концевиком фрезы в дюрале, то щуп стал сдвигать деталь на несколько мм, пока не сработает контакт. А датчик касания срабатывал моментально. Не исключено, что на закрепленной детали получу повторяемость 0 соток.
4. Вращением на четверть оборота подобрал отклонение по центру по осям -6 соток и +2 сотки.
5. Сделал много видео, но надо редактировать. Когда руки дойдут пока не понятно.
6. Меня конструкция удовлетворяет полностью. Особенно проверка поверхности. Пока ничего изменять не буду.

Автор:  motoyarik [ 20 апр 2014, 17:13 ]
Заголовок сообщения:  Re: Простой датчик касания

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

Автор:  George164 [ 20 апр 2014, 18:01 ]
Заголовок сообщения:  Re: Простой датчик касания

motoyarik писал(а):
губка явно портит всю картину. слишком большое усилие в поперечных направлениях явно из за нее

Не понял о каком большом усилии речь. Деталь СВОБОДНО лежит на столе и датчик ее не сдвигает даже на сотку. Где же здесь усилие. А контактный датчик таскает деталь на миллиметры. Я сразу и не понял почему вдруг замеры стали так скакать.
Видео снял боком лежа. А поворот редактором портит качество. В ближайшие дни переделаю.
Изображение
Сила прижима зависит от того, как припаяны шарики и от жесткости конструкции. Даст ли что-нибудь пружина не знаю. Попробуйте. Главное, что конструкция сделана без токарного станка и она реально работает. Ну и цена: 6 шариков по 30 копеек.
PS Контактный датчик это концевик фрезы, на который цепляется крокодил. Так вот контакт между дюралем и твердосплавом у меня оказался очень плохой. Между острием фрезы и печатной платой у датчика нуля контакт хороший, а здесь плохой.
PS2 Датчик касания хоть и без электроники, но идет на ЛПТ не напрямую, а через контроллер ШД. А там что-то типа элемента ИЛИ или И, наверно, стоит. Может и опторазвязка. Какие-то м/с стоят.

Автор:  Planet [ 20 апр 2014, 18:59 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
А поворот редактором портит качество.

у микрософта прога Киностудия нормально поворачивает.

Автор:  George164 [ 20 апр 2014, 19:24 ]
Заголовок сообщения:  Re: Простой датчик касания

Если имеется в виду Movie Maker, то она в ХР файлы mp4 даже не загружает.

Автор:  Planet [ 20 апр 2014, 19:35 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
сли имеется в виду Movie Maker, то она в ХР файлы mp4 даже не загружает.

Да. То что она не грузит не его вина, а твоя, загрузи нужные кодеки будет все грузить.

Автор:  George164 [ 20 апр 2014, 20:26 ]
Заголовок сообщения:  Re: Простой датчик касания

Она и на AVI вылетает, когда пытаешься повернуть. У меня из-за этих бесконечных установок ХР уже травмированная. Надо бы переустановить, да лень потом весь софт ставить и стремно, что ноут умрет совсем. Проще переснять.
С ноутом что происходит непонятно. На антивирусе выключается по питанию. Попробую на другом.

Автор:  Planet [ 20 апр 2014, 21:01 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
У меня из-за этих бесконечных установок ХР уже травмированная.

у меня WIN7 64 бита ультимейт, работает нормально.

Автор:  motoyarik [ 21 апр 2014, 19:35 ]
Заголовок сообщения:  Re: Простой датчик касания

Есть удобная и бесплатная програмка "Format Factory". Там и поворот изображения есть в расширенной настройке кодирования.

Автор:  George164 [ 23 апр 2014, 21:15 ]
Заголовок сообщения:  Re: Простой датчик касания

Разместил, все-таки, старое повернутое видео датчика с губкой.
Показать\Спрятать Видео

С чем столкнулся. Корпус совсем хилый, из рекламного пластика. Печатка из текстолита 1.5мм, тоже совсем хилая.
Сделано для пробы кое-как, а устройство, все-таки, требует микронных допусков у контактов. Неровности выбираются за счет прижима. Пока губка свежая - все было хорошо. Потом видно продавилась и через неделю контакт стал пропадать. Заменил на пружину, которая оказалась явно тугая для такого хилого корпуса. И чувствительность тут же пропала. Срабатывание 100% и повторяемость отличная, а визуально видно как корпус гуляет. Нужна мягкая центральная пружинка или пружинки на каждый контакт с переделкой корпуса и корпус покрепче, например, склеенный из текстолита.

Автор:  VVChaif [ 23 апр 2014, 21:49 ]
Заголовок сообщения:  Re: Простой датчик касания

George164, Хорошо что есть такие люди как ты :) Без обид.
Хотел, не верил, говорили как правильно, упирался, НО!
А вот взял и САМ проверил! УВАЖУХА.

Автор:  George164 [ 23 апр 2014, 22:26 ]
Заголовок сообщения:  Re: Простой датчик касания

Спасибо, если без обид. :) Пока результат скорее отрицательный.
Но это же чисто технологическая задача. Как ровно разместить 6 шариков и 3 ролика, так, чтобы получить надежный контакт при небольшом усилии. Придавить стеклом, посадить на клей, а потом пропаять? Вы же десятки лет этим занимаетесь, а не 2 года как я. Советуйте. Обычно, со второго раза конструкция должна получаться. Но без оснастки такую конструкцию вряд ли соберешь.
Может добавить снизу пластину с двумя регулировочными винтами под 2 шарика, спаять, а потом пластину убрать.
С корпусом понятно. Вырезаем из текстолита слои, мажем клеем, насаживаем на длинный полированный вал 3 мм и сдавливаем.

Автор:  Ly2 [ 23 апр 2014, 23:22 ]
Заголовок сообщения:  Re: Простой датчик касания

Если честно, я так и не понял целесообразность этого изделия :wall: . Сохранность фрезы?, точность?(если вруг фреза коснётся края не режущей кромкой, а межреберьем).
Ну нашли центр, ладно, сняли щуп, поставили фрезу... и надо искать ноль по Z, (длинна фрезы и щупа могут быть не одинаковы). т.е .... по моему крокодильчик с платкой упрощает всю систему с этими лишними перестановками.
Не ну правда не пойму, потратьте пару слов, объясните где я не догоняю?
ЗЫ. У нас на заводе аналогичным щупом ОТК (было такае в СССР :) помните)проверяли качество изготовления блоков , цилиндров и прочих узлов Камаза, но то проверка...

Автор:  George164 [ 24 апр 2014, 00:04 ]
Заголовок сообщения:  Re: Простой датчик касания

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

Автор:  VVChaif [ 24 апр 2014, 08:09 ]
Заголовок сообщения:  Re: Простой датчик касания

я сам мечтаю о таком датчике. но в сутках всего 24 часа :(
George164 писал(а):
потом чертеж привязали к этим координатам и работаете.

вот с этого места поподробней!

Автор:  UAVpilot [ 24 апр 2014, 08:57 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Как ровно разместить 6 шариков и 3 ролика, так, чтобы получить надежный контакт при небольшом усилии.

Рискую показаться нудным, но всётаки посоветую освежить в памяти геометрию, ну или хотя-бы смоделировать "неровный" узел в каком-нибудт солидворксе и т.п.
Про надёжные контакты тоже уже писал.
George164 писал(а):
С корпусом понятно. Вырезаем из текстолита слои, мажем клеем, насаживаем на длинный полированный вал 3 мм и сдавливаем.

Это так, поиграться и понять принципы. Нормальный датчик надо делать из металла. с возможностью юстировки положения щупа относительно хвостовика. Посмотрите конструкцию датчика Starik'а (Шерлок Холм их тут продавал) - в принципе удачная конструкция, разве что пропорции поправить.

Ly2 писал(а):
и надо искать ноль по Z, (длинна фрезы и щупа могут быть не одинаковы)

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

VVChaif писал(а):
вот с этого места поподробней!

Например кладёте заготовку на стол как попало, с помощю датчика определяете положение базовой грани отностительно осей станка (два касания грани дают две точки, однозначно определяющие угол грани относительно осей), с помощью соотв. G-команд поворачиваете ось координат станка паралельно грани заготовки.
По трём точкам (две на одной грани и одна на перпендикулярной) можно точно найти угол прямоугольной заготовки, по четырем - непрямоугольной.

Автор:  VVChaif [ 24 апр 2014, 09:03 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
Например кладёте заготовку на стол как попало, с помощю датчика определяете положение базовой грани отностительно осей станка (два касания грани дают две точки, однозначно определяющие угол грани относительно осей), с помощью соотв. G-команд поворачиваете ось координат станка паралельно грани заготовки.

спасибо понятно. Gкод надеюсь найду сам :)

Автор:  George164 [ 24 апр 2014, 09:38 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
всётаки посоветую освежить в памяти геометрию

Как говорится, ровно было на бумаге. Но любой станок имеет люфты, а любое сверло уводит в сторону. Вопрос не начертить, а собрать.
VVChaif писал(а):
Нормальный датчик надо делать из металла

Люди правдами и неправдами собрали свой первый станок. Какой металл? Использование токарного станка не предполагается. Если есть конструкция - пишите.
VVChaif писал(а):
вот с этого места поподробней!

На примере фото детали. У нас 3 отверстия.
Находим центр левого отверстия и обнуляем координаты.
Находим и записываем центры других отверстий.
Например, в Компасе чертеж детали размещаем так, что центр левого отверстия в центре координат.
Рисуем точками или осями центры других отверстий по записанным координатам.
Операцией Поворот вращаем чертеж вокруг центра до примерного совпадения центров других отверстий, усредняя погрешность. Теперь сдвигаем весь чертеж на отклонения щупа датчика от реального центра фрезы, если они значительны.
Все. Теперь чертеж с точностью до погрешностей соответствует детали на столе. Причем грани нас не интересуют. Они изначально скорее всего кривые. В данном случае нам важны только отверстия и именно по ним мы привязываем чертеж к детали. Теперь рисуем и фрезеруем, например, новые крепежные отверстия для новой каретки Z.
Т.е. привязка идет по значимым точкам. А координаты точек находим датчиком, учитывая диаметр и погрешности юстировки датчика по осям. Юстировка датчика не обязательна. Достаточно знать его отклонения и учитывать их в расчетах.
В Арткаме двигаем чертеж так, чтобы центр левого отверстия был в центре координат.

Автор:  Planet [ 24 апр 2014, 09:49 ]
Заголовок сообщения:  Re: Простой датчик касания

VVChaif писал(а):
спасибо понятно. Gкод надеюсь найду сам

У тебя же есть Planet, там и в EMC будет работать G10, а в Мач G68.

Автор:  Ly2 [ 24 апр 2014, 12:54 ]
Заголовок сообщения:  Re: Простой датчик касания

Спасибо. Теперь боле-менее понятно. Просто я грани деревянных нахожу практически таким же скриптом как и Z. Центра отверстий, да точнее будет( времена оргстекла с медной шайбой и прицелом, с которых начинали тут пару лет назад, прошли :) )
  Не в тему:
  Небольшой станочек запустил таки, вот теперь и практикуюсь

Цитата:
ищет центр круга по внешним краям

как то спрашивал такой скрипт(самому ума не хватает написать) так и замолчали просьбу :(
Цитата:
К нему же еще в комплекте скрипты идут, как правило

я так понял при покупке датчика

Автор:  George164 [ 24 апр 2014, 14:17 ]
Заголовок сообщения: 

Какая покупка? Это датчик для самостоятельно изготовления. Скрипты будут, но позже. Сейчас версию 2.0 сделаю. Прикупил кусочек 2 мм стеклотекстолита.

Автор:  Ly2 [ 24 апр 2014, 14:51 ]
Заголовок сообщения:  Re: Простой датчик касания

Буду следить за развитием. :) Скрипты в свободном доступе будут?

Автор:  VVChaif [ 24 апр 2014, 16:27 ]
Заголовок сообщения:  Re: Простой датчик касания

Planet писал(а):
VVChaif писал(а):
спасибо понятно. Gкод надеюсь найду сам

У тебя же есть Planet, там и в EMC будет работать G10, а в Мач G68.

Да, есть, но из-за нехватки времени и мощностей компа (в конце мая буду новый ставить и тогда буду 2 операционки иметь) она ждет своего часа.
За направление поиска спасибо.

Автор:  George164 [ 24 апр 2014, 20:28 ]
Заголовок сообщения:  Re: Простой датчик касания

Ly2 писал(а):
Скрипты в свободном доступе будут?

Сделать скрипт не проблема. Но с поиском центра круга не вполне ясен алгоритм поиска. Мы же не можем заложить диаметр круга. Поэтому поиск датчиком будет пытаться сам определить границы круга, опускаясь, например, на 5 мм каждый 1 см. Если удалось опуститься, то край обнаружен, если нет - ищем дальше. Нашли один край - движемся в центр до контакта, затем поднимаемся, возвращаемся в центр и ищем в другую сторону. Как-то так. Ничего другого пока в голову не приходит. Ну, или вначале опускаемся и определяем уровень детали, а потом поднимаемся на 3 мм и ищем во все стороны.
Скрипты и так в свободном доступе, но они не всегда работают по разным причинам из-за особенностей станков или неправильных начальных установок. У меня почему-то в скриптах нормально не отрабатывает команда G0 по Z.

Автор:  UAVpilot [ 25 апр 2014, 00:25 ]
Заголовок сообщения:  Re: Простой датчик касания

Все делают проще: щуп вручную опускается в отверстие на нужную глубину и запускается скрипт, который работает только в плоскости XY.
Самостоятельно при поиске щуп опускаться не должен т.к. можно например въехать корпусом шпинделя/датчика в какой-нибудь крепёж пока щуп ещё ничего не коснулся.

P.S. Скрипы есть, но они для LinuxCNC и в Mach3 видимо работать не будут из-за различий в интерпретаторе RS274NGC.
Желающие могут попробовать скрипт обнуления Z по датчику:
Код:
( #1 - min-z, #2 - feed, #3 - z-probe height )
O<zero-z> sub
G49 G40
G92.1
#<z_start> = [#5422+#[5203+#5220*20]]
#<z_dist_to_bottom> = [#1-#<z_start>]
G91
G38.2 Z[#<z_dist_to_bottom>] F[#2]
O<no_probe> IF [#5070 NE 0]
        G38.4 Z10 F20
        G38.2 Z-5 F10
        G10 L20 P[#5220] Z[#3]
        G90
        G53 G0 Z[#<z_start>]
O<no_probe> ENDIF
G90
O<zero-z> endsub
M02

процедура вызывается с тремя параметрами:
1. минимальная абсолютная координата по Z, например если у вас Z двигается от 0 до -100мм, то надо указать "-100".
2. Скорость поиска до первого касания
3. Высота срабатывания датчика
В результате Z обнулится по поверхности на которой стоит датчик в текущей системе координат (G54-G59) и ось Z вернётся на высоту, с которой было запущено.

Автор:  George164 [ 25 апр 2014, 00:34 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
Все делают проще: щуп вручную опускается в отверстие

Речь идет не об отверстии, а о круглой пластине (2 оси) или прямоугольной пластине ( 1 ось). Тут без оси Z не обойтись, если не разбивать скрипт на 2-4 части.

Автор:  UAVpilot [ 25 апр 2014, 02:40 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Речь идет не об отверстии, а о круглой пластине (2 оси) или прямоугольной пластине ( 1 ось).

Тогда так, как ты написал.

Или так: опускаем шуп чуть ниже поверхности заготовки и запускаем поиск задав направление поиска. Скрипт движется до касания, потом сам делает аналогичные замеры чуть правее и чуть левее - получаем 3 точки, по которым можно вычислить даметр и центр. Если нужна максимальная точность, то уточняем обычным способом зная примерные координаты центра и диаметр.

Автор:  George164 [ 25 апр 2014, 10:52 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
чуть правее и чуть левее - получаем 3 точки, по которым можно вычислить диаметр и центр

Вынужден повторить: так гладко только на бумаге. Диаметр может быть и 3см, и 15см, люфты у станка, ограниченность микрошага, неточность датчика, неровность материала по краю и особенности .dxf формата на окружности сводят этот алгоритм на нет. Многочисленные погрешности усредняются только если они случайны и разнонаправлены (по осям). Здесь этого нет.
На ум пришел другой алгоритм.
Линейкой находим центр и ставим крестик. В этот центр помещаем фрезу и обнуляем все координаты.
Переводим фрезу за край круга и опускаем ниже края круга.
Подготовка окончена. Теперь запускаем скрипт, зная диаметр, ноль детали и уровень для замеров. Дальше элементарно: идем до края, поднимаемся, перепрыгиваем через деталь, опускаемся, идем назад и переходим к другой оси. Компенсируем погрешность датчика.
Годится и для квадрата-прямоугольника и для круга. Главное крепить по углам-диагоналям.
Вроде бы такой скрипт будет и прост и удобен. Главное запомнить легко: в центр, обнулить, за край и пуск.

Автор:  Ly2 [ 25 апр 2014, 12:53 ]
Заголовок сообщения:  Re: Простой датчик касания

Для круга: если можно сделать дополнительное окно куда вбиваем приблизительный диаметр круга, дальше, подгоняем к краю( можно по умолчанию например от Х0), поиск края (чтоб много не шагать, +25, вроде во многих скриптах типа такого сделано), подьём на безопасную высоту, переход на заданный диаметр и шагаем -25. Вычисляем середину и переходим на поиск другой оси уже а автомате.
Хотя поиск лучше равным больше радиуса, чтобы искать в любой точке окружности, а не близкой к диаметру

Автор:  George164 [ 26 апр 2014, 23:04 ]
Заголовок сообщения:  Re: Простой датчик касания

Демонстрация работы последней версии датчика с губкой. Для того, чтобы губка нормально пружинила оказывается между губкой и роликом надо было положить прокладку. Когда губка лежала на ролике непосредственно, она продавливалась роликом и прижима переставало хватать. Когда губка была давила на плоскость, а плоскость через кусочек резины на ролик все заработало.
Показать\Спрятать Видео

Как видно на видео, подтягиванием винтов крепежа датчика со второй попытки удалось сделать погрешность датчика меньше десятки. На плоскость вообще работает идеально.
К сожалению, этой версии датчика больше нет. Я его сломал, когда отлаживал безопасный скрипт. Оказывается ESTOP в Маче не останавливает скрипт и он продолжает работать, когда ESTOP убираешь.
Теперь работает версия 1.5 на пружинках от шариковых ручек.
Изображение
Скрипт заработал сразу, файл со звуком так и не получился. (У меня две неразрешимые загадки: куда пропадает звук в avidemux.exe и как сделать ссылку на youtube на этом сайте.)
Демонстрация работа скрипта без необходимости ввода параметров через отдельные поля. Работает прекрасно, если установка сделана правильно. Но, если ошибиться, то датчик ломается, когда попадает при прогонах на препятствие. Надо переделать так, чтобы все прогоны тоже распознавали препятствие. Вот на этой работе я и сломал предыдущий датчик. Надо бы и этот сломать иначе нет стимула доделать версию 2.0.
Показать\Спрятать Видео

PS Звук в youtube появился. Что-то с кодеками, но мне этого не понять.
PS2
Ly2 писал(а):
если можно сделать дополнительное окно куда вбиваем приблизительный диаметр круга,

Не дает ничего. Все равно нужны еще параметры по Z, начальные координаты... А если после ввода двигать вручную, то поля не нужны. Важнее сделать остановы по препятствию. Но там возни много, надо делать за столом, а не у станка.

Автор:  UAVpilot [ 27 апр 2014, 02:28 ]
Заголовок сообщения:  Re: Простой датчик касания

А почему не делаешь уточняющие касания?

Кстати про ломание датчиков: нужно делать датчики с большим ходом щупа - меньше шансов сломать, например у Renishaw MP3 максимальный угол отклонения щупа от вертикали градусов 45 в каждую сторону, а макс. ход по Z - милиметров 20.
Ну и о "рубиновых щупах": бывают щупы с керамическим стержнем - вопервых изменение температуры меньше сказывается, вовторых при наезде ломается шуп, а не дорогой датчик.

Автор:  VVChaif [ 27 апр 2014, 08:35 ]
Заголовок сообщения:  Re: Простой датчик касания

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

Автор:  George164 [ 27 апр 2014, 09:42 ]
Заголовок сообщения:  Re: Простой датчик касания

VVChaif писал(а):
При наведении курсора на кнопку ВВ-кода, высвечивается пример как должна выглядеть ссылка.

Да не работает. Скриншоты сделать?
UAVpilot писал(а):
А почему не делаешь уточняющие касания?

Не понял. Зачем?
UAVpilot писал(а):
бывают щупы с керамическим стержнем

Мне кажется мы на разных планетах и говорим на разных языках. У меня станок на полушаге. Это значит, что минимальное перемещение 3/400=0.0075 мм. Какое тепловое расширение. Про нажатие пальцем тоже писал не один раз. Не надо самим себе морочить голову. Это бытовые станки и вряд ли у них точность намного выше 0.1мм, если не на холостом ходу.
Хотя как сделать на кухне керамический щуп вопрос интересный.
Кстати, датчик у меня не сломался. Просто там внутри сдвинулась губка, стал пропадать контакт и мне это надоело. Пружинки, если их подобрать по упругости и диаметру, намного технологичней и проще. На растяжение повторить вряд ли удастся, а на сжатие запросто.
Цена этого датчика это цена своего труда и оправдывается приобретением опыта работы с такой точностью. Материалы не стоят ничего. Можно добавить 3 винта сверху и получим регулировку прижима. Юстировка щупа за счет сжатия рекламного пластика.
Ну и безопасный скрипт. Нет никакой нужды гонять датчик командами G1. Командами G31 они будут перемещаться не хуже.

Автор:  VVChaif [ 27 апр 2014, 10:14 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Да не работает. Скриншоты сделать?

Вот я поправил как должно быть (и как указано в примере) и все работает :)

Автор:  George164 [ 27 апр 2014, 10:23 ]
Заголовок сообщения:  Re: Простой датчик касания

VVChaif писал(а):
Вот я поправил как должно быть

Показать\Спрятать Видео


Сейчас получается. Буду ловить момент, когда опять не получится. :(

Автор:  UAVpilot [ 27 апр 2014, 15:02 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Не понял. Зачем?

Убиваются 2 зайца: большая скорость поиска и выше точность.

George164 писал(а):
Мне кажется мы на разных планетах и говорим на разных языках.

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

George164 писал(а):
Это значит, что минимальное перемещение 3/400=0.0075 мм. Какое тепловое расширение.

просто для справки: стальной стержень длиной 30 мм при нагреве с 20 до 40 градусов удлиняется как раз на длину твоего минимального перемещения.
Но в твоём случае это не существенно - твой пластиковый корпус удлиняется гораздо больше.

Автор:  George164 [ 27 апр 2014, 18:44 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
Убиваются 2 зайца

Зачем убивать зайцев? Это типа охота?
UAVpilot писал(а):
А если тебе не интересно как делают проф. датчики и почему

Мне больше интересно, когда человек умеющий делать датчик с точностью 1 микрон, делает облегченную версию с точностью 0.1-0.01 мм для самостоятельного изготовления и повторения конструкции. За этим следует и почет, и уважение, и благодарность, и скрытая реклама.
Ну посмотрел я на ютьюбе как делают подшипники. И что мне это дало? То же и с профессиональными датчиками. Что из рубина, что из керамики. Повторить я это никогда не смогу. Тогда зачем?

Автор:  UAVpilot [ 27 апр 2014, 21:14 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Повторить я это никогда не смогу. Тогда зачем?

Если-бы мы общались в личке, то я ничего подобного не написал-бы. А в публичной теме я полагаю, что мои посты читает кто-то ещё кроме George164 и им может быть интересно как те или иные проблемы решены в фирменных датчиках, хотя-бы для удовлетворения любопытства.

George164 писал(а):
Зачем убивать зайцев? Это типа охота?

Ок, я понял - это не интересно.

Автор:  George164 [ 28 апр 2014, 19:32 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
Ок, я понял - это не интересно.

Зачем неинтересно? Очен интересно. Но это тема Простой датчик. Зачем здесь в пятый раз про щупы из рубина?
На снимке полный комплект датчика версии V2.0 на пружинках 4мм.
Изображение
Бета версия Безопасного скрипта для поиска центра. Вроде бы работает, но в связи с особенностями редактирования текста может что-то и пропустил. Если делаете Копи-Паст, то в Бейсике следите, чтобы в момент Паст в редакторе стояла английская раскладка. Иначе вся латиница превратится в ?.
Видео сделал, но его надо собирать, так как разные аварийные срабатывания в разных файлах. Но идея оправдалась. Все работает.
Код:
Rem   VBScript To center probe outside a pipe by George164
' Размещаем щуп примерно по центру круга примерно на уровне детали
' Обнуляем все координаты
' Перемещаем щуп за правый край детали и опускаем на уровень замеров
' Запускаем скрипт
'

ProbeFeed = 100 'скорость поиска
MoveFeed = 500 'скорость перемещения
ProbeDist = 15 'расстояние поиска края детали в мм
Code "M3"
Code "G4 P1" 'пауза 1 сек
CurrentFeed = GetOemDRO(818) 'текущая скорость


If GetOemLed (825) <> 0 Then 'Check to see if the probe is already grounded or faulty
     Code "(Probe plate is grounded, check connection and try again)"
Else   
          XCurrent = GetDro(0)   
     YCurrent = GetDro(1)
     ZProbe = GetDro(2)
     Code "G4 P1"    'Pause 1 second to give time to position probe plate
     ZFree = 5
'**************************************
Rem  Probe Left
     Code "F" &ProbeFeed 'скорость поиска
     XNew = Xcurrent - ProbeDist    'probe ProbeDist mm  to left
     Code "G31 X" &XNew
     While IsMoving()    'wait for the move to finish
     Wend
     XPos1 = GetVar(2000)    'get the probe touch location
     Code "G0 X" &XCurrent    'rapid move back to start point
     Code "G0 Z" & ZFree
'**************************************
Rem   Probe Right
     Code "G0 Z" & ZFree
     XNew =-XCurrent     'probe diametr and ProbeDist mm to right
   '  Code "G0 X" & XNew
Code "G31 X" &XNew & "F" & MoveFeed
While IsMoving()
Wend
XCur = GetVar(2000)
If GetOemLed (825) <> 0    Then
Code "(Aborted by X Graunded)"
Stop
End If
If XCur>XNew+0.5  Then
Code "(Aborted by X: stop)"
Stop
End If

     XNew = XNew + ProbeDist
   '  Code "G0 Z" & ZProbe
Code "G31 Z" &ZProbe & "F" & MoveFeed
While IsMoving()
Wend
If GetOemLed (825) <> 0 Then
Code "(Aborted by Z Graunded)"
Stop
End If
ZCur=GetVar(2002)
If ZCur>ZProbe+0.5  Then
Code "(Aborted by Z: Probe Level)"
Stop
End If
     Code "F" &ProbeFeed 'скорость поиска
     Code "G31 X" &XNew
     While IsMoving()
     Wend
     XPos2 = GetVar(2000)
     XNew = -XCurrent
     Code "G0 X" & XNew

     XCenter = (XPos1 + XPos2) / 2   'center is midway between XPos1 and XPos2
     Code "G0 Z" & ZFree
  '   Code "G0 X" &XCenter    'rapid move to the x center location
Code "G31 X" &XCenter & "F" & MoveFeed
While IsMoving()
Wend
XCur = GetVar(2000)
If GetOemLed (825) <> 0    Then
Code "(Aborted by X: Graunded)"
Stop
End If
If XCur<XCenter-0.5  Then
Code "(Aborted by X: Stop)"
Stop
End If
     
'*************************************
Rem   Probe down
     YNew = XCurrent
     Code "G0 Z" & ZFree
'    Code "G0 Y" & YNew
Code "G31 Y" & YNew & "F" & MoveFeed
While IsMoving()
Wend
YCur = GetVar(2001)
If GetOemLed (825) <> 0    Then
Code "(Aborted by Y: Graunded)"
Stop
End If
If YCur<YNew-0.5  Then
Code "(Aborted by Y: Stop)"
Stop
End If

     YNew = YNew - ProbeDist
  '   Code "G0 Z" & ZProbe
Code "G31 Z" &ZProbe & "F" & MoveFeed
While IsMoving()
Wend
If GetOemLed (825) <> 0 Then
Code "(Aborted by Z: Graunded)"
Stop
End If
ZCur=GetVar(2002)
If ZCur>ZProbe+0.5  Then
Code "(Aborted by Z: Probe Level)"
Stop
End If
     Code "F" &ProbeFeed 'скорость поиска

     Code "G31 Y" & YNew
     While IsMoving()
     Wend
     YPos1 = GetVar(2001)
     YNew = XCurrent
     Code "G0 Y" &YNew
     Code "G0 Z" & ZFree
'*************************************
Rem   Probe up
     Code "G0 Z" & ZFree
     YNew = -XCurrent
  '   Code "G0 Y" & YNew
Code "G31 Y" & YNew & "F" & MoveFeed
While IsMoving()
Wend
YCur = GetVar(2001)
If GetOemLed (825) <> 0    Then
Code "(Aborted by Y: Graunded)"
Stop
End If
If YCur>YNew+0.5  Then
Code "(Aborted by Y: Stop)"
Stop
End If


   '  Code "G0 Z" & ZProbe
Code "G31 Z" &ZProbe & "F" & MoveFeed
While IsMoving()
Wend
If GetOemLed (825) <> 0 Then
Code "(Aborted by Z: Graunded)"
Stop
End If
ZCur=GetVar(2002)
If ZCur>ZProbe+0.5  Then
Code "(Aborted by Z: Probe Level)"
Stop
End If

     YNew= -XCurrent + ProbeDist
     Code "F" &ProbeFeed 'скорость поиска
     Code "G31 Y" &YNew
     While IsMoving()
     Wend
     YPos2 = GetVar(2001)
     YCenter = (YPos1 + YPos2) / 2
     YNew = -XCurrent
     Code "G0 Y" & YNew
     Code "G0 Z" & ZFree

Rem   move To the center   
   '  Code "G0 Y" &YCenter
YNew=YCenter
Code "G31 Y" & YNew & "F" & MoveFeed
While IsMoving()
Wend
YCur = GetVar(2001)
If GetOemLed (825) <> 0    Then
Code "(Aborted by Y: Graunded)"
Stop
End If
If YCur<YNew-0.5  Then
Code "(Aborted by Y: Stop)"
Stop
End If
     Code "M5"
Code "F" &FeedCurrent 'restore starting feed rate
End If 

'*****************************

Автор:  George164 [ 01 май 2014, 13:23 ]
Заголовок сообщения: 

Удивительные результаты. Я всего лишь вырезал новые детали уменьшив все отверстия до минимума. Так чтобы винты входили внатяг. Собрал, посадил на эпоксидку. Шарики не перепаивал, так не смог их найти.
Протестировал. Движение до препятствия с поворотом на 90 градусов. Результаты: 0.00 0.03 0.02 0.00. Т.е. без всякой юстиции такая конструкция начинает работать сразу с точностью изготовления, которая у меня вряд ли лучше по параметрам моего станка.

Автор:  mirage-net [ 09 авг 2014, 23:32 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Хотя как сделать на кухне керамический щуп вопрос интересный.

Может в качестве рабочего тела использовать "Керамический стержень 5,08х0,318 см. для точилки LCKEY LR 2FN" (гуглиться легко). Размер вроде подходящий (стоимость в районе 120-140руб.)

Автор:  George164 [ 27 ноя 2015, 01:13 ]
Заголовок сообщения:  Re: Простой датчик касания

Смешно. Случайно на одном из форумов наткнулся на скрипт с мастеркита (без ссылки, конечно), где задают вопрос о команде М3-М5. Ну, ладно я тогда не знал что это за команда (как и S15000, T6 и т.д.) и она перекочевала и в этот скрипт. Но здесь же многие ее знают, но не сказали подкорректировать. Зачем она в том старом оригинале для самого загадка.

Автор:  Efim [ 27 мар 2016, 08:46 ]
Заголовок сообщения:  Re: Простой датчик касания

George164 писал(а):
Беспокоила центровка щупа. А потом решил, что так как датчик всегда будет устанавливаться в цангу в одном положении, то легко будет его протестировать и заложить отклонения в скрипты. В конце концом, никто же не выводит датчик нуля по высоте. Замерили и заложили в скрипт, то, что получилось.

В цангу вставляется в одном положении, а вал шпинделя свободно поворачивается. И если будет приличная не соосность щупа и оси вращения, то никакой скрипт не поможет.

Автор:  Ly2 [ 04 апр 2016, 20:09 ]
Заголовок сообщения:  Re: Простой датчик касания

UAVpilot писал(а):
Например кладёте заготовку на стол как попало, с помощю датчика определяете положение базовой грани отностительно осей станка (два касания грани дают две точки, однозначно определяющие угол грани относительно осей), с помощью соотв. G-команд поворачиваете ось координат станка паралельно грани заготовки.
По трём точкам (две на одной грани и одна на перпендикулярной) можно точно найти угол прямоугольной заготовки, по четырем - непрямоугольной.

Ребят, у кого есть такой скрипт(под Mach), поделитесь пожалуйста, хотя бы на одну грань. Xто бы сразу G68 прописывало.

Автор:  George164 [ 05 апр 2016, 22:16 ]
Заголовок сообщения:  Re: Простой датчик касания

Ly2 писал(а):
у кого есть такой скрипт

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

Автор:  Ly2 [ 05 апр 2016, 23:09 ]
Заголовок сообщения:  Re: Простой датчик касания

ну так-то оно так, можно и пару реечек временно прикручивать. эх а хотелось по "цивильному" :( , а то и не вспомнишь как реечки прикручивал неделю назад :)

Автор:  George164 [ 05 апр 2016, 23:28 ]
Заголовок сообщения:  Re: Простой датчик касания

Ly2 писал(а):
и не вспомнишь как реечки прикручивал неделю назад

Они должны быть одноразовые. Прикрутил - прошелся по краю фрезой.Так же как и с фрезеровкой площадки под печатные платы. Каждый раз.

Автор:  Alexa [ 29 июл 2016, 17:50 ]
Заголовок сообщения:  Re: Простой датчик касания

Отвечал Георгию,

Похоже, у меня наконец появилась возможность писать полноценные ответы. Повторюсь, может не только два человека заинтересованны здесь в датчиках касания.
http://www.chipmaker.ru/index.php?app=c ... id=4371589
http://www.chipmaker.ru/index.php?app=c ... id=4371595
Делился радостью уже но, не важно, повторюсь.
Точности срабатывания - лучше чем 0.0025мм по вертикали и 0.01мм по горизонтали.
Работает стабильно. Пользуюсь более полу года, работой доволен. Многие операции стали предсказуемыми и точными.
В частности, для фрезеровки плат регулярно использую для сканирования поверхности, чтобы превратить ее в плоскость.
При этом не важно, что раб стол станка не очень ровный или что закрепил заготовку платы с небольшим наклоном.
Раньше долго возился либо портил работу. Вся эта беда ушла в прошлое.
http://www.ebay.fr/sch/airsw/m.html?_nk ... amp;_from=

Автор:  Planet [ 29 июл 2016, 18:26 ]
Заголовок сообщения:  Re: Простой датчик касания

Alexa писал(а):
использую для сканирования поверхности, чтобы превратить ее в плоскость.

Это как сканированием поверхность, превращаете в плоскость?

У меня без такого датчика работает,
Показать\Спрятать Видео

Автор:  Jonkaterz [ 02 фев 2018, 07:21 ]
Заголовок сообщения:  Re: Простой датчик касания

Useful to the reader, thanks really to this information

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/