STC15W408AS单片机2路热敏电阻PWM控制风扇散热
本帖最后由 zaq 于 2019-6-4 21:34 编辑码贴不容易,大神们给帖子加加分,级别低伤不起!谢谢啦!
高手飘过,对高手来说,这个太简单了!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
重要:请教高手: 在此代码上如何进行PID控制?
单P控制也可以,具体怎么思路和方法?求教大神!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
上次搞了个GPS-2303C的温控风扇,用LM324搞的,有点LOW,还靠一堆电阻降压减速的! 周日有时间,用MCU搞一搞!
原帖地址:
http://www.crystalradio.cn/forum.php?mod=viewthread&tid=1759909&extra=page%3D2
没用PID控制,不会用,太复杂!
核心的滤波算法过采样挺有意思,可以看看!
有人问:为啥不直接ADC0采集431的2.5V作为基准?而用内部? 因为内部基准参数STC已经给标注了!用外部还得测,费劲,因为懒! 内部基准还是说得过去的!
吐槽下:STC的单片机AD用起来难受,ADC采样一码电源电压,LDO哪有那么准的?(其实搞温控风扇用LM2940-5.0做电源,当基准还是可以的,那么直接0-1023对应的5V即可,少了很多计算,特别乘除省略了,节省一堆的程序空间啊)。相对PIC就良心,PIC的ADC基准可以用外面,也可以用自身的还可以2倍3倍的!PIC贵啊!不舍得糟蹋啊!
温控电阻还是那个帖子的热敏电阻,具体参数见那个帖子。
程序我做了标注了,应该都能看懂。
PWM:8位0-255 频率:差不多100HZ左右 (实验感觉还可以,频率太高的吱吱声烦躁)
风扇速度设置8段速度!对应上升的温度!起调速度不是0的,低于某个PWM占空比,
风扇是不转的,力矩不够的!
****重要:烧写频率11.0592M,下载器勾选 【在程序结束处添加重要参数】项(因为要调取第九通道的电压值单位MV)
下载程序,按照如图电路图不需要修改即可一次成功的!
唯一需要调整的就是程序头的电压阀值。这个得计算和电压表实测。由于ADC的误差,
电压阀值比如你计算的是1.910V,那么实际设置的阀值就是1900MV(-10mw差不多)。
当然,如果你 也用这个热敏电阻,那么所有参数不需要调整,下载到MCU即可运行!
亲测,2303上效果还不错!具体多少度动作,详细见上个帖子!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
本帖最后由 zaq 于 2019-11-5 14:54 编辑
zhaoshimax 发表于 2019-11-5 13:40
建议楼主在431输出2.5V上接103和102电容对地,这样测量会更稳定。还有控制端最好使用光耦或是在加一级三极 ...
个人经验,大家参考下,电磁干扰让MCU跑飞搞的头发白了!
1:TL431输出不加滤波电容,这个不是疏忽,是有意为之!
TL431做基准,我应用一般都不加输出滤波电容的。0.01-3uf 和10uf左右档容易出现震荡,之前CJ431在测试104输出电容时候出现过震荡!不好搞!
只要输入前有预稳压电路,和滤波电路,431不需要加输出滤波电路的!还有就是电池类应用也不需要加输出滤波电容的!
2:光耦加三极管,估计您是考虑风扇电磁干扰影响MCU复位或者误动作等!我这个调速电路是不科学的,为啥能工作呢?因为调速风扇太弱小了,它的电
磁干扰无法影响任何东西,哪怕不加续流二极管和并联抗干扰电容!懒,简单就好。;P当然,最好都加上!
PS:PIC-MCU的一个70W24V直流电机调速,实践经验如下:熬了好几宿,头发都白了!
1:如果加光耦,MCU引脚设置推挽直接驱动光耦,PWM输出控制MOS管这样,那么MCU电源必须和直流电机电源严格分开(不同绕组,并且绕组不相连或者2个供电电源),电磁干扰让MCU跑飞都是电源串入导致MCU复位,死机等,感应干扰可以通过手段搞定,但是电源串入干扰难受,哪怕在强大MCU一样死掉。示波器检测,电机启动停止瞬间,100多V的尖锐脉冲(续流二极管没法过滤这个脉冲,百度查放电管能做到减弱这个脉冲 干扰,没试过,哪位大神用过放电管可以说说经验)。
2:直流电机肯定要续流二极管并且并联多个104电容消除干扰用。MCU检测IO口一定要外接强上拉电阻这样,按键类要并联104电容,不用引脚强上拉电阻!
~~~~~~~~~~~~~~~~~~~~~~~~~~
第一次:电机,MCU 公用一个整流输出,MCU-7812+7805供电,电机续流二极管,电容都有,MCU强上拉,输出直接驱动MOS管,MCU随机跑飞,惨不忍
睹!
第二次:电机,MCU 公用一个整流输出,MCU-7812+7805供电,电机续流二极管,电容都有,MCU强上拉,EL817驱动MOS管,一样惨不忍睹,各种跑飞!
第三次:电机,MCU 公用同一个线圈,分2个整流桥分别输出(理论上除了绕组公用,其他完全独立),MCU-7812+7805供电,电机续流,电容都有,
MCU强上拉,EL817驱动MOS管,基本不发生MCU复位了,偶尔在最大输出时候,直接关断,会复位,示波器观察,最大输出关断瞬间还是有
尖脉冲传入MCU供电!
第四次:换个变压器,之前的就一个绕组的变压器。换成环变,电机使用环变主绕组,整流滤波后供给电机。环变付绕组直接整流滤波7805后给MCU供电,
光耦驱动MOS管,才解决这个问题。
自己总结了下经验: 驱动直流电机还真是个操蛋事情,因为之前没有这方面的经验,走了不少弯路。程序优化,MCU外围抗干扰,布线和屏蔽罩抗感应
干扰外,比较有效的手段就是在电源处下手,做到完全独立的2个电源,防止电源电磁干扰串入效果比较明显!
~~~~~~~~~~~~~~~~~~~~~~~
另:补充:之前请教过一大神,大神建议:可以公用一个绕组和整流输出,但是MCU供电必须加入隔离式DC-DC,才能避免干扰串入!因为手里没DC-DC模块,因此就没试验,大伙有机会可以试一下,我没试过的!
接到TL431的200欧姆电阻是否阻值可以选大一点。 g13108 发表于 2019-6-6 05:57
接到TL431的200欧姆电阻是否阻值可以选大一点。
可以的。(5-2.5)/电阻。理论上电流大于1ma即可。建议431电流大点稳定。200欧电流12.5ma这样。 谢谢分享。 建议楼主在431输出2.5V上接103和102电容对地,这样测量会更稳定。还有控制端最好使用光耦或是在加一级三极管这样电路可靠性会更高。 启停瞬间脉冲的问题你可以试试瞬态抑制二极管,这个我觉得挺管用了。我之前在直流220V的电机使用过,不太清楚对这种还有没有效果。当然续流还是要加的,根据低频电路特性辐射干扰基本可以忽略,最大原因就是风扇扰动造成的电源干扰,你可以试试大范围供电的单片机,比如2.0-5.5V. 本帖最后由 zaq 于 2019-11-26 18:52 编辑
zhaoshimax 发表于 2019-11-26 16:26
启停瞬间脉冲的问题你可以试试瞬态抑制二极管,这个我觉得挺管用了。我之前在直流220V的电机使用过,不太清 ...
谢谢帮忙, 我回头试试!
上次我回帖子的时候,我自己也尝试了下,我用压敏电阻并联直流电机两端(我从伺候电机学到的,伺候电机正反转都要保护,可能选择的是这种压敏电阻),比如电机电压24V,那么压敏电阻选1.5倍的耐压,36V这样! 示波器监测,启停瞬间电压被限制了大约30几V这样!
因为不是之前项目的电机,这次实验用的是24V40多W的直流电机!
测试结果感觉还可以!应该是有点作用呢!
你回头可以试试!
从理论上讲,瞬态抑制二极管响应速度要远远高于压敏电阻,效果应该会好很多的!回头我要试试!
PIC16F690宽电压的,不知道为啥电源串入干扰会引起复位跑飞,这个真理解不了,不知道为啥!
推测是不是电源瞬间高压,串过稳压IC,直接作用到MCU内核了导致复位跑飞!
可能是自己的PCB设计可能也有因素吧!反正电磁干扰问题,挺挠头的! 可以考虑无板焊接,比这样好点。:)
页:
[1]