這是我大三做的運(yùn)動(dòng)控制系統(tǒng)課程設(shè)計(jì),對(duì)直流電機(jī)速度、電流雙閉環(huán)pid控制,有程序源碼,還有自己做的上位機(jī),也包括源碼,上位機(jī)可顯示速度和電流曲線,并且可以設(shè)置速度,里面也有自己的設(shè)計(jì)文檔,里面也有演示視頻
制作出來(lái)的實(shí)物圖如下:
拖動(dòng)系統(tǒng)課程設(shè)計(jì)報(bào)告書
題目: 直流電機(jī)速度電流雙閉環(huán)控制器設(shè)計(jì)
任務(wù)書 |
閉環(huán)控制的PWM直流調(diào)速系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
| | 隨著社會(huì)的發(fā)展,各種智能化的產(chǎn)品日益走入尋常百姓家。為了實(shí)現(xiàn)產(chǎn)品的便攜性、低成品以及對(duì)電源的限制,小型直流電機(jī)應(yīng)用相當(dāng)廣泛。對(duì)直流電機(jī)的速度調(diào)節(jié),可分為勵(lì)磁控制法與電樞電壓控制法兩類。隨著電力電子技術(shù)的進(jìn)步,發(fā)展了許多新的電樞電壓控制方法。其中,PWM斬波器進(jìn)斬波調(diào)壓的驅(qū)動(dòng)裝置與傳統(tǒng)晶閘管驅(qū)動(dòng)裝置比較,具有下列優(yōu)點(diǎn):需用的大功率可控器件少,線路簡(jiǎn)單;調(diào)速范圍寬:電流波形系數(shù)好,附加損耗;功率因數(shù)高?梢詮V泛應(yīng)用于現(xiàn)代直流電機(jī)伺服系統(tǒng)中。為抑制負(fù)載擾動(dòng),同時(shí)提高啟動(dòng)制動(dòng)性能,閉環(huán)控制的PWM直流調(diào)速系統(tǒng)成為研究熱點(diǎn)。
一、該同學(xué)的主要任務(wù) 1、查找文獻(xiàn),掌握直流電動(dòng)機(jī)PWM調(diào)速的基本工作原理; 2、設(shè)計(jì)直流電動(dòng)機(jī)雙閉環(huán)調(diào)速系統(tǒng),建立系統(tǒng)模型并進(jìn)行仿真試驗(yàn); 3、設(shè)計(jì)并調(diào)試基于51單片機(jī)的H橋驅(qū)動(dòng)控制電路; 4、設(shè)計(jì)速度調(diào)節(jié)器算法,對(duì)閉環(huán)系統(tǒng)進(jìn)行負(fù)載試驗(yàn);
二、功能測(cè)評(píng)要求 1、能獨(dú)立設(shè)置電機(jī)速度(按鍵設(shè)置或滑動(dòng)變阻器設(shè)置或上位機(jī)設(shè)置); 2、能顯示當(dāng)前電機(jī)的實(shí)際速度(單位為:r/min); 3、能控制電機(jī)啟動(dòng)、停止、正反轉(zhuǎn)、軟啟動(dòng)和軟制動(dòng); 4、給電機(jī)加載后,速度能迅速調(diào)節(jié)回給定值; 5、對(duì)電流能進(jìn)行截止負(fù)反饋控制,抑制電流沖擊。
三、提供波形數(shù)據(jù): 1、不同速度下的PWM波形; 2、加載后的速度波形;
| |
本課題主要研究直流電動(dòng)機(jī)的閉環(huán)控制的調(diào)壓調(diào)速系統(tǒng),采用PWM調(diào)壓控制方案,該同學(xué)主要工作是雙閉環(huán)調(diào)速系統(tǒng)建模與仿真,實(shí)際速度閉環(huán)PWM調(diào)速系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
基本內(nèi)容: 1、設(shè)計(jì)直流電動(dòng)機(jī)雙閉環(huán)調(diào)速系統(tǒng)總體方案; 2、建立系統(tǒng)數(shù)學(xué)模型,并設(shè)計(jì)電流調(diào)節(jié)器和轉(zhuǎn)速調(diào)節(jié)器算法; 3、直流電機(jī)的控制電路、驅(qū)動(dòng)電路、保護(hù)電路及其檢測(cè)電路設(shè)計(jì) 4、 基于單片機(jī)的閉環(huán)調(diào)速系統(tǒng)軟件程序設(shè)計(jì); 5、分別對(duì)空載、負(fù)載和變給定工況進(jìn)行調(diào)速系統(tǒng)實(shí)驗(yàn)與分析; 6、記錄波形分析數(shù)據(jù)。
| | 一、主要參考文獻(xiàn) 1、電機(jī)原理與設(shè)計(jì)的matlab分析,戴文進(jìn),電子工業(yè)出版社; 2、電氣傳動(dòng)的脈寬調(diào)制控制技術(shù),吳守,機(jī)械工業(yè)出版社; 3、電力電子技術(shù),浣喜明,高等教育出版社; 4、電動(dòng)機(jī)的單片機(jī)控制,王曉明,北京航空航天出版社; 5、電機(jī)與拖動(dòng)基礎(chǔ),李發(fā)海,清華大學(xué)出版社;
| | | | | | | | | 雙閉環(huán)直流PWM調(diào)速系統(tǒng)建模 | | | | | | | | | | | | | | | | | | |
一、 雙閉環(huán)調(diào)速系統(tǒng)1.1雙閉環(huán)調(diào)速系統(tǒng)概述在許多場(chǎng)合,為了充分發(fā)揮生產(chǎn)機(jī)械的效能,提高生產(chǎn)率,速度控制系統(tǒng)經(jīng)常處于起動(dòng)、制動(dòng)、反轉(zhuǎn)以及突加負(fù)載等過渡過程中,所以要求速度控制系統(tǒng)有較好的動(dòng)態(tài)性能。 對(duì)高性能、靜態(tài)的速度控制系統(tǒng)的要求是具有快速跟隨特性(起制性)、較好的抗干擾性和高可可靠性(可瞬態(tài)過載但不過流)。因此引入了轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)。 轉(zhuǎn)速負(fù)反饋和比例積分調(diào)節(jié)器的單閉環(huán)調(diào)速系統(tǒng)能夠保證系統(tǒng)在穩(wěn)定的條件下實(shí)現(xiàn)轉(zhuǎn)速無(wú)靜差調(diào)節(jié)。但是該控制系統(tǒng)也有自身的缺點(diǎn),比如要求快速啟動(dòng)、突加負(fù)載動(dòng)態(tài)速降等。 這種單閉環(huán)系統(tǒng)就難以滿足要求,這是因?yàn)樵趩伍]環(huán)調(diào)速系統(tǒng)中尚不能按要求來(lái)控制動(dòng)態(tài)過程的電流和轉(zhuǎn)速。為解決這一矛盾,電流截止負(fù)反饋環(huán)節(jié),它與轉(zhuǎn)速負(fù)反饋調(diào)速系統(tǒng)結(jié)合在一起,可以專門用來(lái)控制電流,從工作原理上分析,它只能是在超過臨界電流值以后,才能靠強(qiáng)烈的負(fù)反饋?zhàn)饔孟拗齐娏鞯臎_擊,由于電流截止負(fù)反饋只能限制最大電流,電機(jī)轉(zhuǎn)矩也隨著電流減小而下降,使啟動(dòng)加速過程變慢,啟動(dòng)的時(shí)間也比較長(zhǎng),帶電流截止負(fù)反饋單閉環(huán)調(diào)速系統(tǒng)。為了能夠?qū)崿F(xiàn)在允許條件下最快啟動(dòng),依照反饋控制規(guī)律,驗(yàn)證與實(shí)踐,采用轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)就能達(dá)到上述要求。 1.2雙閉環(huán)調(diào)速系統(tǒng)電路原理如下圖為轉(zhuǎn)速、電流的雙閉環(huán)調(diào)速系統(tǒng)的原理圖。圖中兩個(gè)調(diào)節(jié)器ASR和ACR分別為轉(zhuǎn)速調(diào)節(jié)器和電流調(diào)節(jié)器,二者串級(jí)連接,即把轉(zhuǎn)速調(diào)節(jié)器的輸出作為電流調(diào)節(jié)器的輸入,在用電流調(diào)節(jié)器的輸出去控制晶閘管整流器的觸發(fā)裝置。電流環(huán)在內(nèi),稱之為內(nèi)環(huán);轉(zhuǎn)速環(huán)在外,稱之為外環(huán)。 兩個(gè)調(diào)節(jié)器輸出都帶有限幅,ASR的輸出限幅Uim決定了電流調(diào)節(jié)器ACR的給定電壓最大值Uim,對(duì)就電機(jī)的最大電流,電流調(diào)節(jié)器ACR輸出限幅電壓Ucm限制了整流器輸出最大電壓值,限最小觸發(fā)角a。 雙閉環(huán)調(diào)速系統(tǒng)電路原理圖
1.3雙閉環(huán)調(diào)速系統(tǒng)動(dòng)態(tài)結(jié)構(gòu)圖雙閉環(huán)調(diào)速系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)如下圖所示,電流采樣模塊采用2歐姆的碳膜電阻,根據(jù)驅(qū)動(dòng)的設(shè)計(jì)我們把碳膜電阻加在MOS管和GND相連的地方,因?yàn)殡娏鞑还軗Q向與否碳膜電阻采樣到的電流方向不變,所以給ADC采樣帶來(lái)了極大的方便,而且碳膜電阻功率比較大,當(dāng)電機(jī)堵轉(zhuǎn)導(dǎo)致電流比較大的時(shí)候不至于燒壞。 由編碼器得到電機(jī)的轉(zhuǎn)速,,通過編碼器反饋脈沖信號(hào),本次采用的編碼器精度為344,電機(jī)轉(zhuǎn)一圈產(chǎn)生344個(gè)脈沖。 雙閉環(huán)調(diào)速系統(tǒng)的動(dòng)態(tài)結(jié)構(gòu)圖
1.4雙閉環(huán)算法結(jié)構(gòu)實(shí)現(xiàn)本次課程設(shè)計(jì)算法的實(shí)現(xiàn)分為如下幾個(gè)部分ADC采樣實(shí)現(xiàn),中斷脈沖計(jì)數(shù),定時(shí)器計(jì)算速度,定時(shí)器產(chǎn)生兩路PWM,通過這兩路PWM占空比的差值調(diào)節(jié)電機(jī)的轉(zhuǎn)速,一個(gè)串級(jí)PI調(diào)節(jié)器。 ADC采樣開了一路采樣,設(shè)置ARM采樣轉(zhuǎn)化時(shí)間為1微秒,設(shè)置PWM周期為5ms為了減小電流波動(dòng)帶來(lái)的采樣誤差我采集到10000個(gè)數(shù)字電壓然后計(jì)算平均電壓,采集到10000個(gè)點(diǎn)正好是兩個(gè)PWM周期,計(jì)算值有效而且響應(yīng)快速。中斷系統(tǒng)配置成上升沿觸發(fā),當(dāng)來(lái)一次脈沖count會(huì)加1,開啟另外一個(gè)定時(shí)器50ms獲取一次count的值,然后求的這50ms電機(jī)的轉(zhuǎn)速,及時(shí)與設(shè)定速度調(diào)節(jié),計(jì)算速度誤差通過PI調(diào)節(jié)器調(diào)節(jié)速度和電流雙閉環(huán),PI調(diào)節(jié)器采用位置式寫法,位置式PI需要注意的地方是一個(gè)積分飽和,如果不設(shè)定積分限制PI調(diào)節(jié)器會(huì)跑飛,帶來(lái)很大的問題,外環(huán)PI調(diào)節(jié)器的積分限制我采用分級(jí)控制的方式,當(dāng)速度誤差大于500時(shí)設(shè)定積分限制為電機(jī)堵轉(zhuǎn)時(shí)能夠達(dá)到的最大電流積分限制設(shè)置為8000,根據(jù)pi參數(shù)計(jì)算的得出,當(dāng)速度誤差大于300時(shí)設(shè)定積分限制為5000,當(dāng)速度誤差小于300時(shí),設(shè)定積分限制為2000最小,計(jì)算得到PID值為速度穩(wěn)定是的ADC的值,這樣設(shè)計(jì)的好處就是不但能減小系統(tǒng)的超調(diào)量而且能夠加速系統(tǒng)的響應(yīng)時(shí)間。
二、轉(zhuǎn)速、電流雙閉環(huán)調(diào)速系統(tǒng)電氣設(shè)計(jì)2.1驅(qū)動(dòng)電路設(shè)計(jì)驅(qū)動(dòng)電路的設(shè)計(jì)采用雙路PWM,采用MOS管搭建H橋,采用2104芯片,芯片的IN端輸入高電平時(shí)HO輸出端輸出高端平,左上角的MOS管導(dǎo)通,LO端輸出低電平左下角MOS管關(guān)斷,上下MOS管導(dǎo)通和關(guān)斷夠成互補(bǔ),當(dāng)芯片IN端輸入低電平輸出電平相反MOS管的導(dǎo)通關(guān)斷相反。 驅(qū)動(dòng)電路
2.2過流保護(hù)電路設(shè)計(jì)過流保護(hù)的電路設(shè)計(jì)如下圖所示,過流保護(hù)電路的功能當(dāng)電機(jī)兩端短路時(shí)繼電器斷開,電路斷開不供電。當(dāng)電機(jī)堵轉(zhuǎn)時(shí)繼電器也斷開。過流保護(hù)電路設(shè)計(jì)如下:本電路設(shè)計(jì)的主要核心元件是比較器、555定時(shí)器、繼電器。比較器的正向輸入端設(shè)置一個(gè)比較電壓,反向輸入端輸入采樣電阻得到的電壓,如果電機(jī)堵轉(zhuǎn)或者電機(jī)兩端短路會(huì)導(dǎo)致采樣電阻的電壓值變得很大,反向輸入電壓大于正向輸入電壓比較器輸出低電平,555定時(shí)輸出高電平,繼電器采用常閉型當(dāng)為高電平時(shí)繼電器斷開。通過電阻和電容的值設(shè)定555定時(shí)器的輸出高電平時(shí)間。 2.3上位機(jī)控制系統(tǒng)設(shè)計(jì)上位機(jī)的設(shè)計(jì)主要是為了顯示速度和電流的變化曲線,藍(lán)色線為實(shí)時(shí)速度的顯示,紅色線是設(shè)定速度的曲線顯示,黑色線是電流變化的曲線,本次電流的值用ADC的值統(tǒng)一表示,本上位機(jī)的功能涵蓋了所有電機(jī)控制的功能,可以通過上位機(jī)控制電機(jī)的正轉(zhuǎn)、反轉(zhuǎn)、和停止;镜墓δ,同時(shí)還可以加速減速,每次按鍵加速或者減速10r,設(shè)定速度標(biāo)度窗口輸入所要標(biāo)定的速度然后點(diǎn)擊設(shè)置按鈕,紅色曲線便可按照設(shè)置的數(shù)值顯示曲線,上面還有兩個(gè)顯示速度和電流具體數(shù)值的窗口。
stm32單片機(jī)源程序如下: - #include "led.h"
- #include "delay.h"
- #include "key.h"
- #include "sys.h"
- #include "usart.h"
- #include "timer.h"
- #include "UserConfiguration.h"
- #include "UserFunction.h"
- #include "lcd.h"
- #include "exti.h"
- #include "adc.h"
- #include "PID_Current.h"
- //PWM輸出實(shí)驗(yàn)
-
- u32 spd_now=0;
- u32 set_spd=3300,set_vol=300,PwmOne_Set,adcx;
- float av;
-
- enum
- {
- flag_add,flag_minus,flag
- }FLAG_SPEED;
- enum
- {
- flag_zheng,flag_fan,flag_stop
- }FLAG_DIR;
-
- int main(void)
- {
- // u8 i=0,key;
-
- delay_init(); //延時(shí)函數(shù)初始化
- KEY_Init();
- NVIC_Configuration(); //設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)
- uart_init(9600); //串口初始化為9600
- LED_Init(); //LED端口初始化
- Adc_Init(); //ADC初始化
- TIM1_PWM_Init(4999,71);
-
- EXTIX_Init();
- LCD_Init();
-
- POINT_COLOR=RED;
- TIM3_Int_Init(9999,719);
-
- FLAG_DIR=flag_zheng; //開始是正轉(zhuǎn)
- FLAG_SPEED=flag;
- while(1)
- {
-
-
-
-
- // UserPIDCurrentControl(set_vol) ;
- av=adcx*3.3/4096;
- LCD_ShowxNum(130,100,spd_now,8,16,0); //nowspd;時(shí)時(shí)速度
- LCD_ShowxNum(130,130,set_spd,8,16,0); //設(shè)定速度
- LCD_ShowxNum(130,160,3600,8,16,0); //電機(jī)最大速度
- LCD_ShowxNum(130,190,adcx,8,16,0);
- LCD_ShowxNum(130,230,av*1000,8,16,0);
- LCD_ShowxNum(130,250,PwmOne_Set,8,16,0);
- LCD_ShowString(50,160,100,12,16,"Max_Speed:");
- LCD_ShowString(50,100,100,12,16,"Now_Speed:");
- LCD_ShowString(50,130,100,12,16,"Set_Speed:");
- LCD_ShowString(50,190,100,12,16,"ADC:");
- LCD_ShowString(50,230,100,12,16,"Voltage:");
- adcx=Get_Adc_Average(ADC_Channel_2,10000);
- //按鍵設(shè)置標(biāo)量速度
-
- if(FLAG_SPEED==flag_add)
- {
- FLAG_SPEED=flag;
- set_spd+=10; //加速
- }
- else if(FLAG_SPEED==flag_minus)
- {
- FLAG_SPEED=flag;
- set_spd-=10; //減速
- }
- if(set_spd>=3600)
- {
- set_spd=3600;
- }
- if(set_spd<=0)
- {
- set_spd=0;
- }
-
- }
- }
復(fù)制代碼vb上位機(jī)源碼如下:
所有資料51hei提供下載:
|