Страница 7 из 18
Re: 5i23+2x7i47+7i42TA
Добавлено: 20 июл 2015, 12:38
nkp
sysrover писал(а):Второй нужно будет создавать какимто хитрым способом.
как отдельная ось ...
даже наверно не как ось - а как отдельный stepgen(управление из ж-кда : enable и vel)
если нужна работа обоих одновременно...
если нет - коммутацией пинов "переключаться между Sp1 и Sp2
Re: 5i23+2x7i47+7i42TA
Добавлено: 20 июл 2015, 13:14
sysrover
Нужна будет работа обоих при отрезке а дальше работа одного.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 07:14
nkp
sysrover писал(а):Нужна будет работа обоих при отрезке а дальше работа одного.
а если разрулить шпиндели не на уровне Hal, а "электрически"
подключен Sp1
работаем...
перехватились
подключили на единый выход оба шпинделя Sp1+Sp2 (я так понял "прямое" вращение
для Sp1 это "обратное" для Sp2)
отрезаем (обороты одинаковы)
отключаем Sp1 (оставляем подключеным Sp2)
=============
можно пользоваться только кодами M3,M4,M5 ...
а можно добавить коды для второго шпинделя...
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 09:40
sysrover
Мне кажется правильнее будет подключать отдельно шпиндели без общей физической завязки.
Просто интересно, а как это сделано на проф станках. Там наверное есть М команды для обоих шпинделей и скорость для них.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 10:50
sysrover
Поискал на форуме по linuxcnc нашол тему Ника про 2 шпинделя
http://www.linuxcnc.org/index.php/engli ... t-spindles
и еще одна тема
http://www.linuxcnc.org/index.php/engli ... nd-spindle
В общем идея такая сделать специальные М команды для соединения шпинделей или переключения между ними.
Тоесть будет 3 команды первый шпиндель, второй, и два вместе для отрезки и перехвата.
Теперь главный вопрос как это сделать, потому что пока не понима как в хале это писать и в М командах.
На сколько я понял нужно будет переключать или подключать степген к определенным выводам которые завязны на мои шпиндели.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 11:17
Nick
sysrover писал(а):Еще сравнил четкость и плавность просто на степдире и с ПИДом.
А как ты измерял четкость при управлении по step/dir? есть график показаний с энкодера, такой же как для случая с ПИД?
Может она плавнее едет, но промахивается не хуже...
sysrover писал(а):Теперь главный вопрос как это сделать, потому что пока не понима как в хале это писать и в М командах.
Опиши, какие процедуры будут нужны.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 14:09
sysrover
На степдире нету колебаний после остановки мотора. Вообще почти никаких. А с пидом есть немного но это инерция.
Я подключил еще один двигатель там уже опорные подшипники. И уменьшил акселерацию немного, стало плавнее стартовать и стартовые пики упали до сотки. Думаю когда будет на станке они вообще пропадут.
Теперь по процедуре.
На сколько я наблюдал на проф станках там к примеру когда нужно перехватить первый шпиндель не выключается и запускается второй.
Синхронизируются по оборотам.
Хватает деталь вторым шпинделем и отрезает.
Потом работает со вторым шпинделем отдельно.
Но на сколько я понимаю там 2 компа скорее так как шпинделя работают паралельно и команды выполняются паралельно.
В нашем случае думаю отдельно запускать шпиндели и работать ими отдельно будет сложно.
По этому нужно будет переключать степген на пины.
Тоесть когда нам нужно отрезать мы останавливаем шпиндель.
Дальше командой М103 соединяем степдиры обоих серв только дир в противополоржности.
Запускаем отрезаем.
Останавливаем.
Переключаем пины на нужную нам серву и продолжаем работать.
О
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 21:52
sysrover
Создал еще один степген для шпинделя теперь 2 шпинделя крутятся одновременно завязал их на один вариант.
Теперь как сделать чтобы они крутились в разные стороны и как в М командах сделать переключение шпинделей и включение их вместе.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 22:23
nkp
sysrover писал(а):Создал еще один степген для шпинделя теперь 2 шпинделя крутятся одновременно завязал их на один вариант.Теперь как сделать чтобы они крутились в разные стороны и как в М командах сделать переключение шпинделей и включение их вместе.
то есть первый шпиндель будет "нормальные" команды понимать - M3,4,5 ?
а второй включаться по отдельной М-команде ? так?
========
для ясности лучше увидеть оба шпинделя на сейчас в хал...
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 22:34
sysrover
Вернулся почитал начало темы про мой прутковый автомат.
Там НИК расписывает переключение шпинделей.
Муть ваще ниче непонятно.
Щас сделал 2 степгена на шпиндели и залинкал их на один. При команде крутятся оба. Если их переклчать с остановкой то просто в кастомной М команде моно делать анлинк того или иного шпинделя или линковать оба.
Пока это как самый простой способ. Щас бы еще разобраться как их включить в хале в разные стороны. Можно конешно дир поменять местами физически у одной сервы. И они всегда будут крутиться в разные стороны.
Все зависит от того какие резцы и как ставить может так и удобнее будет.
Если есть какойто вариант сделать красиво без остановки шпинделей. Так чтобы второй шпиндель набрал такиеже обороты как и первый и потом делать перехват детали.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 22:35
sysrover
nkp
Нет просто есть стандартные команды м3,4,5, а через доп команды просто перекидывать использование 1 или 2 шпинделей.
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 23:02
PKM
sysrover писал(а):Если есть какойто вариант сделать красиво без остановки шпинделей. Так чтобы второй шпиндель набрал такиеже обороты как и первый и потом делать перехват детали.
Может как-то
так?
Re: 5i23+2x7i47+7i42TA
Добавлено: 21 июл 2015, 23:11
sysrover
Непонятно вообще. Просто для меня большая часть хала пока непонятна. Если есть возможность описать то подскажите.
Щас добавл сюда кусок хала как я подключил шпинделя.
Код: Выделить всё
# Step Gen signals/setup
setp hm2_5i23.0.stepgen.01.dirsetup [SPINDLE_9]DIRSETUP
setp hm2_5i23.0.stepgen.01.dirhold [SPINDLE_9]DIRHOLD
setp hm2_5i23.0.stepgen.01.steplen [SPINDLE_9]STEPLEN
setp hm2_5i23.0.stepgen.01.stepspace [SPINDLE_9]STEPSPACE
setp hm2_5i23.0.stepgen.01.position-scale [SPINDLE_9]STEP_SCALE
setp hm2_5i23.0.stepgen.01.step_type 0
setp hm2_5i23.0.stepgen.01.control-type 1
setp hm2_5i23.0.stepgen.01.maxaccel [SPINDLE_9]MAX_ACCELERATION
setp hm2_5i23.0.stepgen.01.maxvel [SPINDLE_9]MAX_VELOCITY
net machine-is-enabled => hm2_5i23.0.stepgen.01.enable
net spindle-vel-cmd-rps => hm2_5i23.0.stepgen.01.velocity-cmd
net spindle-vel-fb <= hm2_5i23.0.stepgen.01.velocity-fb
setp hm2_5i23.0.stepgen.00.dirsetup [SPINDLE_9]DIRSETUP
setp hm2_5i23.0.stepgen.00.dirhold [SPINDLE_9]DIRHOLD
setp hm2_5i23.0.stepgen.00.steplen [SPINDLE_9]STEPLEN
setp hm2_5i23.0.stepgen.00.stepspace [SPINDLE_9]STEPSPACE
setp hm2_5i23.0.stepgen.00.position-scale [SPINDLE_9]STEP_SCALE
setp hm2_5i23.0.stepgen.00.step_type 0
setp hm2_5i23.0.stepgen.00.control-type 1
setp hm2_5i23.0.stepgen.00.maxaccel [SPINDLE_9]MAX_ACCELERATION
setp hm2_5i23.0.stepgen.00.maxvel [SPINDLE_9]MAX_VELOCITY
net machine-is-enabled => hm2_5i23.0.stepgen.00.enable
net spindle-vel-cmd-rps => hm2_5i23.0.stepgen.00.velocity-cmd
#net spindle-vel-fb <= hm2_5i23.0.stepgen.00.velocity-fb
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-on <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 09:52
Nick
sysrover писал(а):Просто для меня большая часть хала пока непонятна.
HAL это просто "соединение проводками" пинов компонентов. Думай о компонентах hal как, напрмер, о драйверах шаговиков или серв, пины - контакты на клеммах, и ты просто соединяешь их между собой.
http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_hal
sysrover писал(а):В нашем случае думаю отдельно запускать шпиндели и работать ими отдельно будет сложно.
По этому нужно будет переключать степген на пины.
Тоесть когда нам нужно отрезать мы останавливаем шпиндель.
Дальше командой М103 соединяем степдиры обоих серв только дир в противополоржности.
Запускаем отрезаем.
Останавливаем.
Переключаем пины на нужную нам серву и продолжаем работать.
Как мне кажется надо:
1. Код для вкл/выкл шпинделей.
2. Пин для отслеживания синхронизации.
... наверное все

.
Как синхронизовать шпиндели: подаем на них одно и тоже задание. (при этом у одного stepgen scale отрицательный).
Как включать шпиндели: у каждого stepgen есть пин enable. (хотя... так он будет резко останавливаться... ) Лучше через mux2. Итак, подаем задание на шпиндели не напрямую, а через два mux2.
(
http://linuxcnc.org/docs/html/man/man9/mux2.9.html#NAME)
задание -> mux2.in -> mux2.out -> stepgen.vel-cmd
Включаем шпиндель путем переключения mux2.[номер шпинделя].sel, это можно сделать через motion.digital-out и Gкод G62-65
http://linuxcnc.org/docs/html/gcode/m-c ... ec:M62-M65
Теперь синхронизация. Чтобы определить, что шпиндели синхронизированы надо сравнить их скорости. Сделать это можно через обратную связь, или от энкокдеров, или от stepgen. Сравниваются пины через компонент near
http://linuxcnc.org/docs/html/man/man9/near.9.html#NAME
Т.е. ему на вход скорости шпинделей, на выходе будет синхронны они или нет. Чтобы сделать ожидание синхронизации, надо воспользоваться кодом M66 (
http://linuxcnc.org/docs/html/gcode/m-c ... ut-Control) и в нем назначить режим - ожидания высокого уровня (там же можно задать время ожидания, скажем 20 секунд, и потом проверить (через O... IF) синхронны ли шпиндели - если нет - авост).
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 10:55
sysrover
Ник нигде нету хоть какихто примеров применения эти Муксов ?
А то заниматься методом научного тыка команд в хал это не продуктивно.
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 10:58
Nick
mux2 передает на выход один из двух своих входов.
in1 -> out если sel=0
in2 -> out если sel=1
На один вход подаешь задание, на второй - ничего (по умолчанию ноль) (но лучше явно задать его значение setp mux2.0.in2 0)
http://www.cnc-club.ru/forum/search.php?keywords=mux2
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 12:02
sysrover
В общем китайская грамота.
Для меня пока это все звучит возьми "№;"№К!"№? вставсь в №(Й?№(;? и получишь "№%*(№%"(№ mux2
Не болие.
В общем ищу по интернету схожую проблему и буду разбираться.
Вообще я так понимаю ман по linuxcnc был сделан для разработчиков linuxcnc а не для людей.
Понимая как все работает ман для тебя понятен.
Но если ты начинаешь по чуть работать с халом то хрен ты какие данные почерпнешь.
Тебе дают голые описания функций без примеров применения в разных вариантах.
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 12:08
Nick
Конфигурация у тебя будет не простая, лучше вникни хотя бы чуть чуть в то, как работает hal.
Что именно тебе не понятно?
Вот это прочитал?
http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_hal
Осознал?
sysrover писал(а):Для меня пока это все звучит возьми "№;"№К!"№? вставсь в №(Й?№(;? и получишь "№%*(№%"(№ mux2
Для меня пока это все звучит возьми
задание шпинделю - это такой пин motion.что-то там (можешь посмотреть, он у тебя сейчас подключен к твоему stepgen от шпинделя в файле hal ищешь stepgen.[номер] и среди всего разнообразия выбираешь что-то с velocity) вставсь в
отсоединяем его (стираем или комментируем строчку подключения этого пина) и получишь
и вставляем между этим пином компонент mux2
чтобы получилось пин задания -> mux2.0.in1 и mux2.0.out -> stepgen.velocity-cmd
Так понятнее?
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 12:41
sysrover
В общем начнемё
По википедии что ты сбросил.
Как хал понимает какой пин in , а какой out ? единственное различие это только в стрелках, но там написано что они только информативны.
Суть что у нас есть физические ноги их мы можем нацеплять немеряно, есть абстрактные понятия самой среды типа всяких скоростей и тд к ним мы можем прицепить эти ноги.
но больше никакой ясности.
Re: 5i23+2x7i47+7i42TA
Добавлено: 22 июл 2015, 12:50
Nick
sysrover писал(а):Как хал понимает какой пин in , а какой out ? единственное различие это только в стрелках, но там написано что они только информативны.
hal это знает от компонента. Все пины это "ножки компонентов".
А ты это знаешь из документации.
Ты когда драйвера соединяешь, тебе всеравно какой конец провода сначала подсоединить, так и тут.
sysrover писал(а):Суть что у нас есть физические ноги их мы можем нацеплять немеряно, есть абстрактные понятия самой среды типа всяких скоростей и тд к ним мы можем прицепить эти ноги.
но больше никакой ясности.
Все правильно. Больше ничего не надо. Осталось набрать набор нужных компонентов и прицепить нужные пины.
Набор я тебе описал в общих чертах.