⾃自幹CNC機台的⼼心路歷程 
C4LABS 楊宗凡(浪打)
⾃自介 
• 楊宗凡,浪打(lambda) 
• 成⼤大電機⼆二年級 
• 主持成⼤大開源社群 C4Labs 
• 計劃在成⼤大辦理Hackerspace 
! 
• GitHub : 
• github.com/sonicyang/ 
• about.me: 
• sonicyang.me
啓發
I WAS READING HACK A DAY 
• Youtube User : 
Richard Harris 
• 使⽤用DVD的軸、⾺馬達 
• 軟碟機的控制器 
• Linux CNC
我也可以⾃自幹⼀一檯啊
步進馬達(STEPPER MOTOR) 
• 四線式、六線式 
• ⼯工作原理 — 磁⼒力驅動轉⼦子 
• 驅動⽅方式 
• 四線式 — 雙極驅動 
• 六線式 — 單極驅動
FLOPPY INTERFACE 
• 三bit控制訊號 
• 制能 — Pin 10 
• ⽅方向 — Pin 18 
• 步進 — Pin 20 
= HIGH 
= HIGH 
LOW 
= Raising 
• 開機通電時,⾃自動透過光 
感測器RESET位置
如何控制? 
LINUX CNC !? 
微控制器 + H-BRIDGE(L293)
MSP430 
• 2013 賠售,現在依舊便宜 
• Low Power Consumption 
• 16bit, No FPU 
• Almost same as Arduino 
• No Bootloader 
! 
• Less I/Os
G-CODE 
• 移動 
G01 X00 Y100 Z20 F20 
• 畫圓 
G03 X2 Y0 I0 J-2.0 
• Query Statues 
M114 
• Motor Enables 
M17、M18
PYTHON 
• 傳送Serial資料 
• Interactive Shell 
• 依序傳送某檔案中的G-code
INSCAPE + G-CODE TOOLS
FINAL BLOCK DIAGRAM
故事告⼀一個段落,但是有⼈人找上我
SECOND VERSION 
• 來⾃自Taipei Fablab的 
朋友所製作的 
SMART RAP亂改版 
• 特別為了實驗室所製 
做 
• 價格低廉 
• 與前⾯面相同的架構, 
更改為Arduino 
Mega
不可思議的事情發⽣生了
我獲邀 去新加坡實習 
因為這些機器
PROTOTYPING MACHINE 
• MendelMax 2.0修改⽽而成 
• 特殊件都是可列印件 
• ⾃自⾏行設計的Z軸機構 
• ⼯工具為⾼高溫加熱器 
• 第⼀一次使⽤用ARM作驅動 
• 改進Python端程式 
• ⼤大幅度降低誤差 
• 採⽤用TI的⾺馬達驅動
LPC1343 
• ARM Cortex-M3 
• 無FPU 
• 72MHz 
• 搭配NXP的lpcxpresso IDE 
很好開發
JSCUT — WEB BASED CAM TOOL
PYTHON 
• 傳送Serial資料 
• Interactive Shell 
• 依序解析某檔案中的G-code為LPC端所讀的opcode 
• ⽐比先前⽀支援更多的G-code,同時提升精度與速度
FINAL BLOCK DIAGRAM
THIS TIME, I TRY SOMETHING NEW 
GOING FOR MAKERFAIRE
PCB MILLER 
• 不再⾃自RAPREP修改 
• 由⾃自⾝身經驗修改設計機構 
• 壓低價格 
• 使⽤用台灣容易取得的零件 
• 將所有任務都轉移到 
ARM上⾯面,讓機器可以 
脫離電腦 
• 挑戰FPGA控制 
• ⼈人機界⾯面
STM32F429 
• ARM Cortex-M4 
• 內建FPU 
• 時脈可達180MHz 
• 觸控式LCD 
• 極多的I/O 
• 可以直接當做USB裝置 
• 有SD卡介⾯面
TARGET BLOCK DIAGRAM
REFERENCE 
• http://sonicyang.github.io/CNC430/ 
• https://github.com/sonicyang/ARM-CNC 
• https://hackpad.com/CNC-PCB-Miller-Project- 
Proposal-ttaDKjUHuS8
THANKS FOR LISTENING 
ANY QUESTIONS?

Lambda's CNC @FabLab 10/27/14