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