打印
[STM8]

tim1输出pwm

[复制链接]
1875|21
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sang523|  楼主 | 2016-11-29 18:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在已经用tim1输出一个频率固定,占空比固定的pwm,控制灯,现在我要通过控制灯的亮度变化(也就是控制灯的功率),由于领导要求不能改变pwm的参数,所以我现在用另一个定时器进行中断定时来控制pwm的输出和关闭,比如在中断函数里每30us输出pwm,30us关闭pwm输出(跟中断里实现led灯闪烁差不多),我确实通过此方法达到了控制其功率的目的,但是这样频繁地进中断是否合理,毕竟主程序还有其他的保护。
沙发
643757107| | 2016-11-29 19:04 | 只看该作者
也可以控制电流啊,,用数字电位器和运放做。

使用特权

评论回复
板凳
deviceplugs| | 2016-11-29 19:07 | 只看该作者
你用个IO口来控制模拟开关多好

使用特权

评论回复
地板
sang523|  楼主 | 2016-11-29 21:08 | 只看该作者
643757107 发表于 2016-11-29 19:04
也可以控制电流啊,,用数字电位器和运放做。

现在要求用stm8通过程序实现。。。

使用特权

评论回复
5
dalarang| | 2016-11-29 21:12 | 只看该作者
30us的中断不合理,中断进出栈占用太多CPU资源。

可以换个思路,既然这个PWM参数不让改,就另外再开个脉宽比较宽的PWM输出,将两个PWM输出以与门连接,即可实现用一个PWM来控制另一个PWM的输出是否生效。

使用特权

评论回复
6
天灵灵地灵灵| | 2016-11-29 22:29 | 只看该作者
为何不让PWM呢,,你定时的输出PWM其实道理一样的

使用特权

评论回复
7
戈卫东| | 2016-11-29 22:30 | 只看该作者
或者换个领导试试?

使用特权

评论回复
8
sang523|  楼主 | 2016-11-30 08:06 | 只看该作者
dalarang 发表于 2016-11-29 21:12
30us的中断不合理,中断进出栈占用太多CPU资源。

可以换个思路,既然这个PWM参数不让改,就另外再开个脉宽 ...

我也觉得这样频繁地进中断不合理,程序还一直存在各种保护

使用特权

评论回复
9
sang523|  楼主 | 2016-11-30 08:08 | 只看该作者
天灵灵地灵灵 发表于 2016-11-29 22:29
为何不让PWM呢,,你定时的输出PWM其实道理一样的

我好像没有定时的输出pwm,只是让原来的pwm在中断里定时开启关闭

使用特权

评论回复
10
sang523|  楼主 | 2016-11-30 08:09 | 只看该作者
戈卫东 发表于 2016-11-29 22:30
或者换个领导试试?

我觉得这个主意不错。。。

使用特权

评论回复
11
cyj1232| | 2016-11-30 10:44 | 只看该作者
不让改PWM参数有什么原因和道理吗?

使用特权

评论回复
12
sang523|  楼主 | 2016-11-30 12:06 | 只看该作者
cyj1232 发表于 2016-11-30 10:44
不让改PWM参数有什么原因和道理吗?

通过改变占空比灯的亮度好像变化幅度很小,我也试了不是很理想

使用特权

评论回复
13
dai410257573| | 2016-11-30 17:14 | 只看该作者
...这和修改pwm频率没多少区别吧,像这种支持pwm来调光的IC,就是修改占空比,而且你PWM的频率还很高,所以只有在百分之几的时候变化才会很大。

使用特权

评论回复
14
sang523|  楼主 | 2016-11-30 18:17 | 只看该作者
dai410257573 发表于 2016-11-30 17:14
...这和修改pwm频率没多少区别吧,像这种支持pwm来调光的IC,就是修改占空比,而且你PWM的频率还很高,所以 ...

现在我们做的是无极灯调光,频率大概125k,我试了在中断里修改ccr的值感觉变化不明显,您能具体说说嘛

使用特权

评论回复
15
lenglx| | 2016-11-30 18:41 | 只看该作者
假设你的灯是LED, 同时假设你的亮度是指给人眼观看的.

刷新频率达到60HZ以上,人眼就感觉不到闪烁了,感觉到的是亮度的改变.

这样,在16ms的周期内,你只需要开关各一次就可以了(也就是16ms内只中断2次)

使用特权

评论回复
16
dai410257573| | 2016-11-30 21:19 | 只看该作者
sang523 发表于 2016-11-30 18:17
现在我们做的是无极灯调光,频率大概125k,我试了在中断里修改ccr的值感觉变化不明显,您能具体说说嘛 ...

哦,我还以为是LED灯

使用特权

评论回复
17
sang523|  楼主 | 2016-12-1 08:05 | 只看该作者
dai410257573 发表于 2016-11-30 21:19
哦,我还以为是LED灯

我刚接触这个不是很懂,是不是无极灯不好采用软件调光,用stm8进行无极灯调光还有别的办法吗

使用特权

评论回复
18
dai410257573| | 2016-12-1 09:21 | 只看该作者
sang523 发表于 2016-12-1 08:05
我刚接触这个不是很懂,是不是无极灯不好采用软件调光,用stm8进行无极灯调光还有别的办法吗 ...

我也没接触过无极灯

使用特权

评论回复
19
sang523|  楼主 | 2016-12-1 11:59 | 只看该作者
dai410257573 发表于 2016-12-1 09:21
我也没接触过无极灯

哦哦,谢了

使用特权

评论回复
20
sang523|  楼主 | 2016-12-1 13:31 | 只看该作者
lenglx 发表于 2016-11-30 18:41
假设你的灯是LED, 同时假设你的亮度是指给人眼观看的.

刷新频率达到60HZ以上,人眼就感觉不到闪烁了,感觉到 ...

我现在的频率能到125k,我确实也达到了通过不断进中断来调节功率,就是这样频繁地进中断合适吗

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

17

主题

133

帖子

2

粉丝