亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        分時(shí)復(fù)用PWM模塊的多舵機(jī)控制信號(hào)的實(shí)現(xiàn)

        2016-11-26 07:52:35劉紅周鄭建榮
        微特電機(jī) 2016年8期
        關(guān)鍵詞:低電平舵機(jī)原理圖

        吳 清,劉紅周,鄭建榮

        (華東理工大學(xué),上海 200237)

        ?

        分時(shí)復(fù)用PWM模塊的多舵機(jī)控制信號(hào)的實(shí)現(xiàn)

        吳 清,劉紅周,鄭建榮

        (華東理工大學(xué),上海 200237)

        提出了一種基于分時(shí)復(fù)用單片機(jī)/DSP內(nèi)部PWM模塊產(chǎn)生多路電動(dòng)舵機(jī)控制信號(hào)的方法。利用內(nèi)部的PWM模塊硬件中斷功能,輔以必要的硬件電路,可以從1路分時(shí)復(fù)用PWM模塊中分離出8路舵機(jī)信號(hào)。單片機(jī)/DSP內(nèi)部的PWM模塊越多,可擴(kuò)展的舵機(jī)控制信號(hào)就越多。通過ATmega128的軟硬件仿真,驗(yàn)證了其可行,并實(shí)現(xiàn)了48路PWM信號(hào)。該控制信號(hào)產(chǎn)生的優(yōu)勢(shì)是利用內(nèi)部的PWM模塊功能和硬件中斷工作方式,通過少量的I/O口輸出多路舵機(jī)控制信號(hào),占用系統(tǒng)資源少、精度高、軟件簡(jiǎn)單、實(shí)時(shí)性好。

        分時(shí)復(fù)用; PWM模塊; 電動(dòng)舵機(jī); 單片機(jī); DSP

        0 引 言

        電動(dòng)舵機(jī)可以看成是一個(gè)集成了直流電機(jī)、角度位置傳感器、電機(jī)控制器和減速器等的電機(jī)系統(tǒng),它封裝在一個(gè)便于使用安裝的外殼里,可以比較精確地轉(zhuǎn)動(dòng)設(shè)定的角度。正是由于其集成后便于安裝和可用程序連續(xù)控制其轉(zhuǎn)角的特點(diǎn),被廣泛應(yīng)用在智能機(jī)器人、電動(dòng)假肢中,以實(shí)現(xiàn)轉(zhuǎn)向及各類關(guān)節(jié)運(yùn)動(dòng)。

        電動(dòng)舵機(jī)的控制信號(hào)是一個(gè)脈寬調(diào)制(PWM)信號(hào)。一般由于機(jī)器人或假肢有許多關(guān)節(jié),所以往往需要控制器能夠產(chǎn)生多路PWM信號(hào)。目前PWM信號(hào)的產(chǎn)生常見方法是采用CPLD/FPGA[1-2]和單片機(jī)/DSP[3-8],前者依靠CPLD/FPGA具有的內(nèi)部并行工作能力和大量的可編程輸入輸出接口特點(diǎn),可以實(shí)現(xiàn)幾十甚至上百個(gè)舵機(jī)同時(shí)工作,但由于開發(fā)設(shè)備昂貴,成本高,使用門檻高,限制了它的應(yīng)用范圍。后者通用性強(qiáng),內(nèi)部集成有硬件PWM模塊,使用簡(jiǎn)單方便,在通道數(shù)不多時(shí)可以直接使用,但如果需要多路PWM信號(hào)時(shí),現(xiàn)有方法并不用內(nèi)部PWM模塊功能,而是采用定時(shí)器結(jié)合軟硬件計(jì)數(shù)功能,通過軟件算法控制各引腳的高低電平實(shí)現(xiàn)多路PWM信號(hào)輸出[3-8],可以達(dá)到24路[8]和32路PWM輸出[5,7]。后者雖然實(shí)現(xiàn)了多路PWM信號(hào),但由于采用定時(shí)器作為最小時(shí)間單元,使用計(jì)數(shù)器或軟件循環(huán)查詢各路PWM高電平時(shí)間,通過判斷時(shí)間是否匹配控制對(duì)應(yīng)引腳的高低電平,因此軟件算法復(fù)雜,效率低,也沒有充分地利用已有的內(nèi)部PWM模塊功能,路數(shù)越多越復(fù)雜,實(shí)現(xiàn)越困難。同時(shí)定時(shí)器的周期也不可能無限小,精度和內(nèi)部PWM模塊無法相比。本文則采用了和上面相反的方法,仍然使用單片機(jī)/DSP內(nèi)部的PWM模塊,在分時(shí)復(fù)用基礎(chǔ)上利用內(nèi)部PWM模塊中斷功能,軟件上只要在中斷程序中循環(huán)改變PWM模塊的設(shè)定值,外圍擴(kuò)展簡(jiǎn)單的分離電路,便可實(shí)現(xiàn)多路PWM信號(hào)的產(chǎn)生,既充分利用內(nèi)部PWM模塊高精度和使用方便的優(yōu)點(diǎn),軟件算法也簡(jiǎn)單,硬件引腳占用也少,實(shí)時(shí)性高。這樣整個(gè)系統(tǒng)在多路PWM的控制中占用資源少,系統(tǒng)可以有更多的軟硬件資源用在其他控制功能上。

        1 分時(shí)復(fù)用PWM模塊原理

        電動(dòng)舵機(jī)的控制信號(hào)是一個(gè)脈寬調(diào)制信號(hào),其周期為20 ms、脈沖寬度為0.5~2.5 ms。脈沖寬度數(shù)值范圍對(duì)應(yīng)的舵盤位置范圍為0°~180°。因此PWM模塊產(chǎn)生一路PWM信號(hào)(S1)在整個(gè)20 ms周期中,高電平信號(hào)最多只用到了2.5 ms,其他時(shí)間都是保持低電平。所以每個(gè)S1信號(hào)也可以看成由2.5 ms周期PWM信號(hào)(S2)和17.5 ms的低電平信號(hào)(S3)組成,其關(guān)系如圖1所示。如果S3信號(hào)可以借助外部電路獲得,那么單片機(jī)對(duì)S1信號(hào)的產(chǎn)生就變成了只對(duì)S2信號(hào)的產(chǎn)生。而S2是一個(gè)周期為2.5 ms,高電平是0.5~2.5 ms的PWM信號(hào)。這樣原來在20 ms時(shí)間內(nèi)PWM模塊只能產(chǎn)生1路PWM信號(hào),利用PWM模塊的定時(shí)溢出中斷功能,在中斷程序中每2.5 ms給PWM模塊一組參數(shù)和輸出對(duì)應(yīng)PWM的通道序號(hào),就可以在原來1路信號(hào)上分時(shí)串聯(lián)產(chǎn)生8路PWM信號(hào),其關(guān)系如圖2所示。最后通過通道序號(hào)信號(hào)結(jié)合分離電路將8路PWM信號(hào)分離開,達(dá)到分時(shí)復(fù)用的效果。

        圖1 PWM信號(hào)S1波形

        圖2 分時(shí)串聯(lián)產(chǎn)生8通道PWM信號(hào)

        分離電路如圖3所示。該分離電路即可實(shí)現(xiàn)對(duì)8路信號(hào)的分離,也同時(shí)實(shí)現(xiàn)S3信號(hào)。實(shí)現(xiàn)過程如下:1) 多路分時(shí)復(fù)用PWM信號(hào)經(jīng)過非門取反;2) 和分時(shí)復(fù)用PWM信號(hào)對(duì)應(yīng)的通道號(hào)信號(hào)經(jīng)過一個(gè)3-8譯碼器,獲得8路分離的通道有效信號(hào);3) 上面2路信號(hào)通過或非運(yùn)算將原來復(fù)用的信號(hào)完全分離出來,同時(shí)產(chǎn)生S3信號(hào)。以通道1為例,其時(shí)序圖見圖4,其它通道類似。

        圖3 分時(shí)復(fù)用分離電路模塊

        圖4 分離電路通道1時(shí)序圖

        2 多路舵機(jī)控制信號(hào)具體實(shí)現(xiàn)

        為驗(yàn)證原理可行,本文以ATmega128[9]為例,通過軟硬件的配合實(shí)現(xiàn)多路舵機(jī)控制。ATmega128為基于AVR RISC結(jié)構(gòu)的8位低功耗CMOS微處理器,數(shù)據(jù)吞吐率高達(dá)1 MIPS/MHz,128 kB的系統(tǒng)內(nèi)可編程Flash,53個(gè)通用I/O口,4個(gè)定時(shí)器/計(jì)數(shù)器,6路分辨率可編程2~16位的PWM模塊。這6路PWM通道分為2組,分別通過定時(shí)器/計(jì)數(shù)器1和定時(shí)器/計(jì)數(shù)器3來實(shí)現(xiàn),每組對(duì)應(yīng)3個(gè)單片機(jī)引腳,分別用后綴A,B,C區(qū)分,表示通道A、通道B和通道C。對(duì)應(yīng)設(shè)置占空比寄存器為OCR1A,OCR1B,OCR1C和OCR3A,OCR3B,OCR3C。因此按1的原理,6路PWM將可實(shí)現(xiàn)48路PWM輸出。

        2.1 硬件電路設(shè)計(jì)

        系統(tǒng)的原理圖如圖5所示。整個(gè)電路主要用到ATmega128的6路PWM模塊接口,其中分時(shí)復(fù)用分離電路模塊的原理圖如圖6所示,晶振為8 MHz。

        圖5 系統(tǒng)總體原理圖

        圖6 分時(shí)復(fù)用分離電路模塊原理圖

        圖5系統(tǒng)原理圖說明如下,ATmega128的6路PWM信號(hào)輸出引腳是OC1A,OC1B,OC1C和OC3A,OC3B,OC3C,單片機(jī)的PA0,PA1,PA2引腳和PC0,PC1,PC2引腳分別配合PWM信號(hào)輸出相應(yīng)通道的序號(hào)值。所有信號(hào)經(jīng)過分離電路模塊,就將原來分時(shí)復(fù)用的PWM信號(hào)還原為獨(dú)立的48個(gè)通道PWM信號(hào)。在圖6中的具體電路和圖3原理圖有一點(diǎn)差別,圖6沒有非門,主要是ATmega128的PWM的輸出極性可以設(shè)定取反(如果單片機(jī)沒有這個(gè)功能,需要非門),這里就省掉了一個(gè)非門簡(jiǎn)化了電路,但在軟件中要注意這點(diǎn),由于極性反了,軟件中PWM控制的就是原來低電平的時(shí)長(zhǎng)了,在下面軟件中通過“2 500-PWM通道占空比的值”實(shí)現(xiàn)。

        2.2 軟件實(shí)現(xiàn)

        在AVR Studio 6.2中開發(fā)軟件,其軟件實(shí)現(xiàn)如主程序框圖7和中斷溢出程序框圖8所示。

        圖7 主程序框圖

        圖8 溢出中斷程序框圖

        定義6個(gè)PWM通道占空比的值所放的全局?jǐn)?shù)組:PWM_Duty1A[8]、 PWM_Duty1B[8]、 PWM_Duty1C[8]、PWM_Duty3A[8]、PWM_Duty3B[8]和PWM_Duty3C[8]。

        主程序?qū)ο到y(tǒng)初始化關(guān)鍵代碼如下:

        DDRA=0xFF; //PA口設(shè)為輸出

        DDRC=0xFF; //PC口設(shè)為輸出

        PORTA=0x00; //初始PA口為0

        PORTC=0x00; //初始PC口為0

        sei(); //使能全局中斷

        主程序?qū)WM模塊組1的初始化代碼如下:

        TCCR1A=0xAA; //組1通道A,B,C均設(shè)置為比較輸出模式,比較匹配時(shí)清0

        TCCR1B=0x1A; //采用快速PWM模式,8分頻

        DDRB=0xFF; //PB口設(shè)為輸出

        OCR1A=2500-PWM_Duty1A[0]; //賦值組1通道A的占空比,由于極性取反,要用2500相減

        OCR1B=2500-PWM_Duty1B[0]; //賦值組1通道B的占空比,由于極性取反,要用2500相減

        OCR1C=2500-PWM_Duty1C[0]; //賦值組1通道C的占空比,由于極性取反,要用2500相減

        TCNT1=0X0000; //設(shè)置定時(shí)器1的初始值為0

        ICR1=0x09C4; //PWM周期為2500,跟晶振有關(guān)

        TIMSK=0X04; //允許定時(shí)器1溢出中斷

        主程序?qū)WM模塊組2的初始化程序和上面類似。

        在溢出中斷程序中,完成循環(huán)計(jì)數(shù)、送出相應(yīng)通道號(hào)序號(hào)值和對(duì)應(yīng)占空比值,由于ATmega128單片機(jī)OCRnx寄存器是雙緩沖結(jié)構(gòu),這次寫的值在下一個(gè)周期起作用,所以程序中需要Count1-1送出對(duì)應(yīng)通道號(hào)序號(hào)值。PWM組1的溢出中斷程序關(guān)鍵代碼如下:

        Count1++; //循環(huán)計(jì)數(shù)

        if(Count1==8) //一共8個(gè)通道循環(huán)

        {

        Count1=0;

        PORTA=7; //送出對(duì)應(yīng)通道序號(hào)

        }

        else PORTA=Count1-1; //送出對(duì)應(yīng)通道序號(hào)

        //賦值組1的通道A、B、C對(duì)應(yīng)PWM的占空比

        OCR1A=2500-PWM_Duty1A[Count1];

        OCR1B=2500-PWM_Duty1B[Count1];

        OCR1C=2500-PWM_Duty1C[Count1];

        對(duì)PWM組2的溢出中斷程序和上面類似。

        2.3 實(shí)驗(yàn)結(jié)果

        通過AVR Studio 6.2和Proteus 8 Professional軟件聯(lián)合仿真,設(shè)定PWM組1的A通道的占空比數(shù)據(jù):PWM_Duty1A[]={100,300,500,700,900,1 100,1 300,1 500},對(duì)應(yīng)單片機(jī)OC1A引腳和分離電路PWM 0~7這8個(gè)引腳的波形時(shí)序圖見圖9,時(shí)間是60 ms,顯示了3個(gè)完整PWM周期。

        其他5個(gè)單片機(jī)引腳和40個(gè)分離電路引腳類似,結(jié)果表明本文的軟硬件可以完全實(shí)現(xiàn)48路PWM信號(hào)輸出,提出的分時(shí)復(fù)用方法可行。

        3 結(jié) 語

        以ATmega128單片機(jī)為實(shí)例,通過AVR Studio 6.2和Proteus 8 Professional軟件聯(lián)合仿真,可以得出本文分時(shí)復(fù)用PWM模塊原理完全可行,可以實(shí)現(xiàn)原來1路PWM模塊通過分時(shí)復(fù)用實(shí)現(xiàn)8路PWM信號(hào),單片機(jī)/DSP只要內(nèi)部有PWM模塊就完全可以實(shí)現(xiàn)本文的方法,充分發(fā)揮了內(nèi)部PWM模塊的高精度和易用性。并演示了只用12個(gè)引腳就實(shí)現(xiàn)了48路高精度PWM信號(hào)輸出,實(shí)時(shí)性高和算法簡(jiǎn)單。在需要多路PWM控制舵機(jī)的場(chǎng)合,只要再配上相應(yīng)驅(qū)動(dòng)接口,就可以成為一個(gè)功能強(qiáng)大的控制器,對(duì)電動(dòng)舵機(jī)在機(jī)器人、電動(dòng)假肢和航模等應(yīng)用具有很強(qiáng)參考價(jià)值和實(shí)用價(jià)值。

        [1] 米月星,林輝,李志.基于DSP+CPLD的四電動(dòng)舵機(jī)伺服控制器設(shè)計(jì)[J].微特電機(jī),2012,40(8):61-62,70.

        [2] 王爾申,陳士英,石劍民.基于FPGA的機(jī)載PWM 信號(hào)轉(zhuǎn)換器仿真與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(8):2850-2854.

        [3] 劉學(xué)菁.舵機(jī)對(duì)機(jī)器人的驅(qū)動(dòng)控制[J].天津職業(yè)院校聯(lián)合學(xué)報(bào),2011,13(10):82-95.

        [4] 莊嚴(yán),宋鳴,張劭鳳,等.基于51單片機(jī)的六足機(jī)器人控制系統(tǒng)設(shè)計(jì)與制作[J].價(jià)值工程,2013,32(30):51-53.

        [5] 付麗,劉衛(wèi)國(guó),伊強(qiáng).單片機(jī)控制的多路舵機(jī)用PWM波產(chǎn)生方法[J].微特電機(jī),2006,34(2):28-29.

        [6] 韓慶瑤,洪草根,朱曉光,等.基于AVR單片機(jī)的多舵機(jī)控制系統(tǒng)設(shè)計(jì)及仿真[J].計(jì)算機(jī)測(cè)量與控制,2011,19(2):332-334.

        [7] 邵平,莫燕斌,連晉平,等.一種基于74HC595產(chǎn)生舵機(jī)用多路PWM波的方法[J].肇慶學(xué)院學(xué)報(bào),2013,34(5):1-5.

        [8] 梁鋒,王志良,解侖,等.多舵機(jī)控制在類人機(jī)器人上的應(yīng)用[J].微計(jì)算機(jī)信息,2008,24(1):242-243.

        [9] 沈建良,趙文宏,賈玉坤,等.ATmega128單片機(jī)入門與提高[M].北京:北京航空航天大學(xué)出版社,2009.

        Multi-Channel Control Signal of Electrical Steering Gear Based on Time-Division Multiplexing PWM Module

        WUQing,LIUHong-zhou,ZHENGJian-rong

        (East China University of Science and Technology,Shanghai 200237,China)

        A novel method to implement multi-channel control signal of electrical steering gear based on time-division multiplexing PWM module was presented. With some simple external circuits, a MCU/DSP's PWM module output function was integrated and timer overflow interrupt function was integrated to separate eight control signals from a time-division multiplexing PWM module. The more an MCU/DSP has PWM modules, the more control signal channels can be extended. The feasibility of this solution was verified by the simulation of hardware and software of the ATmega128 and 48 PWM signals were realized. The advantage of this solution is integrating PWM's hardware module and software interrupt function to realize multi-channel control signals by using a small number of MCU/DSP I/O outputs, which occupies less system resources with high precision, easy programming and good real-time performance.

        time division multiplexing; PWM module; electrical steering gear; single chip microcomputer; DSP

        2015-11-06

        TM33

        A

        1004-7018(2016)08-0113-04

        吳清(1972-),男,博士,講師,研究方向?yàn)榍度胧较到y(tǒng)開發(fā)、機(jī)電一體化應(yīng)用。

        猜你喜歡
        低電平舵機(jī)原理圖
        數(shù)字電路中“邏輯非”的用法辨析
        鐵道車輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
        淺談STM32核心板原理圖設(shè)計(jì)
        電路原理圖自動(dòng)布圖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
        基于Protel DXP 2004層次原理圖的設(shè)計(jì)
        含齒隙彈載舵機(jī)的全局反步模糊自適應(yīng)控制
        2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
        基于dsPIC單片機(jī)的飛艇舵機(jī)控制實(shí)現(xiàn)
        電子制作(2018年1期)2018-04-04 01:48:14
        基于高速同步485總線通信的多通道舵機(jī)控制器設(shè)計(jì)
        基于云模型的舵機(jī)同步控制
        成人在线免费视频亚洲| 精品国产性色无码av网站 | 亚洲线精品一区二区三区八戒| 日本午夜免费福利视频| 思思99热| 中文字幕高清无码不卡在线| 亚洲六月丁香色婷婷综合久久| 高清日韩av在线免费观看| 中文字幕人妻第一区| 在线永久看片免费的视频| 日韩AV有码无码一区二区三区| 少妇裸淫交视频免费看| aa日韩免费精品视频一| 亚洲精品国产福利在线观看 | 免费网站国产| 青青草久热手机在线视频观看| 丝袜美腿视频一区二区| 97人妻精品一区二区三区| 久久精品亚洲牛牛影视 | 亚洲AV无码成人网站久久精品| 久久久久久免费播放一级毛片| av一区二区三区高清在线看| 日韩乱码中文字幕在线| 日本肥老妇色xxxxx日本老妇| 亚洲成a∨人片在无码2023| 国产成人精品日本亚洲语音1| 极品精品视频在线观看| 久久九九精品国产av| 欧美a级情欲片在线观看免费| 亚洲一区二区三区av链接| 美女被躁到高潮嗷嗷免费观看| 亚洲中文av中文字幕艳妇| 少妇aaa级久久久无码精品片| 亚洲熟妇无码久久精品疯| 97超碰国产一区二区三区| 国产a级毛片久久久精品毛片| 国产亚洲真人做受在线观看| a观看v视频网站入口免费| 亚洲一区视频中文字幕| 国产a级三级三级三级| 国产人妻久久精品二区三区特黄 |