林雪燕,單棟梁,張偉亮,王 飛
(北京郵電大學 自動化學院,北京 100876)
球桿系統(tǒng)是廣泛應用于自動控制課程的試驗教具,其原理是通過不斷采集小球所在位置,并傳送到上位機,上位機經過數(shù)據(jù)處理后控制電機轉動,電機帶動球桿運動,使小球動態(tài)的穩(wěn)定在球桿上的某個位置。
原有的球桿控制系統(tǒng)主要由3部分組成,分別是計算機、智能伺服驅動器和球桿本體(被控對象),如圖1所示[1]。智能伺服驅動器采集小球位置,并將位置信號傳輸給計算機。計算機從智能伺服驅動器中讀取小球實時數(shù)據(jù),確定控制決策,并將控制命令下發(fā)給智能伺服驅動,控制球桿本體的電機轉動方向和速度,帶動擺桿并使小球穩(wěn)定在目標位置。
圖1 原有的球桿控制系統(tǒng)組成Fig.1 Original controlling system of ball&beam
現(xiàn)有的球桿系統(tǒng)將小球位置采集與伺服驅動集成在1個機箱里,這樣使控制系統(tǒng)的層次不夠分明,而且1臺智能伺服驅動器只能對應1臺球桿本體,擴展性不高。對此,為球桿系統(tǒng)設計了1套基于CAN總線的控制系統(tǒng),從而實現(xiàn)以1臺計算機控制多臺球桿系統(tǒng)的控制效果,且控制結構層次分明。
CAN總線技術是廣泛應用的現(xiàn)場總線技術之一。CAN為多主方式工作,網絡上任一節(jié)點均可在任意時刻主動地向網絡上其他節(jié)點發(fā)送信息,而不分主從,通信方式靈活。因此可以采用CAN總線為球桿系統(tǒng)設計1個控制系統(tǒng)。
CAN總線的連接及原理如圖2所示[3]。圖中,電阻R用于消除短路現(xiàn)象;CANL為傳輸信號的低8位,CANH為傳輸信號的高8位。CAN總線把數(shù)據(jù)包裝成幀的形式進行傳輸,每個幀分為信息部分和數(shù)據(jù)部分。信息部分包含節(jié)點的特征信息,用于判斷與識別具體的節(jié)點,數(shù)據(jù)部分是需要傳輸?shù)臄?shù)據(jù)。節(jié)點一般由1個CPU芯片及收發(fā)器組成,將需要進行通信的模塊連接到節(jié)點上后,將節(jié)點接上總線后就能傳輸數(shù)據(jù)。發(fā)送數(shù)據(jù)時,節(jié)點對數(shù)據(jù)進行包裝后,所有節(jié)點都會把要發(fā)送的數(shù)據(jù)放在總線上,每個節(jié)點對總線上的數(shù)據(jù)幀進行判斷,只接收屬于自己的數(shù)據(jù)幀[2]。
圖2 CAN總線原理Fig.2 CAN bus principle
新開發(fā)的控制系統(tǒng)有2層,上層為PC計算機,下層為小球位置信號采集模塊以及驅動電路模塊,其間通過CAN總線進行通信。將CAN總線技術運用到該設計中,可以使該設計具有極大的可擴展性。完成了對1個球桿系統(tǒng)的控制設計后,只需增加CAN總線上的節(jié)點,就可以使1臺PC計算機控制多臺球桿系統(tǒng)[3]。這樣的設計也可以使控制結構層次分明,操作人員對球桿系統(tǒng)的具體構成以及控制原理有更深的了解。
在一些關鍵技術參數(shù)上,CAN總線能夠滿足設計需求:
(1)CAN 總線技術可以使數(shù)據(jù)在 134 μs內開始傳輸,完全能滿足運動控制的實時要求;
(2)1個球桿系統(tǒng)需要有3個節(jié)點連接CAN總線,分別是上位機控制模塊、小球位置信號采集模塊和驅動電路模塊。整個控制系統(tǒng)僅需要1個上位機控制模塊,在擴展到多個球桿系統(tǒng)時,只需添加小球位置信號采集模塊和驅動電路模塊即可。目前CAN總線最多可以連接110 B,這樣在后期的擴展開發(fā)中,還可以連接54個球桿系統(tǒng);
(3)在傳輸速率上,本系統(tǒng)有2個控制節(jié)點與上位機完成通信。在1次控制中,小球位置信號采集節(jié)點需要傳輸12 B的數(shù)據(jù),電機驅動節(jié)點需要最多傳輸16 B的數(shù)據(jù),在1 s內整個控制系統(tǒng)需通過CAN 總線傳輸?shù)臄?shù)據(jù)為(12+16)×8 bit×50 Hz=11200 bit,即需要的傳輸速率為11200 b/s。而CAN總線40 m的通信距離內,通信速率最高可達1 Mb/s,完全滿足系統(tǒng)要求。
本系統(tǒng)在硬件上主要分為3個模塊:上位機控制模塊、小球位置信號采集模塊和驅動電路模塊。小球位置信號采集模塊負責采集小球位置信號,轉換成電壓信號傳送給計算機;電機驅動模塊是通過計算機傳輸過來的控制信號,控制電機轉動,并帶動球桿系統(tǒng)擺動,使擺桿上的小球動態(tài)的穩(wěn)定在目標位置;上位機控制模塊是整個控制系統(tǒng)的控制核心??傮w硬件設計及連接如圖3所示。
上位機控制模塊是整個設計的控制核心。上位機控制模塊向小球位置信號采集模塊發(fā)出采集小球位置的命令,接收到返回的小球位置信號后,經過數(shù)據(jù)的處理與計算,再向驅動電路模塊發(fā)出相應的控制信號,最終使小球動態(tài)的穩(wěn)定在預設的目標位置。
在設計中,為了實現(xiàn)上位機與CAN總線的通信,采用了周立功公司的USBCAN-2A/Ⅱ/Ⅰ接口卡[4]。它是一個可以與計算機通信的節(jié)點,一邊通過與節(jié)點CANH與CANL連接實現(xiàn)與節(jié)點的通信,另一邊通過USB接口與計算機進行通信。
圖3 球桿控制系統(tǒng)硬件的設計及連接Fig.3 Design and connection of of ball&beam controlling system hardware
小球位置信號采集模塊的任務是采集因小球滾動產生的電壓信號,并A/D轉換后將其發(fā)送給上位機。該模塊分為2個部分,電壓采集及A/D轉換電路和CAN節(jié)點電路。
位置信號采集及A/D轉換電路是以AT89S51芯片和ADS1115芯片組成的電路。電路設計如圖4所示。由圖可見,10和11引腳引出的2根線分別與圖5所示的11和10引腳相連;ADS 1115是16位A/D轉換芯片,共有4個采集通道,可以采集-5~+5 V的電壓信號。在實際應用中,該A/D轉換芯片能夠精確轉換的只有12位,因此對后4位進行了濾波處理,只采用前12位數(shù)據(jù)。該部分主要負責采集球桿系統(tǒng)產生的電壓模擬量信號,并將其轉換成數(shù)字量后以TTL電平信號輸出給CAN節(jié)點電路部分。其程序設計流程如圖6所示。
圖4 位置信號采集及A/D轉換電路Fig.4 Circuit of position signal acquisition and A/D conversion
圖5 CAN節(jié)點電路Fig.5 Circuit for CAN bus
圖6 小球位置信號采集程序流程Fig.6 Procedure for collecting position signal of small ball
CAN節(jié)點電路部分是由單片機芯片AT89S52,CAN控制芯片SJA1000,CAN收發(fā)芯片PCA8C250和復位芯片IMP708組成的電路[5],如圖5所示。通過該電路將位置信號采集及A/D轉換電路連接到CAN總線上,組成可以CAN通信的小球位置信號采集模塊。其程序設計如圖7所示[6]。
圖7 CAN節(jié)點電路程序流程Fig.7 Program flow chart of CAN nodecircuit
所用直流伺服電機與編碼器是球桿系統(tǒng)原有的,根據(jù)直流伺服電機的額定電流、額定電壓、最大電流、最大電壓和轉矩等參數(shù),為直流伺服電機選擇了伺服驅動器。電機攜帶的編碼器為500線的,因在控制過程中電機無需轉動一圈就能使擺桿在最高點與最低點之間運動,故用不到Z相。
選用銘朗科技公司的3605C型直流伺服驅動器。該驅動器能夠進行CAN通信,將實現(xiàn)CAN通信的節(jié)點和直流伺服驅動器封裝在一起。當接收到上位機發(fā)送的報文時,經CAN通信節(jié)點分析處理后提取出數(shù)據(jù)部分,發(fā)送至驅動部分,驅動器便會據(jù)此完成相應指令,并根據(jù)完成情況返回相應的數(shù)據(jù)給計算機。
該驅動器有自己的指令集??筛鶕?jù)廠商所提供的指令集,向驅動器發(fā)送相應的指令碼,驅動電機完成指定動作。
需要注意的是,在下達電機轉動命令時,所設計的驅動器對編碼器做4倍頻處理,驅動器與電機的傳動比設置為2∶1,因此電機轉動1圈就被分成500×4×2=4000個單位,又因球桿系統(tǒng)電機軸與輪盤的傳動比為1∶4,要使輪盤轉動角度β,應設置電機轉動X個單位,即,故X和β的關系為
在工業(yè)過程控制中,95%以上的控制回路具有PID結構。PID控制器被廣泛應用主要是因為其結構簡單,在實際中容易被理解和實現(xiàn)。PID控制系統(tǒng)與現(xiàn)場總線技術的有機結合,可以實現(xiàn)基于CAN現(xiàn)場總線的PID控制系統(tǒng)。在后面的擴展研發(fā)中也可以采用其他的控制算法。
球桿系統(tǒng)的機械結構如圖8所示。連線 (杠桿臂支點和齒輪中心)與水平線的夾角為θ(該角度存在一定的限制,在最小、最大值之間),它作為連桿系統(tǒng)的輸入。擺桿的傾斜角α與θ的數(shù)學關系[7]為
圖8 球桿系統(tǒng)機械結構Fig.8 Mechanical structure of ball&beam system
式中:d為杠桿臂支點距齒輪中心距離;L為擺桿長度。θ與電機軸轉角之間存在著減速比n=4,控制器設計的任務是通過調整齒輪角度θ,使小球在某一位置平衡。
小球在擺桿上滾動的動力學方程為
根據(jù)學生在問卷中對應具體表征、抽象表征和形象表征測試的四個問題的作答情況進行分析。A.選出你認為的概念中的關鍵詞。B.對你所認為的關鍵詞,選出你所能想到的可能含義。C.理解上述關鍵詞的含義,你調用了哪些已學過的知識?(請按解決問題的順序書寫)D.利用生物學用語、圖形語言或表格等具體工具,把這段文字在你腦海中形成的信息以外在的形式呈現(xiàn)出來。
式中:J為小球的轉動慣量,kg·m2;r為小球在擺桿上的位置,為球桿系統(tǒng)的輸出,m;m為小球質量,m=0.11 kg;R為小球半徑,R=0.015 m;L為擺桿長度,L=0.4 m;d為擺桿與齒輪的連接點到齒輪中心的轉動半徑,d=0.04 m;α為期望角度。
假設小球在擺桿上的運動為滾動,且滑動摩擦力可以忽略不計。因期望角度α在0附近微小變動,故可在0附近對式(3)進行線性化,再將式(2)代入,得到近似的線性公式為
將數(shù)據(jù)代入式(4),計算可得小球位置與輪盤轉動角度的關系為
計算機以50 Hz的頻率向小球位置采集模塊發(fā)送采集命令,再將返回的電壓數(shù)據(jù)轉換成十進制數(shù)Y,擺桿類似于滑動變阻器,0~+5 V的電壓對應0~400 mm的位置。采用的16位A/D轉換芯片ADS1115,將400 mm被分成216=65536份,根據(jù)公式,可以計算出小球所在位置r。
將式(5)離散化,得:
將采樣周期T=0.02 s代入式(6),得:
根據(jù)PID算法離散化公式:
計算出電機經PID算法調節(jié)后的增益為
設電機當前位置為Xnow,擺桿在最高點電機位置為Xh,擺桿在最低點電機位置為Xb,擺桿在平衡點電機位置為Xe。電機轉動的單位數(shù)為Xr。當θ=0時,擺桿處于平衡位置;當輪盤轉動θ后,電機位置為增加PID調節(jié)增益Δθ后,電機應該轉動的單位數(shù)為
圖9 控制界面Fig.9 Control interface
信息欄位于控制界面的左下方,用于顯示在操作過程中需要查看的信息。
CAN模塊部分位于控制界面的左上方區(qū)域。
①第1排的“連接”按鈕用于連接CAN總線,再次單擊該按鈕會變成“斷開”;
②“啟動CAN”是指啟動CAN模塊。單擊該按鈕,會在信息欄顯示“啟動CAN成功”或“啟動CAN失敗”;
③“復位CAN”用于關閉CAN模塊。
該區(qū)域的其他部分都是CAN總線的參數(shù)設置,均為默認設置,不需要更改。
控制部分位于控制界面的右上方區(qū)域。
①“目標位置”旁的輸入欄用于寫入想要的小球穩(wěn)定位置;
②“啟動PID”按鈕用于啟動對球桿系統(tǒng)的控制,點擊該按鈕會在信息欄顯示“啟動PID控制成功”或“啟動PID控制失敗”;
③“PID參數(shù)設置”下面的3個輸入欄用于設置PID參數(shù),旁邊的“設置PID”按鈕用于確認剛設置的PID參數(shù);
④“實時”一欄用于實時地顯示,在進行控制時,小球位置和電機的相對位置(相對于設置的絕對位置);
⑤“測試用”一欄用于測試電機驅動模塊及小球位置采集模塊是否正常工作,“轉動到”旁的輸入欄可寫入輪盤轉動的位置;
⑥“受控”按鈕用于使驅動器加載電機;“脫離”按鈕用于使驅動器釋放電機;
⑦點擊“小球位置”按鈕,可以在信息欄里顯示小球的當前位置,點擊一次按鈕,獲得一次實時位置;“GM”按鈕用于獲得電機當前的相對位置,點擊一次按鈕,在信息欄里獲得一次電機位置。
小球位置實時監(jiān)測畫面位于控股界面的右下方,在此可以實時觀察小球位置的變化范圍及變化趨勢。監(jiān)測畫面的左下角為坐標原點,縱坐標的單位長度為40 mm,橫坐標的單位長度為1 s。
整個控制界面布局清晰,一目了然,人機交互,充滿了人性化設計;操作簡單,只需點擊按鈕就可以實現(xiàn)CAN連接與啟動,還可以一鍵獲得小球和電機的位置;可實時監(jiān)測小球位置,方便地調節(jié)、設置PID參數(shù)。
(1)共做15次測試,每次同時控制2臺球桿裝置,每次設置不同的目標位置,觀察每次穩(wěn)定后的位置,計算誤差,并記錄所需時間;
(2)在測試時,當小球穩(wěn)定在目標位置后,給其擾動,撥動小球,觀察小球穩(wěn)定的位置,計算誤差,并記錄所需時間。
經過測試,2臺球桿裝置在所設計控制系統(tǒng)的控制下,在穩(wěn)定性、快速性和準確性方面均達到以下要求:
穩(wěn)定性小球最終都能穩(wěn)定在目標位置附近,給其擾動后也能穩(wěn)定在目標位置附近;
快速性啟動控制后,小球可以在20 s內穩(wěn)定在目標位置附近,給其擾動也會在擾動后的50 s內穩(wěn)定在目標位置附近;
準確性小球在啟動控制、受擾動后都能穩(wěn)定在目標位置的-8~8 mm范圍內。
所設計控制系統(tǒng)整體硬件構成,如圖10所示,與原控制系統(tǒng)相比較具有以下優(yōu)點:
(1)在操作上充分體現(xiàn)了人性化設計,只需打開設計好的控制界面,點擊相應的操作按鈕即可,步驟簡單,無需培訓,相比之下原控制系統(tǒng)需要使用Matlab輸入操作命令;
(2)在設計過程中,對電機有保護措施,為電機設置了轉動范圍,以避免因控制程序錯誤而導致的電機無規(guī)律快速轉動,消除試驗中的安全隱患;
(3)在實現(xiàn)功能的基礎上,設計時充分考慮綜合成本因素;
(4)CAN總線的應用,使設計具有很強的可擴展性,可通過在CAN總線上加入節(jié)點,加入更多的球桿系統(tǒng)或其他的控制對象;在控制方式上也可以采用其他的控制算法,只需在程序上稍加改動。
圖10 控制系統(tǒng)硬件Fig.10 Hardware of control system
通過對硬件電路以及控制軟件的重新設計,將CAN總線技術運用到球桿控制系統(tǒng)中,完成了對1個球桿系統(tǒng)的控制設計后,在后續(xù)的開發(fā)中,只需在CAN總線增加小球位置信號采集模塊和驅動電路模塊的節(jié)點,就能實現(xiàn)以一控多的控制效果。本設計在理論上共可以控制54臺球桿系統(tǒng)。
[1]固高科技(香港)有限公司.球桿系統(tǒng)用戶手冊和實驗指導書[M].[s.l.]:固高科技有限公司,2015.
[2]韓成浩,高曉紅.CAN總線技術及其應 [J].制造業(yè)自動化,2010,32(2):146-149.
[3]姜國義,陳遠東,楊志華,等.基于CAN總線的電傳動履帶車控制策略研究[J].控制工程,2016,23(6):901-904.
[4]張振德,崔玉龍,吳臨政.基于補償機制的星型CAN網絡拓撲結構實現(xiàn)[J].自動化與儀表,2009,24(8):17-20.
[5] 周立功.USB-CAN-2A/Ⅱ/Ⅰ接口卡說明書[M].廣州:廣州周立功單片機科技有限公司,2011.
[6]陸前鋒,陳明昭.基于CAN控制器SJA1000的智能高速控制系統(tǒng)設計[J].電子設計應用,2003,2(1):42-44.
[7]劉濤,張純偉.基于89C51和SJA1000的CAN通信方法研究[J].電腦編程技巧與維護,2011,18(4):91-92.
[8]劉陽,萬隆君,徐軼群.淺談球桿系統(tǒng)的建模與仿真[J].中國科技信,2014,26(8):159-161.