POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
楼主: big-eblis
打印 上一主题 下一主题

自制四路风扇温控调速器(已经有样机,更新安装效果)

  [复制链接]
21#
发表于 2009-5-23 20:10 | 只看该作者
STC的51么?呵呵。前一阵子准备用AVR搞一个这个东西,一直太忙耽搁起来了。在LZ的激励下,决定重拾这个计划,呵呵。液晶是OLED的12832?
回复 支持 反对

使用道具 举报

22#
发表于 2009-5-23 20:13 | 只看该作者
抖动的问题,可以搞一个电容积分+单管搞定的吧,呵呵。虽然死区问题确实比较烦……
回复 支持 反对

使用道具 举报

23#
 楼主| 发表于 2009-5-23 23:25 | 只看该作者
本帖最后由 big-eblis 于 2009-5-23 23:33 编辑

需要能完全关闭风扇的话,非常简单,去除最低占空比30%的限制即可。占空比为0自然就停了。

MCU的确是STC的C51,发现这个片子的运算能力还是弱了,同时对四路风扇进行16位转速计算(显示最高9990RPM)的话,LCM的驱动会出现问题。而如果改用8位计算,即最高转速2550RPM的话,就没这个问题了。
考虑换更高主频的晶体试试会不会好转。
回复 支持 反对

使用道具 举报

24#
发表于 2009-5-23 23:54 | 只看该作者
有个想法:PWM控速抖动是无法避免的,利用PWM调宽,阻容积分做简单的DA控制。通过控制TIP32C这类大功率管子的电流来调节风扇转速。更可以利用测速或者温度探头反馈来做闭环,这样控制稳定效果会好很多。
回复 支持 反对

使用道具 举报

25#
发表于 2009-5-23 23:57 | 只看该作者
4路16位运算,从我个人的经验来看,51进行处理是没有什么问题的。可能LZ需要查一下程序里是不是有误中断导致运算出错的现象。
另外,想请教LZ测速是通过什么手段实现的?脉冲捕获还是计数器?
回复 支持 反对

使用道具 举报

26#
发表于 2009-5-24 00:28 | 只看该作者
我很感兴趣啊,教教我可以不?
是51单片机做到的吗?用的什么开发板?
回复 支持 反对

使用道具 举报

27#
发表于 2009-5-24 00:35 | 只看该作者
牛人啊 顶一下~~~~~~
回复 支持 反对

使用道具 举报

28#
 楼主| 发表于 2009-5-24 00:42 | 只看该作者
本帖最后由 big-eblis 于 2009-5-24 00:47 编辑

1、用PWM做D/A调电流的方式进行调速,我觉得不好。这样调整管的发热会很厉害-特别是转速调整的比较低的时候,效率很低,很多功率都用来发热了。同时这种调速方式对调整管要求也比较高。而纯PWM调速,调速管弄颗2A的就完全够用了,也不需要考虑发热的问题;
2、4路16位计算是没有问题,问题的关键在于,测速我用的是中断法,即转速脉冲触发中断进行计数,然后用定时器产生一个阀门脉冲来取样。以3S为周期则取样一次获得的数正好对应单位10RPM的转速。这个办法的优点是不用像测周期那样需要进行复杂运算,但是如果要显示2550RPM以上的转速,则计数器必须是16位的。我在中断中用算法通过使用两个寄存器实现16位计数后,LCM驱动就会出现跑飞的情况,这时按键与温控都在工作,但是LCM无显示,即使有也是乱码。经调试发现,只要中断消耗的机器周期超过2个,就可能出现这个毛病,哪怕你消耗机器周期的语句只是NOP都不行
明天有空要好好检查下程序。
回复 支持 反对

使用道具 举报

29#
 楼主| 发表于 2009-5-24 00:46 | 只看该作者
关于测速,你有什么好的思路?如果用计算每个脉冲的周期来实现测速,程序开销如何?好像必须进行浮点计算吧?C51做这个会不会很吃力?说实话我还没这样做过呢。
毕竟只是业余选手,水平有限。。。。。
回复 支持 反对

使用道具 举报

30#
 楼主| 发表于 2009-5-24 00:50 | 只看该作者
突然发现我忘记在中断保护现场了,难怪LCM驱动会跑飞。汗死!
竟然犯了如此低级错误
回复 支持 反对

使用道具 举报

31#
 楼主| 发表于 2009-5-24 01:10 | 只看该作者
哈哈,搞定了
目前实现的功能如下:
1、四路PWM调速,从30%到100%线性调整;
2、四路转速测试,精度10RPM,最高9990RPM;
3、四路温度测试,精度1℃,最高150℃;
4、每路风扇的转速受两个参数控制:
     1)通过按键设定的基本占空比kp,默认40%,可以在30%~100%之间调整。这个参数会自动记忆,每次开机会载入上次设定的数值,无需重复设定。
     2)对应通道的温度值t。
获得以上参数后,经过如下运算得到最终驱动占空比:p=(t-40)×2+kp。即温度超过40℃后,每增加一度,占空比提高2%。
5、无需自动温控的风扇,将对应的温度传感器拆除即可。程序会使用你手工设定的参数来驱动风扇;
6、可以驱动2、3、4线风扇,设计每路最大可带12V2A的风扇。

评估板照片:

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

32#
发表于 2009-5-24 10:33 | 只看该作者
恭喜楼主调试成功~你的PWM载波频率是多少?我有机会问问奇宏的兄弟PWM调速最佳参数应该怎么搞。有点手痒了,呵呵。还有测温是用的10K的热敏电阻么?需不需要校准?
回复 支持 反对

使用道具 举报

33#
发表于 2009-5-24 10:37 | 只看该作者
好东西  希望快些有产品我们有的用
回复 支持 反对

使用道具 举报

34#
发表于 2009-5-24 12:19 | 只看该作者
还是技术贴里牛人多啊,学习了。
回复 支持 反对

使用道具 举报

头像被屏蔽
35#
发表于 2009-5-24 12:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

36#
 楼主| 发表于 2009-5-24 13:26 | 只看该作者
恭喜楼主调试成功~你的PWM载波频率是多少?我有机会问问奇宏的兄弟PWM调速最佳参数应该怎么搞。有点手痒了,呵呵。还有测温是用的10K的热敏电阻么?需不需要校准?
zdpfat 发表于 2009-5-24 10:33


PWM频率有11、15、20、30Hz可以选择,目前我用15的,调速性能最好,接近线性。30的抖动最小,但是调速性能一般,要把占空比降低很多转速才能有较明显的下降。
测温用DS18B20,数字温度传感器。C51这种片内无A/D的MCU用热敏电阻测温的话还要外接A/D芯片,很麻烦不说,还要校准。不过1820比较贵就是了(10元一个的零售价)
回复 支持 反对

使用道具 举报

37#
发表于 2009-5-24 13:53 | 只看该作者
非常好的技术文章,仔细学习一下。
回复 支持 反对

使用道具 举报

38#
发表于 2009-5-24 18:33 | 只看该作者
这个不错 顶
回复 支持 反对

使用道具 举报

39#
 楼主| 发表于 2009-5-25 01:53 | 只看该作者
PCB设计的差不多鸟,放个效果图来看看

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

40#
发表于 2009-5-25 23:36 | 只看该作者
30HZ的PWM载波频率,太低了吧,呵呵~低速时抖动很明显的~
回复 支持 反对

使用道具 举报

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

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2024-11-21 20:43

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

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