寧紅英,李學(xué)平,盧秀,劉芳園
(西安理工大學(xué) 信息技術(shù)與裝備工程學(xué)院,陜西 西安 710048)
摘要:利用STC12系列單片機(jī)作為控制核心,減速電機(jī)作為執(zhí)行機(jī)構(gòu),以單圈電位器作為檢測(cè)元件,在有限范圍內(nèi)實(shí)現(xiàn)了角度的精確控制。經(jīng)過實(shí)驗(yàn)測(cè)試,在0°~235°的控制范圍內(nèi),最大誤差控制在±1°,保證了控制精度和控制速率;經(jīng)過實(shí)際使用驗(yàn)證了該方案安全、可靠。
關(guān)鍵詞:控制器;PWM;減速直流電機(jī);單圈電位器
中圖分類號(hào):TP215文獻(xiàn)標(biāo)識(shí)碼:ADOI: 10.19358/j.issn.1674-7720.2017.07.010
引用格式:寧紅英,李學(xué)平,盧秀,等.基于STC單片機(jī)的角度控制[J].微型機(jī)與應(yīng)用,2017,36(7):32-34,38.
0引言
*基金項(xiàng)目:西安理工大學(xué)教學(xué)研究重點(diǎn)項(xiàng)目(xjy1670)現(xiàn)代工業(yè)控制中控制對(duì)象的多樣性及復(fù)雜性,控制系統(tǒng)中各環(huán)節(jié)的控制精度、控制速度的要求不斷提高,對(duì)控制系統(tǒng)的性能提出了更高的要求。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,信號(hào)處理精度已經(jīng)普遍能夠滿足要求,所以衡量系統(tǒng)性能的優(yōu)劣取決于系統(tǒng)中的檢測(cè)環(huán)節(jié)及執(zhí)行機(jī)構(gòu)。執(zhí)行機(jī)構(gòu)從所用能源進(jìn)行分類,可分為電動(dòng)執(zhí)行機(jī)構(gòu)、氣動(dòng)執(zhí)行機(jī)構(gòu)以及液壓執(zhí)行機(jī)構(gòu)[1]??刂葡到y(tǒng)中,角度對(duì)應(yīng)執(zhí)行機(jī)構(gòu)的典型輸出,本文對(duì)電動(dòng)執(zhí)行機(jī)構(gòu)進(jìn)行分析,以通用STC系列單片機(jī)為控制核心,以單圈電位器作為檢測(cè)元件,采用PID算法,對(duì)執(zhí)行機(jī)構(gòu)減速電機(jī)進(jìn)行控制,實(shí)現(xiàn)角度的精確控制[24]。
1控制系統(tǒng)設(shè)計(jì)思想
控制系統(tǒng)結(jié)構(gòu)如圖1所示,系統(tǒng)結(jié)構(gòu)為典型的單值閉環(huán)控制系統(tǒng),主要由單片機(jī)主控系統(tǒng)、驅(qū)動(dòng)系統(tǒng)、執(zhí)行機(jī)構(gòu)、角度檢測(cè)及顯示等環(huán)節(jié)構(gòu)成。
主控系統(tǒng)主要完成信息處理、電機(jī)驅(qū)動(dòng)信號(hào)輸出、驅(qū)動(dòng)顯示器件等功能,采用主控芯片STC12C5A60S2單片機(jī),此芯片具有高速、低功耗、超強(qiáng)抗干擾等性能[5]。驅(qū)動(dòng)系統(tǒng)主要根據(jù)主控系統(tǒng)的輸出信號(hào)進(jìn)行功率放大,驅(qū)動(dòng)后級(jí)執(zhí)行機(jī)構(gòu),此環(huán)節(jié)采用專用驅(qū)動(dòng)模塊L298N來完成。執(zhí)行機(jī)構(gòu)采用減速電機(jī),完成被控對(duì)象角度的定位。角度檢測(cè)采用變阻式角度傳感器實(shí)現(xiàn),主要完成減速電機(jī)轉(zhuǎn)動(dòng)角度的準(zhǔn)確判斷,并將角度轉(zhuǎn)換成電壓輸出,角度調(diào)整范圍為0~270°,輸出電壓在一定范圍內(nèi)與角度線性對(duì)應(yīng),其輸出接入到主控系統(tǒng)的A/D轉(zhuǎn)換接口。顯示模塊采用LCD1602液晶顯示器件,主要完成設(shè)定值以及實(shí)時(shí)測(cè)量角度的顯示。
圖2負(fù)反饋控制結(jié)構(gòu)系統(tǒng)工作過程形成典型的負(fù)反饋控制系統(tǒng),結(jié)構(gòu)如圖2所示。角度傳感器與執(zhí)行機(jī)構(gòu)中的減速電機(jī)同軸相連,當(dāng)減速電機(jī)旋轉(zhuǎn)時(shí),角度傳感器隨之一起旋轉(zhuǎn),將減速電機(jī)的旋轉(zhuǎn)角度轉(zhuǎn)換成電壓輸出,作為反饋信號(hào),送入到主控系統(tǒng)的A/D轉(zhuǎn)換入口。主控系統(tǒng)接收到此信號(hào)之后,與設(shè)定值進(jìn)行比較,得到偏差信號(hào),控制系統(tǒng)一方面根據(jù)兩者偏差調(diào)整PWM輸出占空比,控制減速電機(jī)的轉(zhuǎn)速,當(dāng)偏差較大時(shí),減速電機(jī)快速轉(zhuǎn)動(dòng),隨著偏差的不斷減小,電機(jī)旋轉(zhuǎn)速度趨于平緩,既保證了系統(tǒng)調(diào)整速度,又可以減小執(zhí)行機(jī)構(gòu)定位時(shí)旋轉(zhuǎn)角度的超調(diào);另一方面,主控系統(tǒng)根據(jù)偏差信號(hào)的狀態(tài),調(diào)整減速電機(jī)的旋轉(zhuǎn)方向,最后使系統(tǒng)穩(wěn)定在設(shè)定值上。
2實(shí)現(xiàn)方案
2.1硬件電路設(shè)計(jì)
(1)電機(jī)驅(qū)動(dòng)電路
控制信號(hào)由STC12C5A16S2單片機(jī)輸出。由于單片機(jī)的直流輸出電流非常微弱,不能直接用來驅(qū)動(dòng)電機(jī),必須將輸出的控制信號(hào)輸入到電機(jī)驅(qū)動(dòng)電路,進(jìn)行功率放大,再驅(qū)動(dòng)電機(jī)工作。本文中采用驅(qū)動(dòng)芯片L298N構(gòu)造驅(qū)動(dòng)電路,如圖3所示。驅(qū)動(dòng)芯片中ENA、ENB為使能控制端,控制電機(jī)的停轉(zhuǎn),高電平有效;根據(jù)設(shè)計(jì)結(jié)構(gòu),將單片機(jī)的PWM輸出端接驅(qū)動(dòng)芯片的使能端ENA,單片機(jī)輸出端P1.4、P1.5接驅(qū)動(dòng)芯片的輸入端,控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、停止等狀態(tài)。
(2)電機(jī)旋轉(zhuǎn)角度檢測(cè)
對(duì)于電機(jī)角度檢測(cè),采用高精度的單圈電位器。減速直流電機(jī)轉(zhuǎn)軸與電位器同軸相連,電機(jī)旋轉(zhuǎn)帶動(dòng)傳感器旋轉(zhuǎn)軸的旋轉(zhuǎn),傳感器產(chǎn)生一個(gè)與角度依次對(duì)應(yīng)的輸出電壓,此電壓接入單片機(jī)A/D采樣端口,作為電機(jī)的位置反饋信號(hào),軟件處理過程中對(duì)所采集的信號(hào)進(jìn)行非線性修正,以提高控制精度。
(3)人機(jī)接口
人機(jī)接口資源分配如圖4所示。本系統(tǒng)中,人機(jī)接口主要涉及兩個(gè)問題,一是參考值的設(shè)定,另一個(gè)是參考值以及反饋值的實(shí)時(shí)顯示。參數(shù)設(shè)定采用鍵盤輸入,設(shè)置3個(gè)按鍵,對(duì)角度進(jìn)行“加”、“減”、“確定”功能設(shè)定;數(shù)據(jù)顯示采用LCD1602液晶顯示器件,完成對(duì)參考值以及反饋值的實(shí)時(shí)顯示。圖5電機(jī)驅(qū)動(dòng)軟件設(shè)計(jì)流程
2.2主要模塊軟件設(shè)計(jì)
(1)減速電機(jī)驅(qū)動(dòng)
電機(jī)驅(qū)動(dòng)軟件設(shè)計(jì)流程如圖5所示。通過將角度傳感器輸出信號(hào)與設(shè)定值進(jìn)行比較,獲得一個(gè)偏差信號(hào),首先根據(jù)偏差信號(hào)的狀態(tài)確定電機(jī)的運(yùn)行狀態(tài),當(dāng)偏差信號(hào)小于0時(shí),控制電機(jī)正轉(zhuǎn);偏差信號(hào)大于0時(shí),電機(jī)反轉(zhuǎn);偏差信號(hào)等于0時(shí),電機(jī)固定在設(shè)定位置。其次在控制算法中對(duì)此偏差信號(hào)進(jìn)行PID運(yùn)算,控制PWM輸出占空比,調(diào)整電機(jī)轉(zhuǎn)速[6],實(shí)現(xiàn)速度的兩級(jí)控制,以提高整機(jī)的調(diào)整效率,減小控制過程中角度的超調(diào)量。
?。?)A/D轉(zhuǎn)換
STC12C5A60S2系列單片機(jī)自帶A/D轉(zhuǎn)換接口,分布在P1口,圖6為單片器A/D轉(zhuǎn)換流程圖。圖6(a)為A/D轉(zhuǎn)換主流程圖,圖6(b)為ADC數(shù)據(jù)處理過程。數(shù)據(jù)處理采用求取平均值的方法[7],數(shù)據(jù)處理過程中多次采樣,剔除采樣結(jié)果中最大及最小值,再求取平均值,以保證采樣結(jié)果的精確度。
3測(cè)量數(shù)據(jù)及分析
系統(tǒng)搭建并調(diào)試完成之后,在0°~235°范圍內(nèi),每隔5°改變一次設(shè)定值,對(duì)控制結(jié)果進(jìn)行測(cè)試,測(cè)試誤差在±1°范圍內(nèi);在數(shù)據(jù)測(cè)試過程中,每改變一次設(shè)定值,系統(tǒng)能夠非常迅速地達(dá)到新的平衡狀態(tài)且超調(diào)量較小,誤差曲線如圖7所示?! ?/p>
4結(jié)論
本文主要論述了控制系統(tǒng)中對(duì)過程變量角度的控制,依次映射執(zhí)行機(jī)構(gòu)的控制過程。系統(tǒng)采用單片機(jī)作為主控芯片,結(jié)構(gòu)緊湊、體積小、集成度高、速度快、抗干擾能力強(qiáng)、故障率低、操作方便;軟件部分采用結(jié)構(gòu)化設(shè)計(jì),只要對(duì)程序參數(shù)稍加改動(dòng)就可以很快適應(yīng)新的環(huán)境,系統(tǒng)易維護(hù),集成了數(shù)據(jù)采集、數(shù)據(jù)處理、控制電機(jī)運(yùn)行狀態(tài)等功能,同時(shí)也體現(xiàn)了經(jīng)典控制理論在控制過程中良好的控制效果。經(jīng)過實(shí)際測(cè)試,角度在0°~235°時(shí),最大誤差可控制在±1°范圍。
參考文獻(xiàn)
?。?] 李開元,劉洪運(yùn),王衛(wèi)東,等.基于STC單片機(jī)的溫控?zé)嵊?jì)費(fèi)采暖閥門的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2011,37(5):56-59,63.
?。?] 郭天祥.51 單片機(jī)C語言教程 [M]. 北京 : 電子工業(yè)出版社 ,2009.
?。?] 趙新.基于PID算法的PWM單片機(jī)的帆板控制[J].信息與電腦,2016(7):33-34.
?。?] 赫建立,朱龍英,成磊,等.串聯(lián)機(jī)器人軌跡跟蹤控制模糊自適應(yīng)PID算法的誤差修正[J].電子技術(shù)應(yīng)用,2015,41(1):60-63,67.
[5] 余松科,方方,李婷,等.PWM調(diào)速對(duì)直流電機(jī)運(yùn)行特性的影響研究[J].微型機(jī)與應(yīng)用,2015,34(13):28-30,34.
?。?] 史敬灼,劉玉.超聲電機(jī)簡(jiǎn)單專家PID速度控制[J].中國(guó)電機(jī)工程學(xué)報(bào),2013,33(36):120-125.
?。?] 劉春輝,張穎超,許超,等.自動(dòng)氣象站數(shù)據(jù)采集器的設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(6):36-38.