李立明 ,柴曉冬 ,方 宇
(1.上海工程技術大學 城市軌道交通學院,上海201620;2.上海工程技術大學 汽車工程學院,上海201620)
步進電機是一種將電脈沖轉化為角位移或直線位移的執(zhí)行機構。由于步進電機具有控制簡便、定位準確等特點,因而廣泛應用于如機器人手臂運動等各種自動化控制系統(tǒng)和機械設備中。隨著無線通信技術的發(fā)展,遠程無線控制受到廣泛關注。本文介紹了一種基于PTR2000的步進電機無線控制系統(tǒng),該系統(tǒng)實現(xiàn)了電路板級通信,實現(xiàn)了同時對4臺步進電機的無線控制,系統(tǒng)采用模型車輛作為步進電機的載體。
本系統(tǒng)主要由上位PC機、AT89C51單片機、驅動電路模塊、PTR2000無線通信模塊和步進電機組成,其系統(tǒng)結構圖如圖1所示。其中,上位機是PC機,采用C++實現(xiàn)用戶界面,并利用串口通過PTR2000實現(xiàn)用戶與步進電機控制模塊的指令傳輸,實現(xiàn)對步進電機的遠程無接觸控制。
PTR2000[1-2]工作頻率為國際通用的數(shù)據(jù)傳輸頻率段433 MHz,采用抗干擾能力較強的頻移鍵控(FSK)調制/解調方式,擴展能力強,特別適合工業(yè)控制場合;使用DDS+PLL頻率合成技術,頻率穩(wěn)定性好;低工作電壓2.7 V,功耗小,接收待機狀態(tài)僅為8 μA,具有兩個頻道,特別適合需要多信道工作的特殊場合;工作速率最高可達到20 kb/s(也可在如4 800 b/s、9 600 b/s低速率下工作);可直接連接 CPU串口,也可以接計算機PS232接口,軟件編程方便;由于采用低發(fā)射功率(+10 dBm),高接收靈敏度(-105 dBm)的設計,無需申請使用許可證;標準DIP引腳間距,更適合嵌入式設備。在空曠地帶有效范圍可達300 m。
PC機與PTR2000之間連接,必須經(jīng)過電平轉換,將TTL電平利用MAX232轉換成RS-232C電平。PTR2000與PC機串口連接電路如圖2所示。
PTR2000直接與單片機的串口TxD、RxD相連接。PTR2000無線Modem的DI接單片機的串口發(fā)送,PTR2000無線Modem的DO接單片機串口的接收。
步進電機的控制電路硬件框圖如圖3所示。
圖3 步進電機控制框圖
采用可編程定時計數(shù)器8253實現(xiàn)單片機對步進電機的通電換向即脈沖分配,由于單片機的本身驅動能力有限,系統(tǒng)采用L297[3]與UM2003組成步進電機驅動電路。L297為步進電機控制集成芯片適用與雙極性兩相步進電機或單極性四相步進電機的控制。ULN2003為高電壓大電流的達林頓管。
通過PTR2000建立PC機與單片機之間無線通信網(wǎng)絡,實現(xiàn)PC機與單片機的異步通信。PC機與單片機采用查詢方式發(fā)送和接收數(shù)據(jù),為確保數(shù)據(jù)的準確性,系統(tǒng)制定了PC機與單片機的通信協(xié)議。制定無線通信協(xié)議的第一任務是要能識別數(shù)據(jù)傳送過程中的干擾噪聲和有效數(shù)據(jù),為保證數(shù)據(jù)通信的可靠性,通信協(xié)議如下:
(1)PC機與AT89C51單片機都可以發(fā)送和接收;
(2)PC機與AT89C51單片機的通信波特率為9 600 b/s。其中單片機采用的晶振為11.059 2 MHz,采用串口方式1,設定單片機工作模式為:TMOD=0X20,TH1=0XFD,TL1=0XFD,SCON=0X50;
(3)握手信號:長度為3個字節(jié),格式為:0XFF+0X00+0XFF。其中的第2個字節(jié)“0X00”代表步進電機的序號,實際工作中用 01、02、03和 04代表本系統(tǒng)中的 4臺步進電機,確保每臺步進電機接收指令的準確性;
(4)PC機的指令為:握手信號+指令+奇偶效驗位;
(5)AT89C51單片機的發(fā)送數(shù)據(jù)格式為:握手信號+車號+數(shù)據(jù)+奇偶校驗位。其中數(shù)據(jù)為3個字節(jié)長度,在系統(tǒng)中代表地址碼。
圖4中顯示的上位機接收到下位機發(fā)送的信號,在上位機監(jiān)控界面中只顯示車號和地址數(shù)據(jù)碼。如第一行數(shù)據(jù)中的“02 00 00 00”表示 2號步進電機剛接到啟動指令開始運動;在工作過程中,下位機實時向上位機傳輸步進電機的地址碼,從而上位機地址碼可以判斷出車輛的實時位置;當下位機收到停止指令后,步進電機停止工作。圖4中當下位機收到停止指令后,步進電機停止工作,發(fā)送數(shù)據(jù)保持不變,代表車輛停在某一位置。如圖4中的02 15 56 AE。
步進電機[4]的加減速有嚴格的控制要求,就是保證在不失步和過沖的前提下,用最快的速度和最短的時間移動到指定位置。步進電機控制算法有按斜率線控制、指數(shù)曲線控制、拋物線控制[5-6]等。
本系統(tǒng)采用步進電機的指數(shù)曲線控制方式。指數(shù)線控制是指在加速或減速時,步進電機的速度呈指數(shù)線變化。給步進電機一個脈沖信號,步進電機就轉動一個角度或前進一步。設輸入的脈沖數(shù)為N,輸出轉角為θ,則θ=θSN(θS為步距角)。 步進電機的動力方程為:
式中,T為電機輸出力矩或產(chǎn)生力矩,J為轉子轉動慣量,B為摩擦系數(shù),TL為負載轉矩,θ為轉子位置。設ω為電機的轉子速度,令,驅動脈沖的頻率用f表示,則 ω=θSf,而式(1)又可表示為:
如果要求電機盡可能快地加速,則在所有頻率下都必須產(chǎn)生最大轉矩,則式(2)步進電機的運動一定滿足如式(3)所示條件:
式中,TM為步進電機輸出力矩,通過電機的矩頻特性曲線,假設該曲線是線性下降的,電機的輸出力矩可表示為:
式中,TMA為最大轉矩,k為假定輸出轉矩按直線變化時的斜率。 聯(lián)立式(3)、式(4),得式(5)為:
在 t=0,f=0時解得:
將升速過程均勻離散為 n段,整個上升時間為t,則相鄰的時間間隔為:
式中,n為階梯升速的分檔數(shù),則每一檔頻率為:
通過每檔頻率可以計算出上升各檔持續(xù)的脈沖數(shù)N(t)和上升檔定時器初值T(k)。降速可看作升速的逆過程。
系統(tǒng)采用硬件定時,使用單片機的定時/計數(shù)器T0或T1。首先根據(jù)定時的時間長短設置定時器的工作模式,然后輸入定時器的定時常數(shù),則定時器就會定時溢出,單片機就會每溢出一次就產(chǎn)生一個脈沖信號控制步進電機轉動。硬件定時的方法既需要硬件(定時/計數(shù)器T0或T1),又需要軟件來產(chǎn)生所需頻率的脈沖信號,是一種軟硬結合的方法。雖然占用了一個定時器,但是提高了CPU的利用率,CPU在定時器沒產(chǎn)生溢出時運行其他程序。圖5中顯示了4臺步進電機按上位機指令分別在不同位置啟動、運行和停止的實時速度曲線,電機加減速按指數(shù)曲線控制。
該系統(tǒng)實現(xiàn)了利用無線通信方式對步進電機遠程無線的控制,在實際操作環(huán)境中步進電機的加減速并為嚴格按照指數(shù)曲線控制。另外當受到實際環(huán)境空間電磁波的干擾時,PTR2000的通信距離達不到300 m,因而系統(tǒng)抗干擾能力還有待提高。該系統(tǒng)為進一步可靠應用步進電機提供了一種參考。
[1]郝小江,張小平.基于PTR2000的單片機無線數(shù)據(jù)傳輸[J].攀枝花學院學報,2006,23(6):83-86.
[2]曹俊,汪濱琦.用 PTR2000實現(xiàn)單片機與PC機間的無線數(shù)據(jù)通信[J].微計算機信息,2002,23(2):117-120.
[3]潘海燕,姚朝霞.基于L297的兩相步進電機驅動器[J].機電工程,2007,24(4):86-88.
[4]程憲平.機電傳動與控制[M].武漢:華中理工大學出版社,1997.
[5]李曉貞,王福志,王忠舉,等.基于單片機的步進電機調速研究[J].農(nóng)業(yè)裝備與車輛工程,2008,(5):22-24.
[6]李會燕,胡榮強.基于單片機的步進電機控制系統(tǒng)[J].自動化技術與應用,2007,26(11):75-77.