SM3100是一個基于SOPC的串型協議直接控制的運動控制芯片系列,它主要提供了串型協議的指令解析和多達4軸的運動控制,有T、S型加減速、位置管理、狀態控制、深指令預存等功能。適合于多節點控制的生產線數控系統,或組網性控制系統的應用。
在許多數控設備或自動控制系統中,尤其是生產線性質的系統設備中,往往都會出現多節點控制,超出10維/軸以上的運動控制。比如繡花機、印刷設備、包裝設備等非常之多,比較特別的還有太陽能工作站系統,地面衛星接收站控制系統(電視臺的地面占系統)。這類的應用案例中,系統的控制、組網、走線以及抗干擾都是需要解決的難題。
圖1
圖2
圖3
圖1是一個傳統的實現方法,用一個具有主運動控制及系統處理的主板,從這塊主板上再逐一連線到機械設備的各個位置的馬達驅動器上,形成一個直接多點控制系統,通過加強運動控制的軸數的處理或通過幾個普通運動控制卡擴展并用,在主控制板上完成多軸的處理。 可這樣的系統突出的缺點,是對于一個大的設備或控制系統,其信號線的行走距離太長、太雜,而且很容易受到干擾。
于是,更多的實現方法還是借助現場總線來完成多維/節點的運動控制系統,比如RS485和CAN總線,這非常有利于在一個大型設備中實現多點或組網性的控制系統。信號線走線簡潔、協議標準統一、系統抗干擾也很好,如圖2所示。在這樣的實現方案中,主處理板不需要含運動控制卡功能在內(有些設備要完成主軸的控制),只要完成運動控制的軟件層面的命令發送和人機界面處理即可。控制命令通過串行總線到每個接點的子處理板上,子處理板負責對串行總線的協議實現和一整套命令的解釋,然后再轉換成普通的并行總線接口對子運動控制板控制,每個子運動控制板又可以實現1到多軸的馬達控制,這樣又是一個小的多軸系統,空間范圍很容控制,而合在一起就形成了一個大的多點控制系統。
上述方法就利用了現場總線控制的優點。可是為了實現串行協議及指令的解釋,就多出了很多子處理板或處理部件(當子處理板和子運動控制板合在一起時),所以成本浪費,方案不簡潔,也不利于系統的可靠性。因此在子運動控制板上不需要借助額外的處理部件及軟件,直接依靠運動控制芯片來完成這樣的功能就完全有必要了。換言之,把對應的功能集成到通用運動控制芯片中去。
深圳市斯邁迪科技發展有限公司的SM3100系列SOPC運動控制芯片,就是可以滿足這樣的要求,利用它便可以組成圖3的優化方案。同時,它的超深度的運動控制脈沖指令預存的特點,更是使得系統的控制性能及可靠性得到了保障。
以下是SM3100系列芯片的功能及應用闡述。
1 串行協議控制的多軸運動控制芯片SM3100的功能及原理介紹
SM3100是一個基于SOPC的串型協議直接控制的運動控制芯片系列,她主要提供了串型協議的指令解析和多達4軸的運動控制,有T、S型加減速、位置管理、狀態控制、深指令預存等功能。適合應用到多節點控制的生產線數控設備中,或組網性控制系統中。
1.1 SM3100芯片特點及功能介紹
1.1.1 特點
2-4軸運動控制,帶外同步獨立控制;
直接串口協議對芯片控制,一個主串口,兩個從串口;
串口為高達2M的自動波特率UART口;
對串行控制指令的實現與解釋;
支持直接命令和連續同步兩種控制模式;
支持每軸2Kx24bit的分段脈沖數/指令緩存;
支持4軸獨立恒速、T型、S型加/減速模式
支持2-4軸獨立500KHZ脈沖輸出頻率;
支持多片級聯;
支持AB相手輪信號輸入;
SOPC方案,單芯片,單電源(3.3V)。
1.1.2 每個單獨軸的運動控制功能
控制脈沖輸出;
脈沖方向輸出;受軸控制字的D7控制
伺服ON/OFF;
軸狀態I/O 2-0輸出;
脈沖輸出允許,僅同步方式有效;
ABZ相編碼器輸入;
前導Z輸入;
正、反向超程控制;
兩個報警輸出
支持每軸6種特定輸入、3種狀態輸出、4種通用雙向輸入/輸出;
1.1.3 PWM信號、手輪輸入
該芯片包含兩路PWM信號,每路由8bit控制字節定義工作方式,每個基本周期為0.2s,8bit全0,輸出0,全1輸出1。
芯片有一個AB相信號的手輪輸入,可以通過選擇信號來確定手輪控制哪一個軸。
1.2 SM3100芯片的結構
該運動控制芯片內部結構如圖4所示。
圖4
1.3 SM3100芯片技術、原理介紹
1.3.1 運動控制操作模式
該運動控制芯片運行模式間切換如圖5所示。
圖5
該芯片可以工作在兩種模式,芯片上電復位后,如果外同步允許引腳Syn_En=0有效,則芯片工作在外同步運行模式,這時UART接口只能夠檢測運行狀態和禁止外同步運行,不能夠直接控制以產生脈沖輸出。如果外同步允許Syn_En=1無效或外同步被禁止,則可以通過UART接口直接控制全部運行。
該芯片UART接口采用自動波特率檢測技術,最高波特率可達2Mhz。要使用UART,首先需要同步波特率,這可以通過上位機發AAH、55H來完成。同步完成后,就可以正常使用UART。每次上電復位都需要同步波特率。
(1)直接命令運動控制:
當該運動控制芯片運行在直接命令運動控制方式時,允許上位機通過UART接口發送命令,控制運行。直接命令運動控制方式每條命令最多只能控制一軸的一段脈沖數控制,但可以分時啟動4個軸獨立運行,也可以一條條命令控制任一軸一段一段脈沖輸出控制。控制命令見命令列表。
(2)外同步連續運動控制:
當該運動控制芯片運行在外同步連續運動控制方式時,允許通過外同步信號Syn脈沖,來啟動4個軸同時運行同一系列號的不同脈沖數輸出控制。但這需要上位機預先通過UART接口將4個軸的各系列分段脈沖數寫入到16Kx8bit的SRAM中,每個軸支持1365個分段。SRAM結構如圖6所示。
圖6
1.3.2 速度模式
該運動控制芯片支持恒速、T型、S型加/減速脈沖輸出模式,脈沖輸出最高頻率為500KHZ;
恒速模式:支持5種預存速度值,該速度值只用于直接命令控制方式。
T型加/減速模式(見圖7):根據用戶指定的Vs、A、Ve,每8ms自動更新脈沖速度;
圖7
S型加/減速模式(見圖8):根據用戶指定的Vs、A、K、Ve,每8ms自動更新脈沖速度;
圖8
1.3.3 指令實現形式
(1)指令格式:
通過UART向控制芯片發命令+參數,共有4種格式,其格式如表1所示。

表1
(2)指令舉例(如表2)

表2
該控制芯片可以同時控制4個軸,這4個軸彼此完全獨立編程,并可共用一個外部同步信號作為段同步啟動信號。因此,4個軸的編程命令格式完全相同,用00H-1FH命令序號段表示X軸編程命令序號,20H-3FH表示Y軸編程命令序號,40H-5FH表示Z軸編程命令序號,60H-7FH表示W軸編程命令序號。
1.4 UART波特率設置
SM3100芯片采用自動波特率檢測,無論何時,只要向主UART口發送0x55就可以設置新的波特率。自動檢測機理是:如果已經成功設置好波特率F,新的期望的波特率不為F,此時發送0x55,會產生接受數據錯誤,內部重新自動檢測新的波特率。經過實測,只要連續發送3次0x55就可以正確設定新的波特率。注意,為保證可靠設置波特率,兩個0x55間最好間隔一個字符時間,即8bit時間。波特率更改時,允許發送任意個0x55,自波特率設定正確的0x55后的0x55都不當作有效的命令或參數。只有新的非0x55才會當作有效的命令或參數。特別注意,更新波特率時,最好從命令字節開始,不要從命令參數開始;否則,可能會引起后續的命令或參數不正常。
另外,如波特率沒有改變而發0x55,此時就會將0x55當成命令。(原定義0x55為有效命令,現改為無效命令)。
上電復位(復位時間<150us)后,缺省是波特率無效的準備接受命令狀態,需要重新設定波特率。
2 SM3100芯片以串行多點組網控制的應用
SM3100芯片是通過一個高速的主UART接口來實現對芯片直接串行控制的,經過UART接收來的指令及數據,再送到指令解釋模塊里面進行解釋,最后完成運動控制操作。而在物理層一般應用RS232和RS485協議,完成數據傳輸。其中RS232只適合點到點的短距離通信,RS485總線則非常適合于工業控制中的長距離傳輸及組網來對多節點控制。
2.1 RS485總線
RS485總線技術特點此處不再贅述。圖9給出了其網絡的示意;圖10給出了結合SM3100運動控制芯片應用的信號流協議格式安排。

圖9 圖10

圖11
2.2 SM3100結合RS485總線應用舉例
2.2.1 電腦繡花機控制系統
圖11是一個十幾軸以上的大型電腦繡花機,它的控制系統的原理可以由圖12來概括。

圖12
在工作過程中,主處理板完成對繡花機主軸(伺服馬達)的運動控制,以及對主軸的位置測定,根據測得的位置信息,將之反映在串行的運動控制指令里,發送到每一個子控制卡上,讓子控制卡對應的幾個馬達(步進馬達)完成相應的動作,這是一個位置跟隨的過程,實現操作中的合拍性、同步性。當然主處理板還結合軟件來實現加工數據的處理,即花型數據,由CAD/CAM產生的數據,以串行運動控制指令逐一發送到各個子板中。
2.2.2 太陽能電站的太陽鏡控制系統
圖13是一個現代化的太陽能發電站的實物照片,由一個太陽光能收集塔和數十面太陽光反射鏡組成。

圖13
這個系統的工作原理是,讓所有的反射鏡正對著太陽,讓光線最終聚焦到收集塔,由收集塔完成光電轉化。
因此,系統控制的關鍵點,就是由中央控制系統實時完地成對每一個反射鏡的運動控制,讓它們對準太陽,協調其運動讓反射光線聚焦到一點。所以,完全可以由前面圖3的系統方案來實現,通過RS485總線不斷地發送位置調整指令到每個太陽鏡。一般情況下,每個反射鏡由一個伺服系統控制,即可以完成精確的定位。