АКПП для РГИ :)

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8885
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2784
Откуда: Тюмень
Контактная информация:

АКПП для РГИ :)

Сообщение Сергей Саныч »

Подключил самодельный пульт к станку
Обратил внимание , что у большинства фирменных пультов есть переключатель скорости подачи. (х1, х0.1 х0.01) Re: MyGUI #365. Показалось, что это не очень удобно. Сделал динамическое управление скоростью ручных перемещений. Когда штурвал крутишь медленно, скорость равна 0.01мм на деление, то есть оборот штурвала перемещает ось на 1мм. Начинаешь вращать быстрее - масштаб изменяется пропорционально скорости. При скорости штурвала около 2 об/сек скорость перемещения уже 3600 мм/мин (максимальная для станка) и за десяток оборотов проходим весь стол. Надо подойти точно - просто крути медленнее. Очень удобно.

https://www.youtube.com/watch?v=sn5-D_UdKGU

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

# Encoder jog wheel
loadrt serport io=0x3f8
addf serport.0.read base-thread
addf serport.0.write base-thread

loadrt matrix_kb config=3x2s 
addf matrix_kb.0 servo-thread
setp matrix_kb.0.negative-logic 0
setp matrix_kb.0.key_rollover 6

loadrt encoder num_chan=1
addf encoder.update-counters base-thread
addf encoder.capture-position servo-thread
setp encoder.0.counter-mode 0
setp encoder.0.x4-mode 0
setp encoder.0.position-scale 1000.
setp encoder.0.min-speed-estimate 500.

loadrt abs
addf abs.0 servo-thread

loadrt lowpass
addf lowpass.0 servo-thread
setp lowpass.0.gain 0.01

loadrt limit1
addf limit1.0 servo-thread
setp limit1.0.min 0.01
setp limit1.0.max 1.0

loadrt or2
addf or2.0 base-thread

net col0  serport.0.pin-9-in  => matrix_kb.0.col-00-in
net col1  serport.0.pin-8-in  => matrix_kb.0.col-01-in

net enca  serport.0.pin-6-in  => encoder.0.phase-A
net encb  serport.0.pin-1-in  => encoder.0.phase-B

net row0 matrix_kb.0.row-00-out => serport.0.pin-4-out
net row1 matrix_kb.0.row-01-out => serport.0.pin-3-out
net row2 matrix_kb.0.row-02-out => serport.0.pin-7-out

net mpg-x matrix_kb.0.key.r2c1 => or2.0.in0 axis.0.jog-enable
net mpg-y matrix_kb.0.key.r1c1 => or2.0.in1 axis.2.jog-enable

net nn1 or2.0.out => not.3.in
net nn4 not.3.out => axis.1.jog-enable

setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.2.jog-vel-mode 1

net pend-counts encoder.0.counts => axis.0.jog-counts axis.1.jog-counts axis.2.jog-counts

net enc-vel encoder.0.velocity => lowpass.0.in
net evel1 lowpass.0.out => abs.0.in
net abs-enc-vel abs.0.out => limit1.0.in
net pend-scale  limit1.0.out => axis.0.jog-scale axis.1.jog-scale axis.2.jog-scale

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

Re: АКПП для РГИ :)

Сообщение Nick »

Интересное решение, особенно для энкодера с маленьким количеством импульсов на оборот. Для энкодеров с 100 имп, может быть не очень удобно, т.к. выставление в 0 на них можно смотреть по шкале-лимбу.

А так хорошо. Главное к нему привыкнуть, чтобы случайно не воткнуть шпиндель в стол.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8885
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2784
Откуда: Тюмень
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Сергей Саныч »

У моего как раз 100 :)
Если работать по лимбу, то да, могут быть некоторые трудности. Но при малых скоростях (меньше заданного порога) масштаб фиксированный, можно шагать по сотке (1 деление лимба = 0,01мм).
Nick писал(а):Главное к нему привыкнуть, чтобы случайно не воткнуть шпиндель в стол.
Если штурвал остановить, движение останавливается немедленно (в пределах возможностей ускорений оси, конечно). "Накопления" хода не происходит. Клавишами и то легче фрезу сломать. Захотел подвинуть еще чуть-чуть, а палец с шифта не убрал. У меня, во всяком случае, такое бывало :oops:
Последний раз редактировалось Сергей Саныч 28 янв 2015, 12:30, всего редактировалось 1 раз.
Чудес не бывает. Бывают фокусы.
nik1
Мастер
Сообщения: 8037
Зарегистрирован: 02 окт 2012, 07:37
Репутация: 3548
Откуда: Красногорск
Контактная информация:

Re: АКПП для РГИ :)

Сообщение nik1 »

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

Re: АКПП для РГИ :)

Сообщение Nick »

Сергей Саныч писал(а):Если штурвал остановить, движение останавливается немедленно (в пределах возможностей ускорений оси, конечно).
Кстати, назад откатывается?
Наблюдал такую ситуацию, когда стоят маленькие ускорения. Отпускаем кнопку вправо, станок по инерции проходит еще скажем 1см, и потом отъезжает на 1 см назад - туда, где отпустили кнопку.


И кстати, за счет чего достигается дискретность ровно в сотку, при axis.0.jog-vel-mode 1?
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 958
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 92
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: АКПП для РГИ :)

Сообщение solanto »

Осталось всё собрать в одном месте, написать HAL с пояснениями (Чтобы такие чайники как я разобрались) и усё.
P.S. я собирал ShuttleRU но разочаровался в нём. Т.к. по началу было (как мне тогда казалось) удобно, но потом стало пипец как сложно его штурвалом пользоваться, по этому решил оставить его корпус (доработав немного) и засунуть туда внутренности от этого пульта.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

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

Re: АКПП для РГИ :)

Сообщение Nick »

solanto писал(а):но потом стало пипец как сложно его штурвалом пользоваться,
В чем именно заключались сложности?
Аватара пользователя
solanto
Почётный участник
Почётный участник
Сообщения: 958
Зарегистрирован: 02 апр 2014, 09:10
Репутация: 92
Настоящее имя: Александр
Откуда: Карачаево-Черкесская республика, г.Черкесск
Контактная информация:

Re: АКПП для РГИ :)

Сообщение solanto »

В том что внутреннее колесо это энкодер классический, а внешнее это какой-то датчик отклонения. Что бы быстро перемещаться нужно пользовать внешнее колеса, а точно позиционироваться внутреннее. В итоге пользования сломал две дорогих , тонких (0,6 и 0,8 мм) фрезы. Попользовав пульт друга с таким штурвалом, понял, что это то что мне нужно.
Мне пофигу, что думают обо мне люди, пока они не начинают меня бить.

Вектроник А4-12: от заказа до готовности - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5248
Токарник по дереву - http://cnc-club.ru/forum/viewtopic.php?f=3&t=5623

Изображение
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8885
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2784
Откуда: Тюмень
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Сергей Саныч »

Nick писал(а):Кстати, назад откатывается?
Наблюдал такую ситуацию, когда стоят маленькие ускорения. Отпускаем кнопку вправо, станок по инерции проходит еще скажем 1см, и потом отъезжает на 1 см назад - туда, где отпустили кнопку.
Вот чего не видел, так этого :thinking: Ни с энкодером, ни с кнопками. Наверно, надо ооочень маленькие ускорения ставить.
Nick писал(а):И кстати, за счет чего достигается дискретность ровно в сотку, при axis.0.jog-vel-mode 1?
Эээ... а какая связь? Реально этот пин служит только для того, чтобы прекратить движение оси при прекращении импульсов от энкодера. В 1 установлен специально для исключения "перебега".
Кстати, если на то есть сомнения, нетрудно задать порог скорости, выше которого этот пин ставится в 1, а ниже в 0,
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Serg
Мастер
Сообщения: 20993
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4978
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Serg »

Nick писал(а):Наблюдал такую ситуацию, когда стоят маленькие ускорения. Отпускаем кнопку вправо, станок по инерции проходит еще скажем 1см, и потом отъезжает на 1 см назад - туда, где отпустили кнопку.
Это axis.N так работает, просто на малых ускорениях заметнее.
Nick писал(а):И кстати, за счет чего достигается дискретность ровно в сотку, при axis.0.jog-vel-mode 1?
Дискретность задаётся в axis.0.jog-scale, а "axis.0.jog-vel-mode 1" - это стоб останавливалось когда штурвал перестаёшь крутить, а не когда проедет всё, что успел накрутить.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Nick »

Сергей Саныч писал(а):Эээ... а какая связь? Реально этот пин служит только для того, чтобы прекратить движение оси при прекращении импульсов от энкодера.
А как при этом он будет работать, скажем
крутанули штурвал на 50 имп = 50мм за 1 сек и остановились. Где остановится станок? Через сколько после исчезновения сигнала?

И с какой "дискретностью" остановится? Т.е. остановится точно в позиции кратной одному импульсу = 1мм или прямо там, где решит, что импульсы прекратились?
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8885
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2784
Откуда: Тюмень
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Сергей Саныч »

"крутанули" и точность - в данном случае вещи не совместимые. До 10 шагов в секунду масштаб соблюдается (0,01 мм/дел), а дальше плывет в сторону увеличения.
Nick писал(а):остановится точно в позиции кратной одному импульсу = 1мм
Такой масштаб не предусмотрен. Всё, что выше 0.01, может иметь любые значения (1мм - это верхний предел масштаба, а 0.01 - нижний). Смотреть придется не на лимб, а на УЦИ (DRO).
Разумеется, все пороги и коэффициенты можно подобрать "по вкусу".
Всё это затевалось для того, чтобы быстро и точно вручную подогнать станок к нужной точке. Если предполагается работа по лимбам в ручном режиме, как на обычном станке, то динамическое управление нужно отключать и вводить фиксированные значения масштаба.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 8885
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2784
Откуда: Тюмень
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Сергей Саныч »

UAVpilot писал(а):
Nick писал(а):Наблюдал такую ситуацию, когда стоят маленькие ускорения. Отпускаем кнопку вправо, станок по инерции проходит еще скажем 1см, и потом отъезжает на 1 см назад - туда, где отпустили кнопку.
Это axis.N так работает, просто на малых ускорениях заметнее.
Сделал маленькое ускорение (50мм/сек вместо 400). Хоть со штурвалом, хоть с кнопками - нет такого явления. Отпускаешь кнопку/бросаешь штурвал - ось начинает тормозиться с дозволенным ускорением и останавливается. Всё. Назад не съезжает :thinking:
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Nick
Мастер
Сообщения: 22735
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1693
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Nick »

А, может у меня было маленькое ускорение у stepgen - меньше, чем у оси, тогда такое точно бы проявлялось... :freak:
Аватара пользователя
Serg
Мастер
Сообщения: 20993
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 4978
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: АКПП для РГИ :)

Сообщение Serg »

Сергей Саныч писал(а):Сделал маленькое ускорение (50мм/сек вместо 400).
Нужно ещё и "axis.0.jog-vel-mode 0". И штурвал крутить надо не опережая движение оси, тогда при остановке штурвала axis.0 плавно затормозит с переездом и потом "отыграет" назад этот переезд. FERROR тоже увеличь, а то вырубится от переезда.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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