基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)Proteus仿真設(shè)計(jì)_第1頁(yè)
基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)Proteus仿真設(shè)計(jì)_第2頁(yè)
基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)Proteus仿真設(shè)計(jì)_第3頁(yè)
基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)Proteus仿真設(shè)計(jì)_第4頁(yè)
基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)Proteus仿真設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩10頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)Proteus仿真1 直流電機(jī)、減速器與傳感器選型設(shè)計(jì)要求驅(qū)動(dòng)輪式機(jī)器人,兩輪的直徑一樣為0.1m,驅(qū)動(dòng)電機(jī)選用直流電機(jī),為了滿足加速度需求,每個(gè)電機(jī)配備了減速裝置,且兩輪為獨(dú)立驅(qū)動(dòng)。小車運(yùn)行過(guò)程中自帶電池,電池的供電電壓為+24VDC,為滿足機(jī)器人比賽需要,經(jīng)需求分析可得該機(jī)器人運(yùn)動(dòng)控制系統(tǒng)的最大速度為:5.0m/s,最大加速度為:20m/s2,控制方案采用閉環(huán)控制方案。通過(guò)計(jì)算可知,在沒(méi)有減速器的情況下,電機(jī)應(yīng)達(dá)到955r/min才能實(shí)現(xiàn)最大轉(zhuǎn)速5.0m/s,啟動(dòng)時(shí)間應(yīng)該小于0.25s才能達(dá)到最大加速度20m/s2的要求。所以,可以選擇額定電壓24V,空

2、載轉(zhuǎn)速2500r/min的直流電機(jī),采用調(diào)速比2.5的減速器,加速度要求通過(guò)軟件實(shí)現(xiàn)。系統(tǒng)要求采用閉環(huán)控制方案,本設(shè)計(jì)采用轉(zhuǎn)速單閉環(huán)控制,選用旋轉(zhuǎn)編碼器作為測(cè)速傳感器。旋轉(zhuǎn)編碼器不僅精度高,而且安全穩(wěn)定、維護(hù)方便,在Proteus庫(kù)里有配套旋轉(zhuǎn)編碼器的直流電機(jī),方便仿真。理論上旋轉(zhuǎn)編碼器的光柵數(shù)越大,測(cè)速越精確,但是光柵數(shù)的增大會(huì)增加制作難度和成本,本設(shè)計(jì)只是用于輪式機(jī)器人的測(cè)速,采用光柵數(shù)1024的旋轉(zhuǎn)編碼器足以,同時(shí)可以采用四倍頻電路提高轉(zhuǎn)速分辨率。在基于Proteus仿真的直流電機(jī)調(diào)速系統(tǒng)中,由于各種限制,設(shè)計(jì)并不能達(dá)到系統(tǒng)的具體要求,但是可以作為一個(gè)可供參考的調(diào)速模型。2 直流電機(jī)調(diào)速

3、系統(tǒng)硬件設(shè)計(jì)2.1硬件系統(tǒng)結(jié)構(gòu)圖直流電機(jī)轉(zhuǎn)速單閉環(huán)調(diào)速系統(tǒng)硬件結(jié)構(gòu)圖如圖1 所示圖1 直流電機(jī)轉(zhuǎn)速單閉環(huán)調(diào)速系統(tǒng)硬件結(jié)構(gòu)圖2.2 LPC2124簡(jiǎn)介L(zhǎng)PC2124是基于一個(gè)支持實(shí)時(shí)仿真和跟蹤的16/32位ARM7TDMI-S CPU的微控制器,并帶有256KB嵌入的高速Flash存儲(chǔ)器。128位寬度的存儲(chǔ)器接口和獨(dú)特的加速結(jié)構(gòu)使32位代碼能夠在最大時(shí)鐘速率下運(yùn)行,且可使用16位Thumb模式。LPC2124支持多種通信接口,包括UART,和SPI等串行接口以與PWM輸出接口,外圍接口部分設(shè)計(jì)極為方便、靈活。2.3 電機(jī)驅(qū)動(dòng)芯片L298介紹L298N是ST公司生產(chǎn)的一種高電壓、大電流電機(jī)驅(qū)動(dòng)芯片

4、。該芯片采用15腳封裝。主要特點(diǎn)是:工作電壓高,最高工作電壓可達(dá)46V;輸出電流大,瞬間峰值電流可達(dá)3A,持續(xù)工作電流為2A;額定功率25W。含兩個(gè)H橋的高電壓大電流全橋式驅(qū)動(dòng)器,可以用來(lái)驅(qū)動(dòng)直流電動(dòng)機(jī)和步進(jìn)電動(dòng)機(jī)、繼電器線圈等感性負(fù)載;采用標(biāo)準(zhǔn)邏輯電平信號(hào)控制;具有兩個(gè)使能控制端,在不受輸入信號(hào)影響的情況下允許或禁止器件工作有一個(gè)邏輯電源輸入端,使部邏輯電路部分在低電壓下工作;可以外接檢測(cè)電阻,將變化量反饋給控制電路。使用L298N芯片驅(qū)動(dòng)電機(jī),該芯片可以驅(qū)動(dòng)一臺(tái)兩相步進(jìn)電機(jī)或四相步進(jìn)電機(jī),也可以驅(qū)動(dòng)兩臺(tái)直流電機(jī)。芯片部結(jié)構(gòu)圖如圖2所示。圖2 L298芯片的部結(jié)構(gòu)圖L298驅(qū)動(dòng)直流電機(jī)參考表

5、1表1 L298驅(qū)動(dòng)直流電機(jī)參考表電機(jī)旋轉(zhuǎn)方式控制端IN1控制端IN2控制端IN3控制端IN4輸入PWM信號(hào)改變脈寬可調(diào)速調(diào)速端A調(diào)速端BM1正轉(zhuǎn)高低/高/反轉(zhuǎn)低高/高/停止低低/高/M2正轉(zhuǎn)/高低/高反轉(zhuǎn)/低高/高停止低低/高2.4 直流電機(jī)調(diào)速系統(tǒng)Proteus仿真電路 Proteus的元件庫(kù)中提供許多種類型的電機(jī)元件,從簡(jiǎn)單的直流電機(jī)到步進(jìn)電機(jī)、伺服電機(jī)都有,我們選取一個(gè)帶編碼器的電機(jī)MOTOR-ENCODER來(lái)仿真,之所以用帶編碼器的,是因?yàn)槲覀冃枰玫骄幋a器的輸出信號(hào)來(lái)測(cè)量電機(jī)的轉(zhuǎn)速。MOTOR-ENCODER的編碼輸出與本系統(tǒng)所要求的增量式旋轉(zhuǎn)編碼具有同等功能,可提供兩路路具有90

6、相位差的編碼脈沖,利用其中任何一個(gè)可實(shí)現(xiàn)對(duì)轉(zhuǎn)速的檢測(cè)。在MOTOR-ENCODER的屬性中可設(shè)置其參數(shù),本系統(tǒng)對(duì)MOTOR-ENCODER的參數(shù)設(shè)置如表2所示。表2 Motor-Encoder參數(shù)表參數(shù)名參數(shù)值額定電壓24 V線圈電阻12 線圈電感100 mH空載轉(zhuǎn)速1000 rpm負(fù)載率10 %每轉(zhuǎn)脈沖數(shù)60直流電機(jī)調(diào)速系統(tǒng)Proteus仿真電路如圖2所示。圖2 直流電機(jī)調(diào)速系統(tǒng)Proteus仿真電路系統(tǒng)采用24MHz晶振提供外部時(shí)鐘,LPC2124的P0.6,P0.7輸出高低電平控制電機(jī)轉(zhuǎn)速方向;四個(gè)二極管作為續(xù)流二極管,起保護(hù)作用;四個(gè)按鍵通過(guò)上拉電阻與LPC通用端口相連,按鍵按下,低電

7、平有效,另外通過(guò)一個(gè)四輸入與門(mén)與外部中斷EINT0相連,通過(guò)外部中斷方式判斷是否有按鍵按下,四個(gè)按鍵分別實(shí)現(xiàn)電機(jī)加速、減速、反轉(zhuǎn)、制動(dòng)的功能。3 直流電機(jī)調(diào)速系統(tǒng)軟件設(shè)計(jì)3.1 直流電機(jī)調(diào)速系統(tǒng)軟件設(shè)計(jì)流程圖直流電機(jī)調(diào)速系統(tǒng)軟件設(shè)計(jì)流程圖如圖3所示,中斷程序如圖4、圖5所示。圖3 調(diào)速系統(tǒng)軟件圖4 按鍵中斷圖5 測(cè)速中斷設(shè)流程圖程序流程圖程序流程圖3.2 PWM模塊系統(tǒng)采用PWM方法調(diào)整電動(dòng)機(jī)的速度,首先應(yīng)確定合理的脈沖頻率。脈沖寬度一定時(shí),頻率對(duì)電機(jī)運(yùn)行的平穩(wěn)性有較大影響,脈沖頻率高電動(dòng)機(jī)運(yùn)行的連續(xù)性好,但帶負(fù)載能力差;脈沖頻率低則反之。調(diào)脈寬的方式有三種:定頻調(diào)寬、定寬調(diào)頻和調(diào)寬調(diào)頻。我們

8、采用了定頻調(diào)寬方式,因?yàn)椴捎眠@種方式,電動(dòng)機(jī)在運(yùn)轉(zhuǎn)時(shí)比較穩(wěn)定;并且在采用LPC2124產(chǎn)生PWM脈沖的軟件實(shí)現(xiàn)上比較方便。PWM輸出頻率采用系統(tǒng)時(shí)鐘頻率,通過(guò)轉(zhuǎn)速調(diào)節(jié)器調(diào)節(jié)PWM占空比,實(shí)現(xiàn)直流電機(jī)的調(diào)速驅(qū)動(dòng)。PWM初始化子程序流程如圖6所示。圖6 PWM初始化流程圖3.3測(cè)速模塊本系統(tǒng)采用T法測(cè)速,旋轉(zhuǎn)編碼器輸出的脈沖由LPC2124的P0.28捕獲,電機(jī)每轉(zhuǎn)一圈旋轉(zhuǎn)編碼器輸出60個(gè)脈沖,每捕獲一個(gè)編碼器輸出脈沖,則進(jìn)入中斷讀取定時(shí)器的值,計(jì)算測(cè)速時(shí)間,通過(guò)公式(1-2)計(jì)算轉(zhuǎn)速(1-1)T法測(cè)速原理如圖7所示。圖7 T法測(cè)速原理圖定時(shí)器0初始化流程圖如圖8所示。圖8 定時(shí)器0初始化流程圖3

9、.4 數(shù)字PI調(diào)節(jié)器模塊在微機(jī)數(shù)字控制系統(tǒng)中,當(dāng)采樣頻率足夠高時(shí),可以先按模擬系統(tǒng)的設(shè)計(jì)方法設(shè)計(jì)調(diào)節(jié)器,然后再離散化,就可以得到數(shù)字控制器的算法,這就是模擬調(diào)節(jié)器的數(shù)字化。當(dāng)輸入時(shí)誤差函數(shù)e(t)、輸出函數(shù)是u(t)時(shí),PI調(diào)節(jié)器的傳遞函數(shù)如下:(1-2)式中:Kpi為PI調(diào)節(jié)器比例部分的放大系數(shù);t為PI調(diào)節(jié)器的積分時(shí)間常數(shù)。式子(1-2)的時(shí)域表達(dá)式可寫(xiě)成:(1-3)其中,KP=Kpi為比例系數(shù),KI=1/t為積分系數(shù)。將上式離散化成差分方程,其第k拍輸出為:(1-4)其中,Tsam為采樣周期。式(1-4)表述的差分方程為位置式算法,u(k)為第k拍的輸出值。由式子看出,比例部分只與當(dāng)前的

10、偏差有關(guān),而積分部分則是系統(tǒng)過(guò)去所有偏差的累積。位置式PI調(diào)節(jié)器的結(jié)構(gòu)清晰,P和I兩部分作用分明,參數(shù)調(diào)整簡(jiǎn)單明了。為了安全起見(jiàn),常須對(duì)調(diào)節(jié)器的輸出實(shí)行限幅。在數(shù)字控制算法中,要對(duì)u限幅,只須在程序設(shè)置限幅值um,當(dāng)u(k)>um時(shí),便以限幅值um作為輸出。而位置式算法必須要同時(shí)設(shè)積分限幅和輸出限幅。帶有積分限幅和輸出限幅的位置式數(shù)字PI調(diào)節(jié)程序框圖如圖9所示。圖9位置式數(shù)字PI調(diào)節(jié)流程圖本系統(tǒng)只采用了P調(diào)節(jié)器,即令PI參數(shù)為零,經(jīng)過(guò)仿真發(fā)現(xiàn)系統(tǒng)可以較穩(wěn)定地運(yùn)行。3.5 直流電機(jī)制動(dòng)直流電機(jī)要達(dá)到快速制動(dòng),必須采用反壓制動(dòng)方式,所以制動(dòng)過(guò)程采用另外獨(dú)立的程序設(shè)計(jì)。因?yàn)樵炔捎媒y(tǒng)一的調(diào)速程

11、序發(fā)現(xiàn),制動(dòng)過(guò)程反轉(zhuǎn)超調(diào)后就向反方向加速,導(dǎo)致系統(tǒng)不穩(wěn)定。采用獨(dú)立的程序設(shè)計(jì)實(shí)現(xiàn)電機(jī)逐級(jí)制動(dòng),隨轉(zhuǎn)速降低減小PI參數(shù),最后置高P0.6、P0.7,保證超調(diào)也不會(huì)反轉(zhuǎn)加速。4 直流電機(jī)調(diào)速系統(tǒng)Proteus仿真結(jié)果本系統(tǒng)采用簡(jiǎn)單的按鍵操作,實(shí)現(xiàn)電機(jī)的加速、減速、制動(dòng)、反轉(zhuǎn)功能,由于時(shí)間倉(cāng)促,在判斷按鍵過(guò)程,我們只考慮了只有一個(gè)按鍵按下的情況。本系統(tǒng)各按鍵的共能如下 加速鍵用于電機(jī)加速,每按一次電機(jī)轉(zhuǎn)速增加10r/min。 減速鍵用于電機(jī)減速,每按一次電機(jī)轉(zhuǎn)速減小10r/min。 制動(dòng)鍵用于電機(jī)制動(dòng),停止電機(jī)旋轉(zhuǎn)。 反轉(zhuǎn)鍵用于電機(jī)反轉(zhuǎn),每按一次電機(jī)反轉(zhuǎn)。按鍵仿真圖如圖10所示。圖10 按鍵仿真圖當(dāng)

12、連接好仿真圖和載入LPC2124的執(zhí)行文件后,單擊Proteus的仿真啟動(dòng)按鈕,則開(kāi)始對(duì)本系統(tǒng)的仿真。其運(yùn)行流程如下:(1)按20次加速鍵讓電機(jī)啟動(dòng)正轉(zhuǎn),達(dá)到200r/min,所需時(shí)間大致在1.3s 左右,如圖11所示。圖11 加速正轉(zhuǎn)(2)按一次減速鍵,電機(jī)轉(zhuǎn)速減小10r/min,到達(dá)190r/min,如圖12所示。圖12 減速(3)按一次反轉(zhuǎn)按鍵,電機(jī)反轉(zhuǎn),到達(dá)-190r/min,如圖13所示。圖13 反轉(zhuǎn)(4)按一次制動(dòng)鍵,電機(jī)制動(dòng),轉(zhuǎn)速較大時(shí),電機(jī)可以快速制動(dòng)到接近零,之后緩慢減速,如圖14所示。圖14 制動(dòng)經(jīng)過(guò)仿真調(diào)試,發(fā)現(xiàn)系統(tǒng)可以實(shí)現(xiàn)基本的調(diào)速功能,并且可以較快速地啟動(dòng),系統(tǒng)具有較

13、好的穩(wěn)定性,誤差圍在鹵1r/min。5 結(jié)束語(yǔ)本設(shè)計(jì)采用ARM7 LPC2124與外部擴(kuò)展設(shè)備實(shí)現(xiàn)對(duì)直流電機(jī)的轉(zhuǎn)速監(jiān)控,在硬件上采用了基于PWM技術(shù)的H型橋式驅(qū)動(dòng)電路,解決了電機(jī)驅(qū)動(dòng)的效率問(wèn)題,在軟件上也采用較為合理的系統(tǒng)結(jié)構(gòu)與算法,提高了ARM的使用效率。以往的數(shù)字化直流調(diào)速系統(tǒng)中轉(zhuǎn)速常用測(cè)速發(fā)電機(jī)來(lái)檢測(cè),這種測(cè)速方法的精度不夠高,在低速時(shí)更為嚴(yán)重,很難保障生產(chǎn)的高效、安全運(yùn)行,所以在本次設(shè)計(jì)中測(cè)速采用了目前較先進(jìn)的旋轉(zhuǎn)編碼器測(cè)速,即數(shù)字測(cè)速。數(shù)字測(cè)速不僅精度高,而且安全穩(wěn)定、維護(hù)方便。本系統(tǒng)的直流調(diào)速系統(tǒng)采用單閉環(huán)P調(diào)節(jié)器控制。用軟件編程完成轉(zhuǎn)速驅(qū)動(dòng),轉(zhuǎn)速檢測(cè),實(shí)現(xiàn)了對(duì)轉(zhuǎn)速的最優(yōu)化調(diào)節(jié)。同

14、時(shí)還實(shí)現(xiàn)了轉(zhuǎn)速的按鍵輸入控制。通過(guò)本次設(shè)計(jì),加強(qiáng)了我對(duì)ARM應(yīng)用知識(shí)的掌握,同時(shí)了解了目前工業(yè)生產(chǎn)中數(shù)字化系統(tǒng)的重要性,使我對(duì)使用ARM實(shí)現(xiàn)自動(dòng)化控制的設(shè)計(jì)過(guò)程有了全面地了解。通過(guò)學(xué)習(xí)控制系統(tǒng)工作原理以與如何利用ARM實(shí)現(xiàn)各種功能,我查閱了大量相關(guān)資料,學(xué)會(huì)了許多知識(shí),培養(yǎng)了我獨(dú)立解決問(wèn)題的能力。同時(shí)在對(duì)硬件電路設(shè)計(jì)的過(guò)程中,鞏固了我的專業(yè)課知識(shí),使自己受益匪淺。當(dāng)然在本次設(shè)計(jì)中還有需要完善的地方,比如可以增加一個(gè)顯示模塊,顯示系統(tǒng)運(yùn)行的狀態(tài),還可以改善調(diào)節(jié)器,采用PID調(diào)節(jié)器使轉(zhuǎn)速穩(wěn)定無(wú)超調(diào),另外還可以改善按鍵輸入為數(shù)字鍵盤(pán)輸入,這樣可以給定具體的轉(zhuǎn)速??傊ㄟ^(guò)本次設(shè)計(jì)不僅進(jìn)一步強(qiáng)化了專業(yè)

15、知識(shí),還掌握了設(shè)計(jì)系統(tǒng)的方法、步驟等,為今后的工作和學(xué)習(xí)打下了堅(jiān)實(shí)的基礎(chǔ)。由于時(shí)間倉(cāng)促,本論文中或多或少會(huì)存在一些缺點(diǎn),所設(shè)計(jì)的軟件難免存在一些不足,懇請(qǐng)老師批評(píng)和指正。附錄基于LPC2124的直流電機(jī)調(diào)速系統(tǒng)源代碼/*File: Main.c*功能: 使用PWM6輸出PWM信號(hào),通過(guò)KEY1,KEY2,KEY3控制電機(jī)轉(zhuǎn)速,KEY1按一次加速10r/min,KEY2按一下減速10r/min,KEY3按一下制動(dòng),KEY4按一下反轉(zhuǎn)*/#include "LPC21xx.h"typedef unsigned int uint32;typedef int int32;#defi

16、ne pwmdata 240000 /*PWM周期*/#define f0 1000000 /*計(jì)數(shù)器頻率*/#define Z 60 /*電機(jī)每轉(zhuǎn)一圈產(chǎn)生Z個(gè)脈沖*/#define kp 0.1 /*PI調(diào)節(jié)器比例系數(shù)*/#define ki 0 /*PI調(diào)節(jié)器積分系數(shù)*/#define KEY 0x0b800000 /*P0.23,P0.24,P0.25,P0.27引腳連有按鍵*/#define KEY1 0x00800000 /*P0.23引腳連接KEY1*/#define KEY2 0x01000000 /*P0.24引腳連接KEY2*/#define KEY3 0x02000000

17、/*P0.25引腳連接KEY3*/#define KEY4 0x08000000 /*P0.27引腳連接KEY4*/uint32 t1=0,t2=0,i=0;uint32 flag=0; /*制動(dòng)標(biāo)志,flag=1轉(zhuǎn)速接近0*/uint32 fv=0; /*正反轉(zhuǎn)標(biāo)志,fv=0正轉(zhuǎn),fv=1反轉(zhuǎn)*/ int32 nu=0,n=0; /*nu給定轉(zhuǎn)速,n檢測(cè)轉(zhuǎn)速*/_irq void IRQ_T0(void) t2=T0CR2; /讀取捕獲寄存器 T0CR2=0; /捕獲寄存器清零 if(t1<t2) n=1.236*60*f0/(Z*(t2-t1); /T法測(cè)速 else if(t1&g

18、t;t2) n=1.236*60*f0/(Z*(t2-t1+f0); /1.236為修正系數(shù) t1=t2; T0IR=0x40; /清除捕捉0中斷標(biāo)志(向6位寫(xiě)1) VICVectAddr=0x00; /中斷結(jié)束_irq void IRQ_EINT0(void) uint32 i; IOCLR0=0x00000001; for(i=0;i<50;i+); /延時(shí)去抖 if(IOPIN0&KEY)!=KEY) if(IOPIN0&KEY1)=0) /KEY1按鍵按下,加速 flag=0; if(nu>=0) nu+=10; else nu-=10; else if(I

19、OPIN0&KEY2)=0) /KEY2按鍵按下,減速 if(nu>10) nu-=10; else if(nu<-10) nu+=10; else nu=0; else if(IOPIN0&KEY3)=0) nu=0;/KEY3按鍵按下,制動(dòng) else if(IOPIN0&KEY4)=0) /KEY4按鍵按下,反轉(zhuǎn) if(fv=0) fv=1; else fv=0; nu=-nu; while(IOPIN0&KEY)!=KEY); /等待按鍵放開(kāi) EXTINT=0x01; /清楚EINT0中斷標(biāo)志 VICVectAddr=0x00; /中斷結(jié)束vo

20、id TargetInit(void) /*管腳配置初始化*/ PINSEL0=0x00080000; /設(shè)置PWM6連接到P0.9引腳 PINSEL1=0x02000000; /P0.28捕捉 IODIR0=0x000002c0; /P0.6,P0.7,P0.9輸出 /*PWM初始化*/ PWMPR=0x00; /不分頻,計(jì)數(shù)頻率為Fpclk PWMMCR=0x02; /設(shè)置PWMMR0匹配時(shí)復(fù)位PWMTC PWMMR0=pwmdata; /設(shè)置PWM周期 PWMMR6=120000; /設(shè)置PWM占空比 PWMLER=0x40; /PWMMR6鎖存 PWMPCR=0x4000; /允許PW

21、M6輸出,單邊PWM PWMTCR=0x09; /啟動(dòng)定時(shí)器,PWM使能 /*EINT0中斷初始化*/ PINSEL1=(PINSEL1&0xfffffffc)|0x01; /選擇P0.16為EINT0 EXTMODE=EXTMODE&0x0e; /電平觸發(fā) EXTPOLAR=EXTPOLAR&0x0e; /低電平中斷 /*定時(shí)器0初始化*/ T0TC=0; /清除 T0計(jì)數(shù)值 T0PR=23; /24分頻(24MHZ分頻后變成1MHZ) T0MR0=1000000; /計(jì)數(shù)匹配值 T0CCR=0x0140;/第七位寫(xiě)1進(jìn)入捕捉模式 (上升沿捕捉,進(jìn)入中斷) T0MCR

22、=0x00000002; /匹配后復(fù)位T0(不停止) T0TCR=0x00000002; /復(fù)位計(jì)數(shù)器 T0TCR=0x00000001; /計(jì)數(shù)器使能 /*中斷向量初始化*/ VICIntSelect=0x00000000; /中斷向量寄存器選擇0,IRQ中斷 VICVectCntl0=0x20|4; /定時(shí)器0中斷分配為向量IRQ通道0 VICVectAddr0=(uint32)IRQ_T0; /向量IRQ通道0的中斷服務(wù)程序地址為IRQ_T0 VICVectCntl1=0x20|14; /EINT0中斷分配為向量IRQ通道1 VICVectAddr1=(uint32)IRQ_EINT0;

23、 /向量IRQ通道1的中斷服務(wù)程序地址為IRQ_EINT0 VICIntEnable=(1<<4)|(1<<14); /定時(shí)器0和EINT0中斷使能 EXTINT=0x07; /清楚外部中斷標(biāo)志 /*名稱: main()*功能: 使用PWM6輸出占空比可調(diào)的PWM波形,控制直流電機(jī)*/int main(void) float PI=0,sum=0; int32 es=0; TargetInit(); while(1) if(nu=0) /制動(dòng) if(fv=0)/如果正轉(zhuǎn) if(n>50) PI=-0.8; else if(n>20) PI=-0.5; else if(n>10) PI=-0.3; else if(n>3) PI=-0.1; else PI=0;flag=1; else /如果反轉(zhuǎn) if(n

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論