Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Sujets - patrick

Pages: [1]
1
Sur la demande de Dominique, je vous présente mon projet en quelques lignes. Je pourrais en parler longuement, mais je veux avant tout vous donner l'idée générale.

En fait, je pourrais résumer mon projet en trois mots: machine à états. Chaque noeud est une machine à états qui reçoit des évènements, réagit en effectuant une action et renvoie un autre message au système. Jusque là, rien de bien sorcier...

Ensuite: le système est répartit entre plusieurs noeuds, ce qui permet de gérer suffisamment de code sans nécessiter l'utilisation d'un ordi ou un logiciel externe. Pour le moment, j'en suis environ à 1500/1600 lignes de code pour chaque arduino. Et c'est là tout l'avantage de ce système: de petites fonctionnalités un peu partout et finalement tout tient dans quelques arduinos.

Le système fonctionne grâce au CanBus configuré à 500kbit/s. Ce qui est rapide (si on fait le calcul, cela représente quasiment 4000 messages à la seconde). J'ai fait des tests à plus basse vitesse et il y a encore de la marge... Disons que je n'ai pas encore rencontré de situation qui nécessite cette vitesse aussi rapide.

Pour les noeuds: comme je l'ai déjà mentionné sur mon blog, le tout s'organise autour de 4 types de noeuds:
- le DCC, gestionnaire de la position des trains et de la topologie du réseau (rails). Il génère aussi les messages DCC.
- le LOCO, il contient le script de la loco. C'est lui qui va demander au système s'il peut aller de tel à tel canton, demander l'état de la signalisation au modules CANTON, etc...
- le CANTON, il a la responsabilité d'un canton (3 zones de détection) et de la signalisation (2 feux complexes)
- enfin, les autres noeuds: aiguillages, animations, etc...

Un exemple de fonctionnement: un train entre sur une zone, le canton le détecte et met à jour la signalisation. Celui-ci envoie l'info d'occupation au DCC qui sauvegarde la position et autorise la poursuite du script si rien ne s'y oppose. Le module train, une fois entré dans un canton, demande l'état de la signalisation et ajuste sa vitesse en fonction... etc...

A chaque fois, il s'agit d'évènement qui entraine une action puis une réaction (nouveau message...). Le secret: bien manager le principe de message/réponse de façon atomique, et ne pas envoyer plein de messages dans tous les sens et espérant que les noeuds pourront gérer le tout en parallèle... Mon premier prototype semblait "plus intelligent" mais je me retrouvais dans des situations de "dead lock" parce que deux messages attendaient deux réponses simultanées et le système perdait les pédales...

A part cela, mon réseau une fois équipé devrait compter une douzaine de cantons, mais pas tous avec signalisation complète. Certaines branches de manoeuvres n'en utilisant pas.

Voilà, difficile d'en dire plus, ou alors ce serait vraiment beaucoup plus...

Si vous avez des questions sur des détails bien précis, je pourrai essayer d'y répondre.
Au plaisir,
Patrick

2
Vos projets / Automate DCC
« le: décembre 11, 2016, 06:46:51 pm »
Bonjour,

Comme mentionné lors de mon introduction, j'ai pour but la réalisation d'un automate complet pour réseau DCC. Celui-ci gère le mouvement des trains, la signalisation, la position des aiguillages, etc... sans utiliser de logiciel PC ou autre... et seulement avec des Arduino. On peut aussi piloter des locos manuellement au milieu de celles gérées automatiquement. Les possibilités sont nombreuses, entre autres: manoeuvrer en gare pendant que d'autres locos tournent sur le réseau, le tout protégé par une signalisation réaliste; toutes sortes d'automatisme comme va-et-vient, évitement automatique en gare, etc... Mais je pense que vous êtes familiers avec tous ces concepts sur le forum...

Le premier prototype complet est maintenant fonctionnel et une vidéo de la simulation est disponible: http://jurasecondairen.blogspot.ca/2016/12/la-premiere-simulation-en-video.html

La qualité de la vidéo n'est pas formidable (difficile de distinguer les couleurs des leds) mais le schéma en incrustation permet de suivre les évènements. Prochaine étape, ramener à la vie mon petit réseau de test pour valider le système grandeur nature.

Bon visionnement.
Patrick

3
Présentez vous ! / Bonjour
« le: novembre 23, 2016, 11:15:58 pm »
Bonjour,

En quelques mots, j'ai un tout petit réseau DCC en N, loin d'être terminé. Je développe des modules pour mon réseau à base d'Arduino depuis quelques temps déjà, mais je ne suis pas électronicien. En ce moment (depuis plusieurs mois) mon projet principal est de développer un automate à base de modules cantons autonomes... sans ordi ni logiciel (mis à part le micro-code des Arduino...). Pour l'instant, les premiers prototypes fonctionnent à peu près... Le travail continue... ;)

Je me suis inscrit sans prétention particulière et pour partager des expériences...

Au plaisir,
Patrick

Pages: [1]