加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入

第六章-電機(jī)驅(qū)動(dòng)和PWM-STM32f103c8t6最小系統(tǒng)板_STM32項(xiàng)目_嵌入式學(xué)習(xí)

06/18 11:44
2972
服務(wù)支持:
技術(shù)交流群

完成交易后在“購(gòu)買成功”頁(yè)面掃碼入群,即可與技術(shù)大咖們分享疑惑和經(jīng)驗(yàn)、收獲成長(zhǎng)和認(rèn)同、領(lǐng)取優(yōu)惠和紅包等。

虛擬商品不可退

當(dāng)前內(nèi)容為數(shù)字版權(quán)作品,購(gòu)買后不支持退換且無(wú)法轉(zhuǎn)移使用。

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
放大
實(shí)物圖
相關(guān)方案
  • 方案介紹
    • 第六章-電機(jī)驅(qū)動(dòng)和PWM
  • 相關(guān)文件
  • 推薦器件
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

第六章-電機(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è)速部分

聯(lián)系:Q,1930299709

  • 聯(lián)系方式.txt

推薦器件

更多器件
器件型號(hào) 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊(cè) ECAD模型 風(fēng)險(xiǎn)等級(jí) 參考價(jià)格 更多信息
LAN8710AI-EZK-ABC 1 Microchip Technology Inc Ethernet Transceiver

ECAD模型

下載ECAD模型
$1.54 查看
DS2431P+ 1 Maxim Integrated Products EEPROM, 1KX1, Serial, CMOS, PDSO6, ROHS COMPLIANT, TSOC-6
$5.42 查看
HFBR-1528Z 1 Foxconn Transmitter, 635nm Min, 622nm Max, 10Mbps, Through Hole Mount, ROHS COMPLIANT PACKAGE
$19.34 查看

相關(guān)推薦

電子產(chǎn)業(yè)圖譜