5i23+2x7i47+7i42TA

Работа с платами MESA, подключение, конфигурация.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение nkp »

sysrover писал(а):Второй нужно будет создавать какимто хитрым способом.
как отдельная ось ...
даже наверно не как ось - а как отдельный stepgen(управление из ж-кда : enable и vel)
если нужна работа обоих одновременно...
если нет - коммутацией пинов "переключаться между Sp1 и Sp2
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Нужна будет работа обоих при отрезке а дальше работа одного.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение nkp »

sysrover писал(а):Нужна будет работа обоих при отрезке а дальше работа одного.
а если разрулить шпиндели не на уровне Hal, а "электрически" ;)
подключен Sp1
работаем...
перехватились
подключили на единый выход оба шпинделя Sp1+Sp2 (я так понял "прямое" вращение
для Sp1 это "обратное" для Sp2)
отрезаем (обороты одинаковы)
отключаем Sp1 (оставляем подключеным Sp2)
=============
можно пользоваться только кодами M3,M4,M5 ...
а можно добавить коды для второго шпинделя...
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Мне кажется правильнее будет подключать отдельно шпиндели без общей физической завязки.
Просто интересно, а как это сделано на проф станках. Там наверное есть М команды для обоих шпинделей и скорость для них.
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Поискал на форуме по linuxcnc нашол тему Ника про 2 шпинделя :)
http://www.linuxcnc.org/index.php/engli ... t-spindles
и еще одна тема http://www.linuxcnc.org/index.php/engli ... nd-spindle
В общем идея такая сделать специальные М команды для соединения шпинделей или переключения между ними.
Тоесть будет 3 команды первый шпиндель, второй, и два вместе для отрезки и перехвата.
Теперь главный вопрос как это сделать, потому что пока не понима как в хале это писать и в М командах.
На сколько я понял нужно будет переключать или подключать степген к определенным выводам которые завязны на мои шпиндели.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

sysrover писал(а):Еще сравнил четкость и плавность просто на степдире и с ПИДом.
А как ты измерял четкость при управлении по step/dir? есть график показаний с энкодера, такой же как для случая с ПИД?
Может она плавнее едет, но промахивается не хуже...
sysrover писал(а):Теперь главный вопрос как это сделать, потому что пока не понима как в хале это писать и в М командах.
Опиши, какие процедуры будут нужны.
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

На степдире нету колебаний после остановки мотора. Вообще почти никаких. А с пидом есть немного но это инерция.
Я подключил еще один двигатель там уже опорные подшипники. И уменьшил акселерацию немного, стало плавнее стартовать и стартовые пики упали до сотки. Думаю когда будет на станке они вообще пропадут.
Теперь по процедуре.
На сколько я наблюдал на проф станках там к примеру когда нужно перехватить первый шпиндель не выключается и запускается второй.
Синхронизируются по оборотам.
Хватает деталь вторым шпинделем и отрезает.
Потом работает со вторым шпинделем отдельно.
Но на сколько я понимаю там 2 компа скорее так как шпинделя работают паралельно и команды выполняются паралельно.

В нашем случае думаю отдельно запускать шпиндели и работать ими отдельно будет сложно.
По этому нужно будет переключать степген на пины.
Тоесть когда нам нужно отрезать мы останавливаем шпиндель.
Дальше командой М103 соединяем степдиры обоих серв только дир в противополоржности.
Запускаем отрезаем.
Останавливаем.
Переключаем пины на нужную нам серву и продолжаем работать.

О
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Создал еще один степген для шпинделя теперь 2 шпинделя крутятся одновременно завязал их на один вариант.
Теперь как сделать чтобы они крутились в разные стороны и как в М командах сделать переключение шпинделей и включение их вместе.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение nkp »

sysrover писал(а):Создал еще один степген для шпинделя теперь 2 шпинделя крутятся одновременно завязал их на один вариант.Теперь как сделать чтобы они крутились в разные стороны и как в М командах сделать переключение шпинделей и включение их вместе.
то есть первый шпиндель будет "нормальные" команды понимать - M3,4,5 ?
а второй включаться по отдельной М-команде ? так?
========
для ясности лучше увидеть оба шпинделя на сейчас в хал...
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Вернулся почитал начало темы про мой прутковый автомат.
Там НИК расписывает переключение шпинделей.
Муть ваще ниче непонятно.
Щас сделал 2 степгена на шпиндели и залинкал их на один. При команде крутятся оба. Если их переклчать с остановкой то просто в кастомной М команде моно делать анлинк того или иного шпинделя или линковать оба.
Пока это как самый простой способ. Щас бы еще разобраться как их включить в хале в разные стороны. Можно конешно дир поменять местами физически у одной сервы. И они всегда будут крутиться в разные стороны.
Все зависит от того какие резцы и как ставить может так и удобнее будет.
Если есть какойто вариант сделать красиво без остановки шпинделей. Так чтобы второй шпиндель набрал такиеже обороты как и первый и потом делать перехват детали.
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

nkp
Нет просто есть стандартные команды м3,4,5, а через доп команды просто перекидывать использование 1 или 2 шпинделей.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение PKM »

sysrover писал(а):Если есть какойто вариант сделать красиво без остановки шпинделей. Так чтобы второй шпиндель набрал такиеже обороты как и первый и потом делать перехват детали.
Может как-то так?
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение 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
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение 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) синхронны ли шпиндели - если нет - авост).
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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

Re: 5i23+2x7i47+7i42TA

Сообщение 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
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

В общем китайская грамота.
Для меня пока это все звучит возьми "№;"№К!"№? вставсь в №(Й?№(;? и получишь "№%*(№%"(№ mux2
Не болие.
В общем ищу по интернету схожую проблему и буду разбираться.
Вообще я так понимаю ман по linuxcnc был сделан для разработчиков linuxcnc а не для людей.
Понимая как все работает ман для тебя понятен.
Но если ты начинаешь по чуть работать с халом то хрен ты какие данные почерпнешь.
Тебе дают голые описания функций без примеров применения в разных вариантах.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение 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
Так понятнее?
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

sysrover писал(а):Как хал понимает какой пин in , а какой out ? единственное различие это только в стрелках, но там написано что они только информативны.
hal это знает от компонента. Все пины это "ножки компонентов".
А ты это знаешь из документации.
Ты когда драйвера соединяешь, тебе всеравно какой конец провода сначала подсоединить, так и тут.
sysrover писал(а):Суть что у нас есть физические ноги их мы можем нацеплять немеряно, есть абстрактные понятия самой среды типа всяких скоростей и тд к ним мы можем прицепить эти ноги.
но больше никакой ясности.
Все правильно. Больше ничего не надо. Осталось набрать набор нужных компонентов и прицепить нужные пины.
Набор я тебе описал в общих чертах.
Ответить

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