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 :

Asservissement en courant Arduino


Sujet :

Arduino

  1. #61
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    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 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Attention erreur dans mon calcul (décidément) !!!! La résistance de shunt va dissiper 1/4W et pas 3W pour 500mA sous 6V
    Ça ne change pas le raisonnement la résistance va chauffer.
    Je corrige ça après ce poste.

    Citation Envoyé par seraphon91 Voir le message
    Non plus sérieusement, du coup, la résistance de Shunt n'est pas une solution adapté sauf si on a des courants inférieur à 300-400 mA. C'est bien ça?
    Disons que plus le courant est grand et plus la chute de tension sera forte ce qui a un moment donné posera un soucis et il en va de même pour la puissance.

    Citation Envoyé par seraphon91 Voir le message
    Simple question pour être sur que j'ai bien compris, si je souhaite utiliser cette "technique", je dois brancher ma résistance en série avec le moteur (donc à savoir entre le pin AO1 et le moteur par exemple)? Dans ce cas, pour envoyer l'information directement à l'Arduino, je dois brancher GND sur le - de la résistance et le + sur A0?
    J'avoue ne pas avoir très bien compris comment je pouvais connecté le tout sur un pin analogique...
    Si tu avais eu un simple moteur câblé comme dans mon premier schéma, il aurait fallu mettre le GND de Arduino sur le GND moteur et le A0 comme sur mon schéma. Le soucis c'est que dans ton cas c'est plus compliqué dans la mesure où ton moteur est câblé entre AO1 et AO2, qui plus est vont s'inverser lorsque tu changes le sens de rotation.

    Citation Envoyé par seraphon91 Voir le message
    Du coup, comme tu l'as fais remarqué, je dois rester sur un capteur à effet Hall. Seulement, je devrais prendre un capteur plus précis que celui que je possède actuellement. C'est bien cela?
    Oui un capteur à effet hall allant de +1A à -1A aurait été plus adapté à la mesure.

    Je manque un peu de temps là, je te fais une meilleur explication ce soir.
    A tout à l'heure.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  2. #62
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    L'idéal serait d'avoir un amplificateur différentiel (AOP monté en non inverseur par exemple) branché sur les bornes de ton moteur et la sortie de cet ampli sur une entrée analogique de l'arduino.



    @Auteur:
    Lorsque je branche directement mon moteur au générateur et que je regarde le signal sur l'oscilloscope, je constate que le signal est sinusoidal d'amplitude 6V.
    Curieux Je pensais que tu alimentais tes moteurs en courant continu, donc normalement la sortie de ton capteur devrait être l'image de ton alimentation : une tension continue.

  3. #63
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    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 187
    Points : 11 568
    Points
    11 568
    Par défaut Précision sur le simulateur
    Pour essayer d'être un peu plus clair.
    Imaginons le montage simple, ci dessous :
    Nom : sch.png
Affichages : 1454
Taille : 15,7 Ko
    On a une alimentation continue de 6V, un moteur que j'ai modélisé par une résistance de 5 Ohms et une résistance de shunt de 1 Ohm.

    Si j'applique la loi d'Ohm, j'en déduis que le courant qui passe dans l'ensemble du circuit, donc de l'alimentation de gauche jusqu'au GND tout à droite du schéma est égale à :
    I = U / R
    I = 6V / R (mais qu'est ce que R ? C'est Rmoteur + Rshunt, car elles sont en série, donc 5 Ohms + 1 Ohm = 6 Ohms)
    I = 6V / 6 Ohms
    I = 1A dans tout le circuit.

    Vérifions sur le simulateur en regardant par exemple le courant dans Rshunt :
    Nom : sim1.png
Affichages : 922
Taille : 3,6 Ko
    Maintenant que je connais le courant qui passe dans l'ensemble du schéma et que je connais les résistances moteur et shunt, je peux calculer avec la loi d'Ohm les tensions à leurs bornes, égales à :
    U = R * I
    Pour la tension U aux bornes du moteur = 5 Ohms * 1A = 5V
    Pour la tension U aux bornes du shunt = 1 Ohm * 1A = 1V

    On va recroiser ce qu'on trouve avec la loi d'Ohm avec les lois de Kirchhoff pour prouver que l'on dit vrai :
    Ces dernières veulent que la tension du générateur - la tension moteur - la tension de shunt = 0
    C'est bien ce qu'on a 6V - 5V - 1V = 0 !

    Vérifions la tension Rshunt avec le simulateur pour voir si elle vaut bien 1V :
    Nom : sim2.png
Affichages : 917
Taille : 4,7 Ko
    Tu remarqueras sur le schéma que j'ai nommé ADC_ARDUINO une des bornes de la résistance.

    Donc pour résumé le courant global du circuit * la résistance de shunt te donne une tension image du courant. Dans mon exemple, j'ai pris des valeurs simple pour que les calculs coulent de source.

    Maintenant, dans ton cas de figure :
    Tu connais ta tension moteur = 6V
    Tu connais le courant que débite le moteur quand il tourne = 70mA à vide (de mémoire si je me souviens bien de la datasheet)
    Si tu places une résistance de shunt de 1 Ohm, tu aura aux bornes de celle ci, la tension de 70mV (image du courant)

    Si ton moteur force et se met à consommer 1A, tu aura 1V aux bornes de la résistance de shunt et ainsi de suite.

    A ce stade on pourrait croire qu'on a trouvé la solution miracle mais deux problèmes se posent déjà :
    1 - La résistance de shunt a causé une chute de tension de 1V aux bornes du moteur ce qui est plutôt gênant
    2 - Il faut regarder quand même la puissance que va dégager la résistance de shunt !

    Exemple si le moteur débite 1A
    P = Ushunt * Iglobal
    P = 1V * 1A
    P = 1W
    Ça fait déjà pas mal en perte, juste pour une mesure !

    1W de perdu dans Rshunt
    1V de perte sur le moteur

    On pourrait avoir une idée simple et essayer de mettre une résistance de 0.1 Ohm pour la résistance de shunt !
    Regardons ce que ça engendre toujours avec un courant de 1A.
    Tension aux bornes de Rshunt = 0.1 Ohm x 1A = 100mV
    Ah ! Ça améliore la chute de tension dans le moteur du coup car les lois de Kirchhoff disent que : La tension du générateur - la tension moteur - la tension de shunt = 0
    On connaît la tension générateur (6V), on vient de calculer la tension de shunt (100mV) du coup on en déduit facilement la tension moteur = 6V - 100mV = 5.9V !
    On regarde la puissance dégagée par Rshunt = Ushunt * 1A = 100mV * 1A = 100mW !

    Là on se dit GAGNÉ MAIS NON
    On vient de dire 1A = 100mV aux bornes de Rshunt. Mais si jamais le moteur tourne a vide en tombe à 100mA ? Et bien la tension aux bornes de Rshunt va être de 10mV !
    Pour lire des dizaines de mV avec l'ADC d'un Arduino... bonjour la précision, le bruit et tous les problèmes....

    Généralement une résistance de shunt est une bonne solution si les courants engendrés sont faibles sinon la résistance de shunt va chauffer et on créait une chute de tension dans le moteur qui peut ne plus être acceptable pour le fonctionnement ou le rendement de l'appareil.
    Si on baisse la résistance shunt ça sera au détriment de la qualité de mesure car on va baisser fortement la tension à ces bornes justement pour éviter les deux problèmes que je viens de citer juste au dessus et on doit en plus prendre en compte le bruit et autres perturbations.
    De plus, si le courant varie fortement, c'est délicat de dimensionner la résistance de shunt car on va se retrouver a faire un compromis (Chute de tension dans le montage global / Perte dans le shunt / Valeur de la tension image du courant.)
    Et enfin dans ton cas précis... où mettre cette résistance de shunt ? Toi tu passes via un bridge MOSFET qui peut en plus s'inverser pour changer le sens de rotation du moteur

    Voilà pourquoi je pense que ta configuration nécessite un capteur a effet hall adapté aux courants max du moteur.
    A+


    * Simulation par LTspice IV sous Debian 7 + Wine
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  4. #64
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    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 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Citation Envoyé par Auteur Voir le message
    L'idéal serait d'avoir un amplificateur différentiel (AOP monté en non inverseur par exemple) branché sur les bornes de ton moteur et la sortie de cet ampli sur une entrée analogique de l'arduino.
    Tu penses à un convertisseur courant -> tension a AOP ?

    Citation Envoyé par Auteur Voir le message
    Curieux Je pensais que tu alimentais tes moteurs en courant continu, donc normalement la sortie de ton capteur devrait être l'image de ton alimentation : une tension continue.
    Moi non plus je ne l'explique pas sauf avec un oscilloscope en AC ? Peut être !
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  5. #65
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 647
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 647
    Points : 11 136
    Points
    11 136
    Par défaut
    Citation Envoyé par Vincent PETIT Voir le message
    Tu penses à un convertisseur courant -> tension a AOP ?
    Non. Je pensais à Tension -> Tension puisque l'on prélève la tension aux bornes du moteur. L'impédance de ces ampli étant assez grande les pertes sont faibles. Cela nécessitera quand même de réaliser des mesures pour faire la correspondance courant du moteur / tension de sortie de l'ampli. Mais en y réfléchissant j'ai un doute sur la linéarité de la courbe tension/courant.

    Le convertisseur courant -> tension, j'avoue ne pas savoir comment l'intégrer au circuit à cause des changement de polarité et du courant qui peut être élevé
    L'inconvénient est qu'il faut une alimentation symétrique.

  6. #66
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Bonjour monsieurs,

    Je vous remercie grandement pour toute votre aide qui me fût très précieuse! Je pense qu'il est actuellement inutile d'aller plus loin.
    La solution la plus simple envisageable est de prendre un capteur à effet Hall donc la plage est de -2A à +2A avec une sensibilité suffisamment élevé.
    En effet, l'équipe dans laquelle je travaille actuellement en Espagne ne dispose d'aucune formation en électronique (d'où ma présence). De ce fait, plus la solution sera simple mieux ce sera pour eux!

    Encore merci pour votre aide!!

  7. #67
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    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 187
    Points : 11 568
    Points
    11 568
    Par défaut
    @Auteur : Je pense voir à quoi tu penses, il aurait fallu essayer (mais serphon91 n'a plus le temps pour ça)
    Pour le convertisseur courant/tension c'était juste une question, moi non plus je ne serai pas le mettre en place dans ce projet et je ne suis même pas sur que c'est une solution possible !

    @seraphon91 : Bonne continuation à toi.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  8. #68
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2014
    Messages : 84
    Points : 19
    Points
    19
    Par défaut
    Merci beaucoup à toi Vincent.

    Simple petite question, m'autorises-tu à utiliser tes schémas dans mon rapport de stage s'il te plaît?

    Par avance merci.

  9. #69
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    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 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Bien sur !
    A+
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #70
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2013
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2013
    Messages : 4
    Points : 10
    Points
    10
    Par défaut
    il faut verifier les valeurs lus et je pense qu'il serait mieux d'utiliser la fonction map.

+ Répondre à la discussion
Cette discussion est résolue.
Page 4 sur 4 PremièrePremière 1234

Discussions similaires

  1. Réponses: 24
    Dernier message: 13/04/2013, 17h51
  2. Date courante
    Par missllyss dans le forum SQL
    Réponses: 5
    Dernier message: 29/08/2003, 11h09
  3. Exécuter la classe courante ??
    Par sami_c dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 17/03/2003, 17h47
  4. repertoire courant
    Par mobee dans le forum Autres éditeurs
    Réponses: 2
    Dernier message: 11/12/2002, 13h03
  5. [VB6] [Système] Tuer un processus courant
    Par mdoyer dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 22/10/2002, 14h47

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