精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

第六章-電機驅動和PWM STM32項目

dfhjgfg ? 來源:dfhjgfg ? 作者:dfhjgfg ? 2024-08-21 16:46 ? 次閱讀

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

這是全網最詳細、性價比最高的STM32實戰項目入門教程,通過合理的硬件設計和詳細的視頻筆記介紹,硬件使用STM32F103主控資料多方便學習,通過3萬字筆記、12多個小時視頻、20多章節代碼手把手教會你如何開發和調試。讓你更快掌握嵌入式系統開發。

V3.3.0-STM32智能小車

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

V3:HAL庫開發、功能:PID速度控制、PID循跡、PID跟隨、遙控、避障、PID角度控制、視覺控制、電磁循跡、RTOS等功能。

第六章-電機驅動和PWM

6.1-認識電機驅動

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

項目使用電機驅動芯片為A4950、下面是電機驅動的相關介紹
在這里插入圖片描述
我們按照這種使用方法
在這里插入圖片描述
這我們使用一個圖介紹

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

6.2-使用電機驅動(獨立工程)

分析和編寫代碼

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

PB13-GPIO輸出-AIN1

PA8-TIM1_CH1 定時器PWM輸出-PWMB 前面已經完成

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

開始添加控制電機正反轉與速度的代碼,進行仿真和電機測試,示波器測量

添加AIN1、BIN1控制代碼

在這里插入圖片描述

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

仿真測試代碼

使用軟件仿真

檢測是否軟件仿真設置正確
在這里插入圖片描述
開啟仿真-添加PB13和PB3到邏輯分析儀
在這里插入圖片描述
全速仿真運行
在這里插入圖片描述

實物測試代碼

如何讓電機90%電壓轉速 旋轉

燒錄代碼

6.3-編寫電機轉速開環控制函數(另外復制工程)

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

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

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

/*******************
*  @brief  設置兩個電機轉速和方向
*  @param  motor1:電機B設置參數、motor2:設置參數
*  @param  motor1: 輸入1~100 對應控制B電機正方向速度在1%-100%、輸入-1~-100 對應控制B電機反方向速度在1%-100%、motor2同理
*  @return  無
*
*******************/
void Motor_Set (int motor1,int motor2)
{
//根據參數正負 設置選擇方向
if(motor1 < 0) BIN1_SET;
   else      BIN1_RESET;
if(motor2 < 0) AIN1_SET;
else      AIN1_RESET;

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

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

然后我們連接電機主函數進行測試

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

本章結束兄弟們
下章繼續-編碼器測速部分

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5028

    瀏覽量

    211745
  • STM32
    +關注

    關注

    2253

    文章

    10779

    瀏覽量

    351657
  • 電機驅動
    +關注

    關注

    60

    文章

    1151

    瀏覽量

    86180
收藏 人收藏

    評論

    相關推薦

    數據采集光盤實例第一第六章

    數據采集光盤實例第一第六章
    發表于 06-28 21:02

    數據采集光盤實例第六章至第十二

    數據采集光盤實例第六章至第十二
    發表于 06-28 21:17

    【ALIENTEK 戰艦STM32開發板】STM32開發指南--第六章 跑馬燈實驗

    第六章 跑馬燈實驗STM32最簡單的外設莫過于IO口的高低電平控制了,本章將通過一個經典的跑馬燈程序,帶大家開啟STM32之旅,通過本章的學習,你將了解到STM32的IO口作為輸出使用
    發表于 01-10 15:50

    求王慶利《單片機設計標準教程》第六章的一個函數!!

    在做一個設計,急需《單片機設計標準教程》里第六章 的I2C總線函數 #include“IIClib.h” 誰有幫忙拍張圖片傳一下
    發表于 05-05 21:20

    《測控電路》習題完整參考答案(第六章

    《測控電路》習題完整參考答案(第六章
    發表于 05-07 11:36

    脈沖波形發生器與整形電路 第六章

    脈沖波形發生器與整形電路 第六章 555定時器及其應用集成和其它單穩態觸發器集成施密特觸發器其它多諧振蕩器電路脈沖產生與整形電路的應用
    發表于 04-22 14:05 ?42次下載

    三相電路(第六章)

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

    高頻電子線路第六章答案

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

    PCB布線設計經驗談附原理圖(第六章)

    PCB布線設計經驗談附原理圖(第六章)   對于12位傳感系統的布線,應用的電路是一負載單元電路,該電路可精確測量傳感器上施加的
    發表于 10-28 09:30 ?973次閱讀
    PCB布線設計經驗談附原理圖(<b class='flag-5'>第六章</b>)

    《測控電路》習題完整參考答案(第六章

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

    數字信號處理 第六章

    數字信號處理 第六章
    發表于 10-19 09:34 ?4次下載
    數字信號處理 <b class='flag-5'>第六章</b>

    靜噪基礎第六章_EMI靜噪濾波器

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

    STM8S BLDC電機第六章工程的stm8選項字節配置

    STM8S BLDC電機第六章工程的stm8選項字節配置
    發表于 03-05 15:07 ?8次下載

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

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

    計算機網絡第六章應用層資源下載

    計算機網絡第六章應用層資源下載
    發表于 05-17 10:25 ?0次下載