0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

第六章-電機(jī)驅(qū)動(dòng)和PWM STM32項(xiàng)目

dfhjgfg ? 來(lái)源:dfhjgfg ? 作者:dfhjgfg ? 2024-08-21 16:46 ? 次閱讀

[]()功能介紹放開(kāi)頭, 使用便捷無(wú)需愁。

這是全網(wǎng)最詳細(xì)、性價(jià)比最高的STM32實(shí)戰(zhàn)項(xiàng)目入門教程,通過(guò)合理的硬件設(shè)計(jì)和詳細(xì)的視頻筆記介紹,硬件使用STM32F103主控資料多方便學(xué)習(xí),通過(guò)3萬(wàn)字筆記、12多個(gè)小時(shí)視頻、20多章節(jié)代碼手把手教會(huì)你如何開(kāi)發(fā)和調(diào)試。讓你更快掌握嵌入式系統(tǒng)開(kāi)發(fā)。

V3.3.0-STM32智能小車

視頻:
https://www.bilibili.com/video/BV16x4y1M7EN/?spm_id_from=333.337.search-card.all.click

V3:HAL庫(kù)開(kāi)發(fā)、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺(jué)控制、電磁循跡、RTOS等功能。

第六章-電機(jī)驅(qū)動(dòng)和PWM

6.1-認(rèn)識(shí)電機(jī)驅(qū)動(dòng)

示波器、硬件仿真、軟件仿真

項(xiàng)目使用電機(jī)驅(qū)動(dòng)芯片為A4950、下面是電機(jī)驅(qū)動(dòng)的相關(guān)介紹
在這里插入圖片描述
我們按照這種使用方法
在這里插入圖片描述
這我們使用一個(gè)圖介紹

在這里插入圖片描述
在這里插入圖片描述

6.2-使用電機(jī)驅(qū)動(dòng)(獨(dú)立工程)

分析和編寫代碼

綜合電機(jī)使用方法、C8T6單片機(jī)硬件資源、小車原理圖我們要進(jìn)行如下配置
PA11-TIM1_CH4 定時(shí)器PWM輸出-PWMA 前面已經(jīng)完成

PB13-GPIO輸出-AIN1

PA8-TIM1_CH1 定時(shí)器PWM輸出-PWMB 前面已經(jīng)完成

PB3-GPIO輸出-BIN1
在這里插入圖片描述還有兩個(gè)管腳沒(méi)有初始化**
**在這里插入圖片描述
生成代碼

開(kāi)始添加控制電機(jī)正反轉(zhuǎn)與速度的代碼,進(jìn)行仿真和電機(jī)測(cè)試,示波器測(cè)量

添加AIN1、BIN1控制代碼

在這里插入圖片描述

HAL_GPIO_WritePin(AIN1_GPIO_Port,AIN1_Pin,GPIO_PIN_RESET);//設(shè)置AIN1 PB13為 低電平
HAL_GPIO_WritePin(BIN1_GPIO_Port,BIN1_Pin,GPIO_PIN_SET);  //設(shè)置BIN1 PB3為高電平
HAL_Delay(1000);
//兩次會(huì)使得電機(jī)反向。
HAL_GPIO_WritePin(AIN1_GPIO_Port,AIN1_Pin,GPIO_PIN_SET);//設(shè)置AIN1 PB13為 高電平
HAL_GPIO_WritePin(BIN1_GPIO_Port,BIN1_Pin,GPIO_PIN_RESET);  //設(shè)置BIN1 PB3為低電平

仿真測(cè)試代碼

使用軟件仿真

檢測(cè)是否軟件仿真設(shè)置正確
在這里插入圖片描述
開(kāi)啟仿真-添加PB13和PB3到邏輯分析儀
在這里插入圖片描述
全速仿真運(yùn)行
在這里插入圖片描述

實(shí)物測(cè)試代碼

如何讓電機(jī)90%電壓轉(zhuǎn)速 旋轉(zhuǎn)

燒錄代碼

6.3-編寫電機(jī)轉(zhuǎn)速開(kāi)環(huán)控制函數(shù)(另外復(fù)制工程)

新建motor文件
在這里插入圖片描述
包含文件并添加編譯
在這里插入圖片描述
為了方便移植和使用,我們GPIO電平控制寫成宏
在這里插入圖片描述

#define AIN1_RESET  HAL_GPIO_WritePin(AIN1_GPIO_Port,AIN1_Pin,GPIO_PIN_RESET)//設(shè)置AIN1 PB13為 低電平
#define AIN1_SET    HAL_GPIO_WritePin(AIN1_GPIO_Port,AIN1_Pin,GPIO_PIN_SET)//設(shè)置AIN1 PB13為 高電平
?
#define BIN1_RESET HAL_GPIO_WritePin(BIN1_GPIO_Port,BIN1_Pin,GPIO_PIN_RESET)  //設(shè)置BIN1 PB3為低電平
#define BIN1_SET    HAL_GPIO_WritePin(BIN1_GPIO_Port,BIN1_Pin,GPIO_PIN_SET)//設(shè)置AIN1 PB13為 高電平
?

下面我們編寫小車電機(jī)方向和速度控制

/*******************
*  @brief  設(shè)置兩個(gè)電機(jī)轉(zhuǎn)速和方向
*  @param  motor1:電機(jī)B設(shè)置參數(shù)、motor2:設(shè)置參數(shù)
*  @param  motor1: 輸入1~100 對(duì)應(yīng)控制B電機(jī)正方向速度在1%-100%、輸入-1~-100 對(duì)應(yīng)控制B電機(jī)反方向速度在1%-100%、motor2同理
*  @return  無(wú)
*
*******************/
void Motor_Set (int motor1,int motor2)
{
//根據(jù)參數(shù)正負(fù) 設(shè)置選擇方向
if(motor1 < 0) BIN1_SET;
   else      BIN1_RESET;
if(motor2 < 0) AIN1_SET;
else      AIN1_RESET;

//motor1 設(shè)置電機(jī)B的轉(zhuǎn)速
if(motor1 < 0)
{
if(motor1 < -99) motor1 = -99;//超過(guò)PWM幅值
//負(fù)的時(shí)候絕對(duì)值越小  PWM占空比越大
//現(xiàn)在的motor1      -1   -99
//給寄存器或者函數(shù)  99  1 
 __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, (100+motor1));//修改定時(shí)器1 通道1 PA8 Pulse改變占空比
}
else{
if(motor1 > 99) motor1 = 99;
//現(xiàn)在是   0 1  99
//我們賦值 0 1 99
 __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_1, motor1);//修改定時(shí)器1 通道1 PA8 Pulse改變占空比
}

//motor2 設(shè)置電機(jī)A的轉(zhuǎn)速
if(motor2 < 0)
{
if(motor2 < -99) motor2 = -99;//超過(guò)PWM幅值
//負(fù)的時(shí)候絕對(duì)值越小  PWM占空比越大
//現(xiàn)在的motor2      -1   -99
//給寄存器或者函數(shù)   99  1 
__HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_4, (100+motor2));//修改定時(shí)器1 通道4 PA11 Pulse改變占空比
}
else{
if(motor2 > 99) motor2 = 99;
//現(xiàn)在是   0 1 99
//我們賦值 0 1 99
 __HAL_TIM_SET_COMPARE(&htim1, TIM_CHANNEL_4, motor2);//修改定時(shí)器1 通道4 PA11 Pulse改變占空比
?
}
?
}

然后我們連接電機(jī)主函數(shù)進(jìn)行測(cè)試

HAL_Delay(500);
Motor_Set(0,0);

本章結(jié)束兄弟們
下章繼續(xù)-編碼器測(cè)速部分

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • PWM
    PWM
    +關(guān)注

    關(guān)注

    116

    文章

    5417

    瀏覽量

    218327
  • STM32
    +關(guān)注

    關(guān)注

    2290

    文章

    11018

    瀏覽量

    362775
  • 電機(jī)驅(qū)動(dòng)

    關(guān)注

    60

    文章

    1298

    瀏覽量

    87593
收藏 1人收藏
  • jf_645829601

評(píng)論

相關(guān)推薦
熱點(diǎn)推薦

數(shù)據(jù)采集光盤實(shí)例第一第六章

數(shù)據(jù)采集光盤實(shí)例第一第六章
發(fā)表于 06-28 21:02

數(shù)據(jù)采集光盤實(shí)例第六章至第十二

數(shù)據(jù)采集光盤實(shí)例第六章至第十二
發(fā)表于 06-28 21:17

【ALIENTEK 戰(zhàn)艦STM32開(kāi)發(fā)板】STM32開(kāi)發(fā)指南--第六章 跑馬燈實(shí)驗(yàn)

第六章 跑馬燈實(shí)驗(yàn)STM32最簡(jiǎn)單的外設(shè)莫過(guò)于IO口的高低電平控制了,本章將通過(guò)一個(gè)經(jīng)典的跑馬燈程序,帶大家開(kāi)啟STM32之旅,通過(guò)本章的學(xué)習(xí),你將了解到STM32的IO口作為輸出使用
發(fā)表于 01-10 15:50

求王慶利《單片機(jī)設(shè)計(jì)標(biāo)準(zhǔn)教程》第六章的一個(gè)函數(shù)?。?/a>

在做一個(gè)設(shè)計(jì),急需《單片機(jī)設(shè)計(jì)標(biāo)準(zhǔn)教程》里第六章 的I2C總線函數(shù) #include“IIClib.h” 誰(shuí)有幫忙拍張圖片傳一下
發(fā)表于 05-05 21:20

《測(cè)控電路》習(xí)題完整參考答案(第六章

《測(cè)控電路》習(xí)題完整參考答案(第六章
發(fā)表于 05-07 11:36

脈沖波形發(fā)生器與整形電路 第六章

脈沖波形發(fā)生器與整形電路 第六章 555定時(shí)器及其應(yīng)用集成和其它單穩(wěn)態(tài)觸發(fā)器集成施密特觸發(fā)器其它多諧振蕩器電路脈沖產(chǎn)生與整形電路的應(yīng)用
發(fā)表于 04-22 14:05 ?42次下載

三相電路(第六章)

三相電路(第六章) 一、 三相電源及其連接若三個(gè)電壓源的電壓uA,uB,uC的最大值相等,頻率相同,相位互差120°,則此三個(gè)電壓源的組合稱為對(duì)稱
發(fā)表于 05-23 15:17 ?38次下載

高頻電子線路第六章答案

高頻電子線路第六章答案.
發(fā)表于 06-05 10:41 ?41次下載

PCB布線設(shè)計(jì)經(jīng)驗(yàn)談附原理圖(第六章)

PCB布線設(shè)計(jì)經(jīng)驗(yàn)談附原理圖(第六章)   對(duì)于12位傳感系統(tǒng)的布線,應(yīng)用的電路是一負(fù)載單元電路,該電路可精確測(cè)量傳感器上施加的
發(fā)表于 10-28 09:30 ?1121次閱讀
PCB布線設(shè)計(jì)經(jīng)驗(yàn)談附原理圖(<b class='flag-5'>第六章</b>)

《測(cè)控電路》習(xí)題完整參考答案(第六章

《測(cè)控電路》習(xí)題完整參考答案(第六章
發(fā)表于 02-07 15:17 ?0次下載

數(shù)字信號(hào)處理 第六章

數(shù)字信號(hào)處理 第六章
發(fā)表于 10-19 09:34 ?4次下載
數(shù)字信號(hào)處理 <b class='flag-5'>第六章</b>

靜噪基礎(chǔ)第六章_EMI靜噪濾波器

靜噪基礎(chǔ)第六章,EMI靜噪濾波器
發(fā)表于 01-24 16:25 ?4次下載

STM8S BLDC電機(jī)第六章工程的stm8選項(xiàng)字節(jié)配置

STM8S BLDC電機(jī)第六章工程的stm8選項(xiàng)字節(jié)配置
發(fā)表于 03-05 15:07 ?8次下載

電力系統(tǒng)繼電保護(hù)第六章-變壓器保護(hù)(課件)下載.ppt

繼電保護(hù)第六章-變壓器保護(hù)(課件)
發(fā)表于 04-28 09:45 ?0次下載
電力系統(tǒng)繼電保護(hù)<b class='flag-5'>第六章</b>-變壓器保護(hù)(課件)下載.ppt

計(jì)算機(jī)網(wǎng)絡(luò)第六章應(yīng)用層資源下載

計(jì)算機(jī)網(wǎng)絡(luò)第六章應(yīng)用層資源下載
發(fā)表于 05-17 10:25 ?0次下載

電子發(fā)燒友

中國(guó)電子工程師最喜歡的網(wǎng)站

  • 2931785位工程師會(huì)員交流學(xué)習(xí)
  • 獲取您個(gè)性化的科技前沿技術(shù)信息
  • 參加活動(dòng)獲取豐厚的禮品