版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
直流無刷電機(jī)實(shí)驗(yàn)報(bào)告硬件電路原理簡(jiǎn)述總體硬件電路圖圖1.1-1總體硬件電路原理圖單片機(jī)通過霍爾傳感器獲得轉(zhuǎn)子的位置,并以此為依據(jù)控制PWM波的通斷?;魻栐y(cè)量值與PWM波通斷的關(guān)系圖1.2-1 霍爾元件測(cè)量值與PWM波通斷的關(guān)系軟件架構(gòu)1、Components與變量定義圖2.1-1Components列表PWMMC是用來產(chǎn)生控制電機(jī)的PWM波的。添加PWMMC時(shí)會(huì)同時(shí)加入一個(gè)eFlexPWM。PWM_Out對(duì)應(yīng)的是GPIOB2口,這個(gè)口電位為高時(shí),電壓才會(huì)被加到電機(jī)上。GPIOB3控制著一個(gè)繼電器,用于防止啟動(dòng)時(shí)過大的沖擊電流。程序開始后不久就應(yīng)把B3置高。Halla、Hallb、Hallc對(duì)應(yīng)于3個(gè)霍爾傳感器。依次為GPIOC3、C4、C6。TimerInt是用于測(cè)速的。根據(jù)2次霍爾元件的中斷間的時(shí)間間隔來計(jì)算轉(zhuǎn)速。電機(jī)旋轉(zhuǎn)控制代碼for(;;){Hall_Sensor=0b00000000;Halla=Halla_GetVal();Hallb=Hallb_GetVal();Hallc=Hallc_GetVal();if(Halla)Hall_Sensor|=0b00000100;if(Hallb)Hall_Sensor|=0b00000010;if(Hallc)Hall_Sensor|=0b00000001;switch(Hall_Sensor){ case0b0000011: PESL(eFPWM1_DEVICE,PWM_OUTPUT_A,PWM_SM1_ENABLE); PESL(eFPWM1_DEVICE,PWM_OUTPUT_B,PWM_SM2_ENABLE); break; case0b0000001: PESL(eFPWM1_DEVICE,PWM_OUTPUT_A,PWM_SM1_ENABLE); PESL(eFPWM1_DEVICE,PWM_OUTPUT_B,PWM_SM0_ENABLE); break; case0b0000101: PESL(eFPWM1_DEVICE,PWM_OUTPUT_A,PWM_SM2_ENABLE); PESL(eFPWM1_DEVICE,PWM_OUTPUT_B,PWM_SM0_ENABLE); break; case0b0000100: PESL(eFPWM1_DEVICE,PWM_OUTPUT_A,PWM_SM2_ENABLE); PESL(eFPWM1_DEVICE,PWM_OUTPUT_B,PWM_SM1_ENABLE); break; case0b0000110: PESL(eFPWM1_DEVICE,PWM_OUTPUT_A,PWM_SM0_ENABLE); PESL(eFPWM1_DEVICE,PWM_OUTPUT_B,PWM_SM1_ENABLE); break; case0b0000010: PESL(eFPWM1_DEVICE,PWM_OUTPUT_A,PWM_SM0_ENABLE); PESL(eFPWM1_DEVICE,PWM_OUTPUT_B,PWM_SM2_ENABLE); break;}for(i=0;i<6;i++)PWMC1_SetDutyPercent(i,50);PWMC1_Load();}這段代碼是main函數(shù)中的for循環(huán)。不斷地獲取霍爾傳感器中的值并依此控制PWM波的通斷。獲取到的霍爾傳感器的值存入Hall_Sensor變量的后3位中。測(cè)速及調(diào)速代碼以下為HallC的中斷響應(yīng)函數(shù)。floatRPS_C;doubleIntTimesC;#pragmainterruptcalled/*Commentthislineiftheappropriate'Interruptpreserveregisters'property*//*issetto'yes'(#pragmainterruptsaveallisgeneratedbeforetheISR)*/voidHallc_OnInterrupt(void){/*placeyourHallcinterruptprocedurebodyhere*/staticboolbFirstInt=1;if(bFirstInt){ bFirstInt=0; IntTimesC=0;}else{RPS_C=1/(IntTimesC*0.0001)/2;IntTimesC=0;if(RPS_C>50)DutyPercent-=1;elseDutyPercent+=1; }}計(jì)時(shí)器每100微秒進(jìn)入一次中斷,每次計(jì)時(shí)器中斷,IntTimesC都會(huì)加一。因此在HallC的中斷響應(yīng)函數(shù)能根據(jù)IntTimesC計(jì)算轉(zhuǎn)速。RPS_C為根據(jù)2次Hallc中斷間的間隔計(jì)算出的每秒轉(zhuǎn)速。電機(jī)每轉(zhuǎn)一圈,Hallc的中斷會(huì)進(jìn)入2次。Halla和Hallb的中斷響應(yīng)函數(shù)中也有類似的代碼。下面這段代碼實(shí)現(xiàn)了積分調(diào)節(jié),能使轉(zhuǎn)速穩(wěn)定在每秒50轉(zhuǎn)。if(RPS_C>50)DutyPercent-=1;elseDutyPercent+=1;在main函數(shù)的for循環(huán)中,每次循環(huán)都會(huì)根據(jù)DutyPercent設(shè)置PWM波的占空比。PWMMC模塊的設(shè)置(1)添加一個(gè)PWMM模塊后,軟件會(huì)彈出一個(gè)對(duì)話框,提示要添加一個(gè)eFlexPWM,點(diǎn)OK就行。圖2.4-1添加PWMMC(2)在PWMMC的設(shè)置里,設(shè)置好頻率,死區(qū)。頻率是PWM的頻率,可以設(shè)高點(diǎn)。由于老師給我們的板子上已經(jīng)有死區(qū)了,軟件的死區(qū)時(shí)間其實(shí)沒有必要。然后,把FaultProtection里的fault全設(shè)為Disabled。這個(gè)好像是某種類型的保護(hù)機(jī)制,不Disabled的話可能會(huì)影響PWM波的輸出,基于同樣的理由,在下文中,帶有Fault字樣的選項(xiàng),全設(shè)為Disabled或no。在Methods項(xiàng)卡中,把SetDutyPercent選上。圖2.4-2PWMMC設(shè)置(3)在eFlexPWM的設(shè)置里,把所有帶有紅色感嘆號(hào)的項(xiàng)設(shè)為Disabled。然后展開PWMFaluts。把fault全設(shè)為Disabled。把ChannelA和ChannelB的PWMFunction里的ChannelOutput設(shè)為Enable。注意ChannelA和ChannelB各有3個(gè)。把Mode設(shè)為Independent,共有3處要設(shè)。把DisablebyFault設(shè)為no,共24處要設(shè)置。圖2.4-3eFlexPWM設(shè)置開發(fā)過程中遇到的各種問題及解決方法程序改變了,debug時(shí)發(fā)現(xiàn)運(yùn)行結(jié)果沒有任何變化。改變程序之后,要先點(diǎn)一下Make按鈕,構(gòu)建一遍之后再debug,否則debug的時(shí)候下載進(jìn)去的還是上次構(gòu)建的程序。發(fā)不出PWM波。把PWMMC和eFlexPWM的設(shè)置里,把帶有Fault字樣的選項(xiàng),全設(shè)為Disabled或no。FaultProtection似乎是某種形式的保護(hù)機(jī)制,沒設(shè)置好的話會(huì)影響PWM波的輸出。還要把ChannelA和ChannelB的PWMFunction里的ChannelOutput設(shè)為Enable。注意ChannelA和ChannelB各有3個(gè)。找不到某些函數(shù)。在設(shè)置組件的對(duì)話框的底部有3個(gè)按鈕,建議選擇EXPERT。其他2個(gè)會(huì)隱藏部分函數(shù)和設(shè)置。能發(fā)出PWM波,但是電機(jī)不動(dòng)。把GPIOB2、B3置1。GPIOB2口電位為高時(shí),電壓才會(huì)被加到電機(jī)上。GPIOB3控制著一個(gè)繼電器,用于防止啟動(dòng)時(shí)過大的沖擊電流。程序開始后不久就應(yīng)把B3置高。OverI燈一直亮著,電機(jī)不動(dòng)這個(gè)問題困擾了我們很久,經(jīng)檢查,輸入電壓沒有過壓,沒有短路。后來,在老師的幫助下發(fā)現(xiàn)似乎是板子里的程序干擾了電機(jī)驅(qū)動(dòng)板對(duì)過流的判斷。進(jìn)一步檢查發(fā)現(xiàn)把控制LED燈的GPIOE6、E7、F6刪除后,問題消失。事后推測(cè),上述3個(gè)GPIO口中應(yīng)該有一個(gè)和OverI相連,可以從這個(gè)口讀取過流狀態(tài)。但是如果把這個(gè)口作為輸出口,就會(huì)影響電機(jī)驅(qū)動(dòng)板對(duì)過流的判斷。PI調(diào)節(jié)的參數(shù)確定在做出積分調(diào)節(jié)之后,由于我們急于做步進(jìn)電機(jī),就把電機(jī)換了。但是積分調(diào)節(jié)是有缺陷的,就是反應(yīng)慢。所以還需要比例調(diào)節(jié)來補(bǔ)足。但是,PI的參數(shù)很難確定,只能憑經(jīng)驗(yàn)或者一個(gè)個(gè)試。下面是我在網(wǎng)上找到的一個(gè)方法,也許有幫助。確定比例系數(shù)Kp時(shí),首先去掉PID的積分項(xiàng)和微分項(xiàng),可以令Ti=0、Td=0,使之成為純比例調(diào)節(jié)。輸入設(shè)定為系統(tǒng)允
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 不銹鋼采購合同范本
- 浙江省臺(tái)州市初中畢業(yè)生學(xué)業(yè)考試適應(yīng)性語文試卷四套【附參考答案】
- 4-1《喜看稻菽千重浪-記首屆國家最高科技獎(jiǎng)獲得者袁隆平》(說課稿)高一語文同步高效課堂(統(tǒng)編版 必修上冊(cè))
- 三方資產(chǎn)轉(zhuǎn)讓協(xié)議樣式(2024年版)版B版
- 2024年離婚協(xié)議債務(wù)逃避處罰條款及執(zhí)行細(xì)則3篇
- 2024年版采購執(zhí)行代理協(xié)議模板文件版B版
- 11變廢為寶有妙招《減少垃圾 變廢為寶》(說課稿)-部編版道德與法治四年級(jí)上冊(cè)
- 3《學(xué)會(huì)反思》(說課稿)-2023-2024學(xué)年統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 2024年股權(quán)激勵(lì)授予協(xié)議版B版
- 福建省南平市松溪縣第二中學(xué)高一數(shù)學(xué)理下學(xué)期期末試卷含解析
- 2025年湖北武漢工程大學(xué)招聘6人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年北京房山區(qū)初三(上)期末英語試卷
- 泰山產(chǎn)業(yè)領(lǐng)軍人才申報(bào)書
- 封條模板A4直接打印版
- 教練技術(shù)CP理論P(yáng)PT課件
- 機(jī)械工程學(xué)報(bào)標(biāo)準(zhǔn)格式
- 東南大學(xué)文科揭榜掛帥重大平臺(tái)績(jī)效考核表
- 鉑銠合金漏板.
- 可編輯模板企業(yè)簡(jiǎn)約報(bào)刊報(bào)紙排版設(shè)計(jì)模板
- 熱工基礎(chǔ)與應(yīng)用課件(水蒸氣的熱力性質(zhì)和熱力過程)
- 水運(yùn)工程質(zhì)量檢驗(yàn)標(biāo)準(zhǔn)(JTS_257-2008)附表格
評(píng)論
0/150
提交評(píng)論