![基于STM32的直流電機PWM調速控制_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/23dc6f8c-b029-4991-93f7-3db26480c992/23dc6f8c-b029-4991-93f7-3db26480c9921.gif)
![基于STM32的直流電機PWM調速控制_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/23dc6f8c-b029-4991-93f7-3db26480c992/23dc6f8c-b029-4991-93f7-3db26480c9922.gif)
![基于STM32的直流電機PWM調速控制_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/23dc6f8c-b029-4991-93f7-3db26480c992/23dc6f8c-b029-4991-93f7-3db26480c9923.gif)
![基于STM32的直流電機PWM調速控制_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/23dc6f8c-b029-4991-93f7-3db26480c992/23dc6f8c-b029-4991-93f7-3db26480c9924.gif)
![基于STM32的直流電機PWM調速控制_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/2/23dc6f8c-b029-4991-93f7-3db26480c992/23dc6f8c-b029-4991-93f7-3db26480c9925.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、式修理)火挈(嵌入式系統(tǒng)及接口技術課程大作業(yè))課程名稱:嵌入式系統(tǒng)及接口技術班級專業(yè):_姓名學號:指導老師:電動摩托車控制器中的電機PWM調速摘要:隨著“低碳”社會理念的深入,新型的電動摩托車發(fā)展迅速,逐漸成為人們主要的代步工具之一,由于直流無刷電機的種種優(yōu)點,在電動摩托車中也得到了廣泛應用,因此,本文控制部分主要介紹一種基于STM32F10*片的新型直流無刷電機調速控制系統(tǒng),這里主要通過PWMfc術來進行電機的調速控制,且運行穩(wěn)定,安全可靠,成本低,具有深遠的意義。1 .總體設計概述1.1 直流無刷電機及工作原理直流無刷電機(簡稱BLDCM,由于利用電子換向取代了傳統(tǒng)的機械電刷和換向器,使得
2、其電磁性能可靠,結構簡單,易于維護,既保持了直流電機的優(yōu)點又避免了直流電機因電刷而引起的缺陷,因此,被廣泛應用。另外,由于直流無刷電機專用控制芯片價格昂貴,本文介紹了一種基于STM32W新型直流無刷電機控制系統(tǒng),既可降低直流無刷電機的應用成本,又彌補了專用處理器功能單一的缺點,具有重要的現實意義和發(fā)展前景。工作原理:直流無刷電機是同步電機的一種,具轉子為永磁體,而定子則為三個按照星形連接方式連接起來的線圈,根據同步電機的原理,如果電子線圈產生一個旋轉的磁場,則永磁體的轉子也會隨著這個磁場轉動因此,驅動直流無刷電機的根本是產生旋轉的磁場,而這個旋轉的磁場可以通過調整A、B、C三相的電流來實現,其
3、需要的電流如圖1所示隨著我國經濟和文化事業(yè)的發(fā)展,在很多場合,都要求有直流電機PWMS速系統(tǒng)來進行調速,諸如汽車行業(yè)中的各種風扇、刮水器、噴水泵、熄火器、反視鏡、賓館中的自動門、自動門鎖、自動窗簾、自動給水系統(tǒng)、柔巾機、導彈、火炮、人造衛(wèi)星、宇宙飛船、艦艇、飛機、坦克、火箭、雷達、戰(zhàn)車等場合。1.2 總體設計方案總體設計方案的硬件部分詳細框圖如圖1所示ADC模塊圖1總體方案系統(tǒng)框圖該方案主要運行狀況如下:通過摩托車車把的轉動來改變其機械位置,然后這個變量通過ADC專換后,傳送其調速信號給STM32F103另外,霍爾傳感器將其對電機速度的檢測信號也傳送給STM32在STM32,首先根據ADC勺值
4、改變PW極形,并且與霍爾傳感器的檢測信號進行疊加,最終輸出疊加后的PWMfc形給功率驅動電路,從而驅動電機并對其進行速度的控制和調節(jié)。2 .系統(tǒng)硬件設計2.1 總體硬件框圖系統(tǒng)的硬件電路選用STM32F103J主控芯片,作為電機控制的核心,通過霍爾位置傳感器檢測位置信號,結合功率驅動電路以實現對電機的驅動。止匕外,還有電流檢測電路可根據電機的狀態(tài)以調整轉速和實現過流保護功能系統(tǒng)的硬件框圖如圖2所示:圖2系統(tǒng)硬件框圖直流無刷電機是將直流有刷電機的機械換向改進成電子換向而來的,要使其轉動,就必須通過電子換向的方法調整電流,按照轉子所在的位置產生轉動磁場,主控芯片控制H半橋驅動電路產生電機轉動的換向
5、電流,以產生轉動的磁場,驅動電路如圖3所示驅動電路的作用是將控制電路輸出的脈沖放大到足以驅動功率晶體管或MOSFETt,所以單從原理上講,驅動電路主要起開關功率放大作用,即脈沖放大器。但隨著開關工作頻率的提高,驅動電路的優(yōu)化設計顯得越來越重要。驅動電路的最佳驅動特性應具有:功率管開通時,驅動電路提供的基極電流應有快速的上升沿,并一開始有一定的過沖,以加速開通過程,并在集電極電流尖峰時開啟驅動基極,從而減小開通損耗;功率管導通期間,驅動電路提供的基極電流在任何負載情況下都能保證功率管處于飽和導通狀態(tài),使功率管的飽和壓降較低,以保證低的導通損耗;關斷瞬時,驅動電路應提供足夠的反向基極驅動,以迅速抽
6、出基區(qū)的剩余載流子,并加反偏截止電壓,使集電極電流迅速下降以減少下降時間。為了增加系統(tǒng)的抗干擾能力,STM32輸出的6路PWM&號首先必須經隔離再送到IR2136進行驅動,由于開關速度達到20KHz左右,故設計中選用高速光耦器件HCPL4504見圖3,其最高速度可達1Mbit/s,內部的噪聲抑制電路可提供高于15kVZus的共模抑制。IR2136是IR公司的一款功率MOSFETIGBT專用柵極驅動集成電路,獨有的I-IVIC(Highvoltageintegratedcircuit)技術使得它可用作驅動工作在母線電壓高達600V的電路中的功率MO端件。其內部采用自舉技術,使得功率驅動元
7、件驅動電路僅需輸入一個直流電源,使其實現對功率MOSFE和IGBT的最優(yōu)驅動,并且它還具有完善的保護功能包括欠壓保護和過流保護,以便保證系統(tǒng)安全穩(wěn)定的工作。故本文選用IR2136作為主功率部分的MOSFE驅動,如圖3所示:圖3中經IR2136驅動的6路PwMW號被直接送到由6個MOSFE管組成的主功率電路。如圖所示,該功率驅動采用三相全控電路,電動機的三相繞組為Y型聯結。MOSFE管選用IR公司的IRFZ48,該管導通電阻較低,當連續(xù)流過10A電流時,功耗才1.2w,根本不需要散熱片就可以穩(wěn)定工作。圖3功率驅動電路2.3直流無刷電機的調速直流無刷電機調速的原理就是在驅動電機轉動的基礎上,將驅動
8、電流由PWM信號來控制,改變PWMB號的脈沖寬度,即通過調節(jié)MOSFET斷的時間來調節(jié)提供給電機三相的電流大小,從而對電機進行調速控制。本方案中MOSFET的導通是通過STM32勺PWMW號來才5制的,STM32內部的普通的定時器TIM3和TIM4,每個可以產生四路PWMS:生器,這里用TIM3產生4路,TIM4產生兩路,共六路可編程的PWM1號,驅動H橋。直流無刷電機的電子換向是基于轉子的位置來控制的,本系統(tǒng)采用3個霍爾傳感器對直流無刷電機進行位置測量霍爾傳感器安裝在電機的內部,將轉子的位置轉換為三路數字信號直接輸出到STM32GPIO口在本設計中可方便地用于通過檢測霍爾位置傳感器的信號來實
9、現檢測轉子的位置,然后據此輸出相應的PWMJ號控制功率管的導通或關斷,從而實現電流的換向,在電機內部產生一個轉動的磁場,進而驅動電機旋轉。另外,車把轉動的時候會通過一個DA轉換,然后得到調速的標志flag的值,從而根據這個flag值來改變PWMO勺占空比,從而進行電機的調速。直流無刷電機旋轉時三個霍爾傳感器的信號值和輸出的PWM1號之間的對應關系如圖4所小圖4相位與PWM信號的對應關系霍爾傳感器的位置反饋信號在可以確定轉子位置的同時,也可用來測量電機的轉速電機每轉動一周,每個霍爾傳感器即會產生兩次換向,三個霍爾傳感器共會有6次換相,這六次換相之間的時間差即為電機運轉一周所需的時間,繼而可計算出
10、電機的轉速根據計算出的電機轉速,調整PWM1號的脈沖寬度,從而達到調速的目的3 .系統(tǒng)軟件設計本系統(tǒng)編程部分工作在keil4開發(fā)環(huán)境下完成,采用模塊化的設計方法,與各子程序作為實現各部分功能和過程的入口,完成PW做寬調速的控制。STM32F10贅源分配如下表:表1芯片的資源分配GPIOD4霍爾傳感器輸出端GPIOA6利用定時器TIM3,TIM4產生的六路PWM輸出GPIOA7GPIOD5GPIOB0GPIOB1GPIOD6GPIOB6GPIOB71.PWMF生程序:本設計中采用STM32F103勺定時器TIM3,TIM4兩個定時器來產生PW極形,程序函數如下:#include"tim
11、er.h"通用定時器中斷初始化這里時鐘選擇為APB1的2倍,而APB1為36Marr:自動重裝值。psc:時鐘預分頻數這里使用的是定時器3voidTimerx_Init(u16arr,u16psc)一RCC->APB1ENR|=1<<1;/TIM3時鐘使能TIM3->ARR=arr;設定計數器自動重裝值剛好1msTIM3->PSC=psc;預分頻器7200,得到10Khz的計數時鐘這兩個東東要同時設置才可以使用中斷TIM3->DIER|=1<<0;允許更新中斷TIM3->DIER|=1<<6;允許觸發(fā)中斷TIM3-&g
12、t;CR1|=0x01;使能定時器3MY_NVIC_Init(1,3,TIM3_IRQChannel,2);/搶占1,子優(yōu)先級3,組2voidPWM1_1_Init(u16arr1,u16psc1)一一此部分需手動修改IO口設置RCC->APB1ENR|=1<<1;/TIM3時鐘使能GPIOA->CRL&=0XF0FFFFFF;/PA6輸出GPIOA->CRL|=0X0B000000;/復用功能輸出GPIOA->ODR|=1<<6;/PA6上拉TIM3->ARR=arr1;/設定計數器自動重裝值TIM3->PSC=psc1;/
13、預分頻器不分頻TIM3->CCMR1|=7<<4;/CH1PWM2模式TIM3->CCMR1|=1<<3;/CH1預裝載使能TIM3->CCER|=1<<0;/OC1輸出使能TIM3->CR1=0x8000;/ARPE使能TIM3->CR1|=0x01;使能定時器3voidPWM1_2_Init(u16arr2,u16psc2)此部分需手動修改IO口設置RCC->APB1ENR|=1<<1;/TIM3時鐘使能GPIOA->CRL&=0X0FFFFFFF;/PA7輸出GPIOA->CRL|=0
14、XB0000000;復用功能輸出GPIOA->ODR|=1<<7;PA7上拉TIM3->ARR=arr2;/設定計數器自動重裝值TIM3->PSC=psc2;/預分頻器不分頻TIM3->CCMR1|=7<<12;/CH2PWM2模式TIM3->CCMR1|=1<<11;/CH2預裝載使能TIM3->CCER|=1<<4;/OC2輸出使能TIM3->CR1=0x8000;/ARPE使能TIM3->CR1|=0x01;使能定時器3voidPWM1_3_Init(u16arr3,u16psc3)此部分需手
15、動修改IO口設置RCC->APB1ENR|=1<<1;/TIM3時鐘使能GPIOB->CRL&=0XFFFFFFF0;PB0輸出GPIOB->CRL|=0X0000000B;/復用功能輸出GPIOB->ODR|=1<<0;/PB0上拉TIM3->ARR=arr3;/設定計數器自動重裝值TIM3->PSC=psc3;/預分頻器不分頻TIM3->CCMR2|=7<<4;/CH3PWM2模式TIM3->CCMR2|=1<<3;/CH3預裝載使能TIM3->CCER|=1<<8;/
16、OC3輸出使能TIM3->CR1=0x8000;/ARPE使能TIM3->CR1|=0x01;使能定時器3voidPWM1_4_Init(u16arr4,u16psc4)一一/此部分需手動修改IO口設置RCC->APB1ENR|=1<<1;/TIM3時鐘使能GPIOB->CRL&=0XFFFFFF0F;/PB1輸出GPIOB->CRL|=0X000000B0;/復用功能輸出GPIOB->ODR|=1<<1;PB1上拉TIM3->ARR=arr4;/設定計數器自動重裝值TIM3->PSC=psc4;/預分頻器不分頻T
17、IM3->CCMR2|=7<<12;/CH4PWM2模式TIM3->CCMR2|=1<<11;/CH4預裝載使能TIM3->CCER|=1<<12;/OC4輸出使能TIM3->CR1=0x8000;/ARPE使能TIM3->CR1|=0x01;使能定時器3voidPWM2_1_Init(u16arr5,u16psc5)/此部分需手動修改IO口設置RCC->APB1ENR|=1<<2;/TIM4時鐘使能GPIOB->CRL&=0XF0FFFFFF;/PB6輸出GPIOB->CRL|=0X0B0
18、00000;/復用功能輸出GPIOB->ODR|=1<<6;/PB6上拉TIM4->ARR=arr5;/設定計數器自動重裝值TIM4->PSC=psc5;/預分頻器不分頻TIM4->CCMR1|=7<<4;/CH1PWM2模式TIM4->CCMR1|=1<<3;/CH1預裝載使能TIM4->CCER|=1<<0;/OC1輸出使能TIM4->CR1=0x8000;/ARPE使能TIM4->CR1|=0x01;使能定時器4voidPWM2_2_Init(u16arr6,u16psc6)此部分需手動修改I
19、O口設置RCC->APB1ENR|=1<<2;/TIM4時鐘使能GPIOB->CRL&=0X0FFFFFFF;/PB7輸出GPIOB->CRL|=0XB0000000;復用功能輸出GPIOB->ODR|=1<<7;/PB7上拉TIM4->ARR=arr6;設定計數器自動重裝值TIM4->PSC=psc6;/預分頻器不分頻TIM4->CCMR1|=7<<12;/CH2PWM2模式TIM4->CCMR1|=1<<11;/CH2預裝載使能TIM4->CCER|=1<<4;/OC2
20、輸出使能TIM4->CR1=0x8000;/ARPE使能TIM4->CR1|=0x01;使能定時器42、霍爾傳感器部分的程序#include"huoer.h"voidhuoer_Init(void)一RCC->APB2ENR|=1<<5;使能PORTD時鐘GPIOD->CRL&=0XF000FFFF;/PD4,5,5設置成輸入GPIOD->CRL|=0X08880000;GPIOD->ODR|=1<<4;/PD4上拉GPIOD->ODR|=1<<5;/PD5上拉GPIOD->ODR|
21、=1<<6;/PD6上拉3、延時程序#include<stm32f10x_lib.h>#include"delay.h"staticu8fac_us=0;/us延時倍乘數staticu16fac_ms=0;/ms延時倍乘數初始化延遲函數/SYSTICK的時鐘固定為HCLK時鐘的1/8/SYSCLK:系統(tǒng)時鐘voiddelay_init(u8SYSCLK)SysTick->CTRL&=0xfffffffb;/bit2清空,選擇外部時鐘HCLK/8fac_us=SYSCLK/8;fac_ms=(u16)fac_us*1000;一一/延時nm
22、s/SysTick->LOAD為24位寄存器,所以,最大延時為:/nms<=0xffffff*8*1000/SYSCLK/對72M條件下,nms<=1864voiddelay_ms(u16nms)一u32temp;SysTick->LOAD=(u32)nms*fac_ms;/時間加載(SysTick->LOAD為24bit)SysTick->VAL=0x00;清空計數器SysTick->CTRL=0x01;開始倒數dotemp=SysTick->CTRL;while(temp&0x01&&!(temp&(1<
23、<16);等待時間到達SysTick->CTRL=0x00;關閉計數器SysTick->VAL=0X00;清空計數器延時nus/nus為要延時的us數.voiddelay_us(u32nus)一u32temp;SysTick->LOAD=nus*fac_us;/時間加載SysTick->VAL=0x00;/清空計數器SysTick->CTRL=0x01;開始倒數dotemp=SysTick->CTRL;while(temp&0x01&&!(temp&(1<<16);等待時間到達SysTick->CTRL
24、=0x00;關閉計數器SysTick->VAL=0X00;清空計數器4、主程序#include<stm32f10x_lib.h>#include"sys.h"#include"delay.h"#include"timer.h"#include"huoer.h"intmain(void)u8flag;/DA轉換過來的調速標志Stm32_Clock_Init(9);/系統(tǒng)時鐘設置delay_init(72);延時初始化PWM1_1_Init(900,0);/不分頻。PWM頻率=72000/900=8K
25、hzPWM1_2_Init(900,0);PWM1_3_Init(900,0);PWM1_4_Init(900,0);PWM2_1_Init(900,0);PWM2_2_Init(900,0);while(1)switch(flag)case0:PWM1_VAL=900;PWM2_VAL=900;PWM3_VAL=900;PWM4_VAL=900;PWM5_VAL=900;PWM6_VAL=900;break;case 1: if(huoer1=1)&&(huoer3=0)elseif(huoer1=0)&&(huoer2=1)elseif(huoer2=0)&
26、amp;&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1)&&(huoer2=0)elseif(huoer2=1)&&(huoer3=0)elsebreak;case 2: if(huoer1=1)&&(huoer3=0)elseif(huoer1=0)&&(huoer2=1)elseif(huoer2=0)&&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1
27、)&&(huoer2=0)elseif(huoer2=1)&&(huoer3=0)elsebreak;case 3: if(huoer1=1)&&(huoer3=0)elseif(huoer1=0)&&(huoer2=1)elseif(huoer2=0)&&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1)&&(huoer2=0)elseif(huoer2=1)&&(huoer3=0)elsebreak;PWM
28、1_V AL=300;PWM1_VAL=900;PWM2_V AL=300;PWM2_V AL=900;PWM3_V AL=300;PWM3_V AL=900;PWM4_V AL=300;PWM4_V AL=900;PWM5_V AL=300;PWM5_V AL=900;PWM6_V AL=300;PWM6_V AL=900;PWM1_V AL=350;PWM1_V AL=900;PWM2_V AL=350;PWM2_V AL=900;PWM3_V AL=350;PWM3_VAL=900;PWM4_V AL=350;PWM4_V AL=900;PWM5_V AL=350;PWM5_V AL=9
29、00;PWM6_V AL=350;PWM6_V AL=900;PWM1_V AL=400;PWM1_V AL=900;PWM2_V AL=400;PWM2_V AL=900;PWM3_V AL=400;PWM3_V AL=900;PWM4_V AL=400;PWM4_V AL=900;PWM5_V AL=400;PWM5_V AL=900;PWM6_V AL=400;PWM6_V AL=900;case 4: if(huoer1=1)&&(huoer3=0)PWM1_VAL=450;elseif(huoer1=0)&&(huoer2=1)elseif(huoer
30、2=0)&&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1)&&(huoer2=0)elseif(huoer2=1)&&(huoer3=0)elsebreak;case 5: if(huoer1=1)&&(huoer3=0)elseif(huoer1=0)&&(huoer2=1)elsePWM1_V AL=900;PWM2_V AL=450;PWM2_V AL=900;PWM3_V AL=450;PWM3_V AL=900;PWM4_V A
31、L=450;PWM4_V AL=900;PWM5_V AL=450;PWM5_V AL=900;PWM6_V AL=450;PWM6_V AL=900;PWM1_V AL=500;PWM1_V AL=900;PWM2_V AL=500;PWM2_V AL=900;PWM3_V AL=500;if(huoer2=0)&&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1)&&(huoer2=0)elseif(huoer2=1)&&(huoer3=0)elsebreak;case
32、 6: if(huoer1=1)&&(huoer3=0)elseif(huoer1=0)&&(huoer2=1)elseif(huoer2=0)&&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1)&&(huoer2=0)elseif(huoer2=1)&&(huoer3=0)elsebreak;case 7: if(huoer1=1)&&(huoer3=0)elseif(huoer1=0)&&(huoer2=1)elseif(huoer2=0)&&(huoer3=1)elseif(huoer1=0)&&(huoer3=1)elseif(huoer1=1)&&(huoer2=0)elseif(huoer2=1)&&(huoer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論