2017-02-15 513 views
1

我有一个240V风扇连接到Arduino 5V继电器。是否有可能将风扇的转速从低到中改为高取决于温度?Arduino继电器模块可以改变风扇的速度吗?

我试过使用下面的代码,但我没有看到我的240V风扇改变了速度。它只是打开和关闭。

int fan = 13; 
int fanSpeed; 
int tempMin = 25; 
int tempMax = 75; 

void loop(){ 
if ((temp >= tempMin) && (temp <= tempMax)) { 
    fanSpeed = map(temp, tempMin, tempMax, 32, 255); 
    analogWrite(fan, fanSpeed); 
    } 
} 
+0

请显示您的电路(原理图)和继电器类型。另外,这可能更适合arduino stackexchange。 –

回答

3

使用analogWrite()不会导致机电继电器切换部分上 - 它要么使继电器被损坏,如果PWM频率是足够低的,或没有任何效果 - 该中继将在上述一些价值。即使您可以部分开启继电器,也可能不会使风扇运转得更慢 - 如果是同步电机,其速度将取决于主电源的频率,而不是电压。一些球迷是不同步的,可以是电压控制,对the electronics sister site

所讨论如果你的风扇有多种调速开关,那么你也许能够通过具有多个继电器,一个替换每个开关复制的效果。这些激活了电机中的不同线圈以改变速度,such as in this wiring diagram

否则,您将需要带DC或BLDC电机的风扇,您可以使用PWM更直接地改变速度。

+0

感谢您的回答! – Sakura

+0

对不起,再问一次,是否可以通过使用相同的继电器来改变灯泡的亮度? – Sakura

+0

继电器实际上只是普通的转换开关。如果只有一个简单的开关就有办法做到这一点,那么你可以用继电器来做到这一点。你需要一个调光器而不是开关来改变灯泡的亮度。 –

0

这完全不可能!这与用没有任何硬件的程序制作早餐一样不可能。继电器模块只能打开或关闭电源。他们不能改变阻力。首先,您尚未定义temp。而且,由于您使用的是PWM,因此该代码可以轻松方便地销毁您的继电器模块。

相关问题