我有一个240V风扇连接到Arduino 5V继电器。是否可以将风扇的速度从低到中改为高?取决于温度?
我尝试使用以下代码,但我没有看到我的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 :(得分:3)
使用analogWrite()不会导致机电继电器部分接通 - 如果PWM频率足够低,它将导致继电器损坏,或者无效 - 继电器将高于某个值。即使您可以部分地打开继电器,也可能不会使风扇运转得更慢 - 如果它是同步电机,它的速度将由主电源决定。频率,而不是电压。有些风扇不同步,可以进行电压控制,如the electronics sister site
所述如果您的风扇有多个速度开关,那么您可以通过使用多个继电器复制效果,一个更换每个开关。它们激励电动机中的不同线圈以改变速度such as in this wiring diagram
否则您将需要带DC或BLDC电机的风扇,您可以使用PWM更直接地改变速度。
答案 1 :(得分:0)
那是完全不可能的!使用没有任何硬件的程序来制作早餐是不可能的。继电器模块只能打开或关闭。他们无法改变阻力。首先,您尚未定义temp
。此外,由于您使用的是PWM,因此该代码可以轻松方便地破坏您的继电器模块。