版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、STM32F103C8T6核心板 +L298N直流電機(jī)調(diào)速 PWM 調(diào)速(一)功能說明用 L298N 驅(qū)動(dòng)一臺(tái)直流減速電機(jī),引腳 IN1,IN2 可用于 PWM 控制。僅用 STM32 的兩個(gè)端口給出PWM信號(hào)控制IN1,IN2 即可實(shí)現(xiàn)正反轉(zhuǎn)、加減速等動(dòng)作。(二)硬件說明:控制板: STM32F03C8T6最小系統(tǒng);型號(hào):STM32F103C8T6內(nèi)核:ARM 32位的CortexTM-M3 CPU調(diào)試方式:SWD尺寸:直流電機(jī)驅(qū)動(dòng)板:L298N 是 SGS公司的產(chǎn)品,比較常見的是15 腳 MulTIwatt 封裝的 L298N,內(nèi)部同樣包含通道邏輯驅(qū)動(dòng)電路??梢苑奖愕尿?qū)動(dòng)兩個(gè)直流電機(jī),或一
2、個(gè)兩相步進(jìn)電機(jī)。(三)資源配置:STM32F03C8T6使用端口定義端口功能說明配置PA2連接 L298N 芯片的 IN1通用定時(shí)器的PWM 功能,TIM2_CH3PA3連接 L298N 芯片的 IN2PC13控制板帶的 LED指示燈,周期性的變化,每變化一次, 電機(jī)的轉(zhuǎn)運(yùn)方向變化一次。由 TIM3 中斷定時(shí)控制。通用定時(shí)器的PWM 功能,TIM2_CH4通用定時(shí)器TIM3 定時(shí)中斷L298N 端口定義IN1IN2ENA電機(jī)狀態(tài)PA20始終是 1順時(shí)針運(yùn)轉(zhuǎn),調(diào)整PA2 的頻率,可高速。0PA3始終是 1逆時(shí)針運(yùn)轉(zhuǎn),調(diào)整PA2 的頻率,可高速。00始終是 1停止(四)軟件實(shí)現(xiàn)1:通用定時(shí)器TIM
3、3 的中斷定時(shí)實(shí)現(xiàn)步驟 使能定時(shí)器時(shí)鐘。RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); 初始化定時(shí)器,配置【ARR自動(dòng)裝載值 ,PSC預(yù)分頻系數(shù)。 】TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); 開啟定時(shí)器中斷,配置NVIC。TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);NVIC_Init(&NVIC_InitStructure); 使能定時(shí)器。TIM_Cmd(TIM3, ENABLE);/ 實(shí)際是配置控制寄存器1(TIM3_CR1) 編寫中斷服務(wù)函數(shù)。
4、TIMx IRQHandler();2:通用定時(shí)器TIM2 的 Channel1、Channel2 的 PWM 實(shí)現(xiàn)步驟 使能定時(shí)器2 和相關(guān) IO 口時(shí)鐘。使能定時(shí)器2 時(shí)鐘: RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);使能 GPIOB 時(shí)鐘: RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); 初始化 IO 口為復(fù)用功能輸出。函數(shù):GPIO_Init();GPIO_Mode_AF_PP;初始化定時(shí)器: ARR,PSC等: TIM_TimeBaseInit(TIM2, &TI
5、M_TimeBaseStructure); 初始化輸出比較參數(shù):TIM_OC3Init(TIM2, &TIM_OCInitStructure);TIM_OC4Init(TIM2, &TIM_OCInitStructure); 使能預(yù)裝載寄存器:TIM_OC2PreloadConfig(TIM2, TIM_OCPreload_Enable); 使能定時(shí)器。TIM_Cmd(); 不斷改變比較值CCRx,達(dá)到不同的占空比效果:TIM_SetCompare3() ; TIM_SetCompare4() ;使用 Keil5 模擬軟件的Logic Analyzer 功能, PA2, PA3,PC13的波形
6、圖如下所示:(五)附錄:程序源碼1 #include 2 #include 3 #include 45 void GPIO_Config(void) / 配置 PA2, PA3GPIO_InitTypeDef GPIO_InitStructure;/* GPIOA clock enable */RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC,ENABLE); /*GPIOA Configuration: TIM3 channel 1 and 2 as alternate function push-pull
7、*/= GPIO_Pin_2 | GPIO_Pin_3;14= GPIO_Mode_AF_PP; /復(fù)用推挽輸出= GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);18= GPIO_Pin_13; /LED0-端口配置= GPIO_Mode_Out_PP; / 推挽輸出= GPIO_Speed_50MHz; /IO 口速度為 50MHzGPIO_Init(GPIOC, &GPIO_InitStructure);根據(jù)設(shè)定參數(shù)初始化int main(void)delay_init(); / 延時(shí)函數(shù)初始化27 NVIC_Priority
8、GroupConfig(NVIC_PriorityGroup_2);設(shè)置 NVIC 中斷分組 2:2 位搶占優(yōu)先級(jí), 2 位響應(yīng)優(yōu)先級(jí)2829/ 每隔 5s 的周期,變換電機(jī)的轉(zhuǎn)向。30/ 定時(shí)中斷,最小單位鐘頻率=72MHz/36KHz=2KHz31TIM3_Int_Init(9999,35999) ;3233GPIO_Config(); /LED,PWM 端口初始化 ,配置 PC13,PA2,PA334TIM2_PWM_Init(47999,2 ); /分頻。最小單位鐘頻率 =/(2+1)=24Mhz35while(1)381 #include 23 / 通用定時(shí)器3 中斷初始化4 / 這
9、里時(shí)鐘選擇為APB1的 2 倍,而 APB1為 36M5 /arr :自動(dòng)重裝值。6 /psc :時(shí)鐘預(yù)分頻數(shù)7 / 這里使用的是定時(shí)器3!89 #define PC13 PCout(13)/ PC131011 void TIM3_Int_Init(u16 arr,u16 psc)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;NVIC_InitTypeDef NVIC_InitStructure;15RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);時(shí)/鐘使能/ RCC_APB2PeriphCl
10、ockCmd(RCC_APB2Periph_AFIO ,ENABLE );/ GPIO_PinRemapConfig(GPIO_FullRemap_TIM3 ,ENABLE);1920= arr;設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值計(jì)數(shù)到 5000 為 500ms21= psc;/ 設(shè)置用來作為TIMx 時(shí)鐘頻率除數(shù)的預(yù)分頻值10Khz 的計(jì)數(shù)頻率22= TIM_CKD_DIV1;/ 設(shè)置時(shí)鐘分割 :TDTS = Tck_tim= TIM_CounterMode_Up; /TIM 向上計(jì)數(shù)模式TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStruct
11、ure);/ 根據(jù) TIM_TimeBaseInitStruct 中指定的參數(shù)初始化TIMx 的時(shí)間基數(shù)單位2526 TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE );使能指定的 TIM3 中斷 ,允許更新中斷27= TIM3_IRQn; /TIM3 中斷= 0;先占優(yōu)先級(jí) 0 級(jí)=3;/從優(yōu)先級(jí) 3級(jí)= ENABLE; /IRQ通道被使能NVIC_Init(&NVIC_InitStructure);/ 根據(jù) NVIC_InitStruct 中指定的參數(shù)初始化外設(shè)NVIC 寄存器3334 TIM_Cmd(TIM3, ENABLE); /使能 TIMx 外設(shè)/ 定
12、時(shí)器 3 中斷服務(wù)程序void TIM3_IRQHandler(void) /TIM3 中斷if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) / 檢查指定的 TIM 中斷發(fā)生與否 :TIM 中斷源TIM_ClearITPendingBit(TIM3, TIM_IT_Update );清除 TIMx 的中斷待處理位 :TIM 中斷源PC13=!PC13;if (PC13 =1)TIM_SetCompare3(TIM2,24000);TIM_SetCompare4(TIM2,0);C:STM32F103C8T6 核心板 +L298N_PWM 直流
13、電機(jī)調(diào)速 HARDWARETIMERelseTIM_SetCompare3(TIM2,0);TIM_SetCompare4(TIM2,24000);5657 /TIM2 PWM 部分初始化兩個(gè)PWM 波形,分別控制電機(jī)的正轉(zhuǎn)與反轉(zhuǎn)58 /PWM 輸出初始化59 /arr :自動(dòng)重裝值60 /psc :時(shí)鐘預(yù)分頻數(shù)61 void TIM2_PWM_Init(u16 arr,u16 psc)TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB1PeriphClockCm
14、d(RCC_APB1Periph_TIM2, ENABLE);使/能定時(shí)器 3 時(shí)鐘6869 / 初始化 TIM270= arr;設(shè)置在下一個(gè)更新事件裝入活動(dòng)的自動(dòng)重裝載寄存器周期的值71=psc;設(shè)置用來作為 TIMx 時(shí)鐘頻率除數(shù)的預(yù)分頻值72= 0; / 設(shè)置時(shí)鐘分割 :TDTS =Tck_tim= TIM_CounterMode_Up; /TIM 向上計(jì)數(shù)模式TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);/ 根據(jù) TIM_TimeBaseInitStruct 中指定的參數(shù)初始化TIMx 的時(shí)間基數(shù)單位7576 / 初始化 TIM2 Cha
15、nnel1 PWM 模式77= TIM_OCMode_PWM1;選擇定時(shí)器模式 :TIM 脈沖寬度調(diào)制模式 2 78 = TIM_OutputState_Enable;比較輸出使能= 13500 ;= TIM_OCPolarity_High;輸出極性 :TIM 輸出比較極性高81 TIM_OC3Init(TIM2, &TIM_OCInitStructure);/ 根據(jù) T 指定的參數(shù)初始化外設(shè)TIM2 OC482 TIM_OC3PreloadConfig(TIM2, TIM_OCPreload_Enable);使能 TIM2 在 CCR2上的預(yù)裝載寄存器8384 / 初始化 TIM2 Channel2 PWM 模式85= TIM_OCMode_PWM1;選擇定時(shí)器模式 :TIM 脈沖寬度調(diào)制模式 2 86 = TIM_OutputState_Enable;比較輸出使能= 0;= TIM_OCPolarity_High;輸出極性 :TIM 輸出比較極性高89 TIM_OC4Init(TIM2, &TI
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024版跨國(guó)軟件開發(fā)與許可合同
- 2024年華東師大版選擇性必修3物理下冊(cè)階段測(cè)試試卷
- 提升醫(yī)療體驗(yàn)創(chuàng)新口腔醫(yī)療器械的研發(fā)方向
- 合同協(xié)議2025年度文化場(chǎng)館返租合作管理協(xié)議3篇
- 業(yè)委會(huì)與物業(yè)公司合同范本
- 天津中德應(yīng)用技術(shù)大學(xué)《工程管理基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川文化藝術(shù)學(xué)院《電氣控制》2023-2024學(xué)年第一學(xué)期期末試卷
- 2024施工現(xiàn)場(chǎng)臨時(shí)用電安全管理及安全防護(hù)設(shè)施安裝協(xié)議3篇
- 專業(yè)工作模板業(yè)務(wù)合作四年計(jì)劃合同版B版
- 2024砂石場(chǎng)采購(gòu)員與環(huán)保公司之間的環(huán)保評(píng)估合同
- 大宗貿(mào)易居間協(xié)議2024年
- DL∕T 5499-2015 換流站二次系統(tǒng)設(shè)計(jì)技術(shù)規(guī)程
- 2024年安徽省高考政治試卷(真題+答案)
- 中外合作辦學(xué)規(guī)劃方案
- 增強(qiáng)現(xiàn)實(shí)技術(shù)在藝術(shù)教育中的應(yīng)用
- 教師法及與教師有關(guān)的法律法規(guī)培訓(xùn)
- 降溫池施工方案
- 混凝土預(yù)制塊護(hù)坡施工方案
- 2024年決戰(zhàn)行測(cè)5000題言語理解與表達(dá)一套
- 2024-2034年中國(guó)玻塑混合鏡頭行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告
- 在線網(wǎng)課知慧《內(nèi)經(jīng)選讀(浙中醫(yī)大)》單元測(cè)試考核答案
評(píng)論
0/150
提交評(píng)論