Forums LR PRESSE

Où il est question de trains, petits et grands

  • Advertisement

Conseil sur faisabilité de mon projet

Toutes les discussions sur l'Arduino !

Modérateur: MOD

Conseil sur faisabilité de mon projet

Publié: Mer 25 Fév 2015, 12:44 
Bonjour,
je me présente, j' ai 46 ans et je pratique le Ho et le N depuis mon enfance avec parfois des périodes de mise en sommeil.
C'est avec intérêt que je regarde les divers sujets du Arduino. En effet bien que n' ayant que des bases élementaires en électronique et en programmation , j' ai il y'a quelques années de cela, réalisé pour mon réseau en N le montage de UTS élaboré par Ulysse Udelmas (explication très instructives sur l' utilisation des composants électronique de la carte). La carte fonctionnait bien malgré des difficultés de réglage au départ du captage de courant des cantons.J' ai abandonné son utilisation pour un système DCC (nanox s88 + rocrail) .Pour mon nouveau projet en HO je ne souhaite pas l'utilisation du DCC (locos très anciennes et nombreuses qui reste dans leurs boites sans pouvoir se dégourdir les roues). J' ai donc pensé a une utilisation type UTS mais avec des Arduinos :
voici mon idée

Image



J’espère que mon petit schéma est compréhensible et voici toutes mes questions ?

Vitesse de communication dans le bus Can et dans la liaison USB ?

découpage des cantons en 3 ou 5 zones ?

Captage par consommation de courant ?

commande signaux avec uln2803 ?

commande servos moteur avec L293d ?

commande des locos 2*L293d en parallèle ou L298n ?

Est ce que cela vous semble réalisable dans cette configuration sachant que le nombre de carte uno doit pouvoir évoluer selon l' avancement du réseau ?

Est plus simple en programmation de dedier un Ardiuno par tache comme sur ce shema ou un arduino par canton (captage , pmw, servos aiguillage, et signalisation) comme j' ai vu sur un autre sujet ?

Il y'a t'il un espoir de reprendre une partie des sources logiciel en C de UTS et de pouvoir faire un échange de données par le port USB au lieu de la RS232 ?
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Mer 25 Fév 2015, 18:19 
Bonjour Syltrain80,

J'aimerais essayer de t'aider mais je suis un peu bloqué car tu parles de montage UTS et je ne sais pas de quoi il s'agit.

Alors, j'essaie de voir ton schéma : si j'ai bien compris, ton ordi est relié à un module Arduino Mega par USB, et ce module est relié par un bus CAN à d'autres modules Uno, ayant chacun une tâche. Tu dessines une case ordi + logiciel ; de quel logiciel parles-tu ? Quelles informations veux tu échanger entre l'ordi et le Mega ?

Sur le réseau, tu ne dis pas grand chose. Tu poses la question de cantons à 3 ou 5 zones : Est-ce que ta voie est à sens unique de circulation ou double sens ? Captage (tu parles du signal d'occupation sans doute) par consommation de courant : est-ce le mieux adapté ? Commande de signaux : de quels types (c'est-à-dire nombre de feux) ? Commandes de servos : est-ce pour les aiguillages ? Et entre cantons, aiguillages et signaux, veux-tu que tout soit interconnecté pour assurer la sécurité des convois ?

Enfin, sur l'utilisation des Arduinos Uno, tu demandes s'il vaut mieux un Uno par tâche ou par canton : personnellement, je ne peux te répondre car les tâches ne sont pas bien définies (elles le sont peut-être pour toi).

Je suis désolé de ne pouvoir t'apporter des réponses et de te poser autant de questions. J'ai pourtant l'impression que tu te lances dans un projet très ambitieux alors que tu dis que tes connaissances en électronique et programmation sont des bases élémentaires. Je ne veux surtout pas te décourager, mais un tel projet demande de nombreuses heures...

J'espère tout de même ne pas t'avoir fait fuir et que tu définiras un peu plus ton cahier des charges pour qu'on puisse essayer de répondre à tes attentes.

Cordialement.
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1510
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Conseil sur faisabilité de mon projet

Publié: Mer 25 Fév 2015, 18:24 
Joli projet. Juste quelques réflexions lancées comme ça...
Les Uno gagneraient à être remplacés par des nanos, moins cher (3€ au bout du monde), mais sensiblement identiques techniquement.
Pour la commande loco, regarde plutôt du côté du LM18200 assez puissant.
Enfin pour la partie logicielle des servos et des feux, regardes ma librairie UAD expliquée sur locoduino.org. Elle peut piloter tout ce que tu veux, recevoir des ordres de boutons ou du Dcc. L'adapter pour du Can serait sympathique et pas compliqué !
Avatar de l’utilisateur
Trusty
Bavard
 
Messages: 55
Inscrit le: Lun 03 Déc 2012, 12:04
Localisation: Melun
Âge: 54
Echelle pratiquée: N
Prénom: Thierry

Re: Conseil sur faisabilité de mon projet

Publié: Mer 25 Fév 2015, 20:27 
Merci pour vos réponses
je vais essayer de préciser ma pensée
les modules uno (ou nano) gère une fonction unique (détection,pmw,servos,signaux)
le logiciel sert de tco graphique récupère les informations de présence de train dans les cantons (2 sens de circulation) et en fonction de la direction et de la disponibilité du canton suivant arrête le train ou alimente la puissance au tronçon de voie suivant (il gère aussi la direction d' aiguillage si nécessaire).
je pense qu' il est possible de gérer
- l' occupation des voies par la consommation avec un arduino (20 e/s donc autant de zones de détection).
- la commande des servos moteurs pour les aiguillages (j' ai vu une réalisation pour huit servos avec un Arduino
- la gestion de la PMW (6 sorties PMW donc peut etre 6 cantons ?)
- la gestion des signaux (rien de fonctionnel pour le fonctionnement juste une gestion logiciel de l' allumage des leds dans les signaux)
donc est 'il possible créer des variables attribuées à chaque informations et de les transmettre par le bus Can et ubs jusqu’à l' ordi et ensuite les ordres de l' ordi jusqu' au cartes ardino ? et à qu' elle vitesse ?
existe t 'il des sketchs pour ce type de communication ?
Je pense qu' avec 3 zones de détections dans un canton et selon l' ordre de détection on peut en déduire le sens
je ne sais pas si je suis très clair même je découvre les possibilités des Arduinos
ps:
je vais aller voir locoduino.org comme le conseil Trusty
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 00:06 
Il me viens une autre idée peut être plus simple ?
relier les arduinos sur un hub 10 ports USB et communiquer directement avec le logiciel de conduite (un peu comme avec le TERMINAL SERIE du logiciel arduino)
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 00:45 
SYLTRAIN80 a écrit:le logiciel sert de tco graphique récupère les informations de présence de train dans les cantons (2 sens de circulation) et en fonction de la direction et de la disponibilité du canton suivant arrête le train ou alimente la puissance au tronçon de voie suivant (il gère aussi la direction d' aiguillage si nécessaire).

il faut soit écrire un logiciel qui va pointer la position des trains sur le TCO, soit utiliser un logiciel existant, ce qui signifie apprendre comment ce logiciel opère pour ensuite lui envoyer ce dont il a besoin. Ceci est faisable.

SYLTRAIN80 a écrit:je pense qu' il est possible de gérer
- l' occupation des voies par la consommation avec un arduino (20 e/s donc autant de zones de détection).
- la commande des servos moteurs pour les aiguillages (j' ai vu une réalisation pour huit servos avec un Arduino
- la gestion de la PMW (6 sorties PMW donc peut etre 6 cantons ?)
- la gestion des signaux (rien de fonctionnel pour le fonctionnement juste une gestion logiciel de l' allumage des leds dans les signaux)

commande de servos : cela a été fait sur ce forum par jlb
la PWM, j'en ai un peu parlé dans mon dernier article de façon ultra simplifiée ; en fait, d'un canton à l'autre, si les PWM ne sont pas synchronisées, la loco aura un à-coup.
Gestion des signaux : sans doute le plus simple à faire pour des signaux à 2 ou 3 feux, pour des cibles SNCF, cela se complique car il faut combiner plusieurs cas, mais la programmation se débrouille bien avec la logique combinatoire.
Pour la détection par consommation de courant, il suffit de choisir un détecteur et rendre son signal exploitable par arduino : faisable avec des opto-coupleurs par exemple.

SYLTRAIN80 a écrit:donc est 'il possible créer des variables attribuées à chaque informations et de les transmettre par le bus Can et ubs jusqu’à l' ordi et ensuite les ordres de l' ordi jusqu' au cartes ardino ? et à qu' elle vitesse ?
existe t 'il des sketchs pour ce type de communication ?

pour la transmission par bus, tu trouveras sur ce forum des gens plus compétents que moi, mais cela à l'air faisable aussi puisque certains ont déjà réussi (en tout cas, bus I2C c'est certain).

SYLTRAIN80 a écrit:Je pense qu' avec 3 zones de détections dans un canton et selon l' ordre de détection on peut en déduire le sens
je ne sais pas si je suis très clair même je découvre les possibilités des Arduinos
ps:
je vais aller voir locoduino.org comme le conseil Trusty

Un canton est généralement constitué d'une zone de pleine voie, d'une zone de ralentissement et d'une zone d'arrêt pour un seul sens de circulation. Trois zones à surveiller pour un sens et 5 si la voie sert dans les deux sens. Mais dans un système informatique, on peut réunir zone d'arrêt et de ralentissement, ce qui fait deux zones pour un sens et trois pour les deux sens. Le sens de circulation peut être déduit de la polarité des deux rails.

Bon, je crois que tu vois bien où il te faut aller. Je pense que le chemin sera intéressant car beaucoup de problèmes à résoudre. mais cela représente des heures tout de même :roll:
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1510
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 11:20 
SYLTRAIN80 a écrit:Image


Pour tout dire mon projet est très semblable. Tellement semblable que nous pourrions collaborer sur le matériel et le logiciel. La différence est que je ne compte pas mettre de PC dans le système. L'Arduino gérera la circulation des trains.

Vitesse de communication dans le bus Can et dans la liaison USB ?


Dans la liaison USB je ne sais pas exactement à combien on peut monter. J'ai essayé 230400 avec CoolTerm et ça fonctionne.

Pour le CAN on peut monter à 1Mbits

découpage des cantons en 3 ou 5 zones ?


3 pour ma part, le ralentissement étant géré en pleine voie.

Captage par consommation de courant ?


Oui

commande signaux avec uln2803 ?


TLC5940

commande servos moteur avec L293d ?


Commande directe

commande des locos 2*L293d en parallèle ou L298n ?


MOSFET + électronique pour la mesure de vitesse (asservissement), mesure de courant, détection de présence, inversion de marche, détection de court-circuit. La carte est dessinée, l'électronique est testée.

Est ce que cela vous semble réalisable dans cette configuration sachant que le nombre de carte uno doit pouvoir évoluer selon l' avancement du réseau ?


Oui, je suis exactement parti là dessus.

Est plus simple en programmation de dedier un Ardiuno par tache comme sur ce shema ou un arduino par canton (captage , pmw, servos aiguillage, et signalisation) comme j' ai vu sur un autre sujet ?


Je suis parti pour dédier un Arduino aux tâches liées à la même fonction : l'alimentation gère également la détection de présence = 1 Arduino. Par contre aiguillages et feux sont gérés séparément avec un Arduino pour plusieurs feux et un Arduino pour plusieurs servo. Je ne crois pas à la gestion de tout ce qui est dans un canton par un Arduino car selon le canton le nombre de feux est variables, le nombre d'aiguillages est variable. Cela veut dire que les logiciels sont différents ce qui devient un casse tête de mise à jour.

Il y'a t'il un espoir de reprendre une partie des sources logiciel en C de UTS et de pouvoir faire un échange de données par le port USB au lieu de la RS232 ?


Je ne connais pas UTS mais comme du point de vue de l'Arduino il n'y a que la ligne série, ça ne devrait pas poser de gros problème. Quelle est la licence d'UTS ?
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 11:50 
SYLTRAIN80 a écrit:découpage des cantons en 3 ou 5 zones ?


Bonjour

Pour moi, sens unique 2 "zones", double sens "3 zones"

Il faut découper les zones

- pour un canton à sens unique :

Image

- pour un canton à double sens (banalisé)

Image
Avatar de l’utilisateur
lgperrin
Papotier
 
Messages: 165
Inscrit le: Dim 04 Mars 2012, 14:36
Localisation: Pontoise
Âge: 56
Echelle pratiquée: N-HO

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 14:57 
Bonjour Syltrain80,

Je vois que ton projet commence à rassembler du monde, et avec trusty, jlb et lgperrin, tu as de la chance car ces trois là "touchent leur bille" comme on dit.

Pourrais-tu nous expliquer ce qu'est UTS ?

Et nous donner un peu plus d'explications sur ton (projet de) réseau ? Grandeur, échelle, etc. ?
Avatar de l’utilisateur
Arduino
Démonstratif
 
Messages: 1510
Inscrit le: Mer 25 Sep 2013, 17:14

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 17:27 
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 17:37 
Merci pour tous vos messages .
j' ai déjà beaucoup d' informations intéressantes
Voici un liens vers UTS 2000 cela sera plus simple que de longues explications http://www.la-tour.info/uts/uts_index.html
Je me rassure de savoir que mon projet semble réalisable
Pour répondre à jbl, si je peux malgré mes faibles connaissances apporter une pierre l' édifice ce sera avec grand plaisir mais pour l' instant c' est grâce à son travail que j' apprends.
Pour les détections de cantons pourquoi ne pas faire de découpage sur le même rail (plus simple pour la carte non ?)

Est ce qu ' il est possible selon vous de raccorder chaque arduino sur une prise 10 ports usb et de communiquer en lecture/écriture a partir du PC comme le fait la fenêtre du TERMINAL SERIE du logiciel arduino

Pour info, j' ai commandé des cartes arduino ce matin.
En avant pour l' aventure :)
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 18:19 
SYLTRAIN80 a écrit:Pour les détections de cantons pourquoi ne pas faire de découpage sur le même rail (plus simple pour la carte non ?)


Comme j'ai une carte par canton (je vais expliquer pourquoi), j'ai 2 détecteurs sur la carte, un pour la pleine voie, un pour la zone d'arrêt.

Est ce qu ' il est possible selon vous de raccorder chaque arduino sur une prise 10 ports usb et de communiquer en lecture/écriture a partir du PC comme le fait la fenêtre du TERMINAL SERIE du logiciel arduino


Oui c'est possible, mais est-ce souhaitable ?

Je vais compléter ma réponse notamment en ce qui concerne l'alimentation des locomotives.

L'approche est très différente de celle d'UTS.

La carte faite par Ulysse permet de piloter 16 cantons. Chaque canton reçoit une PWM à 50Hz. Pour ma part je voudrais éviter la basse fréquence pour épargner les moteurs (voir sur mon blog : http://modelleisenbahn.triskell.org/spip.php?article44 et http://modelleisenbahn.triskell.org/spip.php?article45 ainsi que cette mésaventure qui montre que le problème n'est pas que théorique : http://passion-metrique.net/forums/view ... 10#p297603) mais aussi pour avoir un fonctionnement complètement silencieux. Ma PWM est donc à 31KHz. On ne peut pas générer des PWM à cette fréquence avec la méthode utilisée par Ulysse. Comme avec une fréquence de hachage élevée, les ralentis ne sont pas bons, il faut réaliser un asservissement de vitesse qui permet également de garantir la vitesse de déplacement de la loco même avec des wagons attelés. Ça donne ceci (l'ovale d'essai n'est pas à plat, la loco descend au début et monte ensuite :

https://dl.dropboxusercontent.com/u/677 ... alenti.m4v

Pour réaliser l'asservissement, il faut mesurer la force contre-électromotrice du moteur et donc mettre l'électronique nécessaire.

Concernant la détection, j'ai 2 détecteurs par canton. Ça ne vaut pas le coup de n'en mettre qu'un en commun.

Il y a également une détection de court-circuit.

À cause de la mesure de vitesse et de la détection de présence, l'inversion de marche est réalisée par des relais au lieu d'un pont en H.

Par conséquent j'ai plus d'électronique et 1 carte par canton.
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 19:43 
pour le découpage des cantons ,je me suis peut etre pas bien exprimé voici ce que j' avais en tête :
Image

Concernant la fréquence des pwm je suis d' accord avec vous(effectivement des moteurs font du bruit même à l' arrêt) mais est ce que le choix fait pour UTS est du aux limites des vitesses du PIC ou aux limites de vitesse des L293D ?
Par contre je n' ai pas bien compris comment se traduit en montage électronique le "réaliser l'asservissement, il faut mesurer la force contre-électromotrice du moteur" mais le résultat est la et c' est très probant .Par contre je sait pas si une simple Arduino est capable de ça ?
Pour ma réflexion sur les ports USB c' est simplement pourquoi 2 bus différents si l' USB seul peut tous faire bref pourquoi faire compliqué si on peu faire simple (attention c' est relatif )
En tous cas merci pour le temps passé à me repondre :applause:
SYLTRAIN80
 
Messages: 29
Inscrit le: Mar 24 Fév 2015, 10:47
Echelle pratiquée: HO - N
Prénom: Sylvain

Re: Conseil sur faisabilité de mon projet

Publié: Jeu 26 Fév 2015, 20:43 
Bonjour,
En prononçant les mot magiques "Bus Can", tu t'es fait plein d'amis.
Et en mettant des Nano partout, encore plus ... :D
Juste pour ton info, j'essaie de développer une solution radicalement différente, histoire de voir si c'est vraiment la seule issue. Si ça t'intéresse, voir mon fil "identification des trains par arduino". Mais c'est encore en chantier.
La solution Bus Can est très nettement plus développée que la mienne en ce moment et, aujourd'hui, je te conseillerai de suivre les conseils qui t'on été donnés par un groupe vraiment compétent.
J'y arriverai ... demain !
Avatar de l’utilisateur
groumfit
Papotier
 
Messages: 143
Inscrit le: Sam 25 Oct 2014, 11:25
Âge: 61
Prénom: Denis

Re: Conseil sur faisabilité de mon projet

Publié: Ven 27 Fév 2015, 08:43 
SYLTRAIN80 a écrit:pour le découpage des cantons ,je me suis peut etre pas bien exprimé voici ce que j' avais en tête :
Image


Oui c'est ça mais 1) ça n'est valable que dans un seul sens de circulation, 2) il faut couper les deux rails entre les cantons. En considérant les deux sens, ça donne ceci :

Image

Dans l'autre sens la position des détecteurs de présence passe sur l'autre rail d'où le relai.

Concernant la fréquence des pwm je suis d' accord avec vous(effectivement des moteurs font du bruit même à l' arrêt) mais est ce que le choix fait pour UTS est du aux limites des vitesses du PIC ou aux limites de vitesse des L293D ?


Les deux je pense. Si j'ai bien compris l'architecture le PIC charge les valeurs des 16 PWM en série dans deux registres à décalage 8 bits puis les 16 bits sont chargés dans les buffers de sortie. Si on veut une PWM à 256 crans, il faut faire cette opération 256 fois par cycles de PWM. Soit 4096 envois de bit. À 50 Hz, ça demande 20ms/4096 soit environ 5µs par bit. En assembleur, la boucle de chargement doit faire 7 ou 8 instructions soit environ 500ns pour une instruction. Ça donne une horloge du PIC à 8MHz sans tenir compte des temps autres dans le programme. Le PIC 16F873A ayant une période d'horloge minimum de 200ns, il est fort possible que 50Hz soit le maximum possible avec cette architecture. Et effectivement le L293D ne monte pas au dessus de 5kHz.

Par contre je n' ai pas bien compris comment se traduit en montage électronique le "réaliser l'asservissement, il faut mesurer la force contre-électromotrice du moteur"


Quand un moteur électrique tourne, il produit une tension proportionnelle à sa vitesse de rotation. C'est une dynamo. Cette tension est la force contre-électromotrice (FCEM). Donc en coupant l'alimentation, on peut mesurer cette tension pour récupérer la vitesse de rotation du moteur. Sur la vidéo, l'alimentation est coupée toutes les 10ms et la FCEM est mesurée (6 échantillons) ce qui prend environ 1ms. Le rapport cycleique de la PWM est recalculé et l'alimentation est rétablie.

mais le résultat est la et c' est très probant .Par contre je sait pas si une simple Arduino est capable de ça ?


Il en est tout à fait capable. C'est un Nano sur la vidéo.

Pour ma réflexion sur les ports USB c' est simplement pourquoi 2 bus différents si l' USB seul peut tous faire bref pourquoi faire compliqué si on peu faire simple (attention c' est relatif )


Parce que le PC doit faire la passerelle pour les communications entre les Arduino ce qui complique les choses :)
Avatar de l’utilisateur
jlb
Fécond
 
Messages: 667
Inscrit le: Jeu 04 Oct 2012, 16:38
Echelle pratiquée: N
Prénom: Jean-Luc

Suivant

Retour vers Arduino

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Yahoo [Bot] et 2 invité(s)