2017-02-15 487 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,因此該代碼可以輕鬆方便地銷燬您的繼電器模塊。

相關問題