打印

急求 高手解答, PWM 控制風扇速度

[复制链接]
8184|60
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
meetof4|  楼主 | 2012-12-20 00:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 meetof4 于 2012-12-20 19:49 编辑

本帖最后由 meetof4 于 2012-12-20 00:46 编辑

小弟正在做一個用pwm控制風扇速度的功能, 用兩個button 分別控制風扇加速和減速
在網上找了很多資料
也用了仿真的軟件來測試成果 ,測試結果表示可行

   


但當實際在麵包版上測試, 就完全沒有反應, 風扇動也不動

  

以下是code
#include <reg52.h>
unsigned char timer1;
int time;
sbit PWM=P1^2;
void system_Ini()
{
    TMOD = 0x10;
        TH1 = 0xfe;
        TL1 = 0x33;
        TR1 = 1;
    IE = 0x8A;        
}
/**************************************************
Function: delay_us();
Description:延时  单位:微秒
/**************************************************/
void delay_us(unsigned int x)
{
    unsigned int i=0;
    for(i=0;i<x;i++)
    {;}
}
main()
{ time=50;
  system_Ini();
  while(1)
  {
    P2|=0xff;
        if(P2==0xfe&&time<100)
          {delay_us(1200);
          if(P2==0xfe)
          time+=1;}
        if(P2==0xfd&&time>0)
          {delay_us(1200);
          if(P2==0xfd)
          time-=1;}
        if(timer1>100)
    timer1=0;
    if(timer1<time)
        PWM=0;
    else
        PWM=1;
  }
}
/*************************************
[ t1 (0.5ms)中断] 中断中做 PWM 输出
  ------------1000/(0.02ms*250)=200Hz
*************************************/
void T1zd(void) interrupt 3    //3 为定时器1的中断号
{
        TH1 = 0xfe; //11.0592
        TL1 = 0x33;
         timer1++;
}



因為老師表示再做不出成果就會fail我
所以 跪求各位前輩們出手相救 謝謝!

相关帖子

沙发
jjjyufan| | 2012-12-20 08:47 | 只看该作者
风扇并个100uf 电解

使用特权

评论回复
板凳
jjjyufan| | 2012-12-20 08:50 | 只看该作者
一般调制的是+12V
普通2只脚的直流风扇,转速就是靠PWM来调压实现
12V 用U2 驱动Pmos 并个电容,gnd 接地 调整的时候并个万用表监控电压

使用特权

评论回复
地板
nqyijian| | 2012-12-20 08:56 | 只看该作者
有示波器的话,先看看有没PWM输出波形吧 ,至少分分开是你程序问题还是你搭电路的问题。

使用特权

评论回复
5
refee| | 2012-12-20 09:01 | 只看该作者
绿色底黑色字 看起来好累人 :L

使用特权

评论回复
6
meetof4|  楼主 | 2012-12-20 21:14 | 只看该作者
jjjyufan 发表于 2012-12-20 08:50
一般调制的是+12V
普通2只脚的直流风扇,转速就是靠PWM来调压实现
12V 用U2 驱动Pmos 并个电容,gnd 接地 ...

請求相關的線路圖

因為我是硬件苦手 麻煩各位

使用特权

评论回复
7
fp123123| | 2012-12-20 21:52 | 只看该作者
在风扇两端并一个100UF电解电容,把PWM频率改为3000,200Hz太低了。最好找没有缓启动功能的风扇

使用特权

评论回复
8
默雨听风| | 2012-12-21 11:23 | 只看该作者
首先,确定那个ULN芯片有没有给风扇送上电,你可以把风扇换成一个LED(串一个1K的电阻),看能不能亮。能亮说明这部分电路没问题。然后再单独给风扇加个电,看转不,能转说明风扇没问题。先确定问题在哪,自己想想

使用特权

评论回复
9
默雨听风| | 2012-12-21 11:24 | 只看该作者
对了,把那个ULN的芯片用法好好看一下,觉得有点问题

使用特权

评论回复
10
hawksabre| | 2012-12-21 16:16 | 只看该作者
分段测试  一个环节一个环节的排查问题   最终总是能找到问题的  呵呵   注意驱动电流和电压的大小

使用特权

评论回复
11
rdhmjd| | 2012-12-21 16:27 | 只看该作者
人为给ULN2823 7脚加高电平,转了,查MCU和程序,不转,查ULN2823和风机,风机电源等

使用特权

评论回复
12
meetof4|  楼主 | 2012-12-21 18:39 | 只看该作者
本帖最后由 meetof4 于 2012-12-21 19:53 编辑
rdhmjd 发表于 2012-12-21 16:27
人为给ULN2823 7脚加高电平,转了,查MCU和程序,不转,查ULN2823和风机,风机电源等

查MCU和程序,不转 <---这是否表示程序可能有问题??其实现在我都在迷惑中,到底是驱动问题还是程序
(用 Proteus的波器觀測到pwm波 )

使用特权

评论回复
13
meetof4|  楼主 | 2012-12-21 18:43 | 只看该作者
默雨听风 发表于 2012-12-21 11:23
首先,确定那个ULN芯片有没有给风扇送上电,你可以把风扇换成一个LED(串一个1K的电阻),看能不能 ...

单独给风扇加个电,风扇没问题
其实现在其中一个最大的问题是P1^2 出到pwm 波但不能驱动风扇

使用特权

评论回复
14
chunyang| | 2012-12-21 20:47 | 只看该作者
先检查电路是否正确,仿真图中可以不连电源和地(实际上是默认连接的),实际系统中必须正确连接,另外就是电机工作电压和功率是否合适,不能超出电源和驱动的带载能力。

使用特权

评论回复
15
lirunze| | 2012-12-21 21:02 | 只看该作者
这个不难啊

使用特权

评论回复
16
meetof4|  楼主 | 2012-12-22 15:16 | 只看该作者
本帖最后由 meetof4 于 2012-12-22 16:43 编辑
chunyang 发表于 2012-12-21 20:47
先检查电路是否正确,仿真图中可以不连电源和地(实际上是默认连接的),实际系统中必须正确连接,另外就是 ...

刚刚我试了用领导代替风扇的位置,LED可以控制光量,所以我假设PWM程序和基本电路没有出错

我想问要如何令DC风扇受PWM信号驱动并可以控制速度在电路上
果然不会只是接个ULN2803后再接直流风扇就令到佢受PWM控制这么简单

请求各位前辈教导希望有线路图教接驳

使用特权

评论回复
17
zhangliming420| | 2012-12-22 16:36 | 只看该作者
如果说LED做负载可以调光的话.你要实测下你的ULN2803的驱动电流有多大,是不是能够带动风机.

使用特权

评论回复
18
meetof4|  楼主 | 2012-12-22 18:06 | 只看该作者
zhangliming420 发表于 2012-12-22 16:36
如果说LED做负载可以调光的话.你要实测下你的ULN2803的驱动电流有多大,是不是能够带动风机. ...

ULN2803的驱动负载电流为500mA,驱动电压50V,应该是可以带动风机
但现在DC风扇就是不受pwm 所驱动

使用特权

评论回复
19
fp123123| | 2012-12-22 18:19 | 只看该作者
本帖最后由 fp123123 于 2012-12-22 18:21 编辑

这种风扇不是普通直流风扇,其实是无刷直流风扇,里面有调速电路,有的还用单片机控制,只用脉冲方波时,频率太低有时不能启动的。你先把PWM部分程序注释掉,定时器中断也去掉,在主程序里只用一句 PWM=1,这时电机应该直接在VCC下转起来

如果按这个方法能转起来,就直接在电机两端加一个100UF电解电容,就可以了


使用特权

评论回复
20
fp123123| | 2012-12-22 18:23 | 只看该作者
另外也有可能是风扇启动时,电流太大,把VCC拉低,你的单片机一直在反复RESET

使用特权

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

本版积分规则

1

主题

7

帖子

0

粉丝