Ethernet shield smette di funzionare...

Ciao a tutti, ho uno strano problema con la ethernet shield… Il mio progetto consiste nell’attivare via web una lampada a 220v mediante un relè FINDER 26.01 con bobina a 220v… Per fare ciò ho quindi pensato di pilotare questo relè mediante un altro relè con bobina a 5v da collegare ad arduino… Qui si presenta il problema con la ethernet shield: il codice che ho uplodato su arduino è questo:

#include <String.h>
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168,0, 5 }; // ip in lan
byte gateway[] = { 192, 168, 0, 1 }; // internet access via router
byte subnet[] = { 255, 255, 255, 0 }; //subnet mask
EthernetServer server(80); //server port

int ledPin = 9; // LED pin
char link[]="http://www.ioscripto.it"; //link data
String readString; //string
boolean LEDON = false; //LED status flag

void setup(){
Ethernet.begin(mac, ip, gateway, subnet);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
delay(2000);
digitalWrite(ledPin,HIGH);
}

void loop(){
EthernetClient client = server.available();
if (client) {
  boolean currentLineIsBlank = true;
  while (client.connected()) {
    if (client.available()) {
      char c = client.read();
        readString.concat(c); //store characters to string
      //if HTTP request has ended
      if (c == '\n' && currentLineIsBlank) {
         Serial.print(readString);
        if(readString.indexOf("L=1") > 0) {//lets check if LED should be lighted
          //led has to be turned ON
              digitalWrite(ledPin,LOW);           // Turns ON Relays 1
    delay(500);                           // Wait 2 seconds
    digitalWrite(ledPin,HIGH);          // Turns Relay Off
          LEDON = true;
          }else{
          //led has to be turned OFF

        }
        // now output HTML data starting with standart header
        client.println("HTTP/1.1 200 OK");
        client.println("Content-Type: text/html");
        client.println();
        // inizializzo pagina (da togliere se uso ajax)
        client.print("<html><head><title>ARDUINO Controllo Led via WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>");
        //send first heading
        

          if (LEDON) {
          	client.println("<span style='color:green'>ON</span>");
            }
            else
            {
          	client.println("<span style='color:grey'>OFF</span>");
          }
        client.print("<h2><a href='/?L=1'>accendi!</a> | <a href='/?L=0'>spegni!</a></h2>");

        //print link
        client.println("<hr />");
        client.print("<h2><a href='link'>Visita www.ioscripto.it!</a></h2>");
        client.println("<hr />");

        // chiudo pagina da togliere se uso ajax
        client.println("</body></html>");

        //clearing string for next read
        readString="";
        //stopping client
        client.stop();

        } //if c == /n .... devo capire che significa
    } // if client available
  } // while client connesso
} // if client
} //loop

Collegandomi alla pagina web creata e cliccando sul dovuto pulsante, il relè a 5v mi scatta: il problema è che se a questo relè non collego nulla tutto funziona perfettamente, quando invece ad esso collego il relè a 220v dopo 2 o 3 click sul pulsante nella pagina web, la ethernet shield smette di funzionare… Qualcuno saprebbe spiegarmi perchè senza relè a 220v collegato tutto funziona bene e queando invece lo collego non funziona più?.. Grazie mille a tutti…

Mai inteso parlare di disturbi elettromagnetici ? ... devi filtrare il tutto, valutando cosa hai collegato al relè ed eventualmente aggiungendo uno snubber sui contatti ... comunque preparati a soffrire ... non è mai cosa facile.

Guglielmo

P.S.: Visto cosa stai facendo, richiamo la tua attenzione sul punto 15 del REGOLAMENTO ed in particolare sui punti 15.2 e 15.3 ...

Ciao, grazie della risposta... Cosa intendi per filtrare?

inv3rse: Ciao, grazie della risposta... Cosa intendi per filtrare?

Aggiungere reti RC per eliminare i disturbi ... "filtrare" i disturbi elettromagnetici ... ma t'ho detto, non è cosa ne immediata ne semplice. Inoltre ... ... a cosa stai collegando quel relè ? Che tipo di relè stai usando ? Come lo hai collegato ad Arduino ?

Guglielmo

Lo stò collegando ad una lampada daa tavolo... E lo snubber come deve essere costituito? Da un diodo eppure da condensatore-resistenza?

Quando il contatto del relè a 5V si apre, anche il contatto del secondo relè a 230V si apre e nella sua bobina si genera una tensione molto elevata: il principio della bobina nelle automobili.

Questo causa una interferenza elettromagnetica che può bloccare il micro di Arduino.

Occorre quindi usare una rete di filtraggio per ridurre il fenomeno.

Di solito si usa un resistore da 100 ohm in serie ad un condensatore da 10n 400V (snubber) da mettere in parallelo alla bobina del secondo relè oppure un varistor oppure un diodo TVS bidirezionale.

inv3rse: Lo stò collegando ad una lampada daa tavolo... E lo snubber come deve essere costituito? Da un diodo eppure da condensatore-resistenza?

NON hai risposto alle mie domande ... ... Che tipo di relè ? .... metti un link al prodotto ... Come è collegato ad Arduino ?

Guglielmo

Allora: il relè a 5v è questo: RELE' 5V

Il relè a 220v è un FINDER 26.01...

Praticamente ho collegato la board con il relè a 5v ad arduino, poi a questo relè ho collegato la fase del 220v nel comune e nel NO (normalmente aperto) ho collegato un filo che va ad un terminale della bobina del FINDER 26.01... In pratica uso il relè a 5v come un pulsante...

Per prima cosa ... ... hai separato l'alimentazione del modulo relè dall'alimentazione di Arduino (due alimentatori separati) ?

Guglielmo

Il mio progetto consiste nell'attivare via web una lampada a 220v mediante un relè FINDER 26.01 con bobina a 220v

che tipo di lampada?

La lampada è una normale lampada da scrivania...

In che senso separare l'alimentazione?... Il relè a 5v è collegato ai pin 5V e GND di arduino, il finder alla rete elettrica...

inv3rse: In che senso separare l'alimentazione?... Il relè a 5v è collegato ai pin 5V e GND di arduino, il finder alla rete elettrica...

Appunto ... ... normalmente invece la sezione relè si alimenta con un suo alimentatore e Arduino con un altro ... altrimenti gli optoisolatori che mi sembra di vedere su quello schedino ... perdono di utilità.

Se ci fai una foto (nitida) del lato connettore (purtroppo sul sito che hai linkato non mostra nulla e non da alcuno schema) così riusciamo a vedere i pin che nome hanno e che componenti ci sono ... magari possiamo anche suggeristi come si usa CORRETTAMENTE quel modulo.

Guglielmo

P.S.: E se dedichi del tempo a fare un po' di ricerche qui sul forum ... è cosa di cui si è parlato decine di volte ...

Non hai risposto, una lampada da scrivania con lampadina incandescenza da 220v/40W è una cosa, una lampada da scrivania con trasformatore 220v/12v-20w è un altra

La prima non da problemi, la seconda si. Se rispondi con esattezza non perdi tempo ne te ne noi! che tipo di utenza stai controllando?