Коробка шпинделя. (4-х скоростная) Нужен совет!
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Коробка шпинделя. (4-х скоростная) Нужен совет!
Доброго времени суток, друзья!!
Анализировал топик Коробка шпинделя.. Нужны советы!) но что-то не могу осилить свою конфигурацию: 4-х скоростную коробку передач.
Вот исходные данные, но они возможно потом немного поменяются.
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (4 диапазона)
- положение блоков шестерён определяется датчиками, активное состояние которых "0"
- Привод шпинделя - двигатель постоянного тока, возможно потребуется изменение скорости в пределах этих 4-х диапазонов (но это не первостепенная задача)
Вопросы нашему обществу, посоветуйте
1) философию подхода к решению данной задачи. (CL или средствами .comp и других разных костылей)
2) возможно вопросов будет куча - поэтому буду задавать по мере поступления.... или не буду вообще))
Заранее благодарен за понимание.
Анализировал топик Коробка шпинделя.. Нужны советы!) но что-то не могу осилить свою конфигурацию: 4-х скоростную коробку передач.
Вот исходные данные, но они возможно потом немного поменяются.
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (4 диапазона)
- положение блоков шестерён определяется датчиками, активное состояние которых "0"
- Привод шпинделя - двигатель постоянного тока, возможно потребуется изменение скорости в пределах этих 4-х диапазонов (но это не первостепенная задача)
Вопросы нашему обществу, посоветуйте
1) философию подхода к решению данной задачи. (CL или средствами .comp и других разных костылей)
2) возможно вопросов будет куча - поэтому буду задавать по мере поступления.... или не буду вообще))
Заранее благодарен за понимание.
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Получается, что для переключения этих диапазона будет применяться команда типа M111-M114 ?
Где в данных М11х будут описываться действия...
Где в данных М11х будут описываться действия...
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
а как переключаются передачи - вручную?jo_key писал(а):к решению данной задачи
если да - то так ли нужны команды М... ??
я про то ,что стоит задача всего лишь "сделать" соответствие задаваемых оборотов и
фактических...
(это всё - если переключаем руками)
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
переключение будет в автоматическом режиме по М-коду
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
В ближайшее время опишу полностью процесс переключения. но они сходны с 2-х скоростными коробками..
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
есть такой пример:
дополнить его командами для пинов включения передач ...
ну и контроль реального включения через какую нибудь логику (and ,...)
Код: Выделить всё
!/bin/bash
## sets scale gain to make output speed accurate
## for each of 4 pulley settings
if [ ! $# -ge 1 ]; then
echo "Usage: M101 n - where n is speed range 1 - 4"
exit 1
fi
float=$1
int=${float/\.*}
case $int in
1 ) halcmd setp scale.0.gain 0.595;;
# accurate at 1200 in M4 for turning
2 ) halcmd setp scale.0.gain 1.16;;
# accurate at 600 in M4 for turning
3 ) halcmd setp scale.0.gain 2.175;;
# accurate at 300 in M3 for threading
4 ) halcmd setp scale.0.gain 4.3;;
# accurate at 150 in M3 for threading
esac
exit 0ну и контроль реального включения через какую нибудь логику (and ,...)
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Вери сенкс....пошел усваивать написанное...))
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
" Linux CNC - наше всё"
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
а если 800 об\мин можно выбрать в двух диапазонах(или в трех) - тогда как?Dmaster писал(а):А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Вероятнее всего скорости и положение шестерен будут выбираться из УП.... но это еще не факт...
а как он определяет положение блока шестерен??Dmaster писал(а):А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Так вы сказали, что есть концевики
" Linux CNC - наше всё"
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Коллеги! Предоставляю более развернутую задачу по КС. Заранее простите за глупые вопросы, но они буду такими:
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (4 диапазона)
- положение блоков шестерён (БШ) определяется датчиками, активное состояние которых "0" (К1-К4)
- Перемещение БШ осуществляется гидроцилиндрами, через золотники (3-6)
- При переключении КС необходимо также необходимо использовать ограничение момента двигателя.
Из всего этого мы мы имеем:
5 выходов (4 золотника и ограничитель момента) и 4 входа (концевики положения БШ)
Принцип работы хочется таковой:
при получения команды M41-M44 или M141-M144 задается скорость вращения шпинделя 20-30 об-мин и вкл. реле ограничения момента привода шпинделя
при команде Мх41 (1 диапазон) включаются золотники 3 и 4 и действуют до срабатывания концевиков 1 и 3 (акт состояние "0") после срабатывания концевиков не отключаем золотники (установить таймер на 1 сек), что бы шестерни зашли в полное зацепление. после - считаем что переключение произошло успешно и снимаем сигнал с золотников.
соответсвенно при Мх42 золотники 4 и 5, концевики 3 и 2
соответсвенно при Мх43 золотники 3 и 6, концевики 1 и 4
соответсвенно при Мх44 золотники 4 и 6, концевики 3 и 4
сообсна вопрос - как лучше реализовать такой алгоритм переключения?
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (4 диапазона)
- положение блоков шестерён (БШ) определяется датчиками, активное состояние которых "0" (К1-К4)
- Перемещение БШ осуществляется гидроцилиндрами, через золотники (3-6)
- При переключении КС необходимо также необходимо использовать ограничение момента двигателя.
Из всего этого мы мы имеем:
5 выходов (4 золотника и ограничитель момента) и 4 входа (концевики положения БШ)
Принцип работы хочется таковой:
при получения команды M41-M44 или M141-M144 задается скорость вращения шпинделя 20-30 об-мин и вкл. реле ограничения момента привода шпинделя
при команде Мх41 (1 диапазон) включаются золотники 3 и 4 и действуют до срабатывания концевиков 1 и 3 (акт состояние "0") после срабатывания концевиков не отключаем золотники (установить таймер на 1 сек), что бы шестерни зашли в полное зацепление. после - считаем что переключение произошло успешно и снимаем сигнал с золотников.
соответсвенно при Мх42 золотники 4 и 5, концевики 3 и 2
соответсвенно при Мх43 золотники 3 и 6, концевики 1 и 4
соответсвенно при Мх44 золотники 4 и 6, концевики 3 и 4
сообсна вопрос - как лучше реализовать такой алгоритм переключения?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
"красивей" всего написать компонент под эту коробку...
но можно попытаться и ладдером разрулить...
-------------- я так - попробовал,нужно конечно поподправлять))
используем remap:
в ини
файлы m41.ngc,m42.ngc,m43.ngc,m44.ngc в папку со всеми жкодами
они такого вида:
файл ладдера:
в хал:
если вызываем М41 , в нем строкой
через пин motion.digital-out-01
включаем classicladder.0.in-01,
а он уже "включает" выходы Q3,Q4 ну и так далее: входы для датчиков: I11,I12,I13,I14
если пара датчиков сработала,только тогда выдается сигнал на соответствующий выход(Q11-Q14)
а с него на пины motion.digital-in-01-motion.digital-in-04 ,
которые ждет M66 в наших файлах m41.ngc - m44.ngc
но можно попытаться и ладдером разрулить...
-------------- я так - попробовал,нужно конечно поподправлять))
используем remap:
в ини
Код: Выделить всё
[RS274NGC]
REMAP=M41 modalgroup=10 ngc=m41
REMAP=M42 modalgroup=10 ngc=m42
REMAP=M43 modalgroup=10 ngc=m43
REMAP=M44 modalgroup=10 ngc=m44они такого вида:
Код: Выделить всё
o<m42>sub
M5
M65 P1 ; деактивируем P1
M65 P3 ; деактивируем P3
M65 P4 ; деактивируем P4
S20 M3 ; включаем нужные обороты
M64 P0 ; включаем реле момента
M64 P2 ;включаем 2 ступень
M66 P2 L0 Q60
o100 if[#5399 eq -1]
(debug, !!)
m0
o100 endif
M65 P0
M5
o<m42>endsubКод: Выделить всё
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES num_dio=12 num_aio=12
#######Ladder##################################################################################
loadrt classicladder_rt numPhysInputs=25 numPhysOutputs=25 numS32in=10 numS32out=10 numFloatIn=10 numFloatOut=10
loadusr classicladder 4.clp
addf classicladder.0.refresh servo-thread
#######Ladder##################################################################################
net m64p1 motion.digital-out-01 classicladder.0.in-01
net m64p2 motion.digital-out-02 classicladder.0.in-02
net m64p3 motion.digital-out-03 classicladder.0.in-03
net m64p4 motion.digital-out-04 classicladder.0.in-04
net q11 motion.digital-in-01 classicladder.0.out-11
net q12 motion.digital-in-02 classicladder.0.out-12
net q13 motion.digital-in-03 classicladder.0.out-13
net q14 motion.digital-in-04 classicladder.0.out-14Код: Выделить всё
M64 P1 ;включаем 1 ступеньвключаем classicladder.0.in-01,
а он уже "включает" выходы Q3,Q4 ну и так далее: входы для датчиков: I11,I12,I13,I14
если пара датчиков сработала,только тогда выдается сигнал на соответствующий выход(Q11-Q14)
а с него на пины motion.digital-in-01-motion.digital-in-04 ,
которые ждет M66 в наших файлах m41.ngc - m44.ngc
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Капец....))) Низкий поклон...и огромное спасибо!!! Буду пробовать
-
jo_key
- Почётный участник

- Сообщения: 262
- Зарегистрирован: 19 сен 2011, 14:49
- Репутация: 30
- Настоящее имя: Евгений
- Откуда: Украина, Харьков
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Вопросец, а как привязать classicladder.0.in-01 к пину hm2_5i25.0.7i77.0.0.input-16-not ??
net m64p1 motion.digital-out-01 classicladder.0.in-01
net m64p2 motion.digital-out-02 classicladder.0.in-02
net m64p3 motion.digital-out-03 classicladder.0.in-03
net m64p4 motion.digital-out-04 classicladder.0.in-04
net q11 motion.digital-in-01 classicladder.0.out-11
net q12 motion.digital-in-02 classicladder.0.out-12
net q13 motion.digital-in-03 classicladder.0.out-13
net q14 motion.digital-in-04 classicladder.0.out-14
------
net GB-I-up <= hm2_5i25.0.7i77.0.0.input-16-not
net GB-I-down <= hm2_5i25.0.7i77.0.0.input-17-not
net GB-II-up <= hm2_5i25.0.7i77.0.0.input-18-not
net GB-II-down <= hm2_5i25.0.7i77.0.0.input-19-not
не могу понять соответствие. я должен исправить GB-I-up на m64p1??
net m64p1 motion.digital-out-01 classicladder.0.in-01
net m64p2 motion.digital-out-02 classicladder.0.in-02
net m64p3 motion.digital-out-03 classicladder.0.in-03
net m64p4 motion.digital-out-04 classicladder.0.in-04
net q11 motion.digital-in-01 classicladder.0.out-11
net q12 motion.digital-in-02 classicladder.0.out-12
net q13 motion.digital-in-03 classicladder.0.out-13
net q14 motion.digital-in-04 classicladder.0.out-14
------
net GB-I-up <= hm2_5i25.0.7i77.0.0.input-16-not
net GB-I-down <= hm2_5i25.0.7i77.0.0.input-17-not
net GB-II-up <= hm2_5i25.0.7i77.0.0.input-18-not
net GB-II-down <= hm2_5i25.0.7i77.0.0.input-19-not
не могу понять соответствие. я должен исправить GB-I-up на m64p1??
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
net signal => classicladder.0.in-01jo_key писал(а):Вопросец, а как привязать classicladder.0.in-01 к пину hm2_5i25.0.7i77.0.0.input-16-not ??
net signal <= hm2_5i25.0.7i77.0.0.input-16-not
Другое дело, что у тебя: classicladder.0.in-01 уже привязан к motion.digital-out-01. И если хочешь к нему дополнительно привязать еще один пин OUT (а hm2...input-xx это out), то нужна какая-то логическая связка. Или сделать отдельный пин в classic ladder и связать их уже внутри ладдера.
-
vmarkiv
- Мастер
- Сообщения: 516
- Зарегистрирован: 21 янв 2012, 00:23
- Репутация: 32
- Откуда: Ивано-Франковск
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
Аналогичная проблема с коробкой скоростей на шпинделе вылезла у меня . Станок модели SMO32 -аналог MAHO 700 . На коробке передач есть 4 концевика -перебор и 2 концевика -выбор ступени , хотя в результате 4 диапазона . Переключение коробки делается на ползучей и знакопеременной скорости шпинделя и сначала переключается электродвигатель перебора , потом диапазона . На видео https://www.youtube.com/watch?v=kmLmR8ckn2s видно как это работает . Была ли похожая задача у кого-то ?
-
nkp
- Мастер
- Сообщения: 8340
- Зарегистрирован: 28 ноя 2011, 00:25
- Репутация: 1589
- Контактная информация:
Re: Коробка шпинделя. (4-х скоростная) Нужен совет!
а в чем конкретно проблема?vmarkiv писал(а):Аналогичная проблема с коробкой скоростей на шпинделе вылезла у меня
