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