雙直流電機同步控制系統(tǒng)課件_第1頁
雙直流電機同步控制系統(tǒng)課件_第2頁
雙直流電機同步控制系統(tǒng)課件_第3頁
雙直流電機同步控制系統(tǒng)課件_第4頁
雙直流電機同步控制系統(tǒng)課件_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 指導(dǎo)教師評定成績: 審定成績: 重 慶 郵 電 大 學(xué)自 動 化 學(xué) 院計算機控制技術(shù)課程設(shè)計報告 設(shè)計題目:雙直流電機同步控制系統(tǒng)單位(二級學(xué)院): 自 動 化 學(xué) 院 學(xué) 生 姓 名: 專 業(yè): 自 動 化 班 級: 學(xué) 號: 指 導(dǎo) 教 師: 設(shè)計時間:2014 年5 月重慶郵電大學(xué)自動化學(xué)院制37目 錄一、計算機控制技術(shù)課程設(shè)計題目2二、摘要3三、控制對象分析41、系統(tǒng)運行結(jié)構(gòu)圖與系統(tǒng)框圖42、建立系統(tǒng)數(shù)學(xué)模型5 (1)控制模塊:5(2)驅(qū)動模塊6(3)顯示模塊7(4)PWM調(diào)速原理8(5)電源模塊. 9(6)轉(zhuǎn)速檢測模塊9 四、硬件電路PCB及實物圖的設(shè)計11五、軟件的設(shè)計與實現(xiàn)

2、14(1)主程序 .14(2)PID控制算法與參數(shù)整定16(3)干擾的抑制17(4)采樣周期的選定18(5)PID調(diào)節(jié)18(6)測速子程序20(7)單片機資源配置.20六、設(shè)計心得22七、參考文獻23八、附錄24一、 計算機控制技術(shù)課程設(shè)計題目雙直流電機同步控制系統(tǒng)課程設(shè)計要求(1)實現(xiàn)電機加速減速,正反轉(zhuǎn)。(2)通過顯示屏顯示運行情況。(3)接受鍵盤輸入的控制信號。(4)產(chǎn)生PWM脈沖,對直流電機進行調(diào)速。(5)接受脈沖測速電路測得的電機的轉(zhuǎn)速。課程設(shè)計說明本次課程設(shè)計實現(xiàn)了對直流電機的同步調(diào)速控制。利用PWM來實現(xiàn)直流電機和步進電機的正轉(zhuǎn)、反轉(zhuǎn)、加速、減速、同步調(diào)速等操作,電動機的調(diào)速在硬

3、件上實現(xiàn)了直流電機轉(zhuǎn)速的調(diào)節(jié)以及正反轉(zhuǎn)的控制同時在LCD上實時顯示,整個硬件系統(tǒng)工作穩(wěn)定。摘要本文旨在建立兩臺直流電動機同步控制系統(tǒng)(速度控制)的數(shù)學(xué)模型。首先根據(jù)題目,并通過查找資料對對象進行分析,了解基本工作原理。然后畫出系統(tǒng)運行的方框圖并對系統(tǒng)過程進行分析。其次就是建立數(shù)學(xué)模型、求出系統(tǒng)的傳遞函數(shù),然后進行PID控制算法。在硬件方面,通過STC12C5A60S2單片機,實現(xiàn)對兩部直流電動機的啟動、停止、加速、減速和轉(zhuǎn)向的控制,具體硬件部分由晶振電路、復(fù)位電路、顯示電路、鍵盤電路、電源電路、單片機、電機驅(qū)動電路、測速電路等組成。最后再用C語言編程,實現(xiàn)兩臺電機的速度同步控制。關(guān)鍵詞:同步控

4、制 PID控制算法 PWM AltiumDesigner 調(diào)速 正反轉(zhuǎn)二、 控制對象分析31系統(tǒng)運行結(jié)構(gòu)圖與系統(tǒng)框圖圖1系統(tǒng)運行結(jié)構(gòu)圖說明:輸入電壓Ui控制電機1,在控制器1以及驅(qū)動電路1的作用下運行,通過測速傳感器將轉(zhuǎn)速轉(zhuǎn)為信號與電機2轉(zhuǎn)速比較后與電機2的反饋信號作為輸入信號控制電機2。電源電路DCmotor電機驅(qū)動電路單片機晶振電路復(fù)位電路DCmotor顯示電路鍵盤電路測速電路圖2直流調(diào)速系統(tǒng)框圖3.2建立系統(tǒng)數(shù)學(xué)模型 3.2.1控制模塊本設(shè)計選用的是STC12C5A60S2,STC12C5A60S2/AD/PWM系列單片機是單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新

5、一代8051單片機,指令代碼完全兼容傳統(tǒng)8051,但速度快8-12倍。內(nèi)部集成MAX810專用復(fù)位電路,2路PWM,8路高速10位A/D轉(zhuǎn)換(250K/S),針對電機控制,強干擾場合。其主要特性如下:1.增強型8051 CPU,1T,單時鐘/機器周期,指令代碼完全兼容傳統(tǒng)80512.工作電壓:STC12C5A60S2系列工作電壓:5.5V- 3.3V(5V單片機)3.工作頻率范圍:0 - 35MHz,相當(dāng)于普通8051的 0420MHz4.片上集成1280字節(jié)RAM5.通用I/O口(36/40/44個),復(fù)位后為:準(zhǔn)雙向口/弱上拉(普通8051傳統(tǒng)I/O口),可設(shè)置成四種模式:準(zhǔn)雙向口/弱上拉

6、,推挽/強上拉,僅為輸入/高阻,開漏 。每個I/O口驅(qū)動能力均可達到20mA,但整個芯片最大不要超過55mA6.有EEPROM功能(STC12C5A62S2/AD/PWM無內(nèi)部EEPROM)7. 看門狗8.內(nèi)部集成MAX810專用復(fù)位電路(外部晶體12M以下時,復(fù)位腳可直接1K電阻到地)9.共4個16位定時器 ,兩個與傳統(tǒng)8051兼容的定時器/計數(shù)器,16位定時器T0和T1,沒有定時器2,但有獨立波特率發(fā)生器, 做串行通訊的波特率發(fā)生器, 再加上2路PCA模塊可再實現(xiàn)2個16位定時器14. 2個時鐘輸出口,可由T0的溢出在P3.4/T0輸出時鐘,可由T1的溢出在P3.5/T1輸出時鐘15.外部

7、中斷I/O口7路,傳統(tǒng)的下降沿中斷或低電平觸發(fā)中斷,并新增支持上升沿中斷的PCA模塊,Power Down模式可由外部中斷喚醒,INT0/P3.2, INT1/P3.3, T0/P3.4, T1/P3.5, RxD/P3.0,CCP0/P1.3 (也可通過寄存器設(shè)置到P4.2 ), CCP1/P1.4 (也可通過寄存器設(shè)置到P4.3) 16. PWM(2路)/PCA(可編程計數(shù)器陣列,2路)。也可用來當(dāng)2路D/A使用 ,也可用來再實現(xiàn)2個定時器,也可用來再實現(xiàn)2個外部中斷(上升沿中斷/下降沿中斷均可分別或同時支持)17.A/D轉(zhuǎn)換, 10位精度ADC,共8路,轉(zhuǎn)換速度可達250K/S(每秒鐘2

8、5萬次)18.通用全雙工異步串行口(UART),由于STC12系列是高速的8051,可再用定時器或PCA軟件實現(xiàn)多串口19. STC12C5A60S2系列有雙串口,后綴有S2標(biāo)志的才有雙串口,RxD2/P1.2(可通過寄存器設(shè)置到P4.2),TxD2/P1.3(可通過寄存器設(shè)置到P4.3)主電路控制模塊的硬件電路包含復(fù)位電路,時鐘電路和電源電路3部分,滿足單片機正常工作,具體硬件電路如下圖:圖3 STC12C5A60S2的最小系統(tǒng)圖3.2.2驅(qū)動模塊 H橋驅(qū)動電路是一種典型的直流電機控制電路。圖4所示,H橋驅(qū)動電路由四個三極管組成H橋條橋臂,通過控制對角橋臂上的一組三極管,使電流以不同的方向流

9、過電機,從而控制電動機的轉(zhuǎn)向。因電動機是電感元件,當(dāng)電動機在正反轉(zhuǎn)轉(zhuǎn)換過程中,二極管起釋放反電動勢的作用。圖4 H橋驅(qū)動電本設(shè)計中直流電機驅(qū)動部分采用專用電機驅(qū)動芯片L298對電機進行驅(qū)動。L298可同時驅(qū)動兩個二相或一個四相步進電機,內(nèi)含兩個全雙H橋驅(qū)動器,接受標(biāo)準(zhǔn)TTL邏輯準(zhǔn)位信號。直流電機驅(qū)動模塊的硬件實現(xiàn)如圖所示:圖5 電動機驅(qū)動模塊3.2.3顯示模塊3.2.3.1管腳: 1602共16個管腳。編程主要用到的三個管腳,分別是:RS(數(shù)據(jù)命令選擇端),R/W(讀寫選擇端),E(使能信號)。RS 為寄存器選擇,高電平選擇數(shù)據(jù)寄存器,低電平選擇指令寄存器。R/W為讀寫選擇,高電平進行讀操作,

10、低電平進行寫操作。E端為使能端,后面和時序聯(lián)系在一起。除此外,D0D7分別為八位雙向數(shù)據(jù)線。3.2.3.2操作時序:表 1RSR/W操作說明00寫入指令碼D0D701讀取輸出的D0D7狀態(tài)字10寫入數(shù)據(jù)D0D711從D0D7讀取數(shù)據(jù)設(shè)計中顯示模塊采用的是1602LCD顯示。圖6 LCD顯示器3.2.4 PWM調(diào)速原理PWM(脈沖寬度調(diào)制)是通過控制固定電壓的直流電源開關(guān)頻率,改變負(fù)載兩端的電壓,從而達到控制要求的一種電壓調(diào)整方法。PWM可以應(yīng)用在許多方面,比如:電機調(diào)速、溫度控制、壓力控制等等。在PWM驅(qū)動控制的調(diào)整系統(tǒng)中,按一個固定的頻率來接通和斷開電源,并且根據(jù)需要改變一個周期內(nèi)“接通”和

11、“斷開”時間的長短。通過改變直流電機電樞上電壓的“占空比”來達到改變平均電壓大小的目的,從而來控制電動機的轉(zhuǎn)速。也正因為如此,PWM又被稱為“開關(guān)驅(qū)動裝置”,如圖所示:圖7 PWM信號的占空比在PWM調(diào)速時,占空比是一個重要參數(shù)。以下3種方法 都可以改變占空比的值。(1)定寬調(diào)頻法這種方法是保持t1不變,只改變t2,這樣使周期(或頻率)也隨之改變。(2)調(diào)頻調(diào)寬法這種方法是保持t2不變,只改變t1,這樣使周期(或頻率)也隨之改變。(3)定頻調(diào)寬法這種方法是使周期T(或頻率)保持不變,而同時改變t1和t2。本設(shè)計采用單片機內(nèi)定時器產(chǎn)生PWM脈沖,設(shè)計方法是調(diào)整一個周期內(nèi)高電平持續(xù)時間占一個周期時

12、間的比例,及調(diào)整脈沖的占空比。將產(chǎn)生的脈沖輸入到L298的EN A端,通過控制H橋一路橋臂兩個晶閘管的導(dǎo)通時間來控制電機的轉(zhuǎn)速。3.2.5電源模塊單片機系統(tǒng)需要一個穩(wěn)定的工作電壓才能正常工作。圖8 穩(wěn)壓電路3.2.6轉(zhuǎn)速檢測模塊本系統(tǒng)采用增量式光電旋轉(zhuǎn)編碼器測量電機的速度。將光電編碼器與電動機相連,當(dāng)電動機轉(zhuǎn)動時,帶動碼盤旋轉(zhuǎn),便發(fā)出相應(yīng)的信號。光電編碼器由光源,光電轉(zhuǎn)盤,光敏元件和光電整形放大電路組成。光電轉(zhuǎn)盤與被測軸連接,光源通過光電轉(zhuǎn)盤的透光孔射到光敏元件上,當(dāng)轉(zhuǎn)盤轉(zhuǎn)動時,光敏元件便發(fā)出與轉(zhuǎn)速成正比的脈沖信號,為了判別電機的轉(zhuǎn)向,光電編碼器輸出兩路相隔90度電脈沖角度的正交脈沖。利用光電

13、編碼器進行數(shù)字測速的常用方法有兩種:M法和T法。(1)M法測速:M法又叫定時計數(shù)法,是用計數(shù)器記取規(guī)定時間內(nèi)光電編碼器輸出的脈沖個數(shù)來反映轉(zhuǎn)速值,即在規(guī)定的時間間隔T內(nèi),測量編碼器光柵所產(chǎn)生的脈沖數(shù)來獲得被測的速度值。設(shè)編碼器光柵每轉(zhuǎn)一圈發(fā)出的脈沖數(shù)為Z,且在規(guī)定的時間T內(nèi),測得的脈沖數(shù)為M,則電機每分鐘轉(zhuǎn)數(shù)為:n=60M/ZT (1)將轉(zhuǎn)速實際值和測量值之差與實際值之比定義為測量誤差率,反映了測速方法的準(zhǔn)確性,越小,準(zhǔn)確度越高。M法測速誤差率取決于編碼器的制造精度,以及編碼器輸出脈沖前沿和測速時間采樣脈沖前沿不齊所造成的誤差等,最多可以產(chǎn)生一個脈沖的誤差。因此,M法測速誤差率的最大值為: (

14、2)由上式可知,誤差率與M成反比,即脈沖數(shù)越大,誤差越小,故M法測速適用于高速段。(2)T法測速:T法又叫定數(shù)計時法,是用定時器記取光電編碼器輸出脈沖一個周期內(nèi)的高頻時基個數(shù),然后取其倒數(shù)來反應(yīng)速度值,即測量相鄰兩個脈沖的時間間隔來確定被測速度。設(shè)編碼器光柵每轉(zhuǎn)一圈發(fā)出的脈沖數(shù)為Z,定時器的時基是一已知頻率為F的高頻脈沖,定時器的起始和終止由編碼器光柵脈沖的兩個相鄰脈沖的起始沿控制。若定時器的讀數(shù)為M,則電機每分鐘的轉(zhuǎn)速為: (3)T法測速的誤差產(chǎn)生原因與M法相仿,定時器的計數(shù)M最多存在一個脈沖的誤差,因此,T法測速誤差率的最大值為: (4)低速時,編碼器相鄰脈沖間隔時間長,測得的高頻脈沖個數(shù)

15、多,誤差小,故T法適用于低速段。我們采用M法測速。所采用的光電編碼器光柵每轉(zhuǎn)一圈發(fā)出16個脈沖。機械頻率1MHZ,采樣頻率2MHZ。測速電路圖如下圖所示:圖9 轉(zhuǎn)速檢測模塊四、硬件電路PCB及實物圖的設(shè)計4.1電路板的設(shè)計(1)、利用原理圖設(shè)計工具繪制原理圖,并且生成對應(yīng)的網(wǎng)絡(luò)表。當(dāng)然,有些特殊情況下,如電路板比較簡單,已經(jīng)有了網(wǎng)絡(luò)表等情況下也可以不進行原理圖的設(shè)計,直接進入PCB設(shè)計系統(tǒng),在PCB設(shè)計系統(tǒng)中,可以直接取用零件封裝,人工生成網(wǎng)絡(luò)表。(2)、手工更改網(wǎng)絡(luò)表 ,將一些元件的固定用腳等原理圖上沒有的焊盤定義到與它相通的網(wǎng)絡(luò)上,沒任何物理連接的可定義到地或保護地等。將一些原理圖和PCB

16、封裝庫中引腳名稱不一致的器件引腳名稱改成和PCB封裝庫中的一致,特別是二、三極管等。(3)、畫出自己的封裝庫 將自己所畫的器件都放入一個自己建立的PCB 庫專用設(shè)計文件。(4)、PCB板的設(shè)計 進入PCB系統(tǒng)后的第一步就是設(shè)置PCB設(shè)計環(huán)境,包括設(shè)置格點大小和類型,光標(biāo)類型,板層參數(shù),布線參數(shù)等等。大多數(shù)參數(shù)都可以用系統(tǒng)默認(rèn)值,而且這些參數(shù)經(jīng)過設(shè)置之后,符合個人的習(xí)慣,以后無須再去修改。然后規(guī)劃電路板,主要是確定電路板的邊框,包括電路板的尺寸大小等等。在需要放置固定孔的地方放上適當(dāng)大小的焊盤。 注意:在繪制電路板地邊框前,一定要將當(dāng)前層設(shè)置成Keep Out層,即禁止布線層。(5)、導(dǎo)入網(wǎng)絡(luò)表

17、文件和修改零件封裝 這一步是非常重要的一個環(huán)節(jié),網(wǎng)絡(luò)表是PCB自動布線的靈魂,也是原理圖設(shè)計與印象電路板設(shè)計的接口,只有將網(wǎng)絡(luò)表裝入后,才能進行電路板的布線。在原理圖設(shè)計的過程中,ERC檢查不會涉及到零件的封裝問題。因此,原理圖設(shè)計時,零件的封裝可能被遺忘,在引進網(wǎng)絡(luò)表時可以根據(jù)設(shè)計情況來修改或補充零件的封裝。當(dāng)然,可以直接在PCB內(nèi)人工生成網(wǎng)絡(luò)表,并且指定零件封裝。(6)、設(shè)置布局采用手動布局的形式。用鼠標(biāo)選中一個元件,按住鼠標(biāo)左鍵不放,拖住這個元件到達目的地,放開左鍵,將該元件固定。使用自動選擇方式可以很快地收集相似封裝的元件,然后旋轉(zhuǎn)、展開和整理成組,就可以移動到板上所需位置上了。當(dāng)簡易

18、的布局完成后,使用自動對齊方式整齊地展開或縮緊一組封裝相似的元件。 (7)、根據(jù)情況再作適當(dāng)調(diào)整然后將全部器件鎖定 假如板上空間允許則可在板上放上一些類似于實驗板的布線區(qū)。對于大板子,應(yīng)在中間多加固定螺絲孔。板上有重的器件或較大的接插件等受力器件邊上也應(yīng)加固定螺絲孔,有需要的話可在適當(dāng)位置放上一些測試用焊盤,最好在原理圖中就加上。將過小的焊盤過孔改大,將所有固定螺絲孔焊盤的網(wǎng)絡(luò)定義到地或保護地等。圖10 硬件電路原理圖圖11 電路PCB板圖12 實物圖五、軟件的設(shè)計與實現(xiàn)5.1、主程序流程圖5.2、PID控制算法及參數(shù)整定 5.2.1數(shù)字式增量PID控制算法計算機控制是一種采樣控制,它只能根據(jù)

19、采樣時刻的偏差值計算控制量。因此,連續(xù)PID控制算法不能直接使用,需要采用離散化方法,根據(jù)采樣時刻的偏差值計算控制量,離散化得: (5) 式中 k為采樣序號,k=0,1,2,3 如果采樣周期足夠小,這種離散逼近相當(dāng)精確。式中u(k)為全量輸出,它對應(yīng)于被控對象的執(zhí)行機構(gòu)第k次采樣時刻應(yīng)達到的位置。因此,上式稱為PID位置型控制算式??梢钥闯?,按PID位置型控制算式計算u(k)時,輸出值與過去所有狀態(tài)有關(guān)。當(dāng)執(zhí)行機構(gòu)需要的不是控制量的絕對數(shù)值,而是其增量時(如步進電機的驅(qū)動),可導(dǎo)出下式: (2-3) 其中, 此式稱為增量型PID控制算式,增量型PID控制算式具有以下優(yōu)點:1. 計算機只輸出控制

20、增量,即執(zhí)行機構(gòu)位置的變化部分,因而誤動作影響小。2. 在k時刻的輸出u(k),只需要用到此時刻的偏差,及前兩次的偏差和前一次的輸出值,這大大節(jié)約了內(nèi)存的計算時間。3. 在手動-自動切換時,控制量沖擊小,能夠較平滑地過渡。位置式控制算法可通過增量式控制算法推出遞推計算公式: (6)這就是目前在計算機控制中廣泛應(yīng)用的數(shù)字遞推PID控制算式。入口 讀入, 計算 計算計算 增量型輸出增量式否? Y計算 位置型輸出返回圖13 數(shù)字PID控制算法程序框圖5.3干擾的抑制PID控制算法的輸入量是偏差e,也就是給定值與系統(tǒng)輸出的差。在進入正常調(diào)節(jié)后,由于輸出已接近給定,e的值不會太大。所以相對而言,干擾對調(diào)

21、節(jié)有較大的影響,除了從系統(tǒng)硬件及環(huán)境方面采取措施外,在控制算法上也可采取一定的措施,以抑制干擾的影響。對于作用時間較為短暫的快速干擾,例如采樣器,A/D轉(zhuǎn)換器的偶然出錯等,我們可以簡單地采用連續(xù)多次采樣求平均值的辦法予以濾除。例如圍繞著采樣時刻ti連續(xù)采樣N次,可得到ei1、ei2、 、eiN。由于快速干擾往往比較強烈,只要有一個采樣數(shù)據(jù)受到快速隨機干擾,即使對它們求平均值,干擾的影響也會反映出來。因此,應(yīng)剔除其中的最大最小值,對其余的N-2次采樣求平均值。由于在N次中連續(xù)偶然出錯的可能很小,故這樣做已足以消除這類快速隨機干擾的影響。5.4、采樣周期的選定進行數(shù)字PID控制器參數(shù)整定時,首先應(yīng)

22、該解決的一個問題是確定合理的采樣周期T。采樣周期T必須足夠短,才能保證有足夠的精度。但采樣周期短則會加重計算機的任務(wù),影響工作效率,因此應(yīng)合理選擇采樣周期。采樣周期T應(yīng)遠(yuǎn)遠(yuǎn)小于系統(tǒng)中其它的時間常數(shù),否則可能會由于采樣的頻帶寬度不夠而無法反映系統(tǒng)的動態(tài)過程。一般來說,采樣周期T的最大值受系統(tǒng)穩(wěn)定性條件和香農(nóng)采樣定理的限制而不能太大。T的最小值則受到計算機在一個采樣周期內(nèi)能完成的計算工作量的限制,實際中常選2PAI/T為系統(tǒng)有用信號最高頻率的410倍。5.5、PID調(diào)節(jié)器的參數(shù)整定采樣周期T通常遠(yuǎn)遠(yuǎn)小于系統(tǒng)的時間常數(shù),因此,PID參數(shù)的整定可以按模擬調(diào)節(jié)器的方法來進行。參數(shù)整定通常有兩種:理論設(shè)計

23、法和實驗確定法。前者需要有被控對象的精確模型,然后采用最優(yōu)化的方法確定PID的各參數(shù)。被控對象的模型可通過物理建?;蛳到y(tǒng)辨識方法得到,但這樣通常只能得到近似的模型。因此,通過實驗確定法(如試湊法,工程整定法)來選擇PID參數(shù)是經(jīng)常采用又行之有效的方法。本方案采用了試湊法。試湊前先要知道PID各調(diào)節(jié)參數(shù)對系統(tǒng)響應(yīng)的影響。 試湊法是通過計算機仿真或?qū)嶋H運行,觀察系統(tǒng)對典型輸入作用的響應(yīng)曲線,根據(jù)各調(diào)節(jié)參數(shù)(Kp,Ti,Td)對系統(tǒng)的影響,反復(fù)調(diào)節(jié)試湊,直到滿意為止,從而確定PID參數(shù)。增大比例系數(shù)Kp將加快系統(tǒng)響應(yīng)并減小系統(tǒng)穩(wěn)態(tài)誤差,但過大會產(chǎn)生較大的超調(diào)量,產(chǎn)生震蕩,破壞系統(tǒng)的穩(wěn)定性。增大積分時

24、間常數(shù)Ti可使減小超調(diào),提高系統(tǒng)穩(wěn)定性,但系統(tǒng)誤差的消除將隨之變慢。增大微分時間常數(shù)Td可加速系統(tǒng)的響應(yīng),使超調(diào)量減小,增加系統(tǒng)的穩(wěn)定性,但系統(tǒng)抗干擾能力下降。試湊時,可參考以上參數(shù)對控制系統(tǒng)性能的影響趨勢,實行先比例,后積分,再微分的反復(fù)調(diào)整。1、首先只調(diào)比例系數(shù),將Kp由小到大,使響應(yīng)曲線略有超調(diào)。此時系統(tǒng)若無穩(wěn)態(tài)誤差或穩(wěn)態(tài)誤差已小到允許范圍內(nèi),并且認(rèn)為響應(yīng)曲線已屬滿意,那么,只須用比例調(diào)節(jié)器即可。2、若在比例調(diào)節(jié)的基礎(chǔ)上,系統(tǒng)穩(wěn)態(tài)誤差太大,則必須加入積分環(huán)節(jié)。整定時先將第一步所整定的比例系數(shù)略為縮?。ㄈ?.8倍),再將積分時間常數(shù)Ti置為一較大值并連續(xù)減小,使得在保持良好動態(tài)性能的前提下

25、消除穩(wěn)態(tài)誤差。這一步可反復(fù)進行。3、若使用PI調(diào)節(jié)器消除了穩(wěn)態(tài)誤差,但系統(tǒng)動態(tài)響應(yīng)經(jīng)反復(fù)調(diào)整后仍不能令人滿意,則加入微分環(huán)節(jié),構(gòu)成PID控制器。在整定時先將微分時間常數(shù)Td設(shè)定為零,再逐步增加Td并同時進行前面兩步的調(diào)整,以獲得滿意的調(diào)節(jié)效果和控制參數(shù)。參數(shù)整定結(jié)果:5.6、測速子程序測速子程序是通過調(diào)用Timer1中斷來完成的。T1循環(huán)定時,定時時間是50ms,作為速度采樣的基本周期。T1定時時間一到,程序就進入中斷,分別讀取一次主從電機的脈沖。在T1中斷子程序中,變量i作為T1定時循環(huán)標(biāo)志,當(dāng)循環(huán)10次達到500ms,變量i被置0,變量i是主程序運算標(biāo)志,當(dāng)i等于10時,主程序進入if語句

26、進行一次控制計算。因此,本程序的控制周期為500ms。碼盤是四位編碼器構(gòu)成。 (7)5.7、單片機資源配置表2 單片機內(nèi)部功能模塊使用情況說明表定時器Timer0:PWM定時/計數(shù)器時基Timer1:計主電機速度脈沖PCA0PCA0:產(chǎn)生主電機PWM波PCA1:產(chǎn)生從電機PWM波表3 單片機I/O端口配置表資源分配P1.3:CEX0,PWM0輸出P1.4:CEX1,PWM1輸出P3.4:T0主電機速度脈沖輸入P3.2:INT0從電機速度脈沖輸入其中在8位PWM脈寬調(diào)制模式下的輸出波形頻率為PCA時鐘頻率的256分頻,8位PWM占空比公式為: (8)此時,只要將PCA0開啟,為PCA配置一個時鐘

27、源,將相應(yīng)模塊設(shè)在8為PWM模式下,并將PWM輸出開啟,再將該模塊配置到一個I/O口上,則不再需要處理器的干預(yù),PCA會自動地向外端口輸出PWM波,只有當(dāng)需要改變占空比的時候,修改一下該模塊的捕捉比較寄存器的值即可。六、設(shè)計心得經(jīng)過將近兩周的單片機課程設(shè)計,終于完成了兩臺直流電機速度同步控制的設(shè)計,基本達到設(shè)計要求,從心底里來說,還是很高興的,畢竟這次設(shè)計把實物都做了出來。但高興之余不得不深思呀!在本次設(shè)計的過程中,我發(fā)現(xiàn)很多的問題,雖然以前還做過這樣的設(shè)計但這次設(shè)計真的讓我長進了很多。對于單片機設(shè)計,其硬件電路是比較簡單的,主要是解決程序設(shè)計的問題,而程序設(shè)計是一個很靈活的東西,它反映了你解

28、決問題的邏輯思維和創(chuàng)新能力,它才是一個設(shè)計的靈魂所在。因此在整個設(shè)計過程中大部分時間是用在程序上面的。很多子程序是可以借鑒書本上的,但怎樣銜接各個子程序才是關(guān)鍵的問題所在,這需要對單片機的結(jié)構(gòu)很熟悉。因此可以說單片機的設(shè)計是軟件和硬件的結(jié)合,二者是密不可分的。要設(shè)計一個成功的電路,必須要有耐心,要有堅持的毅力。在整個電路的設(shè)計過程中,花費時間最多的是各個單元電路的連接及電路的細(xì)節(jié)設(shè)計上,如在多種方案的選擇中,我們仔細(xì)比較分析其原理以及可行的原因。這就要求我們對硬件系統(tǒng)中各組件部分有充分透徹的理解和研究,并能對之靈活應(yīng)用。完成這次設(shè)計后,我在書本理論知識的基礎(chǔ)上又有了更深層次的理解。同時在本次設(shè)

29、計的過程中,我還學(xué)會了高效率的查閱資料、運用工具書、利用網(wǎng)絡(luò)查找資料。我發(fā)現(xiàn),在我們所使用的書籍上有一些知識在實際應(yīng)用中其實并不是十分理想,各種參數(shù)都需要自己去調(diào)整。偶而還會遇到錯誤的資料現(xiàn)象,這就要求我們應(yīng)更加注重實踐環(huán)節(jié)。最后還要在此感謝各位畢業(yè)設(shè)計的指導(dǎo)老師們和我的組員們,他們在整個過程中都給予了我充分的幫助與支持。七、參考文獻1陳勇.電力拖動與控制.北京:人民郵電出版社,20112 梅曉榕.自動控制元件及線路.哈爾濱:哈爾濱工業(yè)大學(xué)出版社, 20013 胡壽松.自動控制原理.北京:科學(xué)出版社,20074王平.計算機控制技術(shù)及應(yīng)用.北京:機械工業(yè)出版社,20105向敏.微控制器原理及應(yīng)用

30、.北京:人民郵電出版社,2012八、附錄 #include REG12C5A60S2.H void system_check(void) P2M0 &= (17); /*將相應(yīng)位清0*/P2M1 &= (17);P2M0 |= 17; /*設(shè)置相應(yīng)IO口推挽輸出*/void timer_init( u8 fosc, u8 div, u8 number, u16 time, u8 pre)/工作方式1 u16 fosc_fre = 0; fosc_time = (u32)fosc * 1000000 /(u32)div; fosc_time /= (u32)pre;fosc_fre = (u16

31、)(fosc_time /1000 * (u32)time /1000);/*fosc_time 8; ET0 = 1;if( 1 = pre ) AUXR |= 0x80;/* the timer0 clk = fclk */elseAUXR &= 0x7f; /* the timer0 clk = fclk/12*/EA =1; void counter_init( u8 number ) if( TIM1 = number )TMOD |= 0x50; /* the counter1 mode 1 */ET1 =1; void exti_init( bit number ) if( 0

32、= number ) IT0 = 1;/* 下降沿*/ EX0 = 1; void lcd_init_1602( void ) /1602初始化#ifdef LCD_1602_parallel_8 lcdrw=0;lcden = 0;write_1602( 0x38, 0 ); /設(shè)至顯示模式write_1602( 0x0c, 0 ); /設(shè)置顯示和光標(biāo)write_1602( 0x06, 0 ); /設(shè)置光標(biāo)移動write_1602( 0x01, 0 ); /清屏#endif #ifdef LCD_1602_parallel_4u8 date_1602;lcdrw=0;lcdrs = 0;lc

33、den = 1;delay_ms(2); /根據(jù)系統(tǒng)時鐘不同而不同date_1602 = (0x02 LOW_BIT);I0_lcd1602 = (I0_lcd1602 & (0x0fKp = kp;/比例系數(shù)賦初值Name-Ki = ki;/積分系數(shù)賦初值Name-Kd = kd;/微分系數(shù)賦初值Name-Pwm = 0;/控制量賦初值Name-Error = 0;/本次誤差賦初值Name-His_Error = 0;Name-His2_Error = 0;Name-Max = max;Name-Min = min;void init( void ) /*系統(tǒng)總初始化函數(shù)*/ CLK_DIV

34、=0x00; /* 系統(tǒng)不分頻flck = 12MHZ*/ delay_time = (12 * 1.0 / 1 ) * 58+ 0.5; /計算延時毫秒系數(shù) /* 延時初始化delay init*/ P2M0 &= (17); /*將相應(yīng)位清0*/P2M1 &= (17);P2M0 |= 17; /*設(shè)置相應(yīng)IO口推挽輸出*/ /*LED初始化*/timer_init(12,1,TIM0,50000,12); /定時器初始化50mscounter_init(TIM1); /初始化計數(shù)器exti_init(0);lcd_init_1602();/初始化液晶顯示write_string1_160

35、2(1,1,Set_V:);/*LCD1602顯示字符串*/write_string1_1602(2,1,V1:);write_string1_1602(1,12,r/m);write_string1_1602(2,9,V2:);motor_dc_init(12,1,3903,12);/初始化電機 3.9Kmotor_dc_with(PWM1,1);/初始化PWM脈寬motor_dc_with(PWM0,1);/初始化PWM脈寬 PID_init(0.03,0.017,0,255,1,&PID1);/初始化PID參數(shù)PID_init(0.03,0.017,0,255,1,&PID2);/初始化

36、PID參數(shù) /*/ u8 key_Freedom( bit mode ) /適當(dāng)時候可通過設(shè)置標(biāo)記位來去除等待放手 static u8 xdata key_mode=1; /連續(xù)檢測標(biāo)志位 u8 key = 0; P3 |= 0x0f; if(key1=1&key2=1&key_mode=0) key_mode=1;return 255; /*按鍵彈起*/ if(mode)key_mode=1;if(key1=0|key2=0)&key_mode)delay_ms(5); key_mode=0;if(key1=0|key2=0) if(key1=0) key |= 10;if(key2=0)

37、key |= 11;/if(key3=0) key |= 12;/if(key4=0) key |= 10; time- ); /*仿真時不能用*/*END OF while(number-)*/ void timer_start( u8 number,bit mode )/* timer start */if(mode) if( number = TIM0 ) TMOD |= 0X08;else if( number = TIM1) TMOD |= 0x80;else if( number = TIM0 ) TMOD &= 0Xf7;else if( number = TIM1) TMOD

38、&= 0x7f; switch( number ) case TIM0: TR0 =1; break;case TIM1: TR1 =1; break;case PCA0: CCAPM0 = 0x49;/*PCAmodule-0 work in 16-bit timer mode*/ /*and enable PCA interrupt*/ CR =1; break;/*PCA timer satrt run*/case PCA1: CCAPM1 = 0x49;/*PCAmodule-1 work in 16-bit timer mode*/ /*and enable PCA interrup

39、t*/ CR =1; break;/*PCA timer satrt run*/default : ; break;/*END OF THE switch( number )*/*END OF THE FUNCTION void timer_start( u8 number )*/void counter_start( u8 number,bit mode ) if(mode) if( number = TIM0 ) TMOD |= 0X08;else if( number = TIM1) TMOD |= 0x80;else if( number = TIM0 ) TMOD &= 0Xf7;e

40、lse if( number = TIM1) TMOD &= 0x7f; switch( number ) case TIM0: TR0 =1; break;case TIM1: TR1 =1; break;default : CR =1; break;/*PCA timer satrt run*/ /*END OF THE switch( number )*/ /*END OF THE FUNCTION void counter_start( u8 number )*/void motor_dc_start( u8 number, u8 mode ) pwm_start(number);sw

41、itch(mode) case 0 : IN1 =1; IN2 = 0; break;case 1 : IN1 =0; IN2 = 1; break;case 2 : IN3 =1; IN4 = 0; break;case 3 : IN3 =0; IN4 = 1; break;void motor_dc_stop( u8 number, u8 mode ) pwm_stop(number);if(mode = 1) IN1 = 0;IN2 = 0;else IN3 = 0;IN4 = 0;void timer_stop( u8 number ) /* timer stop */ switch( number ) case TIM0: TR0

溫馨提示

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

評論

0/150

提交評論