Модернизация токарного станка
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Ну!.. наконец время допиливать пришло))) Датчики Precizica новые)
Теперь Ladder и защита. Надо чтоб выдавало Estop, если не выполняется следующее
Исходя из задаваемой СКОРСТИ ( не положения) вычеслялось положение в котором должен быть станок через 0.2 сек . Если он туда не приехал, с некой погрешностью, то стоп.
или вариант какого-то опроса датчиков.. Но только я не знаю как разбить их на каналы.
Если от канала Б не поступает сигнала в течении 0.1 сек то стоп. Если от канала А не поступает, то стоп... но вот пинов по каналам я в емс не знаю. (слежение влючается только после 2 сек работы станка)
Пины то вроде бы вот, encoder.0.phase-A но новт для квадратурного датчика как? где А/?
Есть еще encoder.0.velocity ... Как его сравнить с заданием выдаваемым на движек (при рассогласовании больше &&& =>e stop.)
Теперь вопрос.. какой из вариантов лучше, и как его по грамотней реализовать?
Теперь Ladder и защита. Надо чтоб выдавало Estop, если не выполняется следующее
Исходя из задаваемой СКОРСТИ ( не положения) вычеслялось положение в котором должен быть станок через 0.2 сек . Если он туда не приехал, с некой погрешностью, то стоп.
или вариант какого-то опроса датчиков.. Но только я не знаю как разбить их на каналы.
Если от канала Б не поступает сигнала в течении 0.1 сек то стоп. Если от канала А не поступает, то стоп... но вот пинов по каналам я в емс не знаю. (слежение влючается только после 2 сек работы станка)
Пины то вроде бы вот, encoder.0.phase-A но новт для квадратурного датчика как? где А/?
Есть еще encoder.0.velocity ... Как его сравнить с заданием выдаваемым на движек (при рассогласовании больше &&& =>e stop.)
Теперь вопрос.. какой из вариантов лучше, и как его по грамотней реализовать?
" Linux CNC - наше всё"
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Модернизация токарного станка
Dmaster, так весь этот функционал уже реализован. Есть значения FERROR и MIN_FERROR, при превышении которых (т.е. при отклонении от траектории на бОльшую величину) вся система останавливается.
Почему все это не сработало - не пойму, на первый взгляд все ок.
А входы enable на сервах куда-то подключены?
Почему все это не сработало - не пойму, на первый взгляд все ок.
А входы enable на сервах куда-то подключены?
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
да, но фокус в том, что у меня при выпадании ТОЛЬКО ОДНОГО! канала серва курутит дальше, на последней заданной скорости.PKM писал(а):А входы enable на сервах куда-то подключены?
вот такой факус).
" Linux CNC - наше всё"
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Модернизация токарного станка
Одного канала энкодера (А или В), или одного энкодера? В любом случае это неверно...
А к чему подключены энкодеры? Конфиг от pncconf?
А к чему подключены энкодеры? Конфиг от pncconf?
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
pncconf изначально ...
Энкодеры подключены к месе 7133ta. Конфиги выше по ветке идут.
именно так.PKM писал(а):Одного канала энкодера (А или В)
Энкодеры подключены к месе 7133ta. Конфиги выше по ветке идут.
" Linux CNC - наше всё"
- PKM
- Почётный участник

- Сообщения: 4263
- Зарегистрирован: 31 мар 2011, 18:11
- Репутация: 705
- Настоящее имя: Андрей
- Откуда: Украина
- Контактная информация:
Re: Модернизация токарного станка
Если отказывает один канал энкодера, то выдаваемое им положение должно колебаться +- один импульс.
То есть фактически положение застынет, и сработает ошибка по положению.
Как могло не сработать - не пойму
То есть фактически положение застынет, и сработает ошибка по положению.
Как могло не сработать - не пойму
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
В том то и дело что Dmaster говорит, что при вылете одного канала одного энкодера почему-то не рос Ferror. Да, случилось это на G0, может при быстрых перемещениях он как-то по другому Ferror контролирует...
А на счет скорости, то можно сделать так: таймер на 2 секунды, вывод с него на estop и на его сброс сравнение compare encoder.velosity-XXX>ddt.0.out
на вход ddt - положение по оси.
Но все равно это хреново - т.к. с параметром XXX (допуск на совпадение) будет запара - поставишь слишком маленький будет слишком часто в авост уходить, поставишь большой - от него не будет толку...
Dmaster, ты обещал графики с halscope сделать!
И тему с фотками своего 6-ти шпиндельника создать
!
А на счет скорости, то можно сделать так: таймер на 2 секунды, вывод с него на estop и на его сброс сравнение compare encoder.velosity-XXX>ddt.0.out
на вход ddt - положение по оси.
Но все равно это хреново - т.к. с параметром XXX (допуск на совпадение) будет запара - поставишь слишком маленький будет слишком часто в авост уходить, поставишь большой - от него не будет толку...
Dmaster, ты обещал графики с halscope сделать!
И тему с фотками своего 6-ти шпиндельника создать
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
А вот и графики)
Картина маслом) Первый график с работающим датчиком.
Второй с не работающим ( вообще отключен) .. при задании движения Feror замирает на одном уровне и станок благополучно едет без останово и ПЛАВНО ТАК)))))
Чем больше задание , тем больше едет, пока конечно не дать подачу 1500 и Feror зразу не зашкалит за 2 мм. При этом станок успевает пролететь мм 150-200. в обще почти полный капут устроить.
Картина маслом) Первый график с работающим датчиком.
Второй с не работающим ( вообще отключен) .. при задании движения Feror замирает на одном уровне и станок благополучно едет без останово и ПЛАВНО ТАК)))))
Чем больше задание , тем больше едет, пока конечно не дать подачу 1500 и Feror зразу не зашкалит за 2 мм. При этом станок успевает пролететь мм 150-200. в обще почти полный капут устроить.
Завтра фотик вольму и начнем-с). А вообще в самом проектк сначала механика нужна((Nick писал(а):И тему с фотками своего 6-ти шпиндельника создать !
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
В последний график еще бы command и feedback
. Чтобы четко картина отслеживалась...
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
А вот наконец и график)
Сделал у Ferror и Command разные множители усиления, иначе они полностью совпадают.
В общем вот причина. Станок путешествует как ему угодно, и задание на мотор не перерывается и Feror НЕ растет при оборванном датчике.
Сделал у Ferror и Command разные множители усиления, иначе они полностью совпадают.
В общем вот причина. Станок путешествует как ему угодно, и задание на мотор не перерывается и Feror НЕ растет при оборванном датчике.
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Вроде все правильно, command изменился на 10 (или сколько там) и ferror изменился на столько же.
Прикол в другом, т.к. энкодера нет, PID получает постоянную обратную связь, и не знает что происходит со станком, удивительно, как он вообще в разнос не уходит...
По идее, как только ferror дорастет до критического значения, станок должен вырубиться.
Но если ты сделаешь
G0 Z100
G0 Z100.001 и в этот момент оторвется датчик, то получится так: начнется движение, ПИД получит сигнал ехать, выдаст его на выход и будет тащить станок в сторону до упора. Т.к. будет думать, что он стоит на месте.
Тоже самое будет и при
G0 X10 Z100
G0 X9.99 Z0
Прикол в другом, т.к. энкодера нет, PID получает постоянную обратную связь, и не знает что происходит со станком, удивительно, как он вообще в разнос не уходит...
По идее, как только ferror дорастет до критического значения, станок должен вырубиться.
Но если ты сделаешь
G0 Z100
G0 Z100.001 и в этот момент оторвется датчик, то получится так: начнется движение, ПИД получит сигнал ехать, выдаст его на выход и будет тащить станок в сторону до упора. Т.к. будет думать, что он стоит на месте.
Тоже самое будет и при
G0 X10 Z100
G0 X9.99 Z0
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Именно так оно и было))) не доехав около 2- мм до необходимой точки на холостом ходу.. .. на холостом хорду он и продолжил движение.
А теперь вопрос!... как сделать защиту от этого прикола.
Я думаю так попробовать.
Если command > 0.01 , то запустить 2 таймера на estop через 0.02 сек, один из которых сбрасывается encoder.0.phase-A б а второй encoder.0.phase-B
А теперь вопрос!... как сделать защиту от этого прикола.
Я думаю так попробовать.
Если command > 0.01 , то запустить 2 таймера на estop через 0.02 сек, один из которых сбрасывается encoder.0.phase-A б а второй encoder.0.phase-B
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
ИМХО, это от лукавого будешь левые estop-ы ловить. Лучше поставь Ferror по-меньше.
И энкодер подключи по двум каналам +A -A +B -B, так надежность повысится и при вылете любого из проводов станок будет останавливаться.
И энкодер подключи по двум каналам +A -A +B -B, так надежность повысится и при вылете любого из проводов станок будет останавливаться.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Так он уже подключен именно так.Nick писал(а):И энкодер подключи по двум каналам +A -A +B -B, так надежность повысится и при вылете любого из проводов станок будет останавливаться.
лучше так, чем ломать инструмент.Nick писал(а):ИМХО, это от лукавого будешь левые estop-ы ловить.
не могу, инерционность системы большая.Nick писал(а):Лучше поставь Ferror по-меньше.
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
Ну тогда тебе просто надо сделать проверку, что A= не -A и B= не -B, тогда приDmaster писал(а):Так он уже подключен именно так.
отрыве обоих контактов - оба станут 0 - вылет
при отрыве только 1, один станет 0, а второй или сразу 0 = вылет или через 1 шаг энкодера 0 = вылет.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
голову сломал... какие pin с платы 5i20 отвечают за канаы A\ и B\ Просто А и В там есть. Такое чувство, что сигналы просто дублируются..
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
А у тебя энкодер прямо в плату 5i20 включен или через дочернюю?
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
Через 7i33
А нет вообще в EMC физически реализованных каналов A\ и B\ Так что ник, не выйдет вой способ
http://www.linuxcnc.org/docview/html/ma ... .html#PINS
Придется наверное так счетчик импульсов А за 0.1 сек и B за 0.1 если Command болше 0.02 Если счетчик меньше 2 то стоп
А нет вообще в EMC физически реализованных каналов A\ и B\ Так что ник, не выйдет вой способ
http://www.linuxcnc.org/docview/html/ma ... .html#PINS
Придется наверное так счетчик импульсов А за 0.1 сек и B за 0.1 если Command болше 0.02 Если счетчик меньше 2 то стоп
" Linux CNC - наше всё"
- Nick
- Мастер
- Сообщения: 22776
- Зарегистрирован: 23 ноя 2009, 16:45
- Репутация: 1735
- Заслуга: Developer
- Откуда: Gatchina, Saint-Petersburg distr., Russia
- Контактная информация:
Re: Модернизация токарного станка
На 9-ой странице мана от 7i33 есть подключение энкодеров. В том числе по два контакта на канал - ENCA0 и /ENCA0.
Осталось только проверить, как отреагирует меса на разные показания по ним...
Сам LinuxCNC не сможет отследить энкодеры - они для него слишком быстрые. Только через месу.
Осталось только проверить, как отреагирует меса на разные показания по ним...
Сам LinuxCNC не сможет отследить энкодеры - они для него слишком быстрые. Только через месу.
- Dmaster
- Мастер
- Сообщения: 1271
- Зарегистрирован: 15 июл 2011, 13:36
- Репутация: 476
- Контактная информация:
Re: Модернизация токарного станка
уже чита не по разуNick писал(а):На 9-ой странице мана от 7i33 есть подключение энкодеров. В том числе по два контакта на канал - ENCA0 и /ENCA0.
Подключение то есть)))) опыт показал, что если отрубить канал /ENCA0. то считать он не перестает. и считает однако правитьно)
так-же если отрубить просто ENCA0 а /ENCA0 оставить сиситема то-же остается работоспособной.)
" Linux CNC - наше всё"
