← Home

Нюансы LinuxCNC

By Брендель В. М.

Для ферезеровки плат я заказал твердосплавные сверла и фрезы 12мил LPKF. Все они снабжены ограничительными кольцами, чтобы сверло/фреза при смене инструмента выходили из шпинделя на одну высоту. При экспорте кода из pcb-gcode плагина для EAGLE возникла следующая проблема. Смены инструмента по заданию есть, но станок приезжает в X0 Y0, немного задерживается, затем едет дальше. Также не работает шпиндель, хотя вроде при ручном вводе все работает.

В настройках ЧПУ станка в LinuxCNC стоит галочка Manual tool change. Заметил что прога ручной смены инструмента грузится при старте, значит проблема не в LinuxCNC а в коде, который генит pcbgcode. Заметил что везде стоит M6 T0, т.е. всегда просиходит смена иструмента на T0, вписываю T01, T02, T03 и все как из пушки - появлется дилоговое окно, мол вытащите инструмент, затем вставьте новый. Нужно заставить pcbgcode генерить код с правильными T01, T02... Тоже долго провозился. Оказывается нужно снять галочку в setup job "Use simple drill code". По мануалу: Use simple drill code Uses G00 and G01 commands to drill holes, rather than G82. This option is here for previewers and controllers that do not understand the G82 command. Помимо описанного выше, код упрощается до отсуствия смены инструмента. Воде сам M-code M6 есть, а вот операнды подставляются только T00, что и приводит к глюку.

Шпиндель не раскручивается атоматически. M3 - старт шпиндель, М5 - стоп. Вроде код есть но не выполняеются. Делаю гугл, нахожу: That s00 does catch us all once in a while. Fortunately the S word is modal so you don't have to repeat it each time you use the M word. Шпиндель не запускается, потому что не задана скорость, несмотря на то, что шпиндлю на эту скорость плевать, он работает по принципу вкл/выкл. Команда S200 лечит траблу, кстати s00 не работает. Команда модальная, что значит ее можно ввести один раз за сеанс и дальше все будет работать. Но если EMS перезапустить нужно делать S200 опять. Нужно заставить pcbgcode вставлять в начало каждого файла S200, а то не дай бог забуду сделать ручками, шпиндель не ключится поедет свердить и поломает сверло. Лучше для конвертации платы в g-code использовать CopperCam. Для KiKad можно испольвать командную утилиту pcb2gcode, а также FlatCam, bCNC and CNCjs. #!/bin/sh

Generate front+back mill + cut gcode

offset 0.125 (for isolation) can be tuned if pcb has room

pcb2gcode
--back *-B_Cu.gbr
--front *-F_Cu.gbr
--outline *-Edge_Cuts.gbr
--drill *.drl
--cut-feed=128 \