Все-таки SCARA

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

И тоде вопрос про окно TK
Где его можно на постоянку отключить, чтоб не грузилось? У меня толи конфликты прерываний, или еще что, но с этим окном монитор вышибает на пару секунд периодически, и все тормозит. А иногда вышибает с концами. только перезагрузка компа помогает.
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

Закрутились!
Спасибо)
Теперь шаги настроить и по мелочи вроде.
Кстати, гугл не помог найти требования по периодам шагов и пауз для tb6560. Может у кого был опыт настройки для этой железки?

Нвая странность. При ручном управлении осью 0, все выключаются.
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

убрал лишнюю ось
сигналы включения сделал отдельными
но при движении оси 0 вправо включает ось 2, а при движении влево выключает(
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

пенорезка.jpg (2638 просмотров) <a class='original' href='./download/file.php?id=58586&mode=view' target=_blank>Загрузить оригинал (197.45 КБ)</a>
вот внешность прототипа)
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

Уже решил снова попробовать переделать стандартную конфигурацию.
И как сделать фитбэк не нашел. Сам пробовал тщетно.
UAVpilot писал(а):Нет. Когда заданная позиция оси сильно отличается от реальной (от фидбэка). В случае шаговиков никакого реального фидбэка нет и задание позиции должно быть замкнуто на фидбэк через stepgen. Но в конфиге это наверняка не сделано, поэтому и ругается.

P.S. Мне одному кажется, что этот вопрос вновь поднялся сразу после того как он был решён у РЕКЛАМА?..
prezz.tar.gz
(4.79 КБ) 1012 скачиваний
последняя конфигурация, скорости убавил, ускорения равными скоростям поставил. По прежнему в режиме координат ошибка следования моментально.
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

может есть возможность, чтоб при выполнении задания он не пытался перейти в режим координат?
Аватара пользователя
РЕКЛАМА
Почётный участник
Почётный участник
Сообщения: 736
Зарегистрирован: 11 дек 2012, 21:46
Репутация: 80
Откуда: Брянск
Контактная информация:

Re: Все-таки SCARA

Сообщение РЕКЛАМА »

Я пока бросил эксперименты, строю мастерскую грязную (сварка) что-бы из той что грязная сделать чистую, и собрать все мои станки в одно место.
Так что по теме ничего не подскажу. На мой взгляд где-то ошибка изначально в профиле, где ее искать ума не приложу.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Все-таки SCARA

Сообщение NightV »

я вообще ничего не понял по фото... рука с 2 координатами, слабенький по Z и телескоп с 2 движками!? НО это не скара!?
el.nebrey писал(а):И как сделать фитбэк не нашел
на шаговых ее нет, единственный совет, почитай теорию, серво и шаговые двигатели.
Всё просто! если знаешь КАК!
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

Позже постараюсь лучше фото сделать. Скара очень похожа, только у меня на одну координату меньше. Да Z слабый. Но это все для пенопласта, сильный не нужен.
Я так понял, что в режиме координат программе необходимо инвертировать X и Y обратно в углы поворота двигателей. А так как скара для серво построена, в ней нужды в этом нет. Значит нужно уравнения сделать обратными, и с ними прописать фидбэк.
из
pos->x = 540*sin(joints[0])+450*sin((joints[1]+joints[0]));
pos->y = 540*cos(joints[0])+450*cos((joints[1]+joints[0]))
в
joints[0] = pos->x;
joints[1] = pos->y
только тут наверное выбор будет между двумя вариантами координат, нужно еще условие добавить.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Все-таки SCARA

Сообщение Nick »

Погоди. Фидбек есть в stepgen, а не только в сервах.
У тебя он не подключен?
Хотя вот же он :

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

net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb


Чтобы не было ferror можешь поставить его в ini по больше для каждой оси.

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

Вот это поставь
FERROR = 500
MIN_FERROR = 50
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

Поставил ferror, так же ошибка осталась.

Разве может программа через этот фидбэк просчитать необходимый угол поворота двигателя, который ей только предстоит сделать?
Nick писал(а):Погоди. Фидбек есть в stepgen, а не только в сервах.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Все-таки SCARA

Сообщение Nick »

el.nebrey писал(а):Разве может программа через этот фидбэк просчитать необходимый угол поворота двигателя, который ей только предстоит сделать?
Она считает отклонение осей. Может.

Какая именно ошибка? На всех осях Ferror увеличил?
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

да, увеличил на всех.
и в двух конфигурациях.
в scara
joint 0 following error
joint 1 following error
в той которую с тривиальной начал
joint 0 following error
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Все-таки SCARA

Сообщение Nick »

Покажи еще раз последний hal...
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

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

# core HAL config file for simulation - 3 axis

# load RT modules
loadrt scarakins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt ddt count=12
###############################
loadrt stepgen step_type=0,0,0


addf stepgen.make-pulses base-thread
addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
###############################

# add motion controller functions to servo thread

addf ddt.0 servo-thread
addf ddt.1 servo-thread
addf ddt.2 servo-thread
addf ddt.3 servo-thread
addf ddt.4 servo-thread
addf ddt.5 servo-thread
addf ddt.6 servo-thread

 

    # create HAL signals for position commands from motion module
    net J0cmd <= axis.0.motor-pos-cmd => stepgen.0.position-cmd
    net J1cmd <= axis.1.motor-pos-cmd => stepgen.1.position-cmd
    net J2cmd <= axis.2.motor-pos-cmd => stepgen.2.position-cmd
    


    # loop position commands back to motion module feedback
    net J0fb => stepgen.0.position-fb => axis.0.motor-pos-fb
    net J1fb => stepgen.1.position-fb => axis.1.motor-pos-fb
    net J2fb => stepgen.2.position-fb => axis.2.motor-pos-fb
    

# send the position commands thru differentiators to
# generate velocity and accel signals
# define the signals, and hook them up




net J0pos => ddt.0.in
net J0vel <= ddt.0.out
net J0vel => ddt.1.in
net J0acc <= ddt.1.out

net J1pos => ddt.2.in
net J1vel <= ddt.2.out
net J1vel => ddt.3.in
net J1acc <= ddt.3.out

net J2pos => ddt.4.in
net J2vel <= ddt.4.out
net J2vel => ddt.5.in
net J2acc <= ddt.5.out



# estop loopback
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in

# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed

# amp control
net xena axis.0.amp-enable-out => stepgen.0.enable
net yena axis.1.amp-enable-out => stepgen.1.enable
net zena axis.2.amp-enable-out => stepgen.2.enable


# connect signals to step pulse generator outputs
net 0step <= stepgen.0.step
net 0dir  <= stepgen.0.dir
net 1step <= stepgen.1.step
net 1dir  <= stepgen.1.dir
net 2step <= stepgen.2.step
net 2dir  <= stepgen.2.dir





loadrt hal_parport cfg="0x0378"

addf parport.0.read base-thread 1

addf parport.0.write base-thread -1



# finally connect physical pins to the signals
net 0step => parport.0.pin-04-out
net 0dir  => parport.0.pin-05-out
net 1step => parport.0.pin-02-out
net 1dir  => parport.0.pin-03-out
net 2step => parport.0.pin-07-out
net 2dir  => parport.0.pin-06-out











# set stepgen module scaling - get values from ini file
setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.2.position-scale [AXIS_2]SCALE


# set stepgen module accel limits - get values from ini file
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL


net xflt axis.0.amp-fault-in
net yflt axis.1.amp-fault-in
net zflt axis.2.amp-fault-in




loadusr -W scaragui

net j0 axis.0.joint-pos-fb scaragui.joint0
net j1 axis.1.joint-pos-fb scaragui.joint1
net j2 axis.2.joint-pos-fb scaragui.joint2


setp scarakins.D1 10
setp scarakins.D2 90
setp scarakins.D3 50
setp scarakins.D4 80
setp scarakins.D5 50
setp scarakins.D6 50

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

loadrt hal_parport cfg="0x0378 out"
setp parport.0.reset-time 500
addf parport.0.read base-thread 1

addf parport.0.write base-thread -1
addf parport.0.reset base-thread
# finally connect physical pins to the signals



net 0step => parport.0.pin-01-out
setp parport.0.pin-01-out-reset 1
net 0dir  => parport.0.pin-07-out
net 1step => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net 1dir  => parport.0.pin-03-out
net 2step => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
net 2dir  => parport.0.pin-04-out


net 0ena =>    parport.0.pin-14-out
net 1ena =>  parport.0.pin-02-out 
net 2ena =>   parport.0.pin-06-out  
net 0ena => stepgen.0.enable 
net 1ena =>  stepgen.1.enable 
net 2ena => stepgen.2.enable 

# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in

# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed

# connect "spindle on" motion controller pin to a physical pin
net spindle-on motion.spindle-on => parport.0.pin-09-out

###
### You might use something like this to enable chopper drives when machine ON
### the Xen signal is defined in core_stepper.hal
###

# net Xen => parport.0.pin-01-out

###
### If you want active low for this pin, invert it like this:
###

# setp parport.0.pin-01-out-invert 1

###
### A sample home switch on the X axis (axis 0).  make a signal,
### link the incoming parport pin to the signal, then link the signal
### to EMC's axis 0 home switch input pin
###

# net Xhome parport.0.pin-10-in => axis.0.home-sw-in

###
### Shared home switches all on one parallel port pin?
### that's ok, hook the same signal to all the axes, but be sure to 
### set HOME_IS_SHARED and HOME_SEQUENCE in the ini file.  See the
### user manual!
###

# net homeswitches <= parport.0.pin-10-in
# net homeswitches => axis.0.home-sw-in
# net homeswitches => axis.1.home-sw-in
# net homeswitches => axis.2.home-sw-in

###
### Sample separate limit switches on the X axis (axis 0)
###

# net X-neg-limit parport.0.pin-11-in => axis.0.neg-lim-sw-in
# net X-pos-limit parport.0.pin-12-in => axis.0.pos-lim-sw-in

###
### Just like the shared home switches example, you can wire together
### limit switches.  Beware if you hit one, EMC will stop but can't tell
### you which switch/axis has faulted.  Use caution when recovering from this.
###

# net Xlimits parport.0.pin-13-in => axis.0.neg-lim-sw-in axis.0.pos-lim-sw-in

это по скаре


и вот по стандартной

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

# Generated by stepconf 1.1 at Sun Sep 20 20:44:13 2015
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt scarakins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt probe_parport
loadrt hal_parport cfg="0x378 out"
setp parport.0.reset-time 500
loadrt stepgen step_type=0,0,0

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= motion.spindle-speed-out
net spindle-at-speed => motion.spindle-at-speed

net xstep => parport.0.pin-01-out
setp parport.0.pin-01-out-reset 1
net xenable => parport.0.pin-02-out
net ydir => parport.0.pin-03-out
net zdir => parport.0.pin-04-out
net zstep => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
net xenable => parport.0.pin-06-out
setp parport.0.pin-07-out-invert 1
net xdir => parport.0.pin-07-out
net ystep => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net xenable => parport.0.pin-14-out
net home-x <= parport.0.pin-10-in
net home-y <= parport.0.pin-11-in
net home-z <= parport.0.pin-12-in



setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 11000
setp stepgen.0.dirsetup 11000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net home-x => axis.0.home-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 11000
setp stepgen.1.dirsetup 11000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net home-y => axis.1.home-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 11000
setp stepgen.2.dirsetup 11000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable
net home-z => axis.2.home-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Все-таки SCARA

Сообщение Nick »

el.nebrey писал(а):
# set stepgen module scaling - get values from ini file
setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.2.position-scale [AXIS_2]SCALE


# set stepgen module accel limits - get values from ini file
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
А чего максимальная скорость не задана?
Двигатели вообще двигаются?
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

Но в том hal, который через stapconf сделан эти строчки точно так же выглядят. Или не туда смотрю?

В скаре и правда почти не двигаются, но пытаются. Настройку шагов там еще почти не трогал, думал разобраться с этим, когда более серьезные проблемы будут ликвидированы.
Они в скаре по прежнему странно работают. При ручном движении оси 0, в одну и другую сторону, влючается и выключается двигатель 2, соответственно. Это я вообще не понимаю в какое место смотреть.
Аватара пользователя
NightV
Почётный участник
Почётный участник
Сообщения: 6610
Зарегистрирован: 30 дек 2011, 09:14
Репутация: 2279
Настоящее имя: Владимир Айрапетян
Откуда: Israel
Контактная информация:

Re: Все-таки SCARA

Сообщение NightV »

el.nebrey, извиняюсь, сейчас дошло... нижний двиг, это поворотная ось, а не линейная :hehehe:
но причем тут кинематика SCARA? там нет поворотных осей, только линейные... ито все по вертикали :hehehe:
Всё просто! если знаешь КАК!
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

как же, даже визуализация манипулятора scara демонстрирует что оcи 0 и 1 поворотные, а 2 уже линейная и вертикальная. все один в один, как у меня.
Последний раз редактировалось el.nebrey 23 сен 2015, 12:23, всего редактировалось 1 раз.
el.nebrey
Новичок
Сообщения: 31
Зарегистрирован: 19 сен 2015, 13:50
Репутация: 2
Настоящее имя: Алексей Сергеевич Вазлёв
Контактная информация:

Re: Все-таки SCARA

Сообщение el.nebrey »

пенорезка.jpg (2556 просмотров) <a class='original' href='./download/file.php?id=58607&mode=view' target=_blank>Загрузить оригинал (155.45 КБ)</a>
вот тут лучше видно
Ответить

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