Auteur Sujet: Carte Servomoteurs DCC + CAN  (Lu 32268 fois)

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1199
    • Voir le profil
Re : Re : Carte Servomoteurs DCC + CAN
« Réponse #180 le: avril 30, 2016, 09:33:02 am »
Concernant http://www.locoduino.org/spip.php?article168, je vais continuer avec un 2e article décrivant l'électronique en détail. Si vous voyez des choses pas claires, dites moi :)

DDEFF

  • Sr. Member
  • ****
  • Messages: 445
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #181 le: avril 30, 2016, 07:15:59 pm »
Rien de pas clair, au contraire.
J'aurais peut-être ajouté ça :


Et les modifs sous le circuit, expliquées sur le forum (ton message du 27 mars à 11h32 (p7 du topic)).
Par contre, le "pb" du funduino peut rester sur le forum (ton message du 23 avril à 17h57 (p12 du topic))
« Modifié: avril 30, 2016, 07:25:37 pm par DDEFF »

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1199
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #182 le: avril 30, 2016, 07:59:38 pm »
Ok Denis

Je vais ajouter une figure avec les brochages des servos utilisables (donc pas sanwa, multiplex et robbe) quoique j'ai des multiplex et ils ont un brochage différent de la figure :-/

Concernant les modifs sur la carte, les fichiers de production que je vais mettre en ligne les incluent mais je vais mettre un encadré sur la carte proto

Merci !

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1250
  • 100% Arduino et N
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #183 le: avril 30, 2016, 08:39:27 pm »
Enfin un petit moment de loisir avec Locoduino ::) :-[ :-\

Voilà ce que je propose pour l'article 1, hardware (mais tu n'es pas obligé de tout intégrer):
- Ajouter les spécifications, les schémas comme dans ta première contribution (http://forum.locoduino.org/index.php?topic=125.msg893#msg893)

- Ajouter une figure du plan d'implantation avec les couleurs selon les fonctions (http://forum.locoduino.org/index.php?topic=125.msg1232#msg1232)



- ajouter la liste des composants, avec un renvoi vers le Forum pour la liste des liens vers TME.

Avec tout cela, je pense qu'on ne peut pas faire plus exhaustif  ;D

Ah si !

Une demande que j'ai trouvée intéressante dans mon club : un renvoi vers un site très bien fait qui décrit merveilleusement une commande par servomoteur avec, en particulier, des détails de réalisation mécaniques très intéressants : http://modelleisenbahn.triskell.org/spip.php?article35

 ;) :D ;D

DDEFF

  • Sr. Member
  • ****
  • Messages: 445
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #184 le: avril 30, 2016, 08:45:59 pm »
Citer
Une demande que j'ai trouvée intéressante dans mon club : un renvoi vers un site très bien fait qui décrit merveilleusement une commande par servomoteur avec, en particulier, des détails de réalisation mécaniques très intéressants : http://modelleisenbahn.triskell.org/spip.php?article35

Ah, que oui !!!

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1199
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #185 le: mai 04, 2016, 09:25:37 am »
Ok, c'est noté. J'ai attaqué un 2e article pour ne pas surcharger le premier qui décrit la carte du point de vue de quelqu'un qui souhaite la connecter et que je complèterai avec l'utilisation du moniteur. Le 2e décrira l'électronique en détails et le 3e le logiciel.

Sinon, un nouveau problème que j'ai constaté hier (et je m'en excuse :-[)

Je me suis loupé sur le partage de l'entrée D4 entre le bouton CFG et l'optocoupleur commandant la surconsommation pour l'acquittement. Ce que je n'ai pas vu est que le fait de mettre la broche en INPUT_PULLUP pour lire le bouton fait circuler un courant dans la LED IR de l'optocoupleur.

La conséquence est que l'entrée D4 est en dessous de 1V (donc un état bas) que le bouton soit enfoncé ou non et donc le bouton est toujours vu comme étant enfoncé. Le bouton sert à faire démarrer la carte en mode configuration.

J'aurait dû partager une entrée plutôt qu'une sortie pour le bouton CFG.

Deux solutions :
1 - vous vous moquez de la fonction d'acquittement, il suffit de ne pas monter l'optocoupleur (le DIP 6 broches)
2 - vous voulez que ça soit pleinement fonctionnel, il faut modifier un peu la carte et re-câbler le bouton sur D2 (qui sert également à l'IT DCC) : 1) couper la broche 4 du bouton poussoir, celle qui est près du bord à côté de la résistance R4 pour séparer le bouton de la broche D4 de l'Arduino. 2) souder un fil fin (fil à wrapper si vous avez) entre la broche 1 du bouton poussoir et D2 de l'Arduino. Photos ci-dessous
« Modifié: mai 04, 2016, 11:25:48 am par Jean-Luc »

Thierry

  • Global Moderator
  • Sr. Member
  • *****
  • Messages: 400
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #186 le: mai 04, 2016, 09:32:47 am »
Pour relever un peu le moral, un essai hier a permis de faire fonctionner un servo simultanément par I2C et CAN grace à ma librairie Commanders. 18 lignes de code utile sans rien de bien compliqué ! Je dois y ajouter le Dcc pour parfaire le test, mais j'ai un doute maintenant... Est ce que la carte est prévue (broches partagées...) pour supporter tous les modes simultanément ? J'envisageais même de brancher un poussoir sur la broche de mouvement d'un des servos pour y ajouter un élément Button de ma bib !

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1199
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #187 le: mai 04, 2016, 11:17:05 am »
Il n'y a que le bouton CFG qui est partagé avec l'IT DCC (ou l'ACK si pas de modif)

Donc, pas de soucis pour brancher un bouton sur une broche servo si la broche en question est programmée pour gérer un bouton. À noter que les broches servo sont tirées à 5V via une résistance de 10k. Donc INPUT_PULLUP n'est pas nécessaire.
De manière générale, toute broche non raccordée à un autre circuit de la carte peut être utilisée pour un autre usage que celui prévu. C'est le cas des 8 broches pour les servomoteurs : 6, 7, 8, 9, A0, A1, A2, A3. Il vaut mieux laisser le SPI et l'IT_CAN  tranquilles si le 2515 est en place. Si rien n'est branché sur le connecteur DCC, la broche IT_DCC peut être également utilisée.

La carte est prévue pour supporter tous les modes simultanément : CAN + DCC en même temps.

Ceci dit, les AVR 8 bits ne supportant pas les interruption nichées, c'est à dire qu'une interruption ne peut pas en interrompre une autre de plus faible priorité, plus il y a d'interruptions en route et plus l'IT DCC risque d'être imprécise. Par défaut il y a l'interruption du TIMER 0 qui sert à compter le temps (c'est là dessus que se basent millis(), micros(), delay(), ...). Il y a également la bibliothèque Servo qui utilise l'interruption du TIMER 1. Certe l'IT DCC est la plus prioritaire mais ça ne joue qu'en cas de concurrence avec plusieurs IRQ présentes simultanément. Si une IT de faible priorité est en court d'exécution l'IT DCC sera prise en compte avec du retard.

Je vois les choses comme ça :
1) on ne peut pas se passer du comptage du temps car le DCC l'utilise
2) on ne peut pas se passer de la bibliothèque Servo
3) on peut se passer de l'IT CAN si la carte est utilisée en DCC

Donc selon le mode DCC ou CAN on a
Mode DCC : pas d'IT CAN, IT DCC. Si rétrosignalisation, on a seulement de l'émission de messages CAN à un rythme assez faible (10 fois par seconde ?)
Mode CAN : pas d'IT DCC, IT CAN

Donc quoiqu'il en soit 3 IT actives

Les IT du TIMER 0 et du  TIMER 1 sont assez courtes. Celle du CAN est très courte.
Celle du DCC me semble courte également.

Concernant le fonctionnement des servos qui, alors que la consigne est censée ne pas changer, bougent faiblement. Comme les interruptions ne sont pas nichée et qu'on a une IT externe de plus forte priorité (IT DCC > IT CAN > IT TIMER 1 > IT TIMER 0) la synthèse du signal de commande des servos subit un peu de gigue. Donc au lieu d'avoir un beau signal carré de x µs de large, on a un signal qui varie de x µs à x µs + durée de l'ISR externe +durée de l'ISR TIMER 0.

Le pire scénario est :
à t0, l'IT du TIMER 0 survient
à t0+dt, l'IT du TIMER 1 et l'IT externe surviennent (dt € [6,25ns, durée d'exécution de l'ISR du TIMER0])

Lorsque l'IT du TIMER 0 termine, on continue du l'IT externe et lorsque cette dernière termine, l'IT du TIMER 1 s'exécute.

La solution est d'arrêter de générer ce signal quand le servo a atteint sa position en appelant detach sur l'objet servo. C'est pris en charge automatiquement dans SlowMotionServo.
« Modifié: mai 04, 2016, 01:22:44 pm par Jean-Luc »

Tony04

  • Jr. Member
  • **
  • Messages: 93
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #188 le: juin 03, 2018, 03:55:40 pm »
Bonjour à l'équipe Locoduino,

lors de mes différentes interventions sur le forum je n'avais pas pris le temps de lire toutes les pages (1814 + 1917 + 1560 + 697 + 155 encore heureux que ce ne soit pas dans l'autre sens  :D) ce qui maintenant fait, parfois un peu en diagonale j'avoue.

J'ai du coup découvert que vous aviez déjà développé une carte 8 servos en 2016 et aimerais savoir où en est ce projet pour ne pas partir encore sur quelque chose qui a été abandonné entre temps. Je sais qu'il y a des "satellites" en cours de développement mais ce ne sont pas eux qui vont remplacer cette carte je pense.
Il serait idiot de développer quelque chose de mon côté alors que vos 'ingénieurs" l'ont déjà fait et bien mieux que moi, car je me laisse entièrement guider au niveau soft par vos réalisations.

Autre petite question à la communauté, je n'ai pas l'habitude des forums (c'est le seul auquel j'ai envie de participer), comment épingler un sujet particulier puisqu'il semble y avoir cette possibilité ?

Merci pour vos réponses et bon dimanche soir à tous (ici gros orages, je vais surveiller ma cave; oui je sais, ce n'est pas votre soucis mais je n'ai rien d'autre à vous proposer aujourd'hui  :) :D ;D) )

Antoine

 

Tony04

  • Jr. Member
  • **
  • Messages: 93
    • Voir le profil
Re : Epingler ?
« Réponse #189 le: juin 04, 2018, 01:08:31 pm »
Bonjour et merci à tous pour vos réponses.

Désolé d'avoir accaparé votre temps pour ce genre de question, je vais continuer à mettre les pages les plus consultées en favoris.

Par contre la question ci-dessous reste sans réponse pour l'instant, pourtant elle me serait bien utile.


J'ai du coup découvert que vous aviez déjà développé une carte 8 servos en 2016 et aimerais savoir où en est ce projet pour ne pas partir encore sur quelque chose qui a été abandonné entre temps. Je sais qu'il y a des "satellites" en cours de développement mais ce ne sont pas eux qui vont remplacer cette carte je pense.
Il serait idiot de développer quelque chose de mon côté alors que vos 'ingénieurs" l'ont déjà fait et bien mieux que moi, car je me laisse entièrement guider au niveau soft par vos réalisations.

Bonne journée à tous
Antoine

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1250
  • 100% Arduino et N
    • Voir le profil
Re : Re : Epingler ?
« Réponse #190 le: juin 04, 2018, 02:09:01 pm »
Non Antoine,

La carte 8 servos est toujours d'actualité et la carte Satelite dont tu as eu vent d'une indiscrétion sera très bientôt décrite et ne rend pas obsolète la carte 8 servos.


Tony04

  • Jr. Member
  • **
  • Messages: 93
    • Voir le profil
Re : Re : Epingler ?
« Réponse #191 le: juin 04, 2018, 09:48:13 pm »
Bonsoir à tous,

est-ce que l'un des utilisateurs de la carte 8 servos l'a déjà utilisé avec l'expandeur MCP2317 ?

Cordialement
Antoine

Jean-Luc

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 1199
    • Voir le profil
Re : Carte Servomoteurs DCC + CAN
« Réponse #192 le: juin 05, 2018, 11:16:07 am »
Bonjour,

J'ai fait le ménage et créé une section Vie du forum où sera discuté ce genre de choses. Essayer de ne pas digresser trop s'il vous plait
« Modifié: juin 05, 2018, 11:31:10 am par Jean-Luc »