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.


Messages - Dominique

Pages: 1 ... 66 67 [68] 69 70
1006
Vos projets / Re : Nouveau projet : un petit locodrome
« le: juillet 30, 2015, 07:02:17 am »
Je pense que ce petit réseau à automatiser ferait bien l'objet d'un exemple de modélisation en suivant les contributions de Pierre (fil "modélisation logicielle" du forum) et de Denis.

Si on considère le découpage proposé par Denis, sur la base de mon dernier plan, on a une zone à gauche incluant l'aiguille gauche, une zone à droite incluant l'aiguille droite, ces 2 zones se rejoignant à la coupure à l'arrière au milieu, et 2 zones devant entre les aiguilles, l'une entre les talons directs, l'autre entre les talons déviés des aiguilles.

Sur cette hypothèse, on pourrait définir des objets zone, aiguille, train, signal,.. qui permettraient de définir la topographie du réseau, les actions aux passage des détecteurs (mises à jour des variables d'état) et le pilotage des trains en fonction de ces variables (démarrer, accélérer, ralentir, s'arrêter).

Il faudrait alors faire le rapprochement entre la modélisation en programmation objet et le matériel (détecteurs et commande des trains, les signaux n'étant pas obligatoires d'après Guillaume).

Je tend donc la perche pour cela à Denis et à Pierre, s'ils veulent bien, qui sont bien plus en avance que moi sur ce sujet que je suis tout juste en train d'intégrer.

1007
Bus CAN / Re : Le bus CAN
« le: juillet 29, 2015, 05:42:10 pm »
Mise à jour :

La cause des pertes de message résidait dans le test de non réception (plus d'IRQ pendant 1seconde) dont le traitement consistait à vider le tampon du 2515 pour lui permettre de générer à nouveau un IRQ.
En supprimant ce vidage forcé, les pertes de messages ont disparu !

Néanmoins, avec toutes les tortures qui je lui fais subir, il reste une perte de 1 message sur 10.000 environ.

1008
Bus CAN / Re : Le bus CAN
« le: juillet 29, 2015, 08:55:22 am »
J'ai fait quelques tests entre un UNO et un MEGA:

J'ai réalisé un banc de test avec un Mega qui émet des messages CAN sur 4 IDs et 4 tailles différents toutes les 25ms ( variable en fait, avec une limite basse à 10ms) et un Uno qui les reçoit sous IT, les compte et renvoie les compteurs (message de 4 octets) au Mega.
Pour garantir la réception, les messages sont récupères dans l'IRQ du CAN dans un buffer circulaire de 256 octets et traites 1 par 1 dans la LOOP qui est assez rapide pour suivre sans problème. Le buffer ne se sature jamais.

Apparemment il faut respecter 2 règles:
- mettre le moins de traitement possible dans l'ISR, juste un flag à monter,
- vider complètement le buffer du MCP2515 à chaque LOOP si le flag est monté.

Le UNO qui teste combine le CAN, l'I2C et un timer1 pour un Watchdog. Il compte les messages reçus, les affiche et renvoie un message avec ses compteurs toutes les secondes.

J'ai mis en place le maximum de précautions:
- la surveillance de l'IRQ du 2515, avec vidage forcé si plus d'IRQ depuis 1 seconde (ça peut servir à surveiller la vie des autres modules)
- la surveillance des overflows
- un Watchdog sur la LOOP avec réinit du CAN si la librairie se bloque.

Pour le moment ça tient à l'aise les 40 messages par seconde (4 messages de taille différents repères toutes les 25 ms.)

En augmentant la cadence, je vois que ça tient encore à 100 messages par seconde.

Mais il y a quelques pertes tout de même : 6/1000 à 40 messages/sec, 17/1000 à 100 messages/sec, 1/1000 à 20 messages/sec.

Il faut donc utiliser des messages Accusés de Réception au niveau application, notamment pour confirmer l'exécution d'une commande

1009
Bibliothèques / Re : Bibliothèque LcdUI
« le: juillet 25, 2015, 07:29:29 pm »
Merci !

Et je m'aperçois que j'aurais du le savoir  :-[

1010
Bibliothèques / Re : Bibliothèque LcdUI
« le: juillet 25, 2015, 12:10:27 pm »
STP, peux-tu mettre un lien vers la bibliothèque ?

Merci d'avance

1011
Bibliothèques / Re : Bibliothèque CommandInterpreter
« le: juillet 25, 2015, 12:05:06 pm »
Je viens de tester cette bibliothèque dans mon programme de tests de performances du CAN pour réaliser diverses fonctions comme un affichage complet ou non des messages échangés, l'affichage des compteurs émis/reçus/perdus ou la variation du delay entre émissions (donc la fréquence des envois de messages)

J'atteste que ça marche nickel !!!
Bravo Jean-Luc  ;D

1012
Shields et Modules / Re : Carte « Cerveau du réseau »
« le: juillet 25, 2015, 09:57:07 am »
Citer
Concernant la connectique DCC, dites moi ce qu'il faut exactement :)

Je réagit à retardement : il est super ce fil !

Pour le DCC, si on utilise un booster simple externe comme le module LMD18200 que j'ai décrit dans la centrale va et vient, il suffit de 2 fils PWM et DIR, + les entrées mesure de courant et alarme température, ainsi que le 5V et le Gnd, soit 6 fils.

Dans mon architecture le cerveau qui est un DUE avec CAN peut très bien se retrouver partie de ce projet, combiné par exemple avec le générateur DCC.

J'ai fait quelques tests de performance du CAN entre un UNO et un MEGA2560 : on peut allègrement dépasser les 50 messages par seconde et à 100/s il y a quelques pertes mais avec un accusé de réception ou d'exécution, ça peut s'arranger.
Coté DUE les performances doivent être meilleures.

Pour moi, le "cerveau" doit avoir aussi quelques interactions avec les animations dans le décor (gestion du temps accéléré, de l'éclairage ambiant, …) en relation avec un autre Arduino pour les exécutions. Le bus CAN est là : pas besoin d'interfaces supplémentaires.

Effectivement une EEPROM est nécessaire !


1013
Shields et Modules / Re : Alimentation traction de canton (analogique)
« le: juillet 25, 2015, 09:33:58 am »
Cette carte est de toute beauté et je connais la qualité du travail d'Electrodragon !

Comme mon réseau comporte une ligne va-et-vient entre 2 gares terminus, que cette ligne est isolée du reste avec coupure des 2 rails et un relai, j'ai le choix de faire l'automatisme soit en digital, soit en analogique.

Je décide donc de faire les 2 :
- améliorer le va et vient digital pour faire suite aux articles du site
- faire une version analogique car j'ai des machines difficilement digitalisables

As-tu un schéma et une liste de composants ?
Le pied serait de voir faire les 2 avec la même carte !!!

Merci d'avance
Dominique

1014
Vos projets / Re : Nouveau projet : un petit locodrome
« le: juillet 22, 2015, 07:05:01 pm »
Je te propose le tracé ci-dessous, comme tu l'as décrit.

Il y a donc 2 zones d'aiguilles qui encadrent 2 cantons qui peuvent être des quais de gare où les trains peuvent/doivent s'arrêter.
De chaque coté, la boucle ovale se referme, par exemple avec 2 cantons, ce qui permet de stopper un train à l'arrière à l'endroit du détecteur.

Un diviseur scénique peut couper la vue au milieu et cacher la voie située derrière.

Au total il y a donc 7 coupures et 4 cantons. Si tu choisis des détecteurs de consommation, seulement 4 détecteurs suffisent.

Cela permet de faire circuler 2 ou 3 trains sans difficulté :
- 2 trains peuvent faire un tour et s'arrêter sur l'un des 2 quais, chacun à leur tour.
- ils peuvent même tourner en sens inverse
- avec 3 trains, l'un des trains s'arrête derrière le diviseur scénique et attend la libération d'un quai pour finir son tour

Dans le cas où il n'y aurait que 2 trains, 3 capteurs pourraient suffire. Mais pour gérer 3 trains, les 4 capteurs sont nécessaires.

Si la gestion des trains est analogique, avec 2 trains, une seule alimentation serait suffisante : dans ce cas il faut couper l'alimentation du quai où se trouve le train qui doit attendre en gare le retour de l'autre.

Un automatisme Arduino doit être amusant à réaliser !

1015
Présentez vous ! / Re : Bonjour de Savignyexpress
« le: juillet 12, 2015, 11:01:52 pm »
Bonjour Marc-Henri,

Je n'avais pas pris l'habitude de participer à cette rubrique  :-[

Mais la présence de Savignyexpress parmi nous me fait grand plaisir : j'ai souvent regardé et me suis inspiré de tes réalisations et j'apprécie tes contributions sur le Forum du N, et maintenant sur Locoduino.

Bienvenue !

Dominique


1016
Vos projets / Re : Nouveau projet : un petit locodrome
« le: juillet 12, 2015, 09:06:36 am »
Effectivement, il vaudrait mieux parler de "zone" aussi plutôt que de "canton" seulement.
Les aiguilles ne sont généralement pas comptées dans les cantons (zone comprise entre 2 sémaphores).

Mais les aiguilles ici doivent être alimentées comme les autres zones.

De même, chaque canton ici pourrait être découpé en plusieurs zones: une zone de ralentissement et une zone d'arrêt. Dans les virages et au passage des aiguilles en position déviée il faut aussi prévoir une limitation de vitesse.

Après les coupures, il faut donc identifier les capteurs, d'autant plus nécessaires si ça doit être automatique.

1017
Vos projets / Re : Nouveau projet : un petit locodrome
« le: juillet 11, 2015, 11:34:10 pm »
Voilà une possibilité de coupures pour :
- un canton contenant la droite haut et la 1/2 courbe gauche/haut
- un canton contenant la droite bas et la 1/2 courbe gauche/bas
- un canton contenant la courbe droite (que tu peux couper en 2 éventuellement)
- 2 cantons pour les voies de garage

Il faut veiller à ce que les trains entrent en entier dans chaque canton.

Quel scénario de circulation automatique vois-tu dans ce réseau ?

1018
Vos projets / Re : Nouveau projet : un petit locodrome
« le: juillet 10, 2015, 10:35:50 am »
Bonjour Guillaume,

Peux-tu décrire ce que tu appelles "automatiser" ?
Par exemple démarrer, rouler, s'arrêter automatiquement, gère 2 trains, l'un attend que la voie soit libre, etc...

Je te conseille de prévoir des coupures de rails aux raccords (avec des éclisses isolantes et souder des fils sous les rails. C'est à faire au moment de la pose des rails, apres c'est trop tard !
De toute façon ça permet de garantir la meilleure alimentation possible des rails.

Bon courage
Dominique

1019
Voilà une serie de contributions fort intéressantes et concrètes  :)

Je retiens d'abord le fait que la description du réseaux ne se fait pas dans une table, mais dans chaque objet directement : chaque zone (ou canton, mais une zone peut inclure une aiguille, pas un canton normalement) décrit les connexions aux zones adjacentes.

Cela demande certainement un petit travail de préparation : est-il possible de montrer un exemple simple ?
-> ce serait le coté statique !

Ensuite chaque objet peut être personnalisé (à partir de l'héritage) ce qui laisse entrevoir la grande souplesse du modèle et la facilité d'évolution (on ne peut pas penser à tout dès le début !).

Ensuite ce modèle vit au rythme des événements (les traitements des signaux remontés par les capteurs aux passage des trains appellent-ils les méthodes des objets directement ? ).
-> c'est le coté dynamique !

Merci pour ces "devoirs de vacances" : il va me falloir un peu de temps pour imaginer mon réseau de cette façon.

Et bravo encore à Denis et Pierre de rendre cette rubrique si concrète..

Dominique

1020
Merci beaucoup Pierre,

L'intérêt de la programmation Objet s'avère particulièrement utile dans ce domaine (je ne veux pas dire qu'il ne l'est pas dans d'autres).

Tes contributions m'ont convaincu : je vais essayer de concevoir la modélisation de mon réseau de cette façon, ce qui nous permettra d'en discuter avec du concrêt.

Amicalement
Dominique

Pages: 1 ... 66 67 [68] 69 70