Контактный сканер с помощью EMC2
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Контактный сканер с помощью EMC2
Подскажите кто может
Пытался сделать сканер с помощью mach3 но он не может записывать данные с энкодера.Думаю эту задачу можно решить с помощью emc2.
emc2 у меня сейчас в стадии изучения.
Заказал себе плату 7i43.может она для этой задачи подойдет?
Просил помощи для этой задачи для mach3 на форуме по ссылке
http://cnc.userforum.ru/viewtopic.php?id=621#p27060
Пытался сделать сканер с помощью mach3 но он не может записывать данные с энкодера.Думаю эту задачу можно решить с помощью emc2.
emc2 у меня сейчас в стадии изучения.
Заказал себе плату 7i43.может она для этой задачи подойдет?
Просил помощи для этой задачи для mach3 на форуме по ссылке
http://cnc.userforum.ru/viewtopic.php?id=621#p27060
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Давай определим, что нужно получить...
Нужен тач, нужно считывание данных по событию и как-то все это записывать в файл...
С тачем все просто, направляем внешний пин в probe-input
net probe parport.0.pin-10-in => motion.probe-input
а вот, что делать с записью данных сейчас уточню.
Нужен тач, нужно считывание данных по событию и как-то все это записывать в файл...
С тачем все просто, направляем внешний пин в probe-input
net probe parport.0.pin-10-in => motion.probe-input
а вот, что делать с записью данных сейчас уточню.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Так, нашел. Есть такая замечательная ngc управляющая программка для EMC2, которая делает скан прямоугольника и выводит все в файл
smartprobe.ngc, находтся в каталоге nc_files в исходных кодах emc2, куда она попадает при установке, честно говоря, не знаю.
Сохраняется все в файл probe-results.ngc, там в программе есть задание этого файла.
smartprobe.ngc, находтся в каталоге nc_files в исходных кодах emc2, куда она попадает при установке, честно говоря, не знаю.
Сохраняется все в файл probe-results.ngc, там в программе есть задание этого файла.
Код: Выделить всё
(smartprobe.ngc)
( Rectangular Probing )
( )
( This program repeatedly probes in a regular XY grid and writes the )
( probed location to the file 'probe-results.ngc' in the same directory )
( as the .ini file )
(Configuration section)
G20 (Inches) (ВОТ ТУТ ЛУЧШЕ ПОСТАВИТЬ G21 - мм)
F20 (probe speed)
#1=-1 (X start)
#2=.04 (X increment)
#3=51 (X count)
#4=-1
#5=.04
#6=51 (Y count)
#7=1.1 (Z safety)
#8=-.1 (Z probe)
(End configuration section)
(LOGOPEN,probe-results.ngc)
#9=0 #10=0
G0Z#7
O1 while [#9 lt #6]
#10=0
G0 Y[#4+#5*#9]
O2 while [#10 lt #3]
O3 if [[#9/2] - fix[#9/2] eq 0]
#11=[#1+#2*#10]
O3 else
#11=[#1+#2*[#3-#10-1]]
O3 endif
(#11 is X target)
#5070=1
O4 while [#5070 NE 0]
G38.5 z#7
G38.3 x#11
O4 endwhile
G38.2Z#8
(LOG,G1 X#5061 Y#5062 Z#5063)
#10=[#10+1]
O2 endwhile
G0Z#7
#9=[#9+1]
O1 endwhile
(LOGCLOSE)
G0Z#7
G0X#1Y#4
M2
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Такое нужно ???
https://www.youtube.com/watch?v=R9i4DbwZrKI
Модель "щупается" 3D пробником типо Renishaw. Точки записываются в файл, потом иих преобразуют в 3D модель.
В Маче насколько помню для этого есть специальный мастер. Запускаете, задаете параметры и он общупывает модель сканируя ее.
7i43 вам шибко не поможет. Можно было это реализовать в ЕМС и на на LPT. Если портов нехватает втыкаете еще карточку LPT баксов за 15.
Что за щуп у тебя?
https://www.youtube.com/watch?v=R9i4DbwZrKI
Модель "щупается" 3D пробником типо Renishaw. Точки записываются в файл, потом иих преобразуют в 3D модель.
В Маче насколько помню для этого есть специальный мастер. Запускаете, задаете параметры и он общупывает модель сканируя ее.
7i43 вам шибко не поможет. Можно было это реализовать в ЕМС и на на LPT. Если портов нехватает втыкаете еще карточку LPT баксов за 15.
Что за щуп у тебя?
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Координата А вращает колодку рычаг двигает энкодер
координата Х смещает рычаг с энкодером через шаг 1мм после поворота оси А на 360 градусов
записывается в текстовый файл
х,а,у
где y данные с энкодера
но нужно еще перевести угловые координаты через sina и cosa
но это я потом буду думать как сделать
координата Х смещает рычаг с энкодером через шаг 1мм после поворота оси А на 360 градусов
записывается в текстовый файл
х,а,у
где y данные с энкодера
но нужно еще перевести угловые координаты через sina и cosa
но это я потом буду думать как сделать
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
щупа у меня нет
есть ролик который обкатывает модель и через рычаг вращает энкодер
данные которого нужно записать в текстовый файл важна скорость обработки модели так как очень много точек
нужно уложится хотябы в 10 минут
есть ролик который обкатывает модель и через рычаг вращает энкодер
данные которого нужно записать в текстовый файл важна скорость обработки модели так как очень много точек
нужно уложится хотябы в 10 минут
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Контактный сканер с помощью EMC2
фото станка для лучшего усвоения работы.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Т.е. ты у тебя щуп постоянно находится на объекте, и ты хочешь считывать значения энкодера в определенных точках?
Это две строчки на питоне.gendos писал(а):но нужно еще перевести угловые координаты через sina и cosa
но это я потом буду думать как сделать
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Тогда вообще просто.gendos писал(а):есть ролик который обкатывает модель и через рычаг вращает энкодерданные которого нужно записать в текстовый файл важна скорость обработки модели так как очень много точек нужно уложится хотябы в 10 минут
Есть команда, которая пишет в лог данные:
Координаты по осям хранятся в параметрах #5420 - X, #5421 - Y и т.д.
(LOG,G1 X#5420 Y#5421 A#...тут скорее всего... #5423)
И главное, энкодер нужно прикрутить на axis.N.joint-pos-fb.
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
плату 7i43 заказал чтоб поставить серву на 675 фрезерный станок для экспериментов ,а если пойдет для сканера закажу еще.
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Тогда вообще просто.
Есть команда, которая пишет в лог данные:
Координаты по осям хранятся в параметрах #5420 - X, #5421 - Y и т.д.
(LOG,G1 X#5420 Y#5421 A#...тут скорее всего... #5423)
И главное, энкодер нужно прикрутить на axis.N.joint-pos-fb.[/quote]
я думаю это то что нужно.
Только куда записывать команду Log,G1X#5420 в исполняемый G-код ?
и как мне записать y=z(cosa)
x=z(sina)
где а угол поворота сканируемой детали
z- показания энкодера в мм
Есть команда, которая пишет в лог данные:
Координаты по осям хранятся в параметрах #5420 - X, #5421 - Y и т.д.
(LOG,G1 X#5420 Y#5421 A#...тут скорее всего... #5423)
И главное, энкодер нужно прикрутить на axis.N.joint-pos-fb.[/quote]
я думаю это то что нужно.
Только куда записывать команду Log,G1X#5420 в исполняемый G-код ?
и как мне записать y=z(cosa)
x=z(sina)
где а угол поворота сканируемой детали
z- показания энкодера в мм
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Контактный сканер с помощью EMC2
У меня не открывается. Грузи сюды.gendos писал(а):Фото станка
http://cnc.userforum.ru/uploads/0009/00 ... 57-2-f.jpg
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Да, в любом месте Gкода пишешь (LOG, ...) и в указанный (в команде log) выше файл пишется все, что после запятой.
sin и cos пишутся так
#<z> = #5422
#<a> = #5423
(LOG, #<z> * sin[#<a>], #<z> * cos[#<a>], #<z> )
Всю эту конструкцию можно вставить в описанную вверху программку, чтобы самому не задавать решетку, а она генерировалась сама.
Только меня смущает одно но, он может выдать Trajectory Following Error, т.к. EMC2 ось z не двигает, а положение ее изменяется. Сейчас посмотрю можно ли в Gcode использовать пины hal...
-------------
странно, а у меня открылось...
sin и cos пишутся так
#<z> = #5422
#<a> = #5423
(LOG, #<z> * sin[#<a>], #<z> * cos[#<a>], #<z> )
Всю эту конструкцию можно вставить в описанную вверху программку, чтобы самому не задавать решетку, а она генерировалась сама.
Только меня смущает одно но, он может выдать Trajectory Following Error, т.к. EMC2 ось z не двигает, а положение ее изменяется. Сейчас посмотрю можно ли в Gcode использовать пины hal...
-------------
странно, а у меня открылось...
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
фото сканераaftaev писал(а):У меня не открывается. Грузи сюды.gendos писал(а):Фото станка
http://cnc.userforum.ru/uploads/0009/00 ... 57-2-f.jpg
-
aftaev
- Зачётный участник

- Сообщения: 34042
- Зарегистрирован: 04 апр 2010, 19:22
- Репутация: 6194
- Откуда: Казахстан.
- Контактная информация:
Re: Контактный сканер с помощью EMC2
На тюбике было видео как обувь снимают на камеру и переносят в 3D.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Таких видео и программ есть уйма, но страдает точность и модель получается сложнее. Если есть станок, то сделать через сканирование при помощи энкодера и щупа гораздо проще.
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
я тоже так считаюNick писал(а):Таких видео и программ есть уйма, но страдает точность и модель получается сложнее. Если есть станок, то сделать через сканирование при помощи энкодера и щупа гораздо проще.
контактный сканер лучше всего,потом не нужно править облако точек
-
gendos
- Мастер
- Сообщения: 1117
- Зарегистрирован: 06 июл 2011, 15:26
- Репутация: 81
- Настоящее имя: Геннадий
- Откуда: Ростов-на-дону
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Nick писал(а):Да, в любом месте Gкода пишешь (LOG, ...) и в указанный (в команде log) выше файл пишется все, что после запятой.
sin и cos пишутся так
#<z> = #5422
#<a> = #5423
(LOG, #<z> * sin[#<a>], #<z> * cos[#<a>], #<z> )
Всю эту конструкцию можно вставить в описанную вверху программку, чтобы самому не задавать решетку, а она генерировалась сама.
Только меня смущает одно но, он может выдать Trajectory Following Error, т.к. EMC2 ось z не двигает, а положение ее изменяется. Сейчас посмотрю можно ли в Gcode использовать пины hal...
Благодарю за помощь. буду пробовать когда приеду домой ,а то я сейчас в отпуске на море.
-------------
странно, а у меня открылось...
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Контактный сканер с помощью EMC2
Значит так, есть еще два варианта, один сложный, в компоненте thc.comp используется что-то подобное. THC - Torch Height Control используется для контроля высоты плазменного или газового резака. Можно его слегка переделать и использовать...
И второй путь, гораздо более простой. В .hal заводим пин encoder.0.position на motion.analog-in-00.
Т.е. net encoder.0.position => motion.analog-in-00
После этого при выполнении Gкода
M66 E0 L0
Значение пина motion.analog-in-00 будет сохранено в параметре #5399.
Т.е. вся операция считывания и вывода значения будет выглядеть следующим образом:
M66 E0 L0
#<z> = #5399
#<a> = #5423
(LOG, #<z> * sin[#<a>], #<z> * cos[#<a>], #<z> )
И второй путь, гораздо более простой. В .hal заводим пин encoder.0.position на motion.analog-in-00.
Т.е. net encoder.0.position => motion.analog-in-00
После этого при выполнении Gкода
M66 E0 L0
Значение пина motion.analog-in-00 будет сохранено в параметре #5399.
Т.е. вся операция считывания и вывода значения будет выглядеть следующим образом:
M66 E0 L0
#<z> = #5399
#<a> = #5423
(LOG, #<z> * sin[#<a>], #<z> * cos[#<a>], #<z> )
