李小琴
(寧波職業(yè)技術(shù)學(xué)院電子信息工程系,浙江寧波 315800)
帆板控制系統(tǒng),通過(guò)對(duì)風(fēng)扇轉(zhuǎn)速的控制,調(diào)節(jié)風(fēng)力大小,改變遮風(fēng)板轉(zhuǎn)角θ,顯示范圍為0°~60°,分辨力為2°,絕對(duì)誤差≤5°;當(dāng)間距d=7~15 cm 時(shí),通過(guò)操作鍵盤控制風(fēng)力大小,控制帆板轉(zhuǎn)角θ,θ在0°~60°,要求控制過(guò)程在5 s內(nèi)完成,并實(shí)時(shí)顯示,且有聲光提示。如圖1所示。
圖1 帆板控制系統(tǒng)示意圖
帆板控制系統(tǒng)總體框圖主要由單片機(jī)、角度信息采集模塊、鍵盤輸入模塊、顯示模塊、電機(jī)驅(qū)動(dòng)模塊以及電源模塊構(gòu)成。系統(tǒng)設(shè)計(jì)總體框圖如圖2所示。
圖2 系統(tǒng)總體框圖
(1)角度信息采集模塊:采用HEDS9701槽型光耦加360線光柵片組成的編碼器獲取帆板的角度信息,分辨率為1°,符合設(shè)計(jì)要求,且已經(jīng)是數(shù)字信號(hào),無(wú)需通過(guò)A/D采用模塊輸入單片機(jī)系統(tǒng),穩(wěn)定可靠。
(2)電機(jī)驅(qū)動(dòng)模塊:選用直流電機(jī)風(fēng)扇,工作電流1.2 A,工作電壓12 V。經(jīng)測(cè)試,風(fēng)力能將帆板吹至約80°。采用單片機(jī)STC89C54作為主控芯片,通過(guò)編碼器輸出的正交信號(hào)可以實(shí)現(xiàn)直流電機(jī)的正反轉(zhuǎn)控制,通過(guò)PWM方式控制風(fēng)扇轉(zhuǎn)速,從而實(shí)現(xiàn)對(duì)帆板的角度控制。
(3)控制系統(tǒng)的選擇:選用STC89C54作為主控器件,STC系列單片機(jī)是紅星科技生產(chǎn)的單時(shí)鐘、機(jī)器周期(IT)單片機(jī),是高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),指令代碼完全兼容傳統(tǒng)8051。
角度通過(guò)編碼器輸出的正交信號(hào)進(jìn)行計(jì)算獲得。如圖3所示,A、B分別是傳感器輸出的兩路正交信號(hào)。
圖3 正交信號(hào)
表1 正交信號(hào)4種情況
如表1所示,正交信號(hào)A和B共同組成了4種情況,如當(dāng)前A為1;B為0時(shí);信號(hào)變?yōu)锳為0;B為0,則帆板往反方向轉(zhuǎn),角度減少1°;信號(hào)變?yōu)锳為0,B為1,則帆板往正方向轉(zhuǎn),角度增加1°;以此類推,正反方向各共有4種情況。
設(shè)計(jì)采用PI轉(zhuǎn)速控制,PI控制實(shí)現(xiàn)采用常規(guī)方法,并包含了一個(gè)(Kc*Excess)項(xiàng)以抑制積分飽和,如圖4所示。
圖4 PI控制
相應(yīng)程序?yàn)?/p>
采用開(kāi)關(guān)電源12 V作為直流電源,經(jīng)過(guò)電容濾波、7805穩(wěn)壓后得到+5 V電壓,提供給單片機(jī)、存儲(chǔ)器24C02的供電,如圖5所示。
圖5 電源電路
圖6為風(fēng)扇控制電路,F(xiàn)S-和+12 V接風(fēng)扇,當(dāng)P23為0時(shí),Q2截止,Q1導(dǎo)通,電機(jī)運(yùn)轉(zhuǎn)。當(dāng)P23為1時(shí),Q2導(dǎo)通,Q1截止,電機(jī)不運(yùn)轉(zhuǎn)。
圖6 風(fēng)扇控制電路
如圖7所示,系統(tǒng)由兩組4位共陰數(shù)碼管和4個(gè)按鍵組成,DPY1顯示測(cè)得的角度,DPY2顯示設(shè)定或改變的角度。4個(gè)按鍵分別為設(shè)定鍵,啟動(dòng)/停止鍵,-1鍵和+1鍵。74LS145為4線-10線譯碼器/驅(qū)動(dòng)器,A、B、C、D連單片機(jī)P00~P03,0 ~9 分別連接兩組數(shù)碼管、鍵盤和發(fā)光二極管,其中數(shù)碼管的位控制和按鍵是共用的。74HC164是串行并出移位寄存器,提供接數(shù)碼管的段碼信號(hào)。
總程序流程圖如圖8所示,程序采用模塊化設(shè)計(jì),分成幾部分的獨(dú)立子程序。首先是按鍵判斷子程序,采用矩陣式按鍵的掃描方式來(lái)編寫程序,當(dāng)有鍵按下時(shí)把相應(yīng)的鍵值存儲(chǔ)在RAM中,主程序根據(jù)鍵值來(lái)判斷執(zhí)行哪一段程序。設(shè)定數(shù)據(jù)有兩種,一種是設(shè)定P值0~100%,對(duì)應(yīng)帆板的角度,另外一種是設(shè)定A在0°~60°,同樣,帆板的轉(zhuǎn)角也會(huì)到達(dá)相應(yīng)的設(shè)定值,然后進(jìn)行數(shù)據(jù)顯示處理,然后調(diào)整PI值進(jìn)行風(fēng)扇轉(zhuǎn)速控制輸出,如果帆板進(jìn)入設(shè)定值的絕對(duì)值5°內(nèi),則紅色發(fā)光二極管閃亮3次,同時(shí)蜂鳴器響3下;如果沒(méi)有進(jìn)入,則發(fā)光二極管不亮、蜂鳴器不響。
圖7 顯示鍵盤電路
圖8 主程序流程圖
T0中斷是數(shù)據(jù)顯示和按鍵檢測(cè)、PWM數(shù)據(jù)處理、蜂鳴器輸出程序。如圖9所示。
圖9 T0中斷程序
T1中斷是正交編碼器信號(hào)檢測(cè)和處理程序,如圖10所示。
圖10 T1中斷程序流程圖
T2中斷產(chǎn)生PWM,脈寬調(diào)整。如圖11所示。
圖11 T2中斷程序流程圖
(1)用手轉(zhuǎn)動(dòng)帆板,能顯示帆板的轉(zhuǎn)角度數(shù)。角度范圍為0°~60°,分辨力為1°,經(jīng)測(cè)試系統(tǒng)誤差值為0°。(2)當(dāng)間距d=7~15 cm時(shí),通過(guò)操作鍵盤控制風(fēng)力大小,控制帆板轉(zhuǎn)角θ,θ在0°~60°,要求控制過(guò)程在5 s內(nèi)完成,并實(shí)時(shí)顯示,且有聲光提示。
表2 設(shè)定角度、距離與穩(wěn)定時(shí)間的測(cè)試表
經(jīng)測(cè)試,系統(tǒng)性能達(dá)到了設(shè)計(jì)要求,帆板角度控制屬于自動(dòng)化控制類,設(shè)計(jì)采用槽型光耦加360線光柵片組成的傳感器能精確定位角度,是一種良好的角度控制傳感器,再利用PID算法控制PWM參量,從而控制風(fēng)扇的轉(zhuǎn)速。
[1]程利民,王軍,歐陽(yáng)德祥,等.基于STC89C54的單片機(jī)實(shí)踐教學(xué)系統(tǒng)設(shè)計(jì)[J].武漢職業(yè)技術(shù)學(xué)院學(xué)報(bào),2007(3):77-79.
[2]全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽組委會(huì).第九屆全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽獲獎(jiǎng)作品選編[M].北京:北京理工大學(xué)出版社,2010.
[3]陳光絨.單片機(jī)技術(shù)應(yīng)用教程[M].北京:北京大學(xué)出版社,2006.
[4]蔣平.一種PID模糊控制器[J].自動(dòng)化博覽,2011(1):68-70.
[5]張永紅,高曉梅.遮風(fēng)板角度控制系統(tǒng)設(shè)計(jì)及優(yōu)化[J].電子設(shè)計(jì)工程,2012(4):83-85.