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