по рекомендации
была скачана установлена на станок эта конфигурация
Желающие, могут скачать исходник по ссылке выше.
конфигурация сыровата, был косячок с присвоением имен, явно лишний элемент pwmgen, кривоватые индикаторы в pyvcp и т.п.
Скачал, установил и поэкспериментировал, пришлось перевести readme
перевод под спойлером, кое-где мои коменты
(для просмотра содержимого нажмите на ссылку)Это конфигурация LinuxCNC 2.5 для гравера Buildlog.net 2.x.
Она имеет следующие функции:
- ось Х - портал, ось Y - каретка привод ременный движки 400 шагов - 1/8 микрошаг
- ось У - перемещение стола шпилька 1/4 дюйма 20 витков на дюйм
- ось Z. Управление лазером. Z<0 включает лазер. Обеспечивает хорошую совместимость с САМ
конфигурация модифицирует интерфейс AXIS. Удалены кнопки углов обзора. Кнопки PgUp/Dn - управляют столом (вверх\вниз)
от переводчика. Модификация выполняется путем запуска файла axisrc из ини-файла
Основное управление M3/M5 M3 - разрешает управление лазером
M5 прекращает.
Если управление разрешено (M3), то излучением можно управлять
перемещая ось Z в отрицательную зону (-0.01) , что позволяет избежать задержек при вкл/выкл лазера.
Конфигурация имеет скрипт M144, позволяющий гравировать растровое изображение.
Специальные команды
================
Лазерное управление
-------------
Управление лазерным зажиганием находится на выводе 17(8 -прим перев) параллельного порта.
управление мощностью лазера производится командой M68 E0 Qxxx, где xxx число от 0 до 1. Возможно, установка мощности на 1.0 будет больше, необходимо вашему лазеру. В нашем случае, максимальная мощность получается пи напряжении 4,3 вольт (при максимуме 5) соответственно нет смысла выставлять мощность более чем 0.7 (M68 E0 Q0.7 )
ниже 0.5 вольт наш лазер не работает. Учитывайте эти настройки при использовании САМ программы.
Лазер включается командо M3 Sxx, где xx количество пульсов/мм или (для имперцев) 1/25 пульсов на дюйм. M3 S0 то же самое, что M5 - лазер не работает.
Согласно ислледованиям некоего Dirk's(?) длина единичного импульса (устанавливаемая в ini файле) можно получить непрерывный сигнал для резки просто выбрав достаточно большое число xx. Например установка S10000, позволит получить непрерывный сигнал для любой скорости, большей чем F2 (2 м/мин?)
Для прямого управления лазером, используйте компанду M65 P0 в заголовке G-кода и команды M62 P0/M63 P0, а также M64 P0/M65 P0.
При этом команды M62/M63 будут отсрочены до конца кадра G1, а m64/M65 будут исполены немедленно.
Если вы используете управление лазером по оси Z, используйте малые перемещения порядка 0,01 чтоб планировщик не тратил время на "виртуальные перемещения"
Чиллер / Управление подачей воздуха
--------------------------
Для управления охладителем и подачей воздуха, имется отдельный выход 1 (16, прим перев) который включается автоматически по M3 и выключается по M5 через время , указанное в INI как EXTRA_CHILLER_TIME. (на самом деле, похоже это хотелки, а управление включением вытяжки и подачи воздуха в конце hal-файла . pin14 - воздух/охлаждение, pin16 - вытяжка прим перев)
Управление вентиляцией
--------------
На выводе 8 параллельного порта имеется еще один цифровой выход. Это может быть напрямую контролируется с помощью M62 / 63/64/65 P2. Я использую его для управления воздуходувкой которая удаляет дым от лазера. (на самом деле - см выше. на 8 ноге - сигнал PWM, прим перев)
Растровая гравировка
----------------
Растровые операции вызываются из G-кода путем вызова подпрограммы O145 с параметрами. В свою очередь эта программа вызывает питон-скрипты M144 и M145. Работа этих скриптов, выдает поток данных для растровой гравировки рисунка.
Из-за ограничений в LinuxCNC нет способа передать имя файла для
растрирования. Вместо этого, вы должны поместить номер в имя файла, например «flower-123.png». Текстовое имя может быть любым как вам удобно. но только, ключевым словом будет "-123". При этом скрипты будут искать строку "-123" в имени файла. Каталог поиска, может задан в секции [RASTER] IMAGE_PATH ini-файла. Если эта секция не опрелена, файл будет искаться в домашнем каталоге, если и там файл не будет найден, будет вызван файловый менеджер.
Изображение может быть любого размера или формы, и оно будет масштабировано , в соответствии с параметрами гравировки (см. ниже).
Можно использовать любой черно-белый рисунок, с корректным разрешением (DPI) Рисунок, после сканирования не изменяется.
Чтобы сделать растровую гравировку, шпиндель должен быть включен с помощью M3, как обычно, но параметр Sxx, не влияет на результат.
Все управление пульсацией контролируется процессом гравировки.
O145 работает как в милиметрах так и в дюймах (G20 или G21)
пример ипользования:
M3 S1 (включить шпиндель)
M68 E0 Q0.2 (выберите мощность гравировки)
F28200 (выберите скорость подачи )
O145 вызов [pic] [x] [y] [w] [h] [x-gap] [y-gap] [overscan]
где
* pic - номер, используемый для выбора файла изображения (с подстановочным знаком `* -pic. *`)
* x, y - верхний левый угол гравюры (место, где появится изображение (0,0))
* w, h - ширина и высота гравировки
* x-gap - мм/на пиксельный по горизонтали
* y-gap - мм/на пиксельный по вертикали
* overscan - выбег за края изображения (в мм? или в пикселях?)
Х-gap и у-gap независимы. Выбор Y-gap 0,085 мм (около
300 DPI) означает, что лазерная каретка будет перемещаться назад и вперед в 300 раз
для каждого дюйма высоты изображения. Чем меньше Y-gap-, тем дольше гравировка.
X-gap изменяет только частоту модулирования лазерного излучения
и, не влияет на время растрирования, если ваша система имеет достаточно
объем памяти. Очевидно, что любой x-gap меньше 1 / SCALE не имеет смысла, и будет близок к 2000 DPI.
Параметр overscan предназначен для разгона каретки, чтоб изображение по краям не темнело. Можно вычислить точное расстояние по формуле 0.5*F^2/2
где F - скорость подачи в мм., а А - ускорение.
Если вы готовы мириться с неравномерностью гравировки по краям, можете уменьшить значение overscan. Это несколько ускорить процесс гравировки.
Я не тестировал значение overscan=0, покольку то может вызать ошибку в программе.
пример:
Example:
G20 ( set inches mode )
M3 S20
M68 E0 Q0.5
F1110
O145 call [1587] [0.2133] [10.2867] [10.0733] [10.0733] [0.0033] [0.0033] [0.5]
(Обратите внимание, что пример в дюймах из-за G20!) Это гравирует изображение «dominos-1587.png» на X0.2133 Y10.2867, который составляет 10.0733 дюйма в квадрате.
X- и y-gaps составляют 0,0033 дюйма, что составляет 303 DPI. Скорость подачи составляет 1110IPM overscan - 0,5 дюйма.
установка
============
Это основано на установленной копии LinuxCNC Ubuntu 10.04 LTS Live CD.
Установите пользовательский компонент HAL лазерного импульса laserfreq.comp Первая команда устанавливает необходимые инструменты, если у вас их нет.
sudo apt-get install linuxcnc-dev build-essential
sudo halcompile --install laserfreq.comp
конфигурация
=============
(поскипано переводчиком)
все стандарно - base period, настройки осей и параллельного порта.
настройки [AXIS_2] - ось Z - можно не менять , то виртуальная ось.
благодарности
================
Jedediah Smith в Hacklab Toronto создал конфигурацию EMC2 для своих
лазер, который открыл мне глаза на то, насколько мощным является HAL. В частности,использование halstreamer, синхронизированное с внешним скриптом, является ключом к растровая гравировке.
Barton Dring's buildlog.net 2.x лазер - одно из лучших открытых аппаратных средств проектов в сети. Без его работы над планами и наборами у меня не было бы лазерного резака.
Дирк Ван Эссендельфт провел многочисленные эксперименты в DIY lasercutting
который он задокументировал на форумах buildlog.net. Его исследования
поведение PPI с нашими CO2-лазерами привело к улучшению производительности
PPI в этой конфигурации.
Джереми Ван Гринсвен повторил конструкцию и поделился своими изменениями в
своей ветке на github с улучшениями и новыми идеями.
==============
перевод Борис (Odekolon) для CNC-club.ru
теперь проблемы от переводчика
1 про управление частотой. Через команды M67 E0 xxx не получилось (нельзя привязать OUT ко входу IN/OUT
2 для модификации интерфеса пришлось раскоментить нужные строки в файле axisrc
текущая конфигурация под мой станок вот
конфигурация рабочая, проверенная, фанеру режет
Стоит флаг NO_FORCE_HOMING =1 чтоб можно было экспериментировать на компе без станка.
Для понимания работы есть схема связей hal-компонентов
логика работы немножко странновата но привыкнуть можно.
пример программы резки (управление излучением по оси Z)
резка проверена, работает.
пример программы растровой гравировки с файла-изображения
растровая гравировка пока не получилась файл, вроде находится, но гравировка не идет.
в планах:
-разобраться с растровой гравировкой
-доработать pyvcp-панель (добавить кнопок управления)
-может еще что-то...
если кто-то пользовался такой конфигурацией, или знает конфигурацию получше, прошу высказываться.
Советы приму с благодарностью.