|
STM32驅動舵機實現功能:按下編碼器按鈕,角度增加45°,正轉編碼器,角度加一,反轉編碼器,角度減一。
out3.gif (7.84 MB, 下載次數: 40)
下載附件
2023-1-6 22:42 上傳
舵機介紹:如圖,這種藍色舵機有三根引線,紅色為+5v 棕色為GND 橙色為信號線
舵機.jpg (809.47 KB, 下載次數: 41)
下載附件
舵機
2023-1-6 22:17 上傳
這種舵機為模擬舵機,采用pwm信號驅動,根據不同的占空比,舵機可以輸出不同的角度,具體的對應關系如下圖所示:
舵機旋轉角度和脈沖寬度關系圖.png (37.44 KB, 下載次數: 42)
下載附件
舵機驅動信號
2023-1-6 22:15 上傳
主函數:
#include "stm32f10x.h" // Device header
#include "OLED.h"
#include "EncoderAndServo.h"
#include "Delay.h"
int main()
{
int32_t i ;
uint16_t Angle,KeyNum=0;
OLED_Init();
EncoderAndServo_Init();
OLED_DisplayString(1,1,"Angle:");
while(1)
{
i+=Return_Num();//獲取編碼器返回值
if(Return_KeyNum())//判斷編碼器按鍵是否按下
{
i+=50;
}
if(i>250)i=50;
if(i<50)i=50;
Angle=i;
TIM3_SetCompare((uint16_t)i);//將i傳遞給捕獲比較寄存器
OLED_DisplayNum(1,7,(uint16_t)((((float)Angle-50.0)/200.0)*180.0),3);//角度顯示
}
}
代碼部分:
- <blockquote>#include "stm32f10x.h" // Device header
復制代碼
|
-
-
28-編碼器控制舵機.7z
2023-1-6 22:45 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
214.69 KB, 下載次數: 39, 下載積分: 黑幣 -5
|