Go Down

Topic: Progetto ReleDuino (Aggiornamento files al 18.07.2013) (Read 23680 times) previous topic - next topic

Federico_Paiano

#225
Aug 20, 2013, 02:27 am Last Edit: Aug 20, 2013, 02:37 am by Federico_Paiano Reason: 1

Negli altri aspetti, l'ENC28J60 risulta anche più economico e versatile. Se non hai problemi di costi, il W5100 può essere una scelta valida, però dipende da cosa vuoi farci.
Saluti,
Dario.


Dario, il tuo parere è molto importante perchè Souliss è un tuo progetto e nessuno meglio di te può darmi indicazioni rispetto all'hardware da impiegare in questo senso.
Il mio obbiettivo è quello di far funzionare le ReleDuino con souliss perchè credo che sarà un ottimo abbinamento hardware-software.
Se tu mi dici che utilizzando l'ENC28J60, con le tue librerie ottengo gli stessi risultati che utilizzando il W5100, non vedo perchè dovrei adottare soluzioni economicamente più dispendiose.
Con Souliss posso utilizzare allo stesso modo sia l'ENC28J60 che il W5100?
Grazie dell'attenzione, Federico.

veseo

La risposta è NI, provo a spiegarti il motivo.

Attualmente non ci sono differenze in termini di funzionalità e velocità di risposta ed in linea generale, tutte le funzioni sviluppate nascono per essere disponibili su piattaforme diverse, anche il maggiore utilizzo di RAM da parte dell'ENC28J60 non ha effetti, perché c'è un margine sufficiente.

E' anche vero che per la prima versione a supportare l'ENC28J60 non rispecchiava queste caratteristiche, perché inizialmente la comunicazione tra schede usava un protocollo binario, mentre verso Android c'era JSON. Per problemi di RAM, l'elaborazione in JSON veniva (in termini TCP) frammentata e questo introduceva dei tempi di risposta non confrontabili.

Dico questo perché in linea generale l'ENC28J60 può richiedere tempi di sviluppo maggiori ed impone maggiori limiti. In generale nel mondo Arduino, non solo in relazione a Souliss, qualsiasi cosa passa sempre prima per il W5100 e poi dopo (se c'è RAM) per l'ENC28J60.

Poi come dicevo c'è modo per sfruttare meglio l'ENC28J60, permettendo di utilizzare anche il DHCP ed un webserver integrato (mantenendo sempre un buon margine di RAM libera), ma non so quando e se questo avverrà. Souliss rimarrà con le funzionalità attuali per un po di tempo, la lista delle cose da fare è lunga, ma prima si deve raggiungere un numero critico d'utenza, altrimenti non vale la pena andare avanti.

Saluti,
Dario.
Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Federico_Paiano

@Veseo
Sei stato molto chiaro; la ReleDuino monterà il W5100.
Grazie, Federico.

Federico_Paiano

Salve a tutti,
Ho completato lo schema elettrico della ReleDuino v2. A differenza della prima versione, ho eliminato gli amplificatori i2c, lasciando a questo standard solo il compito di far comunicare i chip interni alla scheda.
Ciò che faceva l'i2c, ora è affidato agli standard TCP/IP (master to master) e RS485 (master to slave), per le comunicazioni tra schede remote.
Ho allegato lo schema elettrico in formato pdf affinchè chiunque voglia, possa studiarlo e fornire critiche e/o soluzioni al progetto.
Lo schema è diviso in blocchi, e ognuno potrà interessarsi delle parti che più preferisce.
Grazie dell'attenzione, Federico.

PaoloP

Fai un pensierino anche sul Wiz5200, dovrebbe essere un upgrade del 5100.

Federico_Paiano


Fai un pensierino anche sul Wiz5200, dovrebbe essere un upgrade del 5100.

Nello schema elettrico ho ancora inserito l'ENC28J60, comunque provvederò a consultare i datasheet del W5100 e del W5200 prima di sostituirli al chip.
Grazie, Federico.

veseo

Per la parte alimentazione, se non hai obblighi dovuti alla compatibilità con shield o similari, potresti lavorare esclusivamente a 3.3V, inoltre potresti utilizzare come tensione di lavoro i 24V utilizzando al posto del regolatore lineare un DC/DC switching.
In questo caso avresti due alternative, ridurre i 24V ad una tensione intermedia tra 12V e 5V da ridurre a 3.3V con un regolatore lineare, oppure arrivare direttamente a 3.3V dai 24 (dipende dall'integrato e dai componenti che intorno).

Un'altra considerazione (se non è già stata fatta) è quella di utilizzare come frequenza di clock 8 MHz, in modo da ridurre i consumi.

Saluti,
Dario.
Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Federico_Paiano

#232
Aug 31, 2013, 04:34 pm Last Edit: Aug 31, 2013, 04:41 pm by Federico_Paiano Reason: 1

Per la parte alimentazione, se non hai obblighi dovuti alla compatibilità con shield o similari, potresti lavorare esclusivamente a 3.3V, inoltre potresti utilizzare come tensione di lavoro i 24V utilizzando al posto del regolatore lineare un DC/DC switching.
In questo caso avresti due alternative, ridurre i 24V ad una tensione intermedia tra 12V e 5V da ridurre a 3.3V con un regolatore lineare, oppure arrivare direttamente a 3.3V dai 24 (dipende dall'integrato e dai componenti che intorno).
Un'altra considerazione (se non è già stata fatta) è quella di utilizzare come frequenza di clock 8 MHz, in modo da ridurre i consumi.
Saluti,
Dario.


In effetti nello schema elettrico, ulteriormente modificato rispetto a quello postato, ora la releduino viaggia quasi esclusivamente a 3.3V, ad eccezion fatta del chip atmega328, che può viaggiare sia a 3.3 che a 5 volts tramite apposito interruttore, a seconda che lo si voglia far andare a 8 o a 16 mhz.
Francamente non capisco i 24Volts DC da dove li dovrei prelevare, non ci vuole sempre un convertitore AC/DC da mettere sulla 220V ? Poi non capisco perchè 24 e non 12, che è la tensione accettata dai relè che impiego.
Francamente, se non ci sono problemi di spazio, opterei sempre per un lineare, che (spero di non sbagliare) da meno problemi di interferenze elettromagnetiche, riscaldano meno e sono praticamente eterni se ben dimensionati. Gli switching hanno sempre una durata, che può essere anche molto lunga, ma prima o poi si rompono.
Sulla parte riguardante l'alimentazione comunque non mi ritengo molto ferrato e accetto qualsiasi confronto.
Grazie, Federico.

veseo

E' solo un diverso circuito di alimentazione a bordo scheda, resta l'alimentazione con AC/DC esterno. L'utilizzo dei 24V è per continuità ad una tensione usata nei dispositivi industriali, ma i regolatori switching accettano tensioni in ingresso nella fascia 7V - 40V (dipende dal modello).
La tensione della scheda viene determinata dalle bobbine dei relé, esistono ovviamente relé a 24V.

In generale un regolatore lineare con ingresso a 12V ed uscita a 3.3V ha un'efficenza pari al 27.5% contro valori dal 70% ad 80% dei regolatori switching, con conseguente minore consumo e dissipazione di calore. Il costo complessivo è maggiore, anche a causa dei componenti al contorno.

Ad essere sincero, l'efficenza su un dispositivo con consumi limitati non è un parametro importantissimo, perché il beneficio economico è minimo. E' invece interessante la possiblità di lavorare a 24V (cosa non semplice con i regolatori lineari).

Saluti,
Dario.
Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Federico_Paiano

@Veseo
Sto inserendo nello schema elettrico il W5200 al posto del ENC28J60.
Il W5200 dovrebbe essere l'evoluzione del W5100. E' comunque compatibile con Souliss?
Grazie, Federico.

veseo

No, a meno che l'interfaccia verso la MCU non sia retrocompatible con quella del W5100. Non ho guardato il datasheet, ne la disponibilità di librerie.

Tu hai informazioni al riguardo?

Saluti,
Dario.
Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Testato

L'ho visto su altri progetto, dovrebbe essere retrocompatibile, ha piu ram e piu connessioni contemporanee disponibili
- [Guida] IDE - http://goo.gl/ln6glr
- [Lib] ST7032i LCD I2C - http://goo.gl/GNojT6
- [Lib] PCF8574+HD44780 LCD I2C - http://goo.gl/r7CstH

Federico_Paiano

#237
Sep 01, 2013, 07:30 pm Last Edit: Sep 01, 2013, 07:54 pm by Federico_Paiano Reason: 1

No, a meno che l'interfaccia verso la MCU non sia retrocompatible con quella del W5100. Non ho guardato il datasheet, ne la disponibilità di librerie.
Tu hai informazioni al riguardo?
Saluti,
Dario.


Controlla questo link: http://forum.arduino.cc/index.php/topic,102312.0.html e questo: https://github.com/Wiznet/W5200-Ethernet-Shield
Da quel che capisco dovrebbe essere compatibile al 100%, ma lo pongo alla tua cortese attenzione.
Grazie, Federico.

lesto

basta sostituire la cartella utilities nella libreria Ethernet, a quanto ho letto in giro
sei nuovo? non sai da dove partire? leggi qui: http://playground.arduino.cc/Italiano/Newbie

veseo

@ Federico, @Testato, @lesto

Da quanto vedo i due chip sono simili nella gestione SPI, ma l'indirizzamento dei registri ed altre piccole varianti sono incluse. Esistono dei file che partendo dai driver per il W5100, includono ed esclusono parti di codice per renderlo compatibile con il W5200.
In questi casi, prima di compilare va inclusa o eliminata la #define W5200 per forzare il codice in modalità 5200 o 5100.

Se parliamo di Souliss, in quel caso non viene utilizzata la libreria Ethernet di Arduino mentre sono utilizzati i file del W5100 con delle varianti per gestire gli oFrame (una struttura dati ricorsiva utilizzata per realizzare un frame composto riducendo al minimo l'uso della RAM), quindi c'è bisogno di un minimo di lavoro per far lavorare Souliss con il W5200.

Direi che in linea generale non vedo grossi problemi, posso includere il supporto al W5200. Devo vedere se riesco ad ottenere un campione per fare delle prove, devo vedere se Seeedstudio inserisce una shield nella fornitura per il progetto.

Tutte queste chiacchiere per dire, se vuoi usare il W5200 fai pure, farlo andare non sarà un problema.

Saluti,
Dario.

Souliss - Open-source Distributed Home Automation with Arduino and Android

http://www.souliss.net
Follow at @soulissteam

@veseotech

Go Up