OpenEdv-开源电子网

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

PWM实验

[复制链接]

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
发表于 2017-6-13 23:35:18 | 显示全部楼层 |阅读模式
1金钱
调节占空比从而实现亮度变化有点不理解。。。
设置CCRX的值来实现占空比的改变,占空比改变不是改变了高电平和低电平的相对时间吗,就是亮和灭的的转换,为什么实现的是亮度的变化

最佳答案

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

设置CCRX的值来实现占空比的改变,是连续变化的,高电平和低电平的相对时间的变化也是连续改变的,亮和灭的转换也是连续的,加上人眼睛的视觉残留现象就会感觉LED的亮度在变化。 int main(void) { u16 led0pwmval=0; u8 dir=1; delay_init(); //延时函数初始化 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置 NVIC 中断分组 2 uart_init(115200); //串口初始化波特率为 115200 LED_Init(); //LED 端口初始化 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

5

主题

94

帖子

0

精华

高级会员

Rank: 4

积分
934
金钱
934
注册时间
2017-4-8
在线时间
111 小时
发表于 2017-6-13 23:35:19 | 显示全部楼层
设置CCRX的值来实现占空比的改变,是连续变化的,高电平和低电平的相对时间的变化也是连续改变的,亮和灭的转换也是连续的,加上人眼睛的视觉残留现象就会感觉LED的亮度在变化。
int main(void)
{
u16 led0pwmval=0;
u8 dir=1;
delay_init();  //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置 NVIC 中断分组 2
uart_init(115200); //串口初始化波特率为 115200
LED_Init();  //LED 端口初始化
TIM3_PWM_Init(899,0); //不分频,PWM 频率=72000/900=80Khz
while(1)
{
delay_ms(10);
if(dir)led0pwmval++;
else led0pwmval--;
if(led0pwmval>300)dir=0;
if(led0pwmval==0)dir=1;
TIM_SetCompare2(TIM3,led0pwmval);
}
}
led0pwmval 这个值设置为 PWM 比较值,也就是通过 led0pwmval 来控制 PWM 的占空比,然后控制 led0pwmval 的值从 0 变到 300,然后又
从 300 变到 0,这个值就是CCRX的值,在循环里一直变化的。以上为个人理解。
回复

使用道具 举报

0

主题

14

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
373
金钱
373
注册时间
2017-6-13
在线时间
75 小时
发表于 2017-6-13 23:49:00 | 显示全部楼层
视觉暂留效应。
回复

使用道具 举报

50

主题

1805

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
6662
金钱
6662
注册时间
2016-5-29
在线时间
910 小时
发表于 2017-6-14 08:33:23 | 显示全部楼层
这个现象可以这么来解释,亮度达到最大是要时间的.当PWM脉冲时间小于这个时间就可以调节亮度..
也可以理解为 电平上升是有斜度的.不是直接90度上去的.
回复

使用道具 举报

70

主题

6769

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13197
金钱
13197
注册时间
2012-11-26
在线时间
3820 小时
发表于 2017-6-14 09:25:32 | 显示全部楼层
你可以理解成电压有效值   占空比越高,有效值越高,亮度越大;占空比越低,有效值越低,亮度越低
回复

使用道具 举报

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
 楼主| 发表于 2017-6-14 09:56:42 | 显示全部楼层

好的

回复

使用道具 举报

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
 楼主| 发表于 2017-6-14 09:56:58 | 显示全部楼层
操作系统 发表于 2017-6-14 08:33
这个现象可以这么来解释,亮度达到最大是要时间的.当PWM脉冲时间小于这个时间就可以调节亮度..
也可以理解 ...

好的谢谢
回复

使用道具 举报

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
 楼主| 发表于 2017-6-14 09:57:12 | 显示全部楼层
Mascreda 发表于 2017-6-14 08:55
设置CCRX的值来实现占空比的改变,是连续变化的,高电平和低电平的相对时间的变化也是连续改变的,亮和灭的 ...

恩恩 谢谢
回复

使用道具 举报

39

主题

123

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
250
金钱
250
注册时间
2017-6-8
在线时间
46 小时
 楼主| 发表于 2017-6-14 09:57:30 | 显示全部楼层
jermy_z 发表于 2017-6-14 09:25
你可以理解成电压有效值   占空比越高,有效值越高,亮度越大;占空比越低,有效值越低,亮度越低

OK,懂了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-8-18 09:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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