Skip to main content

割字機驅動筆記

Technical
Author
Kuan-Yi Li
Table of Contents

修整雷射切割機的時候順便調校了一下割字機,來看一下它底層是怎麼從電腦驅動的。

歷史的演進
#

割字機有個親戚叫繪圖機。繪圖機是讓機器拿筆在紙上畫畫,而割字機則是把筆換成刀,可以用來切割卡典西德(cutting sheet)一類的材料。

割字機控的是 XY 軸,加上 Z 軸就成了 CNC(減法),再將刀改成原料噴嘴就成了 3D 印表機(加法)。

控制語法
#

類似的東西背後往往都是一脈相承,就像 CNC 和 3D 列印都用 G-code;繪圖機和割字機也有幾個常見的控制語法。

  • HP-GL - Hewlett-Packard Graphics Language
  • GP-GL - Graphtec Plotter Graphic Language
  • DMPL - Digital Microprocessor Plotter Language
  • CAMM-GL - Roland 這家廠商用的 Graphic Language

實際連接
#

以這次手邊新智捷(济南科星数控设备有限公司)的機器 800-PRO 來說,上面有 USB、RS-232 跟 SD 卡槽,支援 HPGL 及 DMPL 指令。

RS-232 跟 SD 卡槽好理解,一個是用 serial 的方式把指令送過去,另一個是把 HPGL 指令存成 PLT 檔後放在 SD 卡上做交換。

那 USB 又是怎麼一回事呢?

實際連接之後發現它有兩種模式,在不同模式下,接到電腦會看到不同的 PID,以不同的方式跟設備溝通。(VID 都是 STMicroelectronics 的,內部應該是用這家的 MCU)

  • Virtual COM Port
    • 0483:5740
    • Serial port
    • Linux device file: /dev/ttyACM*
  • Printer
    • 0483:5750
    • Parallel port
    • Linux device file: /dev/usb/lp*

Virtual COM Port 應該跟實體 COM Port 功能是一樣的,有趣的是 Printer 模式。看賣家給的 Windows 驅動居然又是另一家叫合肥润杰数控设备有限公司的廠商做出來的。

稍微研究了一下,該驅動的底層應該是用 Microsoft Plotter Driver 來實作。而 Microsoft Plotter Driver 又是走 HPGL 的,所以看來是不同廠商可以偷懶用同一份驅動程式,且用了這個驅動程式之後應該是 AutoCAD、Illustrator、CorelDRAW 都可以直接輸出。

跨平台驅動
#

若出於理念或安全考量,想在電腦端使用純 open source,不用廠商寫的 binary 的話,可以用 Inkcut 驅動。最近因為要改收費訂閱制而鬧得滿城風雨的 Cricut 至少有幾款機型裡面用的是 Atmel AVR 的 MCU,找到 open source firmware 刷機成吃 HPGL 的 serial device 之後,也可以跳 Inkcut。(原本就是 serial device 但不確定是吃什麼樣的語法就是。)

Inkscape 和 Inkcut 都是 open source 且跨平台的,用這套方案就不用擔心被綁死。