智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 9465|回复: 8
打印 上一主题 下一主题

pwm 占空比问题

[复制链接]

5

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
505
威望
252
贡献
185
兑换币
162
注册时间
2013-3-3
在线时间
34 小时
毕业学校
安徽师范大学
跳转到指定楼层
1#
发表于 2013-3-22 22:43:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这两天在调试舵机的时候遇到了很郁闷的问题,求大神指教!!
按说,PWMPER5=5000,PWMDTY5=50,输出波形的占空比应该很小才对。用示波器观察,这里的周期是20ms,高电平却占了7毫秒左右!当PWMDTY5=120时,全部都是高电平了!


肿么会这样子呢!?


程序如下:

void PWM_init45(unsigned int fx)// 舵机 ICOC2引脚
{       
       
        MCF_GPIO_PTCPAR|=MCF_GPIO_PTCPAR_DTIN2_PWM4;                          
        MCF_GPIO_PTAPAR|=MCF_GPIO_PTAPAR_ICOC2_PWM5;// GPIO设置
        MCF_PWM_PWME = 0xff;//关闭pwm
        MCF_PWM_PWMCTL |=MCF_PWM_PWMCTL_CON45;//通道级联
        MCF_PWM_PWMPOL |= MCF_PWM_PWMPOL_PPOL5;//极性选择
        MCF_PWM_PWMCLK |= MCF_PWM_PWMCLK_PCLK5;//时钟源选择 SA
        MCF_PWM_PWMCAE |= MCF_PWM_PWMCAE_CAE5;//对齐模式
    MCF_PWM_PWMPRCLK|=MCF_PWM_PWMPRCLK_PCKA(0) ;//预分频       
        MCF_PWM_PWMCTL=0x00;// 表示在mcu进入休眠状态时,预分频模块仍有时钟输入
        MCF_PWM_PWMSCLA=240;//PWM 分频寄存器 A/B fSA=fA/(2*PWMSCLB) 可编程分频值(1~256)
        MCF_PWM_PWMCNT5=0;//PWM 通道计数寄存器       
        MCF_PWM_PWMPER5=5000;//PWM 通道周期寄存器
        MCF_PWM_PWMDTY5=50;//PWM 通道占空比寄存器


这里用的是mcf52255;资料上pwm的设置步骤与s12是一样的。


36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
2#
发表于 2013-3-23 14:21:58 | 只看该作者
总线频率是多少?
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
505
威望
252
贡献
185
兑换币
162
注册时间
2013-3-3
在线时间
34 小时
毕业学校
安徽师范大学
3#
 楼主| 发表于 2013-3-23 15:02:57 | 只看该作者
灰原姐姐 发表于 2013-3-23 14:21
总线频率是多少?

80M
回复 支持 反对

使用道具 举报

1

主题

166

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2186
威望
1101
贡献
649
兑换币
592
注册时间
2012-2-24
在线时间
218 小时
4#
发表于 2013-3-23 20:26:16 | 只看该作者
灰原姐姐 发表于 2013-3-23 14:21
总线频率是多少?

灰原姐姐今天在各大赛区又火了把
回复 支持 反对

使用道具 举报

5

主题

31

帖子

0

精华

高级会员

Rank: 4

积分
505
威望
252
贡献
185
兑换币
162
注册时间
2013-3-3
在线时间
34 小时
毕业学校
安徽师范大学
5#
 楼主| 发表于 2013-3-23 20:28:14 | 只看该作者
没人鸟我,自问自答吧。话说级联后的pwm通道应该是16位,可是经过还是8位,所以导致了占空比异常。。
但是,它为毛不是16位呢?是我前面的程序写错了?
回复 支持 反对

使用道具 举报

36

主题

1837

帖子

3

精华

跨届大侠

Rank: 10Rank: 10Rank: 10

积分
6375
威望
3368
贡献
1847
兑换币
2326
注册时间
2013-2-3
在线时间
580 小时
6#
发表于 2013-3-23 20:39:21 | 只看该作者
ht7200 发表于 2013-3-23 20:28
没人鸟我,自问自答吧。话说级联后的pwm通道应该是16位,可是经过还是8位,所以导致了占空比异常。。
但是 ...

我本来想说可能是这个问题的。
后来懒了,没开codewarrior看寄存器长度,抱歉。
那个寄存器就是这个设计的。
所以你可以级联之后试试。
毕竟芯片里面寄存器的陈本很高。
所以一般都是8个8位的,可以级联成4个16位的。
回复 支持 反对

使用道具 举报

7

主题

96

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1895

优秀会员奖章活跃会员奖章

威望
1370
贡献
395
兑换币
188
注册时间
2013-3-13
在线时间
65 小时
毕业学校
未毕业
7#
发表于 2013-4-23 15:28:05 | 只看该作者
:lol:lol:lol:lol
回复 支持 反对

使用道具 举报

2

主题

205

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
493
威望
289
贡献
140
兑换币
187
注册时间
2013-2-22
在线时间
32 小时
8#
发表于 2013-4-26 17:03:17 | 只看该作者
把你的程序发给我好吧,我正头疼呢
回复 支持 反对

使用道具 举报

0

主题

18

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
353
威望
187
贡献
100
兑换币
110
注册时间
2014-8-5
在线时间
33 小时
毕业学校
燕京理工学院
9#
发表于 2014-11-27 22:12:05 | 只看该作者
求指教调PWM
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-25 14:12 , Processed in 0.045192 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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