Страница 7 из 12
Re: Контактный сканер с помощью EMC2
Добавлено: 15 янв 2013, 08:47
gendos
nkp писал(а):а с этим хал файлом
этот скрипт
пробовал ??
Если имеешь ввиду это,то да
net motion-ai <= hm2_7i43.0.encoder.03.position => motion.analog-in-00
Выдает ошибку
сканер.hal:110: Pin 'hm2_7i43.0.encoder.03.position' was already linked to signal 'y-pos-fb'
Re: Контактный сканер с помощью EMC2
Добавлено: 15 янв 2013, 10:35
Nick
gendos писал(а):Возможно ли его подключить к мессе если пишут что у него аналоговый выход 0-10V
В Месах АЦП вроде всего 8 бит, т.е. максимум 256 значений. А чем тебе энкодер с роликом не нравится?
Re: Контактный сканер с помощью EMC2
Добавлено: 15 янв 2013, 20:12
gendos
С роликом мне нравится больше,с ним надо сделать обязательно.
Просто с роликом не понятно как будет влиять на скан размер ролика.
А с лазером хочу сделать для интереса,можно будет попробовать сканировать и не только колодку.
Re: Контактный сканер с помощью EMC2
Добавлено: 16 янв 2013, 11:50
Nick
По идее, чем меньше ролик, тем четче рисунок.

Re: Контактный сканер с помощью EMC2
Добавлено: 17 янв 2013, 22:53
gendos
Все получилось с этим
Код: Выделить всё
(LOGOPEN,filename.txt)
#<x0> = 0
#<w> = 10
#<y0> = 0
#<h> = 10
#<stepx> = 1
#<stepy> = 1
#<x> = #<x0>
O<scanx> WHILE [#<x> LT [#<x0> + #<w>]]
G0 X#<x>
#<y> = #<y0>
O<scany> WHILE [#<y> LT [#<y0> + #<h>]]
G0 Z#<y>
M66 E0 L0 (снимаем показания энкодера в параметр #5399)
(LOG, X#5420 Y#5399 Z#5422)
(В параметрах 5420-5428 храняться текущие координаты по XYZABCUVW)
#<y> = [#<y> + #<stepy>]
O<scany> ENDWHILE
#<x> = [#<x> + #<stepx>]
O<scanx> ENDWHILE
(LOGCLOSE)
M02
в hal добавил
net y-pos-fb => motion.analog-in-00
Просто невнимательно вначале все делал.
Спасибо.
Сейчас пытаюсь увеличить скорость сканирования ,а то она пока очень маленькая и рывками.
Если не получиться прийдется вернуться к варианту с halsampler.
А еще нельзя как нибудь сделать чтоб когда я в g коде укажу 360 градусов чтоб поворотная ось возвращаясь в 0 вращалась все время в одну сторону,а не крутилась туда сюда.
И еще хотелось бы попробовать чтоб в Hal пересчитывались цилиндрические координаты в обычные XYZ
В hal можно писать формулы?
Re: Контактный сканер с помощью EMC2
Добавлено: 17 янв 2013, 23:03
nkp
gendos писал(а):В hal можно писать формулы?
формулы можно писать в компоненте
компонент загружать в хал
Re: Контактный сканер с помощью EMC2
Добавлено: 17 янв 2013, 23:41
gendos
psha писал(а):Код: Выделить всё
#!/usr/bin/env python
import sys
from math import sin, cos, radians
for l in sys.stdin:
x,a,r = map(float, l.split())
print x,r * cos(radians(a)), r * sin(radians(a))
Скрипт корвертирует stdin в цилиндрических координатах в stdout в обычных
Вытягивание из файла нужного куска сам, ибо это зависит от того как у тебя остальной обвес будет выглядеть
Стоит ли мне писать этот компанент,или проще потом конвертировать данные скриптом?
Re: Контактный сканер с помощью EMC2
Добавлено: 17 янв 2013, 23:48
nkp
gendos писал(а):Стоит ли мне писать этот компанент,или проще потом конвертировать данные скриптом?
тут уж точно решать тебе
зы а откуда цитата???
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 00:14
gendos
Цитата с этой же темы
Мне тяжело решать опыта в этом нет.Все делаю по подсказкам.
http://www.cnc-club.ru/forum/viewtopic. ... 2&start=60
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 00:19
nkp
я просто это к тому, что разницы то
большой не будет...
если бы это какой то поток
да еще и под закозчика - тогда конечно обработка на лету
а если вышесказанное не очень актуально - то имхо и скриптом после
обработать можно...
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 00:28
gendos
Понял, значит пока этот вопрос отложу.
Сейчас не знаю как задать отступ в данных энкодера ,так как при запуске начинает считать с ноля,а ролик физически не может подьехать к оси вращения,то есть энкодер должен начинать считать например с 20 мм
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 00:32
nkp
gendos писал(а):задать отступ в данных энкодера
а отступ всегда одинаковый или надо каждый раз менять ??
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 00:43
nkp
если нужно вводить поправку - то можно в панельке pyvcp ввод прицепить в к
offset
и туда же энкодер
если это одноразово - то только offset
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 09:11
gendos
Я думаю можно одноразово.
Буду пробовать.
Только мне кажется когда я вводил offset в координату Y данные с энкодера не менялись(попробую еще раз)
Re: Контактный сканер с помощью EMC2
Добавлено: 18 янв 2013, 09:34
Nick
gendos писал(а):Я думаю можно одноразово.
Вводим переменную #<yoffset>, и ставим там нужное значение. И потом добавляем его к показаниям энкодера прямо в Gкоде.
И можно полные обороты сделать, в общем вот так:
ЗЫ сними видео как оно сканирует, интересно на скорость посмотреть.
Код: Выделить всё
(LOGOPEN,filename.txt)
#<y_offset> = 20
#<x0> = 0
#<w> = 10
#<y0> = 0
#<h> = 10
#<stepx> = 1
#<stepy> = 1
#<y> = #<y0>
#<x> = #<x0>
O<scanx> WHILE [#<x> LT [#<x0> + #<w>]]
G0 X#<x>
#<i> = 0
O<scany> WHILE [#<i> LT [#<h>/#<stepy>]]
G0 Z#<y>
M66 E0 L0 (снимаем показания энкодера в параметр #5399)
#<pos> = [#5399 + #<y_offset>]
(LOG, X#5420 Y#<pos> Z#5422)
(В параметрах 5420-5428 храняться текущие координаты по XYZABCUVW)
#<y> = [#<y> + #<stepy>]
#<i> = [#<i>+1]
O<scany> ENDWHILE
#<x> = [#<x> + #<stepx>]
O<scanx> ENDWHILE
(LOGCLOSE)
M02
Re: Контактный сканер с помощью EMC2
Добавлено: 19 янв 2013, 11:52
gendos
Вот видео,только очень короткое,другое снять пока не могу сломалась камера.
Re: Контактный сканер с помощью EMC2
Добавлено: 19 янв 2013, 12:55
Nick
Да, не быстро... Интересно, это он просто разогнаться не успевает?
Re: Контактный сканер с помощью EMC2
Добавлено: 19 янв 2013, 13:24
gendos
Я думаю да.Выставил шаг 1 градус ,видно по цифрам что скорость начинает увеличиваться от 0 и 1200.Движение рывками.Так что буду делать через halsampler.
Хотел попробовать движение не по спирали а с шагом по Х например 1 мм.
Сейчас у меня по спирали G код такой(сканирует 10мм)
G0 X0 a1
S3500 m3
G1 X10 a[[10-0]/1*360] F500
M5
Re: Контактный сканер с помощью EMC2
Добавлено: 19 янв 2013, 13:53
Nick
А ускорение по больше поставить нельзя?
попробуй еще написать на перемещениях не G0, а G1 и G64 в самом начале программы поставь... Может поможет...
Re: Контактный сканер с помощью EMC2
Добавлено: 19 янв 2013, 14:26
gendos
Я пробывал не помогло.У меня же еще к томуже привод на шаговике и редуктор 1/21
Можешь мне написать G код движения не по спирали ,а с фиксированным шагом для
halsampler ?