




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
畢業設計說明書基于MSP430單片機的無刷直流電機控制系統設計2013年6月基于MSP430單片機的無刷直流電機控制系統設計摘要無刷直流電動機是在有刷直流電動機的基礎上發展起來的。現階段,雖然各種交流電動機和直流電動機在傳動應用中占主導地位,但無刷直流電動機正受到普遍的關注。自20世紀90年代以來,隨著人們生活水平的提高和現代化生產、辦公自動化的發展,家用電器、工業機器人等設備都越來越趨向于高效率化、小型化及高智能化,作為執行元件的重要組成部分,電機必須具有精度高、速度快、效率高等特點,無刷直流電機的應用和需求也因此而迅速增長。本設計是把無刷直流電動機作為設計對象,以MSP430單片機為控制MCU,單片機采集比較電平及電機霍爾反饋信號,通過軟件編程控制無刷直流電動機。將整個系統分成幾個部分,討論了各個部分的電路原理、控制策略、具體實現。根據永磁無刷直流電動機的特性實施脈寬PWM控制,并通過轉速傳感器測量轉速通過LCD1602動態顯示轉速。關鍵詞:無刷直流電動機,單片機,霍爾位置傳感器MSP430Microcontroller-basedbrushlessDCmotorControlSystemDesignAbstractBrushlessDCmotorinabrushDCmotordevelopedonthebasisof.Atthisstage,althoughexchangesofallkindsofDCmotorsandmotordriveintheapplicationofthedominant,butbrushlessDCmotorisundercommonconcern.Sincethe1990s,aspeople'slivingstandardsimproveandmodernizeproduction,thedevelopmentofofficeautomation,householdappliances,industrialrobotsandotherequipmentareincreasinglytendtobehighefficiency,smallsizeandhighintelligence,astheimplementationofcomponentsAnimportantcomponentofthemotormusthaveahighaccuracy,speed,highefficiency,brushlessDCmotorandthereforetheapplicationisalsogrowingrapidly.ThisdesignisthebrushlessDCmotorastheelectricbicyclemotor-drivencontrolsystem,MSP430microcontrollerforcontrolMCU,SCMcollectionandcomparison-levelelectricalsignalHallfeedback,softwareprogrammingthroughbrushlessDCmotorcontroller.Thispaperanalyzestherequirementsfromthesystem,thewholesystemwillbedividedintoseveralparts,analysisanddiscussionofthevariouspartsofthecircuitofthecontrolstrategy,implementationmethod.AccordingtothepermanentmagnetbrushlessDCmotorcontrolofthePWMpulsewidth,speedsensoranddisplayspeedthroughLCD1602.Keywords:BLDCM,thesinglechipprocessor,hallpositionsensor⑧其中為電磁轉矩;為負載轉矩;B為阻尼系數;QUOTE為電機機械轉速;J為電機的轉動慣量。傳遞函數:無刷直流電機的運行特性和傳統直流電機基本相同,其動態結構圖可以采用直流電機通用的動態結構圖,如圖所示:圖3.2無刷直流電機動態結構圖由無刷直流電機動態結構圖可求得其傳遞函數為:式中:為電動勢傳遞系數,為電動勢系數;為轉矩傳遞函數,QUOTE,R為電動機內阻,為轉矩系數;為電機時間常數,,G為轉子重量,D為轉子直徑。3.3模糊PI控制器無刷直流電機速度模糊PI控制器的輸入變量有兩個,分別是速度偏差e(t)和速度偏差的變化率ec(t)。模糊控制器的輸出為KPS,KIS,來調節PI控制器的比例增益KP(KP=KPS*KPP)和積分增益KI(KI=KIS*KIP),其中KPP,KIP為預先給定的值,通常為1.其模糊控制的規則制定原則如下:在穩態時,如BLCD的轉速由于系統參數的變化而發生波動,則同時調節比例增益和積分增益,使得轉速保持恒定;當系統響應時間較長時,則同時增加比例增益和積分增益,以減小響應時間。根據電機的額定轉速3000r/min,可確定誤差e的實際論域范圍為[-1000,1000],誤差變化率de/dt的實際論域范圍為[-2.5*10j,2.5*10j]。對論域進行模糊化,把輸入和輸出量都量化到[-5,-4,-3,-2,-1,0,1,2,3,4,5]這樣一個區間上面,對應的模糊子集為NL,NM,ZO,PS,PM,PL.根據專家知識,建立合適的模糊規則庫,KPS,KIS對應的控制規則表如下表3.1和表3.2所示。表3.1KPS的控制規則表Ec(t)E(t)NLNMNSZOPSPMPLNLPLPLPMPMPSPSZONMPLPMPMPSPSZONSNSPMPMPSPSZONSNSZOPMPSPSZONSNSNMPSPSPSZONSNSNMNMPMPSZONSNSNMNMNLPLZONSNSNMNMNLNL表3.2KIS的控制規則表Ec(t)E(t)NLNMNSZOPSPMPLNLPMPSNMPMPSPSNSPMPSPSZOZONLNMNSZOPSPMPLPSZONSNSPLPMPSPMPLPLPLPM根據上面的模糊控制規則進行計算,采用面積平分法解模糊,就可以得到KPS,KIS參與調整系統PI控制器的比例增益KP(KP=KPS*KPP)和積分增益KI(KI=KIS*KIP)。模糊PI控制的直流無刷電機調速系統具有很快的響應速度,且在給定速度發生變化的情況下具有很強的速度跟蹤能力,同時結合了模糊語言的自適應控制系統,減小了電流的脈動,即在一定程度上減小了轉矩脈動,提高了系統的性能。
4控制系統設計4.1系統總體功能介紹本設計總體功能如圖4.1所示,以MSP430F149作為控制核心,通過專用驅動芯片LM621連接逆變電路驅動電機工作,按鍵實現加速減速功能,加速鍵按下一次轉速增加100轉,減速鍵盤按下一次轉速減少100轉,可調范圍在2000轉到4000轉之間,通過渦輪流量計測試實際流量信息反饋到單片機中實現高精度的電機轉速調節,LCD1602實時顯示流量信息。圖4.2為系統總體軟件流程圖。MSP430MSP430LCD1602逆變電路LM621逆變電路LM621位置傳感器位置傳感器無刷直流電機無刷直流電機渦輪流量計渦輪流量計按鍵按鍵圖4.1系統總體功能流程圖圖4.2系統總體軟件流程圖4.2MSP430F149單片機最小系統MSP430F149單片機最小系統由MSP430F149單片機,晶振以及復位電路組成。兩個晶振分別接單片機的XIN1,XOUT1,XIN2,XOUT2口,復位電路采用專用復位芯片SP7085,與單片機RESET口連接,采用SPX1117M3-3.3為單片機供電3.3V。MSP430F149單片機最小系統硬件連接如圖4.3.圖4.3MSP430F149單片機最小系統4.3顯示模塊介紹4.3.1顯示模塊硬件設計本系統采用LCD1602液晶屏顯示,P4口接上拉電阻,LCD1602液晶屏的控制端接在P3口上面,P3.5——P3.7口。圖4.4顯示模塊硬件圖4.3.2顯示模塊軟件設計用LCD顯示一個字符時比較復雜,首先找到顯示屏上某個位置所對應的RAM區的8個字節,在有程序分別對這個8個字節置“1”或置“0”,“1”表示點亮,“0”表示不亮,這樣組合起來就能把一個字符點亮。但是有的控制器內部自帶字符發生器,如LCD1602,顯示一個字符就非常容易了,把控制器的工作設定在文本方式,再根據字符顯示的位置,找到該位置找出顯示RAM所對應的地址,設立光標,在把所需要的字符代碼送上去就可以了。顯示模塊軟件流程圖如圖4.5。開始開始LCD1602初始化延時寫LCD指令取顯示地址寫數寫完?是否讀取數據并顯示返回圖4.5顯示模塊子程序流程圖4.4驅動模塊介紹4.4.1驅動模塊硬件設計本設計采用電機專用驅動芯片LM621驅動逆變電路實現電機的運行。LM621的HS1,HS2,HS3與霍爾位置傳感器相連,接入位置信號以控制電機的電子換相,引腳11、12、13(灌電流輸出端),引腳14、15、16(抽電流輸出端)分別與逆變電路連接驅動電機,VCC2接+5V電源,INH接單片機P2.7口輸入PWM波,DIR接單片機P2.6口控制轉向,硬件連接圖如圖4.6。圖4.6驅動電路硬件圖4.4.2PWM控制軟件設計PWM(脈沖寬度調制)是通過控制固定電壓的直流電源開關頻率,改變負載兩端的電壓,從而達到控制要求的一種電壓調整方法。本次設計采用定頻調寬方式,MSP430F149本身含有PWM產生模塊,利用MSP430F149單片機的TIMEA的模式7產生PWM波對電機進行調速。根據電機參數設定調速范圍為2000轉~4000轉,每次加速鍵(減速鍵)按下,電機轉速減少(增加)100轉,調速等級分為20級,經計算,每次占空比改變0.025。是否是否有按鍵按下?由占空比計算波形持續時間計算定時器A常數按鍵掃描產生PWM波開始初始化返回否有按鍵按下?由占空比計算波形持續時間計算定時器A常數按鍵掃描產生PWM波開始初始化返回是是 圖4.7PWM子程序流程圖4.5按鍵模塊介紹4.5.1按鍵模塊硬件設計本設計采用1*4矩陣鍵盤實現對整個系統的操作,四按鍵一端分別通過1k的電阻與單片機的P3.0,P3.1,P3.2,P3.3接口連接,另一端通過100k的電阻與+5V電源連接。按鍵模塊連接如圖4.8。圖4.8按鍵模塊硬件連接圖4.5.2按鍵模塊軟件設計本系統使用最簡單的1*4矩陣鍵盤實現對整個系統的操作。各鍵對應的功能和鍵值如表4.1。表4.1各鍵對應功能和鍵值鍵位功能鍵值BUTTON1啟動/制動0XA0BUTTON2加速0X90BUTTON3正反轉0X88BUTTON4減速0X50各鍵詳細功能如下:BUTTON1:啟動系統。單片機上電初始化后,首先掃描鍵盤,若BUTTON1被按下,則啟動系統,否則將一直掃描鍵盤,此時其他鍵沒有任何功能。BUTTON2和BUTTON4:通過按BUTTON4或BUTTON4,當前位閃爍,此時通過BUTTON2和BUTTON4可對當前位進行+1/-1,若2S內沒有操作,系統自動確認當前輸入值。BUTTON3:正反轉,實現電機機的反轉。按鍵模塊子程序流程圖如圖4.9圖4.9按鍵模塊子程序流程圖4.6限流電路設計主回路中通過電動機的電流最終是經過電阻R4接地。因此,Uf=R4IM,其大小正比于電動機的電流IM。而Uf同數/模轉換器的輸出電壓U0分別送到LM324運算放大器的兩個輸入端,一旦反饋電壓Uf大于來自數/模轉換器的給定信號U0,則LM324運算放大器輸出為低電平,通過非門變為高電平輸入到LM621的引腳17,使輸出關斷,從而截斷了直流無刷電動機定子繞組的所有電流通路,迫使電動機電流下降,一旦電流下降到時Uf小于U0,則LM324運算放大器輸出回到高電平,通過非門變為低電平,接LM621的17腳,LM621正常工作。圖4.10限流電路4.7速度反饋電路設計渦輪流量計采用24V直流供電,輸出24V脈沖信號經過電阻分壓變為3.3V脈沖信號,與單片機p2.5口連接,電路硬件連接見圖4.11。渦輪流量計輸出的電壓脈沖信號與瞬時流量之間的計算公式為Q=3600×f/k,通過采集流量反饋信號實現對流量的閉環精確控制。圖4.11速度反饋電路硬件設計結論本設計所述的直流電機閉環調速系統是以低價位的MSP430單片機為核心的,而通過單片機來實現電機調整又有多種途徑,相對于其他用硬件或者硬件與軟件相結合的方法實現對電機進行調整,采用PWM軟件方法來實現的調速過程具有更大的靈活性和更低的成本,它能夠充分發揮單片機的效能,對于簡易速度控制系統的實現提供了一種有效的途徑。曾經也試過用單片機直接產生PWM波形控制逆變電路開關器件的導通,但其最終效果并不理想,在使用了少量的硬件后,單片機的壓力大大減小,程序中有充足的時間進行閉環控制的測控和計算,使得軟件的運行更為合理可靠。顯示部分采用LCD1602這種液晶顯示器功耗低,顯示功能全,能完全滿足本設計的顯示要求,而且軟件程序編寫相對簡單;基本實現了對由直流無刷電機構成的血泵的多級精確調速。附錄A程序:#include<MSP430x14x.h>#include<BoardConfig.h>#defineucharunsignedchar#defineulongunsignedlongexternucharzs;/*定義轉速變量*/externuchartag=0x00;/*啟動標志位*/externulongzssd=3000;/*轉速設定*/ulongcount;/*脈沖計數*/ulongzkbg,zkbd;/*占空比高低*/#defineCLR_P26P2OUT&=~BIT6; #defineSET_P26P2OUT|=BIT6;#defineCLR_P27P2OUT&=~BIT7; #defineSET_P27P2OUT|=BIT7;#defineCLR_LCM_RSP3OUT&=~BIT5; #defineSET_LCM_RSP3OUT|=BIT5;#defineCLR_LCM_RWP3OUT&=~BIT6; #defineSET_LCM_RWP3OUT|=BIT6;#defineCLR_LCM_ENP3OUT&=~BIT7; #defineSET_LCM_ENP3OUT|=BIT7;#defineBUSY 0x80//常量定義#defineDATAPORT P4OUT#defineL 50ucharstr0[16],str1[16],count;uintspeed;unsignedlongtime; uchar*zy=p1;/*定義指針指向數組p1*/voidd_ms(ucharm) /*延時程序*/{uchari,j; for(i=0;i<m;m++)for(j=0;j<100;j++)/*延時100*m微秒*/ { ; }}/**********寫指令到LCD子函數************/voidWriteCommandLCM(ucharWCLCM,ucharBusyC){if(BusyC)lcd_wait(); DATAPORT=WCLCM;LCM_RS=0;LCM_RW=0; LCM_EN=1; _nop_(); _nop_(); _nop_();LCM_EN=0;}/**********寫數據到LCD子函數************/voidWriteDataLCM(ucharWDLCM){lcd_wait();//檢測忙信號 DATAPORT=WDLCM;LCM_RS=1;/*選中數據寄存器*/LCM_RW=0; //寫模式LCM_EN=1;_nop_(); _nop_(); _nop_();LCM_EN=0;}/***********lcd內部等待函數*************/voidlcd_wait(void){DATAPORT=0xff; //讀LCD前若單片機輸出低電平,而讀出LCD為高電平,則沖突. LCM_EN=1;LCM_RS=0;LCM_RW=1;_nop_();_nop_(); _nop_();while(DATAPORT&BUSY) {LCM_EN=0; _nop_(); _nop_(); LCM_EN=1; _nop_(); _nop_(); } LCM_EN=0;}/**********LCD初始化子函數***********/voidinitLCM(){ DATAPORT=0; ddelay(15); WriteCommandLCM(0x38,0);ddelay(5);WriteCommandLCM(0x38,0);ddelay(5);WriteCommandLCM(0x38,0);ddelay(5);WriteCommandLCM(0x38,1);WriteCommandLCM(0x08,1);WriteCommandLCM(0x01,1);WriteCommandLCM(0x06,1);WriteCommandLCM(0x0c,1);}/****顯示指定坐標的一個字符子函數****/voidDisplayOneChar(ucharX,ucharY,ucharDData){Y&=1;X&=15;if(Y)X|=0x40;X|=0x80;WriteCommandLCM(X,0);WriteDataLCM(DData);}/*******顯示指定坐標的一串字符子函數*****/voidDisplayListChar(ucharX,ucharY,uchar*DData){ucharListLength=0;Y&=0x01;X&=0x0f;while(X<16){DisplayOneChar(X,Y,DData[ListLength]);ListLength++;X++;}}voidSTR(){ str0[0]='S'; str0[1]='p'; str0[2]='e';str0[3]='e'; str0[4]='d'; str0[5]=''; str0[6]=(speed%100000)/10000+0x30; str0[7]=(speed%10000)/1000+0x30; str0[8]=(speed%1000)/100+0x30; str0[9]='.'; str0[10]=(speed%100)/10+0x30; str0[11]=speed%10+0x30; str0[12]='k'; str0[13]='m'; str0[14]='/'; str0[15]='h';}voidstart() {if(tag==0){P0OUT=0x00;P1OUT=0x00;tag=1;}elsetag=0;}voidup(){If(zssd<=4000) {zssd+=100;}}voidfanzhuan(){P26=0;P27=0;}voiddown(){if(zssd>=2000){ zssd-=100;}}voidkeyget() { ucharx;P2DIR=0xFF; P2OUT=0xC0; if((P2OUT&0xC0)==0) {P2DIR=0xFF; P2OUT=0x80; if((P2OUT&0x80)==0) { d_ms(1500); x=P2OUT; }P2DIR=0xFF; P2OUT=0x40; if((P2OUT&0x40)==0) { d_ms(1500); x=P2OUT; } } switch(x-0x21) { case0x7F:start();break; case0x6F:up();break; case0x67:fanzhuan();break; case0x2F:down();break;/ }}voiddisplay(uchar*z)/*顯示函數*/{STR(); DisplayListChar(0,0,str0); DisplayListChar(0,1,str1); uchara,b,c,d;/*轉速各位*/ a=zs/1000;/*轉速千位*/ b=zs%1000/100;/*轉速百位*/ c=zs%100/10;/*轉速十位*/ d=zs%10; /*轉速個位*/}voidcs(){zs=count/8*100;}voidpwm() /*pwm輸出函數*/{ulonga;a=zs/zssd;zkbd=a/(a+1);zkbg=1-zkbd;P26=1;/d_ms(1000*zkbg);P26=0;d_ms(1000*zkbd);}voidmain(void){WDTCTL=WDTPW+WDTHOLD;/*選擇系統主時鐘為8MHz*/BCSCTL1&=~XT2OFF;do{IFG1&=~OFIFG;for(i=0xFF;i>0;i--);}while((IFG1&OFIFG));BCSCTL2|=SELM_2+SELS;TACCTL0|=CCIE;/TACTL|=TASSEL_2+ID_3;CCTL0=CCIE;CCR0=50000;TACTL=TASSEL_2+MC_2;_BIS_SR(LPM0_bits+GIE); keyget(); if(tag!=0) { keyget();display(p1); pwm();}}//Time
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新解讀《CB-T 33-1999索具套環》新解讀
- 生物●海南卷丨2022年海南省普通高中學業水平選擇性考試高考生物真題試卷及答案
- Brand KPIs for health insurance:IKK in Germany-英文培訓課件2025.4
- 強化性間歇訓練對高中田徑專項隊800m跑運動員身體機能訓練效果的研究
- 重慶市2022-2023學年高二下學期期末聯合診斷檢測化學試題(含答案)
- 汽車傳感器與檢測技術電子教案:廢氣再循環系統電位計式EGR閥傳感器
- 基礎建成后續管理制度
- 財務信息管理人才培養方案
- 醫院質量病歷管理制度
- 培訓人員日常管理制度
- 自動化控制技術試題及答案
- 網吧轉讓合同協議書范本
- 2025-2030中國船用滑動軸承座行業市場現狀供需分析及投資評估規劃分析研究報告
- 人員結構分析總結模版
- 2025年下半年四川煙草商業系統招聘166人易考易錯模擬試題(共500題)試卷后附參考答案
- 反詐防騙安全教育主題班會
- 【機床輸出軸零件的加工工藝及夾具設計9500字(論文)】
- 電廠安規試題及答案
- 建筑節能材料試題及答案
- 《思想道德與法治》課件-做改革創新生力軍
- 公共財政概論試題及答案
評論
0/150
提交評論