ELECINF344/381

Partie interactive du site pédagogique ELECINF344/ELECINF381 de Télécom ParisTech (occurrence 2011).

Catégories

TSV Safe Express: remote controlling is possible!

We have yesterday worked on the control of our circuit from a remote server, and we finally could remotely control all lights on the circuit. We could also run our train in both directions, corresponding to the remote program commands.

As we send information about the car position (sensor information), the remote program controls our circuit continuously.

After that, we were facing the problem that the railroad switches weren’t decoding our DCC commands. So we have reprogrammed them. After that some of the railroad switches. Unless the railroad switches aren’t included in our work specification, we try to control them all in order to make a free circulation of our train. Vaibhav and Theodor are concentrating on this part while I am doing the presentation for tomorrow.

TSV Safe Express: progressing

As we we have foccussed on stabilizing our CAN protocol. We have tested glowing lights through CAN

with the central station and four light cards.

We have finished the ethernet part that takes bytes from a remote computer and translates them to DCC commands.

We have written a program for the sensor card.

Then we started moving some cables and old cards from our train circuit. We are now testing the controlling of six light cards.
After finilizing our software, what should take with testing two days, we will solder our sensors on our sensor cards and fix all cards on the train circuit.

TSV Safe Express:Going ahead with Ethernet part

we have started today making some tests on the DCC part. As we have seen the good results with the oscilloscope, we moved to testing on a rail part by placing the train and sending the DCC commands through the rails. In fact we could command our train in both directions in different speeds.

Then, we started to implement a small module that takes Ethernet commands following a simple protocol. This module is translating the Ethernet commands to appropriate DCC and CAN commands in order to command different parts of our train model.

In parallel we still test the stability of our CAN module. Despite the good results there are very rare cases where our cards become unstable. We are making some modifications and we are going tomorrow to test on multiple light cards.

Our next PSSC is the initialization of Ethernet (what is already done) and control of our circuit from an extern program.

TSV Safe Express: DCC Signals and Ethernet

Our journey has continued from CAN to LAN passing through DCC in its way. During the last two days, we tried to write the dcc encoder for our card which will act as the central station. In brief, I will try to explain DCC for all those who are not already aware of it. DCC (Digital Command Control) is a standard which permits us to operate model railways by sending modulated pulse wave(amplified with the help of a booster) to the rail tracks. Thereby, we can control any locomotive or accessory (like Traffic lights) if they have the dcc decoder. DCC is standard provided by NMRA.
We have done the following encodings for bit 0 and 1 as per NMRA DCC Standard.
(i) bit ’0′ – 232 microseconds (half high and half low)
(ii) bit ’1′ – 116 microseconds (half cycle is low)
On the implementation part, to generate such type of signal on the STM32 GPIO port, we use PWM module(using Internal Timer of STM32) with 50% duty cycle. This was setup in Output Compare Mode. Through the help of oscilloscope, we verified that we got the expected results. We created a dcc packet simulator(coded as a task of FreeRTOS) and we tried sending Messages to the port as per DCC Communication Packet format.

On the Ethernet part, we have chosen LwIP Stack as the TCP/IP Stack. We have chosen LwIP primarily as it has features like DHCP, UDP, IPv6 which we may need as the project matures further. So, we integrated the LwIP stack with STM32F107(which has in-built MAC Controller) and DP83848P Phy Controller taking help of a similar example provided by ST on their website. We were able to make a telnet connection to our Central Station and correponding exchange messages through telnet.

On the stabilisation of NMRA CAN protocol, we added a watchdog module within all the nodes including the central station. This was required because if the software hangs in one of the nodes, it should have the ability to re-join the network. The timeout of the watchdog module has been kept to 3 seconds(Typically because we want our nodes to rejoin the network as soon as possible and at the same time give Central Station enough time to remove this node from the node table and event table). Also, the command to reset the nodes sent by the network manager at the start of his execution as a broadcast message to all the nodes will have a deeper impact. Instead of doing a cache reset at the nodes, we are now doing an actual software reset to the node. This is just to simulate an actual reset. All these changes done to stabilisation are open for discussions and all remarks/critics/ideas are heartily welcomed.

TSV Safe Express: Le Jour de Routage et le nouveau PSSC

Aujourdhui,  on a passé le jour avec routage des notre cartes. Aussi, alexis nous a donné quelque remarques sur le schéma. Nous avons corrigé notre schéma avec les remarques. On a appris deux nouveau choses

(i) le valeur de condensateur n’est pas exactement  le mémé lequel présent dans le datasheet. Le Datasheet contient le valeur minimum possible. Alors, il faut que changer le valeur de condensateur basé sur le contexte de utilisation.

(ii) Le « Test Circuit » mentionné dans le datasheet n’est que un « test circuit ». ça va dire, nous ne devons pas mettre quelque composants à partir de la Test Circuit. (Nous avons mis un condensateur sur le file CAN Rx aprés avoir regardé dans le test circuit de le datasheet).

Notre PCB schemas et routage disponible dan le dépot Git. Nous allons corriger notre schéma si il ya un conseil de la parte de  Alexis ou Samuel.

Pour le PSSC, on propose un nouveau agenda

1. On peut détecter l’etat des capteurs position avec CAN bus – 13/04/2011

2. On peut commander et transmettre l’état les feux avec CAN bus – 18/04/2011

3. Un Train sera commandé avec le protocole DCC – 20/04/2011

4. On peut commander les trains, feux avec des messages du logiciel ROCRAIL.

Nous avons deux hypothèses -

1. Nous allons recevoir le carte avant 08/04/2011

2. Il n’y aura pas de problème de faire le programmation de flash à partir de USART. (ça va dire, pas de problème du logiciel comme openocd ou quelque qutre chose)

Nous avons aussi partagé notre responsabilité pour du Logiciel.

Siwar – CAN

Theodoros – DCC Encoder et Vérification, Capteur Signaux

Vaibhav – Etherenet et SPI

La division basé sur le différent H/W module disponible dans notre projet.

Les feux et les capteurs du circuit.

Bonsoir !

Apres  la discussion avec Samuel nous étions au courant de la possibilité pour obtenir la rétroaction du signal de DCC sur le rail en lisant un signal qui est fourni du booster. Nous comprenons que après l’ envoi d’un signal de DCC (qui normalement sera créé utilisant PWM) que nous devrions vérifier la valeur appropriée du signal de retour ou peut-être installer un mécanisme d’interruption au cas du probleme. L’étude appronfondie de FreeRtos indiquera probablement comment contrôler en pratique ce genre de situations.

Un autre problème semblable au lequel nous avions pensé, est de essayer  trouver le statut du LED’  s. Cela devra probablement inclure un mécanisme pour convertir le courant en tension mais c’est tout pour moment.

Pour ce qui concerne l’allumination de Led’  s. Nous avons trouvé quelques manières cool de les allumer avec une approche minimale et simple ici. Afin de réduire au minimum les pins qui contollent les LEd’s nous irons utiliser quelque Led Driver comme le  TLC  5925.

Nous avons aussi essayé de trouver un moyen pour détecter la position du train. Il existe deux types de capteurs: -
1. Capteur magnétique
2. Capteur infrarouge
Les deux ont à peu près le même coût. Mais nous avons décidé d’aller pour la première option car il nous semble qu’il peut être plus facile à installer dans notre modèle Train Track. On peut aller pour HAMLIN – 59140-010 coûté près de 2.4 euros.

en train de déterminer les composants

Pour la carte centrale du projet train, nous aurons besoin d’utiliser un port Ethernet pour recevoir les commandes de Rocrail et un port du bus CAN pour recevoir les comptes rendus.  Nous avons trouvé le microcontrolleur STM32F107RA qui contient les deux.D’après nos estimations, RAM et ROM seront largement suffisants pour notre application.

Pour obtenir le signal DCC concernant les Leds, on aurait besoin d’un optocopleur branché sur les rails. L’alimentation sera faite aussi à partir des rails à travers un circuit régulateur de tension. Pour allumer des feux , on aura besoin d’un « Led Driver ».  Pour choisir son type, nous devons nous décider combien de feux pilote une seule carte.

TSV Safe Express prend son chemin

Ces deux jours, nous nous sommes renseignés sur les éléments existants de notre projet.
Nous avons à notre disposition:

  • le circuit du train avec 60 capteurs de position
  • un train qui possède déjà un décodeur DCC
  • un booster pour l’amplification de la commande qui sera passée sur les rail
  • des aiguillages qui sont commandés à travers une carte avec un protocole non universel

Sinon, chacun d’entre nous à fait une petite recherche sur le web:

  • Theodoros nous a informé sur le principe de fonctionnement du protocole DCC, ainsi que sur le circuit de rectification pour l’alimentation du décodeur DCC.
  • Vaibhav nous a informé sur openDcc pour avoir une idée sur l’implémentation du protocole DCC. Il s’informe encore sur la façon d’utiliser Rocrail.
  • Siwar a commencé à s’informer sur le protocole du bus CAN et la façon de l’implémenter sur un microprocesseur. Elle s’est chargée aussi de voire les limites du projet et répartir les Pssc.

Nous pourrons tester nos petites cartes à l’aide d’un appareil qui envoie des commandes DCC, ainsi qu’en utilisant le carte du TP avec le controleur CAN.Nous avons fixé à la fin un emploi de temps interne afin de tenir les délais des Pssc le maximum possible.
Ce Week end, on va commencer à déterminer les composants de chaque carte (centrale,capteur position, feux..)