基于CORTEX-M3和CAN的印染機同步控制系統(tǒng)
摘要:為了增加印染聯(lián)合機的性能,同時實現(xiàn)印染聯(lián)合機同步控制系統(tǒng)的簡單化,在此采用基于CORTEX-M3內(nèi)核和CAN總線的印染聯(lián)合機同步控制系統(tǒng)。在設(shè)備選型上面放棄了以往PC機當(dāng)作總控制器的設(shè)計,而是采用便攜性更高的嵌入式處理器。在單元控制器方面,采用了基于ARM最新CORTEX-M3內(nèi)核的處理器。它具有高的處理速度,高精度的D/A、A/D轉(zhuǎn)換,以及CAN總線控制器。實驗表明這種印染聯(lián)合機的設(shè)計能夠很好地實現(xiàn)系統(tǒng)同步控制,同時降低了成本,以及開發(fā)難度。
關(guān)鍵詞:CORTEX-M3;CAN總線;同步控制;嵌入式處理器
0 引言
隨著社會生活的發(fā)展,人們對現(xiàn)在的印染品的要求也越來越高,特別是布匹與包裝外殼,那么對現(xiàn)代印染工藝的要求也越來越高。隨著工藝的增加,對印染設(shè)備是個不小的挑戰(zhàn),這里面最主要的是大型印染聯(lián)合機中多電機的同步控制問題。
在印染設(shè)備中,電機的同步控制主要有3方面決定:一是處理器對張力傳感器數(shù)據(jù)的處理速度,以及電機對張力傳感器的反應(yīng)速度;二是不同的電機組之間機械性能的差異以及它們產(chǎn)生的實時同時控制問題;三是控制單元與各電機組之間的通信問題,包括速率,抗干擾等。傳統(tǒng)印染聯(lián)合機的做法是采用單片機加AD/DA芯片進行數(shù)據(jù)的處理與執(zhí)行,也有為了提高數(shù)據(jù)的處理能力而采用DSP加單片機的做法。隨著現(xiàn)在技術(shù)的發(fā)展,在研究了基于ARM的CORTEX-M3內(nèi)核的處理器加CAN總線的分總系統(tǒng)設(shè)計方法。
總控制器和單元控制器,采用ST公司推出的基于ARM公司Cortex-M3核的STM32F103芯片嘗試進行新的設(shè)計。這種設(shè)計在提高系統(tǒng)性能的基礎(chǔ)上降低了成本同時實現(xiàn)了與現(xiàn)有印染設(shè)備的對接問題。
1 系統(tǒng)設(shè)計
1.1 系統(tǒng)結(jié)構(gòu)設(shè)計
根據(jù)現(xiàn)有印染行業(yè)的印染聯(lián)合機的具體情況,主要針對其控制系統(tǒng)進行改進。
在大型印染聯(lián)合機的設(shè)計中,主要考慮的是多電機的同步控制問題,需要保證布匹在傳送的過程中要平穩(wěn),不能因為電機的不同步而造成張力過大從而使布匹過度拉伸,也不能因為張力的不足而造成布匹的褶皺。在大型印染聯(lián)合機中根據(jù)工藝的復(fù)雜與簡單,需要同步的電機從8個到40多個不等,采用CAN總線網(wǎng)絡(luò)保證了可以根據(jù)工藝的不同自主的擴展單元控制器的個數(shù)。系統(tǒng)設(shè)計框圖如圖1所示。
1.2 系統(tǒng)的組成
系統(tǒng)主要由主控制器,單元控制器,CAN總線網(wǎng)絡(luò),以及變頻器組成。
主控制器是系統(tǒng)的主控單元,主要功能是顯示和控制整個系統(tǒng)狀態(tài)的工作狀態(tài),以及設(shè)置和調(diào)節(jié)系統(tǒng)的總要工作參數(shù),如布速,張力傳感器的靈敏度。協(xié)調(diào)各單元控制的工作狀態(tài)。
單元控制器的功能主要是微調(diào)張力傳感器的靈敏度,實時監(jiān)測個張力傳感器的數(shù)據(jù),根據(jù)各張力傳感器的數(shù)據(jù)調(diào)節(jié)輸出電壓從而調(diào)節(jié)對應(yīng)電機的工作狀態(tài),同時還要應(yīng)對突發(fā)狀況,例如張力傳感器失靈的處理,以及電機失速的處理。
1.3 單元控制器的具體設(shè)計
在設(shè)計中我采用的是基于ARM的CORTEX-M3內(nèi)核的芯片-STM32f103RCT6如圖2所示。它的特點有:STM32F103系列微處理器是首款基于ARMv 7-M體系結(jié)構(gòu)的32位標(biāo)準(zhǔn)RISC(精簡指令集)處理器,提供很高的代碼效率;工作頻率為72MHz,內(nèi)置高達256KB的FLASH存儲器和48KB的SRAM。
它內(nèi)部集成了12位的A/D以及雙通道的12位的D/A,還有專門面向工業(yè)控制的控制器區(qū)域網(wǎng)絡(luò)(CAN),它提供兼容規(guī)范2.0A和2.0B(主動),位速率高達1 Mb/s。它可以接收和發(fā)送11位標(biāo)識符的標(biāo)準(zhǔn)幀,也可以接收和發(fā)送29位標(biāo)識符的擴展幀。具有3個發(fā)送郵箱和2個接收FIFO,3級14個可調(diào)節(jié)的濾波器。
1.4 CAN總線接口設(shè)計
因為STM32的CAN總線控制器的邏輯電平均采用LVTTL,所以采用德州儀器公司生產(chǎn)的CAN總線收發(fā)器SN65HVD230。SN65HVD230可用于較高干擾環(huán)境下。它采用差分接收,具備抗寬范圍的共模干擾、電磁干擾能力。6N137構(gòu)成的隔離電路,這樣就可以很好地實現(xiàn)CAN總線上各節(jié)點的電氣隔離。增加隔離電路雖然增加了節(jié)點的復(fù)雜性,但它卻提高了節(jié)點的穩(wěn)定性和安全性。此外,為避免信號反射,導(dǎo)致通信的可靠性與抗干擾能力下降,甚至無法通信,因此,在CAN總線的兩端需要加有2個120Ω的總線阻抗匹配電阻。CAN接口設(shè)計如圖3所示。
2 系統(tǒng)工作原理
系統(tǒng)的工作原理主要包括4部分:系統(tǒng)的工作前的調(diào)節(jié),系統(tǒng)的啟動,工作中的時時同步調(diào)節(jié)以及對故障的處理。
(1)在系統(tǒng)工作前,因為印染設(shè)備的各電機單元機械部分屬性不可能都相同,所以要在傳送布匹前調(diào)節(jié)各個部分的運轉(zhuǎn)同步系數(shù)Li使其沒有負載時線速度一樣。在這里一般設(shè)置第1個單元控制器的第1個電機單元為主令單元,其他的為從動單元。需要調(diào)節(jié)個從動電機單元的運轉(zhuǎn)速度與主動單元的線速度一致。這個系數(shù)Li設(shè)置后就在以后的運行中固定下來。
(2)系統(tǒng)的啟動是由主控制器先向各單元控制器發(fā)出控制命令,包括設(shè)置布速V,以及達到布速v的上升時間間隔,然后主控制器給出總的啟動命令,單元控制器根據(jù)主控制器的命令設(shè)置對應(yīng)的8路信號輸出,從而控制各電機單元按照預(yù)先的設(shè)置的上升時間間隔運轉(zhuǎn)至設(shè)定的轉(zhuǎn)速。
(3)系統(tǒng)工作中的調(diào)節(jié),根據(jù)印染聯(lián)合機的實際工作中,當(dāng)當(dāng)電機轉(zhuǎn)速增加時,會改變張力傳感器的測量數(shù)據(jù)。根據(jù)公式:
Vout=V0Li+KiFi (1)
式中:Vout為D/A轉(zhuǎn)化的輸出電壓;Li為系統(tǒng)啟動前設(shè)置的運轉(zhuǎn)同步系數(shù);V0為主動電機單元的D/A輸出電壓;Fi為張力傳感器的輸出;Ki為VOUT輸出對張力傳感器輸出反饋Fi的靈敏性。通過輸出反饋Fi,在電機的控制端組成了一個小的閉環(huán)系統(tǒng)。張力傳感器示意圖如圖4所示。
張力傳感器反饋調(diào)節(jié)同步的基本原理:在正常狀態(tài),傳感器的觸點停在中間狀態(tài),這是傳感器的輸出電壓為零,當(dāng)電機轉(zhuǎn)速加快,造成布匹的張力變大時,會造成張力傳感器的觸點向下移動,這是傳感器的輸出會變?yōu)樨撝?,這是根據(jù)式(1),Vout的值會減小,也就減慢了相應(yīng)電機的轉(zhuǎn)速。這樣就可以達到同步的目的。
(4)對故障的處理:在實際的工業(yè)生產(chǎn)過程中,不能絕對保證系統(tǒng)會毫無故障的運行,根據(jù)以往的印染聯(lián)合機的生產(chǎn)經(jīng)驗,張力傳感器是里面可能會出故障部分,所以根據(jù)實際情況,在設(shè)計了張力傳感器的共享機制,以及電機輸出通道的自由配置功能,如果張力傳感器Fi不能夠正常工作,也就是說它所對應(yīng)輸出(Vout),沒有輸出調(diào)節(jié)功能。這時單元控制器會把他相鄰的電機控制電壓(Vout)i-1輸出到(Vout)i。
3 系統(tǒng)主要部分的的軟件設(shè)計
軟件設(shè)計采用模塊化的軟件設(shè)計思想,主要實現(xiàn)以下幾個模塊:主機人機交換界面,系統(tǒng)運行監(jiān)控模塊,各單元控制器CAN總線通信模塊,傳感器數(shù)據(jù)采集模塊,單元控制器電機控制調(diào)節(jié)模塊,故障分析判斷處理模塊以及運行數(shù)據(jù)保存模塊。其中CAN總線通信模塊,以及各模塊間的協(xié)調(diào)是難點。
3.1 CAN總線通信模塊設(shè)計
CAN總線通信模塊的主要作用是傳輸主控制器發(fā)出的控制命令,以及各單元控制器上傳各自的狀態(tài)數(shù)據(jù)。CAN節(jié)點收到數(shù)據(jù)后對數(shù)據(jù)進行解析,得到相應(yīng)的命令與數(shù)據(jù)。
CAN總線節(jié)點的軟件設(shè)計主要包括3部分:CAN節(jié)點初始化、報文發(fā)送和報文接收。初始化程序設(shè)計對于CAN總線節(jié)點的正常工作相當(dāng)重要。它主要包括工作方式、時鐘輸出寄存器、接收屏蔽寄存器、接收代碼寄存器、總線定時器、輸出控制寄存器和中斷允許寄存器的設(shè)置。
3.2 系統(tǒng)各軟件模塊間的工作協(xié)調(diào)
(1)主控制器通過把控制命令發(fā)送到CAN總線上面,相應(yīng)節(jié)點接收并提取相應(yīng)的命令,按照命令進行相應(yīng)的操作。
(2)各單元控制器循環(huán)采集各張力傳感器的數(shù)據(jù),根據(jù)數(shù)據(jù)時時調(diào)整相應(yīng)電機的工作狀態(tài)。
(3)各單元控制器每隔一定時間把各自下屬的8個電機狀態(tài)通過CAN總線發(fā)送給主控制器,主控制器提取里面的狀態(tài)信息,記錄各節(jié)點的狀態(tài)信息,并顯示在人機界面上面。
(4)人們可以根據(jù)具體的情況設(shè)置各個電機的工作狀態(tài)。
4 結(jié)語
從系統(tǒng)的原理設(shè)計可以看出,這種印染聯(lián)合機設(shè)計,采用主頻為72 MHz的處理器,可以把數(shù)據(jù)的處理在各單元控制器上面完成。采用由張力傳感器組成的最小反饋調(diào)節(jié)系統(tǒng),保證了系統(tǒng)的時時同步。改變了把狀態(tài)信息傳遞各總控制器后,由總控制器實施同步的大循環(huán)反饋方式。另外,這種設(shè)計采用了集成度比較高的MCU,有12位的A/D,D/A轉(zhuǎn)換通道,這樣系統(tǒng)就沒有外圍采樣電路,避免了工廠復(fù)雜環(huán)境對系統(tǒng)的影響。
總之,這種印染聯(lián)合機的設(shè)計實現(xiàn)了現(xiàn)有高性能處理器與先進的CAN總線控制網(wǎng)絡(luò)的結(jié)合,并且硬件設(shè)計簡單,抗干擾能力強,軟件模塊化設(shè)計。系統(tǒng)采用小的反饋回路,一方面減少了總線上面的數(shù)據(jù)流量,另一方面避免了總線上面的傳輸延時,使得電機同步更加及時準(zhǔn)確。