智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 12110|回复: 20
打印 上一主题 下一主题

关于智能车舵机控制周期问题

  [复制链接]

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
跳转到指定楼层
1#
发表于 2016-10-14 20:43:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
首先要声明下面的结论都是我和学长的猜想,也没有查看STM32的技术手册,另外我们也是猜想K60的情况和STM32F407的情况相同。如果大家有自己的见解的话那就尽情讨论吧!!

先问个问题吧:我们都知道一般舵机标准控制周期是20ms,但是大多数时候可能程序的控制周期远远小于20ms。换句话说可能在这20ms内给了舵机不同的值!那这时候舵机能反应过来么?
先来说说结论吧!
1,对于STM32F407芯片来说,在一个PWM周期没有结束之前是不会产生另外一个占空比不同的PWM信号的。
2,对于STMF407定时器的PWM模式来说,有一个预装载寄存器,这个预装载寄存器的值是可以被刷新。
3,对于PWM周期还没有结束,但是程序中又对PWM的占空比进行修改的情况来说。(简而言之就是当控制周期小于PWM的生成周期时。)预装载寄存器才能起作用,预装载寄存器里面的值也才有可能被刷新。
换句话说:每次PWM在产生的过程中是不会被打断的,如果有程序试图修改他的占空比,那么这个值会被存在预装载寄存器里面。而这个预装载寄存器的值也是可以被刷新的。


验证:
1,在中断对PWM的占空比进行修改。设置定时器中断为15ms。PWM的一个周期为20ms。

下面是实验现象:
可以看到每个PWM的周期都是完整的(都是20ms),也就是说PWM周期不会被中断打断。另外示波器显示的PWM的占空比是循环出现 12.5%75%50%。对应程序中的bb=50,bb=300,bb=200


过程分析:第一次肯定是显示bb=100(占空比25%)的PWM。一个完整的PWM周期是20ms。而定时器中断的时间是15ms。所以在第一次PWM产生的过程中进入了中断,并且程序试图改变PWM的占空比。但是这时候一个完整的PWM周期还没有产生完毕。所以这个占空比就被存到定时器的预装载寄存器里面。当一个完整的PWM产生完毕后(也就是20ms后)定时器自动将预装载寄存器的值取出并执行。(这个过程是硬件实现的)
程序里面不是四次对PWM的占空比进行修改么?为什么只示波器上值循环三种占空比?
答:首先我们推测,STM32的预装载寄存器只有一个。而且这个值可以被刷新。
    我们不妨观察第三个周期完毕后的那个时刻。这个时刻既是PWM周期完成的时刻,也是定时器中断的时刻。(对于这个点我们分析如下:首先PWM是要先于定时器中断完成的。PWM周期刚刚完成后,定时器迅速从预装载寄存器里面取值,产生新的PWM信号。完成这个动作后再进定时器中断,再向预装载寄存器里面装值。)但是很不幸,这个时刻装的值很快就被下个定时器中断中的赋值代码给刷新掉了(或者说替换了)。所以我们在示波器上是看不到bb=100(占空比为25%)的PWM的。(除了第一次程序刚刚执行的时候)
具体分析过程见下图!!!

下面是为了验证上面的猜想而设计的一个实验:
PWM周期不变还是20ms。定时器周期改变为10ms产生一次中断。


实验现象如下:可以看到pwm占空比一直在12.5%50%之间循环。

具体分析过程见下图:

这里再说一个问题:关于

评分

1

查看全部评分

回复

使用道具 举报

161

主题

2047

帖子

5

精华

超级版主

岳麓山没有车神

Rank: 10Rank: 10Rank: 10

积分
14912

论坛元老奖章优秀会员奖章活跃会员奖章论坛骨干奖章在线王奖章优秀版主奖章资源大师奖章

QQ
威望
6279
贡献
5961
兑换币
2579
注册时间
2013-11-14
在线时间
1336 小时
推荐
发表于 2016-10-22 21:24:29 | 只看该作者
hdongdong123 发表于 2016-10-22 18:33
谢谢大神的解答,还是想请教一下你的舵机控制周期是多少ms控制一次,再就是舵机频率给多大?如果就用 ...

舵机频率低于25Hz就可以,控制50Hz一次。后面的问题我已经叙述过了,你如果不懂可以翻看K60的数据手册。
回复 支持 1 反对 0

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
2#
 楼主| 发表于 2016-10-14 20:44:36 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
3#
 楼主| 发表于 2016-10-14 21:04:15 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
4#
 楼主| 发表于 2016-10-14 21:05:38 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
5#
 楼主| 发表于 2016-10-14 21:07:23 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
6#
 楼主| 发表于 2016-10-14 21:08:29 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
7#
 楼主| 发表于 2016-10-14 21:09:37 | 只看该作者

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

56

主题

4914

帖子

3

精华

顶级版主

北京科技大学智能汽车队公共主页管理员

Rank: 11Rank: 11Rank: 11Rank: 11

积分
56131

特殊贡献奖章资源大师奖章论坛骨干奖章推广达人奖章优秀版主奖章热心会员奖章论坛元老奖章在线王奖章活跃会员奖章优秀会员奖章

威望
19568
贡献
13933
兑换币
3365
注册时间
2010-7-22
在线时间
11315 小时
8#
发表于 2016-10-15 00:41:10 | 只看该作者
很好,楼主用实验探究了双缓冲PWM波发生器
回复 支持 反对

使用道具 举报

5

主题

100

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1367
威望
710
贡献
421
兑换币
493
注册时间
2016-3-20
在线时间
118 小时
毕业学校
内蒙古科技大学
9#
 楼主| 发表于 2016-10-15 12:13:06 | 只看该作者
这个没有参见STM32的技术手册,并且我们猜想K60也跟STM32一样存在预装载寄存器
回复 支持 反对

使用道具 举报

0

主题

78

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1859
QQ
威望
935
贡献
558
兑换币
631
注册时间
2016-10-13
在线时间
183 小时
10#
发表于 2016-10-15 13:35:30 | 只看该作者
实践是检验真理的唯一标准
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|亿加合和智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-4-26 04:10 , Processed in 0.120498 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表