Я создаю коробку, которая позволяет включать и выключать источник питания с помощью кнопки.
Если я подаю питание на Аурдино через микро USB, он работает как надо. Одно нажатие на кнопку, и реле включается (свет загорается и издается щелчок).
Но когда я вынимаю USB и пытаюсь подать на Arduino питание от преобразованных 5В, через пины, то при нажатии на кнопку оно уходит в какую-то петлю. Я слышу/вижу, что реле быстро включается/выключается в непрерывном цикле.
Что тут происходит? Я предполагаю, что есть проблема с макетной платой с Arduino, но я не могу успешно отладить проблему.
int ledPin = 13; // choose the pin for the LED
int inputPin = 7; // choose input pin 7 for the push button
int relay = 8;
void setup() {
pinMode(ledPin, OUTPUT); // declare LED as output
pinMode(inputPin, INPUT); // declare push button as input
pinMode(relay, OUTPUT);
}
void loop() {
int pushed = digitalRead(inputPin); // read input value
if (pushed == HIGH) { // check if the input is HIGH
digitalWrite(ledPin, HIGH); // turn LED OFF
digitalWrite(relay, LOW);
} else {
digitalWrite(ledPin, LOW); // turn LED ON
digitalWrite(relay, HIGH);
}
}
Безопасность прежде всего.
Судя по всему, ваша плата Arduino тухнет, как только вы подаете на нее питание с помощью SMPS. Я бы порекомендовал вам сначала экранировать сеть 230 В и сделать ее полностью безопасной для устранения неполадок. Я также рекомендую вам проверить выход регулятора 5V. Каким-то образом ваш источник питания постоянного тока либо работает неправильно, либо слишком сильно шумит для Arduino. Хотя шум должен быть устранен с помощью регулятора 5 В, но все же есть на что обратить внимание. Кроме того, вашему 5-вольтовому регулятору может понадобиться радиатор для отвода тепла. 12В - 5В = 7В. Следовательно, 7 В * 1,5 А = 10,5 Вт. Даже если вы не используете 1,5 А тока, ваш 5-вольтовый регулятор все еще может нагреваться, и вам может понадобиться радиатор, чтобы он оставался прохладным и счастливым.
Я также рекомендую не использовать макетную плату и иметь сетевое напряжение в том же месте. Это не очень хорошая практика и, безусловно, довольно рискованная. Я бы порекомендовал вам собрать печатную плату, в которой все компоненты припаяны (приклеены) к плате без проводов, которые могут отсоединиться от макетной платы и коснуться любых «неэкранированных» клемм 230 В, что является просто катастрофой, ожидающей своего часа.
Судя по вашему изображению, вы сделали свой собственный преобразователь 12 В в 5 В, поэтому может произойти то, что напряжение, поступающее на ваш Arduino, падает ниже 2,7 В, и это вызывает сброс Брауна (поскольку он включен по умолчанию). Это объясняет тот факт, что ваш Arduino сбрасывается от внешнего питания, а не от USB. Однако вы должны проверить, что напряжение
Только я
эйвиндмл
Только я
Тони Стюарт EE75
Джейфаукс
Джейфаукс
эйвиндмл
setup()
, и это подтвердило ваши подозрения, что он действительно перезагружается. Сейчас перезагружается один раз, потом работает без перезагрузки после той первой перезагрузки. Тогда вопрос в том, как мне предотвратить «падение напряжения», чтобы он не перезагружался?эйвиндмл
эйвиндмл
Джейфаукс
эйвиндмл