| Faire sa propre centrale DCC | |
|
+31takeo TRAINTRAIN95 Kazaam gfaoplus jlb SUPERN piston93 nzin sam95 Jicébé Décau45 eric_p StrongSpirit patrick Guillf TGV77340 cheftrainminiature Lohren SavignyExpress Yoko gvax69 pointcom barbadidoua babord class66 Trusty jef34 Gbo95 F.GODEFERT simonp19 SixtyFive 35 participants |
|
Auteur | Message |
---|
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 12:07 | |
| En fait c'est une trame permanente qui permet de garder les décodeurs éveillés et d'envoyer l'énergie pour qu'ils fonctionnent ... C'est ce qu'on appelle "Idle packet" ... Idle signifiant "repos" ... c'est donc le mode au repos qui est valable pour tous les décodeurs C'est une commande 0 envoyée à l'adresse 255 , adresse réservée à cet usage ... les décodeurs restent donc actifs et reçoivent cette commande comme si c'était une commande destinée à un autre décodeur .. Voici le passage : - Citation :
- Digital Decoder Idle Packet For All Decoders
111111111111 0 11111111 0 00000000 0 11111111 1 Preamble Byte One Byte Two Byte Three (Error Detection Data Byte)
A three byte packet, whose first byte contains eight "1"s, whose second byte contains eight "0"s and whose third and final byte contains eight "1"s, is defined as a Digital Decoder Idle Packet. Upon receiving this packet, Digital Decoders shall perform no new action, but shall act upon this packet as if it were a normal digital packet addressed to some other decoder.
Dernière édition par takeo le Mar 19 Nov 2013 - 12:15, édité 5 fois |
|
| |
SixtyFive Membre
Age : 76 Localisation : 91340 Nombre de messages : 211 Date d'inscription : 21/12/2012
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 12:09 | |
| D'après la norme, la vitesse dont la valeur est = 0 est l'arrêt (stop), avec ou non l'inertie programmée dans le décodeur. C'est à dire que la machine ne s'arrête pas forcément immédiatement. C'est la position normale du potar à zéro. La vitesse = 1 est l'eStop et chaque décodeur DOIT stopper net la loco, sans inertie. C'est l'arrêt d'urgence, à utiliser seulement en cas de catastrophe imminente. Dans mon soft, après lecture du potar, si je trouve 1, je dois le remplacer par 0. - Code:
-
if(abs(speed_byte[i]) == 1) //this would result in emergency stop { speed_byte[i] = 0; }
|
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 12:16 | |
| Dans l'exemple de la librairie CmdrArduino, c'est pourtant le 0 qui est le estop non ? - Code:
-
if(!new_speed) //estop! return eStop(address, address_kind);//speed_data_uint8_ts[0] |= 0x01; //estop else if (abs_speed == 1) //regular stop! speed_data_uint8_ts[1] = 0x00; //stop else //movement speed_data_uint8_ts[1] = abs_speed; //no conversion necessary. Dans l'exemple minimal ils traitent le 0 pour le passer en 1 ou -1 pour freiner la loco - Citation :
if(speed_byte == 0) //this would be treated as an e-stop! { if(old_speed > 0) speed_byte = 1; else speed_byte = -1; }
Sinon autre point potentiellement interessant, la librairie gère un "défaut" sur la commande moteur - Code:
-
DCCPacketScheduler::DCCPacketScheduler(void) : default_speed_steps(128),... avec une procedure pour changer ce defaut sans toucher au code |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 14:48 | |
| La vitesse se trouve dans les 4 bits de poids faible : b3 b2 b1 b0 plus le bit 4 qui joue le rôle d'un demi pas ..
la valeur du bit 4 est sans importance pour l'arrêt et l'emergency stop
Donc le stop normal a 2 codes possibles qui sont 00000 ou 10000 Et l'emergency stop a aussi 2 codes qui sont 00001 ou 10001 ...
c'est ce que j'ai implémenté et cela marche très bien !!
En gros cela veut dire que dans les 2 cas la valeur du bit 4 est sans effet ...
Bonne journée |
|
| |
SixtyFive Membre
Age : 76 Localisation : 91340 Nombre de messages : 211 Date d'inscription : 21/12/2012
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 15:51 | |
| - Citation :
- Dans l'exemple de la librairie CmdrArduino, c'est pourtant le 0 qui est le estop non ?
Justement c'est une erreur à mon avis. J'ai inversé dans mon code |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 16:00 | |
| Cela a l'air d'aller dans ton sens Cela mériterais une correction directement sur le github de la biblio |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 16:15 | |
|
Il ne faut pas se casser la tête ... il est plus bien simple d'utiliser les 127 pas avec la commande indiquée par SixtyFive plus haut !!
J'ai juste implémente le Estop avec la commande basique, pour le reste je fais en 127 pas ..
Bonne journée
|
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 16:26 | |
| C'est sur mais tant qu'a faire autant que la biblio soit correcte |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mar 19 Nov 2013 - 18:06 | |
| ça c'est sûr, ça fait plus propre ... De mon côté j'ai rajouté la boucle de rafraichissement des commandes de vitesse .. Cette boucle permet de renvoyer successivement les dernières commandes de vitesse émises pour chaque loco ... l'une après l'autre ... Elle accepte jusqu'à 127 locos en fonctionnement à la fois .. je ne suis pas prêt d'en être là Grosso modo avec 10 locos en mouvement, chaque loco reçoit sa dernière commande de vitesse 4 fois par seconde Bonne soirée |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 11:03 | |
| Hello Quelques nouvelles. J'ai fait mon premier boitier de commande Les rails sont posés et câblés (reste le signal DCC à ramener à chaque bloc de canton) Au départ je pensais prendre mon Arduino Mega pour la gestion mais en utilisant les MCP23017 qui ajoutent 16 E/S par circuit via 2 fils (en I2c), j'ai moins de câblage a faire et le Uno devrait largement suffire Reste un point que je n'arrive pas à résoudre, la commande des aiguillages. L'arduino en direct n'en est pas capable. Passer par un relais me semble abusif, sans compter la place nécessaire. Reste la solution transistor, mais je ne sais quoi prendre, on m'a parlé de Mosfet, mais la je n'ai aucune connaissance.... |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 11:36 | |
| - Kazaam a écrit:
- Reste la solution transistor, mais je ne sais quoi prendre, on m'a parlé de Mosfet, mais la je n'ai aucune connaissance....
Salut, Je ne suis pas encore passé aux Mosfet (sauf pour les moteurs Tortoise) , j'utilise encore des NPN , j'ai un stock de BD679. Voilà comment je les branche : Le +V est la tension continue qui va bien pour tes moteurs (entre 12 et 20 volts), son zéro est à relier à la masse de ton montage évidemment. Bonne journée |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 11:41 | |
| Merci pour le schema et la référence.
j'ai un stock de 2n2222a qui tiennent 800mA, le moteur est donné pour 700mA, la théorie voudrait que cela fonctionne mais.... les valeurs constructeur sont toujours un peu fausses |
|
| |
SixtyFive Membre
Age : 76 Localisation : 91340 Nombre de messages : 211 Date d'inscription : 21/12/2012
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 11:57 | |
| Bravo Kazaam ! Personnellement j'ai mis des relais de type DIL (de la taille d'un circuit intégré 14 pattes) parce que j'en avais en stock. Si tu ne veux pas te casser, il existe des cartes à relai pour Arduino de type soit à relai mécanique, soit statique (mosfet), par exemple ici. je précise en passant que la carte à 8 relais statiques est sur la page 1 et la carte à 8 relais mécaniques sur la page 5
Dernière édition par SixtyFive le Mer 4 Déc 2013 - 12:02, édité 1 fois |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 12:01 | |
| Je pense que je vais devoir tout faire moi meme, j'ai relevé le defi de faire un circuit fonctionnel et piloté pour le 14 décembre Un poil suicidaire le garçon Sinon il me reste la solution de recycler mes L293D |
|
| |
jlb Membre
Age : 60 Localisation : Ici Nombre de messages : 1544 Date d'inscription : 31/12/2011
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 12:07 | |
| Tu as les ULN2803. Ils intègrent 8 transistors et 8 diodes roue libre. C'est exactement fait pour des solénoïdes |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 12:10 | |
| Merci mais il ne supporte que 500mA contre les 700mA annoncés nécessaires A moins de les coupler en // mais je ne sais pas si c'est possible |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 12:29 | |
| - Kazaam a écrit:
- Merci mais il ne supporte que 500mA contre les 700mA annoncés nécessaires
A moins de les coupler en // mais je ne sais pas si c'est possible N'hésite pas à surdimensionner les composants pour les solénoïdes, ça tire très fort, oublie le 2222 ... Le BD679 que j'utilise accepte 4 A et même jusqu'à 6 en pointe ... je n'en ai jamais grillé .. Si tu ne veux pas d'ennui, mise au minimum sur 2 A .. J'ai regardé rapidement pour te trouver moins cher en équivalent, j'ai trouvé le TIP120 ( VOIR ICI) mais il y a peut-être encore moins cher ... Bon courage
Dernière édition par takeo le Mer 4 Déc 2013 - 12:31, édité 1 fois |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 12:31 | |
| Le BD679 je l'ai trouvé à 0.20€ C'est ce qui me parait le plus simple, au moins celui la je saurais le câbler |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 12:40 | |
| Par contre à quoi sert la 1N4148? |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Mer 4 Déc 2013 - 13:07 | |
| - Kazaam a écrit:
- Par contre à quoi sert la 1N4148?
C'est une diode de roue libre ... VOIR ICI En gros elle sert à pomper le jus produit par le solénoïde (inductance) au moment de la coupure de courant .. Attention à bien la monter dans le bon sens !! |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Jeu 5 Déc 2013 - 4:31 | |
| J'ai rien dit, j'avais pas mis le "moteur" entre les bonnes pattes.... (virtuellement donc pas de casse) Sinon comme mes nuits sont des continuités de ma journée, j'ai fait les soudures pour la première commande. Le MCP23017 fonctionne très bien et c'est très simple à utiliser. Le potar répond aussi (surtout quand il est câblé correctement et dans le bon sens ) Donc pour 6 inters + le potar, je n'ai que 5 fils avec possibilité d'utiliser encore 10 E/S sans ajout de fil (Soit 5V; Masse; Potar; SCL et SDA de l'I2c) Prochaine étape (quand je pourrais faire du bruit ) finir le câblage du circuit pour pouvoir jouer et tester la commande Encore merci pour votre aide |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Jeu 5 Déc 2013 - 8:18 | |
| Aller revoila les soucis....
Le booster avec son L298 chauffe comme un malade, sans compter le comportement erratique de la loco. Il y a un soucis quelque part, mais je ne vois pas ou.... |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Jeu 5 Déc 2013 - 10:12 | |
| Ah! le petit train c'est souvent des problèmes, mais on aime ça ... Hier j'ai retourné mon plateau pour faire le câblage, c'est plus pratique ... Je pars faire une course et quand je reviens, le pont tournant et le pont transbordeur étaient parterre en pièces détachées ... j'avais oublié qu'ils n'étaient maintenus en place provisoirement que par du double face Finalement j'ai de la chance, ils n'ont pas trop souffert dans leur chute .. |
|
| |
Kazaam Membre
Age : 41 Localisation : Entre Nancy et Metz (France) Nombre de messages : 75 Date d'inscription : 10/09/2013
| Sujet: Re: Faire sa propre centrale DCC Jeu 5 Déc 2013 - 15:35 | |
| C'est vrai c'est le jeu, mais même le code de base de CmdrArduino devient fou Ou alors le L298 n'est pas fiable. Je vais trouver, au pire il me reste la multimaus |
|
| |
takeo Membre
Age : 77 Localisation : Toulouse Nombre de messages : 567 Date d'inscription : 06/07/2012
| Sujet: Re: Faire sa propre centrale DCC Jeu 5 Déc 2013 - 16:17 | |
|
Si le code de l'Arduino devient fou, cela ne vient pas du L298 à moins que tu utilises la même alimentation pour l'Arduino et pour le L298; ce que je déconseille fortement ...
|
|
| |
Contenu sponsorisé
| Sujet: Re: Faire sa propre centrale DCC | |
| |
|
| |
| Faire sa propre centrale DCC | |
|