![基于STM的直流電機(jī)ID調(diào)速系統(tǒng)設(shè)計(jì)定稿版_第1頁](http://file4.renrendoc.com/view/1292f2774d3cd32b9d297ca5dbb86691/1292f2774d3cd32b9d297ca5dbb866911.gif)
![基于STM的直流電機(jī)ID調(diào)速系統(tǒng)設(shè)計(jì)定稿版_第2頁](http://file4.renrendoc.com/view/1292f2774d3cd32b9d297ca5dbb86691/1292f2774d3cd32b9d297ca5dbb866912.gif)
![基于STM的直流電機(jī)ID調(diào)速系統(tǒng)設(shè)計(jì)定稿版_第3頁](http://file4.renrendoc.com/view/1292f2774d3cd32b9d297ca5dbb86691/1292f2774d3cd32b9d297ca5dbb866913.gif)
![基于STM的直流電機(jī)ID調(diào)速系統(tǒng)設(shè)計(jì)定稿版_第4頁](http://file4.renrendoc.com/view/1292f2774d3cd32b9d297ca5dbb86691/1292f2774d3cd32b9d297ca5dbb866914.gif)
![基于STM的直流電機(jī)ID調(diào)速系統(tǒng)設(shè)計(jì)定稿版_第5頁](http://file4.renrendoc.com/view/1292f2774d3cd32b9d297ca5dbb86691/1292f2774d3cd32b9d297ca5dbb866915.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
基于STM的直流電機(jī)ID調(diào)速系統(tǒng)設(shè)計(jì)《電氣控制技術(shù)》研究生課程設(shè)計(jì)報(bào)告學(xué)院機(jī)械與汽車工程學(xué)院專業(yè)班級車輛工程學(xué)生姓名李躍軒指導(dǎo)教師康敏 2 3 3 4 5 6 6 7 7 7 8 8 8 9 8 最廣泛應(yīng)用的控制方式,也是人們研究的熱點(diǎn)。由于當(dāng)今科學(xué)技術(shù)的發(fā)展已經(jīng)沒有了學(xué)科之間的界限,結(jié)合現(xiàn)代控制理論思想或?qū)崿F(xiàn)無諧振軟開關(guān)技術(shù)將會成為根據(jù)系統(tǒng)設(shè)計(jì)的任務(wù)和要求,設(shè)計(jì)系統(tǒng)方框圖如圖1所系統(tǒng)的核心部件,鍵盤和顯示器用來實(shí)現(xiàn)人機(jī)交互功能,其中通過鍵盤將速度參數(shù)輸入到單片機(jī)中,并且通過控制器顯示到顯示器上。在運(yùn)行過程中控制器產(chǎn)生空比,實(shí)現(xiàn)電機(jī)轉(zhuǎn)速實(shí)時(shí)控制的目的。 顯示模塊顯示模塊電機(jī)驅(qū)動模塊碼盤控制器模塊按鍵模塊直流電機(jī)PWM脈沖3.1整體電路設(shè)計(jì) 體現(xiàn)的信號,加以采集、分析、處理,最終實(shí)現(xiàn)控制器所要實(shí)現(xiàn)的各項(xiàng)功能,達(dá)到塊L298N直流電機(jī)碼盤測速STM32F103ZET6TFT顯示屏按鍵模塊3.2最小單片機(jī)系統(tǒng)設(shè)計(jì)8 3.3電機(jī)驅(qū)動電路設(shè)計(jì)驅(qū)動模塊是控制器與執(zhí)行器之間的橋梁,在本系統(tǒng)中單片機(jī)的I/O口不能直接驅(qū)動電機(jī),只有引入電機(jī)驅(qū)動模塊才能保證電機(jī)按照控制要求運(yùn)行,在這里選用8 +5V+5V20μFA147D323+12VA2D48L298N6520μF1+12VVccU55K5KD293.4光電碼盤編碼器電路設(shè)計(jì)在本系統(tǒng)中由于要將電機(jī)本次采樣的速度與上次采樣的速度進(jìn)行比較,通過偏8 N個低電平。這樣就可根據(jù)低電平的數(shù)量來計(jì)算電機(jī)此時(shí)轉(zhuǎn)速了。例如當(dāng)電機(jī)以一470Ω200ΩP3.3發(fā)光二極管圓盤光敏三極管3.5顯示電路設(shè)計(jì)根據(jù)設(shè)計(jì)要求要對電機(jī)的轉(zhuǎn)速進(jìn)行讀取,因此在電路中加入顯示模塊是很有必要的。在系統(tǒng)運(yùn)行過程中需要顯示的數(shù)據(jù)比較多,而且需要漢字顯示,在這里選用8 3.6按鍵電路設(shè)計(jì)根據(jù)設(shè)計(jì)需求,本系統(tǒng)中使用了3個獨(dú)立按鍵用以實(shí)現(xiàn)對電機(jī)轉(zhuǎn)速的設(shè)定以及4.系統(tǒng)軟件設(shè)計(jì),對偏差進(jìn)行P、I、D運(yùn)算最終利用運(yùn)算結(jié)果控制PWM脈沖的占空比來實(shí)現(xiàn)對加在電機(jī)兩端電壓的調(diào)節(jié),進(jìn)而控制電機(jī)轉(zhuǎn)速。其運(yùn)算公式為:1 r(t)c(t)IKPTITITDTD調(diào)節(jié)器立即產(chǎn)生控制作用以減少偏差;4.2電機(jī)速度采集算法本系統(tǒng)中電機(jī)速度采集是一個非常重要的部分,它的精度直接影響到整個控制的精度。在設(shè)計(jì)中采用了光電傳感器做為測速裝置,其計(jì)算公式為: nNtv=60r/minNt式中,速度v的誤差主要是由圓盤邊緣上的凹槽數(shù)的多少決定的,為了減少系5.1軟件調(diào)試路的控制、以及單片機(jī)控制直流電機(jī)的轉(zhuǎn)動方向等問題,雖然問題不是很大,但是也讓我研究了好長時(shí)間,在解決這些問題的時(shí)候,我不斷向老師和同學(xué)請教,希望能通過大家一塊的努力把軟件編寫的更完整,讓系統(tǒng)的功能更完備。經(jīng)過多天的努結(jié)這次軟件調(diào)試,讓我認(rèn)識到了做軟件調(diào)試的基本方法與流程:8 5.2系統(tǒng)測試與分析為了確定系統(tǒng)與設(shè)計(jì)要求的符合程度,需要進(jìn)行系統(tǒng)測試與分析,下面以PIDKIKIKDKP,讓擾動信號作階躍變化,觀察控制過程,直到獲KPKI,同樣讓擾動KIKIKP,觀察控制過程有無改善,如有KPKPKIKDTDTD,此時(shí)可適當(dāng)增大比例系KKKD關(guān)的知識,每一個設(shè)計(jì)細(xì)節(jié)都要仔細(xì)的考慮,每一個環(huán)節(jié)都要查閱相關(guān)的資料,爭8 取做到完美。在這個系統(tǒng)中以前學(xué)的很多東西現(xiàn)在都用上了,數(shù)碼管的移位顯示等等都是在以前學(xué)習(xí)的基礎(chǔ)上慢慢調(diào)試出來的,所以在寫這篇論文的時(shí)候又讓我對以前的知識進(jìn)行了一次回顧,對知識又有了新的認(rèn)識!真是受益匪淺!#include"stm32f10x.h"#include"delay.h" #include<DCMotor_PWM.h>#include<PID_Controller.h>floatWishSpeedMax=360;floatWishSpeedMin=0;floatWishSpeed;externfloatU_Out[2];u8WishSpeedChar[11];u8RealSpeedChar[11];{SystemInit();delay_init(72);NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);EXTI_Config();PID_ParameterReckon();Tim3_Init();DCMotor_Init();DCMotor_Out(U_Out[0]);WishSpeed=200;POINT_COLOR=BLUE;BACK_COLOR=WHITE;LCD_Init();LCD_Clear(WHITE);LCD_ShowString(30,50,"WishedSpeed",POINT_COLOR);WishSpeedLCDShow();LCD_ShowString(30,90,"RealSpeed",POINT_COLOR);while(1){Add_PID_Control();}}PID_Controller.c#include<PID_Controller.h>#include<DCMotor_PWM.h>externfloatWishSpeed;externfloatRealSpeed;floatU_OutMAX=1000;//????±è100%floatU_OutMIN=0; Error[3];U_Out[2];U_Add;voidPID_ParameterReckon(void){Ki=0.00105;U_Out[0]=0.0;Error[2]=0.0;Error[1]=0.0;Error[0]=0.0;}voidAdd_PID_Control(void){Error[2]=WishSpeed-RealSpeed;if((Error[2]>(-0.05*WishSpeed))&&((Error[2]<(0.05*WishSpeed)))){Error[2]=0;}U_Add=Kp*(Error[2]-Error[1])+Ki*Error[2]+Kd*(Error[2]-2*Error[1]+Error[0]);U_Out[1]=U_Add+U_Out[0];U_Out[1]=U_OutMAX;U_Out[1]=U_OutMIN;DCMotor_Out(((int16_t)(U_Out[1])));U_Out[0]=U_Out[1];Error[0]=Error[1];Error[1]=Error[2];}Dcmotor_PWM.c#include<DCMotor_PWM.h> externfloatU_Out[2];staticvoidTim2_Init(void){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_OCInitTypeDefTIM_OCInitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);TIM_TimeBaseStructure.TIM_Period=1000-1;TIM_TimeBaseStructure.TIM_Prescaler=4-1;TIM_TimeBaseStructure.TIM_ClockDivision=0;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM2,&TIM_TimeBaseStructure);TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM1;TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;TIM_OCInitStructure.TIM_Pulse=0;TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;TIM_OC4Init(TIM2,&TIM_OCInitStructure);TIM_OC4PreloadConfig(TIM2,TIM_OCPreload_Enable);TIM_ARRPreloadConfig(TIM2,ENABLE);TIM_Cmd(TIM2,ENABLE);}staticvoidTim5_Init(void){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;TIM_ICInitTypeDefTIM_ICInitStructure;GPIO_InitTypeDefGPIO_InitStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPD; GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_Init(GPIOA,&GPIO_InitStructure);GPIO_ResetBits(GPIOA,GPIO_Pin_0);TIM_TimeBaseStructure.TIM_Period=65536-1;TIM_TimeBaseStructure.TIM_Prescaler=72-1;TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM5,&TIM_TimeBaseStructure);TIM_ICInitStructure.TIM_Channel=TIM_Channel_2;TIM_ICInitStructure.TIM_ICPolarity=TIM_ICPolarity_Rising;TIM_ICInitStructure.TIM_ICSelection=TIM_ICSelection_DirectTI;TIM_ICInitStructure.TIM_ICPrescaler=TIM_ICPSC_DIV1;TIM_ICInitStructure.TIM_ICFilter=0;TIM_ICInit(TIM5,&TIM_ICInitStructure);NVIC_InitStructure.NVIC_IRQChannel=TIM5_IRQn;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;NVIC_InitStructure.NVIC_IRQChannelSubPriority=0;NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE;NVIC_Init(&NVIC_InitStructure);TIM_ITConfig(TIM5,TIM_IT_CC2,ENABLE);TIM_Cmd(TIM5,ENABLE);}voidTim3_Init(void){TIM_TimeBaseInitTypeDefTIM_TimeBaseStructure;NVIC_InitTypeDefNVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);TIM_TimeBaseStructure.TIM_Period=10000-1;TIM_TimeBaseStructure.TIM_Prescaler=72-1;TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up;TIM_TimeBaseInit(TIM3,&TIM_TimeBaseStructure);NVIC_InitStru
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年制動帶項(xiàng)目可行性研究報(bào)告
- 別墅房屋轉(zhuǎn)讓合同范本
- 產(chǎn)品訂購合同范本模板
- 凈化工程合同范本
- 企業(yè)食堂經(jīng)營合同范本
- 如何推動專家型校長的成長
- 農(nóng)村屋瓦收購合同范本
- 買汽車有合同范本
- 使用權(quán)銷售合同范例
- 2025年度智能農(nóng)業(yè)管理系統(tǒng)開發(fā)與應(yīng)用合同
- 單個軍人隊(duì)列動作教學(xué)法教案全(新條令)
- 《德育與班級管理》課程大綱
- 人教版八年級下冊英語全冊教案完整版教學(xué)設(shè)計(jì)含教學(xué)反思
- 邊坡腳手架搭設(shè)施工方案
- 網(wǎng)絡(luò)性能測試與分析課程教學(xué)大綱
- 國貨當(dāng)自強(qiáng)精品課件
- 比多少(課件)人教版一年級上冊數(shù)學(xué)
- 2021年懷化市會同縣人民醫(yī)院醫(yī)護(hù)人員招聘筆試試題及答案解析
- 《中華人民共和國職業(yè)分類大典》電子版
- 即興口語(姜燕)-課件-即興口語第二章PPT-中國傳媒大學(xué)
- “克勤克儉、厲行節(jié)約”PPT課件:如何過“緊日子”
評論
0/150
提交評論