任慧娟,肖福禮,俞 琳,崔朋娟
(1.西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,西安 710048;2.西安工程大學(xué) 服裝與藝術(shù)設(shè)計(jì)學(xué)院,西安 710048)
添加橡筋作為針織物保持形態(tài)、松緊度的重要方式,可以使織物保持良好的柔韌性與延展性[1]。橡筋在織物中的使用可以追溯到20世紀(jì)末,1989年莊有根[2]提出了單針筒針織機(jī)仿螺紋橡筋襪口方法,解決了折口連續(xù)織襪存在的制造工藝復(fù)雜問題。沈人齊、竺素丹[3]等人針對(duì)織物摻加橡筋的壓力及舒適度建立測(cè)試模型,通過數(shù)據(jù)分析闡述橡筋對(duì)織物舒適度的重要性,自此,橡筋在織物中摻雜工藝得以廣泛應(yīng)用。而傳統(tǒng)針織機(jī)的橡筋輸送卻停留在機(jī)械傳動(dòng)模式,輸送速度固定,且多為單路輸出,很難適應(yīng)如今個(gè)性化織物的發(fā)展。橡筋在織物中的摻雜方式具有3種:橡筋與外面織物交織配合、橡筋與內(nèi)面織物交織配合、橡筋?yuàn)A在內(nèi)外織物中間。因此傳統(tǒng)的單路橡筋輸送裝置,不能滿足多路橡筋同時(shí)輸送的要求。在橡筋輸送裝置系統(tǒng)設(shè)計(jì)中,多采用針織機(jī)機(jī)械傳動(dòng)結(jié)構(gòu)驅(qū)動(dòng),橡筋輸送速度固定,橡筋摻雜密度相同,力學(xué)性能單一,不利于調(diào)節(jié)織物形態(tài)與結(jié)構(gòu),傳統(tǒng)橡筋輸送裝置在形狀變化的織物摻雜中存在局限性。因此,多路變速橡筋輸送裝置的電路控制系統(tǒng)的研究具有重要意義。
I2C總線內(nèi)部是一個(gè)簡(jiǎn)單的,低帶寬,短距離傳輸協(xié)議的集成電路[4-7]。為了保證電子產(chǎn)品的制造成本,飛利浦半導(dǎo)體在20世紀(jì)80年代初提出該通信總線。I2C總線允許7位或10位具有兩個(gè)雙向線尋址:串行時(shí)鐘(SCL)和串行數(shù)據(jù)(SDA)[8-10]。目前,I2C的運(yùn)用領(lǐng)域較為廣泛,Vishnu chittan[11]等人將I2C總線運(yùn)用在舊設(shè)備的互聯(lián)上,實(shí)現(xiàn)舊設(shè)備與工業(yè)互聯(lián)網(wǎng)(IIoT)互聯(lián)互通。Alexander W[12]等人利用通用驗(yàn)證方法(UVM)模擬I2C總線電路模型,并運(yùn)用在晶體管的電路匹配中。Deepa Kaith[13]等將通信總線運(yùn)用在的微機(jī)接口技術(shù)領(lǐng)域。Gomez Bravo,F[14]等人提出了基于I2C總線的時(shí)鐘信號(hào)檢測(cè)機(jī)器人導(dǎo)航中的操作缺陷。Jayant Mankar[15]等,提出了總線審查協(xié)議,提出了較為穩(wěn)定的總線通信方式。Tatiana Leal-del Río[16]等提出了基于HDL-Verilog語言的I2C與SPI通信技術(shù)。Jesús Lázaro[17]等人基于I2C總線提出一種用于FPGA器件間的安全通信協(xié)議。盡管I2C總線的運(yùn)用領(lǐng)域較廣,但在單片機(jī)間模擬I2C總線通訊方式的研究較少。
本文提出基于I2C總線通信的橡筋輸送裝置的控制系統(tǒng),系統(tǒng)采用兩個(gè)單片機(jī)間的模擬通信方式,系統(tǒng)主機(jī)具有信息采集、停機(jī)中斷控制、控制信息發(fā)送等功能。從機(jī)單片機(jī)具有接收主機(jī)發(fā)送的速度、脈寬信息,并利用自身定時(shí)器/計(jì)數(shù)器中斷功能,產(chǎn)生相應(yīng)頻率和脈寬的PWM信號(hào),信號(hào)通過主機(jī)控制無觸點(diǎn)開關(guān),將信號(hào)發(fā)送給步進(jìn)電機(jī)驅(qū)動(dòng)器,驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)動(dòng)。并通過控制機(jī)的程序輸入功能,設(shè)置速度大小、信號(hào)占空比等功能,進(jìn)行調(diào)節(jié)輸送系統(tǒng)速度與機(jī)械振動(dòng),以期提高織物的生產(chǎn)效率,調(diào)節(jié)織物的紗線結(jié)構(gòu),生產(chǎn)出具有復(fù)雜形態(tài)與松緊度可調(diào)的織物。
I2C集成電路總線,具有靈活的線路設(shè)備配置,所有器件通過兩條線連接,線路上的所有設(shè)備可以作為任意配置從機(jī)或主機(jī)。在傳輸過程中,主機(jī)初始化數(shù)據(jù)總線,發(fā)出時(shí)鐘信號(hào),從機(jī)可以被主機(jī)尋址,但時(shí)鐘線只能由主設(shè)備來驅(qū)動(dòng),從機(jī)不驅(qū)動(dòng)時(shí)鐘線。該總線電路結(jié)構(gòu)簡(jiǎn)單,成本低廉,主要應(yīng)用在數(shù)據(jù)量少、傳輸距離短的場(chǎng)合。
I2C串行總線上的所有器件具有唯一的地址,總線可以連接多個(gè)主機(jī)、從機(jī)或儲(chǔ)存器等器件。本文采用兩個(gè)單片機(jī)模擬I2C總線通信,并實(shí)現(xiàn)橡筋輸送系統(tǒng)的控制。總線通過上拉電阻Rp分別連接了串行數(shù)據(jù)線SDA與串行時(shí)鐘線SCL。I2C串行總線采用的半雙工傳輸模式,同一時(shí)間只能實(shí)現(xiàn)讀取或?qū)懭?。傳輸速率在?biāo)準(zhǔn)模式下可以達(dá)到100 kb/s,快速模式下可以達(dá)到400 kb/s。
一個(gè)典型的I2C連接如圖1所示。
I2C的協(xié)議層配置是各器件相互通信的基礎(chǔ),在總線數(shù)據(jù)傳輸中,兩個(gè)單片機(jī)同時(shí)存在地址信號(hào)與數(shù)據(jù)信號(hào)。主機(jī)單片機(jī)在起始信號(hào)發(fā)生后首先發(fā)送7位從機(jī)的地址,第8位是數(shù)據(jù)的傳送方向位(R/T),用“0”表示主機(jī)發(fā)送數(shù)據(jù)(T),“1”表示主機(jī)接收數(shù)據(jù)(R)。每次數(shù)據(jù)傳送總是由主機(jī)單片機(jī)產(chǎn)生時(shí)鐘信號(hào),控制傳送的速度、脈寬指令,從機(jī)單片機(jī)接收主機(jī)指令,執(zhí)行相應(yīng)主機(jī)指令。
總線的一次數(shù)據(jù)傳輸過程中,可以有以下3種組合方式:
1)主機(jī)向從機(jī)發(fā)送數(shù)據(jù),數(shù)據(jù)傳送方向在整個(gè)傳送過程中不變,主機(jī)發(fā)送地址數(shù)據(jù),選擇讀取模式,從機(jī)應(yīng)答,同時(shí)執(zhí)行上一次的速度,開始讀取數(shù)據(jù),直到傳輸數(shù)據(jù)結(jié)束通訊結(jié)束,從機(jī)改變脈沖信號(hào)的頻率及脈寬。2)主機(jī)在第一個(gè)字節(jié)后,立即從從機(jī)讀數(shù)據(jù),讀取完整數(shù)據(jù)后通訊結(jié)束。3)在傳送過程中,當(dāng)需要改變傳送方向時(shí),起始信號(hào)和從機(jī)地址都被重復(fù)產(chǎn)生一次,但兩次讀取與寫入方向位正好反相。一次數(shù)據(jù)傳輸組合如表1所示?;诖朔N數(shù)據(jù)傳輸組合方法,建立了兩個(gè)單片機(jī)I/O口模擬I2C的通信協(xié)議,實(shí)現(xiàn)方便多機(jī)擴(kuò)展,增強(qiáng)橡筋輸送裝置的適用性。
I2C總線雖然具有簡(jiǎn)單的電路、器件擴(kuò)展方便等優(yōu)點(diǎn),但總線受到電路容抗限制,在快速模式與標(biāo)準(zhǔn)模式下容抗最大不應(yīng)超過400 pF與200 pF??偩€上拉電阻Rp既可以在引腳空載時(shí)拉高電平,同時(shí)也可以防止SDA與SCL的高電壓震蕩波,防止總線器件損壞,而上拉電阻Rp的最大值同時(shí)也受到總線電容的限制。在保證總線容抗低于400 pF,上拉電壓為5 V的情況下,Rp最大值隨著容抗變大逐漸減小,Rp的最大值與總線容抗的關(guān)系如圖2所示。其滿足式(1)。
(1)
Rmax為Rp最大值,T為時(shí)鐘周期,C為總線容抗。
步進(jìn)電機(jī)在橡筋輸送裝置中作為執(zhí)行機(jī)構(gòu),通過與橡筋?yuàn)A持機(jī)構(gòu)配合使用,實(shí)現(xiàn)橡筋輸送,步進(jìn)電機(jī)作為系統(tǒng)中唯一的運(yùn)動(dòng)機(jī)構(gòu),應(yīng)具有較高的可靠性與穩(wěn)定性,同時(shí)兼具增減速平穩(wěn)與針織機(jī)針筒轉(zhuǎn)速相互匹配等特性。在以上條件滿足的情況下,才能適應(yīng)針織物的形態(tài)多樣性的需求,保證橡筋能夠在織物中均勻分配或按需調(diào)節(jié)、提高織物橡筋填充的靈活性。
表1 I2C總線數(shù)據(jù)傳輸方法
圖2 上拉電阻最大值與總線電容關(guān)系
步進(jìn)電機(jī)的穩(wěn)定性與可靠性一方面受產(chǎn)品自身性能的影響,更重要的是步進(jìn)電機(jī)的驅(qū)動(dòng)方式與控制方法。步進(jìn)電機(jī)的控制本質(zhì)上是通過精確調(diào)節(jié)步進(jìn)電機(jī)相勵(lì)磁繞組中的電流,通過相鄰相間的電流關(guān)系形成的合成磁場(chǎng)對(duì)轉(zhuǎn)子勵(lì)磁作用,在微控制器連續(xù)控制下,形成了均勻的圓形旋轉(zhuǎn)磁場(chǎng)。一般情況下,步進(jìn)電機(jī)旋轉(zhuǎn)力矩的大小由合成磁場(chǎng)矢量的幅值決定,步距角的大小由相鄰兩合成磁場(chǎng)矢量之間的夾角決定。因此,均勻的合成磁場(chǎng)幅值、變化角度,是步進(jìn)電機(jī)的細(xì)分控制重要前提。旋轉(zhuǎn)磁場(chǎng)的合成矢量如圖3所示。
圖3 旋轉(zhuǎn)磁場(chǎng)合成矢量圖
步進(jìn)電機(jī)由步進(jìn)電機(jī)驅(qū)動(dòng)器驅(qū)動(dòng),其驅(qū)動(dòng)速度受PWM信號(hào)頻率控制,驅(qū)動(dòng)電流大小受PWM信號(hào)占空比控制。驅(qū)動(dòng)器接收從機(jī)PWM信號(hào)并把線性的弦波信號(hào)轉(zhuǎn)換成了離散的直線段信號(hào)。正弦波可被分成多段,隨著段數(shù)的增加,波形不斷接近正弦波。大多數(shù)步進(jìn)驅(qū)動(dòng)IC擁有1到32段細(xì)分。通過細(xì)分驅(qū)動(dòng),電機(jī)轉(zhuǎn)子走一步的角度將會(huì)隨著細(xì)分?jǐn)?shù)的增加而減小,電機(jī)轉(zhuǎn)動(dòng)也越來越平穩(wěn),振動(dòng)越小。例如把一個(gè)32段細(xì)分序列稱為八分之一步驅(qū)動(dòng)模式,如圖4所示。
圖4 步進(jìn)電機(jī)細(xì)分序列圖
步進(jìn)電機(jī)的轉(zhuǎn)速由從機(jī)單片機(jī)輸出的PWM信號(hào)的頻率與驅(qū)動(dòng)器細(xì)分控制,在不同織物的編織過程,可以通過改變轉(zhuǎn)速調(diào)節(jié)橡筋輸送速度,以適應(yīng)織物形狀。當(dāng)步進(jìn)電機(jī)的速度改變,可以通過基本運(yùn)動(dòng)方程(二階微分方程)來描述,方程式表示如下:
(2)
J為系統(tǒng)總轉(zhuǎn)動(dòng)慣量,包括步進(jìn)電機(jī)空載與負(fù)載情況下轉(zhuǎn)子的轉(zhuǎn)動(dòng)慣量及負(fù)載的折算轉(zhuǎn)動(dòng)慣量;β阻尼系數(shù);θ步距角;k與θ具有一次函數(shù)關(guān)系的比例因子;Tz為阻尼矩之和;Td為電磁轉(zhuǎn)矩。由上式可知系統(tǒng)的慣性扭矩為:
(3)
由式(3)可知當(dāng)步進(jìn)電機(jī)啟動(dòng)或停止瞬間,系統(tǒng)慣性扭矩約為電磁轉(zhuǎn)矩與阻尼矩之差,且在系統(tǒng)運(yùn)行中,阻尼矩大小遠(yuǎn)小于步進(jìn)電機(jī)電磁轉(zhuǎn)矩,可以忽略不計(jì)。因此,步進(jìn)電機(jī)的升降速主要影響因素為控制系統(tǒng)的控制信號(hào)。所以,通過調(diào)節(jié)程序,即可滿足步進(jìn)電機(jī)加減速的均勻性,減小電機(jī)振動(dòng)與系統(tǒng)噪聲。
針織機(jī)在運(yùn)行過程中,步進(jìn)電機(jī)會(huì)隨織物的不同結(jié)構(gòu)位置改變轉(zhuǎn)速,橡筋的速度也隨之改變。步進(jìn)電機(jī)的轉(zhuǎn)速為了匹配不同織物條件下的織機(jī)轉(zhuǎn)速,需要進(jìn)行與針織機(jī)轉(zhuǎn)速匹配,以滿足橡筋的力學(xué)性質(zhì)。匹配公式如下:
(4)
V1為步進(jìn)電機(jī)轉(zhuǎn)速;f為PWM信號(hào)頻率;θ為步距角;x為細(xì)分倍數(shù)。
針織機(jī)轉(zhuǎn)速可表示為:
(5)
V2為針織機(jī)轉(zhuǎn)速;n為采集編碼器Z相脈沖數(shù);Δt為采集相鄰脈沖的時(shí)間間隔。
則步進(jìn)電機(jī)轉(zhuǎn)速與針織機(jī)轉(zhuǎn)速匹配公式為:
V1=kV2
(6)
k為轉(zhuǎn)速匹配比例常數(shù)。
在針織機(jī)進(jìn)行均勻松緊度織物編織時(shí),k為一個(gè)固定常數(shù),若織物在不同位置具有不同的機(jī)理,可以通過在固定位置輸入相應(yīng)的k值,即可滿足織物特殊形態(tài)的要求。
系統(tǒng)采用AT89C52RC單片機(jī)作為模擬主機(jī)與從機(jī),AT89C52RC是一種MCS-51系列8位單片機(jī),具有8 kB內(nèi)存,可擴(kuò)展64 kB外部?jī)?chǔ)存,具有256 Bytes內(nèi)部資料儲(chǔ)存,4組I/O口,是一種使用廣泛的單片機(jī)。由于單片機(jī)本身未集成I2C模塊,因此需要通過兩個(gè)單片機(jī)I/O進(jìn)行模擬總線信號(hào)傳輸,在模擬的總線中,可以通過相同方法增加總線設(shè)備,實(shí)現(xiàn)多機(jī)通訊。I2C總線受電路容抗限制(400 pF),器件數(shù)量需滿足電路容抗限制,由圖2可知,上拉電阻可以調(diào)節(jié)電路容抗,因此在實(shí)際運(yùn)用中,具有更加靈活的使用方式。
主機(jī)通過總線主要與從機(jī)進(jìn)行通訊,同時(shí)將程序的內(nèi)部數(shù)據(jù)存放在EEPROM中,外部?jī)?chǔ)存器EEPROM也是通過I2C總線進(jìn)行與主機(jī)通信,并儲(chǔ)存狀態(tài)數(shù)據(jù),防止因織機(jī)斷電等故障造成數(shù)據(jù)丟失,使機(jī)器無法工作。從機(jī)作為信號(hào)發(fā)生設(shè)備,主要通過產(chǎn)生PWM信號(hào)控制步進(jìn)電機(jī),通過LCD1602顯示轉(zhuǎn)速與信號(hào)占空比。步進(jìn)電機(jī)的擴(kuò)展通過增加步進(jìn)電機(jī)驅(qū)動(dòng)器的方式實(shí)現(xiàn),該硬件系統(tǒng)具有良好的可擴(kuò)展性。主機(jī)通過總線發(fā)送PWM信號(hào)的頻率、脈寬及轉(zhuǎn)速匹配比例常數(shù),并控制PWM信號(hào)開關(guān),控制相應(yīng)路步進(jìn)電機(jī)的停止或運(yùn)行狀態(tài)??刂葡到y(tǒng)結(jié)構(gòu)如圖5所示。
圖5 控制系統(tǒng)結(jié)構(gòu)圖
該系統(tǒng)主機(jī)主要負(fù)責(zé)發(fā)送命令及控制,從機(jī)負(fù)責(zé)軟件系統(tǒng)信息處理及產(chǎn)生相應(yīng)PWM信號(hào)。通信起始條件,主機(jī)首先將SDA拉低,開始發(fā)送7位地址進(jìn)行尋址,選擇從機(jī)。第8位是主機(jī)的工作模式:讀取/寫入。從機(jī)接收地址信息,獲取SDA控制權(quán)限,將SDA拉低,表示接收正常。然后主機(jī)發(fā)送8位速度、脈寬數(shù)據(jù),發(fā)送完成后從機(jī)回復(fù)ACK表示接收完成,主機(jī)發(fā)送NACK停止條件,數(shù)據(jù)傳輸完成。數(shù)據(jù)發(fā)送時(shí)序圖如圖6所示。
起始條件與停止條件的具體程序?qū)崿F(xiàn)如下:
void I2CStart() //起始條件
{
SDA=1; //初始狀態(tài)
Delay ();
SCL=1;
Delay (); //主機(jī)拉低SDA,保持時(shí)間>4.7us
SDA=0;
Delay (); //保持時(shí)間是>4us
SCL=0;
Delay ();
}
void I2C Stop() // 停止條件
{
SDA=0;
Delay ();
SCL=1; //拉高SCL
Delay (); //建立時(shí)間大于4.7us
SDA=1; //拉高SDA
Delay10us();
}
根據(jù)針織機(jī)對(duì)橡筋輸送系統(tǒng)的穩(wěn)定性、步進(jìn)電機(jī)的噪音、系統(tǒng)功耗及速度匹配的要求。實(shí)驗(yàn)基于Protues 7.8仿真軟件,建立基于串口通信的仿真電路。仿真電路如圖7所示。
圖6 I2C總線數(shù)據(jù)發(fā)送時(shí)序圖
圖7 系統(tǒng)仿真電路原理圖
仿真實(shí)驗(yàn)驗(yàn)證了步進(jìn)電機(jī)的轉(zhuǎn)速與針織機(jī)轉(zhuǎn)速的匹配常數(shù),如圖8(a)電機(jī)啟動(dòng)的時(shí)間曲線,步進(jìn)電機(jī)轉(zhuǎn)速曲線擬合針筒轉(zhuǎn)速曲線且步進(jìn)電機(jī)轉(zhuǎn)速約為針筒轉(zhuǎn)速的2倍,因此,k為2。通過調(diào)節(jié)k的大小,可以改變步進(jìn)電機(jī)轉(zhuǎn)速與針織機(jī)轉(zhuǎn)速的比例,從而改變輸送速度,由于織物的松緊程度主要是由橡筋的松緊度來控制,因此調(diào)節(jié)織物的松緊度,可以通過調(diào)節(jié)k實(shí)現(xiàn)。圖8(b)是電機(jī)啟動(dòng)時(shí)脈沖信號(hào)的頻率,在32細(xì)分的模式下,波形吻合速度曲線,表示在此速度區(qū)間,步進(jìn)電機(jī)沒有失步,系統(tǒng)穩(wěn)定性較好。圖8(c)表示PWM信號(hào)的脈寬對(duì)步進(jìn)電機(jī)的運(yùn)行振動(dòng)噪聲的影響關(guān)系,根據(jù)仿真實(shí)驗(yàn)電路,當(dāng)占空比為60%左右時(shí),步進(jìn)電機(jī)振動(dòng)較小,波形較為穩(wěn)定。圖8(d)為此階段電機(jī)的相電流變化,電機(jī)平穩(wěn)運(yùn)行時(shí),設(shè)定電流為2.5 A的恒流驅(qū)動(dòng)模式下,實(shí)際相電流約為2 A,因此,占空比為60%時(shí)電機(jī)較為穩(wěn)定,多余的電流轉(zhuǎn)化成其他形式的能量。
圖8 仿真實(shí)驗(yàn)驗(yàn)證結(jié)果
1)為了解決機(jī)械傳動(dòng)式橡筋輸送裝置速度固定問題,自主設(shè)計(jì)了基于單片機(jī)的橡筋輸送裝置控制系統(tǒng)。通過單片機(jī)產(chǎn)生PWM信號(hào),驅(qū)動(dòng)步進(jìn)電機(jī)運(yùn)行,能夠靈活設(shè)置輸送速率,提高織物的適應(yīng)性。
2)由于生產(chǎn)車間的針織機(jī)多是單一輸送裝置,生產(chǎn)效率低,且不易升級(jí),因此提出了基于I2C通信總線的單片機(jī)模擬時(shí)序通訊方法,便于橡筋輸送裝置的擴(kuò)展與升級(jí)。
3)為了解決脈沖信號(hào)對(duì)步進(jìn)電機(jī)的運(yùn)行速度影響,基于步進(jìn)電機(jī)升降速特性,提出了步進(jìn)電機(jī)轉(zhuǎn)速與針筒轉(zhuǎn)速的匹配函數(shù),通過設(shè)置匹配系數(shù)來改變橡筋輸送速率,從而調(diào)節(jié)織物特性。
4)通過Protues平臺(tái)對(duì)步進(jìn)電機(jī)的運(yùn)行狀態(tài)進(jìn)行仿真,發(fā)現(xiàn)在步進(jìn)電機(jī)加速啟動(dòng)階段,具有穩(wěn)定的速度匹配,占空比為60%時(shí),步進(jìn)電機(jī)振動(dòng)噪聲較小。從而有效保證了該系統(tǒng)在針織機(jī)上的穩(wěn)定運(yùn)行。