Arduino - Bloc automatique

Toutes les discussions sur l'Arduino !

Modérateur : MOD

Répondre
Avatar du membre
likiki
Éloquent
Messages : 302
Enregistré le : dim. 29 avr. 2012, 15:21
Echelle pratiquée : H0 3R
Prénom : Christian
Site Internet : http://passionnement.forumactif.org
Localisation : Corbeil Essonne
Âge : 52

Re: Arduino - Bloc automatique

Message par likiki » dim. 02 févr. 2014, 10:25

:mdr2: :mdr2: :mdr2: :mdr: :mdr: :mdr: :mdr2: :mdr2: :mdr2:
Cordialement,

Christian.

Avatar du membre
Arduino
Prolixe
Messages : 1701
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Arduino - Bloc automatique

Message par Arduino » dim. 02 févr. 2014, 10:37

Ah ! J'en vois qui rigolent !

Et bien, c'est eux qui iront aider le copain à tondre la pelouse ! :lol:

Avatar du membre
Ramboman
Disert
Messages : 423
Enregistré le : lun. 23 oct. 2006, 18:13
Echelle pratiquée : LGB
Localisation : Waterloo, Belgique
Âge : 75

Re: Arduino - Bloc automatique

Message par Ramboman » dim. 02 févr. 2014, 10:45

Comment brancherais-tu les photodiodes ?
Je n'ai pas encore basculé ma logique vers le propeller et le fait que l'arduino ait des entrées analogiques est certes un argument de poids.
De toute façon je prévoyais d'utiliser cinq entrées avec les capteurs de courant des cinq sections du canton.
Sur mon réseau d'intérieur un canton ne dépasse pas 4.5m soit 15 diodes sur 8 entrées...

Avatar du membre
Arduino
Prolixe
Messages : 1701
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Arduino - Bloc automatique

Message par Arduino » dim. 02 févr. 2014, 12:34

Soit sur les entrées analogiques, qui liraient une tension différente fonction de la photodiode donnant le signal, soit sur les entrées numériques à travers un convertisseur binaire décimal (ou plusieurs, selon ton plan de réseau).

Pour les entrées analogiques, un montage similaire a été décrit par jlb pour sa platine servos, sauf que dans ton cas, les photodiodes sont passantes quand éclairées et non passantes dans l'ombre, ce qui agit dons en sens inverse d'un poussoir. Mais il y a sûrement un moyen de contourner cela.

Pour les entrées numériques, cela dépend comment tu organises les cantons de ton réseau, mais le Nano a pas mal d'entrées qu'il faut lire comme un port, c'est-à-dire groupées (par exemple 4 entrées peuvent lire 2^4 = 16 photodiodes donnant un signal 0 ou 1).

Avec un peu d'électronique, tu peux résoudre ce problème. Si tu préfères utiliser plusieurs Nano, tu seras confronté au fait de les faire communiquer entre eux, mais je pensais que tu avais plutôt résolu ce problème en bus CAN ...

A toi de voir ce qui est plus simple pour toi ... :wink:

Avatar du membre
Ramboman
Disert
Messages : 423
Enregistré le : lun. 23 oct. 2006, 18:13
Echelle pratiquée : LGB
Localisation : Waterloo, Belgique
Âge : 75

Re: Arduino - Bloc automatique

Message par Ramboman » dim. 02 févr. 2014, 13:21

Je veux utiliser le moins de composants possible.
Sur une entrée analogique j'ai une diode et une résistance, c'est tout.
Le nano a 8 entrées analogiques.
Je devrais pouvoir utiliser une logique de genre "clavier" pour lire les photodiodes par groupe de huit...

Avatar du membre
Pierre59
Papotier
Messages : 147
Enregistré le : dim. 07 mars 2010, 09:17
Echelle pratiquée : HO
Club : Lille Modélisme
Localisation : Villeneuve d'Ascq (59650)
Âge : 76

Re: Arduino - Bloc automatique

Message par Pierre59 » dim. 02 févr. 2014, 16:11

ramboman a écrit :Je veux utiliser le moins de composants possible.
Sur une entrée analogique j'ai une diode et une résistance, c'est tout.
Le nano a 8 entrées analogiques.
Je devrais pouvoir utiliser une logique de genre "clavier" pour lire les photodiodes par groupe de huit...
Bonjour

J'utilise des photorésistances (provisoirement) pour réaliser des détections ponctuelles sur mon réseau. Comme il m'en faut quelques dizaines, j'utilise des démultiplexeurs analogiques 74HCT4067 qui ont 16 entrées analogiques et une sortie analogique. Chaque entrée analogique de l'ATmega peut recevoir la sortie analogique d'un démultiplexeur, les entrées analogiques de l'ATmega jouent le rôle d'un deuxième démultiplexeur, comme on ne peut faire qu'une conversion analogique/digital à la fois. Ce qui donne au maximum 6x16=96 ou 8x16=128 (suivant le modèle d'ATmega) photorésistances utilisables.

L'ATmega ne fait que digitaliser les tensions analogiques au bornes des photorésistances l'une après l'autre et détecte les variations significatives lors de passage de véhicules. Cela va suffisamment vite, à titre d'exemple avec un ATmega à 8MHz et 64 photorésistances lors d'essais il fallait 1ms pour tester les 64 photorésistances.

Je me sers de ce système notamment pour les arrets aux signaux fermés.

Pierre

PS il ne faut que 4 broches de l'ATmega pour l'adressage de tous les démultiplexeurs

Avatar du membre
Ramboman
Disert
Messages : 423
Enregistré le : lun. 23 oct. 2006, 18:13
Echelle pratiquée : LGB
Localisation : Waterloo, Belgique
Âge : 75

Re: Arduino - Bloc automatique

Message par Ramboman » dim. 02 févr. 2014, 16:56

Excellent, je te remercie.

Avatar du membre
Arduino
Prolixe
Messages : 1701
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Arduino - Bloc automatique

Message par Arduino » dim. 02 févr. 2014, 18:39

Excellente solution. Et en plus, c'est du vécu ...

Merci Pierre59. J'ai une autre question pour toi (car tu as l'air de bien connaitre les microcontrôleurs AVR) ; lorsqu'une broche est multiplexée avec la fonction RESET, comment utiliser cette broche en entrée-sortie digitale ? Pour plus d'info sur ce qui nous tracasse, voir le forum d'Hubert "Arduino ou comment s'en passer par transfert". Merci pour ta réponse.

Christian

Avatar du membre
Pierre59
Papotier
Messages : 147
Enregistré le : dim. 07 mars 2010, 09:17
Echelle pratiquée : HO
Club : Lille Modélisme
Localisation : Villeneuve d'Ascq (59650)
Âge : 76

Re: Arduino - Bloc automatique

Message par Pierre59 » dim. 02 févr. 2014, 18:55

Arduino a écrit :lorsqu'une broche est multiplexée avec la fonction RESET, comment utiliser cette broche en entrée-sortie digitale ?
Il y a un fusible pour désactiver le "reset extérieur" et donc rendre la broche utilisable normalement. Mais dans ce cas c'est la galère pour revenir en arrière ou reprogrammer le microcontrôleur, il faut utiliser un mode de programmation spécial.

Pierre

Avatar du membre
Arduino
Prolixe
Messages : 1701
Enregistré le : mer. 25 sept. 2013, 17:14

Re: Arduino - Bloc automatique

Message par Arduino » dim. 02 févr. 2014, 19:19

Merci Pierre59 pour ta réponse qui conforte ce que disait Hubert, et ce qu'a trouvé class66240, ainsi que ce que j'ai pu comprendre de la doc Atmel.

Avatar du membre
fa57
Zorro est à rivets
Messages : 17281
Enregistré le : sam. 20 août 2005, 15:52
Localisation : ACAL

Re: Arduino - Bloc automatique

Message par fa57 » mar. 25 févr. 2014, 13:39

Roc a écrit :
PIC18F a écrit :Pourquoi implanter le sémaphore en début de canton et non en fin ? (C'est l'éternel dilemme . . .)
Dans la réalité, le signal protège les circulations. En aval, donc. Il interdit donc l'entrée d'un convoi dans le canton qu'il protège (et pas la sortie de celui d'avant).
Dans la pratique et de premier abord, en pleine voie c'est la même chose.
il y a une toute petite nuance historique.
Sur l'AL le sémaphore interdit la sortie (quand il n'y en avait qu'un, il était implanté à la sortie de gare), c'est comme si tu faisais du contonnement avec des carrés. Les sémaphores AL n'étaient pas franchissables. Les mêmes sémaphores protégeaient aussi les aiguilles.
J'étais aux WC :mdr:

doddyfab
Messages : 22
Enregistré le : mer. 26 févr. 2014, 11:50

Re: Arduino - Bloc automatique

Message par doddyfab » mar. 23 sept. 2014, 14:38

Bonjour,

je suis intéressé par ce bloc automatique pour gérer un réseau type os de chien sans aiguilles sur 8 cantons.
Le code fourni pour la gestion des feux semble supers, mais la synchro avec les rails serait le top. Est-ce prévu d'aborder la partie alimentation des trains un jour ? Est-ce que quelqu'un l'a mis en oeuvre ?
Merci d'avance pour votre retour d'expérience, j'aimerais utiliser des arduinos plutot que de faire des cartes électroniques pour mes 8 cantons.

Merci d'avance
Fabien

Avatar du membre
Ramboman
Disert
Messages : 423
Enregistré le : lun. 23 oct. 2006, 18:13
Echelle pratiquée : LGB
Localisation : Waterloo, Belgique
Âge : 75

Re: Arduino - Bloc automatique

Message par Ramboman » mar. 23 sept. 2014, 14:54

Ben... il faut tout relire ;)
Es-tu analogique ou numérique ?
Pour le reste : détection d'occupation des cantons...
Action sur les signaux en conséquence...
Arrêt ou ralentissement du train... c'est de la logique pure...
Il y a tant de manière d'arriver au même résultat...

doddyfab
Messages : 22
Enregistré le : mer. 26 févr. 2014, 11:50

Re: Arduino - Bloc automatique

Message par doddyfab » mar. 23 sept. 2014, 14:56

Certes j'ai été peu généreux dans les explications.
Réponses rapides : mode analogique, gestion des feux et de la vitesse du train avec ralentissement et démarrage progressif, arret du train si canton amont non libre et ralentissement si canton amont+2 utilisé.
Je vais reprendre ca à tete reposée.

Avatar du membre
Ramboman
Disert
Messages : 423
Enregistré le : lun. 23 oct. 2006, 18:13
Echelle pratiquée : LGB
Localisation : Waterloo, Belgique
Âge : 75

Re: Arduino - Bloc automatique

Message par Ramboman » mar. 23 sept. 2014, 15:14

C'est plus facile en analogique... je te suggères de travailler par tranches :
1. Commences par faire la détection par circuit de voie ou autrement... moi j'utilise 5 zones par canton, 3 suffiraient pour un seul sens de marche : le canton lui-même, la zone de ralentissement avant le signal et la zone de détection de dépassement de signal... détection par pont de diode et optocoupleur... ça marche bien.
2. Commande des signaux... simple question de goûts et couleurs...
3. Action sur les trains... là ça va du plus simple, relais de ralentissement et relais d'arrêt, au plus compliqué, cab control automatique... on en discute en temps zuzu ;)

Répondre