Тормоз направляющих каждой оси
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Тормоз направляющих каждой оси
День добрый)
В очередной раз требуется помощь форума.
Есть станок, который имеет автоматический зажим направляющих, а так-же одну серву и 3 муфты. Уже несколько недель пытаюсь найти решение задачи.
Планируется работа с полным остановом и зажатием всех незадействованных осей.
Есть ли такой пин, из которого можно найти данные, какая ось будет двигаться в данном кадре?
Я не нашел ни в переменных, ни в пинах ни чего подобного.
В linuxcnc есть вкладка status, а там есть dtg для каждой оси в данном кадре, но как получить пин?
Можно конечно на костылях через м64 м65, но это на костылях. Хочется видеть стандартный g код.
Ремап g0 и g1. Это наверное перебор.
Пните пожалуйста в какую сторону копать.
В очередной раз требуется помощь форума.
Есть станок, который имеет автоматический зажим направляющих, а так-же одну серву и 3 муфты. Уже несколько недель пытаюсь найти решение задачи.
Планируется работа с полным остановом и зажатием всех незадействованных осей.
Есть ли такой пин, из которого можно найти данные, какая ось будет двигаться в данном кадре?
Я не нашел ни в переменных, ни в пинах ни чего подобного.
В linuxcnc есть вкладка status, а там есть dtg для каждой оси в данном кадре, но как получить пин?
Можно конечно на костылях через м64 м65, но это на костылях. Хочется видеть стандартный g код.
Ремап g0 и g1. Это наверное перебор.
Пните пожалуйста в какую сторону копать.
" Linux CNC - наше всё"
- MX_Master
- Мастер
- Сообщения: 7467
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3089
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Тормоз направляющих каждой оси
Зажим/разжим механики происходит не мгновенно. Нужен какой-то компонент, который будет в реальном времени (в сервопериоде) следить за текущей позицией и новым заданием для каждой оси. Попутно ставя программу на паузу и включая/выключая торомоза. Возможно, такое можно слепить и со стандартных компонентов.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Тормоз направляющих каждой оси
Есть пины управления тормозами осей, но только для поворотных A, B, C. Как-то была мысль залезть в исходники и попробовать сделать и для остальных, но надобность сама отпала.
Свой компонент написать.
Найти-то данные можно, но это будет уже поздно - освобождать тормоз нужно строго до того, как ось начнёт движение. Если делать это одновременно с началом движения, то пока переключится привод, тормоз освободит ось уже случится "following error". Самое простое - обнулять подачу в момент переключений, но это всё равно надо делать до начала движения. Похоже без правки исходников не прокатит, надо пробовать.
Всё равно потребуется поддержка в CAM/постпроцессоре.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
Ну вот это не сложно. При малейшей попытке двинуться по 2-м осям - стопнуть программу с ошибкой. , мол требуешь от станка больше, чем надо.
Я, по наивности, подумал, что тормоз будет работать и на линейной оси, но нет. выходит только ошибка, что ось будет неподвижна, пока не разожмется, а пина "ось разжата" не будет, если ось линейная.
" Linux CNC - наше всё"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Тормоз направляющих каждой оси
Я думаю делали под поворотные столы с тормозом - их гораздо больше, чем станков с одним приводом на несколько осей.
Я смотрел исходники про это - там не должно быть ничего сложного для добавления этой функции и для остальных осей, но попытки интерполяции по двум и более осям нужно на этапе загрузки УП проверять.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
Это ясно . и этот вопрос я уже задавал. viewtopic.php?f=15&t=27110&p=547436#p547436
и ответ на него есть)
Боюсь, что если исходники посмотрю я, то для меня это будет не "так очевидно".
По сути, я даже не знаю, как посмотреть исходники.
- Ты сильный
- Я сильный!
- Ты матёрый
- Я матёрый!
- Ты даже не знаешь, что такое сдаваться!
- Я даже не знаю, что такое матёрый!
Может проще DTG Вытянуть? остальную логику можно завязать на Feed inhibit.- Я сильный!
- Ты матёрый
- Я матёрый!
- Ты даже не знаешь, что такое сдаваться!
- Я даже не знаю, что такое матёрый!
" Linux CNC - наше всё"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Тормоз направляющих каждой оси
Попробовать можно, но что-то у меня нет уверенности в стабильности такой схемы...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
Хал файл будет конечно сильно громоздкий.
Что-ж . Направьте тогда меня на путь "просмотра" исходников. может что и пойму. просто ни когда это не делал. Как я понять мне надо смотреть исходник компонента motmod. ?
https://github.com/LinuxCNC/linuxcnc/bl ... n/motion.c
" Linux CNC - наше всё"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Тормоз направляющих каждой оси
Смотреть как сделано управление тормозом для поворотных осей.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
Тормоз поворотных осей, оказывается, исключает движение в ручном режиме( надо искать dtg или inposition для каждой оси.
" Linux CNC - наше всё"
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
А можно ли из питона получить задействованную в коде ось?
http://linuxcnc.org/lucid/docs/2.6/html ... rface.html
command
(returns string) - currently executing command.
получить код и если там есть X Y или Z , то дернуть соответсвующий пин?.
Ps и делать это лучше, когда
current_line
(returns integer) - currently executing line, int.
увеличивается на 1
http://linuxcnc.org/lucid/docs/2.6/html ... rface.html
command
(returns string) - currently executing command.
получить код и если там есть X Y или Z , то дернуть соответсвующий пин?.
Ps и делать это лучше, когда
current_line
(returns integer) - currently executing line, int.
увеличивается на 1
" Linux CNC - наше всё"
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Тормоз направляющих каждой оси
В оригинале работает только для G0:
я ж говорил - надо в исходники лезть.LOCKING_INDEXER = 1 - When this is set to 1, a G0 move for this axis will initiate an unlock with axis.N.unlock pin then wait for the axis.N.is-unlocked pin then move the axis at the rapid rate for that axis. After the move, the axis.N.unlock will be false and motion will wait for axis.N.is-unlocked to go false. Moving with other axes is not allowed when moving a locked rotary axis. If motion is disabled (estop for instance), while the axis.N.unlock pin is set, the axis.N.unlock pin is reset to false.
Нет, какой привод будет задействан решает планировщик, ибо ось и привод - разные понятия.
Оптимальным решением "из готовых деталей" будет управлением feed-hold'ом, но для работы ручных перемещений нужно будет искать "обходной путь".
Если б мне это понадобилось бы сейчас, я б пробовал сделать компонент-посредник, по аналогии с egantry.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
Что-ж., посмотрел я портянки на гитхабе и ничего не понял. Буду делать на костылях м64 м65 . Может быть, когда нибудь доделаю)
" Linux CNC - наше всё"
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Тормоз направляющих каждой оси
Гидравлика. 90 атмосфер, поддержка гидроаккумулятором. Я похоже победил вопрос, но отчёт напишу как проверю станок в бою.
" Linux CNC - наше всё"
- Bioraptor
- Мастер
- Сообщения: 532
- Зарегистрирован: 05 ноя 2018, 22:17
- Репутация: 68
- Настоящее имя: Дима
- Контактная информация:
Re: Тормоз направляющих каждой оси
Т.Е. работает за счёт давления именно гидравлики?!
встречал тормоза обратного типа, т.е. в зажатом состоянии держат за счёт пружин, а вот разжимаются за счёт пневмо давления, работают достаточно быстро, но там привод осей тоже пневмо, по этому тормоза там нужны для позиционирования оси на нужном месте.
встречал тормоза обратного типа, т.е. в зажатом состоянии держат за счёт пружин, а вот разжимаются за счёт пневмо давления, работают достаточно быстро, но там привод осей тоже пневмо, по этому тормоза там нужны для позиционирования оси на нужном месте.
-
- Мастер
- Сообщения: 939
- Зарегистрирован: 29 окт 2017, 14:08
- Репутация: 60
- Настоящее имя: Makc
- Откуда: Ярославль
- Контактная информация:
Re: Тормоз направляющих каждой оси
можно motion.feed-hold в 1 ставить на время, пока тормоз отпустится.
пока "давление в тормозе х" И "давление в тормозе У" >0 ...
пока "давление в тормозе х" И "давление в тормозе У" >0 ...
-
- Мастер
- Сообщения: 704
- Зарегистрирован: 18 май 2019, 13:23
- Репутация: 96
- Настоящее имя: Андрей
- Контактная информация:
Re: Тормоз направляющих каждой оси
В принципе у меня есть аналогичный станок с 1 мотором на 3 оси. И человек его очень хочет запустить в работу. Потребности там простые - движения чаще всего в ручную с кнопок. По факту он просто плоскости ГБЦ на нем фрезерует. А остальное его не интересует.
посему очень интересна хоть какая-то реализация HAL.
И как автоматически выбирать какой тормоз и через какое время включать/отключать.
посему очень интересна хоть какая-то реализация HAL.
так тут вопрос то: как автоматически ставить на паузу во время отработки кода?steals_y2k писал(а): ↑ можно motion.feed-hold в 1 ставить на время, пока тормоз отпустится.
И как автоматически выбирать какой тормоз и через какое время включать/отключать.
- MX_Master
- Мастер
- Сообщения: 7467
- Зарегистрирован: 27 июн 2015, 19:45
- Репутация: 3089
- Настоящее имя: Михаил
- Откуда: Алматы
- Контактная информация:
Re: Тормоз направляющих каждой оси
Между планировщиком и степгеном нужно вставить свой компонент, который будет сравнивать текущие позиции и новые задания для осей. На основе этого сравнения, он будет дергать какой-то пин, типа motion.feed-hold и другие пины, отвечающие за включение физических тормозов. Паузу на вкл/выкл физ. тормоза нужно рассчитать опытным путем. Или иметь какую-то обратную связь от физ. тормоза.
Это один из вариантов. Могут быть и другие
Это один из вариантов. Могут быть и другие