ПОЛЕЗНО Candle: реализация мечты

Как одной кнопкой Вкл/Выкл СОЖ (М8/М9)? Нажал, включилось, еще нажал, выключилось.
Помню где-то видел синтаксис команды, но уж неделю нагуглить не могу... Или приснилось...
Зачем гуглить? У кнопки "пауза" и "шпиндель" такой синтаксис, только перенаправить.
 
Зачем гуглить? У кнопки "пауза" и "шпиндель" такой синтаксис, только перенаправить.
Спасибо.
На панели оказывается есть кнопка "СОЖ"... какой-то я не внимательный... совсем...
 
А можно для "развлечения" встроить в Candle карту высот которая применяется в Вашем автономном контролёре
Пришло время "поразвлекаться" с картой. Для интерполяции по карте используется т.н. бикубический алгоритм. Как я писал раньше, в кодах этот алгоритм реализован правильно. Но есть сомнения в применимости самого алгоритма для наших целей. Дело в том, что эта интерполяция искуственно повышает резкость на краях зон. Что неплохо, например, для фотографий, но не совсем то для наших баранов. Также есть и другие бяки, кому интересно - подробности здесь.
Вообщем, добавлю треугольную интерполяцию, а потом сравню точности.

Вторая возможная проблема - применение мелкоячеистой сетки (Interpolation grid) для разбивки сегментов движений по XY на субсегменты. Это несколько нелогичный подход, было бы логичнее задать минимальную длину сегмента в миллиметрах (по моему опыту с ПП ~1мм), при превышении которой сегмент надо разбивать на субсегменты. А так, если требуется равномерная интерполяция с правильным выбором мин. длины сегмента, к-во точек мелкоячеистой сетки приходится считать вручную, исходя из мин. длины сегмента и размеров детали. Если же не пересчитывать - неправильный выбор к-ва точек может сильно сказаться на качестве коррекции Z.
 
Занимался как-то этой темой, да зашел в тупик. Даже на математическом форуме выкладывал задачу. В итоге забил:confused:
 
Занимался как-то этой темой, да зашел в тупик. Даже на математическом форуме выкладывал задачу. В итоге забил:confused:
Эксперименты покажут, ху есть кто. Добавлю треугольную и билинейную интерполяцию в Candle, потом покатаю индикатор по интерполированным областям, и сразу будет видно, какая из трех интерполяций работает лучше.
 
Эксперименты покажут, ху есть кто. Добавлю треугольную и билинейную интерполяцию в Candle, потом покатаю индикатор по интерполированным областям, и сразу будет видно, какая из трех интерполяций работает лучше.

Как сказал дядька extrimus : Не надо меня уговаривать, я решил сходить с ума постепенно. :D

оффтоп
 
  • Последнее редактирование:
Последнее редактирование:
Дополнительно к "родной" бикубической интерполяции закодировал треугольную и билинейную. И поэкспериментировал со всеми тремя (пока без индикатора), но с интерполяцией данных на основе реальной карты.

С билинейной стало сразу все понятно: скачки на краях зон - это нам не нужно, в топку. И из списка интерполяций в Candle-Tools я ее убрал.

Потом сравнил треугольную и бикубическую интерполяции. Скачков на краях зон нет у обеих. У треугольной - по определению, у бикубической - из-за искуственного сглаживания. Вследствии чего вблизи краев зон обе интерполяции дают близкие результаты, разница - меньше 10%.
Но, с другой стороны, сглаживание в бикубической интерполяции приводит к разнице результатов, даваемых двумя алгоритмами внутри зоны. И чем ближе к центру зоны - тем больше разница, доходит до 70%. И что интересно, внутри зон треугольная будет опускать фрезу поглубже, чем бикубическая.

Это результаты сравнения. А вот кто из двух лучше подходит для ПП - это только индикатор покажет, завтра буду его пристраивать, держатель у него под 3018 ПРО, под МАХ придется новый делать.
 
  • Последнее редактирование:
Последнее редактирование:
Приделал треугольную интерполяцию. Также сделал более адекватное назначения размера суботрезка на интерполяционной сетке (не через к-во точек, а через физический размер в мм). Назначается в Interpolation grid, в X и Y. Рекомендуестя задавать одинаковые размеры суботрезков по Х и Y.
1670100220349.png
Протестировал экспериментально два типа интерполяции, сравнивая реальные и интерполированные результаты при помощи индикатора. Кино снимать поленился.
1670100315603.png

Результаты экспериментов.
1. Размер ПП - 100х10мм. Сетка карты - 10х10мм. Суботрезок - 1мм. Без интерполяции - отклонение около 0.2мм. С интерполяциеий - 15-20мкм, для обоих типов интерполяции примерно одинаково.
2. Размер ПП - 100х20мм. Сетка карты - 20х20мм. Суботрезок - 1мм. Без интерполяции - отклонение около 0.2мм. С интерполяциеий - 20-25мкм, для обоих типов интерполяции примерно одинаково, немного меньше для треугольной.

Выводы.
1. Оба типа интерполяции дают примерно одинаковые результаты.
2. Карту можно снимать на довольно крупной сетке, 20х20мм. Назначив заглубление по Z на 10-15мкм больше. Для удобства сделал отображение размера ячейки сетки карты
1670101406947.png

Экзешник этой версии Candle-Tools_v5.exe.zip - в приложении, достаточно распаковать в директорию Candle-Tools.
Полная версия - здесь.
 

Вложения

  • Candle-Tools_v5.exe.zip
    691.3 KB · Просмотры: 48
  • Последнее редактирование:
Последнее редактирование:
P.S. Если удасться сделать ввод с цифрового индикатора в PC - сделаю более детальные измерения.
 
Есть распространенное мнение, что кнопка аварийной остановки должна срабатывать мгновенно. Но при этом забывается, что скорость человеческой реакции - порядка нескольких сотен миллисекунд. И это для человека, подготовившегося к неприятностям. А для неготового, что типично для работы с ЧПУ - может доходить до секунды. В то время, как задержка в срабатывании такой кнопки - 50-100 мс (определяется частотой опроса в назначениях).
1669220170536-png.42384

Т.е. фактически нет разницы, как подключена кнопка, все равно основная задержка - в скорости человеческой реакции.
В принципе не правильный подход, скорость человеческой реакции тут ни при чем, вообще, кстати она бывает и быстрее заявленной вами, но дело то не в ней, любой перемещающийся/вращающейся объект имеет какую-то массу, а значит и инерцию, и без наличия тормоза способного моментально погасить эту инерцию (в какой-то циркулярной пиле такой использовали, нечто блокирующие вращение диска путем разрушения, в интернете даже видео ходит как под диск сосиску подсовывают вместо пальца) , так вот не имея такого, моментального тормоза, задача красной кнопки как можно скорее остановить все. Почему ее делают в основном не программной, да просто по тому что она способна отключить электро питание станка, то есть его обесточить, это в китайских станках делают не пойми что используя функцию стоп(сброс или ещё что то подобное) но на настоящих, стоит магнитный пускатель или реле прямо на входе (первый элемент в электросхема мехду внешней и внутренней электрической сетью) который при нажатии отключает всю внутреннюю сеть, может ли быть эта кнопка программной, да пожалуйста, но это задержка во времени, а значит и лишнее время работы , а остановка и так растянута во времени инерцией перемещающихся/вращающихся узлов станка, так вот именно его вы растягиваете ещё и ожиданием опроса, да и электро питание станка при этом не обрывается, что то же не хорошо, ну на cnc 3018 это в принципе все равно, ну сгорит плата, новую купить не долго, да и током вас не ударит при пробое на корпус станка, а вот на чем то более серьезном где возможно даже чисто теоретическое попадание высокого напряжения на корпус станка, вот там обесточивание уже критично. Пример: ставите вы шпиндель, и дополнительный блок питания, (частный случай но вполне реалистичный), у вас отрывается провод питания на 220в и прислоняется к корпусу, вы зная что у вас все заземлено об этом даже не думая берётесь за корпус блока питания , а в это время заземления нет, по какой то причине, хотя бы к примеру провод заземления отвалился/сгорел/переломился, вы тут же жмёте на красную кнопку а толку ноль, блок питания как был под напряжением так и остался. Скажете частный случай, один на миллион, что же даже фото могу дать одной такой частности, с которой я лично сам столкнулся, да дело было не с cnc (не сработало УЗО в водонагревателе) а пока автомат основной сработал получил вот такой результат42654
Хорошо я как то умудрился это заметить и погасить, (дело было зимой на даче в 11вечера (обычно я в это время уже сплю) а тут и не спал, и вышел , уже не помню зачем, специально этот кусок не заделываю уже года 3 , что бы напоминание мне было, что защит лишних не бывает, и легко может произойти то , что вроде как и в принципе не возможно. Так что с безопасностью не стоит играть.
 
Результаты экспериментов.
1. Размер ПП - 100х10мм. Сетка карты - 10х10мм. Суботрезок - 1мм. Без интерполяции - отклонение около 0.2мм. С интерполяциеий - 15-20мкм, для обоих типов интерполяции примерно одинаково.
2. Размер ПП - 100х20мм. Сетка карты - 20х20мм. Суботрезок - 1мм. Без интерполяции - отклонение около 0.2мм. С интерполяциеий - 20-25мкм, для обоих типов интерполяции примерно одинаково, немного меньше для треугольной.
Сделал те же эксперименты, но с более мелкой сеткой карты, 5х5мм. Отклонения увеличились до 35мкм. :(

Дело тут, видимо, вот в чем. Теоретически все правильно: чем чаще сетка - тем больше точность интерполяции. Но чтобы реальзовать это, механика станка должна правильно отрабатывать микронные перемещения по Z. А это, учитывая нестабильность люфтов при микронных перемещениях, на наших станках практически невозможно. Поэтому когда программа, скажем, назначает перемещение 5мкм, фреза в реалиях может переместиться в пределах 0-15мкм.

Вообщем, при снятии карты для ПП не стоит гоняться за "маленькими тётями", ячейки 10-20мм оптимальны.
 
Супер
ТС респект и уважуха...
Прочитал тему на одном дыхании, теперь буду разбираться...
Сендер bCNC теперь не нужен ?? :))
Вот еще бы парочку осей добавить....:))
 
Сверху Снизу
Обнаружен блокировщик рекламы AdBlock

МЫ ДОГАДЫВАЕМСЯ, ЧТО РЕКЛАМА ВАС РАЗДРАЖАЕТ!

Конечно, Ваше программное обеспечение для блокировки рекламы отлично справляется с блокировкой рекламы на нашем сайте, но оно также блокирует полезные функции. Мы стараемся для Вас и не обязываем Вас донатить и скидывать денег на наши кошельки, чтобы пользоваться форумом, но реклама это единственное, что позволяет поддерживать проект и развивать его.

Спасибо за Ваше понимание!

Я отключил свой AdBlock    Нет, я не буду ничего отключать