0

我正在尝试使用Arduino Uno控制螺线管。我按照教程使用 Arduino 控制螺线管中描述的说明进行操作。

螺线管是电磁阀 - 5 V(小)电磁阀 36 V。电阻10kohm,三极管IRF520,二极管1N4007,测得直流电池电压为7.45V。

当我连接一个小螺线管时,它会正常振动 3 或 4 次,它的手臂只是卡在某个位置并开始高频振动(有点颤抖)。如果我使用大螺线管,它会振动 3 或 4 次然后停止。

这是我的代码:

int solPin = 13;

void setup() {                
    pinMode(solPin, OUTPUT);
}

void loop() {
    digitalWrite(solPin, HIGH);
    delay(100);               
    digitalWrite(solPin, LOW);
    delay(100);               
}

问题出在哪里,如何解决?

4

2 回答 2

0

delay(int x)其中 x 以毫秒为单位。所以你让它延迟了 1/10 秒?

您的MOSFET晶体管非常大,但只要 Arduino 能够提供电流以使其保持打开状态,这就很好。您应该编写一个打印数字的打印语句,例如

 Serial.println(count);
 count = count +1;

如果这个数字一直在重置(不是因为溢出),那么你就知道你的电力系统有问题。

PS:别忘了

   Serial.begin(9600);

电压问题

图像显示 2 个 9 伏串联,因此为 18 伏。我不知道所需的最小电压是多少,但这可能很重要。

于 2013-05-21T15:24:43.950 回答
0

根据您的代码,它似乎可以正常工作;您的代码将产生一个 5hZ 输出信号。我找不到你的原理图,所以我缺乏很多细节。螺线管不应由 Arduino 供电。arduino 不是电源。尝试将每个延迟增加到 1000,然后您应该以 0.5hZ 的速率循环。

于 2020-04-10T19:28:20.267 回答