Мои вспомогательные утилиты.
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
я пока не вникал как работают отдельные коды, но я так понимаю он касается, потом отъезжает и опаять касается, после отъезжает и включает малую скорость. Заметил, что если подложить массивную железку, то гораздо меньше ложных срабатываний. Получается что заготвка прижимается??
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
Еси б я еще понимал , как это делать ))))torvn77 писал(а): Вообще если есть место в котором происходит нечто не понятное, то его имеет смысл обложить отладочным кодом.Код: Выделить всё
(DEBUG, Z=#<_z> , motion.probe-input = #<_hal[motion.probe-input]>)
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
Попробую действительно поднять напругу на датчик и буфер с триггером сделать, чтоб спад/нарастание сигнала поднять.
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
А возможно, что у меня стоит винт с шагом 5 мм, 16/40 шкивы, 200 шагов на оборот мотор и делитель шага включен на 2 что = 0,005мм шаг, и этого не достаточно?
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
В общем я изменил микро шаг на 16. перестала вылетать ошибка определения "0" , но зато появилась другая какашка. Почему-то выключается питание станка(в программе F2, хотя вроде никак эта кнопка не задействована со входами). Причем только на большой скорости подачи по Z(при подъёме), также в ручном режиме. Бум разбираться.....
пишет joint 2 following error
пишет joint 2 following error
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
Запустил я Latency test, не понимаю хоть убей какие значения вводить. Картинка 1- без нагрузки. Картинка 2- с запущенным видео из ютьюба + дергаю браузер по экрану. Ввожу Max Jitter 20000 - перестаёт вырубать, Ввожу Max Jitter 200000 - вырубает. Получается железо слабое? Или я чего-то не понимаю?
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Мои вспомогательные утилиты.
ashe писал(а):Заметил, что если подложить массивную железку, то гораздо меньше ложных срабатываний. Получается что заготвка прижимается??
ashe писал(а):оксида нет
Если брусок меди полежит примерно час после полировки, то он из светлого отполированного потемнеет.
Вот это вот потемнение и есть не проводящая электричество оксидная плёнка которую во время пробы надо продавливать.
ashe писал(а):я пока не вникал как работают отдельные коды, но я так понимаю он касается, потом отъезжает и опаять касается, после отъезжает и включает малую скорость.
Поняли внешне правильно(не всё), суть несколько иная.
Опускается на "большой" скорости до замыкания датчика конца инструмента.
На низкой скорости отъесжает обратно до размыкания датчика конца инструмента.
На низкой скрости снова едет вниз до замыкания датчика конца инструмента и копирует значение замеренной координаты в переменную #<probe_bottom>
На низкой скорости снова едет на верх до размыкания датчика конца инструмента и копирует значение замеренной координаты в переменную #<probe_top>( Наблюдаемый вами сбой произощёл здесь)
Едет на самый верх G0 Z[#<_ini[AXIS_2]MAX_LIMIT>]
Смещает относительную систему координат на среднее значение переменных #<probe_bottom> и #<probe_top>
Тестирование происходит не только на появление сигнала, но и на его пропадание, по этому просто триггер не годиться,ashe писал(а):и буфер с триггером сделать
надо чтобы схема меняла свою работу в зависимости от желаемого результата.
Несколькими днями раньше я объяснял это здесь: Re: Помогите настроить CNCLinux для работы с серводвигателям #22ashe писал(а):Почему-то выключается питание станка(в программе F2, хотя вроде никак эта кнопка не задействована со входами). Причем только на большой скорости подачи по Z(при подъёме), также в ручном режиме. Бум разбираться.....
Запуск этой утилиты есть самая большая ошибка, которую может сделать начинающий пользователь.ashe писал(а):Запустил я Latency test,
Эта вредная утилита начинающих путает, а когда они понимают что и как работает становится просто не нужна.
Закройте её и больше никогда не запускайте, ну разве что если предварительную оценку периодов надо сделать будет( немного экономит время на первоначальном подборе параметров).
подробнее можно прочитать здесь: Re: Помогите настроить CNCLinux для работы с серводвигателям #21
-
- Новичок
- Сообщения: 23
- Зарегистрирован: 27 окт 2015, 00:20
- Репутация: 1
- Настоящее имя: Дмитрий
- Контактная информация:
Re: Мои вспомогательные утилиты.
Триггеры бывают разные и я имел ввиду как раз то, о чем вы говорите. А ошибка при касании пропала после переключения делителя на 16, значит всё таки мало шага 0,05... Появились правда другие ошибки, спасибо вам, буду разбираться дальше.
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Мои вспомогательные утилиты.
Берёшь строкуashe писал(а):Еси б я еще понимал , как это делать ))))
Код: Выделить всё
(DEBUG, Z=#<_z> , motion.probe-input = #<_hal[motion.probe-input]>)
Код: Выделить всё
(DEBUG,Точный поиск на маленькой скорости)
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_SEARCH>]
(DEBUG, Z=#<_z> , motion.probe-input = #<_hal[motion.probe-input]>)
G38.2 Z[#<_ini[AXIS_2]MIN_LIMIT>]
(DEBUG, Z=#<_z> , motion.probe-input = #<_hal[motion.probe-input]>)
#<probe_bottom> = #5063
F[#<_ini[MATERIAL_HEIGHT_PROBE]ACCURATE_FEED_LATCH>]
(DEBUG, Z=#<_z> , motion.probe-input = #<_hal[motion.probe-input]>)
G38.4 Z[#<_ini[AXIS_2]MAX_LIMIT>]
(DEBUG, Z=#<_z> , motion.probe-input = #<_hal[motion.probe-input]>)
#<probe_top> = #5063
(DEBUG,<a.probe_top> = #<probe_top> )
(DEBUG,<a.probe_bottom> = #<probe_bottom>)
#<probe_result> = [[#<probe_bottom>+#<probe_top>]/2]
(DEBUG,<a.probe_result> = #<probe_result>)
( Вызываются #<_z> и #<_hal[motion.probe-input]>, а вот "Z=" и "motion.probe-input =" это просто набор букв )
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Мои вспомогательные утилиты: Установка нуля по центру окружн
Назначение утилиты восстанавливать ноль программы по ХУ по заранее вырезанной в её нуле окружности.
Ну или если вырезали её не в нуле то после установки нуля восстанавливаете ноль забив в "Touch Off" координаты её центра.
1) Перед работой в строке номер 4 надо указать диаметр окружности. К примеру #<diametr>=100
2) Сообщения (MSG,Left),(MSG,Right),(MSG,Bottom),(MSG,Top) выводятся так как мне было неохота регулировать центроискатель и я его поворачивал так, чтобы он всегда измерял одной и той же стороной.
Ну или если вырезали её не в нуле то после установки нуля восстанавливаете ноль забив в "Touch Off" координаты её центра.
1) Перед работой в строке номер 4 надо указать диаметр окружности. К примеру #<diametr>=100
2) Сообщения (MSG,Left),(MSG,Right),(MSG,Bottom),(MSG,Top) выводятся так как мне было неохота регулировать центроискатель и я его поворачивал так, чтобы он всегда измерял одной и той же стороной.
Код: Выделить всё
(O<search_center> sub)
#<diametr>=100
#<x_rel_offset>=0
#<y_rel_offset>=0
#<z_rel_offset>=-10
G54 G21 G61 M05
G91
F360
G38.2 X[0-#<diametr>]
#<result_left> = #5061
G38.4 X+1
G38.2 X[0+#<diametr>]
#<result_right> = #5061
G38.4 X-1
#<first_center_x> = [[#<result_left>+#<result_right>]/2]
G90
G01 X#<first_center_x>
G91
G38.2 Y[0-#<diametr>]
#<result_bottom> = #5062
G38.4 Y+1
G38.2 Y[0+#<diametr>]
#<result_top> = #5062
G38.4 Y-1
#<first_center_y> = [[#<result_bottom>+#<result_top>]/2]
G90
G01 Y#<first_center_y>
G91
F120
(MSG,Left)
M1
G38.2 X[0-#<diametr>]
#<result_left> = #5061
G38.4 X+1
(MSG,Right)
M1
G38.2 X[0+#<diametr>]
#<result_right> = #5061
G38.4 X-1
G90
#<first_center_x> = [[#<result_left>+#<result_right>]/2]
G01 X#<first_center_x>
G91
(MSG,Bottom)
M1
G38.2 Y[0-#<diametr>]
#<result_bottom> = #5062
G38.4 Y+1
(MSG,Top)
M1
G38.2 Y[0+#<diametr>]
#<result_top> = #5062
G38.4 Y-1
G90
#<first_center_y> = [[#<result_bottom>+#<result_top>]/2]
G01 X#<first_center_x> Y#<first_center_y>
G10 L20 P0 X#<x_rel_offset> Y#<y_rel_offset> Z#<z_rel_offset>
(O<search_center> endsub)
M02
Последний раз редактировалось torvn77 22 июн 2017, 01:59, всего редактировалось 2 раза.
Re: Мои вспомогательные утилиты.
Ценно, спасибо. А нет ли типа "обратной задачи"- у Вас по окружности "изнутри", а не менее распространена задача "снаружи".
В третьей с конца строке (это не для Вас, это для меня и мало ли еще кого) вместо нажатия Тоуч офф можно сразу завести соотв. параметры смещения (координаты заранее известного расположения отверстия).
И при копировании кода - коллеги, помните, там в конце z стоит как -10.
В третьей с конца строке (это не для Вас, это для меня и мало ли еще кого) вместо нажатия Тоуч офф можно сразу завести соотв. параметры смещения (координаты заранее известного расположения отверстия).
И при копировании кода - коллеги, помните, там в конце z стоит как -10.
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Мои вспомогательные утилиты.
Теперь эти координаты вводятся вместе с предполагаемым диаметром в начале УП в строкахa321 писал(а):В третьей с конца строке (это не для Вас, это для меня и мало ли еще кого) вместо нажатия Тоуч офф можно сразу завести соотв. параметры смещения (координаты заранее известного расположения отверстия).
Код: Выделить всё
#<diametr>=100
#<x_rel_offset>=0
#<y_rel_offset>=0
#<z_rel_offset>=-10
Мда, феерично...a321 писал(а):ошибка в тексте, для #<result_bottom> = #5061 надо указывать 5062 (ось у)
Вот что бывает кода люди не высыпаются
Спасибо, исправил.
Re: Мои вспомогательные утилиты.
Продолжим, давно собирался.
ИМХО - лично меня беспоскоит и интересует положение фрезы относительно рабочего стола, а не расположенных (нараспев) "там, за горизонтом" концевиков или даже дачиков Хоме (то же касается и замеров жесткости - чтобы коллеги могли сравнивать критикуемые станки я обязательно сдалаю замеры на своем карликовофальшивоментном китайце, с фрезой в крайнем ниженм положении - надо только придумать, как измерить, измерялками я не шибко богат). Т.е. делаемые Версером датчики прекрасны и действительно нужны всем, но при работе с деревом можно обходиться другими способами. Как и уважаемый torvn77, с превеликим удовольствием пользуюсь LinuxCNC. После хомления для решения вопроса о сверке системы координат стола (технологической оснастки, расположенной на столе) использую подпрограмму и гирлянду цацок - Цацки - вырезаны из дерева. На "внутренние" и "наружные" диаметры - соотв. центруются (сопрягаются с контрольным отверстием на заготовке, рабочем столе, оснастке) на стандартный штифт (4, 5, 6, 8 мм) или на выступающий диаметр (например круглую головку болта). В качестве датчика используется сама фреза, диаметр с точки зрения математики не важен, как и диаметр подшипника. "Ответная" часть датчика - стандартные подшипники, в данном случае 608 и 6000. Умеренная толщина подшипника позволяет не очень беспокоиться о том, куда повернута фреза, электропроводность вполне стабильна, допуски круглости подшипников на высоте. В дырочку загнан многожильный провод, хвост которого распушил, уложил и придавил подшипником. Ну принцип понятен. В начало своих программ вставляю что-то типа -
В директории linuxcnc/nc_files лежит файлик home.ngc - При перемещениях сознательно используется G1 вместо G0, поскольку G0 бывает "быстрым" незачем раскачивать станок. Может, вследствие маленькой скорости, "срываться" - аборт по причине неразмыкания etc - повторный вызов (запуск) решает вопрос. Можно использовать и без подпрограммы - на вкладке LinuxCNC по F5 вызвать подпрограмму
o<home> call [10] (выставит все в ноль - незаданные апарметры передаются в подпрограмму как 0)
o<home> call [10] [100] [10] - соотв. в нужном месте станок будет "считать" как Х100 Y10.
Как пользуюсь -
1. разместил цацку где надо
2. завел в цацку вручную фрезу
3. вызвал подпрограмму (если станок ругается, мол, выходим за пределы Х или У - игнорируем)
Работает без нареканий.
ИМХО - лично меня беспоскоит и интересует положение фрезы относительно рабочего стола, а не расположенных (нараспев) "там, за горизонтом" концевиков или даже дачиков Хоме (то же касается и замеров жесткости - чтобы коллеги могли сравнивать критикуемые станки я обязательно сдалаю замеры на своем карликовофальшивоментном китайце, с фрезой в крайнем ниженм положении - надо только придумать, как измерить, измерялками я не шибко богат). Т.е. делаемые Версером датчики прекрасны и действительно нужны всем, но при работе с деревом можно обходиться другими способами. Как и уважаемый torvn77, с превеликим удовольствием пользуюсь LinuxCNC. После хомления для решения вопроса о сверке системы координат стола (технологической оснастки, расположенной на столе) использую подпрограмму и гирлянду цацок - Цацки - вырезаны из дерева. На "внутренние" и "наружные" диаметры - соотв. центруются (сопрягаются с контрольным отверстием на заготовке, рабочем столе, оснастке) на стандартный штифт (4, 5, 6, 8 мм) или на выступающий диаметр (например круглую головку болта). В качестве датчика используется сама фреза, диаметр с точки зрения математики не важен, как и диаметр подшипника. "Ответная" часть датчика - стандартные подшипники, в данном случае 608 и 6000. Умеренная толщина подшипника позволяет не очень беспокоиться о том, куда повернута фреза, электропроводность вполне стабильна, допуски круглости подшипников на высоте. В дырочку загнан многожильный провод, хвост которого распушил, уложил и придавил подшипником. Ну принцип понятен. В начало своих программ вставляю что-то типа -
В директории linuxcnc/nc_files лежит файлик home.ngc - При перемещениях сознательно используется G1 вместо G0, поскольку G0 бывает "быстрым" незачем раскачивать станок. Может, вследствие маленькой скорости, "срываться" - аборт по причине неразмыкания etc - повторный вызов (запуск) решает вопрос. Можно использовать и без подпрограммы - на вкладке LinuxCNC по F5 вызвать подпрограмму
o<home> call [10] (выставит все в ноль - незаданные апарметры передаются в подпрограмму как 0)
o<home> call [10] [100] [10] - соотв. в нужном месте станок будет "считать" как Х100 Y10.
Как пользуюсь -
1. разместил цацку где надо
2. завел в цацку вручную фрезу
3. вызвал подпрограмму (если станок ругается, мол, выходим за пределы Х или У - игнорируем)
Работает без нареканий.
Последний раз редактировалось a321 24 июн 2017, 15:26, всего редактировалось 2 раза.
- torvn77
- Мастер
- Сообщения: 2442
- Зарегистрирован: 02 июн 2012, 22:12
- Репутация: 215
- Откуда: Россия,Санкт-Петербург
- Контактная информация:
Re: Мои вспомогательные утилиты.
Я писал эту суброутину с теми же целями что и у вас - ставить относительный ноль
вот тут в исходниках linuxCNC есть пример панели GladeVCP, если хотите то можете попробовать сделать опираясь на неё для этой суброутины гуй.
https://github.com/LinuxCNC/linuxcnc/bl ... wordsub.ui
вот тут в исходниках linuxCNC есть пример панели GladeVCP, если хотите то можете попробовать сделать опираясь на неё для этой суброутины гуй.
https://github.com/LinuxCNC/linuxcnc/bl ... wordsub.ui