1、簡介
常見的舵機分為360°和180°兩種,本次對180°舵機進行驅動,舵機驅動需要通過PWM信號進行驅動。本文通過定時器中的PWM信號設定使得SG90舵機進行不同角度的轉動。
2、PWM信號和舵機角度關系
對于舵機的驅動,需要20ms的脈沖,高電平時間在0.5ms-2.5ms區(qū)間即可控制舵機在0-180°角度進行轉動。常見角度對應關系如下所示:

3、Cubemax初始化配置如下:
3.1基礎配置
首先進行時鐘樹等基礎配置。
3.2 PWM配置
信號引腳選用PB1,對應定時器3通道4,如下圖所示:

接著在定時器對PWM進行配置,如下圖所示:

接著對PSC、arr參數(shù)進行設置,定時器計算過程點擊:STM32定時器定時計算。參數(shù)設置如下所示:

硬件接線:褐色接負極,紅色接正極,橘黃色接信號(PB1)。
接著生成代碼。
3、代碼實現(xiàn)過程如下:
3.1 在主函數(shù)中打開對應的定時器時鐘,代碼如下所示:
HAL_TIM_PWM_Start(&htim3, TIM_CHANNEL_4);//打開對應定時器通道
接著在循環(huán)中進行角度設置,代碼如下所示:
__HAL_TIM_SET_COMPARE(&htim3, TIM_CHANNEL_4, 5);//相當于一個周期內(20ms)有1ms高脈沖
HAL_Delay(500);
__HAL_TIM_SET_COMPARE(&htim3,TIM_CHANNEL_4,25); //相當于一個周期內(20ms)有2.5ms高脈沖
HAL_Delay(500);
當pwm==5時,轉動角度為0度
當pwm==10時,轉動角度為45度
當pwm==15時,轉動角度為90度
當pwm==20時,轉動角度為135度
當pwm==25時,轉動角度為180度
演示效果如下:
鏈接:百度網(wǎng)盤 請輸入提取碼
提取碼:0s0z文章來源:http://www.zghlxwxcb.cn/news/detail-445605.html
上文如有錯誤,懇請各位大佬指正。文章來源地址http://www.zghlxwxcb.cn/news/detail-445605.html
到了這里,關于STM32F103C8T6(HAL庫)驅動舵機的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!