LOCODUINO

Parlons Arduino => Vos projets => Discussion démarrée par: Jean-Luc le janvier 15, 2015, 06:36:28 pm

Titre: Un Arduino par canton
Posté par: Jean-Luc le janvier 15, 2015, 06:36:28 pm
Bonjour,

Il s'agit ici de faire du cantonnement sur un réseau analogique. L'idée est de pouvoir piloter un réseau « comme en numérique » avec une grosse différence : les « décodeurs » sont associés aux cantons et non aux locomotives.

Ce n'est pas une idée nouvelle, feu Driving Railways faisait cela. Mais il s'agit d'aller un peu plus loin en ayant une régulation de vitesse (compensation de charge dans le jargon).

Une première solution est de faire un arbre de relais qui permet d'associer une alimentation à un ou plusieurs cantons.

Une autre solution consiste à associer une alimentation pilotée par un Arduino à chaque canton. En plus de l'alimentation du canton, il assure la détection de présence et, idéalement, la mesure de vitesse de la locomotive qui occupe le canton.

C'est cette seconde solution qui est choisie.

Une première chose à faire est de synchroniser les PWM de tous les cantons. En effet, si les PWM ne sont pas synchrones, une locomotive à cheval sur 2 cantons recevra une impulsion plus longue et verra sa vitesse modifiée tant qu'elle est à cheval. Elle fera donc potentiellement un petit bond à chaque passage d'un canton au suivant.

Voici donc une bibliothèque qui assure la synchronisation des PWM de plusieurs Arduino. Elle utilise le timer2 dans un mode de PWM particulier qui permet d'ajuster finement la fréquence.

Un Arduino maître diffuse un signal de synchronisation aux autres Arduino, le code exemple est dans MasterClock. Le signal de synchro sort sur la broche 3.

Avec l'exemple SyncPWM, chaque Arduino affecté à un canton génère une PWM synchronisée sur la broche 3 et reçoit le signal de synchro sur la broche 8.

La fréquence de la PWM est d'un peu moins d'1kHz. l'erreur maxi entre 2 PWM, du moins ce que j'ai pu mesurer à l'oscillo, est d'environ 8µs. Les valeurs possibles pour la PWM vont de 0 à 254.

À 1kHz, le signal de synchro devrait pouvoir voyager sur une certaine distance (combien ? faut voir). Au delà, il faut passer en différentiel.

Si vous avez des questions, n'hésitez pas.

La bibliothèque :

https://dl.dropboxusercontent.com/u/67740546/SyncPWM.zip
Titre: Re : Un Arduino par canton
Posté par: Guillaume le janvier 18, 2015, 11:11:32 am
Comme en numérique c'est à dire ?
Chaque arduino pourra déterminer par exemple le sens du courant ?
Je ne connais pas ce log mais si on prend un exemple : réseau en 8 voie unique avec 2 gares sur les parties droites du 8 (dont une cachée donc)
pourrait-on faire partir chacun de leur coté un train d'une gare, ils vont chacun dans un sens pour arriver à l'autre gare et tout cela en analogique avec ce truc ? Comme en numérique donc ?
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le janvier 18, 2015, 02:45:55 pm
Il y a deux partie distinctes.

La première à réaliser est l'alimentation de la locomotive, ce que fait un décodeur de locomotive en numérique. La différence principale est qu'en analogique, c'est le canton qui est alimenté et non la locomotive. La locomotive change donc d'alimentation au fur et à mesure de son parcours.

Il y a deux façons de faire :
- avoir une collection d'alimentations centralisées, autant que tu veux avoir de locomotive en fonctionnement sur le réseau. Une série de relai permet de connecter chacune de ces alimentation a un ou plusieurs cantons.
- avoir une alimentation par canton sans relais pour l'y connecter.

Dans le premier cas, il y a énormément de câblage et la régulation de vitesse n'est probablement pas possible. Dans le second cas la regulation de vitesse est possible mais il faut que les PWM des alimentations soient synchronisées. Si on veut une marche régulière et de très bons ralentis, la seconde solution est la meilleure.

La 2ème partie est le suivi des convois sur les cantons. C'est la même problématique en analogique et en numérique. Habituellement c'est réalisé par un logiciel qui tourne sur un PC. Il y a deux parties dans cette partie : la sécurité c'est a dire éviter que les trains n'entrent en collisions via un bloc automatique. Le routage des trains pour automatiser la circulation. C'est a gérer de manière centralisée sur un Arduino dédié.

Mais ou, une fois tout cela en place, on peut piloter un réseau analogique comme un numérique.

Concernant SyncPWM, j'en suis l'auteur. C'est une des briques de base de la seconde solution. 
Titre: Re : Un Arduino par canton
Posté par: Guillaume le janvier 18, 2015, 03:13:26 pm
Très intéressant ce truc comme je pensais.
La 1ère solution est vraiment compliqué : c'est sur que ce n'est pas une taille de lopette mais chalindrais en est un exemple.

Je garde cela sous le coude ;) ou le pied je sais pas
Titre: Re : Re : Un Arduino par canton
Posté par: Pierre59 le février 06, 2015, 04:39:56 pm
Il y a deux façons de faire :
- avoir une collection d'alimentations centralisées, autant que tu veux avoir de locomotive en fonctionnement sur le réseau. Une série de relai permet de connecter chacune de ces alimentation a un ou plusieurs cantons.
- avoir une alimentation par canton sans relais pour l'y connecter.

Dans le premier cas, il y a énormément de câblage et la régulation de vitesse n'est probablement pas possible.
Bonjour

Je ne vois pas pourquoi ce "n'est probablement pas possible" ? A priori je le fait sur mon réseau !

Pierre
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 06, 2015, 04:47:51 pm
Bonjour Pierre,

Pourrais-tu expliquer ce que tu fais sur ton réseau ?
Titre: Re : Re : Un Arduino par canton
Posté par: Pierre59 le février 08, 2015, 11:51:22 am
Pourrais-tu expliquer ce que tu fais sur ton réseau ?

Je fonctionne au choix en analogique ou en digital. En analogique j'ai 4 sources PWM (128 pas) commandables par l'ordinateur, en digital une centrale commandable aussi par l'ordinateur.
L'ordinateur connait la position des trains (détection de présence dans les zones et cantons), des aiguilles (par le biais des itinéraires) et a des informations de détection ponctuelles pour les signaux.

Quand un train passe sur une détection ponctuelle, l'ordinateur connait l'état du signal, la vitesse du train (cran), si par exemple le signal est à l'avertissement l'ordinateur va envoyer des commandes à l'alimentation (analogique ou digitale) pour réduire progressivement la vitesse (cran) jusqu'a 30 km/h. Si le signal est fermé il arrive sur le détecteur ponctuel à 30 km/h et reçoit alors un ordre d'arret.

Voila c'est très classique.

Pierre
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 08, 2015, 11:55:30 am
Bonjour Pierre.

Ok, je vois. Quand je parlais de régulation de vitesse, je parlais de mesurer la FCEM et de piloter la PWM par une loi de commande pour que la FCEM soit égale à une consigne. Dans ce contexte, je pense que réguler la vitesse est difficile car la longueur de fils entre les rails et l'alimentation traction nuit à la mesure de la FCEM.
Titre: Re : Un Arduino par canton
Posté par: Guillaume le février 13, 2015, 01:31:40 pm
Je reviens vers toi pour cette librairie. Je réfléchis un peu à un réseau. Deux questions pour toi :
peut-on augmenter au maximum la fréquence des PWM ? Sans cela, je serais dans l'impossibilité de gérer avec cette biblio. Au regard de ce que tu dis, oui mais différentiel ?
Si je comprends bien un peu le code, c'est que pour les arduinos de base avec un atmega je parle, pas de possibilité encore du due par exemple.
Titre: Re : Re : Un Arduino par canton
Posté par: Jean-Luc le février 13, 2015, 05:13:56 pm
peut-on augmenter au maximum la fréquence des PWM ? Sans cela, je serais dans l'impossibilité de gérer avec cette biblio. Au regard de ce que tu dis, oui mais différentiel ?

Oui. On peut augmenter la fréquence de la PWM au maximum. Le signal de synchro sera à la même fréquence et donc il est préférable de le diffuser en différentiel. Le faire avec un MCP2551 est un peu coûteux. Il existe des drivers différentiels et des récepteurs moins coûteux (UA9638 et UA9637)

Citer
Si je comprends bien un peu le code, c'est que pour les arduinos de base avec un atmega je parle, pas de possibilité encore du due par exemple.

Je pense que tu parles du contrôleur central. Pour l'instant je n'ai pas fait l'émission de la synchro sur un Due mais je pense que ça se fait facilement et je le ferai.
Titre: Re : Un Arduino par canton
Posté par: Guillaume le février 13, 2015, 06:41:48 pm
Il faudra que tu nous expliques cela le truc différentiel. Un peu cher le mcp comme tu dis. Les autres c'est mieux.
Une autre question d'ailleurs, les arduinos sont aussi reliés par la masse ?

Si on reprend le truc, un arduino lambda uno ou mega ou mini pour le moment démarre le master clock sur la broche 3. Sont reliés ensuite d'autres arduino qui démarre le prog sync, crée un objet selon la biblio avec réception du signal sur la broche 8 et envoie le pwm sur la broche 3 en fonction d'un argument byte.
Chaque arduino mettant l'attribut byte qu'il veut d'où l'indépendance de chaque canton.


Le due n'est pas nécessaire pour le moment, je réfléchis à en prendre un vu son prix pas si différent d'un méga. Ca sera pour mon mini module en HOe.

Titre: Re : Re : Un Arduino par canton
Posté par: Jean-Luc le février 14, 2015, 09:36:37 am
Il faudra que tu nous expliques cela le truc différentiel. Un peu cher le mcp comme tu dis. Les autres c'est mieux.

http://fr.m.wikipedia.org/wiki/Signalisation_différentielle (http://fr.m.wikipedia.org/wiki/Signalisation_différentielle)

Citer
Une autre question d'ailleurs, les arduinos sont aussi reliés par la masse ?

Oui via l'alimentation. Mais il ne faut pas considérer que les masses sont identiques partout. Un fil long n'est pas une équipotentielle.

Citer
Si on reprend le truc, un arduino lambda uno ou mega ou mini pour le moment démarre le master clock sur la broche 3. Sont reliés ensuite d'autres arduino qui démarre le prog sync, crée un objet selon la biblio avec réception du signal sur la broche 8 et envoie le pwm sur la broche 3 en fonction d'un argument byte.
Chaque arduino mettant l'attribut byte qu'il veut d'où l'indépendance de chaque canton.

Oui c'est ça. Mais les valeurs de PWM appliquées sur chaque canton sont décidées par un Arduino maître qui connaît l'emplacement des trains via une rétro-signalisation.

Citer
Le due n'est pas nécessaire pour le moment, je réfléchis à en prendre un vu son prix pas si différent d'un méga. Ca sera pour mon mini module en HOe.

Le due me semble bien taillé pour jouer le rôle de l'Arduino maître.
Titre: Re : Un Arduino par canton
Posté par: Guillaume le février 15, 2015, 10:01:35 am
Merci pour ces réponses.
C'était un raccourci pour la valeur des PWM.

Pour ce qui est du DUE, il va falloir d'abord que je puisse accéder à l'IDE 1.5.8 car à ce jour impossible de l'avoir sur aucun de mes ordis, en attente. Cela marchait sur un seul de mes ordis, mais le temps faisait, il ralentissait de plus en plus vu toutes les installations de prog que je faisais, et les versions devenant de plus en plus gourmandes j'ai réinstallé pour un truc plus light. Bref, je dois cogiter un peu...

A suivre
Titre: Re : Un Arduino par canton
Posté par: Guillaume le février 16, 2015, 11:42:46 am
Finalement, la dernière version en stable qui remplace tout la 1.6 a résolu le pb sans intervention de ma part.
Plus qu'à commander le DUE.
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 16, 2015, 04:37:06 pm
Pour l'instant je fais des essais avec un moteur Graupner Speed 500E sans chercher à optimiser quoique ce soit. La seule chose que j'ai faite est de passer la fréquence de la PWM à 31,45kHz (d'après l'oscillo).

Le moteur est donc piloté avec une PWM à 31,45kHz.

Toutes les 10ms, la PWM est coupée et l'Arduino mesure la force contre électromotrice du moteur (FCEM).  Quand un moteur tourne, il produit une tension, comme une dynamo de vélo, qui est proportionnelle à la vitesse de rotation. Pour cela, un montage à d'amplificateur opérationnel permet de la mesurer. Ça ramène une valeur entre 0 et 10V entre 0 et 5V et ça fonctionne avec des masses qui ne sont pas exactement les mêmes, elles peuvent différer de plusieurs volts.

L'Arduino effectue 6 mesures car la FCEM est très bruitée et les trie. Les deux extrêmes sont éliminés et une moyenne des 4 centrales est effectuée.

J'ai mis en œuvre un asservissement de vitesse du moteur avec un régulateur PI (j'utilise asservissement plutôt que régulation pour ne pas confondre). PI pour Proportionnel Intégral. La consigne est la FCEM à atteindre. En soustrayant la FCEM mesurée à la consigne, on calcule une erreur. Cette erreur est multipliée par une constante qu'il faut régler : le gain proportionnel. On calcule également la somme des erreurs ce qui donne l'intégrale de l'erreur. Cette intégrale est également multipliée par un gain. La PWM est donc calculée comme suit (ici on divise par l'inverse du gain intégral) :

     int erreur = consigneVitesse - fcem;
     cumulErreur += erreur;
     pwm = erreur * gainProportionnel + cumulErreur / inverseGainIntegral;

La PWM est ensuite relancée avec la nouvelle valeur.

Pour l'instant l'électronique est un peu crade. L'ampli op est alimenté directement par la tension qui alimente le MOSFET et elle est très bruitée. Mais ça marche quand même :)
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 17, 2015, 11:41:16 am
J'ai fait une vidéo, je vous mets ça en ligne dès que possible.
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 18, 2015, 09:34:46 am
Voici la vidéo avec une petite BR64 au ralenti. L'ovale d'essai est incliné comme on peut le voir sur la 2e moitié de la vidéo via l'absence de parallélisme entre les joints du carrelage  et le rebord. La loco descend donc au début puis remonte la pente de l'autre côté de l'ovale.

https://dl.dropboxusercontent.com/u/67740546/ralenti.m4v
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 26, 2015, 08:30:40 am
Bonjour,

Le github pour SyncPWM qui remplace la version postée ici en pièce jointe :

https://github.com/Koryphon/SyncPWM
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le mars 03, 2015, 05:46:49 pm
Bonjour,

J'ai avancé sur la carte d'alimentation de canton version Arduino. Les composants tiennent sur une carte 10x10 avec un Arduino Nano aux commandes. J'ai testé sur breadboard la mesure de vitesse, l'asservissement de vitesse et la détection. Le CAN a été testé par ailleurs. Le reste attendra la carte car ça devient compliqué sur breadboard  :)

J'ai disposé un certains nombre de pastilles sur les signaux entre l'électronique et l'Arduino pour mettre des sondes et voir ce qui se passe.

Voici l'implantation des composants :

(https://dl.dropboxusercontent.com/u/67740546/AlimTraction/AlimTraction.plc.png)

Le cuivre côté composants :

(https://dl.dropboxusercontent.com/u/67740546/AlimTraction/AlimTraction.cmp.png)

Le cuivre côté cuivre :

(https://dl.dropboxusercontent.com/u/67740546/AlimTraction/AlimTraction.sol.png)

C'est compliqué mais ça fait également la détection et ça gère un canton double sens avec zone d'arrêt. C'est également une alimentation « One step beyond » car, à ma connaissance, il n'existe pas d'alimentation avec asservissement et synchronisation entre les cantons (L'alimentation avec asservissement de l'AMFN semble être monolithique). Les systèmes comme Driving Railways, LadyBug ou UTS utilisent de la tension hachée basse fréquence sans asservissement.
Titre: Re : Un Arduino par canton
Posté par: TF53 le mars 03, 2015, 08:26:04 pm
Je trouve le principe très bien pensé. Félicitations!!!

Petites questions :
1) Comment se fait la détection? Uniquement via la mesure de la FCEM ou y a t-il autre chose qui permet de détecter la machine?
2) Si je comprends bien, tu mesures la FCEM pour en déduire la vitesse de la locomotive. Cela marche ben avec des locomotives analogiques, mais cela marche t-il aussi avec des locomotives équipées de décodeurs?
3) Quel logiciel utilises tu pour faire tes typons?
4) qu'appelles tu une alimentation "one step beyond"? Je ne trouve pas d'article sur le net expliquant ce que c'est...
Titre: Re : Re : Un Arduino par canton
Posté par: Jean-Luc le mars 03, 2015, 08:43:27 pm
Je trouve le principe très bien pensé. Félicitations!!!

Merci  :)

Citer
Petites questions :
1) Comment se fait la détection? Uniquement via la mesure de la FCEM ou y a t-il autre chose qui permet de détecter la machine?

Non car quand la machine est à l'arrêt la FCEM est nulle. La détection se fait via le système classique : une serie de diodes (ici 4 pour avoir une bonne sensibilité)  quand un courant circule, on a une tension, qui est la somme des tensions de seuil des diodes en série, qui sert à saturer un transistor. Quand le courant ne circule pas, le transistor est bloqué. Ça permet de détecter une résistance de plus de 68kΩ ce qui correspond à des essieux de wagons pas très bien graphités.

Citer
2) Si je comprends bien, tu mesures la FCEM pour en déduire la vitesse de la locomotive. Cela marche ben avec des locomotives analogiques, mais cela marche t-il aussi avec des locomotives équipées de décodeurs?

Probablement pas. Le décodeur étant intercalé entre la voie et le moteur, la FCEM ne doit pas être visible. 

Citer
3) Quel logiciel utilises tu pour faire tes typons?

Canari (http://canari.rts-software.org) (Mac OS X), développé par un collègue.

Citer
4) qu'appelles tu une alimentation "one step beyond"? Je ne trouve pas d'article sur le net expliquant ce que c'est...

C'était juste pour dire que ça va au delà de ce qui se fait habituellement. Ce n'est pas un terme consacré  ;)
Titre: Re : Un Arduino par canton
Posté par: TF53 le mars 03, 2015, 09:53:41 pm
Merci pour le logiciel, je n'en avais jamais entendu parler avant! J'utilisais Cidess, mais sous mac, j'étais obligé d'utiliser wineskin pour l'installer, ce qui provoquait quelques bugs supplémentaires...
Titre: Re : Un Arduino par canton
Posté par: Marc-Henri le mai 16, 2015, 12:16:09 pm
...Une première chose à faire est de synchroniser les PWM de tous les cantons. En effet, si les PWM ne sont pas synchrones, une locomotive à cheval sur 2 cantons recevra une impulsion plus longue et verra sa vitesse modifiée tant qu'elle est à cheval. Elle fera donc potentiellement un petit bond à chaque passage d'un canton au suivant...

Bonjour Jean-Luc,

Je suis interpellé par la synchronisation des PWM des cantons. Avec une fréquence de 1 KHz et l'effet passe-bas des moteurs, est-ce vraiment indispensable ?

Meilleures salutations.

Marc-Henri
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le mai 16, 2015, 04:36:31 pm
Bonjour Marc-Henri

Une synchronisation est nécessaire. Sinon, les PWM peuvent se trouver carrément en opposition de phase. Même un déphasage pas très important se traduit par une accélération de la machine quand elle passe d'un canton a l'autre :

(http://modelleisenbahn.triskell.org/IMG/png/synchro.png)

La PWM est à 32kHz

Amicalement
Titre: Re : Un Arduino par canton
Posté par: railyRabbit le mai 16, 2015, 10:39:39 pm
Je dirais même CRC / acquittement et re-émission
Je me suis posé ces questions pour la liaison sans fil entre le TCO et le réseau. J'envisageais de placer les ordres envoyés dans une file et d'attendre la confirmation pour les en retirer. J'avais regardé la lib. QueueArray (http://playground.arduino.cc/Code/QueueArray) à cette fin.
Mais je vais me focaliser sur l'alim PWM dans un premier temps, pour des questions pratiques (le vieux transfo n'est pas très précis).

La fréquence de la PWM est d'un peu moins d'1kHz. l'erreur maxi entre 2 PWM, du moins ce que j'ai pu mesurer à l'oscillo, est d'environ 8µs. Les valeurs possibles pour la PWM vont de 0 à 254.
Sur la base de tes articles, je partais une PWM de 32kHz (la fréquence native du Timer2 d'un Uno). Comme je ne compte pas cantonner (le réseau est petit, 1,6 * 0,7m), je vais rester sur 1 seule source.

Par contre comment gères-tu l'étage de puissance, avec des MOSFET ou un pont en H ? J'ai l'impression que les ponts commutent suffisamment vite pour suivre la fréquence de la PWM.

Sinon, faut-il supprimer les condos et les selfs sur les locos analogiques ? Je partais du principe que oui, vu qu'il faut le faire lors d'une digitalisation...

[Edit: en train de voir ton autre fil dans "Shields et Modules" ; donc MOSFET, et parfois oui, parfois non...]
Titre: Re : Un Arduino par canton
Posté par: Marc-Henri le mai 20, 2015, 04:15:10 pm
Merci Jean-Luc pour l'explication relative à la synchro PWM.

J'ai regardé en détail ta bibliothèque SynchroPWM et le principe me paraît clair. 2 lectures successives de la PWM envoyée par le maître sont effectuées à chaque interruption et cela permet de déterminer si on est en retard ou en avance. Seule une transition dans le même sens que celle qui a généré l'interruption du timer est considérée comme synchrone. Il y a alors un décalage égal à la période de l'horloge du timer.

Ce qui n'est par contre pas clair pour moi, c'est pourquoi tu n'utilises pas la même interruption avec les Atmega168/328 (timer compare) qu'avec l'Atmega32U (timer overflow). Je suppose que ce n'est pas exactement le même mode PWM qui est utilisé selon le processeur ?

Meilleures salutations.

Marc-Henri
Titre: Re : Re : Un Arduino par canton
Posté par: Jean-Luc le mai 20, 2015, 05:07:16 pm
Par contre comment gères-tu l'étage de puissance, avec des MOSFET ou un pont en H ? J'ai l'impression que les ponts commutent suffisamment vite pour suivre la fréquence de la PWM.

MOSFET car l'inversion de marche est faite via un ou des relais.

Citer
Sinon, faut-il supprimer les condos et les selfs sur les locos analogiques ? Je partais du principe que oui, vu qu'il faut le faire lors d'une digitalisation...

Condos oui, impératif. Selfs non
Titre: Re : Re : Un Arduino par canton
Posté par: Jean-Luc le mai 20, 2015, 05:16:23 pm
Ce qui n'est par contre pas clair pour moi, c'est pourquoi tu n'utilises pas la même interruption avec les Atmega168/328 (timer compare) qu'avec l'Atmega32U (timer overflow). Je suppose que ce n'est pas exactement le même mode PWM qui est utilisé selon le processeur ?

héé ééé ben peut-être parce que je me suis planté. Faut que je regarde mais de mémoire j'ai testé avec un 328 en maître et un 32u4 en esclave et ça marchait. Il est également possible que dans le mode où la PWM est programmé overflow == compare étant donné que le TOP du compteur est COMPA. À voir
Titre: Re : Un Arduino par canton
Posté par: Marc-Henri le mai 22, 2015, 07:30:04 pm
Bonsoir Jean-Luc,

J'ai finalement mis plus de temps à comprendre le code de SyncPWM, mais c'est ok maintenant. Pour les 168/328, la synchro se fait sur output compare A qui déclenche l'interruption et la génération du fast PWM se fait sur output compare B qui change directement la sortie OC correspondante (sans interruption).

Je pense que ton commentaire relatif au 32 où output compare == overflow est correct.

Je vais voir si l'Attiny 2313 a les mêmes capacités pour fonctionner en fast PWM esclave.

Bonne fin de semaine & meilleures salutations.

Marc-Henri
Titre: Re : Un Arduino par canton
Posté par: Marc-Henri le juin 02, 2015, 08:34:19 am
Bonjour à tous,

Je reviens sur la description de l'asservissement de vitesse par mesure de la force électromotrice décrit par Jean-Luc.

Je serais intéressé par quelques compléments d'information sur l'étape d'amplification à ampli op.
Par ailleurs, combien de temps dure l'interruption de la PWM qui survient toutes les 10 ms ? J'imagine que c'est plutôt court !

Encore un grand merci pour ces échanges très instructifs.
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le octobre 09, 2015, 03:56:05 pm
Bonjour,

Je recolle au peloton après une longue période d'occupation professionnelle intense.

Citer
Quelle est la valeur brute typique de la tension mesurée à l'entrée ?

Sur une loco H0, ça peut monter à 10V

Citer
Comment les ampli ops gèrent-ils les écarts de masse ? J'avoue ne pas être des plus à l'aise avec les questions de masses pouvant être différentes !

La mesure est différentielle donc les écarts de masse ne gênent pas.

Citer
La tension de sortie est-elle limitée avant d'attaquer l'entrée du convertisseur AD ?

Oui, il y a deux diodes 1N4148 qui empêchent la tension de sortie d'être > 5V et < 0V.

Citer
Est-il possible de voir le schéma de cette partie ?

Bien sûr. Je l'ajoute ici même dès ce soir
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le octobre 09, 2015, 11:03:52 pm
Bonsoir,

Voici les schémas : https://dl.dropboxusercontent.com/u/67740546/AlimTraction/AlimentationTraction.pdf
Titre: Re : Un Arduino par canton
Posté par: Marc-Henri le octobre 11, 2015, 02:31:46 pm
Merci beaucoup Jean-Luc pour ces précisions et le schéma.

Bon dimanche et meilleures salutations.

Marc-Henri
Titre: Re : Un Arduino par canton
Posté par: Pierre34 le mai 08, 2017, 11:20:41 pm
Bonjour Jean Luc,

Nouveau sur le forum que je parcours avec grand intérêt je serai preneur d'information sur l'alimentation traction canton analogique.
Vous nous proposez gentiment un lien via dropbox. Seulement il ne fonctionne plus.
Y a t il un endroit ou un lien qui permettrait de le visualiser svp?

Merci beaucoup
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le mai 08, 2017, 11:26:08 pm
Bonsoir Pierre

Dropbox a poignardé ses utilisateurs dans le dos en rendant privé le dossier public.

Voici un autre lien : http://www.locoduino.org/pic/AlimentationTraction.pdf

Cordialement
Titre: Re : Un Arduino par canton
Posté par: binoclard le février 04, 2018, 10:41:03 pm
Jean Luc bonsoir,
je voulais savoir à propos de ta librairie, il est possible d'envoyer l'info de synchro à tous les arduinos par wifi ou RJ 45? et est ce que ça marche avec la wemos D1 ?
Ps: le premier lien , avec ta librairie, ne marche plus, tu peux me la faire parvenir
STP ,
Merci
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 05, 2018, 11:35:43 pm
Bonsoir

Je ne pense pas que l’envoyer par wifi ou par ethernet, via UDP par exemple, soit faisable. Non seulement il y a trop de latence mais de plus cette latence varie énormément.

Dans ce que j’ai fait un signal carré à la fréquence de la PWM est envoyé en filaire.

Par ailleurs, pour recaler la PWM du wemos D1, il va falloir rentrer dans le code pour voir comment cette PWM logicielle est engendrée et modifier le code.
Titre: Re : Un Arduino par canton
Posté par: Dominique le février 06, 2018, 09:58:03 am
J’ai regardé le code de Jean-Luc, il est écrit pour les processeurs Atmel ATMega 328 et 2560 ou 32U4 uniquement. Les structures internes des autres processeurs étant complètement différentes, il faut réécrire un nouveau code.
Titre: Re : Un Arduino par canton
Posté par: binoclard le février 07, 2018, 04:15:18 pm
snif
Titre: Re : Un Arduino par canton
Posté par: Jean-Luc le février 07, 2018, 04:17:48 pm
En fait, je ne comprends pas trop le parti pris de ton projet.

Pourquoi s'embêter à mettre des PWM sur les voies quand il y a suffisamment de place dans la loco pour y mettre l'ESP et le pont en H. Sur les voies, il y a juste la détection de présence à mettre