[CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Sezione dedicata ai Microcontrollori e ai Sistemi Embedded

[CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby dbe8f » 22 Aug 2013, 21:46

Buona sera a tutti,

Sono un nuovo arrivatò sul forum.
Vogliate scusarmi per il mio italiano se non è del tutto perfetto, non lo scrivo quasi mai. Vivo in Svizzera francese.

Ho bisogno di un consiglio da parte Vostra perché non sono per niente un esperto in elettronica (vecchie conoscenze di almeno 25 anni) e non conosco niente di microcontrollori. La programmazione di applicazioni di gestione la conosco, ma non di programmazione in "tempo reale". Vorrei che il mio progetto o parte di esso sia realizato con una o più schede Arduino.

Come dice il mio titolo, desidero "gestire" il plastico con un microcontrollore. Il plastico è composto da circa 15 blocchi (troncchi, sezioni, ...) ogni blocco ha circa 10 entrate (10 * 15 = 150 entrate) e 5 uscite (10 * 5 = 50 uscite). Ho fatto qualche ricerca sul net per vedere se qualcuno aveva già fatto qualcosa di simile, ma non ho trovato. Ho trovato degli articoli per guidare un treno con una scheda Arduino, ma nulla che spiega come fare quando si hanno così tante I/O. I progetti trovati sono sempre per pilotare un treno con accelerazione e frenata con degli H-bridge, ma questo è tutto.

Le domande che vorrei porre sono:
Qualle architettura hardware (numero di schede Arduino e che tipo e quale elettronica da mettere in torno alle carte ARDUINO) e quale architettura software devo mettere in atto per gestire le 150 I e 50 O ?
Qualora l'applicazione deve essere flessibile e scalabile per aggiungere blocchi all'avenire, se necessario.
D'altra parte, è difficile da realizzare se piu schede Arduino devono essere collegate (communicare) tra di loro ?

In un primo tempo, l'entrate e l'uscite sono solo informazioni di livello logico (1 o 0), con le Entrate determino programmaticamente lo stato delle uscite. L'alimentazione trazione (invio della corrente sui binari) è gestita al di fuori del Arduino da un'elettronica di potenza. L'informazione all'entrate può essere indicata da un pulsante o del contatto di un relè o da un'uscita del Arduino che va all'entrata di un altro Arduino (da vedere se è possibile).

Ecco ho descritto un pò il mio progetto. Se avete bisogno di ulteriori informazioni per potere rispondermi, non esitate a chiedermi.

Vi ringrazio per le vostre risposte e non vedo l'ora di leggerle.

Cordiali saluti
Dario.
Ringrazio anticipatamente tutti voi che prendete del tempo per rispondermi.
Un saluto dalla Svizzera.


Dbe8f
dbe8f
 
Posts: 6
Joined: 22 Aug 2013, 20:56
Location: Svizzera francese

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby Leonardo » 22 Aug 2013, 22:03

Salve Dbe8f e benvenuto,

Noto che il forum si espande velocemente anche fuori dai confini del bel paese.

Se servono I/O aggiuntivi è possibile utilizzare degli shift register o degli IC port expander, tali I/O non saranno però capaci di erogare molta corrente.

Quante corrente necessita ogni I/O?

Chaleureusement
Leonardo
Il mio blog di elettronica: http://electro-logic.blogspot.it
User avatar
Leonardo
 
Posts: 502
Joined: 29 May 2013, 22:31
Location: Parma

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby Fagos » 22 Aug 2013, 22:04

@dbe8f,
benvenuto al forum e complimenti per il progetto che hai intenzione di realizzare.

Io sono un neofita alle prime armi con i microcontrollori e quindi non saprei bene indirizzarti.
Di sicuro alcuni qui del forum saranno in grado di darti delle dritte, specialmente deluca anche se penso che in questo periodo sia in ferie.

150 linee non sono poche, la difficoltà sta su come leggere tutti gli ingressi. Io penso che basti un solo arduino, ma per l'architettura devi aspettare i consigli di altri.

ciao e buona serata.
User avatar
Fagos
 
Posts: 100
Joined: 31 Aug 2011, 15:01

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby dbe8f » 23 Aug 2013, 08:37

Ciao Leonardo e Fagos,

Grazie per le vostre risposte.

Infatti havevo pensato agli Expander tipo MAX7318 ma ci sono tre cose che mi pongono qualche problema e che mi fanno un pò paura (ma forse che sono falsi problemi che mi pongo !!!).
    1. Vorrei avere il meno possibile componenti elettronici perchè non sono un esperto.
    2. Temo che la programmazione sia complicata per me perchè in tempo reale e programmazione di MC non ne capisco niente.
    3. La distanza tra l'elettronica e i punti di rilievo dei dati sul plastico puo essere di qualche metro (3 o 4). Non so come si comporterebberò i MAX e come i segnali arriverano ai MAX.
Mi puoi rispondere su queste mie interrogazioni ?
Leonardo wrote:Quante corrente necessita ogni I/O?
Penso al massimo 20 o 30 mA, commando di transistor o 2 o 3 LED (3*10mA).

Fagos wrote:complimenti per il progetto che hai intenzione di realizzare

Grazie per i complimenti, è verò che non avendo esperienza in elettronica, il progetto è forse un pò ambizioso... però ho tempo e di sicuro ci riuscirò non appena avro l'architettura hardware definita.
Fagos wrote:150 linee non sono poche, la difficoltà sta su come leggere tutti gli ingressi
Infatti, tutto il problema risiede in quello che hai detto, 150 ingressi non sono pochi. Il problema non è tanto come leggerli (nel senso programmazione) ma come implementarli fisicamente (quanti componenti).

Non esitate a darmi dei consigli o farmi delle proposte.
Buona giornata
Cordialmente

Dario
Ringrazio anticipatamente tutti voi che prendete del tempo per rispondermi.
Un saluto dalla Svizzera.


Dbe8f
dbe8f
 
Posts: 6
Joined: 22 Aug 2013, 20:56
Location: Svizzera francese

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby deluca » 23 Aug 2013, 10:36

@dbe8f, intanto benvenuto al forum.

per prima cosa vorrei sapere se sei in grado di realizzare schede elettroniche, PCB e quant'altro per realizzare una architettura hardware distribuita.
Ci sono poi 2 strutture fondamentali per gestire una automazione di questo tipo:

1) Hardware distribuito, se gli I/O sono concentrati in aree ben definite e possono essere raggruppati
2) Hardware concentrato, se gli IO non sono concentrati e provengono da zone molto diverse e distanti e non possono essere raggruppati.

In entrambi i casi basterebbe una scheda a microcontrollore che funge da master interfacciata al PC(se si vuole) e una serie di schedine che fanno da slave dotate di un certo numero di I/O.

Per gestire i 150 ingressi potresti realizzare delle schede con a bordo 2 chip di espansione a 16 bit indirizzate opportunamente.
Quindi gruppi di 32 ingressi ... con 5 schedine potresti gestire 160 I/O.

Intanto vediamo se queste soluzioni sono per te fattibili,
poi passeremo alla scelta dei chip, anche perchè quello da te menzionato mi sembra risulti essere a montaggio superficiale e potresti incontrare non pochi prb per montarlo, vista la tua poca esperienza.

Alla prox.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby dbe8f » 26 Aug 2013, 13:39

Ciao Signor Deluca,

Grazie per la risposta.

Diciamo che per le schede, ho i software per realizzarle, ma per produrle non sono attrezzato. Communque posso farle realizzare da scuole techniche o altrove. E anchè una delle raggioni perchè voglio il minimo di componnenti elettronici da introdurre nel sistema (progetto).

Deluca wrote:1) Hardware distribuito, se gli I/O sono concentrati in aree ben definite e possono essere raggruppati
2) Hardware concentrato, se gli I/O non sono concentrati e provengono da zone molto diverse e distanti e non possono essere raggruppati.
Non so proprio quale sarebbe la migliore struttura ma quello che posso dire è che il plastico ha dimensioni di + o – 4m x 4m e come lo dicevo nel mio post precedente le distanze di rilievo dei dati possone essere di 3 o 4 metri. Ma tutta l’elettronica puo essere ragruppata in un zona più o meno vicina. Sono solo i punti di rilievo che sono distanti.

Deluca wrote:In entrambi i casi basterebbe una scheda a microcontrollore che funge da master interfacciata al PC(se si vuole) e una serie di schedine che fanno da slave dotate di un certo numero di I/O.
Questo potrebbe essere fattibile se questa soluzione è flessibile e estendibile se si vuole aggiungere delle sezioni e dunque degli ingressi e delle uscite.

Deluca wrote:Per gestire i 150 ingressi potresti realizzare delle schede con a bordo 2 chip di espansione a 16 bit indirizzate opportunamente.
Quindi gruppi di 32 ingressi ... con 5 schedine potresti gestire 160 I/O.
Questo vuol dire gestire gli I/O con il programma ?

Deluca wrote:anche perchè quello da te menzionato mi sembra risulti essere a montaggio superficiale
Cosà intendi dire per "montaggio superficiale" non capisco bene il senso ?

Verramente io havevo immaginato mettere piu schede Arduino insieme (tipo NANO), una per sezione e che communicasserò tra di loro. Tipo lo schema del file allegato (le scritte sono in francese ma non sono tante).

Sperò che con queste risposte puoi aiutarmi, se manca qualche informazione per potere rispondermi, non esitare a chiedermele.

Buon pomeriggio.

Cordialmente
Dario
CommandeBlocArduino.jpg
CommandeBlocArduino.jpg (111.23 KiB) Viewed 5964 times
Ringrazio anticipatamente tutti voi che prendete del tempo per rispondermi.
Un saluto dalla Svizzera.


Dbe8f
dbe8f
 
Posts: 6
Joined: 22 Aug 2013, 20:56
Location: Svizzera francese

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby deluca » 26 Aug 2013, 17:34

@Dbe8f,
ho analizzato la tua idea,
fino ad ora abbiamo parlato della struttura hardware, ma la scelta di quest'ultima potrebbe essere fortemente dipendente da come
vorresti gestire il tutto.
Ci sarà un PC su cui gira un software di supervisione(tipo sinottico dei treni) interamente riconfigurabile
o vuoi realizzare un firmware per arduino che automatizzi il tutto attraverso semplici comandi manuali? e quindi non impiegare il PC?

Quindi, è previsto l'uso del PC ??
treni.jpg
treni.jpg (86.67 KiB) Viewed 5963 times
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby dbe8f » 27 Aug 2013, 08:50

Ciao Signor Deluca,

Molte grazie per le risposte rapidissime.

Ci sarà un PC su cui gira un software di supervisione(tipo sinottico dei treni) interamente riconfigurabile
No, non desiderò avere un PC che pilota il sistema perchè questo plastico è integratto ad un'altro plastico che lui è già gestito con un programma e PC (non l'ho fatto io, l'ho comperato). Avrei un panello di controllo con dei pulsanti per attivare un comando. Quindi i dati sono solo dei comandi che vengono da pulsanti o contati di relè o di un'usctia di un pin che va verso l'ingresso di un altro pin.

o vuoi realizzare un firmware per arduino che automatizzi il tutto attraverso semplici comandi manuali?
Quindi la risposta è esattamente questa che dici --> Un firmware con comandi manuali e senza PC.

Per il momento non piloterei ne anchè la trazione con uscite PWM. Solo un uscita che mi indica se il treno deve rallentare o se può proseguire normalmente (seganle VIT) nel mio schema.

Infatti, vorrei fare semplice per imparare ad utilizzare un microcontrollore e gestire dei casi un pò complessi come un binario che arriva su 2 o 3 scambi l'uno dietro l'altro. Con dell'elettronica discreta diventa molto difficile ed ingombrante.

Ecco perchè l'idea di mettere una scheda Arduino per blocco e il meno possibile componenti elettronici al contorno.

Ancora molte grazie per le risposte.
A presto.

Cordialmente

Dario
Ringrazio anticipatamente tutti voi che prendete del tempo per rispondermi.
Un saluto dalla Svizzera.


Dbe8f
dbe8f
 
Posts: 6
Joined: 22 Aug 2013, 20:56
Location: Svizzera francese

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby deluca » 28 Aug 2013, 17:13

ok,
Ci sono 2 possibili soluzioni :

a) realizzare una net con un arduino-mega e tanti arduino-nano usando come bus elettrico per la comunicazione la RS485 e implementazione del protocollo standard o proprietario.
b) realizzare una net con un arduino-mega come master e varie schedine slave realizzate a partire dai PCF8575 o similari interfacciate con il TWI in I2C.

nel caso (a) devi aggiungere soltanto un MAX485 per ogni schedina arduino e la trasmissione, dal punto di vista HW, sarebbe affidabilissima poichè i dati seriali(comandi, valori) viaggerebbero su doppino in modo differenziale, quindi immuni a disturbi o prb derivanti dalla lunghezza del cavo.

nel caso(b) avresti una trasmissione I2C che limiterebbe la distanza tra gli slave e il master(a meno di non usare dei buffer I2C repeater), inoltre dovresti gestire gli interrupts attraverso l'uso di un terzo filo. L'uso del terzo filo per l'interrupt è necessario per rilevare il cambiamento di stato su uno degli ingressi dell'extender.

Teoricamente potresti mettere in (or) tutti gli interrupts e poi con una sub andare a rilevare su quale extender è cambiato lo stato degli ingressi.
In questo tipo di configurazione non puoi perdere eventi cruciali, quindi, non puoi gestire il sistema in polling, ma devi intercettare ogni singolo evento(cambiamento di stato) attraverso l'interrupt-handling.

PCF8575-pinout.jpg
PCF8575-pinout.jpg (10.37 KiB) Viewed 5936 times


Ora, le due soluzioni sono entrambe valide e fattibili, ma tutto dipende dalla spesa che vuoi affrontare e dal time-to-market che vuoi rispettare.

alla prox.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby dbe8f » 30 Aug 2013, 15:30

Ciao Signor Deluca,

Grazie per la risposta, sto riflettendo a quale sarebbe la migliore soluzione per me, con le mie conoscenze !!!

Nel mio post precedente avevo scritto:
Verramente io havevo immaginato mettere piu schede Arduino insieme (tipo NANO), una per sezione e che communicasserò tra di loro
Avrei una domanda : la mia soluzione è possibile o no ?

Se capisco tutto bene quello che mi hai spiegato nell'ultima risposta, la risposta è NO non è possibile, ma ho capito bene o no ?
Voglio dire che la mia soluzione, non è possibile di collegare semplicemente delle schede Arduino tra di loro (come l'ho fatto io) ma devo inserire un protocolo RS485, I2C,... in modo che possano communicare tra loro, questa mia riflessione è giusta ?

Se mi puoi dare solo una risposta per queste mie domande, ti ringrazio. Dopo le mie riflessioni risponderò alle tue domande. non è tutto facile quest'elettronica !!!

Buon fine di giornata
Cordialmente

Dario.
Ringrazio anticipatamente tutti voi che prendete del tempo per rispondermi.
Un saluto dalla Svizzera.


Dbe8f
dbe8f
 
Posts: 6
Joined: 22 Aug 2013, 20:56
Location: Svizzera francese

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby deluca » 30 Aug 2013, 15:56

@dbe8f,
puoi collegare sullo stesso bus RS485 più schede arduino-nano(slave) e un solo arduino-mega(master), sfruttando la uart(RXD e TDX + un segnale controllo direzione dati).
Hai necessità di trasformare il segnale delle uart di ogni ardu che è TTL compatibile in RS485 e questo lo fai aggiungendo gli integrati di cui ti ho parlato.

A questo punto puoi collegare sullo stesso bus tutti i tuoi arduino-nano(in parallelo), questi saranno i tuoi slave.
Gli slave staranno tutti in ricezione e potranno trasmettere lo stato degli ingressi o cambiare lo stato delle uscite, solo in particolari condizioni.

Il master(arduino-mega) invia una richiesta di informazione sul bus(RS485).... , lo slave che rileva nel pacchetto dati un indirizzo ad esso associato, risponde alla richiesta inviando la risposta, subito dopo si rimette in ascolto.
Ovviamente solo uno slave alla volta può essere interrogato, inoltre diciamo che questa struttura può essere gestita in modalità polling.
Abbiamo così realizzato una configurazione Master-Slave, con un solo master e più slave.
Ciao
Il mio sito: http://www.delucagiovanni.com ......e la chat: chat/
User avatar
deluca
Site Admin
 
Posts: 1104
Joined: 19 Jun 2011, 10:44
Location: 95123 - Catania (Italy)

Re: [CONSIGLIO] Gestione di un plastico con scheda ARDUINO

Postby dbe8f » 06 Sep 2013, 13:31

Ciao Signor Deluca,

Grazie per la risposta e mi dispiace per il ritardo e di non avere risposto prima ma non ho proprio tempo queste prossime settimane.

Cerco comunque di rispondere questo fine settimana.

A presto
Cordialmente

Dario
Ringrazio anticipatamente tutti voi che prendete del tempo per rispondermi.
Un saluto dalla Svizzera.


Dbe8f
dbe8f
 
Posts: 6
Joined: 22 Aug 2013, 20:56
Location: Svizzera francese


Return to Microcontrollori e microprocessori

Who is online

Users browsing this forum: No registered users and 6 guests

cron