張 錚, 顏 軒, 閆保芳, 劉桐辛, 楊宗業
(武漢大學 電子信息學院,湖北 武漢 430072)
檢測控制類課程是基于精密機械設計、機電控制、傳感器技術和嵌入式系統原理的綜合實驗課程,通過該課程能培養學生進行機械設計、數據分析、嵌入式編程等方面動手能力。以往的此類理論課,由于與實際脫鉤、過于枯燥等原因,使學生們對于課程核心的理解比較困難。實驗的作用是配合講課內容,有針對性地給學生提供一個實際操作平臺,使之加深對知識的理解,獲得直接感性的認識,培養和鍛煉動手能力[1]。但因為現有教學儀器老舊,設備單一,造成學生實際動手實踐的時間偏少,學習興趣降低,不利于學生深入理解理論課程知識。為了改善此類課程的教學,我們以工業化過程中常見的物料傳輸為例設計了一種檢測控制實驗教學平臺。
本實驗平臺設計主要基于工業化流程中的物料采集、傳遞以及合格性測試方式,整體完成對采集到的物料進行傳遞、檢測與剔除的任務。其采用了基于uC/OS-III操作系統、STM32應用平臺的控制架構,實現了模塊化編程,可移植性高,滿足了基于平臺的各類實驗的流暢運行。平臺使用了4種常用電機;5種常用機械傳動機構;8種常用傳感器模塊。這使得本試驗平臺所包含的教學內容十分豐富,對于學生綜合運用所學知識進行訓練能起到十分積極的作用。
本實驗裝置主要由STM32作為控制平臺,由uC/OS-III操作系統作為調度管理,完成對各類常用電機進行精確控制,配合各種常用于工業流程中的傳感器模塊和多種常用機械結構,完成對物料進行不同形式的傳遞與檢測工作,同時,針對不合格的產品進行剔除,合格產品進行收集。模型的三維圖見圖1。為了提高平臺的可擴展性,本實驗平臺采用了模塊化設計,即將其中每一單獨的機械結構作為子模塊,再將他們串聯起來完成整個流程。這樣做是因為模塊化設計有利于整體裝置的維護并擴展新的實驗項目。

圖1 實驗教學平臺模型
平臺的基本結構如圖2所示,選取了精密機械設計課程中5種常用機械結構作為主體,輔以3類電機進行運動控制,根據傳感器的各種反饋值,判斷電機位置、物料的材料、顏色等值,以進行傳遞和篩選。

圖2 教學實驗平臺框架圖
STM32系列產品是由意法半導體集團研制的32位ARM Cortex-M3內核。它是為高性能、低成本、低功耗的嵌入式應用專門設計的系列內核,且類型多樣,使用靈活[2],可以嵌入嵌入式操作系統,在此系統上完成復雜的算法,代替PC機完成各種任務[3]。ARM是嵌入式系統較為常見的架構[4]。為了能讓學生接觸更多的嵌入式應用場合,所選擇的實驗平臺要能夠提供盡可能多的硬件資源[5]。其中,STM32F103屬于增強型系列,工作頻率達到72 MHz[6],是同類產品中性能最高的產品。本平臺選用STM32F103ZET6芯片作為主控芯片。它含有112個獨立IO口,512 KB Flash,64 KB RAM,5個USART串口,3個12位A/D轉換器,完全可以滿足對各種不同實驗功能的實現,同時也能夠留有足夠的資源以備實驗裝置的擴展。采用這個平臺不僅利于平臺性能的提高,而且可以讓學生提前接觸到除了傳統51、MSP430之外的更高性能單片機。
uC/OS-III(Micro C OS-III)是一個可擴展的,可固化的,基于優先級的多任務實時性操作系統內核[7]。它被設計用于32位處理器,并且是完全根據ANSI-C標準進行編寫的、可以實現時間片輪法調度方式的操作系統。它的實時性是實驗建立的基礎,如果不能很好地滿足系統所需的實時性要求,就失去了研究的意義[8]。uC/OS-III已經是該系列的第三代內核[9],提供了現代實時內核所期望的大部分功能,包括資源管理、同步、內部任務交流等。采用最新一代的經典uC/OS系統,不僅對平臺的可移植性、可擴展性有了更大提高,而且可以讓學生提前接觸到相比以前更好的操作系統和編程思想。
運用C語言編程,向STM32平臺中嵌入uC/OS-III操作系統,完成對檢測控制實驗平臺的機電控制和觸摸顯示。控制程序流程簡圖如圖3所示。除了控制系統以外,平臺中還有一套觸摸顯示程序,運用屏幕既可以羅列各實驗項目以供學生選擇,也可以顯示實驗平臺各部分電機、傳感器的實時狀態,以供維護。在供學生實驗時,平臺中有一段后臺程序可以實時監控各傳感器數值,當發現異常時,會及時控制各電機復位,防止發生意外和損壞。可見,構建一個快速、安全、可靠地實時嵌入式系統是整個系統的關鍵[10]。
(1) 步進電機實驗。旋轉取料臺與雙搖桿機構分別使用了四相步進電機和兩相步進電機。學生需要運用單片機,實現與之對應的四相八拍和運用集成驅動芯片的控制方式,控制電機的轉動方向和到達位置,最終使待測物料掉落進托盤中。再根據光電開關、電位器、電渦流式傳感器和薄膜壓力傳感器的反饋量,對物料和電機狀態進行檢測與處理。本實驗主要考察學生對步進電機控制方式的理解和應用,同時使學生加深對電位器、電渦流式傳感器和薄膜壓力傳感器的了解。
(2) 舵機實驗。機械手部分在3個關節上使用了3個舵機進行控制。舵機是一種位置伺服的驅動器,適用于那些需要角度不斷變化并可以保持的控制系統[11]。學生需要運用單片機,實現發送一定頻率、一定寬度、一定變化速度的PWM脈寬信號,對舵機進行精確控制,使機械手能夠完成抓取與傳遞的任務。再根據上一實驗中,電渦流式傳感器和薄膜壓力傳感器的檢測結果,判斷應該將取的物料放入廢料區還是下一環節。本實驗主要考察學生對舵機控制方式、脈寬調制方式的應用。

圖3 控制程序流程簡圖
(3) 絲桿直流無刷電機實驗。絲桿傳送機構使用了1個直流無刷電機進行控制。學生需要運用單片機,實現對直流無刷電機驅動器3個控制端口的合理控制;運用電路、DA轉換器或脈寬調制對電機進行合理的速度調節,實現速度控制。結合一側的絕對式光柵尺,對電機速度和位置進行檢測和處理。再根據升降梯上的薄膜壓力傳感器的反饋值,判斷是否有物料被傳遞過來,以決定是否降下升降梯。本實驗主要使學生了解直流無刷電機的工作方式、絕對式光柵尺的原理和應用。
(4) 同步帶直流有刷電機實驗。同步帶傳送機構使用了1個直流有刷電機進行控制。電機速度依靠脈寬調制的方式進行調節。再運用旋轉增量式編碼器,對電機速度和位置進行檢測和處理。結合傳送帶上方的光電門、攝像頭,檢測物料顏色、大小等屬性是否符合要求,如果不符合,使用筆型氣缸將物料從傳送帶推入廢料區;如符合,則直接進入合格產品區。本實驗主要考察學生對攝像頭處理圖像算法的應用,使學生了解直流有刷電機的工作方式和氣缸的使用。
(1) 步進電機閉環控制。步進電機的旋轉需要依靠單片機和步進電機驅動器,以發送四相八拍或運用集成驅動芯片的方式,控制電機軸旋轉一定的步進角。步進電機本身屬于開環控制。為了防止長時間運行所產生的丟步現象,致使步進電機無法復位的情況,運用電位器對步進電機實行閉環控制。依靠電位器實時的電阻變化,以及平臺上雙搖桿機構兩軸旋轉角度相同的特點[12],便可以根據電位器的電壓變化,使用AD轉換器讀取電壓值,解算出步進電機實時角度,做到閉環控制。
(2) 絲桿傳動閉環控制。直流無刷電機如果不進行速度控制,在使能后會以固定的速度持續轉動。當將它應用到絲桿傳動上時,就導致無法判斷電機轉動圈數和絲桿螺母到達的位置。利用絕對式光柵尺,將它與絲桿螺母連接在一起,利用光柵尺反饋的位置量和位移變化量[13],可以準確地知道電機轉動所導致的升降梯位移變化,并可以依此對直流無刷電機進行方向和速度進行控制。
(3) 直流電機速度控制。直流電機因為其特性,不像步進電機一樣可以精確控制其旋轉角度和速度。所以可以采用調節供電電壓實現加減速和對控制端口電平進行脈寬調制這兩種方法,對直流電機的速度進行調控。其中,當采用脈寬調制的方式時,可以使用PID算法調整脈寬寬度[14],使直流電機的速度趨于穩定。再配合編碼器和光柵尺進行反饋調節,可以達到精確控制的目的。
實驗教學是培養學生實踐創新能力的重要途徑[15]。通過建立檢測控制教學實驗平臺,讓學生接觸到一個融合了幾門專業課程核心的、區別于以前單一制式的綜合實驗儀器,改善實際教學效果。通過實驗平臺的使用,學生一方面可以直觀地了解機械傳動機構實際運行方式,掌握傳感器的工作原理以及嵌入式系統和編程。另一方面,通過實驗平臺的應用訓練,學生可以更好地鞏固課堂上學過的知識,激發他們對于所學專業的興趣,還可以讓他們更早地熟悉STM32和uC/OS-III的編程方式,有利于他們更好地適應以后的工作需要。本實驗裝置已應用在本科生測控專業的實驗教學中,并得到武漢大學設備處的資助。
[1] 項 俊,鐘玉林,干建平.生物學實驗課程創新體系的探索[J].實驗室研究與探索,2008,27(10):80-82.
XIANG Jun, ZHONG Yu-lin, GAN Jian-ping. Exploration on the Innovative Experimental Course System of Biology[J]. Research and Exploration in Laboratory, 2008, 27(10): 80-82.
[2] 倪驍驊,趙忠偉.嵌入式系統在裝配機器人控制中的應用[J].鹽城工學院學報(自然科學版),2009,22(2):8-11.
NI Xiaohua, ZHAO Zhongwei. The Application of Embedded System in Assembling RobotControl[J]. Journal of Yancheng Institute of Technology(Natural Science Edition), 2009, 22(2): 8-11.
[3] 周 杰,陳偉海,于守謙.基于ARM的嵌入式系統在機器人控制系統中應用[J].微計算機信息,2007(2):1-2.
ZHOU Jie, CHEN Weihua, YU Shouqian. The Application of Embedded System Based on ARM for Robot Control System[J]. Microcomputer Information, 2007(2):1-2.
[4] 王 艷,沈 毅,徐立松.ARM嵌入式系統在移動機器人中的應用[J].實驗科學與技術,2011,9(4):7-10.
WANG Yan, SHEN Yi, XU Lisong. Applications ARM Embedded System in Mobile Robots[J]. Experiment Science and Technology, 2011, 9(4): 7-10.
[5] 張其亮,韓 斌.“嵌入式系統”課程的實驗教學研究[J].實驗室研究與探索,2009,28(6):132-133.
ZHANG Qi-liang, HAN Bin. Research on the Embedded System’s Experimental Courses Teaching[J]. Research and Exploration in Laboratory, 2009, 28(6): 132-133.
[6] 勾慧蘭,劉光超.基于STM32的最小系統及串口通信的實現[J].工業控制計算機,2012(9):26-28.
GOU Huilan, LIU Guangchao. Minimum System and Serial Communication Implementation Based on STM32[J]. Industrial Control Computer, 2012(9): 26-28.
[7] 拉伯羅斯.嵌入式實時操作系統uC/OS-III應用開發——基于STM32微控制器[M].何小慶,張愛華譯.北京:北京航空航天大學出版社,2012.
[8] 施 華,薛廣濤.機器人控制系統實時性的研究[J].計算機工程,2003,29(1):91-92.
SHI Hua, XUE Guangtao. Research on Real-time Techniques About Robot Control Sys[J]. Computer Engineering, 2003, 29(1): 91-92.
[9] 屈環宇,劉姳如.uC/OS-III的內核對象解析[J].單片機與嵌入式系統應用,2012(6):79-81.
QU Huayu, LIU Mingru. Kernel Object Analysis of uC/OC-II[J]. Microcontrollers & Embedded Systems, 2012(6): 79-81.
[10] 周阿連,陳修權,周健平.基于ARM的自主式機器人控制整體設計方案[J].大連海事大學學報,2007,33(1):135-137.
ZHOU Alian, CHEN Xiuquan, ZHOU Jianping. Whole Design Plan of The Independent Robot Based on ARM Controls[J]. Journal of Dalian Maritime University, 2007, 33(1): 135-137.
[11] 劉 森,慕春棣,趙明國.基于ARM嵌入式系統的擬任機器人控制器的設計[J],清華大學學報(自然科學版),2008,48(4):482-485.
LIU Sen, MU Chundi, ZHAO Mingguo. Humanoid robot controller based on ARM embedded system[J]. Journal of Tsinghua University (Science and Technology), 2008, 48(4): 482-485.
[12] 許賢澤.精密機械設計基礎[M].北京:電子工業出版社,2012.
[13] 錢顯毅,唐國興.傳感器原理與檢測技術[M].北京:機械工業出版社,2011.
[14] 馮清秀,鄧星鐘.機電傳動控制[M].五版.武漢:華中科技大學出版社,2011.
[15] 馮 潔.創新型人才培養中實驗教學的問題與對策[J].實驗室研究與探索,2008,27(4):102-105.
FENG JI. The Problems and Countermeasures of Experimental Teaching in Innovation-Oriented Talents Training[J]. Research and Exploration in Laboratory, 2008, 27(4): 102-105.