Vai al contenuto
PLC Forum


130 schede che dialogano tra loro: COME? - RS485 o CAN bus


ciccioc74

Messaggi consigliati

Salve a tutti. Ho un ennesimo problema che spero di risolvere insieme a voi:

Devo sistemare una rete di schede a microcontrollore costituita da 130 slave e un master collegato a pc, per controllarne lo stato e, eventualmente, fare eseguire un ciclo di test a comando. In pratica si tratta di una serie di inseguitori solari biassiali autonomi ma c'è la possibilità in caso di guasto di uno di essi di "appoggiarsi "a quello vicino. Inizialmente avevo pensato a RS485 ma sto avendo qualche perplessità(troppi grupi di 32 periferiche). Lo conosco bene e lo uso continuamente ma forse è meglio usare il CAN BUS che non ho mai usato. Che dite?

Link al commento
Condividi su altri siti


Se il problema 485 è il numero di nodi per linea puoi utilizzare questo ne puoi collegare fino a 256 ma esistono anche da 128 nodi

Puoi fare un aricerca parametrica sul sito TI e trovi la solzuione più adatta.

Se invece vuoi passare al CAN non posso aiutarti perchè conosco a malapena la teoria...

Link al commento
Condividi su altri siti

Ciao,

Se il tuo problema e' anche quello di bypassare eventuali anamalie correlate con schede guaste un semplice bus RS485 non ti risolve il problema. Qualsiasi scheda collegata sulla drop-line guastandosi potrebbe mettere in "corto" il bus e bloccare qualsiasi tipo di comunicazione con il resto del sistema.

Se hai problemi di questo tipo devi per forza ricorrere a sistemi "ridondati", due o piu' bus in cui e' possibile dirottare la comunicazione in caso di guasto sulla linea principale ,oppure costruire un sistema con topologia a "stella" in cui tutte le periferiche comunicano con il sistema centrale partendo da un "hub". In questo caso solo la rottura dell' hub potrebbe compromettere il funzionamento globale del sistema.

Non sottovalutare l'utilizzo di una rete ethernet. Esistono decine di moduli ready-to-use per questo protocollo con interfacciamento per microcontrollori. Se le distanze in gioco non sono rilevanti potresti anche pensare ad una rere wireless.

Ciao

Furno Gianluca

Link al commento
Condividi su altri siti

  • 2 weeks later...

Si questo potrebbe essere un problema. Io vorrei usare il bus CAN

lo hai mai usato in "gruppo"? fino a che numero?

Scusate il ritardo nelle risposte.

Link al commento
Condividi su altri siti

Sottoscrivo l'osservazione di mshadow

Io ho utilizzato i driver che ti ho segnalato ma non ho mai raggiunto il numero di dispositivi così elevato.

Link al commento
Condividi su altri siti

L'importante e' scegliere un bus con una topologia che permetta di evitare lo "stallo" del bus in caso di guasto su una sola periferica. Valuta attentamente questa cosa quando progetti il sistema.

Se utilizzi Ethernet hai qualche garanzia in piu' dato che la trasmissione dati avviene, nella maggior parte dei casi, utilizzando dei piccoli trasformatori di isolamento.

Furno Gianluca

Link al commento
Condividi su altri siti

per il can bus mi sa che devi usare dei micro che hanno gia a bordo

il controller dedicato .Non so fino a che punto possa essere semplice .

Forse in Rs485 , come ti dicono di sopra , risulterebbe piu semplice ed intuitivo .

Be il master dovrebbe gestire tutta la musica , basandosi su una tabella di comunicazione e memorizzare quando entro un tempo repstabilito ,lo slave non risponde .Se poi nella scehda slave succede un corto o qualcosa di brutto , bisognerebbe progettare un sistemino che quantomeno identifichi con un led il guasto , in modo tale da escludere o sostituire la scehda stessa .

Esistono dei transceiver optoisolati credo , non ne sono sicuro .

Il master dovrebbe dare una diagnostica dello slave che non risponde o qualcosa del genere .Immaginatevi 130 schede piazzate chissa dove , risulterebbe difficile l'intervento di riparazione .

L'ethernet ok , c'e' lo stack ip che pensa al controllo dati ect , pero e' gia tutta un'altra cosa , ci sono dei micro tipo rabbit , ma hanno costi differenti .

Io ti consiglierei una cosa , pur non sapendo cosa tu stia facendo :

Crei una bella rete lan , basata su 6-7 schede con a bordo chip che supportano ethernet .

Ad ogni scheda di queste assegni delle sottoreti in RS485

In questa maniera il rischio di guasto ma soprattutto le difficolta di diagnostica dovrebbero diminuire , cosa ne pensate?

ciao

walter

Link al commento
Condividi su altri siti

...per un progetto di questa entita' credo che il costo dei micro in ethernet sia ammortizzabile , d'altra parte anche col can bus , che sia open o altro , non pensare che sia immediata la cosa .

Certo il can ti offre la possibilità di avere una rete multimaster e di permettere il dialogo delle schede tra di loro , senza passare attraverso il master

Pero puoi anche fare una doppia RS485 , non so cosa vuoi fare

Link al commento
Condividi su altri siti

Diciamo che esistono decine di schede embedded con controller ethernet integrato ... basta scegliere.

Ovviamente se il costo non e' un grosso problema io sceglierei questo tipo di bus/network. L'utilizzo del semplice protocollo base TCP/IP puo' essere sufficente per il trasferimento delle tue informazioni

Magari facci conoscere altri dettagli sul progetto ...

Ciao

Gianluca

Link al commento
Condividi su altri siti

shadow , ti riferisci in particolare a qualche micro economico o a qualche chip ethernet che si interfaccia al micro in spi o seriale ?

Potresti dare qualceh link?

grazie

Link al commento
Condividi su altri siti

Ovviamente devi sentire il rivenditore qui in italia, il modulo che ho usato io adesso e' fuori produzione (EM202), se mi ricordo era intorno ai 60-70 Euro.

Attualmente sto lavorando su schede un po' piu' complesse per cui lo Stack TCP/IP e' totalmente software ed installato a bordo del micro principale e come interfaccia fisica esiste solo il PHY.

Gianluca

Link al commento
Condividi su altri siti

ok , per il prezzo , la documentazione , le librerie tcp/ip , http , udp ect ....

si dovrebbe fare un paragone con i cores a microprocessori rabbit ,il costo e' piu o meno quello .

Adesso guardo l'altro link

Link al commento
Condividi su altri siti

cosi ad occhio e croce , per i tiibbo potrei pensare ad un convertitore seriale-ethernet da interfacciare con un sistema embedded

Per i secondi , essendo un core a "piedini" si potrebbe dire che siano piu interessanti .I secondi sono core module tipo rabbit della zworld

I rabbit hanno piu i/o e piu seriali , pero e' anche vero che bisogna prima valutare le necessità del progetto , interessanti.

Per i secondi bisognerebbe progettare una scheda che ospiti il core , con gia a bordo il necessario , morsetti per la 485 , ingressi optoisolati , uscite a rele o open collector , bravo shadow ...

I secondi per il prezzo ?

Link al commento
Condividi su altri siti

cioe praticamente non c'e' un micro a bordo , programambile

Ma tramite un protocollo si scrive su dei registri che possono anche

abilitare o acquisire gli I/O , ho capito giusto shadow ?

Link al commento
Condividi su altri siti

sono proprio degli slave anche se e' piu opportuno parlare di server e client , che rendono trasparente quello che succede all'interno , mica male .Per applicazioni dirette a I/O potrebbero essere interessanti , al limite con la seriale o spi mi sembra di capire che si possano espandere gli I/O

Link al commento
Condividi su altri siti

scusate se non ho risposto prima: troppo lavoro.

Chiaccherando con qualcuno che ne sa più di me ( e non sono pochi) mi è venuta in mente una possibile soluzione al discorso "guasti che vanificano tutta la rete". Wireless! . In prima istanza se una scheda si brucia non me ne frega niente (semplicemente non risponde più) in secondo luogo evita un sacco di rame e coi tempi che corrono è importante. Avevo visto questi moduli tranceiver e per 15 euro (forse meno) potrebbero essere un'alternativa.In oltre hanno la possibilità di comunicazione mesh (le la cheda A non raggiunge la scheda C perchè troppo lontana allora si appoggia a B e la usa da "ponte") guardate qua: nRF905 multiband transceiver

che dite?

Link al commento
Condividi su altri siti

ciao ciccio,

visto che ti avvi verso la radiofrequenzxa un'idea alternativa potrebbe essere

questo componente è un 8051 con transceiver radio integrato

In un unico chip la radio e la tua applicazione.

Non è zigbee o altre diavolerie ma potrebbe essere una soluzione elegante ed economica.

Link al commento
Condividi su altri siti

Eccomi,

Scusate per la mia assenza .... ho avuto un po' da fare

La soluzione wireless e' sicuramente una strada percorribile, pero' bisogna anche considerare la complessita' del sistema.

Sono piu' di 100 slaves, bisognerebbe avere dati certi sull'affidabilita' di una rete mediamente complessa.

Gianluca

Link al commento
Condividi su altri siti

Attenzione pero'

Il dispositivo CC2510F16 sembra essere dedicato per sistemi punto-punto e non per reti con tipologie piu' complesse.

Se opti per una soluzione wireless e' meglio valutare le reti ZigBee

Gianluca

Link al commento
Condividi su altri siti

Viste le distanze da raggiungere non credo che ZigBee sia la soluzione migliore.

Credo che esistano pure gli RfPic che sono pic con il modulo RF integrato.Li conocete?

Link al commento
Condividi su altri siti

Si, conosco rfPIC ma non li ho mai usati personalmente

Visto il numero relativamente limitato, ti consiglio pero', in questa istanza di comperare dei moduli OEM gia' pronti per l'uso

Se consideri anche solo il fatto che l'antenna e' gia pronta ed accordata

ti salvi una montagna di tempo .....

Ciao

Gianluca

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...