IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Position d'un servo en cas de panne


Sujet :

Arduino

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut Position d'un servo en cas de panne
    Bonjour,

    - Je fais des tests avec un petit servo de robotique ( alimenté en 6V) piloté par une carte UNO. Le logiciel de base est très simple à l'aide de la librairie et des instructions map() et writeMicroseconds().
    Mes tests montrent qu'en cas de coupure ou de panne du 6V servo ou de l'alimentation de la carte, le servo reste sur la dernière position angulaire commandée.

    - Question : est-ce toujours le cas quel que soit le servo ? Est-il envisageable de faire en sorte qu'il revienne à une position donnée ( de départ par exemple )?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonsoir

    Si l'alimentation du servo tombe, il n'a plus d’énergie pour bouger donc c'est normal qu'il reste en position (transmission faiblement ou non reversible).
    Pour la perte du signal c'est aussi un comportement standard.

    Elektor avait publié des montages mettant les servos en position définie à la perte du signal de télécommande, ces montages utilisent un microcontrôleur.

    Donc non pas de solution:
    - Il faudrait alimenter le servo sur des Goldcaps ou des batteries
    - Il faudrait utilisé un 2ème µc pour palier à l'éventuelle défaillance du 1er (L'Arduino), mais alors le 2ème peut aussi faillir, et on se retrouve au point de départ sans rien avoir résolu.

    Delias

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Bonsoir,

    Merci Delias,

    - panne ( électrique) de l'électronique du servo : d'accord, pas d'énergie pas de mouvement . On peut effectivement limiter la casse avec une batterie en supplément de l'alim de base. ( la redondance de la carte du servo n'est pas évidente sinon à acheter 2 servo ! )
    - commande du servo : 2 cartes UNO en redondance " chaude" devraient améliorer la fiabilité du système, elles ne tomberont pas toutes les 2 en panne en même temps. As-t-on des éléments pour connaitre la fiabilité des cartes d'origine ? ( nombre d'heures ou autre ) ?

    Je ne connais pas bien les servomoteurs et dans ce cadre est-ce que le choix servo analogique ou numérique importe ( indépendamment des performances, précision etc. ) ?

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonsoir Chester

    Visiblement tu n'as pas percuté que mes deux dernières phrases étaient ironiques.

    Citation Envoyé par Chester_H
    - panne ( électrique) de l'électronique du servo : d'accord, pas d'énergie pas de mouvement . On peut effectivement limiter la casse avec une batterie en supplément de l'alim de base. ( la redondance de la carte du servo n'est pas évidente sinon à acheter 2 servo ! )
    Euh non, les batterie c'est pour compenser une panne de l'alimentation extérieur. "panne ( électrique) de l'électronique du servo" c'est servo HS et point barre.

    Quand à la deuxième partie, le point faible c'est la mécanique du servo, ou éventuellement le moteur pour un servo haut de gamme (càd transmission métallique et palier bronze ou roulement à billes)
    Donc non je ne prévois aucune redondance électrique sur ce genre de système.

    Faire du redondant à chaud, mouai, on a deux sortie de µc qui ne peuvent pas être mise simplement en parallèle.

    Le fabricant et la gamme dans laquelle se situe le servo est bien plus significatif que le type en ce qui concerne la fiabilité.

    Sinon je suis parti sur des servo-moteur de modélisme. J'ai souvenir d'une discussion sur un servomoteur pour lunette astronomique qui n'avait rien à voir sauf le nom. Et mon expérience se limite aux modèles cheap à 10€-20€, je ne suis pas un expert de ce qui concerne l'analyse des taux de panne.

    [Edit] Les servos cela va bien pour les hobby, le do-it-yourself, mais en industrie, jamais vu. Pour un produit industriel, on prend un moteur dont on connait la durée de vie, un réducteur idem, une roue de codage optique ou magnétique pour la position et une platine électronique avec un micro directement soudé dessus. En respectant les règles de dimensionnement c'est facile 5 ans de durée de vie mécanique et 10 ans de durée électrique en fonctionnement continu. Je ne connais aucun servo de modélisme qui arrive à cela.

    Delias

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 574
    Points
    11 574
    Par défaut
    Salut,
    Citation Envoyé par Chester_H Voir le message
    As-t-on des éléments pour connaitre la fiabilité des cartes d'origine ? ( nombre d'heures ou autre ) ?
    Il faudrait regarder le MTBF de chaque composant sur la carte UNO car je ne suis pas sur que ça a été calculé pour le produit complet.

    Citation Envoyé par Chester_H Voir le message
    Je ne connais pas bien les servomoteurs et dans ce cadre est-ce que le choix servo analogique ou numérique importe ( indépendamment des performances, précision etc. ) ?
    Comme l'a précisé Delias, un servo c'est un ensemble: moteur, capteur de position, electronique de commande, asservissement et une partie de mecanique (motoréducteur). Du coup, je ne vois pas vraiment ce que tu veux dire par "servo numérique et analogique" ?

    Comment se fait il que tu es un tel besoin de redondance ? La seule et unique fois où nous avons eu un projet de ce genre c'était pour un appareil devant répondre à la norme EN 61508 (SIL 2, sûreté de fonctionnement avec calcul des taux de défaillances, redondance, la règle du 1/3 pour la marge de sécurité et tout la tralala). Tu n'es quand même pas dans un tel truc ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #6
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Re,

    - Je me suis mal exprimé concernant l'alimentation du servo mais pas grave...

    - En ce qui concerne une redondance avec 2 cartes UNO tu veux dire que les "pulses " de récurrence 20 ms ne seront pas en phase d’où problème, sauf moyen de les synchroniser ?
    En fait sans pouvoir les synchroniser, il faudrait en redondance chaude, tant que la voie 1 fournie en sortie un signal en sortie, par exemple bloquer la voie 2 en permanence et en redondance froide la non détection de la voie 1 déclencherait l'alimentation de la carte n°2, il faut alors quelques circuits supplémentaires !

    - Tu as raison cette contrainte "d'assurer le service" se rencontre dans le domaine industriel ( avec d'autres moyens et couts associés ) mais par curiosité la mise en redondance de 2 carte UNO m'intéresse sur le principe...

    - Pour ce qui est des servos analogiques ou numériques j'ai cru comprendre que l'électronique interne au servo était au départ analogique et que de plus en plus cette électronique était numérique ( haut de gamme ? ). La terminologie employée par les boites qui vendent ces produits indique ces termes .

  7. #7
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonsoir

    Maintenant il serait bien que tu précises deux points:
    - Quel est le niveau de sécurité demandé par ton application
    - Quel est le niveau de / des servo(s) prévu(s).

    Car les servo c'est comme objectif premier, un système simple et pas trop cher pour le contrôle de modèle radiocommandé. Mais en terme de MTBF ou SIL, c'est 0 comparé à n'importe quel entrainement industriel correctement dimensionné, autant sur la mécanique que sur l'électronique. A l’intuition une carte Uno un microcontrôleur AVR monté avec des composants auxiliaires de qualité à un MTBF plusieurs fois supérieur à celui de l'électronique d'un servo surchauffant dans son petit boîtier.

    Tu veux renforcer le maillon fort, et tu ignores le maillon faible.

    La seule chose c'est la gestion de l'alimentation qui doit avoir suffisamment de resserve (par condensateur) pour commander par l'Arduino le retour en position voulue à la coupure. Coupure de l'alimentation primaire qui doit être détectable par l'Arduino.
    Et puis pour un projet sérieux, on vire l'Arduino et on le remplace par un micro, sur une platine dédiée avec le reste de l'électronique pour virer les connecteurs qui n'ont pas un bon taux de fiabilité.

    Servo analogique et servo numérique, c'est bien la qualification du circuit de régulation interne au servo.

    Delias

  8. #8
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    - Pas d'objectif de fiabilité en tant que tel mais celui de savoir s'il est envisageable (et comment) d'utiliser des cartes UNO en redondance. Le petit système que j'envisage de modifier utiliserait un servo dont la consigne peut être modifiée de temps en temps ( à plusieurs heures d' intervalle ). Si la commande tombe en panne il faut tout recommencer. Par ailleurs le retour à une position de référence est souhaitable mais d’après nos échanges pas évident à réaliser.

    - Nota :Je voudrais éviter ce qui m’est arrivé avec une imprimante 3D ( non professionnelle) qui peut fonctionner pendant toute une nuit ou presque et dont la carte de commande ( type Arduino ) est tombée en panne au bout de 8 heures de fonctionnement.

  9. #9
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 574
    Points
    11 574
    Par défaut
    Salut,
    On peut pousser l'analyse d'un système très loin, notamment sur la sûreté de fonctionnement, comme nous l'avons évoqué, mais c'est un sacré boulot.

    Dans ce document on parle de ce sujet.
    http://dspace.univ-tlemcen.dz/bitstr...95/1/cours.pdf

    Pour résumer rapidement, on commence par se poser des questions à l'aide d'outils d'analyses :
    APD Analyse Préliminaire des Dangers,
    AMDE Analyse des Modes de Défaillances et de leurs Effets,
    MDS Méthode du Diagramme de Succès,
    MTV Méthode de la Table de Vérité,
    MAC Méthode de l’Arbre des Causes,
    MCPR Méthode des Combinaisons de Pannes Résumées,
    MACQ Méthode de l’Arbre des Conséquences,
    MDCC Méthode du Diagramme Causes-Conséquences,
    MEE Méthode de l’Espace des Etats

    Le but recherché est toujours "si ça merde, qu'est ce qui se passe ?" Ensuite, on met en place un ou des types de redondances
    Redondance homogène
    Redondance avec dissemblance
    Redondance froide
    Redondance chaude
    Redondance tiède
    et il y en a d'autre....

    Pour réellement être efficace, il faut connaître les MTBF des composants qu'on utilise mais aussi leurs états lors d'une défaillance pour trouver des solutions de replies efficaces. Imaginons que tu veuilles protéger des surtensions l'entrée de ton système. Tu as au moins deux choix possibles, la varistance ou la diode transil mais au delà du problème du prix entre les deux :

    La varistance a un mode de défaillance "circuit ouvert" donc si elle est grillée, tu ne le sais pas, jusqu'au jour où l'appareil complet crame à cause d'une surtension et là tu sais que cette protection ne fonctionnait plus.
    La diode transil a un mode de défaillance "court circuit" donc si elle est grillée, l'appareil est en défaut immédiat et souvent il faut faire intervenir un technicien pour dépanner.

    Quelle est la meilleure solution ?
    Dans un système SIL 2 en redondance froide (double appareil SIL 1 par exemple), il vaut mieux avoir une transil qui met en défaut un appareil, qui préviendra l'autre pour prendre le relaie comme ça la continuité du process est assurée le temps du dépannage (sûreté du fonctionnement). Personnellement, si on va trop loin en se focalisant sur un détail dans le projet, on se met a faire des design électroniques qui ne sont plus raisonnables. Il faut mieux avoir cette vision mais en plus globale, c'est à dire qu'il vaut mieux avoir deux appareils SIL 1 en redondance pour faire un SIL 2 plutôt qu'un seul appareil SIL 2 où là on n'est plus du tout sur la même conception. Un appareil SIL 3, je n'ose même pas imaginer (deux micros différents dont l'un surveille que l'autre n'est pas mort, triple bloc électronique qui réalise la même fonction et tous prêt à remplacer le premier qui crame..... laisse tomber....)


    ps : la règle du 1/3 c'est de dire que si tu as un appareil en 5V alors la tension de service de tous les condo sera de au mois 15V. Idem pour les puissances dissipées dans les résistances etc...

    Tu veux qu'on regarde comment étudier la redondance ? Si oui alors donne nous une fonction réalisait par le UNO histoire d'avoir un exemple. (PWM par exemple comme tu avais écrit ici "En ce qui concerne une redondance avec 2 cartes UNO tu veux dire que les "pulses " de récurrence 20 ms ne seront pas en phase d’où problème, sauf moyen de les synchroniser ?")
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #10
    Modérateur

    Homme Profil pro
    Ingénieur électricien
    Inscrit en
    Septembre 2008
    Messages
    1 267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur électricien

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 267
    Points : 4 829
    Points
    4 829
    Par défaut
    Bonjour

    Tu as été influencé par une mauvaise expérience, mais je continue à affirmer que de la redondance ou autre sur la commande d'un servo c'est inutile.
    Une carte type Arduino ne claque pas en 8h. Soit c'est une vulgaire copie chinoise qui utilise des composants au rabais (voir les nombreux messages de Vincent à ce sujet dans le forum Embarqué), soit elle était enfermée avec les circuits de puissance dans un boitier sans ventilation suffisante et les circuits ont eu trop chaud (erreur grossière de conception).

    Le MTBF des circuits électroniques se compte en dizaine d'années (exception faite des circuits haute performance type processeur de PC et FPGA et des circuits qui dissipent de la puissance comme par exemple les régulateurs de tension et les ponts pour le pilotage de moteur, mais dont le MTBF est généralement de plusieurs années), Le MTBF des servo au contraire c'est en semaines (durée de fonctionnement uniquement) que cela se compte (1 à 6 selon les expériences menées par les constructeur du Mini World Lyon, ils le montrent dans plusieurs vidéo de la période de construction).

    Quand à gérer les pertes d'alimentation on ne parle pas de redondance:
    - Soit l'alimentation a en tampon un condensateur suffisamment gros pour parquer le servo à la perte de l'alimentation primaire.
    - Soit l'Arduino enregistre la position en court dans son EEPROM (après chaque changement ou en détectant la coupure d'alim ) et est capable de redémarrer là où il s'est arrêté. (Le servo privé d'alimentation dans le même temps n'aura pas bougé, par contre ce n'est pas impossible qu'il bouge un peu à la réapparition de l'alimentation)

    Delias

  11. #11
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Bonsoir,

    - Merci pour ton résumé concernant, pour simplifier, la "sûreté de fonctionnement" ( son acronyme d’ailleurs n’est pas très engageant ) je sais que le domaine est assez complexe et je n’aurais pas la patience ni la volonté de m’y plonger même si je disposais du schéma électronique de cette fameuse carte ( ton exemple concernant les varistances ou diodes transil montre bien le degré de détails auquel il faut descendre )

    - Mon idée en utilisant tout sauf du matériel pro : se prémunir dans des manips longues d’une défaillance évitable à moindre frais ( en gros le coût d’une carte supplémentaire pour le matériel ).
    L’application dont j’ai parlé est bien la commande d’un «*petit*» servo avec un potentiomètre connecté à une entrée analogique permettant de modifier une consigne qui se traduit en sortie de la carte par un créneau variable entre 1 à 2ms ( en général) répété toutes les 20ms ( sortie pwm de la carte ).

    Je suppose ici que:
    - le maillon faible est la carte de commande suite à un choix judicieux du servo. ( retours d’expérience «*chez les robots*» qui peuvent guider ce choix ? )

    - des mesures simples ont été prises au départ en ce qui concerne l’alimentation par exemple 2 sources dont une batterie suffisamment dimensionnée et rechargée par l’alim de base tant que le réseau est disponible, quelques capa de filtrage pour éviter des surtensions , la règle des 1/3 pour les composants rajoutés etc.

    Nota : indépendamment du matériel, est-ce que les quelques lignes de code nécessaires pourraient être à l’origine de dysfonctionnements*?


    Maintenant si le sujet est d’intérêt limité et trop compliqué, je ferais avec une solution super basique en croisant les doigts !

  12. #12
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Re,

    - Delias , nos posts se sont croisés et je répondais à Vincent.

    - Mon hypothèse de maillon faible n'est donc pas valide. A part "soigner" l'alimentation et placer la carte dans un boitier ventilé, reste donc le point faible : le servo. Comment se faire une idée pour le choix, les constructeurs ne donnent que très peu d'informations en restant dans le cadre des "hobby".
    Je suppose d'après ce que tu dis que le code n'interviendra pas dans le débat .

  13. #13
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 574
    Points
    11 574
    Par défaut
    Disons qu'il faut différentier défaillance et simple problème.
    Dans un projet comme le tien, une fois mis au point, mais sans avoir prévu d'alimentation de secours qu'elles sont les probabilités d'avoir :

    Une défaillance de l'électronique ?
    Un problème de coupure de courant sur le réseau ?

    A mon avis tu as 99% plus de possibilité d'être embêté avec une panne de courant qu'avec l'électronique.
    Je suis entièrement d'accord avec Delias sur le point central de n'importe quel projet : l'alimentation. Pour moi c'est la chose la plus délicate à choisir car il n'y a pas de compromise possible et en mettant un batterie de secours tu règles 99% des problèmes.

    Après seulement, on peut se concentrer sur la défaillance.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  14. #14
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    - Bon d'accord même si je reste un peu sur ma faim, je comprend l'argumentation ( ma panne sur mon imprimante 3D donc défaillance, n'était virtuelle mais est peut-être un pire cas ! )

    - Un avis sur le soft ? : peut-il intervenir dans le débat ce qui pourrait se traduire par des règles à respecter ?

    -Le point qui reste la première cause de défaillance ( d'après ce qui a été dit) est le servo. Je ne trouve pas d'info comme un classement des différentes marques ou avis ( d'utilisateur) sur tel ou tel produit. Une piste ?

  15. #15
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 574
    Points
    11 574
    Par défaut
    Citation Envoyé par Chester_H Voir le message
    - Bon d'accord même si je reste un peu sur ma faim, je comprend l'argumentation ( ma panne sur mon imprimante 3D donc défaillance, n'était virtuelle mais est peut-être un pire cas ! )
    Une élucubration redondance chaude.

    Nom : Capture du 2017-07-12 00-38-32.png
Affichages : 945
Taille : 36,1 Ko

    • Les portes NAND 74HC00 ne servent que d'inverseuses (aucune importance pour la compréhension).
    • PWM1 est le signal PWM issu du Arduino numéro 1
    • PMW2 est aussi un PWM mais arrivant d'une autre carte Arduino (redondante).
    • Bien sur les deux Arduino lisent le même capteur.
    • Les signaux PWM ne sont pas synchrones, il faut assumer ce problème (et voir si il pose un problème).



    Le principe est très simple, les deux signaux PWM arrivent sur U1, un multiplexeur 2 entrées vers 1 sortie, elle même reliée au servo. Le choix de l'entrée qui sera reliée/connectée à la sortie à l'intérieur de ce multiplexeur est assuré par un circuit monostable basé sur le légendaire NE555, U2. C'est à dire que lorsque PWM1 passe à l'état haut, donc lorsqu'on envoie l'impulsion comprise entre 1 et 2ms toutes 20ms au servo, le monostable va la voir aussi au travers de ça broche TRIG et il va demander au multiplexeur, via sa broche OUT, de connecté PWM1 à la sortie pendant une durée dépendant de R1 et C1. Si cette durée est un poils supérieur à la durée période du PWM, soit 20ms, alors le monostable commander le multiplexeur de la même manière temps qu'il verra des impulsions arrivant de PWM1.

    Si PWM1 est défaillant et qu'il arrête d'envoyer les impulsions alors le monostable va arrêter de déclencher 20ms après (après la dernière impulsion qu'il aura vu) ce qui va causer un changement d'état le broche OUT, qui va au multiplexeur et ce dernier va connecter PWM2 à la sortie qui va au servo.

    Dit autrement, le monostable joue le rôle de watchdog, tant qu'il est réveillé par des impulsions espacées de moins de 20ms alors il demande au multiplexeur de connecter PWM1 au servo. Si le monostable n'est plus réveillé par des impulsions, il demande au multiplexeur de connecter PWM2 au servo.

    J'ai ajouté un signal UNO1, si tu mets dessus une LED rouge + sa résistance de limitation évidemment, et qu'elle s'allume alors ça signifie que le Arduino 1 a un problème.

    Il y a d'autre manière de faire. On peut même remplacer le monostable par le Watchdog de l'Arduino 2 et faire ça en soft.


    Citation Envoyé par Chester_H Voir le message
    - Un avis sur le soft ? : peut-il intervenir dans le débat ce qui pourrait se traduire par des règles à respecter ?
    Faire un contrôle d'intégrité de la mémoire RAM + des registres + flash mais pour faire ça il faut le faire en assembleur et utiliser les registres de travail du processeur.

    Pour le servo, aucune idée, je n'en ai jamais utilisé dans mon précédent job.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  16. #16
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    - Indépendamment de l'utilité ou non de mettre 2 cartes en redondance, c'est au moins une solution concrète qui le permet avec un petit "shield" ( si le terme est exact) de quelques CI. Super clair pour le fonctionnement et la Led est importante par le fait qu'elle permet de savoir qu'un des circuits est défaillant.

    - Pas de souci donc concernant les quelques lignes de code, si il y a problème on peut considérer que c'est une défaillance des composants ( mémoire, registres etc.).

    - Pour les servo eux-mêmes j'essaierais d'avoir un contact avec les concepteurs de robots, ils devraient avoir un avis.

    - Pour la redondance, tu indiques que des solutions à base de soft sont possibles. Ce serait le pied compte tenu du fait que moins il y a de matériel moins il y a de causes possibles de panne... Est-ce que le principe serait qu'une carte surveille l'autre et que si une d'elle ne fourni pas de signal l'autre prend le relai ? Je ne saurais t'en demander plus mais n'hésites pas à poursuivre, sinon merci encore de tes conseils et solutions ainsi qu' Délias.

    Cordialement

  17. #17
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 191
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 191
    Points : 11 574
    Points
    11 574
    Par défaut
    Citation Envoyé par Chester_H Voir le message
    Est-ce que le principe serait qu'une carte surveille l'autre et que si une d'elle ne fourni pas de signal l'autre prend le relai ?
    C'est exactement ça mais on passe en redondance froide dans ton exemple, l'un prend le relais de l'autre. La redondance froide permet d'améliorer la fiabilité puisque l'un des systèmes ne tournent pas, il se réveille lorsque le premier meurt.

    L'idée ici, c'est du handshaking assez poussé. Je vais donner une explication vulgarisée mais je pense, très clair.

    • Le Arduino 2 se sert de son Timer pour faire un fenêtrage (il compte de 0 à 100 par exemple) et si jamais le Arduino 1 n'a pas donner un signe de vie dans ce créneau alors le Arduino 2 met le Arduino 1 en état de RESET (pour que ses broches passent en entrée) et il prend le relais. Si le Arduino 1 a montré qu'il était encore en vie, le Arduino 2 remet le compte à rebours à 0.

    • Le Arduino 2 peut aussi prévenir le Arduino 1, qu'il est en vie et entrain de surveiller à défaut, le Arduino 1 prévient via une LED que son superviseur (le Arduino 2) est sur le carreau et qu'on tourne sans filet.

    On peut améliorer un peu le mécanisme, si par exemple le Arduino 2 a pris le relais et que le Arduino 1 est dépanné et redémarre bien alors il comprend que c'est à lui de surveiller. On échange les rôles.



    Là on va très loin, moi j'ai vu tout ça lors d'une formation sur la certification SIL (EN 61508) mais parce que j'étais dans la détection de gaz toxiques et explosifs http://www.oldhamgas.com/fr autrement dit des appareils qui sauvent la vie des gens. Bien souvent, un bon design en prenant tout en compte donc même l'aspect CEM, suffit a avoir un produit en béton armé.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  18. #18
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Salut,

    - Juste un point ce que tu décris reste une sorte de la redondance chaude dans la mesure ou Arduino 2 est sous tension et fonctionne pour surveiller Arduino 1 ?

    - Cette idée est intéressante et mérite d'être creusée. Bien que je sois assez novice en langage Arduino, j'essaierais de la mettre en pratique. Je ne mesure pas la complexité du soft à réaliser mais en tant qu'exercice ce doit être assez formateur. Si je bloque je reviendrais à la charge ...

    Merci encore pour votre patience et explications, en attendant je vais essayer de dégoter des infos sur les servos

    Cordialement

  19. #19
    Membre habitué
    Homme Profil pro
    007
    Inscrit en
    Octobre 2014
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : 007

    Informations forums :
    Inscription : Octobre 2014
    Messages : 119
    Points : 188
    Points
    188
    Par défaut
    Le problème c'est clairement l'alimentation, c'est ça qu'il faut "bétonner" d'abord.

    Ensuite pour le servo, si c'est un premier prix, il faut savoir que son mtbf
    c'est le même que celui d'un rasoir jetable. Tout au moins il faut le considérer
    comme tel.

    Pour de la qualité, de la fiabilité et de la longévité, il faut se tourner vers des
    marques comme savox, mks... et prendre des modèles brushless dont les caractéristiques
    correspondent au besoin de l'application.

    Si on souhaite de la qualité industrielle, de la précision, de la reproductibilité, et
    si l'application le permet, on peut songer au moteur pas à pas, toujours en brushless.

    Si c'est critique, faut faire ça en asservissement, avec capteur de position.

    Voilà, je vais m'arrêter là. Ça sert à rien que je parte dans des hypothèses inutiles
    compte tenu du besoin réel qui, au vu du peu d'informations données, reste très vague.

  20. #20
    Membre à l'essai
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Mars 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2011
    Messages : 47
    Points : 13
    Points
    13
    Par défaut
    Bonjour,

    - Oui mon besoin est resté vague car je ne sais si je dis que j’envisage de réaliser un petit équipement labo utilisé sur un banc optique pour faire des mesures de flux dans différentes longueurs d’onde ça aidera vraiment.
    Pour simplifier j'ai le projet de piloter en rotation un réseau optique. Dans ce cadre les caractéristiques que j’attends du servo se résument à :
    - angle de débattement max ~ 100/120°
    - résolution angulaire si possible 1° avec une bonne reproductibilité.
    - le temps de passage d’une position à une autre n’est pas une contrainte, ni le couple. La pièce à entraîner aura une masse < 100 g
    - un retour à la position de départ au degré près.
    - Une fiabilité suffisante pour ne pas avoir tout les mois à changer le servo et éviter qu’il ne tombe en panne pendant une séquence de mesures qui peut durer plusieurs heures . De plus il me faut au départ calibrer l’appareil ce qui est une manip assez longue et qui nécessite d’accumuler beaucoup de mesures. En résumé plusieurs centaines d'heures seraient bien venues.

    - Je n’utilise pas de rasoir jetable. Parle-t-on de durée d’utilisation de 10, 100 ou 1000 h de fonctionnement* pour un servo premier prix ? Si les perfo attendues sont au rendez-vous sur papier, je peux envisager d’investir une somme de 100 € max pour le servo seul.

    - J’ai regardé rapidement les produits Savox et MKS. Ils parlent, me semble -t-il, d’applications type hélicoptères dont les besoins sont de base différents. C’est pourquoi je pensais plus applications petits robots mais les fabricants sont peut-être les mêmes ?

    - Pour l’alimentation le message est bien compris compte tenu des remarques de Vincent et Delias.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo