黃益民
摘要:本文設(shè)計了一種利用AT89S52作為主控微處理器,鍵盤作為輸入設(shè)備,數(shù)碼管作為顯示設(shè)備的舵機、步進電機綜合控制系統(tǒng),用戶能通過鍵盤向系統(tǒng)輸入運動指令如:步進電機正轉(zhuǎn)、反轉(zhuǎn)、調(diào)速,舵機的角度旋轉(zhuǎn)控制等,該系統(tǒng)具有很好的可擴展性,可根據(jù)實際運用增加外圍設(shè)備,運用具有較強的可塑性。
Abstract: This paper designs a comprehensive control system for steering gear and stepper motor using AT89S52 as the main control microprocessor, keyboard as input device, and digital tube as display device. Users can input motion instructions to the system through the keyboard, such as: stepper motor forward rotation, reverse rotation, speed regulation, steering angle rotation control, etc. The system has good scalability, and peripheral equipment can be added according to the actual application. The application has strong plasticity.
關(guān)鍵詞:AT89S52;舵機;步進電機;PWM信號;數(shù)碼管
Key words: AT89S52;rudder machine;stepper motor;PWM;the figures tube
中圖分類號:U664.4+1? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標(biāo)識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)04-0225-02
0? 引言
隨著現(xiàn)代科學(xué)技術(shù)的不斷發(fā)展和市場需求的多樣化,國內(nèi)外知名電氣工程和機械廠家日益關(guān)注智能產(chǎn)品的多功能開發(fā)。機械制造業(yè)在經(jīng)歷了內(nèi)燃機的動力革命,以及液壓、氣壓的傳動革命之后,現(xiàn)在正致力于應(yīng)用電氣化控制技術(shù)來完成產(chǎn)品的操作和控制革命,以滿足更多的用戶對產(chǎn)品節(jié)能、環(huán)保、舒適性、智能化和便捷維護的要求。本系統(tǒng)通過經(jīng)濟性和實用性考慮,采用單片機作為微控制器對舵機、步進電機進行綜合控制,得到一個既能提高電機的控制速度和控制精度又可以對多種電機進行綜合控制的控制器。
1? 系統(tǒng)硬件設(shè)計
1.1 顯示鍵盤控制部分硬件設(shè)計
本系統(tǒng)采用一個數(shù)碼管作為顯示輸出,為了簡化編程,本系統(tǒng)采用靜態(tài)驅(qū)動方式,來驅(qū)動數(shù)碼管顯示。靜態(tài)驅(qū)動也稱作直流驅(qū)動,各顯示器在顯示過程中,持續(xù)得到遞送過來的信號,該驅(qū)動是指每個數(shù)碼管的每個段碼都由一個單片機的I/O端口進行驅(qū)動。靜態(tài)驅(qū)動相對于動態(tài)顯示而言,優(yōu)點是顯而易見的,編程簡單,顯示亮度高,無閃爍,無需掃描,節(jié)省CPU時間,而缺點是用元器件多,占用I/O端口比較多。
1.2 舵機控制硬件設(shè)計
舵機主要是由外殼、電路板、數(shù)據(jù)存儲器、中央控制器、無核心馬達、齒輪、數(shù)據(jù)存儲器與位置檢測器所構(gòu)成。中央控制器內(nèi)帶有單片機,可以人工編程,達到所需控制目的。其工作原理是由單片機將工作指令以二進制形式發(fā)送給上位機,經(jīng)由電路板,將電信號轉(zhuǎn)化為偏角指令,傳送到舵機調(diào)節(jié)單元,判斷轉(zhuǎn)動方向,再驅(qū)動無核心馬達轉(zhuǎn)動,通過減速齒輪及連桿將動力傳至擺臂,同時由位置檢測器(可變電阻)反饋實時訊號,判斷舵機是否已經(jīng)到指定位置。舵機內(nèi)部電路板自行產(chǎn)生一個PWM信號,該信號的占空比根據(jù)電動機旋轉(zhuǎn)位置而定,AT89S52需要提供一個有一定占空比的PWM信號,在舵機內(nèi)部和原有PWM信號比較,根據(jù)兩信號的電壓差控制電動機轉(zhuǎn)動,從而改變內(nèi)部PWM信號,當(dāng)其和輸入信號一致時,電動機便停止轉(zhuǎn)動。
綜上所述,對于舵機,AT89S52需要輸出一個可控占空比的PWM信號。
用單片機系統(tǒng)實現(xiàn)對舵機輸出轉(zhuǎn)角的控制,必須要完成兩個任務(wù):第一,產(chǎn)生基本的PWM周期信號(本次設(shè)計是產(chǎn)生20ms的周期信號);第二,是脈寬的調(diào)整,即用單片機模擬PWM信號的輸出,并且調(diào)整占空比來達到控制目的。
1.3 步進電機控制硬件的設(shè)計
步進電機及脈沖電機,是一種感應(yīng)電機,它將電脈沖信號轉(zhuǎn)變?yōu)榻俏灰苹蚓€位移的開環(huán)控制元件。步進電機是一種執(zhí)行元件,是機電一體化的關(guān)鍵產(chǎn)品之一,是現(xiàn)代數(shù)字程序控制系統(tǒng)中的主要執(zhí)行元件,廣泛應(yīng)用在各種自動化控制系統(tǒng)領(lǐng)域中。步進電機的轉(zhuǎn)子為永磁體,當(dāng)有電流流過電機定子繞組時,定子繞組產(chǎn)生一個矢量磁場。該磁場會帶動電機轉(zhuǎn)子旋轉(zhuǎn)一角度,使得轉(zhuǎn)子的一對磁場方向與電機定子的磁場方向一致。當(dāng)定子的矢量磁場旋轉(zhuǎn)一個角度,同時轉(zhuǎn)子也隨著該磁場轉(zhuǎn)了一個角度。這樣就可以通過控制脈沖的個數(shù),來控制角位移量,從而達到準(zhǔn)確定位控制的目的;同時,也可以通過控制脈沖頻率,來控制電機轉(zhuǎn)動的速度和加速度,從而達到加速或減速的目的。當(dāng)然,也可以實現(xiàn)正反轉(zhuǎn),改變繞組通電的順序即可。由于脈沖信號數(shù)與步距角呈線性關(guān)系,加上步進電機無累積誤差等特點,使得在速度、位置等控制場所和領(lǐng)域用步進電機來控制,變的非常的簡單。
1.4 主控制微處理器的選擇和主電路硬件設(shè)計
本系統(tǒng)設(shè)計采用AT89S52單片機,它是一種低功耗、高性能的有8K字節(jié)可編程(也可擦寫)閃存的8位互補金屬氧化物半導(dǎo)體微控制器。同時它帶有ISP下載功能,利用89S-AVR ISP編程器來替代價格昂貴的單片機仿真器編程器,一來節(jié)省開發(fā)費用,二來使用方便。AT89S52的運行速度非??欤幚砟芰?,并且對語言編程方面提供了較好的支持。
按照功能,AT89S52的引腳,可分為如下四類:①主電源;②外接晶振或振蕩器;③多功能I/O口;④控制、選通和復(fù)位。
①P0~P3四個8位并行I/O口均可作普通I/O口使用,每個口線也可以單獨作為輸入或輸出。此時它們是準(zhǔn)雙向口;在將某一口線作為輸出口用時可直接向其輸出數(shù)據(jù),而作為輸入口用時,必須先向該口的鎖存器寫1,將其置為高阻輸入,方可讀入引腳數(shù)據(jù)。
AT89S52的I/O口具有自動識別特性。即P0、P2口的總線復(fù)用和P1、P3口的第二個功能,都是由單片機自動選擇的,不需要通過指令去設(shè)定。
②AT89S52可外接晶振或振蕩器,頻率范圍0~33Hz。外接振蕩器時XTAL2浮空。
③AT89S52單片機是高電平復(fù)位。
④在無外擴程序存儲器和數(shù)據(jù)存儲器時,EA應(yīng)接高電平。
2? 系統(tǒng)分立模塊的軟件設(shè)計
2.1 主程序
本系統(tǒng)主程序為判斷鍵位,根據(jù)輸入量調(diào)用各部分功能程序,并執(zhí)行按鍵對應(yīng)子程序來設(shè)定步進電動機和舵機的運動狀態(tài),最后執(zhí)行運動流程。
程序初始化,顯示關(guān)閉,準(zhǔn)備接收鍵盤輸入,按下鍵1,執(zhí)行數(shù)碼顯示程序,數(shù)碼管工作。再次按鍵1,設(shè)定步進電機工作速度,設(shè)定完速度,判斷按鍵2是否按下,按下則指示燈亮,并執(zhí)行步進電機工作程序和按鍵跳出程序。按下鍵3,指示燈亮,轉(zhuǎn)入舵機工作程序,設(shè)定并打開定時中斷,產(chǎn)生舵機輸入脈沖,寄存器清零。鍵判斷程序判斷是否按鍵,如果按鍵則舵機角度運轉(zhuǎn),再次按下3鍵,則跳出舵機運轉(zhuǎn)程序,轉(zhuǎn)入主程序。
2.2 步進電機運行程序
數(shù)碼管設(shè)定轉(zhuǎn)速后,若步進電機程序開始按鈕按下,則轉(zhuǎn)入步進電機工作程序,程序?qū)崿F(xiàn)步進電機的正反轉(zhuǎn)。
2.3 定時中斷服務(wù)程序
此程序主要為舵機提供PWM信號,根據(jù)鍵盤輸入改變PWM信號的占空比,從而改變舵機的輸出轉(zhuǎn)角。中斷開始先重新裝入初值,執(zhí)行舵機的PWM信號程序,通過改變延時程序調(diào)整輸出脈寬,將脈寬傳輸給舵機,通過執(zhí)行按鈕控制舵機角度轉(zhuǎn)動。
2.4 延時程序
本系統(tǒng)提供了兩種可調(diào)節(jié)延時程序,一種可調(diào)節(jié)的延時程序,通過改變設(shè)定初值用于鍵盤消抖和控制步進電機的轉(zhuǎn)速,另一種可調(diào)節(jié)延時程序用于調(diào)整舵機的轉(zhuǎn)角。
2.5 顯示程序
本系統(tǒng)只采用一個數(shù)碼管顯示,故采用靜態(tài)顯示驅(qū)動方式,顯示程序獲得按鍵輸入后用查表程序找到數(shù)字的代碼,然后輸出給P1七個引腳直接驅(qū)動數(shù)碼管顯示。
3? 結(jié)束語
本設(shè)計的最大創(chuàng)新點在于實現(xiàn)了一片AT89C51單片機同時控制三路不同電動機定角度定圈數(shù)旋轉(zhuǎn),并顯示控制狀態(tài)。經(jīng)過社會市場調(diào)查,目前市面上比較普遍的是一個單片機實現(xiàn)一種電動機的多路控制,當(dāng)要驅(qū)動多種電動機時,就必須使用多片單片機。因此,本系統(tǒng)在某種意義上還有很大的發(fā)展空間。
參考文獻:
[1]王時勝,姜建平.采用單片機實現(xiàn)PWM式D/A轉(zhuǎn)換技術(shù)[J].電子質(zhì)量,2004,12(2).
[2]高同躍,等.一種超小型無人機舵機控制系統(tǒng)的設(shè)計[J].計算機測量與控制,2007,15(8).
[3]艾寧,等.智能車運動狀態(tài)實時監(jiān)測系統(tǒng)的設(shè)計及實現(xiàn)[D].電子產(chǎn)品世界,2007,8(5).
[4]叢喜東,等.基于AVR單片機的微型舵機控制[J].科技資訊,2007,10(8).
[5]熊詩波,黃長藝.機械工程測試技術(shù)基礎(chǔ)[M].三版.北京:機械工業(yè)出版社,2006:68-124.
[6]張友德,趙志英,等.單片微型機原理、應(yīng)用與試驗[M].四版.上海:復(fù)旦大學(xué)出版社,2006(3):25-113.
[7]陳陽海.單片機的基本結(jié)構(gòu)與工作原理(二)-AT89S52單片機引腳功能、時鐘系統(tǒng)、時序及復(fù)位[M].電子制作,2006(2).
[8]CHRIS GASKETT; ALE?譒 UDE; GORDON CHENG.HAND–EYE COORDINATION THROUGH ENDPOINT CLOSED-LOOP AND LEARNED ENDPOINT OPEN-LOOP VISUAL SERVO CONTROL. International Journal of Humanoid Robotics (IJHR)?. 2005, 2(2).