STM32—PWM开发SG90舵机

目录

PWM介绍

PWM输出模式:

​编辑PWM占空比:

PWM周期与频率公式:​编辑

SG90舵机介绍

[1. 什么是舵机](#1. 什么是舵机)

[2. 怎么控制舵机](#2. 怎么控制舵机)

SG90舵机介绍实战

[1. 在 SYS 选项里,将 Debug 设为 Serial Wire​编辑](#1. 在 SYS 选项里,将 Debug 设为 Serial Wire编辑)

[2. 将 RCC 里的 HSE 设置为 Crystal/Ceramic Resonator​编辑](#2. 将 RCC 里的 HSE 设置为 Crystal/Ceramic Resonator编辑)

[3. 时钟配置](#3. 时钟配置)

4.配置定时器设置PWM,有效电平设置为High(低电平)

5.示例代码:


PWM介绍

STM32F103C8T6 PWM资源:

高级定时器(TIM1):7路

通用定时器(TIM2~TIM4):各4路

PWM输出模式:

  • PWM模式1:在向上计数时,一旦 CNT < CCRx 时输出为有效电平,否则为无效电平; 在向 下计数时,一旦 CNT > CCRx 时输出为无效电平,否则为有效电平。
  • PWM模式2:在向上计数时,一旦 CNT < CCRx 时输出为无效电平,否则为有效电平; 在向 下计数时,一旦 CNT > CCRx 时输出为有效电平,否则为无效电平。

PWM占空比:

是一个脉冲周期内,高电平的时间与整个周期时间的比例

由TIMx_CCRx寄存器决定,通常设置CNT < CCRx为有效电平中的高电平,则CRR/ARR决定占空比,例如CRR为100,ARR为500,则占空比为20%

PWM周期与频率公式:

假如:PSC = 71Hz,ARR = 499Hz,Tclk = 72M Hz,

则T为 72 x 500 / 72000000 = 0.5ms

频率为 1 / T = 2kHz

SG90舵机介绍

1. 什么是舵机

如下图所示,最便宜的舵机sg90,常用三根或者四根接线,黄色为PWM信号控制 用处:垃圾桶项目开盖用、智能小车的全比例转向、摄像头云台、机械臂等 常见的有0-90°、0-180°、0-360°

2. 怎么控制舵机

向黄色信号线"灌入"PWM信号

PWM波的频率不能太高,大约50HZ,即周期=1/频率=1/50=0.02s,20ms左右

确定周期/频率:

如果周期为20ms,则 PSC=7199,ARR=199

角度控制

0.5ms-------------0度; 2.5% 对应函数中CCRx为5

1.0ms------------45度; 5.0% 对应函数中CCRx为10

1.5ms------------90度; 7.5% 对应函数中CCRx为15

2.0ms-----------135度; 10.0% 对应函数中CCRx为20

2.5ms-----------180度; 12.5% 对应函数中CCRx为25

SG90舵机介绍实战

编程实现:

每隔1s,转动一个角度:0度 --> 45度 --> 90度 --> 135度 --> 180度 --> 0度

接线:

1. 在 SYS 选项里,将 Debug 设为 Serial Wire

2. 将 RCC 里的 HSE 设置为 Crystal/Ceramic Resonator

3. 时钟配置

4.配置定时器设置PWM,有效电平设置为High(低电平)

5.示例代码:

cpp 复制代码
  HAL_TIM_PWM_Start(&htim4,TIM_CHANNEL_3);

  while (1)
  {
		HAL_Delay(1000);
		__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, 5);
		HAL_Delay(1000);
		__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, 10);
		HAL_Delay(1000);
		__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, 15);
		HAL_Delay(1000);
		__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, 20);
		HAL_Delay(1000);
		__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, 25);
  }
相关推荐
iCxhust12 分钟前
8255 PORTC 按键输入测试
单片机·嵌入式硬件·微机原理
d111111111d4 小时前
在STM32函数指针是什么,怎么使用还有典型应用场景。
笔记·stm32·单片机·嵌入式硬件·学习·算法
♛识尔如昼♛5 小时前
计算机组成原理(21) 第五章 - 总线性能指标
单片机·嵌入式硬件
快乐的划水a5 小时前
windows用户态到内核态
stm32·单片机·嵌入式硬件
硬汉嵌入式5 小时前
将STM32H7的SPI MISO和MOSI短接回环测试配置问题也是非常方便的
stm32·miso·h7-tool·spi回环·mosi
Hy行者勇哥6 小时前
从零搭建小智 AI 音箱 MCP 开发环境:自定义智能家居控制技能实战指南
人工智能·嵌入式硬件·硬件工程·智能家居
richxu202510017 小时前
嵌入式学习之路>单片机核心原理篇>(11) 存储器(Flash & SRam)
单片机·嵌入式硬件·学习
@good_good_study8 小时前
STM32 TIM编码器模式配置函数及实验
stm32·单片机
云山工作室9 小时前
基于单片机的客车载客状况自动检测系统设计(论文+源码)
stm32·单片机·嵌入式硬件·毕业设计
Rorsion9 小时前
第二章(2.5):微控制器8051的硬件结构---时钟、复位和MCU工作方式
单片机·嵌入式硬件·备考ing