rele' passo passo e timeout pagina web

salve a tutti, ho questo problema a cui non riesco a venire a capo.
Utilizzando arduino e la ethernet shield, ho realizzato una piccola centralina per "domotizzare" l'ufficio. Sostanzialmente comanda l'accensione del computer, delle luci e del fotocopiatore tramite un semplice pulsante visualizzato da pagina web e un modulo a 4 rele' . Arduino e il modulo rele' hanno alimentazione individuale.
Per il computer ho collegato direttamente il rele' della scheda a quello del pulsante di accensione del case e non mi da nessun problema; per la luce e il fotocopiatore ho utilizzato due relè' passo passo in cascata ai relè del modulo, più' un pulsante per un eventuale accensione manuale.
Lo scopo dei relè' passo passo e' per sopportare il maggior assorbimento del comparto luci e del fotocopiatore, cosa che il modulo a 4 relè non avrebbe sopportato( da quello che ho letto in giro arriva max a 10A), inoltre per semplificare il tutto vista la necessita del pulsante manuale.
Comandando accensione o spegnimento di questi ultimi da pagina web il browser 8 volte su 10 tenta di ricaricare la pagina e spesso va in timeout con pagina irraggiungibile, o in alcuni casi ricarica mandando nuovamente l'input al rele.
Richiamando la pagina digitando l'indirizzo tutto viene ricaricato e funziona, questo succede sia da LAN che da WAN, ovviamente e' palese che il problema lo creano i relè' passo passo, ma non capisco il perché'...

vi allego lo sketch
grazie in anticipo per l'aiuto

CONTROLLO_REMOTO_UFFICIO_WIA_WEB.ino (3.01 KB)

troppi delay, in un web server non esistono ritardi o si va in timeout
Perchè delay 1000 prima di chiudere il client quandio in qualsiasi esempio leggi delay(1)?

Non è escluso che l'iserimento del carico (disturbante l'elettronica) tramite passo passo resetti arduino e tu da remoto non te ne accorgi.

Ma che senso ha accendere la fotocopiatrice da remoto se non c'è nessuno che fa le fotocopie? :slight_smile:

pablos:
troppi delay, in un web server non esistono ritardi o si va in timeout
Perchè delay 1000 prima di chiudere il client quandio in qualsiasi esempio leggi delay(1)?

Non è escluso che l'iserimento del carico (disturbante l'elettronica) tramite passo passo resetti arduino e tu da remoto non te ne accorgi.

Ma che senso ha accendere la fotocopiatrice da remoto se non c'è nessuno che fa le fotocopie? :slight_smile:

ahahahahahahaha hai ragione mi sono espresso male, e' un fotocopiatore-stampante connesso a una rete.
In merito ai delay faro' delle correzioni e dei test, ma per il reset di arduino (che non e' da escludere, in effetti) come posso verificarlo?

fatto le modifiche ai delay, sembra molto meglio. Si inchioda sempre in maniera casuale, pero' ho notato che in tal caso sulla shield lampeggia la spia gialla FULLD per una ventina di secondi poi ricarica la pagina. Significato?

ma per il reset di arduino (che non e' da escludere, in effetti) come posso verificarlo?

Provandolo localmente con un serial print di debug una semplice frase nel setup la vdrai ripetere se si riavvia.

Perché usi la macro F() solo su poche righe e non su tutto il client.print?

pochisse schede relé sono adatte per essere usate con 230VAC. Le distanze di sicurezza non sono rispettate.

Ciao Uwe

pablos:
Provandolo localmente con un serial print di debug una semplice frase nel setup la vdrai ripetere se si riavvia.

fatto le modifiche ai delay, pero' ho notato con delay 1 prima di chiudere il client si inchioda molto piu' spesso. Nel week verifico se arduino si resetta seguendo il tuo consiglio, una volta individuato il problema troveremo la soluzione. grazie per ora

uwefed:
Perché usi la macro F() solo su poche righe e non su tutto il client.print?

pochisse schede relé sono adatte per essere usate con 230VAC. Le distanze di sicurezza non sono rispettate.

Ciao Uwe

avevo iniziato a ottimizzare lo sketch per liberare memoria, in modo da verificare se l'instabilità era dettata da quello, poi mi sono perso in altre direzioni e non l'ho completato :slight_smile: