Непрерывное контактное сканирование

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Непрерывное контактное сканирование

Сообщение verser »

В теме буду выкладывать процесс создания Vers CS - контактного сканера. Под контактным сканером здесь подразумевается не центроискатель (touch trigger probe), одномоментно срабатывающий при касании детали, а аналогово-цифровой контактный сканер (аnalog-to-digital scanning probe), выдающий расстояние, на которое смещается стилус при непрерывном обводе детали, с высокой частотой и точностью в виде потока координат.
scan.JPG (6095 просмотров) <a class='original' href='./download/file.php?id=122139&mode=view' target=_blank>Загрузить оригинал (103.15 КБ)</a>
Тема трудоемкая, очень рассчитываю на посильную интеллектуальную помощь сообщества. Приветствуются замечания, если общий ход мыслей, на Ваш взгляд, будет идти не туда :).
CS-4.png (1943 просмотра) <a class='original' href='./download/file.php?id=198168&mode=view' target=_blank>Загрузить оригинал (142.34 КБ)</a>
Последний раз редактировалось verser 18 сен 2021, 07:45, всего редактировалось 11 раз.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Контактное сканирование в linuxcnc

Сообщение verser »

Прежде чем создавать красивый интерфейс, надо бы разобраться какой g-code командой можно сканировать?..
Таких пока нет.
Linuxcnc позволяет определить новые g-code команды из перечня незадействованных. Думаю этим воспользоваться.
Набор новых g-code команд для сканирования (здесь полное раздолье для фантазии), которыми, на мой взгляд, можно отсканировать любые 3D поверхности, не содержащие уступов и полостей, скрытых от вида сверху :

G50.2 сканирование нижней плоскости
G50.4 сканирование боковой плоскости слева
G50.6 сканирование боковой плоскости справа

Эти команды легко запомнить, глянув на расположение цифр и стрелок боковой клавиатуры
digit_key.jpeg
digit_key.jpeg (7.44 КБ) 6092 просмотра
Например, сканирование боковой плоскости справа

Код: Выделить всё

G50.6 X10 Y10 Z10 F100
означает "поехать в точку X10 Y10 на скорости F100, при встрече препятствия (стилус начал отклоняться) изменить направление движения так, чтобы препятствие оставалось справа, продолжать двигаться вдоль препятствия, движение при этом автоматически корректируется так, чтобы стилус не отклонялся более 1 мм (к примеру) и менее 0.1 мм. По Z смещаться равномерно от точки касания до точки выхода."
Пока ещё думаю как правильно определять точку выхода для G50.4 и G50.6, если вдруг X10 Y10 окажется недоступна для стилуса (окажется, например, внутри тела заготовки)? :)

сканирование нижней плоскости

Код: Выделить всё

G50.2 X10 Y10 F100
означает "опуститься по Z на скорости F100 до встречи с препятствием (стилус начал отклоняться), продолжать двигаться в точку X10 Y10, Z автоматически корректируется так, чтобы стилус не отклонялся более 1 мм (к примеру) и менее 0.1 мм."

Команды будут также выполнять главную цель сканирования - формировать облако точек, отображающее поверхность заготовки.
Последний раз редактировалось verser 15 окт 2017, 08:42, всего редактировалось 15 раз.
Аватара пользователя
NKS
Мастер
Сообщения: 2516
Зарегистрирован: 30 окт 2014, 21:36
Репутация: 1233
Настоящее имя: Сергей
Откуда: Волгоград
Контактная информация:

Re: Контактное сканирование в linuxcnc

Сообщение NKS »

G54-G59 заняты, это заданные оператором системы координат.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Контактное сканирование в linuxcnc

Сообщение verser »

Упс, точно. Поправил на G50 :)
Аватара пользователя
NKS
Мастер
Сообщения: 2516
Зарегистрирован: 30 окт 2014, 21:36
Репутация: 1233
Настоящее имя: Сергей
Откуда: Волгоград
Контактная информация:

Re: Контактное сканирование в linuxcnc

Сообщение NKS »

Так гораздо лучше :good:
Аватара пользователя
dinkata
Мастер
Сообщения: 1028
Зарегистрирован: 05 сен 2014, 09:07
Репутация: 391
Настоящее имя: Диньо
Откуда: Болгария
Контактная информация:

Re: Контактное сканирование в linuxcnc

Сообщение dinkata »

Хорошая идея ! :clap:
На мой взгляд и потребности хочу отправит вопрос :
verser писал(а):(аnalog-to-digital scanning probe), выдающий расстояние, на которое смещается стилус при непрерывном обводе детали, с высокой частотой и точностью.
ГДЕ ? только в Linuxcnc ?
Будет очень хорошо получат файл которьй можно потом в CAD (SolidWorks например ) преобразоват в 3d модель :idea:
MX_metrology_V2.jpg (6000 просмотров) <a class='original' href='./download/file.php?id=122196&mode=view' target=_blank>Загрузить оригинал (19.5 КБ)</a>
Простите ошибки, я иностранец.У моя клавиатура нету "э" и "ы"
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Контактное сканирование в linuxcnc

Сообщение verser »

dinkata писал(а): Будет очень хорошо получат файл которьй можно потом в CAD (SolidWorks например ) преобразоват в 3d модель :idea:
Да, это обязательно будет.
Новые g-code команды G50.2, G50.4, G50.6 будут формировать облако точек, а новая красивая программа, похожая на Probe Screen, с названием типа Scanner Screen :) (под linuxcnc) , используя эти g-code, предоставит возможность в несколько кликов быстро и точно обмерять поверхности и выдавать результаты в CAD формате. Сейчас пока работаю над g-code командами - это фундамент.
Аватара пользователя
NKS
Мастер
Сообщения: 2516
Зарегистрирован: 30 окт 2014, 21:36
Репутация: 1233
Настоящее имя: Сергей
Откуда: Волгоград
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение NKS »

verser писал(а):предоставит возможность в несколько кликов быстро и точно обмерять поверхности и выдавать результаты в CAD формате
Было бы неплохо иметь ещё и возможность сравнивать обмерянную модель с теоретической :)
PS: Можно уже начинать разработку манипулятора? :)
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение verser »

NKS писал(а):Было бы неплохо иметь ещё и возможность сравнивать обмерянную модель с теоретической :)
Посмотрел PowerInspect. :wtf: :shock:
NKS писал(а):PS: Можно уже начинать разработку манипулятора? :)
обещаю, что конкурентом не буду :good: .
Аватара пользователя
NKS
Мастер
Сообщения: 2516
Зарегистрирован: 30 окт 2014, 21:36
Репутация: 1233
Настоящее имя: Сергей
Откуда: Волгоград
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение NKS »

verser писал(а):Посмотрел PowerInspect.
Я так понимаю есть куда стремиться? :)
verser писал(а):обещаю, что конкурентом не буду .
Надеюсь на диаметрально-противоположное, на сотрудничество :good:
Аватара пользователя
selenur
Почётный участник
Почётный участник
Сообщения: 4605
Зарегистрирован: 21 авг 2013, 19:44
Репутация: 1622
Настоящее имя: Сергей
Откуда: Новый Уренгой
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение selenur »

А подскажи размеры сканера :-)
Мой сайт: http://selenur.ru
Исходники моих программ: https://github.com/selenur
Instagram https://www.instagram.com/zheigurov/
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение aftaev »

verser писал(а):В качестве "подопытного" прибора будет выступать Vers CS - контактный сканер собственного производства, прототип которого появится через пару месяцев.
какой принцип действия?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение verser »

Vers CS: корпус Ø32мм L=34мм, хвостовик Ø6мм L=24мм, со стилусом пока не определился.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение verser »

aftaev писал(а): какой принцип действия?
Это пока конфиденциальная информация. Планируемые характеристики можно глянуть пост#45
verser писал(а): Некоторые характеристики, закладываемые в Vers CS.
1. Точность 1 мкм.
2. Измеряемые отклонения стилуса в любом направлении до 2 мм.
3. Cкорость канала связи не менее 5 000 пространственных координат в секунду в реальном времени.
4. Цена не более 200$.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение aftaev »

verser писал(а):Это пока конфиденциальная информация.
Знаю два варианта:
1. Есть Ренишоу на тензодатчиках который на директе продаю.
2. Ренишоу с ПЗС матрицей.
https://www.youtube.com/watch?v=UMW_4pCekJU
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение verser »

Выбор способа обмена данными сканер(Vers CS) <--> LinuxCNC.

Vers CS - как три абсолютных линейных энкодера, выдает некие координаты XYZ кончика стилуса. Думаю отправлять их по SPI пачкой из трёх 16-ти рязрядных чисел, максимальная частота отправки таких пачек у прибора - до 10кГц.
LinuxCNC без доп. железа такой поток в реальном времени не обработает.
Доп. железо думаю правильнее не изобретать, а выбрать популярное готовое, например, Mesa 7i92.
Поскольку Vers CS планируется как относительно бюджетное решение для широкого круга пользователей, хотелось бы иметь возможность подключиться к LinuxCNC напрямую, без доп. затрат без доп. железа, ценой потери скорости обмена данными, скажем, до 0.5кГц. Сканировать со скоростью 500 3Dточек в секунду часто может быть тоже вполне достаточно. SPI в этом случае можно подключить напрямую к LPT порту, задействовав 3 пина, считывать биты spi протокола в base-thread, и далее в servo-thread использовать полученные целиком координаты.
Начну с варианта без доп. железа, используя имеющиеся наработки SPI->LinuxCNC of Matt Wortley.
linuxcnc-spi-hal.rar
(327.7 КБ) 312 скачиваний
Последний раз редактировалось verser 21 окт 2017, 19:48, всего редактировалось 1 раз.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение nkp »

stm.comp вроде нет в архиве
Аватара пользователя
verser
Мастер
Сообщения: 1897
Зарегистрирован: 21 июл 2013, 22:28
Репутация: 1282
Настоящее имя: Сергей
Откуда: Тбилиси
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение verser »

В папке l6480 не то?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение nkp »

verser писал(а):В папке l6480 не то?
не заметил ;)
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Скоростное контактное сканирование

Сообщение Сергей Саныч »

Терзают меня смутные сомнения...
Насчет передачи 500 48-битовых сообщений в секунду посредством программного драйвера SPI.
Это ж 24 кбит/сек. А на обработку одного бита тратится минимум два такта base-thread. То есть базовая частота должна быть минимум 48 кГц. Что возможно далеко не на каждом компьютере.
Чудес не бывает. Бывают фокусы.
Ответить

Вернуться в «LinuxCNC»