Motion86 函式庫

86Diuno IDE 從 Coding 318 版開始加入此函式庫,利用此函式庫能讓 86Duino 成為一個簡單的運動控制器(Motion controller)。

運動控制(Motion control)是自動化技術的一部份,產業自動化可以提升生產速度、降低生產成本、改善生產品質、增強市場競爭力,所以運動控制常被運用在包裝、印刷、紡織、半導體器件製造及生產線。
Motion86 函式庫能讓 86Duino 成為一個如 Arduino 般容易開發的運動控制器,能應用於產業機械自動化,提升產業精密度及生產速度。

由 86Duino 内建的 Motion86 函式庫主要特色如下:

  • 至多 9 軸的步進與伺服馬達運動控制,最高 10MHz 脈波輸出
  • 最多 3 組獨立軸群
  • 基本的點對點運動
  • 支援 G-Code
  • 多軸直線、圓弧、螺旋插補,細插補週期 0.5ms
  • 支援 JOG 功能
  • 支援手搖輪 (MPG)
  • 速度前瞻 (Look Ahead),程式預讀 1024 個單節
  • 即時反應的速度重設功能 (Feedrate Override)
  • 可設定電子齒輪比的軸跟隨功能

 

Machine 類別

此類別提供組態與控制 XYZ 機器軸群的方法,並增加更進階的函式使運動控制更加彈性與多變。

基本方法

Machine
~Machine
machineOn()
machineOff()
home()
gcode()
stop()
emgStop()
clearEMGStop()

基本控制

line()
arcXY()
arcXZ()
arcYZ()
arcXY_Theta()
arcXZ_Theta()
arcYZ_Theta()
circleXY()
circleXZ()
circleYZ()
helicalXY()
helicalXZ()
helicalYZ()

寫入組態

config_MaxVelocity()
config_MaxAcc()
config_PosLimit()
config_PPU()
config_ReverseDirection()
config_MaxPulseSpeed()
config_PulseMode()
config_HomePins()
setDefaultFeedrate()
setHomeSpeed()
setRelative()
setAbsolute()
enableSoftLimit()
disableSoftLimit()

讀取組態

getMaxVelocity()
getMaxAcc()
getPPU()
getActualPos()
getPulseMode()
getCmdCount()
getFreeCmdCount()
isDirectionReversed()
isMoving()
isValid()
isCmdBufferFull()

JOG / MPG 控制

beginJog()
endJog()
setJogSpeed()
setJogOffset()
beginMpg()
endMpg()
setMpgSpeed()
setMpgAxis()
setMpgRatio()
getJogPos()

速度重設功能

feedrateOverride()
getFeedrateOverride()

軸跟隨功能

config_EGearSlave()

協助計算工具

computePPU_Belt()
computePPU_LeadScrew()


展示影片


函式庫參考主頁面

The text of the 86Duino reference is a modification of the Arduino reference, and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.