Parlons Arduino > Shields et Modules

Carte « Cerveau du réseau »

(1/11) > >>

Jean-Luc:
Bonjour à tous,

j'ouvre ce fil pour déterminer les fonctions et composants à intégrer sur une carte destinée à piloter un réseau, que ce soit en analogique ou DCC.

Dans le pilotage, j'inclus le dialogue avec les Arduino en charge de :

* la détection de présence
* la commande des aiguillages
* la commande des ponts tournants
* la commande de la signalisation
* ...
Mais aussi l'anticollision, les itinéraires, la circulation automatique, la connaissance et la gestion des trains, ...

En DCC, cette carte servirait de centrale.
En analogique, elle piloterait également les cartes Traction.
Elle remplacerait le PC pour le pilotage du réseau.

L'Arduino ciblé pour cela est l'Arduino Due pour les raisons suivants :

* 512ko de Flash permettant de mettre de très gros programme et quantité de constantes de configuration du réseau.
* 96ko de RAM permettant de stocker beaucoup de données (12 fois plus que sur un Mega, 48 fois plus que sur un Uno)
* Processeur 32 bits à 84 MHz ce qui permet d'en avoir sous le pied
* 2 interfaces CAN natives
Le prix n'est pas un problème puisque le Due serait en exemplaire unique et on trouve des compatibles Due à 15€.

Le Due serait épaulé par un Nano pour générer des signaux précis temporellement sans être embêtés par les interruptions (comptage de temps, Interruption I2C, interruptions CAN, etc). Il s'agit de générer précisément le signal DCC en DCC et les signaux de synchro pour les cartes traction en analogique. Il effectuerait également la surveillance du booster DCC. La communication entre Due et Nano se ferait par le bus SPI.

Sur cette carte 10x10cm, le Due et le Nano viendrait s'enficher par dessous. Par dessus on aurait un emplacement pour mettre un LCD 20x4. On aurait également :

* Deux transceivers CAN 2551 pour les deux CAN du due
* Des prises RJ11/RJ45 pour le CAN/CAN avec synchro analogique
* Un emplacement pour mettre une UART Bluetooth
* Un connecteur pour branche le booster (LMD18200)
* Un connecteur I2C pour déporter un LCD
* Des boutons et switches pour interagir sans PC.
* Un régulateur 9v (7809) avec radiateur pour pouvoir accepter des tensions d'alimentation plus élevées que 12v
N'hésitez pas à mettre votre grain de sel !

Guillaume:
J'ai une question annexe : quand est-ce que tu t'arrêtes ? ;)

Sinon, de mon coté, je ne vois pas trop quoi mettre en plus, vu que tu as du réfléchir à tous les aspects.
Néanmoins, je ne sais pas de ce que tu as fais d'une voie série si tu en laisses une de dispo pour un ordi.
D'une part pour le debug mais aussi pour ne pas fermer entièrement le truc. Pour faire une sorte de deuxième TCO comme j'aimerais faire sur mon module.

Jean-Luc:
Oui, les deux ligne séries sur les connecteurs resteront libres. Il y en a 3 autres de disponibles sur le Due

Guillaume:
D"accord ben parfait alors tout cela.

Du vrai travail de pro.

Jean-Luc:
Je me réponds  :)

En creusant, je me rends compte que le Due ne dispose pas d'EEPROM intégrée. Or ça me semble nécessaire de stocker l'état du réseau à l'extinction pour éviter une très fastidieuse séance de mise marche surtout pour un grand réseau.

Il faut donc rajouter une EEPROM externe en I2C par exemple. Un peu moins de 1€ pour une 32ko

Navigation

[0] Index des messages

[#] Page suivante

Utiliser la version classique