spacer.png, 0 kB

Torna indietro   Roboitalia.com - Il primo portale in Italia sulla robotica amatoriale > Progetti di Robot > Progettazione > Progetto robot MODDI (forum chiuso)

 
 
Strumenti discussione Modalitŗ† visualizzazioe
  #11  
Vecchio 28-08-2006, 08.40.20
L'avatar di astrobeed
astrobeed astrobeed non è collegato
Robottaro sostenitore
 
Data registrazione: 18-03-2004
Residenza: Roma
Etŗ†: 59
Messaggi: 3,377
Potenza reputazione: 346
astrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua fama
Predefinito

Dopo molte riflessioni credo sia meglio optare per un bus di comunicazione basato su RS485.
Le motivazioni sono le seguenti:
Usa solo due fili, l'I2C ne richiede tre perchè ci vuole anche la massa, basta un banale doppino intrecciato per comunicare fino a 1000 metri di distanza, per distanze inferiori ai 10 metri il baud rate può essere di 1 megabit.
La RS485, grazie al fatto che usa una linea bilanciata, offre un'elevata immunit√* ai disturbi, di gran lunga maggiore a quella offerta da I2C e SPI, leggermente inferiore a quella del CAN.
Dal punto di vista software √® pi√Ļ facile gestire una RS485 che una I2C o SPI, per il programmatore √® come usare una normale seriale, questo rende molto semplice usarla anche da moduli come i basic stamp e similari.
Dal punto di vista hardware la RS485 richiede solo l'aggiunta di un apposito transceiver, il pi√Ļ diffuso √® il MAX485, un IC a 8 pin che provvede a convertire i livelli TTL delle normali seriali in una linea bilanciata per la RS485.
Un MAX485 costa meno di tre Euro e si trova facilmente anche sul mercato consumer.
Secondo le specifche RS485 di una singola linea possono essere connessi in parallelo fino a 32 device, tale limite era imposto dalla tecnologia disponibile quando furono scritte le specifiche, con i moderni IC si supera abbondadantemente.
Nel nostro caso anche solo 32 device sono pi√Ļ che sufficienti.
Per ottenere la massima compatibilit√* e riusabilit√* delle varie schede prevederei che sul bus possa essere collegata direttamente la seriale invece della RS485, bastano un paio di jumper per selezionare l'una o l'altra, in questo modo se uno vuole usare una singola scheda abbinata ad un suo hardware preesistente non √® obbligato ad aggiungere il MAX485.
Il connettore del bus si riduce a due fili, o sono i due segnali differenziali della 485 oppure TX e RX della seriale TTL, nel secondo caso la massa è messa in comune tramite l'alimentazione, in questo modo si evitano pure i vari loop di terra che sono sempre fonti di disturbi vari.
Per quanto riguarda il protocollo software sto gi√* preparando qualche specifica, per il momento direi che deve essere con pacchetti di diverse lunghezze prefissate, un byte dice quanto sono lunghi, tutte le frasi devono essere in ASCII in modo da poter usare i caratteri speciali, p.e. @ e #, come flag univoci per funzioni e comandi, il protocollo sar√* del tipo master/slave con possibilit√* di crescere a multimaster.
__________________
Bye
  #12  
Vecchio 06-09-2006, 18.35.07
nonno_62 nonno_62 non è collegato
Robottaro sostenitore
 
Data registrazione: 25-11-2005
Residenza: sardegna
Etŗ†: 68
Messaggi: 572
Potenza reputazione: 77
nonno_62 E' un faro della comunitŗ
Predefinito

Visto che si stava gi√* realizzando qualcosa volevo sapere se c'erano novit√* per il protocollo?

Almeno una bozza su cui ragionare.

Saluti Nonno
  #13  
Vecchio 10-09-2006, 22.24.10
nonno_62 nonno_62 non è collegato
Robottaro sostenitore
 
Data registrazione: 25-11-2005
Residenza: sardegna
Etŗ†: 68
Messaggi: 572
Potenza reputazione: 77
nonno_62 E' un faro della comunitŗ
Predefinito

Visto che oggi c'era un levante da paura e non ho potuto portare al mare le bimbe mi sono dedicato a fare una bozza del protocollo di trasmissione.

Come ho detto nell'introduzione spero che questo lavoro serva, anche se nello stesso tempo credo che andr√* approfondito e rivisto. Diciamo che pi√Ļ che una bozza √® proprio un canovaccio da bistrattare, che spero serva per coinvolgere anche altri.

Solo una cosa l'ho buttato giu in mezzo alle bimbe che mi tiravano i capelli (i pochi che ci sono) e la moglie che si lamentava quindi qualche imprecisione o dimenticanza va perdonata.

Saluti Nonno
Files allegati
Tipo file: txt Protocollo.txt (8.6 Kb, 30 visite)

Ultima modifica di nonno_62 : 10-09-2006 alle ore 22.45.00
  #14  
Vecchio 11-09-2006, 10.47.54
L'avatar di astrobeed
astrobeed astrobeed non è collegato
Robottaro sostenitore
 
Data registrazione: 18-03-2004
Residenza: Roma
Etŗ†: 59
Messaggi: 3,377
Potenza reputazione: 346
astrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da nonno_62
Visto che oggi c'era un levante da paura e non ho potuto portare al mare le bimbe mi sono dedicato a fare una bozza del protocollo di trasmissione.
In linea di massima è un protocollo generico accettabile, però il checksum deve essere un CRC a 16bit, il semplice XOR dei byte non è sufficientemente affidabile con un protocollo a lunghezza pacchetto variabile.
Però prima di stendere il protocollo tocca pensare a che tipo di comunicazioni servono, la banda necessaria, la massima latenza accettabile, la lunghezza massima dei pacchetti, il numero massimo di nodi e altre cosette, solo dopo aver messo a fuoco questi punti è possibile pensare alle regole che compongono il protocollo.
Il picnet+ √® troppo generico per la nostra applicazione, ne serve pi√Ļ verticalizzato, per√≤ √® un buon punto di partenza.
Per esempio la velocit√* di 19200 baud, ancora peggio di 9600, √® troppo poco per il flusso dati necessario, introdurrebbe una latenza troppo alta, come velocit√* standard almeno 115200 con possibilit√* di salire fino a 1 megabit.
Evita di impegolarti con il multimaster, chi ha scritto il picnet+ ha fatto la cosa troppo semplice, per la nostra applicazione √® quasi inutile, non avrai mai la necessit√* di far parlare tra loro due schede periferiche, al limite serve solo se metti due "cervelli" di alto livello.
__________________
Bye
  #15  
Vecchio 11-09-2006, 19.14.29
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Etŗ†: 56
Messaggi: 5,458
Potenza reputazione: 417
marnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua fama
Predefinito

Wow, a me piace (per quanto ne so non è da considerarsi vincolante ma mi piace).
Si, forse c'è qualche dettaglio da sistemare ma le linee generali mi sembra comprendano i concetti che volevamo.
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
  #16  
Vecchio 12-09-2006, 18.18.04
L'avatar di R2D2
R2D2 R2D2 non è collegato
Administrator
 
Data registrazione: 05-12-2002
Residenza: Milano - Corsico
Messaggi: 746
Potenza reputazione: 80
R2D2 E' per ora ancora un mistero
Predefinito

Ciao a tutti, mi ero promesso di stare a guardare...ma la carne e' debole e quindi mi sento di intervenire sicuro che questo portera' un po' di scompiglio.
Se esagero ditelo che mi tolgo subito di mezzo.

Detto questo iniziamo

Ho letto tutti i messaggi del post e mi domando: A cosa serve il protocollo ?

E' una domanda apparentemente banale ma provate a dare una risposta.
Molti di voi avranno detto: Facile! Serve a far comunicare le schede.

Perfetto, ma guzzanti ha detto:" Aborigeno, io e te che c..o dovemo di' " (scusate il romano, non lo so parlare...figuriamoci scriverlo)

Ho letto molte sigle, ho letto la proposta di nonno_62 (buona ma non credo sia utile). Ma come sempre affrontiamo il problema nel modo sbagliato. O meglio, affrontiamo il problema senza avere consolidato le basi su cui si poggia.

Il fatto di avere un robot multi-scheda ha degli impatti notevoli che non devono essere sottovalutati.

Il primo impatto e' che singole funzioni siano gestite da singoli controllori.
Ma il comportamento del robot, in generale, e' una continua interazione tra queste funzioni. Quindi piu' la comunicazione tra queste schede e' snella e' piu' fluido e reattivo sara' il robot. Pensate ad una scheda che controlla i sensori di prossimita' mentre un'altra scheda si occupa di gestire i motori.

Se il robot si avvicina al mobile antico della sala da pranzo murphy ci dice che cio' avverra' alla massima velocita'. In queste condizioni e' critico che la scheda dei sensori possa fermare in tempo i motori. Se cio' non avviene....beh, spero per voi che in giro non vi sia la moglie/mamma.

Questo e solo un esempio pittoresco ma ci sono molte altre problematiche.

Prima di decidere la lingua con cui si parlano le schede....decidiamo cosa, in linea generale, si devono dire ?

Adesso potete lanciare i sassi
  #17  
Vecchio 12-09-2006, 19.13.35
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Etŗ†: 56
Messaggi: 5,458
Potenza reputazione: 417
marnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua fama
Predefinito

Quindi? cosa proponi?
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
  #18  
Vecchio 12-09-2006, 19.15.54
L'avatar di astrobeed
astrobeed astrobeed non è collegato
Robottaro sostenitore
 
Data registrazione: 18-03-2004
Residenza: Roma
Etŗ†: 59
Messaggi: 3,377
Potenza reputazione: 346
astrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua famaastrobeed La sua reputazione Ť oltre la sua fama
Predefinito

Citazione:
Orginalmente inviato da R2D2
Prima di decidere la lingua con cui si parlano le schede....decidiamo cosa, in linea generale, si devono dire ?
Non posso che essere d'accordo, abbiamo detto le stesse cose anche se in due modi diversi.
Prima di pensare a come scambiarsi i dati tocca pensare a come devono essere questi dati, sopratutto quanti sono e quant'è la massima latenza accettabile.
Per latenza intendo il tempo massimo durante il quale un device non pu√≤ ne ricevere ne trasmettere nuovi dati, √® un dato molto importante nelle reti e ancora di pi√Ļ in un robot, pochi ms possono essere accettabili, decine di ms potrebbero rivelarsi fatali.
__________________
Bye
  #19  
Vecchio 12-09-2006, 21.43.22
L'avatar di R2D2
R2D2 R2D2 non è collegato
Administrator
 
Data registrazione: 05-12-2002
Residenza: Milano - Corsico
Messaggi: 746
Potenza reputazione: 80
R2D2 E' per ora ancora un mistero
Predefinito

In realta' non ho ancora abbastanza elementi per raggiungere una conclusione.

Si potrebbe incominciare a capire l'anatomia del robot.
Sino ad ora ho capito che avra' due ruote e probabilmente degli encoder.
Questo pezzo di HW sara' gestito da una scheda di controllo che implementera' PID e/o odometria.

E poi ?

L'IA chi la implementa ? Sara' la stessa scheda che gestira' i sensori ?

Mi rendo conto che sto' andando OT rispetto al protocollo. Magari e' il caso di creare un ramo ad hoc (chiamato "Architettura"?) dove i moderatori potranno spostare il messaggio

Dite la vostra
  #20  
Vecchio 12-09-2006, 22.00.21
L'avatar di marnic
marnic marnic non è collegato
Administrator
 
Data registrazione: 23-05-2002
Residenza: Monselice (PD)
Etŗ†: 56
Messaggi: 5,458
Potenza reputazione: 417
marnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua famamarnic La sua reputazione Ť oltre la sua fama
Predefinito

Non ci siamo
Sanno fare tutti (o quasi) a fare un protocollo avendo tutti i dati.
Nonno ha fatto ipotesi, e su quelle ha costruito qualcosa, il progetto finito non ci sar√* mai, il robot potr√* sempre essere implementato.
Quello che si cerca è costruire o ipotizzare è un sistema abbastanza flessibile da poter permettere implementazioni ad oggi non previste, certo non saranno "ottimizzate" e le ipotesi a monte potrebbero costituire dei limiti.
Altrimenti sarebbe troppo facile, un bus a 1Tbyte con il miglior protocollo al mondo e problema risolto. basta filosofia o teoria, proviamo a fare con quello che c'è.
__________________
Marnic
Roboitalia Staff
www.fabbrimarco.com
 


Utenti attualmente attivi che stanno leggendo questa discussione: 1 (0 utenti e 1 ospiti)
 
Strumenti discussione
Modalitŗ† visualizzazioe

Regole di scrittura
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code Ť Attivato
Le smilies sono Attivato
[IMG] Ť Attivato
Il codice HTML Ť Disattivato

Vai al forum

Discussioni simili
Discussione Autore discussione Forum Risposte Ultimo messaggio
Distanza con protocollo SPI. Ziko Comunicazione 3 27-08-2012 11.21.49
Tutorial Protocollo CAN Fu Mauro Comunicazione 22 05-10-2011 16.07.53
Piý strada cambiando protocollo. Ziko Comunicazione 8 28-01-2011 10.29.05
PIC in rete con rs232+protocollo UART calo Comunicazione 2 25-01-2008 20.07.16
Protocollo: Pratica nonno_62 Progetto robot MODDI (forum chiuso) 23 18-02-2007 20.02.06


Tutti gli orari sono GMT. Adesso sono le: 12.53.43.


Basato su: vBulletin Versione 3.8.8
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Realizzazione siti web Cobaltica Foligno
spacer.png, 0 kB