Прошу помощи Ардуино + модуль Драйвер MOSFET транзистор IRF520

megas32
Offline
Зарегистрирован: 24.10.2019

Прошу сильно не пинать, так как новичек.

Приобрел модуль Драйвер MOSFET транзистор IRF520 и убил 2шт ардуино уно.

Подключаю как описано на многих сайтах, то есть к модулю землю и пин ардуино, который должен всем управлять. В коннекторы питание и выход на нагрузку (полярность соблюдена верно) 

Обе ардуинки поработали некоторое время и вышли из строя, причем одна задымилась, вторая теперь только светодиодами светит. На ресет не реагирует. 

В качестве нагрузки подключал автоматический освежитель воздуха 5 вольт. 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Диод между + - нагрузки. Видимо нагрузка имеет индуктивный характер.

megas32
Offline
Зарегистрирован: 24.10.2019

Для нагрузки и питания ардуино использовался один источник питания, может из-за этого

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

megas32 пишет:

Прошу сильно не пинать, так как новичек.

Вот те на! А кого ж тогда пинать, если не новичков? Заслуженных ветеранов?

megas32 пишет:

Подключаю как описано на многих сайтах

А теперь нарисуйте точную схему подключения. Только свою, а не со многих сайтов. Также приведите скетч, только свой, а не со многих сайтов. И фото сборки приложите. 

Иначе будет только кофейная гуща.

megas32
Offline
Зарегистрирован: 24.10.2019

Подключал вот так

В прошивке ничего особенного, 10 пин настроен на вывод. При получении команды

if (T1.indexOf("/OSV=ON") != -1) {
 
  digitalWrite(osvesh, HIGH);
  delay(10000);
  digitalWrite(osvesh, LOW);
  
 }
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Простите, Вы умете читать? Я Вас просил схему, текст скетча и фото сборки.

Вы мне дали какой-то наскальный рисунок, огрызок в три строчки без начала и конца (да ещё и вставленный неправильно) и фигу вместо фото.

Разбирайтесь со своей проблемой сами! Если Вам это настолько не нужно, что лень рисовать схему и вставлять скетч, то мне, поверьте, это нужно ещё меньше.

megas32
Offline
Зарегистрирован: 24.10.2019

Скетч целяком

int rele = 8;
int osvesh = 9;
int esp=3;
int pleer = 2;
int b_1 = 7;
int b_2 = 6;
int rele_status;
int pleer_status;
int uder;
 
String T1, T2;
 
void setup()
 
{
Serial.begin(115200);
pinMode(esp, INPUT);
pinMode(b_2, INPUT);
pinMode(pleer, OUTPUT);
pinMode(b_1, INPUT);
pinMode(rele, OUTPUT);
pinMode(osvesh, OUTPUT);
 
 
digitalWrite(rele, HIGH);
digitalWrite(osvesh, LOW);
digitalWrite(pleer, LOW);
Serial.print("start");
}
 
void loop()
 
{
if(Serial.available()){    
String Var="";  
while (!Serial.available()) delay(20); 
delay(400); 
while (Serial.available())  
Var = Var + (char)(Serial.read());
 
T1=Var.substring(Var.indexOf("T1")+2,Var.indexOf("1T")); 
 
Serial.println(T1);
 if (T1.indexOf("/LED=ON") != -1) {
 
  digitalWrite(rele, HIGH);
   rele_status = 1;
 
 }
 if (T1.indexOf("/LED=OFF") != -1) {
 
  digitalWrite(rele, LOW);
   rele_status = 0;
  
 }
 
if (T1.indexOf("/OSV") != -1) {
 
  digitalWrite(rele, LOW);
   rele_status = 0;
  
 }
if (T1.indexOf("/OSV=ON") != -1) {
 
  digitalWrite(osvesh, HIGH);
  delay(10000);
  digitalWrite(osvesh, LOW);
  
 }
 
 
    
}
 
Serial.println(rele_status);
 
 
if (digitalRead(b_1) == HIGH) {
 
 
 if(rele_status == 1)
 {
   rele_status = 0;
 }
 else{
 {
   rele_status = 1;
 }
 
 
 }
 
 
  if(rele_status == 1)
   {
     digitalWrite(rele, HIGH);
   }
   else
   {
 
   digitalWrite(rele, LOW);
   }
 
   
delay(1000);
 
}
 
 
if (digitalRead(b_2) == HIGH) {
 
 
 if(pleer_status == 1)
 {
   pleer_status = 0;
 }
 else{
 {
   pleer_status = 1;
 }
 
 
 }
 
 
  if(pleer_status == 1)
   {
     digitalWrite(pleer, HIGH);
   }
   else
   {
 
   digitalWrite(pleer, LOW);
   }
 
delay(1000);
 
}
 
 
}
ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Раньше я сомневался, теперь окончательно убедился. что читать Вы не умеете и смысла фразы про то, что код "да ещё и вставленный неправильно" не поняли. Про фото сборки и схему - тоже.

Ну, тогда у Вас один выход - ищите подходящее видео на ютубе и ... решайте свою проблему сами. Удачи!

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

В этом освежителе что внутри ? Моторчик ?

megas32
Offline
Зарегистрирован: 24.10.2019

Фото делаю заново собирал всё

megas32
Offline
Зарегистрирован: 24.10.2019

 

int rele = 8;
int osvesh = 9;
int esp=3;
int pleer = 2;
int b_1 = 7;
int b_2 = 6;
int rele_status;
int pleer_status;
int uder;

String T1, T2;

void setup()

{
Serial.begin(115200);
pinMode(esp, INPUT);
pinMode(b_2, INPUT);
pinMode(pleer, OUTPUT);
pinMode(b_1, INPUT);
pinMode(rele, OUTPUT);
pinMode(osvesh, OUTPUT);





digitalWrite(rele, HIGH);
digitalWrite(osvesh, LOW);
digitalWrite(pleer, LOW);
Serial.print("start");
}

void loop()

{
if(Serial.available()){    
String Var="";  
while (!Serial.available()) delay(20); 
delay(400); 
while (Serial.available())  
Var = Var + (char)(Serial.read());
 
T1=Var.substring(Var.indexOf("T1")+2,Var.indexOf("1T")); 


Serial.println(T1);
 if (T1.indexOf("/LED=ON") != -1) {
 
  digitalWrite(rele, HIGH);
   rele_status = 1;
 
 }
 if (T1.indexOf("/LED=OFF") != -1) {
 
  digitalWrite(rele, LOW);
   rele_status = 0;
  
 }

if (T1.indexOf("/OSV") != -1) {
 
  digitalWrite(rele, LOW);
   rele_status = 0;
  
 }
if (T1.indexOf("/OSV=ON") != -1) {
 
  digitalWrite(osvesh, HIGH);
  delay(10000);
  digitalWrite(osvesh, LOW);
  
 }

 



 
    
}




Serial.println(rele_status);


if (digitalRead(b_1) == HIGH) {

   




 if(rele_status == 1)
 {
   rele_status = 0;
 }
 else{
 {
   rele_status = 1;
 }

 

 }


  if(rele_status == 1)
   {
     digitalWrite(rele, HIGH);
   }
   else
   {

   digitalWrite(rele, LOW);
   }

























   
delay(1000);

}


if (digitalRead(b_2) == HIGH) {

   




 if(pleer_status == 1)
 {
   pleer_status = 0;
 }
 else{
 {
   pleer_status = 1;
 }

 

 }


  if(pleer_status == 1)
   {
     digitalWrite(pleer, HIGH);
   }
   else
   {

   digitalWrite(pleer, LOW);
   }






delay(1000);

}



}

 

megas32
Offline
Зарегистрирован: 24.10.2019

Да, внутри моторчик