OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7054|回复: 13

大佬们帮我看一下这段程序!STM32F4控制舵机的!!

[复制链接]

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
发表于 2018-8-8 15:24:56 | 显示全部楼层 |阅读模式
1金钱
我用的是定时器2输出PWM来控制舵机的,我是模仿的正点原子的呼吸灯程序来写的。
控制舵机的频率至少要50HZ,我这样设置的ARR和PSC的值有什么问题吗?
我是个初学者,关于ARR和PSC的值的计算不是很懂,正点原子的视频教程关于这块讲的不是很清楚,求各位大佬们详细讲解一下!!!
感激不尽!
QQ截图20180808152048.png

最佳答案

查看完整内容[请看2#楼]

PWM的频率等于PCLK/PSC/ARR,F4的PCLK是84M 你想定50hz 就按我给你的两个值 啊:PSC=840-1,ARR=2000-1
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

35

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2016-10-12
在线时间
53 小时
发表于 2018-8-8 15:24:57 | 显示全部楼层
shenze126 发表于 2018-8-9 11:41
84/5000/8400=2,这个为什么这么算?另外,我想定50HZ的频率的话,该这么确定ARR和PSC的值?

PWM的频率等于PCLK/PSC/ARR,F4的PCLK是84M
你想定50hz
就按我给你的两个值 啊:PSC=840-1,ARR=2000-1
回复

使用道具 举报

2

主题

756

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4163
金钱
4163
注册时间
2017-10-24
在线时间
251 小时
发表于 2018-8-8 20:13:33 | 显示全部楼层
我没有用过F4系列的TIM2,不过印象中F1系列的TIM2如果使用PWM的话好像还需要进行一些别的操作,记不太清楚了;

另外如果按照TIM2时钟90M来计算的话楼主的定时器2周期是46ms啊。。正常的话舵机应该是20ms吧;也可能是我好久不用F4芯片忘得差不多了。。

仅供参考吧,等待大佬前来作答
十六进制带我飞。
回复

使用道具 举报

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
 楼主| 发表于 2018-8-8 20:26:52 | 显示全部楼层
DreamWaterPro 发表于 2018-8-8 20:13
我没有用过F4系列的TIM2,不过印象中F1系列的TIM2如果使用PWM的话好像还需要进行一些别的操作,记不太清楚 ...

STM32F4定时器2的时钟是84M,我想问一下,这个周期是怎么算的?我是个初学者,我最近被PWM的频率和ARR,PSC的计算弄得有点头晕,求指教!
回复

使用道具 举报

0

主题

5

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2018-6-4
在线时间
13 小时
发表于 2018-8-8 20:28:31 | 显示全部楼层
分频系数PSC要根据你需要使用的最小脉宽单位来设定,对于普通的模拟舵机来说,PMW频率一般是50Hz,脉冲宽度一般是700-2300us,一般以us为最小单位,因此为了好处理,直接设置分频后的频率为1MHz,你的主频是168MHz,所以PSC可以设置为168/1-1=167,PSC定了再来设置ARR,因为频率是50Hz,所以宽度是20ms,就是20000us,所以ARR设置为20000-1=19999,最后根据需要舵机动作的幅度来设置占空比就可以了,比如在中立点的时候设置为1500。如果是数字舵机,频率可以高一些,比如333Hz,宽度3ms=3000us,这时其它不变,把ARR设置成3000-1=2999即可。
回复

使用道具 举报

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
 楼主| 发表于 2018-8-8 21:21:28 | 显示全部楼层
tasam 发表于 2018-8-8 20:28
分频系数PSC要根据你需要使用的最小脉宽单位来设定,对于普通的模拟舵机来说,PMW频率一般是50Hz,脉冲宽度 ...

w我按照你的又重新设置了一下,但是舵机还是不动啊
回复

使用道具 举报

35

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
331
金钱
331
注册时间
2016-10-12
在线时间
53 小时
发表于 2018-8-9 10:55:40 | 显示全部楼层
本帖最后由 kmmyk 于 2018-8-9 11:02 编辑

你的TIM2_PWM_Init()的两个参数,分别是什么?按你的写法,第二个我猜是分频,那么:84M/5000/8400=2,这样的频率,舵机是不会动的。你像这样设定下下:
分频:840,重载数2000
这样,你设定比较值:50--250之间,就对应0--180度
回复

使用道具 举报

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
 楼主| 发表于 2018-8-9 11:41:26 | 显示全部楼层
kmmyk 发表于 2018-8-9 10:55
你的TIM2_PWM_Init()的两个参数,分别是什么?按你的写法,第二个我猜是分频,那么:84M/5000/8400=2,这样 ...

84/5000/8400=2,这个为什么这么算?另外,我想定50HZ的频率的话,该这么确定ARR和PSC的值?
回复

使用道具 举报

0

主题

113

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3321
金钱
3321
注册时间
2017-12-14
在线时间
406 小时
发表于 2018-8-9 12:03:51 | 显示全部楼层
做实验要有做实验的工具,你至少用示波器看看波形是怎么样的吧,万一是硬件问题,还是其他乱七八糟的问题呢?波形对了再说其他的吧
回复

使用道具 举报

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
 楼主| 发表于 2018-8-9 14:26:34 | 显示全部楼层
kmmyk 发表于 2018-8-9 13:13
PWM的频率等于PCLK/PSC/ARR,F4的PCLK是84M
你想定50hz
就按我给你的两个值 啊:PSC=840-1,ARR=2000-1

十分感谢!!!
回复

使用道具 举报

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
 楼主| 发表于 2018-8-12 09:20:16 | 显示全部楼层
kmmyk 发表于 2018-8-9 10:55
你的TIM2_PWM_Init()的两个参数,分别是什么?按你的写法,第二个我猜是分频,那么:84M/5000/8400=2,这样 ...

不好意思,我还有个问题。50-250为什么对应0-180度呢?
这个是怎么计算的?
回复

使用道具 举报

18

主题

190

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1068
金钱
1068
注册时间
2012-6-18
在线时间
158 小时
发表于 2018-8-20 00:22:48 | 显示全部楼层
数字舵机不是50hz 一般位300hz pwm 波。另外模拟舵机必须一直刷新time 也就是发送pwm波。数字舵机发一次pwm波即可。
回复

使用道具 举报

18

主题

34

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2018-8-4
在线时间
41 小时
 楼主| 发表于 2018-8-20 10:22:57 | 显示全部楼层
bg8wj 发表于 2018-8-20 00:22
数字舵机不是50hz 一般位300hz pwm 波。另外模拟舵机必须一直刷新time 也就是发送pwm波。数字舵机发一次pwm ...

好的,谢谢
回复

使用道具 举报

10

主题

67

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
283
金钱
283
注册时间
2018-6-30
在线时间
42 小时
发表于 2018-8-20 11:09:33 | 显示全部楼层
shenze126 发表于 2018-8-12 09:20
不好意思,我还有个问题。50-250为什么对应0-180度呢?
这个是怎么计算的?

不同的舵机脉宽和角度对应关系不同
有的1.0ms-20ms对应+- 90度

有的1.0ms-20ms对应0到180度
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-7 22:40

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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