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

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

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

Сообщение jo_key »

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

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

Получается, что для переключения этих диапазона будет применяться команда типа M111-M114 ?
Где в данных М11х будут описываться действия...
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение nkp »

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение nkp »

есть такой пример:

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

!/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-х скоростная) Нужен совет!

Сообщение jo_key »

:o
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

Вери сенкс....пошел усваивать написанное...))
Аватара пользователя
Dmaster
Мастер
Сообщения: 1271
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение Dmaster »

А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
" Linux CNC - наше всё"
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение nkp »

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

Вероятнее всего скорости и положение шестерен будут выбираться из УП.... но это еще не факт...
Dmaster писал(а):А нафига по м коду? Ц меня шпиндель сам выбирает нужную скорость в зависимости от оборотов.
а как он определяет положение блока шестерен??
Аватара пользователя
Dmaster
Мастер
Сообщения: 1271
Зарегистрирован: 15 июл 2011, 13:36
Репутация: 476
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение Dmaster »

Так вы сказали, что есть концевики
" Linux CNC - наше всё"
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

точно
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

Коллеги! Предоставляю более развернутую задачу по КС. Заранее простите за глупые вопросы, но они буду такими:
- имеется КС (коробка скоростей) с двумя блоками шестерён без нейтрального положения (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-х скоростная) Нужен совет!

Сообщение nkp »

"красивей" всего написать компонент под эту коробку...
но можно попытаться и ладдером разрулить...
--------------
Выделение_025.png (4210 просмотров) <a class='original' href='./download/file.php?id=76872&mode=view' target=_blank>Загрузить оригинал (98.56 КБ)</a>
я так - попробовал,нужно конечно поподправлять))
используем 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
файлы m41.ngc,m42.ngc,m43.ngc,m44.ngc в папку со всеми жкодами
они такого вида:

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

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
файл ладдера:
4.clp
(5.82 КБ) 1013 скачиваний
в хал:

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

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
если вызываем М41 , в нем строкой

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

M64 P1 ;включаем 1 ступень
через пин 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
jo_key
Почётный участник
Почётный участник
Сообщения: 262
Зарегистрирован: 19 сен 2011, 14:49
Репутация: 30
Настоящее имя: Евгений
Откуда: Украина, Харьков
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение jo_key »

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

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение Nick »

jo_key писал(а):Вопросец, а как привязать classicladder.0.in-01 к пину hm2_5i25.0.7i77.0.0.input-16-not ??
net signal => classicladder.0.in-01
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-х скоростная) Нужен совет!

Сообщение vmarkiv »

Аналогичная проблема с коробкой скоростей на шпинделе вылезла у меня . Станок модели SMO32 -аналог MAHO 700 . На коробке передач есть 4 концевика -перебор и 2 концевика -выбор ступени , хотя в результате 4 диапазона . Переключение коробки делается на ползучей и знакопеременной скорости шпинделя и сначала переключается электродвигатель перебора , потом диапазона . На видео https://www.youtube.com/watch?v=kmLmR8ckn2s видно как это работает . Была ли похожая задача у кого-то ?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Коробка шпинделя. (4-х скоростная) Нужен совет!

Сообщение nkp »

vmarkiv писал(а):Аналогичная проблема с коробкой скоростей на шпинделе вылезла у меня
а в чем конкретно проблема?
Ответить

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