切换到宽版
爱科技/爱创意/爱折腾/爱极致;技术知识分享平台,点击进入新版数码之家网站
  • 5359阅读
  • 18回复

[其他]PWM风扇调节中的噪声控制实验 [复制链接]

上一主题 下一主题
离线zrcb
 
发帖
95
M币
213
专家
7
粉丝
17
只看楼主 倒序阅读 我要置顶 楼主  发表于: 2014-03-30
使用PWM进行风扇控制的特点就不说了,坛里有很多方案,几年前我刚开始时也做了一个:
http://bbs.mydigit.cn/read.php?tid=355034
但不好调参,就放弃了。

实际应用来看,对PWM的控制频率选择是个重要问题,可能有性能、噪音、振动等多个方面的考虑,但进行小风扇的控制,比如电脑机箱散热风扇,只有噪音问题最难处理,网上查了一些资料,推荐pwm控制频率根据电机功能及功率,从几KHZ到更高都有,但实际效果都不知道,下面是我做的小实验,寻找小风扇pwm频率的影响。

1、使用我的旧12cm电源风扇,只有2个针,DC12V电压/0.18A电流,照片如下:
  
2N沟道mos管做开关,电路如下:

由于电压低,电流小,管子没有任何负担。

3、单片机用attiny45进行PWM控制,PB1pwm输出,可在线任意调整PWM频率和占空比,程序如下:

/*****************************************************
This program was produced by the
CodeWizardAVR V2.05.0 Professional
Automatic Program Generator


Project : t45_pwm_test_cv
Version :
Date   : 2014/3/29
Author : seaman
Company :
Comments:

Chip type               : ATtiny45
AVR Core Clock frequency: 8.000000 MHz
Memory model            : Tiny
External RAM size       : 0
Data Stack size         : 64
*****************************************************/

#include <tiny45.h>
#define uchar  unsigned char
#define uint  unsigned int

// Declare your global variables here

void main(void)
{
// Declare your local variables here
uchar pwm_rate=5;  //频率kHz,占空比%

// Crystal Oscillator division factor: 1
#pragma optsize-
CLKPR=0x80;
CLKPR=0x00;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif

// Input/Output Ports initialization
// Port B initialization
// Func5=In Func4=In Func3=In Func2=InFunc1=Out Func0=In
// State5=T State4=T State3=T State2=TState1=0 State0=T
PORTB=0x00;
DDRB=0x02;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Fast PWM top=OCR0A
// OC0A output: Disconnected
// OC0B output: Inverted PWM
TCCR0A=0x23;
TCCR0B=0x0b;  //0A:1000K 0B:125K 0C:31.25k时钟
TCNT0=0x00;
OCR0A=0x20;   //TCCR0B结合进行频率调整
OCR0B=(OCR0A/10)*pwm_rate;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: 1000.000 kHz
// Mode: Normal top=0xFF
// OC1A output: Disconnected
// OC1B output: Disconnected
// Timer1 Overflow Interrupt: On
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
PLLCSR=0x00;

TCCR1=0x04;
GTCCR=0x00;
TCNT1=0x40;
OCR1A=0x00;
OCR1B=0x00;
OCR1C=0x00;

// External Interrupt(s) initialization
// INT0: Off
// Interrupt on any change on pinsPCINT0-5: On
GIMSK=0x20;
MCUCR=0x00;
PCMSK=0x08;
GIFR=0x20;

// Timer(s)/Counter(s) Interrupt(s)initialization
TIMSK=0x04;

// Universal Serial Interfaceinitialization
// Mode: Disabled
// Clock source: Register & Counter=noclk.
// USI Counter Overflow Interrupt: Off
USICR=0x00;

// Analog Comparator initialization
// Analog Comparator: Off
ACSR=0x80;
ADCSRB=0x00;
DIDR0=0x00;

// ADC initialization
// ADC disabled
ADCSRA=0x00;

// Global enable interrupts
#asm("sei")

while (1)
     {
     // Place your code here      
     }
}
  
4、噪声没办法测,不可能去找个噪声仪,只能凭主观评判,晚上安静时大致估算吧,使用50%占空比,对多个频率进行了实测;对噪声较高的频率,调整10-90%占空比进行实验,结果如下:








5、为增强主观感觉,录制了一小段视频,选了噪声较高的2个频率进行对照:

http://v.youku.com/v_show/id_XNjkyMjI4MTI4.html

6、实验表明,大约1000-3000Hz是啸叫声主要频段,随频率升高,叫声加强,非常刺耳;1000Hz以下低频段噪音相对较低,但部分频率有低强度的“翁”声振动,长时间听不舒服;4000Hz以上高频段,几乎无啸叫声,只有风扇的风声,频率到10kHz以上时已没有啸叫声音。占空比影响小,在20%以下和80%以上时,相对声音略有下降。

7、建议pwm调节频率选择在5KHz以上,可以避免啸叫声音影响。

8、实验只在这一只风扇上做的,肯定对不同风扇结果会不一样,但考虑人耳朵的听觉范围,其它风扇大致也是近似的结果吧。

抛砖引玉了。
本文内容包含图片或附件,获取更多资讯,请 登录 后查看;或者 注册 成为会员获得更多权限
本帖最近打赏记录:共10条打赏M币+42专家+2
关键词: PWM风扇attiny45
离线wgff151

发帖
6381
M币
5812
专家
32
粉丝
440
只看该作者 1楼 发表于: 2014-03-30
请登录后查看
离线zzb105308410

发帖
318
M币
14
专家
1
粉丝
25
只看该作者 2楼 发表于: 2014-03-30
请登录后查看
离线浪子清明

发帖
4988
M币
1969
专家
4
粉丝
132
只看该作者 3楼 发表于: 2014-03-30
请登录后查看
离线decent

发帖
19733
M币
3586
专家
93
粉丝
483
只看该作者 4楼 发表于: 2014-03-30
请登录后查看
离线gaosong427

发帖
1140
M币
2541
专家
1
粉丝
20
只看该作者 5楼 发表于: 2014-03-30
请登录后查看
离线smzhudong

发帖
1748
M币
494
专家
4
粉丝
55
只看该作者 6楼 发表于: 2014-03-31
请登录后查看
离线黑色金鱼

发帖
2194
M币
297
专家
3
粉丝
44
只看该作者 7楼 发表于: 2014-03-31
请登录后查看
离线qq623452413

发帖
861
M币
591
专家
4
粉丝
22
只看该作者 8楼 发表于: 2014-03-31
请登录后查看
本帖最近打赏记录:共1条打赏专家+1
离线yzcit

发帖
1575
M币
2213
专家
1
粉丝
40
只看该作者 9楼 发表于: 2014-03-31
请登录后查看
快速回复
限80 字节
温馨提示:所有技术区严禁灌水,“沙发”“顶”字样;禁止广告贴;以免被删除
 
上一个 下一个