Auteur Sujet: Alimentation DCC  (Lu 16353 fois)

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Alimentation DCC
« le: avril 06, 2017, 09:14:23 am »
Bonjour,

En attendant de pouvoir parvenir à programmer un ATiny en décodeur, je viens de réaliser une petite alimentation DCC (surtout pour les débutants comme moi)

Je suis parti de la réalisation du site :
https://rudysmodelrailway.wordpress.com/2016/04/11/a-dcc-throttle-for-e6/

et des réalisations de Dominique.

J’ai rajouté des interrupteurs, des boutons  poussoirs (1 rouge pour le choix des locos et les 3 noirs pour F0 F1 F2) et un inter impulsion pour le sens de marche, des leds, un afficheur lcd (affichage de la loco, direction et fonction) etc…


J’ai une question pour nos amis programmeur, je ne trouve pas la solution pour programmer au-delà de 999.
Pourriez-vous SVP m’aider.

Ci-joint fichier, plan et photos.
Cordialement
Marcel
Best Regards

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Re : Alimentation DCC
« Réponse #1 le: avril 06, 2017, 09:15:41 am »
Suite
Best Regards

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Re : Alimentation DCC
« Réponse #2 le: avril 06, 2017, 01:09:48 pm »
Un oubli dans le plan général
NE PAS OUBLIER de RELIER la SORTIE BRAKE au MOINS
Best Regards

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Alimentation DCC
« Réponse #3 le: avril 06, 2017, 01:54:36 pm »
Bonjour,

J’ai une question pour nos amis programmeur, je ne trouve pas la solution pour programmer au-delà de 999.

C'est à dire ?
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2870
  • 100% Arduino et N
    • Voir le profil
Re : Alimentation DCC
« Réponse #4 le: avril 06, 2017, 02:16:41 pm »
Ahhhh la grosse vis sur le bouton du potar ;(((
Tu as perdu la vis sans tête d'origine ?

Comme Jean-Luc, que signifie ton "999" ? Dans quel logiciel ?
Cordialement,
Dominique

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Re : Alimentation DCC
« Réponse #5 le: avril 06, 2017, 03:19:15 pm »
Tout simplement on  peux programmer des numéros de locos de 1 à 999
Je voudrais pouvoir programmer la 1001. Le systeme ne veux pas........

Donc si vous avez une solution. Merci

Pour la vis sur le potar, j'ai pris ce j'avais sous la main (au moins je vois que plusieurs ont de bonne lunette) ;D
« Modifié: avril 06, 2017, 10:24:08 pm par Dominique »
Best Regards

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Alimentation DCC
« Réponse #6 le: avril 06, 2017, 03:26:35 pm »
Sans voir le programme ça va être dur :)
Cordialement

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Re : Alimentation DCC
« Réponse #7 le: avril 06, 2017, 03:36:07 pm »
Je l'ai mis au-dessus du plan


Best Regards

DDEFF

  • Hero Member
  • *****
  • Messages: 730
    • Voir le profil
Re : Alimentation DCC
« Réponse #8 le: avril 06, 2017, 04:04:26 pm »
Bonjour Marcel,

Mais non, la vis sert d'indicateur pour voir la position du potar  ;)

A part ça, je ne pense pas que ce soit l'Arduino qui te bloque à 999, mais le programme de DCC.

Amicalement
Denis
"Ce n'est pas le puits qui est trop profond, c'est ta corde qui est trop courte" (proverbe chinois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Alimentation DCC
« Réponse #9 le: avril 06, 2017, 04:49:15 pm »
À priori la limite n'est pas 999 mais 255 puisque dans le programme, les adresses des locos sont dans un tableau d'octets. Et d'ailleurs il me semble que 255 a une signification spéciale : la trame idle

Or, d'après ce que je vois dans CmdrArduino, l'adresse de la loco est bien sur 16 bits (par exemple pour la méthode setSpeed128). Par conséquent la limitation est induite par le tableau LocAddress

En écrivant :

word LocAddress[] = {32,3,52,64,1001};

word étant un type de données 16 bits non signé, les adresses des locos sont maintenant sur 16 bits et on peut donc aller jusqu'à 65000+ locos/accessoires

Voir http://www.locoduino.org/spip.php?article11 pour ces histoires de taille des données
« Modifié: avril 06, 2017, 04:51:02 pm par Jean-Luc »
Cordialement

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Re : Alimentation DCC
« Réponse #10 le: avril 06, 2017, 08:27:33 pm »
Merci pour les réponses
Je regarde cela demain

Marcel
Best Regards

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2870
  • 100% Arduino et N
    • Voir le profil
Re : Alimentation DCC
« Réponse #11 le: avril 06, 2017, 10:34:41 pm »
Bonsoir Marcel,

Je pourrais t'aider plus vite avec une question plus claire ;)

Quelle est la grandeur que tu trouves limitée ? Est-ce l'adresse DCC ?

Par exemple, si l'instruction utilisée contient SHORT-ADRESS, cela implique que l'adresse DCC est codée sur un seul octet dans le CV 1.

Peux tu expliciter les lignes de ton code qui sont concernées

Merci d'avance
Dominique
Cordialement,
Dominique

CATPLUS

  • Sr. Member
  • ****
  • Messages: 404
    • Voir le profil
Re : Alimentation DCC
« Réponse #12 le: avril 07, 2017, 07:43:52 am »
Bonjour

Merci de m'aider
Toutes mes machines ont un numéro à 4 chiffres

Le problème, il n'est pas possible de créé une adresse DCC au delà de 999
Dans la ligne de code, j'ai rajouté le N° 1234

byte LocAddress[] = {32,3,52,999,1234}; // loc addresses on Command Station sniffer

Après lancement du programme impossible d'afficher la loco 1234, pour la loco 999 il n'y a aucun problème
Il faut peut être déclaré LONG-ADRESS quelque part...

Marcel




Best Regards

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1691
    • Voir le profil
Re : Alimentation DCC
« Réponse #13 le: avril 07, 2017, 08:34:31 am »
Il faut également mettre word au lieu de byte. Par ailleurs comme le souligne Dominique, ça peut ne pas suffire.
Cordialement

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 2870
  • 100% Arduino et N
    • Voir le profil
Re : Alimentation DCC
« Réponse #14 le: avril 07, 2017, 08:57:12 am »
Je vais me replonger un peu dans CmdrArduino qui est concerné ici, notamment comment il utilise les adresses.

En attendant j'ai 2 remarques:
- Pourquoi as-tu besoin d'adresses à 4 chiffres ? Tu as tant de locos que cela ?!?

- J'utilise maintenant DCC++ qui me semble plus fiable et plus sain. Il gère toutes les adresses (courtes et longues) avec un simple entier (int) et là il n'y aurait plus de problème. Mais je comprends que ce n'est pas cool de re-écrire le programme.
Cordialement,
Dominique