2499
« le: janvier 16, 2016, 03:33:36 pm »
Bonjour à tous,
Les choses murissent dans ma tête mieux quand je réalise.
Mon prototype de cerveau sera avantageusement remplacé par ta carte cerveau à base de Due.
Au départ je n'envisageais que la fonction cerveau (gestion des évenements venant des autres modules et commandes vers les autres modules) , tout le reste étant décentralisé vers ces modules (TCO, traction DCC, aiguilles, capteurs, signaux, décor).
Avec le début de réalisation je découvre que j'ai besoin de plusieurs éléments :
- un circuit horloge + EEPROM DS3231 + 24C32 : je pense que 32K suffisent pour stocker les états initiaux et la configuration des trains, mais je n'en suis pas sûr. Pour le moment j'utilise un breakout trouvé sur eBay, mais si c'est intégré sur la carte, il vaut mieux mettre une24x256, tant qu'à faire. Par contre la circuit date+heure+température est indispensable pour gérer les horaires de circulation des trains, les cycles jour-nuit et les animations du décor. Cela occupe le bus I2C.
- un clavier 16 touches pour entrer des valeurs numériques autrement que par la console PC/Mac connecté (qui ne sera pas toujours connecté d'ailleurs. Le mien occupe 8 pins.
Je ne recommande pas du tout les claviers à membrane comme celui que j'ai mis, car pas très ergonomique. Un clavier tactile serait parfait. L'écran TFT cité plus bas propose un écran tactile que je n'ai pas utilisé pour le moment car cela alourdi le soft mais c'est à voir.
- un écran TFT avec interface SPI et son alimentation séparée de celle du Due. Ce n'est pas pour faire le TCO mais pour la mise au point et surtout la configuration. J'en ai branché 2 de 2,4 pouces pour voir, sur le Due et je suis étonné de la rapidité : avec 80 K de programme, la loop ne prend pas plus de 20 microsecondes pour en faire le tour. Cela occupe le bus SPI et 2/3 pins supplémentaires.
Cerise sur le gateau, certains écrans comportent aussi un lecteur SD, sur bus SPI (une pin supplémentaire pour le chip select).
- quelques boutons poussoirs supplémentaires pour naviguer confortablement dans les menus (+, -, OK, Home)
- en ce qui concerne la génération du DCC, je continue à penser que c'est mieux de la décentraliser vers une carte de traction (3 dans mon cas, une pour le gros du réseau, une autre pour le va et vient et une autre pour la voie de programmation. Cependant je commence à pencher pour intégrer la voie de programmation dans le cerveau, justement pour configurer les trains.
- ne pas oublier la détection de court-circuit que je réalise par un circuit Max471 en série avec l'alimentation continue du LMD18200 (car la sortie de mesure de courant du composant est trop folklorique à utiliser, sachant qu'on est en présence de courants fortement alternatifs, sans référence de tension). J'avais regardé la mesure de courant dans la carte traction de Jean-Luc pour alimentation PWM : c'est plus simple finalement avec un Max471. Cette détection peut-être placée dans la carte traction déportée comme indiqué plus haut. Mais si la carte cerveau comporte une génération de DCC, c'est nécessaire. Il faut seulement une seule patte analogique.
- j'ajouterai enfin quelques commandes de relais pour isoler ou raccorder les 3 tronçons de voie précités
- sans oublier la détection de coupure d'alimentation pour sauvegarder l'état du réseau.
J'oublie certainement d'autres choses, mais c'est à discuter encore entre nous.
Je joins 2 images de mon proto