當前位置:首頁 > 工業(yè)控制 > 工業(yè)控制
[導讀]本文提出一種以外部中斷計數(shù)為基礎的PWM波形實現(xiàn)方法。該方法具有簡單方便,成本低,可實現(xiàn)多路獨立PWM輸出的優(yōu)點。

摘要  舵機是機器人、機電系統(tǒng)和航模的重要執(zhí)行機構。舵機控制器為舵機提供必要的能源和控制信號。本文提出一種以外部中斷計數(shù)為基礎的PWM波形實現(xiàn)方法。該方法具有簡單方便,成本低,可實現(xiàn)多路獨立PWM輸出的優(yōu)點。
關鍵詞 AT89(:205l 舵機控制器 外部中斷PWM

    舵機是一種位置伺服的驅動器。它接收一定的控制信號,輸出一定的角度,適用于那些需要角度不斷變化并可以保持的控制系統(tǒng)。在微機電系統(tǒng)和航模中,它是一個基本的輸出執(zhí)行機構。

1 舵機的工作原理
   
以日本FUTABA-S3003型舵機為例,圖1是FUFABA-S3003型舵機的內部電路。


    舵機的工作原理是:PWM信號由接收通道進入信號解調電路BA66881。的12腳進行解調,獲得一個直流偏置電壓。該直流偏置電壓與電位器的電壓比較,獲得電壓差由BA6688的3腳輸出。該輸出送人電機驅動集成電路BA6686,以驅動電機正反轉。當電機轉速一定時,通過級聯(lián)減速齒輪帶動電位器R。,旋轉,直到電壓差為O,電機停止轉動。舵機的控制信號是PWM信號,利用占空比的變化改變舵機的位置。

2 舵機的控制方法
   
標準的舵機有3條導線,分別是:電源線、地線、控制線,如圖2所示。

    電源線和地線用于提供舵機內部的直流電機和控制線路所需的能源.電壓通常介于4~6V,一般取5V。注意,給舵機供電電源應能提供足夠的功率。控制線的輸入是一個寬度可調的周期性方波脈沖信號,方波脈沖信號的周期為20 ms(即頻率為50 Hz)。當方波的脈沖寬度改變時,舵機轉軸的角度發(fā)生改變,角度變化與脈沖寬度的變化成正比。某型舵機的輸出軸轉角與輸入信號的脈沖寬度之間的關系可用圍3來表示。

3 舵機控制器的設計
(1)舵機控制器硬件電路設計
   
從上述舵機轉角的控制方法可看出,舵機的控制信號實質是一個可嗣寬度的方波信號(PWM)。該方波信號可由FPGA、模擬電路或單片機來產生。采用FPGA成本較高,用模擬電路來實現(xiàn)則電路較復雜,不適合作多路輸出。一般采用單片機作舵機的控制器。目前采用單片機做舵機控制器的方案比較多,可以利用單片機的定時器中斷實現(xiàn)PWM。該方案將20ms的周期信號分為兩次定時中斷來完成:一次定時實現(xiàn)高電平定時Th;一次定時實現(xiàn)低電平定時T1。Th、T1的時間值隨脈沖寬度的變換而變化,但,Th+T1=20ms。該方法的優(yōu)點是,PWM信號完全由單片機內部定時器的中斷來實現(xiàn),不需要添加外圍硬件。缺點是一個周期中的PWM信號要分兩次中斷來完成,兩次中斷的定時值計算較麻煩;為了滿足20ms的周期,單片機晶振的頻率要降低;不能實現(xiàn)多路輸出。也可以采用單片機+8253計數(shù)器的實現(xiàn)方案。該方案由單片機產生計數(shù)脈沖(或外部電路產生計數(shù)脈沖)提供給8253進行計數(shù),由單片機給出8253的計數(shù)比較值來改變輸出脈寬。該方案的優(yōu)點是可以實現(xiàn)多路輸出,軟件設計較簡單;缺點是要添加l片8253計數(shù)器,增加了硬件成本。本文在綜合上述兩個單片機舵機控制方案基礎上,提出了一個新的設計方案,如圖4所示。

    該方案的舵機控制器以AT89C2051單片機為核心,555構成的振蕩器作為定時基準,單片機通過對555振蕩器產生的脈沖信號進行計數(shù)來產生PWM信號。該控制器中單片機可以產生8個通道的PWM信號,分別由AT89C2051的P1.0~Pl.7(12~19引腳)端口輸出。輸出的8路PWM信號通過光耦隔離傳送到下一級電路中。因為信號通過光耦傳送過程中進行了反相,因此從光耦出來的信號必須再經(jīng)過反相器進行反相。方波信號經(jīng)過光耦傳輸后,前沿和后沿會發(fā)生畸變,因此反相器采用CD40106施密特反相器對光耦傳輸過來的信號進行整形,產生標準的PWM方波信號。筆者在實驗過程中發(fā)現(xiàn),舵機在運行過程中要從電源吸納較大的電流,若舵機與單片機控制器共用一個電源,則舵機會對單片機產生較大的干擾。因此,舵機與單片機控制器采用兩個電源供電,兩者不共地,通過光耦來隔離,并且給舵機供電的電源最好采用輸出功率較大的開關電源。該舵機控制器占用單片機的個SCI串口。串口用于接收上位機傳送過來的控制命令,以調節(jié)每一個通道輸出信號的脈沖寬度。MAX232為電平轉換器,將上位機的RS232電平轉換成TTL電平。

(2)實現(xiàn)多路PWM信號的原理

    在模擬電路中,PWM脈沖信號可以通過直流電平與鋸齒波信號比較來得到。在單片機中,鋸齒波可以通過對整型變量加1操作來實現(xiàn),如圖5所示。假定單片機程序中設置一整型變量SawVal,其值變化范圍為O~N。555振蕩電路產生的外部計數(shù)時鐘信號輸入到AT89C2051的INTO腳。每當在外部計數(shù)時鐘脈沖的下降沿,單片機產生外部中斷,執(zhí)行外部中斷INT0的中斷服務程序。每產生一次外部中斷,對SawVal執(zhí)行一次加1操作,若SawVal已達到最大值N,則對SawVal清O。SawVal值的變化規(guī)律相當于鋸齒波,如圖5所示。若在單片機程序中設置另一整型變量DutyVal,其值的變化范圍為O~N。每當在SawVal清0時,DulyVal從上位機發(fā)送的控制命令中讀入脈沖寬度系數(shù)值,例如為H(0≤H≤N)。若DutyVal≥SawVal,則對應端口輸出高電平;若DutyVal<Sawval,則對應端口輸出低電平。從圖5中可看出,若改變DutyVal的值,則對應端口輸出脈沖的寬度發(fā)生變化,但輸出脈沖的頻率不變,此即為PWM波形。

    設外部計數(shù)時鐘周期為TINT0,鋸齒波周期(PWM脈沖周期)為TPWM,PWM脈沖寬度占空比為D,由圖5可得出如下關系:

   
    由式(3)可知,PWM波形的周期TPWM一旦確定下來,只須選定計數(shù)最大值N,就可以確定外部時鐘脈沖所需周期(頻率)。外部時鐘脈沖周期TINT0顯然是PWM脈沖寬度變換的最小步距,即調節(jié)精度。由式(4)可知,N越大,步距所占PWM周期的百分比越小,精度越高。例如,若采用8位整型變量,最大值N=28-1=255,則精度為1/(255+1)=1/255;若采用16位整型變量,最大值N=216-1=65535,則精度為1/65536。文中計數(shù)變量SawVal采用8位整型變量,因此N=255。對于一般應用,其精度已足夠。就舵機而言,要求TPWM=20ms,則可算得外部時鐘周期為:

   
    因此,設計555振蕩電路時,其輸出脈沖的頻率應為:

   
    當有多個變量與SawVal比較,將比較結果輸出到多個端口時。就形成了多路PWM波形。各個變量的值可以獨立變化,因此各路PWM波形的占空比也可以獨立調節(jié),互不相干。多路PWM波形的產生如圖6所示。圖中以3路PWM波形為例。

4 舵機控制器軟件的設計
   
舵機控制器的控制核心為單片機AT89C2051。文中,程序用C5l編寫,工作方式為前后臺工作方式。單片機程序包括系統(tǒng)初始化程序、串口通信程序、上位機命令解釋與PWM脈寬生成程序和多路PWM波形輸出程序。串行通信程序和多路PWM波形輸出程序采用中斷方式。串口通信格式為渡特率9600bps、8位數(shù)據(jù)位、1位停止位、無校驗、ASCII碼字符通信。串口通信程序用于接收上位機發(fā)送過來的控制命令??刂泼畈捎米远x文本協(xié)議,即協(xié)議內容全部為ASCII碼字符。通信協(xié)議格式如圖7所示。

    例如,要控制通道1的PWM脈寬,脈寬系數(shù)為25,則通信協(xié)議內容為“#”“1”“0”“2”“5”“!”這6個字符。這時通道l的PWM占空比為25/256=O.098。一個通道號對應一個PWM脈沖輸出端口。本設計為8個通道,號碼為l~8,對應單片機的P1.o~P1.7。起始符和終止符起到幀同步的作用。串口通信程序流程如圖8所示。

    圖8中,CHNo存放的是PWM通道號ASCII碼,Dutyl00、DutylO、Duoyl分別存放的是脈寬系數(shù)的百位數(shù)、十位數(shù)和個位數(shù)的ASCII碼(注意,若高位數(shù)為O,則該位的字符應為“0”,不能省略。如25,完整字符應為“O”“2”“5”。CharNo為信號量,用于對串口接收的字符順序以及串口中斷與上位機命令解釋程序之間進行同步。


5 舵機控制器實驗
   
圖9為舵機控制板輸出的其中一路PWM波形(帶舵機負載)。
    從圖9中可看出,舵機控制器輸出的PWM波形穩(wěn)定、干凈,符合設計要求。

6 結論
    本文提出的多路舵機控制器設計方法,以單片機AT89C2051為核心,由外部振蕩電路提供PWM脈沖的定時基準,控制部分與舵機驅動部分由兩個電源供電,兩者電氣隔離。這種設計方案的優(yōu)點是:
    ①PWM波形由外部振蕩電路提供定時基準,與單片機內部振蕩器的頻率無關,不影響串口通信、定時器等參數(shù)的配置。
    ②PWM波形的調整精度可任意確定。
    ③本沒計思路可應用于任意多路的PWM輸出,只要單片機能提供足夠多的輸出端口,例如將AT89C2051換成AT89S5l,就可以提供至少24路的PWM輸出(P0、Pl、P2)。
    ④控制參數(shù)由SCI串口輸入,適應面廣,上位機可以是PC機、單片機或是PLC。
    ⑤本方法具有一般性,任何單片機只要能提供SCI中斷、外部中斷就可以應用本方法。
    編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉