搜索
bottom↓
回复: 12

求教如何测风扇转速?

[复制链接]

出0入0汤圆

发表于 2011-6-27 16:46:01 | 显示全部楼层 |阅读模式
我听说电脑使用的风扇的转速可以直接通过编程算出,而不需要外接其它的测量器件,不知是真是假,还请各位给我说说哈。

出0入618汤圆

发表于 2011-6-27 16:51:39 | 显示全部楼层
CPU风扇的转速可以用SMBus读出来。

出0入0汤圆

发表于 2011-6-27 16:53:38 | 显示全部楼层
我还以为你想测电风扇的转数,这个比较有意思哈

出0入8汤圆

发表于 2011-6-27 16:57:21 | 显示全部楼层
电脑使用的风扇一般都是3线制的,其中一根线就是转速脉冲(实际上是换向脉冲,就是霍尔感应器的输出)  测量这个脉冲的频率然后在换算下就知道转速了

出0入0汤圆

发表于 2011-6-27 17:04:23 | 显示全部楼层
就是计算PWM。没什么好奇的,我们用PWM驱动风扇,根据机内温度来调节转速的

出0入0汤圆

 楼主| 发表于 2011-6-27 17:06:41 | 显示全部楼层
回复【3楼】kebaojun305
-----------------------------------------------------------------------

纳尼,真好,那如果将风扇与单片机相连,是不是风扇开始转时就会送脉冲给单片机的?脉冲可以在示波器上显示出来吗?

出0入0汤圆

发表于 2011-6-27 17:10:49 | 显示全部楼层
回复【5楼】10192201  
-----------------------------------------------------------------------

只是PWM值,8位的。你要显示转速?还缺个PWM与转速的关系呢。

出0入8汤圆

发表于 2011-6-27 17:55:40 | 显示全部楼层
回复【5楼】10192201  
回复【3楼】kebaojun305
-----------------------------------------------------------------------
纳尼,真好,那如果将风扇与单片机相连,是不是风扇开始转时就会送脉冲给单片机的?脉冲可以在示波器上显示出来吗?
-----------------------------------------------------------------------

可以的,你用示波器可以测的到,如果测不到  可能要加个上拉电阻.   比如这个IC  SA276  包含 霍尔感应器+线圈驱动的.  单相无刷电机都是这种模式的了  至于转速  一般这种电机是2对磁极的,所以 电机转一圈 要换4次.就是2个周期一圈,算出来就行了.

出0入0汤圆

 楼主| 发表于 2011-7-2 10:08:20 | 显示全部楼层
回复【7楼】kebaojun305
-----------------------------------------------------------------------

我写的测速程序,但是貌似不行,请问一下哪里错了,谢谢
#include<reg52.h>
#define uint unsigned char
#define uchar unsigned int
sbit speed=P1^1;
sbit rs=P0^5;
sbit rw=P0^6;
sbit e = P0^7;
sbit psb=P1^7;
uchar low,high;
uint shi , ge , dian , shudu ,count = 0 ,i,j,k,l;
uchar number[10]={0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39};

void delay(uchar);
void com(uchar);
void read(uchar);
void init();

void main()
{
        EA=1;
        EX0=1;
        ET0=1;
        IT0=0;
        TMOD=0x01;
        TR0=0;
        init();
        while(1)
        {
                com(0x90);
                read(number);
        //        com(0x93);
                read(number[j]);
        //        read(number[k]);
        //        com(0x93);
                read(number[l]);
        }
}

void ex_int()interrupt 0 using 0
{
        init();
        EX0=0;
        TH0=0;
        TL0=0;
        TR0=1;
        while(speed==0);
        TR0=0;
        low=TH0*256+TL0;
        TH0=0;
        TL0=0;
        TR0=1;
        while(speed==1);
        TR0=0;
        high=TH0*256+TL0;
        shudu= ( ( 1000000 ) / (low+high) ) ;
        i=shudu/100;         //取千位
        j=(shudu%100)/10;   //取百位
//   k=(shudu%100)/10;     //取十位
    l=shudu%10;
        com(0x90);
        read(number);
//        com(0x93);
        read(number[j]);
//        read(number[k]);
//        com(0x93);
        read(number[l]);
        EX0=1;
}
void time()interrupt 1 using 0
{
        TH0=0;
        TL0=0;
        count++;
}

void delay(uchar x)                //延时;
{
        uint i;
        while(x--)
                for(i=0;i<110;i++);
}

void com(uchar com)
{
//        cs1=0;
//        cs2=0;
        rs=0;
        rw=0;
        P3=com;
        delay(5);
        e=1;
        delay(5);
        e=0;
        delay(5);
}

void read(uchar date)
{
        rs=1;
        rw=0;
        P3=date;
        delay(5);
        e=1;
        delay(5);
        e=0;
        delay(5);
        rs=0;
        rw=0;
}

void init()
{
        psb=1;
        com(0x30);
        delay(5);
        com(0x0c);
        delay(5);
        com(0x01);
        delay(5);
}

出0入0汤圆

 楼主| 发表于 2011-7-2 14:45:59 | 显示全部楼层
回复【7楼】kebaojun305
-----------------------------------------------------------------------

用示波器测出转速脉冲的最大电压也就100mv,这样如果跟单片机相连的话,那它不久一直给单片机传送低电平了吗?

出0入0汤圆

发表于 2011-7-2 14:50:52 | 显示全部楼层
有的是脉冲,有的是pwm脉宽。
有的需要加上拉电阻。

出0入0汤圆

发表于 2011-7-2 21:02:42 | 显示全部楼层
开集电极输出的。要加上拉电阻。转速=频率*30(一般四极风扇)

出0入0汤圆

发表于 2011-7-18 11:04:02 | 显示全部楼层
你这个可以参考电脑CPU的风扇
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 21:04

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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