SM3100是一個(gè)基于SOPC的串型協(xié)議直接控制的運(yùn)動(dòng)控制芯片系列,它主要提供了串型協(xié)議的指令解析和多達(dá)4軸的運(yùn)動(dòng)控制,有T、S型加減速、位置管理、狀態(tài)控制、深指令預(yù)存等功能。適合于多節(jié)點(diǎn)控制的生產(chǎn)線數(shù)控系統(tǒng),或組網(wǎng)性控制系統(tǒng)的應(yīng)用。
在許多數(shù)控設(shè)備或自動(dòng)控制系統(tǒng)中,尤其是生產(chǎn)線性質(zhì)的系統(tǒng)設(shè)備中,往往都會(huì)出現(xiàn)多節(jié)點(diǎn)控制,超出10維/軸以上的運(yùn)動(dòng)控制。比如繡花機(jī)、印刷設(shè)備、包裝設(shè)備等非常之多,比較特別的還有太陽能工作站系統(tǒng),地面衛(wèi)星接收站控制系統(tǒng)(電視臺的地面占系統(tǒng))。這類的應(yīng)用案例中,系統(tǒng)的控制、組網(wǎng)、走線以及抗干擾都是需要解決的難題。
圖1
圖2
圖3
圖1是一個(gè)傳統(tǒng)的實(shí)現(xiàn)方法,用一個(gè)具有主運(yùn)動(dòng)控制及系統(tǒng)處理的主板,從這塊主板上再逐一連線到機(jī)械設(shè)備的各個(gè)位置的馬達(dá)驅(qū)動(dòng)器上,形成一個(gè)直接多點(diǎn)控制系統(tǒng),通過加強(qiáng)運(yùn)動(dòng)控制的軸數(shù)的處理或通過幾個(gè)普通運(yùn)動(dòng)控制卡擴(kuò)展并用,在主控制板上完成多軸的處理。 可這樣的系統(tǒng)突出的缺點(diǎn),是對于一個(gè)大的設(shè)備或控制系統(tǒng),其信號線的行走距離太長、太雜,而且很容易受到干擾。
于是,更多的實(shí)現(xiàn)方法還是借助現(xiàn)場總線來完成多維/節(jié)點(diǎn)的運(yùn)動(dòng)控制系統(tǒng),比如RS485和CAN總線,這非常有利于在一個(gè)大型設(shè)備中實(shí)現(xiàn)多點(diǎn)或組網(wǎng)性的控制系統(tǒng)。信號線走線簡潔、協(xié)議標(biāo)準(zhǔn)統(tǒng)一、系統(tǒng)抗干擾也很好,如圖2所示。在這樣的實(shí)現(xiàn)方案中,主處理板不需要含運(yùn)動(dòng)控制卡功能在內(nèi)(有些設(shè)備要完成主軸的控制),只要完成運(yùn)動(dòng)控制的軟件層面的命令發(fā)送和人機(jī)界面處理即可??刂泼钔ㄟ^串行總線到每個(gè)接點(diǎn)的子處理板上,子處理板負(fù)責(zé)對串行總線的協(xié)議實(shí)現(xiàn)和一整套命令的解釋,然后再轉(zhuǎn)換成普通的并行總線接口對子運(yùn)動(dòng)控制板控制,每個(gè)子運(yùn)動(dòng)控制板又可以實(shí)現(xiàn)1到多軸的馬達(dá)控制,這樣又是一個(gè)小的多軸系統(tǒng),空間范圍很容控制,而合在一起就形成了一個(gè)大的多點(diǎn)控制系統(tǒng)。
上述方法就利用了現(xiàn)場總線控制的優(yōu)點(diǎn)??墒菫榱藢?shí)現(xiàn)串行協(xié)議及指令的解釋,就多出了很多子處理板或處理部件(當(dāng)子處理板和子運(yùn)動(dòng)控制板合在一起時(shí)),所以成本浪費(fèi),方案不簡潔,也不利于系統(tǒng)的可靠性。因此在子運(yùn)動(dòng)控制板上不需要借助額外的處理部件及軟件,直接依靠運(yùn)動(dòng)控制芯片來完成這樣的功能就完全有必要了。換言之,把對應(yīng)的功能集成到通用運(yùn)動(dòng)控制芯片中去。
深圳市斯邁迪科技發(fā)展有限公司的SM3100系列SOPC運(yùn)動(dòng)控制芯片,就是可以滿足這樣的要求,利用它便可以組成圖3的優(yōu)化方案。同時(shí),它的超深度的運(yùn)動(dòng)控制脈沖指令預(yù)存的特點(diǎn),更是使得系統(tǒng)的控制性能及可靠性得到了保障。
以下是SM3100系列芯片的功能及應(yīng)用闡述。
1 串行協(xié)議控制的多軸運(yùn)動(dòng)控制芯片SM3100的功能及原理介紹
SM3100是一個(gè)基于SOPC的串型協(xié)議直接控制的運(yùn)動(dòng)控制芯片系列,她主要提供了串型協(xié)議的指令解析和多達(dá)4軸的運(yùn)動(dòng)控制,有T、S型加減速、位置管理、狀態(tài)控制、深指令預(yù)存等功能。適合應(yīng)用到多節(jié)點(diǎn)控制的生產(chǎn)線數(shù)控設(shè)備中,或組網(wǎng)性控制系統(tǒng)中。
1.1 SM3100芯片特點(diǎn)及功能介紹
1.1.1 特點(diǎn)
2-4軸運(yùn)動(dòng)控制,帶外同步獨(dú)立控制;
直接串口協(xié)議對芯片控制,一個(gè)主串口,兩個(gè)從串口;
串口為高達(dá)2M的自動(dòng)波特率UART口;
對串行控制指令的實(shí)現(xiàn)與解釋;
支持直接命令和連續(xù)同步兩種控制模式;
支持每軸2Kx24bit的分段脈沖數(shù)/指令緩存;
支持4軸獨(dú)立恒速、T型、S型加/減速模式
支持2-4軸獨(dú)立500KHZ脈沖輸出頻率;
支持多片級聯(lián);
支持AB相手輪信號輸入;
SOPC方案,單芯片,單電源(3.3V)。
1.1.2 每個(gè)單獨(dú)軸的運(yùn)動(dòng)控制功能
控制脈沖輸出;
脈沖方向輸出;受軸控制字的D7控制
伺服ON/OFF;
軸狀態(tài)I/O 2-0輸出;
脈沖輸出允許,僅同步方式有效;
ABZ相編碼器輸入;
前導(dǎo)Z輸入;
正、反向超程控制;
兩個(gè)報(bào)警輸出
支持每軸6種特定輸入、3種狀態(tài)輸出、4種通用雙向輸入/輸出;
1.1.3 PWM信號、手輪輸入
該芯片包含兩路PWM信號,每路由8bit控制字節(jié)定義工作方式,每個(gè)基本周期為0.2s,8bit全0,輸出0,全1輸出1。
芯片有一個(gè)AB相信號的手輪輸入,可以通過選擇信號來確定手輪控制哪一個(gè)軸。
1.2 SM3100芯片的結(jié)構(gòu)
該運(yùn)動(dòng)控制芯片內(nèi)部結(jié)構(gòu)如圖4所示。
圖4
1.3 SM3100芯片技術(shù)、原理介紹
1.3.1 運(yùn)動(dòng)控制操作模式
該運(yùn)動(dòng)控制芯片運(yùn)行模式間切換如圖5所示。
圖5
該芯片可以工作在兩種模式,芯片上電復(fù)位后,如果外同步允許引腳Syn_En=0有效,則芯片工作在外同步運(yùn)行模式,這時(shí)UART接口只能夠檢測運(yùn)行狀態(tài)和禁止外同步運(yùn)行,不能夠直接控制以產(chǎn)生脈沖輸出。如果外同步允許Syn_En=1無效或外同步被禁止,則可以通過UART接口直接控制全部運(yùn)行。
該芯片UART接口采用自動(dòng)波特率檢測技術(shù),最高波特率可達(dá)2Mhz。要使用UART,首先需要同步波特率,這可以通過上位機(jī)發(fā)AAH、55H來完成。同步完成后,就可以正常使用UART。每次上電復(fù)位都需要同步波特率。
(1)直接命令運(yùn)動(dòng)控制:
當(dāng)該運(yùn)動(dòng)控制芯片運(yùn)行在直接命令運(yùn)動(dòng)控制方式時(shí),允許上位機(jī)通過UART接口發(fā)送命令,控制運(yùn)行。直接命令運(yùn)動(dòng)控制方式每條命令最多只能控制一軸的一段脈沖數(shù)控制,但可以分時(shí)啟動(dòng)4個(gè)軸獨(dú)立運(yùn)行,也可以一條條命令控制任一軸一段一段脈沖輸出控制??刂泼钜娒盍斜?。
(2)外同步連續(xù)運(yùn)動(dòng)控制:
當(dāng)該運(yùn)動(dòng)控制芯片運(yùn)行在外同步連續(xù)運(yùn)動(dòng)控制方式時(shí),允許通過外同步信號Syn脈沖,來啟動(dòng)4個(gè)軸同時(shí)運(yùn)行同一系列號的不同脈沖數(shù)輸出控制。但這需要上位機(jī)預(yù)先通過UART接口將4個(gè)軸的各系列分段脈沖數(shù)寫入到16Kx8bit的SRAM中,每個(gè)軸支持1365個(gè)分段。SRAM結(jié)構(gòu)如圖6所示。
圖6
1.3.2 速度模式
該運(yùn)動(dòng)控制芯片支持恒速、T型、S型加/減速脈沖輸出模式,脈沖輸出最高頻率為500KHZ;
恒速模式:支持5種預(yù)存速度值,該速度值只用于直接命令控制方式。
T型加/減速模式(見圖7):根據(jù)用戶指定的Vs、A、Ve,每8ms自動(dòng)更新脈沖速度;
圖7
S型加/減速模式(見圖8):根據(jù)用戶指定的Vs、A、K、Ve,每8ms自動(dòng)更新脈沖速度;
圖8
1.3.3 指令實(shí)現(xiàn)形式
(1)指令格式:
通過UART向控制芯片發(fā)命令+參數(shù),共有4種格式,其格式如表1所示。
表1
(2)指令舉例(如表2)
表2
該控制芯片可以同時(shí)控制4個(gè)軸,這4個(gè)軸彼此完全獨(dú)立編程,并可共用一個(gè)外部同步信號作為段同步啟動(dòng)信號。因此,4個(gè)軸的編程命令格式完全相同,用00H-1FH命令序號段表示X軸編程命令序號,20H-3FH表示Y軸編程命令序號,40H-5FH表示Z軸編程命令序號,60H-7FH表示W(wǎng)軸編程命令序號。
1.4 UART波特率設(shè)置
SM3100芯片采用自動(dòng)波特率檢測,無論何時(shí),只要向主UART口發(fā)送0x55就可以設(shè)置新的波特率。自動(dòng)檢測機(jī)理是:如果已經(jīng)成功設(shè)置好波特率F,新的期望的波特率不為F,此時(shí)發(fā)送0x55,會(huì)產(chǎn)生接受數(shù)據(jù)錯(cuò)誤,內(nèi)部重新自動(dòng)檢測新的波特率。經(jīng)過實(shí)測,只要連續(xù)發(fā)送3次0x55就可以正確設(shè)定新的波特率。注意,為保證可靠設(shè)置波特率,兩個(gè)0x55間最好間隔一個(gè)字符時(shí)間,即8bit時(shí)間。波特率更改時(shí),允許發(fā)送任意個(gè)0x55,自波特率設(shè)定正確的0x55后的0x55都不當(dāng)作有效的命令或參數(shù)。只有新的非0x55才會(huì)當(dāng)作有效的命令或參數(shù)。特別注意,更新波特率時(shí),最好從命令字節(jié)開始,不要從命令參數(shù)開始;否則,可能會(huì)引起后續(xù)的命令或參數(shù)不正常。
另外,如波特率沒有改變而發(fā)0x55,此時(shí)就會(huì)將0x55當(dāng)成命令。(原定義0x55為有效命令,現(xiàn)改為無效命令)。
上電復(fù)位(復(fù)位時(shí)間<150us)后,缺省是波特率無效的準(zhǔn)備接受命令狀態(tài),需要重新設(shè)定波特率。
2 SM3100芯片以串行多點(diǎn)組網(wǎng)控制的應(yīng)用
SM3100芯片是通過一個(gè)高速的主UART接口來實(shí)現(xiàn)對芯片直接串行控制的,經(jīng)過UART接收來的指令及數(shù)據(jù),再送到指令解釋模塊里面進(jìn)行解釋,最后完成運(yùn)動(dòng)控制操作。而在物理層一般應(yīng)用RS232和RS485協(xié)議,完成數(shù)據(jù)傳輸。其中RS232只適合點(diǎn)到點(diǎn)的短距離通信,RS485總線則非常適合于工業(yè)控制中的長距離傳輸及組網(wǎng)來對多節(jié)點(diǎn)控制。
2.1 RS485總線
RS485總線技術(shù)特點(diǎn)此處不再贅述。圖9給出了其網(wǎng)絡(luò)的示意;圖10給出了結(jié)合SM3100運(yùn)動(dòng)控制芯片應(yīng)用的信號流協(xié)議格式安排。
圖9 圖10
圖11
2.2 SM3100結(jié)合RS485總線應(yīng)用舉例
2.2.1 電腦繡花機(jī)控制系統(tǒng)
圖11是一個(gè)十幾軸以上的大型電腦繡花機(jī),它的控制系統(tǒng)的原理可以由圖12來概括。
圖12
在工作過程中,主處理板完成對繡花機(jī)主軸(伺服馬達(dá))的運(yùn)動(dòng)控制,以及對主軸的位置測定,根據(jù)測得的位置信息,將之反映在串行的運(yùn)動(dòng)控制指令里,發(fā)送到每一個(gè)子控制卡上,讓子控制卡對應(yīng)的幾個(gè)馬達(dá)(步進(jìn)馬達(dá))完成相應(yīng)的動(dòng)作,這是一個(gè)位置跟隨的過程,實(shí)現(xiàn)操作中的合拍性、同步性。當(dāng)然主處理板還結(jié)合軟件來實(shí)現(xiàn)加工數(shù)據(jù)的處理,即花型數(shù)據(jù),由CAD/CAM產(chǎn)生的數(shù)據(jù),以串行運(yùn)動(dòng)控制指令逐一發(fā)送到各個(gè)子板中。
2.2.2 太陽能電站的太陽鏡控制系統(tǒng)
圖13是一個(gè)現(xiàn)代化的太陽能發(fā)電站的實(shí)物照片,由一個(gè)太陽光能收集塔和數(shù)十面太陽光反射鏡組成。
圖13
這個(gè)系統(tǒng)的工作原理是,讓所有的反射鏡正對著太陽,讓光線最終聚焦到收集塔,由收集塔完成光電轉(zhuǎn)化。
因此,系統(tǒng)控制的關(guān)鍵點(diǎn),就是由中央控制系統(tǒng)實(shí)時(shí)完地成對每一個(gè)反射鏡的運(yùn)動(dòng)控制,讓它們對準(zhǔn)太陽,協(xié)調(diào)其運(yùn)動(dòng)讓反射光線聚焦到一點(diǎn)。所以,完全可以由前面圖3的系統(tǒng)方案來實(shí)現(xiàn),通過RS485總線不斷地發(fā)送位置調(diào)整指令到每個(gè)太陽鏡。一般情況下,每個(gè)反射鏡由一個(gè)伺服系統(tǒng)控制,即可以完成精確的定位。