5i23+2x7i47+7i42TA

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Такс опять дебри опять бред.
Для начала у нас есть 2 степгена. Каждый настроен на свой мотор.
У нас есть пины шпинделя и вообще шпиндель в линуксцнц.
Вот код

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

# 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

# ---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
строки

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

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

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

sysrover писал(а):net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd
подключаем пин hm2_5i23.0.stepgen.01.velocity-cmd к сигналу spindle-vel-cmd-rps.
можешь посмотреть за одно, какие пины к нему еще подключены ;).(сам сигнал ничего не делает и ничего не значит его можно назвать как угодно например s0001)

Комментируешь эту строчку (#).
встраиваем mux2

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

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd
------------------

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

Нет там муксов не подключено.
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 »

sysrover писал(а):ну судя по твоей строке мы сделали новый сигнал с приставкой мукс и подключили к его ауту степген а к ин прежний сигнал
нет. Мы:
1. присоединили старый сигнал к mux2.0.in1
2. создали новый сигнал.
3. присоединили кнему mux2.0.out и hm2_5i23.0.stepgen.01.velocity-cmd


Вот по компонентам:
http://www.cnc-club.ru/wiki/index.php/% ... %D1%8B_hal

Тебе надо загрузить два mux2 и добавить их к servo-thread, т.е.

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

loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread
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 »

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

окей
так ?
net spindle-vel-cmd-rps => mux2.1.in1
net spindle-vel-cmd-rps-mux <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd

или так

net spindle-vel-cmd-rps => mux2.1.in1
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd
?
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

Больше похож второй вариант :)

net spindle-vel-cmd-rps => mux2.1.in1
net spindle-vel-cmd-rps-mux1 это правильно - значение другое = сигнал другой <= mux2.1.out => hm2_5i23.0.stepgen.00 .velocity-cmd
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

нужно подключить пин mux2.1.sel к motion.digital-out-00 почитай в описаниик G62.
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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



loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

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

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.01.enable
#net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.1.in1 
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd


mux2.0.out <= motion.digital-out-00
mux2.1.out <= motion.digital-out-01

net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.velocity-fb


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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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

Re: 5i23+2x7i47+7i42TA

Сообщение Nick »

sysrover писал(а):mux2.0.out <= motion.digital-out-00
mux2.1.out <= motion.digital-out-01
Так, только где вот это:
net название_сигнала пин [пин [пин] [...]]]
И пин не mux2.0.out, а sel!
sysrover писал(а):самое интересное что я нихрена не понимаю что я делаю и как работает этот М62 и как работает этот мукс и куда что оно по результату даст.
М64 P0 включает motion.digital-out-00 => он включает mux2.0.sel => от этого mux2 передает свой второй пин на свой выход => включает шпиндель
М65 P0 выключает motion.digital-out-00 => он ...

M64 P- - turn on digital output immediately. The P- word specifies the digital output number.
M65 P- - turn off digital output immediately. The P- word specifies the digital output number.

Вот что делает mux2:
http://linuxcnc.org/docs/html/man/man9/mux2.9.html#NAME
sysrover
Мастер
Сообщения: 433
Зарегистрирован: 23 янв 2012, 16:32
Репутация: 90
Откуда: Украина Житомир
Контактная информация:

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

net spindle1-on motion.digital-out-00 => mux2.0.sel
net spindle2-on motion.digital-out-01 => mux2.1.sel

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

теперь понял что такое мукс и как он работает
для чайника переключатель между двумя положениями.


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


 

loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

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

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.01.enable
net machine-is-enabled          =>  hm2_5i23.0.stepgen.00.enable
#net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.1.in1 
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd


net spindle1-on motion.digital-out-00 => mux2.0.sel
net spindle2-on motion.digital-out-01 => mux2.1.sel

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

Re: 5i23+2x7i47+7i42TA

Сообщение sysrover »

В общем разобрался спасибо Ник
Управление шпинделями и скоростью как обычно m3 m4 m5 S
А через M64 включаем выключаем тот или иной шпиндель
M64 P0 включает 1 шпиндель
M65 P0 выключает 1 шпиндель
M64 P1 включает второй

вот кусок хала и кусок ини

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


loadrt mux2 count=2
addf mux2.0 servo-thread
addf mux2.1 servo-thread

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

setp   hm2_5i23.0.stepgen.00.dirsetup        [SPINDLE_8]DIRSETUP
setp   hm2_5i23.0.stepgen.00.dirhold         [SPINDLE_8]DIRHOLD
setp   hm2_5i23.0.stepgen.00.steplen         [SPINDLE_8]STEPLEN
setp   hm2_5i23.0.stepgen.00.stepspace       [SPINDLE_8]STEPSPACE
setp   hm2_5i23.0.stepgen.00.position-scale  [SPINDLE_8]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_8]MAX_ACCELERATION
setp   hm2_5i23.0.stepgen.00.maxvel           [SPINDLE_8]MAX_VELOCITY

net machine-is-enabled          =>  hm2_5i23.0.stepgen.01.enable
net machine-is-enabled          =>  hm2_5i23.0.stepgen.00.enable
#net spindle-vel-cmd-rps     =>  hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.0.in1 
net spindle-vel-cmd-rps-mux <= mux2.0.out => hm2_5i23.0.stepgen.01.velocity-cmd

net spindle-vel-cmd-rps     =>  mux2.1.in1 
net spindle-vel-cmd-rps-mux1 <= mux2.1.out => hm2_5i23.0.stepgen.00.velocity-cmd


net spindle1-on motion.digital-out-00 => mux2.0.sel
net spindle2-on motion.digital-out-01 => mux2.1.sel

net spindle-vel-fb         <=  hm2_5i23.0.stepgen.01.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

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

#********************
# Spindle 
#********************
[SPINDLE_9]
MAX_VELOCITY = 33.3333333333
MAX_ACCELERATION = 40.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 41.7
STEPGEN_MAXACCEL = 50.0
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = 10000.0

[SPINDLE_8]
MAX_VELOCITY = 33.3333333333
MAX_ACCELERATION = 40.0
# The values below should be 25% larger than MAX_VELOCITY and MAX_ACCELERATION
# If using BACKLASH compensation STEPGEN_MAXACCEL should be 100% larger.
STEPGEN_MAXVEL = 41.7
STEPGEN_MAXACCEL = 50.0
# these are in nanoseconds
DIRSETUP   = 1000
DIRHOLD    = 1000
STEPLEN    = 1000
STEPSPACE  = 1000
STEP_SCALE = -10000.0

Ответить

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