STM32基础知识:PWM控制舵机

pwm控制舵机1 舵机简介伺服电机通常被称为舵机,它是一种带有输出轴的小装置。当我们向伺服器发送一个控制信号时,输出轴就可以转到特定的位置。只要控制信号持续不变,伺服机构就会保持轴的角度位置不改变。如果控制信号发生变化,输出轴的位置也会相应发生变化。日常生活中,舵机常被用于遥控飞机、遥控汽车、机器人等领域。
舵机在机器人领域非常有用。因为舵机有内置的控制电路,它们的尺寸虽然很小,但输出力够大。像futaba s-148这样的标准舵机能提供 0.3牛/米的扭矩,相对于它的外形大小来说这已经足够强大了。同时,舵机消耗的能量与机械负荷成正比。因此,一个轻载的舵机系统不会消耗太多的能量。
2 舵机结构舵机主要由以下几个部分组成:外壳、舵盘、直流电机、减速齿轮组、角度传感器、控制驱动电路和接口线缆等。常见的舵机内部结构如下图所示。
舵机的输入有三根线,一般的中间的红色线为电源正极,咖啡色线的为电源负极,黄色色线为控制线号线。
3 舵机控制
控制线用于传输角度控制信号。这个角度是由控制信号脉冲的持续时间决定的,这叫做脉冲编码调制(pcm)。舵机的控制一般需要一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围,总间隔为2ms。脉冲的宽度将决定马达转动的距离。
例如:1.5毫秒的脉冲,电机将转向90度的位置(通常称为中立位置,对于180°舵机来说,就是90°位置)。如果脉冲宽度小于1.5毫秒,那么电机轴向朝向0度方向。如果脉冲宽度大于1.5毫秒,轴向就朝向180度方向。以180度舵机为例,对应的控制关系是这样的:
0.5ms0度
1.0ms 45度
1.5ms 90度
2.0ms 135度
2.5ms 180度
4 任务实践通过按键控制舵机角度,当key1按下后, 减少占空比,当key2按下后,增加占空比,并在串口输出此时的角度。
pwm参数计算
pwm信号周期period=20ms,采用stm32内部8mhz的时钟,计算可得(arr+1)*(psc+1)=160000,故可取arr=199,psc=799。舵机为0度时,高电平持续时间为0.5ms,即占空比duty=0.025,则ccr初始值可以设为5.pwm参数计算在stm32基础:定时器的pwm输出功能中有详细讲解。
在cubemx中配置pwm(采用定时器3通道1)、串口以及按键1和按键2对应gpio为中断模式并使能.
在cubemx中配置串口,在keil中使用“use microlib”并在代码中重定向printf函数的方法在stm32基础:定时器的定时计数功能有详细讲解。
在cubemx中配置gpio中断并使能的方法已经按键的相关操作在stm32基础:中断系统中有详细讲解。
编写代码/* user code begin pd */#define ccr_max 25 // ccr最大值/* user code end pd *//* user code begin pv */uint16_t ccr = 5; // ccr初始值uint16_t step = 5; // ccr步进值/* user code end pv *//* user code begin 4 */void hal_gpio_exti_callback(uint16_t gpio_pin){ if(gpio_pin == key1_pin) { (ccr >= ccr_max) ? (ccr = 5) : (ccr += step); __hal_tim_setcompare(&htim3, tim_channel_1, ccr); printf(sigle = %d, (ccr/5 - 1)*45); hal_delay(200); } else if (gpio_pin == key2_pin) { (ccr <= 5) ? (ccr = ccr_max) : (ccr -= step); __hal_tim_setcompare(&htim3, tim_channel_1, ccr); printf(sigle = %d, (ccr/5 - 1)*45); hal_delay(200); }}/* user code end 4 */

华为辟谣退出美国市场裁撤全部据点的消息
MEMS扬声器即将到来_或取代音圈扬声器?
解决不重复序列全排列问题的两个方法
脑机接口,帮人开口 人工智能再立新功
微软Xbox Series X配置公开,具有12 Teraflops的计算性能
STM32基础知识:PWM控制舵机
Windows 10 ARM手机备用电池问题解决
内嵌核心板出现电磁兼容性问题的有效解决方案
不锈钢角座阀的注意事项都有哪些
乐视网8030万元债务本息违约
整理了几种电动机控制原理图
关注MVB通信内容以及稳定性为何十分必要
DS1218非易失控制器芯片
区块链的商业价值及通证体系介绍
关于电子停车辅助系统主要结构分析
常见硬件设计的EDA工具
Win10占比激增成常态,用户突破10亿指日可待
夏普92亿日元取得NEC Display 66%的股权
红外传感器能让你控制虚拟世界中所发生的一切!
单个晶体管也可以实现放大,那为什么还要创造运放呢?