劉 佳,柴浩元
(山西職業(yè)技術(shù)學(xué)院 電子信息工程系,山西 太原 030006)
小球滾動控制系統(tǒng)的設(shè)計與實現(xiàn)
劉 佳,柴浩元
(山西職業(yè)技術(shù)學(xué)院 電子信息工程系,山西 太原 030006)
該系統(tǒng)采用STC90C516單片機作為控制核心,對一端固定導(dǎo)軌上的小球?qū)崿F(xiàn)滾動控制。系統(tǒng)設(shè)計由控制模塊、聲光報警模塊、電機驅(qū)動模塊、光電測距模塊和電源模塊組成。由51單片機PWM控制42步進電機的正反轉(zhuǎn)通過收放線圈以控制U型導(dǎo)軌上下運動,從而控制小球滾動,同時利用光電測距模塊檢測小球運動軌跡,最終實現(xiàn)小球在軌道上的定位和運動,并在小球通過固定位置或者完成某項動作后,觸動聲光報警模塊來實現(xiàn)報警。
STC90C516單片機;小球滾動控制;光電測距;步進電機;PWM
本系統(tǒng)在設(shè)計中主要包括:核心控制模塊STC90C516單片機[1]、電機驅(qū)動模塊、聲光報警模塊和按鍵開關(guān)等功能模塊,系統(tǒng)組成框圖如圖1所示。
圖1 系統(tǒng)組成框圖
1.1 核心控制模塊的論證與選擇
方案一:采用目前大范圍使用的STC89C516系列單片機。此單片機的處理數(shù)據(jù)速度較快,運算能力強,軟件編程簡單靈活,可控性大兼容性強,能夠?qū)ν鈬娐穼崿F(xiàn)較理想的智能控制。
方案二:考慮系統(tǒng)的核心部件若選用一片CPLD(如EPM7128LC84-15)來實現(xiàn)系統(tǒng)的控制與數(shù)據(jù)的處理功能。CPLD處理數(shù)據(jù)速度快、程序編寫容易、可利用VHDL語言進行編程開發(fā)并且具有資源豐富、開發(fā)周期短等優(yōu)點。在控制上較單片機上有很大的優(yōu)勢。但CPLD結(jié)構(gòu)較復(fù)雜,比較適用于在邏輯功能及數(shù)據(jù)處理速度兩方面要求比較高的系統(tǒng)方案里。
方案三:采用TI公司的16位MSP430F2011單片機。此單片機體積不大、系統(tǒng)的時鐘頻率最高可達49 MHz,并且功能較強,在集成度、兼容性及性價比方面都表現(xiàn)出明顯的優(yōu)勢;但MSP4330F2011內(nèi)部只集成了模數(shù)A/D轉(zhuǎn)換器,沒有數(shù)模D/A轉(zhuǎn)換器。所以外圍電路必須加上12位D/A。這樣電路變得復(fù)雜,給編程帶來困難。
綜合以上三種方案,選擇采用方案一。
1.2 電機驅(qū)動模塊的論證與選擇
方案一:采用直流電機。直流電機控制相對簡單,但是定位精度不高,可用于對速度要求高,而對位移定位不高的系統(tǒng)。
方案二:采用步進電機28BYJ48型四相八拍電機,電壓為DC5 V~DC12 V??赏ㄟ^脈沖控制電機轉(zhuǎn)動,但扭矩力較小,無法驅(qū)動較復(fù)雜的系統(tǒng)。
方案三:采用5相42步進電機,該步進電機定位精確,適合應(yīng)用于位移精確定位系統(tǒng)中。5相42步進電機定位精度高,輸出力矩高,響應(yīng)頻率高,加減速時間較短,動態(tài)慣性較低運行噪音低,動態(tài)特性好。
考慮本小球系統(tǒng)的特點,選擇方案三。
1.3 測距模塊的論證與選擇
方案一:采用紅外測距模塊。紅外測距電路簡單,操作方便,具有較強的發(fā)射和接收能力。但傳感器在本系統(tǒng)中檢測存在多個盲區(qū)。在測試過程當(dāng)中,很難檢測到直徑較小的物體,誤差較大。
方案二:采用超聲波測距模塊。超聲波檢測具有快速簡便、易于控制的優(yōu)點,但在實際應(yīng)用中容易受環(huán)境因素影響測量精度。
方案三:光電傳感器測距模塊[2]。光電檢測方法可以對多個參數(shù)進行檢測,具有測試精準(zhǔn)、反應(yīng)速度快、不直接接觸等優(yōu)點,傳感器的體積小,安裝靈活,結(jié)構(gòu)簡單,在測試過程中,易檢測到體積較小的物體,容易控制。
結(jié)合本系統(tǒng)的測試需求,選擇方案三。
在整個控制系統(tǒng)中,通過位置的檢測、水平調(diào)零、角度檢測以及導(dǎo)軌的控制才能實現(xiàn)小球在軌道上靈活滾動并定位。
1) 位置的檢測:利用數(shù)字萬用表測量光電傳感器輸出信號的電壓,當(dāng)小球通過既定位置時,即有障礙物通過,輸出高電平;否則,輸出低電平。
2) 水平調(diào)零:將小球控制系統(tǒng)臺放置于測試桌后,為避免測試桌的傾角影響小球的控制的準(zhǔn)確性,在小球運動控制前,首先對導(dǎo)軌進行調(diào)零,即通過上、下按鍵,將導(dǎo)軌調(diào)至水平位置,并在軌道25 cm~35 cm范圍內(nèi)放置小球驗證是否水平,確定軌道水平后,通過按鍵操作,記錄當(dāng)前步進電機的初始位置為0,在此后的所有控制運動中再記錄步進電機的偏移位置。
3) 角度檢測:我們采用的步進電機的步距角為0.72°,即500步完成一周轉(zhuǎn)動,驅(qū)動輪的半徑為r,那么電機每轉(zhuǎn)動一步,對應(yīng)的提升線的移動距離:d=(2×π×r)/500,再根據(jù)(如圖2):sina=(d/2)/60計算出角a,再由b=2a計算出偏移角度。
4) 導(dǎo)軌控制方法:如圖3所示,在a,b,c,d,e五個位置放置光電檢測器。先將導(dǎo)軌左端降低,使小球從起始端(右端)開始向左運動,經(jīng)過e點時,光電傳感器將信號送至單片機,單片機控制導(dǎo)軌水平,小球繼續(xù)向左運動,當(dāng)經(jīng)過c點后,再控制導(dǎo)軌左端升高,小球在慣性運動后,反向從左向右運動,再次經(jīng)過c點后,控制導(dǎo)軌左端降低,從而使小球在導(dǎo)軌上往復(fù)運動。為保證小球能在導(dǎo)軌的5 cm~55 cm范圍內(nèi)運動,單片機會通過b,d光電檢測器識別小球運動方向和速度,再結(jié)合模糊控制法,準(zhǔn)確控制小球不超出5 cm~55 cm的運動范圍。
圖2 角度示意圖
圖3 導(dǎo)軌位置示意圖
3.1 電路設(shè)計
3.1.1 單片機最小系統(tǒng)
小球滾動控制系統(tǒng)的核心控制模塊采用STC89C51系列單片機,其最小系統(tǒng)電路圖如圖4所示。
圖4 最小系統(tǒng)電路圖
3.1.2 聲光報警系統(tǒng)
當(dāng)小球滾動到導(dǎo)軌兩端時,觸發(fā)器工作,啟動聲光報警系統(tǒng)[3]。聲光報警電路圖如圖5所示。
圖5 聲光報警電路圖
3.1.3 獨立按鍵系統(tǒng)
通過獨立按鍵系統(tǒng)來控制51單片機[4],以便各項程序運行,最終實現(xiàn)系統(tǒng)中所設(shè)定的各項任務(wù)。獨立按鍵電路圖如圖6所示。
圖6 獨立按鍵電路圖
3.1.4 電源系統(tǒng)
電源系統(tǒng)由電源模塊提供一個+5 V和+24 V的輸出電壓,因為整個系統(tǒng)被提供+5 V電壓,所以需要三端集成穩(wěn)壓器7 812進行穩(wěn)壓工作,將24 V的電壓穩(wěn)壓成12 V,以確保電路的正常穩(wěn)定工作。電路簡單,故不作詳述。
3.2 程序設(shè)計
該系統(tǒng)程序主要包括:主控程序模塊、按鍵處理程序模塊、紅外測距采樣數(shù)據(jù)處理子程序、定時器子程序等幾個部分,如圖7所示。
圖7 程序流程圖
4.1 測試方案
1) 硬件測試:利用數(shù)字萬用表測量光電傳感器輸出信號的電壓,當(dāng)小球通過既定位置時,即有障礙物通過,輸出高電平;否則,輸出低電平。
2) 軟件測試:通過按鍵4或5來調(diào)制步進電機的轉(zhuǎn)動速度及轉(zhuǎn)動圈數(shù),并通過收放線圈,使導(dǎo)軌調(diào)整角度;通過按鍵3,將導(dǎo)軌調(diào)制水平,并保存當(dāng)前位置。
4.2 測試條件與儀器
測試條件:必須將裝置放置與水平桌面;軌道必須平直光滑,長度60 cm;小球硬質(zhì)光滑均質(zhì),直徑在6 mm~20 mm;硬件電路保證無虛焊。
測試儀器:數(shù)字萬用表、量角器、皮尺、數(shù)字示波器。
4.3 測試數(shù)據(jù)結(jié)果分析
經(jīng)測試和不斷統(tǒng)計數(shù)據(jù)后,發(fā)現(xiàn)系統(tǒng)原理圖無問題,硬件電路完全可以實現(xiàn)其題目要求的功能。光電傳感器數(shù)據(jù)誤差在1 cm~2 cm之間,符合要求。
4.3.1 測試數(shù)據(jù)
表1 小球往復(fù)運動測試數(shù)據(jù)
表2 小球在往復(fù)運動狀態(tài)下通過指令使其靜止時的測試數(shù)據(jù)
表3 小球往復(fù)運動測試數(shù)據(jù)
4.3.2 測試分析與結(jié)論
根據(jù)測試數(shù)據(jù),由此可以得出以下結(jié)論:
1) 小球觸碰軌道兩端光電傳感器時,聲光報警器會工作,有明顯的聲音信號響出,以及發(fā)光二極管發(fā)出光閃爍指示。10 s可以將導(dǎo)軌從正負15°范圍內(nèi)調(diào)整至水平,小球在任一個區(qū)間都達到靜止不動。達到題目要求。2) 根據(jù)測試,小球在13 s內(nèi)在導(dǎo)軌上往復(fù)運動3次,這3次平均中心位置為29.2 cm,符合題目要求的5 cm~55 cm區(qū)間范圍。3) 通過多次測試,并取樣三組數(shù)據(jù),小球平均在14 s內(nèi)停止在31 cm位置區(qū)域內(nèi),并保持10 s以上。4) 根據(jù)測試,小球在26 s內(nèi)在導(dǎo)軌上往復(fù)運動4次,這4次平均中心位置為30 cm,偏離中心最大位移為19 cm,符合題目要求的5 cm~25 cm區(qū)間。
[1] 宋海蘭.單片機原理與應(yīng)用設(shè)計[M].北京:清華大學(xué)出版社,2013.
[2] 黃志偉.全國大學(xué)生電子設(shè)計競賽訓(xùn)練教程[M].北京:電子工業(yè)出版社,2005.
[3] 吳運昌.模擬電子線路基礎(chǔ)[M].廣州:華南理工大學(xué)出版社,2004.
[4] 閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,1997.
Design and Implementation of a Ball Rolling Control System
Liu Jia, Chai Haoyuan
(ElectronicInformationEngineeringDepartment,ShanxiPolytechnicCollege,TaiyuanShanxi030006,China)
The system adopts STC90C516 single chip microcomputer as control core to control a ball rolling on guide rail which one end is fixed. The system design is composed of control module, sound and light alarm module, motor drive module, photoelectric ranging module and power module. The PWM control 51 single-chip microcomputer is used to control the positive inversion of 42 stepper motor by retracting the coil to control u rail movement up and down, and then control the ball rolling. At the same time, the photoelectric ranging module is used to detect the ball movement, and finally realizes the ball movement and positioning in orbit. After the ball is in a fixed position or a certain action is completed, the audible and visual alarm module is used to make the alarm.
STC90C516 microcontroller; ball rolling control; electro-optical distance; stepping motor; PWM
2017-03-03
劉 佳(1983- ),女,山西大同人,講師,太原理工大學(xué)在讀博士研究生,主要從事通信與信息系統(tǒng)的教學(xué)研究。
1674- 4578(2017)02- 0021- 04
TP273
A