完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
13个回答
|
|
PWM占空比
占空比是数字信号相对于信号周期处于“活动”状态的时间量。占空比通常以百分比形式给出。 例如,具有相等的高时间和低时间的完美方波的占空比为50%。这是以一般方式显示占空比的图。 占空比概念的表示 |
|
|
|
占空比微控制器计时器计算
根据上面的示例,我们如何计算占空比? 如果高电平有效,则占空比为 (宽度÷周期)✕100 =(3÷10)✕100 = 30% 如果我们将信号定义为低电平有效,则占空比为70%。 PWM定时器概述 这是典型的PWM信号的时序图。 PWM时序图示例 图2. 示例PWM时序图 计数器从0递增到模数寄存器中的“溢出”值。达到模数后,下一个时钟计数器将变为0。此处的模数值为9,计数器的状态数为9 + 1或10。只要启用了计时器,计数就会重复简单。计数器的输出进入“宽度”逻辑,该逻辑在计数器溢出时将输出设置为高电平,在计数器与宽度寄存器匹配时将输出设置为低电平。 通过更改宽度寄存器中的值,可以“动态”更改输出脉冲的宽度。该动作用虚线表示。 如下图所示,通过将适当的值加载到寄存器中来设置周期和脉冲宽度。对于上面的时序图,周期寄存器将包含值9,而宽度寄存器将包含值2。 这是典型的PWM定时器的框图。 PWM定时器框图 图3. PWM定时器框图 时钟由预分频器分频后施加到周期计数器。周期计数器的持续时间由模数或周期寄存器设置。周期计数器的输出进入脉冲宽度逻辑的多个“通道”。来自每个通道的脉冲宽度是独立控制的,因为每个通道都有单独的宽度寄存器。 请注意,所有通道的周期都相同,因为它们共享相同的周期计数器,但脉冲宽度不同。 |
|
|
|
PWM电机控制
PWM计时器的重要用途是电动机控制。下图显示了一种典型设置,其中PWM信号进入了控制电机的电机控制器。(如果您想看到PWM的作用,请看一下AAC的C-BISCUIT机器人,它使用脉宽调制来控制电动机速度。) PWM设置的简化框图 图4. PWM设置的简化框图 下面的时序图显示了一个示例,其中通过PWM信号控制转矩的方向和大小。 此时序称为“ 50%PWM”,这意味着50%的占空比不会产生转矩,并且占空比大于或小于50%可以控制两个方向上的转矩。 一个示例,其中两个转矩功能由PWM信号控制 图5. 一个示例,其中扭矩的两个功能由PWM信号控制 情况3是50%的占空比,电动机不运动。情况2是占空比大于50%,并且电动机以与占空比大于50%的量成正比的转矩顺时针运动。情况1的占空比小于50%,并且电动机以与占空比小于50%的量成比例的转矩逆时针旋转。 |
|
|
|
伺服电机PWM示例
另一个例子是伺服电动机,其根据脉冲的宽度改变轴的角度。例如,一个1.5毫秒的脉冲将轴设置为0°。从1.5毫秒更改为1毫秒将脉冲宽度从0°旋转到-90°,从1.5毫秒更改为2毫秒从0°旋转到+ 90°。 我目前正在使用“连续旋转伺服电机”。电动机在PWM信号的控制下沿任一方向连续旋转。如图所示,方向和速度随脉冲宽度而变化。 由PWM信号控制的变化速度和电机旋转方向 图6. 由PWM信号控制的变化的电动机转速和旋转方向 周期为20毫秒,有效的高脉冲控制方向和速度。脉冲宽度为1.5毫秒时,电机不移动。宽度大于1.5毫秒会增加逆时针方向的速度,而宽度小于1.5毫秒则会使电动机沿顺时针方向运动。 |
|
|
|
使用PWM定时器控制LED强度
使用PWM定时器的占空比的另一个示例是控制LED的强度。这是基本原理图: 由PWM定时器控制的LED的基本原理图 图7. 由PWM定时器控制的LED的基本原理图 定时器输出为低电平时,LED点亮;输出为高电平时,LED熄灭。计时器会产生一个快速变化的输出,该输出会足够快地打开和关闭LED,以使眼睛平均“打开”时间并感知强度的变化,而不会闪烁。 图8. “更亮”,“调光”和“中等” LED的三种PWM控制的LED外壳 该图显示了三种情况。在大多数时间段中,“较亮”情况为低电平,LED的显示时间要短于“调光”情况,LED的显示时间较短。 |
|
|
|
伺服电机的定时设置
使用PWM定时器最复杂的部分是设置定时参数以满足外部设备的要求。我认为PWM计时器是一种数模转换器(DAC)。(实际上,在 低通滤波器的帮助下,PWM可以用作DAC。)电压输出DAC将数字值输入并将其转换为模拟输出电压。当数字值变化一个计数时,模拟输出的变化最小。 对于PWM定时器,输出脉冲的宽度类似于模拟值。当宽度寄存器中的值改变一个计数时,宽度的最小变化发生。输出中最小的可能变化称为输出分辨率。 对于PWM定时器,输出分辨率或输出脉冲的周期或宽度的最小可能变化是进入周期计数器的时钟的一个周期。 例如,如果进入周期计数器的时钟周期为10微秒(频率为100kHz),则输出周期的定时分辨率和脉冲宽度为10微秒。 在本部分中,我确定了控制上述“连续旋转伺服电机”的时序参数。回顾上面图6中的时序图以供参考。 这是确定时序所需的有关PWM计时器的信息。 时钟频率:24 MHz 预分频器选项:除以1,2,4,8,16,32,64或128 周期计数器和宽度寄存器:16位宽或65,536个计数 这是伺服电机的要求。 PWM周期:20毫秒 电机停止的PWM脉冲宽度:1.5毫秒。 最大速度逆时针的PWM脉冲宽度:2.0毫秒 最大速度CW的PWM脉冲宽度:1.0毫秒 |
|
|
|
选择预分频值
设置的第一部分是为预分频器选择一个除法值。 如果该值太小(快速时钟),则使用16位计数器的最大PWM周期太短。如果该值较大(慢速时钟),则时序分辨率较差,并且控制较粗。一个很好的起点是确定周期计数器f PC中的最高可能频率,以给出20毫秒的输出周期。如果输入频率很高,则必须使用较大的计数模数才能获得所需的周期。让我们尝试模数为60,000并确定周期计数器的输入频率。 f PC =(0.02 / 60,000)-1 = 3,000,000 Hz = 3 MHz 预分频器的时钟为24 MHz。因此,预分频器分频值P为 P =(24MHz / 3MHz)= 8 完善!对于20毫秒的PWM周期,我可以使用除以8的预分频器设置和60,000的周期计数器模数。现在我们知道了输出脉冲的时序分辨率。定时分辨率为3 MHz时钟周期或0.333微秒。 模数为60,000是幸运的猜测,它与预分频器设置之一很好地匹配。确定设置通常需要在计数器模数和预分频器设置之间进行一些“来回”操作才能接近理想周期。通常,外围设备不需要确切的时间,并且在时间上还有余地。 |
|
|
|
为脉冲宽度寄存器选择值
让我们继续选择脉冲宽度寄存器W的值。脉冲宽度t W由下式给出: t W = W✕0.333x10 -6 W = t W / 0.333x10 -6 下表列出了指定电动机设置的W值。 电机设定 脉冲宽度(以秒为单位) w ^ 已停止 0.0015 4,500 最高连续速度 0.0020 6,000 最大逆时针速度 0.0010 3,000 为了完全控制电机,宽度寄存器中的值从3,000到6,000不等。最后,从写入寄存器的周期和宽度值中减去一个计数,以调整额外的“ 0”计数。 这是所有计时器值: 时钟频率:24 MHz 预分频器:除以8 周期计数器模数:59,999 电机停止的脉冲宽度寄存器:4,499 最高速度CW的脉冲宽度寄存器:5,999 最大速度逆时针脉冲宽度寄存器:2,999 实际上,伺服电动机通常不是很精确,需要通过调整这些值进行校准。上面的值为开始提供了“标称”位置。而且,通常不需要减去一个计数,因为校准会考虑此调整。 |
|
|
|
|
|
|
|
|
|
|
|
高手挺多的,学习了。
|
|
|
|
这个问题在《STM32库开发实战指南》中第151、155页有详细的说明: 《 STM32库开发实战指南》网盘分享: 链接:https://pan.baidu.com/s/1zpmxGKMFCR6BX9k_f-z2Yg 密码:l1dq 主要是因为,定时器有计数功能,可以进行占空比的调制,以及专门为电机控制使用的死区控制,另外一些单片机具有编码器接口模式,可以方便的读取编码器数据进行调速。 |
|
|
|
基础的问题知道的大佬还是多的。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
3850 浏览 1 评论
1636 浏览 0 评论
3497 浏览 1 评论
【⌈嵌入式机电一体化系统设计与实现⌋阅读体验】+磁力输送机系统设计的创新与挑战
1751 浏览 0 评论
4428 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 22:23 , Processed in 0.927428 second(s), Total 102, Slave 81 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号