Projet robot
Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 63

Projet robot



  1. #1
    sandrecarpe

    Projet robot


    ------

    Bonsoir à tous
    Je décide de me lancer dans la création d'un petit robot. Je compte pas forcément le terminer, c'est surtout pour apprendre de nouvelles choses niveau électronique et pour programmer un peu.
    Le microcontrôleur sera un Raspberry mais il n'a pas de fonction PWM pour piloter les moteurs, à part de manière logicielle, mais la fréquence ne sera pas assez élevée. J'envisage donc d'utiliser un driver pwm qui se commande avec le bus I2C : le tlc59108
    Première incompréhension avec ce circuit. Il y a apparemment trois façon de le faire fonctionner : a 92kHz, à 190Hz et en mode clignotement de 24Hz à ~0.1 Hz

    Donc moi ce qui m'intéresse c'est le mode 92kHz. Est-ce que c'est bien le fait de mettre le bit DMBLNK du registre MODE2 (voir page 16) qui me permet d'utiliser ce mode ?
    Je comprends pas trop la page 18, dans Group duty cycle control register, il a d'écrit :
    When the DMBLNK bit (MODE2 register) is programmed with logic 0, a 190-Hz fixed-frequency signal is
    superimposed with the 97-kHz individual brightness control signal
    . GRPPWM is then used as a global brightness
    control, allowing the LED outputs to be dimmed with the same value. The value in GRPFREQ is then a Don't
    care.
    C'est quoi cette histoire de signal superposé ?



    J'utiliserai comme source d'alimentation une batterie Ni-MH 12V. Je prévois de tester les alimentations à découpage. Je vais utiliser pour ça le LM2576-5 pour alimenter mon Raspberry en 5V.
    Donc j'ai vu qu'il fallait prendre des précautions avec ces circuits là, pistes les plus courtes possibles, condos collé au régulateur...
    Quelles autres précautions faut-il prendre ? PWM et alimentation à découpage je suppose que c'est un peu complexe...


    Puis pour finir, les moteurs driver par un L298. Comment est-ce que je peux obtenir un freinage contrôlé des moteurs CC ?
    Page 6 de la doc , il est écrit que quand C = D, on provoque un arrêt rapide du moteur. Mais du coup j'ai pas de contrôle sur le freinage. Mais peut-être qu'en mettant C à 1 ou 0 et en faisant du PWM sur D je pourrais obtenir ce que je veux ?
    J'envisage cette fonction de freinage mais peut-être qu'avec le poid du robot ça ne me sera même pas utile.


    Je suis ouvert à toutes vos suggestions et conseils
    Merci pour votre aide

    -----

  2. #2
    Antoane
    Responsable technique

    Re : Projet robot

    Bonjour,

    Citation Envoyé par sandrecarpe Voir le message
    C'est quoi cette histoire de signal superposé ?
    Je n'ai jamais utilisé ce composant, mais il me semble que :
    Tu as au total 9 signaux PWM :
    - Un pour chaque canal i, à 97kHz, PWMi ;
    - Un général, à 190Hz, PWMg .
    Chaque sortie i est piloté par le signal résultant de la fonction :
    PWMi ET PWMg

    Citation Envoyé par sandrecarpe Voir le message
    J'utiliserai comme source d'alimentation une batterie Ni-MH 12V. Je prévois de tester les alimentations à découpage. Je vais utiliser pour ça le LM2576-5 pour alimenter mon Raspberry en 5V.
    Donc j'ai vu qu'il fallait prendre des précautions avec ces circuits là, pistes les plus courtes possibles, condos collé au régulateur...
    Quelles autres précautions faut-il prendre ? PWM et alimentation à découpage je suppose que c'est un peu complexe...
    Pistes larges, composants passifs adaptés à l'usage (fréquence de fonctionnement de la self, ESR du filtrage), boucles de courant de faible surface, bonne séparation des sections de puissance et de commande... La plupart des datasheet donne des conseils sur ce qu'est un bon PCB et sur le choix des composants passifs. Attention aussi au refroidissement, notamment des condensateurs chimiques, qui ne doivent pas être "trop" près des radiateurs pour rester frais. Tu peux aussi regarder du côté de notes d'application, notamment chez LT :
    http://cds.linear.com/docs/en/applic...ote/an136f.pdf
    http://cds.linear.com/docs/en/applic...ote/an139f.pdf
    http://cds.linear.com/docs/en/applic...note/an35f.pdf (nottament l'appendix b)
    http://cds.linear.com/docs/en/applic...ote/an44fa.pdf (moins généraliste, mais probablement applicable à ta situation)

    [QUOTE=sandrecarpe;5252032]Puis pour finir, les moteurs driver par un L298.
    Le 298 est vieux et pas loin d'être obsolète, son seul avantage est son faible coût. Sous 12V, le rendement est assez minable (70% en typique @2A) -- un comble pour tel circuit.

    Citation Envoyé par sandrecarpe Voir le message
    Comment est-ce que je peux obtenir un freinage contrôlé des moteurs CC ?
    Page 6 de la doc , il est écrit que quand C = D, on provoque un arrêt rapide du moteur. Mais du coup j'ai pas de contrôle sur le freinage. Mais peut-être qu'en mettant C à 1 ou 0 et en faisant du PWM sur D je pourrais obtenir ce que je veux ?
    C'est une facon de faire. Sans doute pas la meilleurs puisque, dans ce cas, tu injectes de l'énergie dans le moteur pendant la phase de freinage (lorsque tu ne le freine pas, i.e. que C != D).
    Il doit être possible d'envoyer un PWM sur l'entrée enable.

    Citation Envoyé par sandrecarpe Voir le message
    J'envisage cette fonction de freinage mais peut-être qu'avec le poid du robot ça ne me sera même pas utile.
    Il y a ici deux phénomènes opposés : les pertes par frottements d'un côté et l'inertie du mobile de l'autre. Tous deux augmentent avec la masse.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  3. #3
    sandrecarpe

    Re : Projet robot

    Bonjour,
    Je n'ai jamais utilisé ce composant, mais il me semble que :
    Tu as au total 9 signaux PWM :
    - Un pour chaque canal i, à 97kHz, PWMi ;
    - Un général, à 190Hz, PWMg .
    Chaque sortie i est piloté par le signal résultant de la fonction :
    PWMi ET PWMg
    Je n'ai toujours pas compris x)

    Concernant le driver de moteur, vous me conseillez quoi à la place ? D'utiliser plutôt un driver de MOSFET ?

    les pertes par frottements d'un côté et l'inertie du mobile de l'autre. Tous deux augmentent avec la masse.
    Certe, mais je ne connais pas encore la masse qu'aura le robot

    Et merci pour les documents !

    Je vois aussi que le LT1074 s'utilise à peu près pareil que le LM2576-5, et il a un meilleur rendement pour mon cas. Pourquoi pas prendre celui-ci alors ?
    Dernière modification par sandrecarpe ; 15/06/2015 à 10h51.

  4. #4
    Antoane
    Responsable technique

    Re : Projet robot

    Bonjour,

    Regarde la Figure 15 , page 25 : http://www.ti.com/lit/ds/symlink/tlc59108.pdf
    - Sur la première ligne, tu as le PWM à 97kHz, généré pour chaque canal avec un rapport cyclique différent.
    - Sur la seconde ligne, tu as le PWM à 190Hz.
    - Sur la troisième ligne, tu as le signal envoyé à la led. Il est égale au PWM à 97kHz lorsque la deuxième ligne est 1 et il est égal à 0 lorsque la deuxième ligne est à 0. Autrement dit : la troisième ligne est un ET logique entre la première et la deuxième.

    Un unique signal PWM à 190Hz (la deuxième ligne) est utilisé pour contrôler toutes les led. C'est donc un signal qui permet de faire varier simultanément la luminosité de toutes les led branchées au composant.

    Exemple 0 :
    Pour un smart-téléfon : sur le premier canal du composant, tu câbles le rétro-éclairage de l'écran, sur le second, tu câbles le clavier, sur le troisième tu câbles la led bleue des notifications, sur le quatrième tu câbles la led rouge des notifications. Chaque led doit pouvoir être contrôlée indépendamment (l'écran n'est pas toujours éclairé lorsque qu'une notification est active), tu utilises alors les registres PWM[.] : PWM3=255 lorsqu'une notification rouge doit être affichée, par exemple.
    Mais, en même temps, tu veux asservir la luminosité en fonction de l'éclairage ambiant : faible lorsqu'il fait sombre et fort lorsqu'il fait grand jour. Bien sûr, ce réglage doit s'appliquer au clavier, au rétro-éclairage et aux led de notification. Pour cela, tu utilises le registre GRPPWM : GRPPWM=10 lorsqu'il fait nuit et GRPPWM=255 en plein soleil.
    Il serait possible de faire la même chose en intervenant directement sur les registres PWM, mais ce serait plus complexe et ne permettrait pas, comme en utilisant GRPPWM, de séparer les différentes fonctions (gestion de la luminosité / affichage des notification par exemple).

    Exemple 1 :
    - tu met :
    PWM0=128
    PWM1=128
    PWM2=128
    PWM3=128
    PWM4=128
    PWM5=255
    PWM6=0
    PWM7=255
    et GRPPWM = 255.

    Dans ce cas, les leds éclairent à :
    Led0=50%
    Led1=50%
    Led2=50%
    Led3=50%
    Led4=50%
    Led5=100%
    Led6=0%
    Led7=100%.

    (c'est à dire le résultat du produit : PWM[numéro du canal] * GRPPWM )

    Exemple 2 :
    - tu met :
    PWM0=128
    PWM1=128
    PWM2=128
    PWM3=128
    PWM4=128
    PWM5=255
    PWM6=0
    PWM7=255
    et GRPPWM = 128.

    Dans ce cas, les leds éclairent à :
    Led0=25%
    Led1=25%
    Led2=25%
    Led3=25%
    Led4=25%
    Led5=50%
    Led6=0%
    Led7=50%.

    (c'est à dire le résultat du produit : PWM[numéro du canal] * GRPPWM )

    Exemple 3 :
    si GRPPWM = 0, quels que soient les réglages des registres PWM[numéro du canal], toutes les led seront éteintes.
    Dernière modification par Antoane ; 15/06/2015 à 11h15.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  5. A voir en vidéo sur Futura
  6. #5
    sandrecarpe

    Re : Projet robot

    Ah d'accord tout est clair maintenant !
    J'aurais peut-être bien finis par comprendre mais jusqu'à là c'est pas trop ce que j'avais compris

  7. #6
    Antoane
    Responsable technique

    Re : Projet robot

    Bonjour,
    Citation Envoyé par sandrecarpe Voir le message
    Concernant le driver de moteur, vous me conseillez quoi à la place ? D'utiliser plutôt un driver de MOSFET ?
    C'est une possibilité, très clairement la plus formatrice.
    Néanmoins, cela demande un travail additionnel, pas nécessairement trivial. Question coût, fabriquer toi-même un pont en H sera probablement plus cher que d'acheter. Selon le prix que que mets, tu auras un composant de plus ou moins bonne qualité, avec des fonctions annexes plus ou moins intéressantes (sécurité température, sur-courant, gestion par SPI ou I²C, ultra-haut rendement...).
    Un exemple de composant assez vieux, assez bon, assez abordable : http://www.ti.com/lit/ds/symlink/lmd18200.pdf

    Mais, encore une fois, si ton but est vraiment d'apprendre, autant partir sur du DIY.

    Citation Envoyé par sandrecarpe Voir le message
    Certe, mais je ne connais pas encore la masse qu'aura le robot
    Conclusion : on ne peut pas conclure et il est préférable de prévoir de pouvoir utiliser le frein moteur

    Citation Envoyé par sandrecarpe Voir le message
    Je vois aussi que le LT1074 s'utilise à peu près pareil que le LM2576-5, et il a un meilleur rendement pour mon cas. Pourquoi pas prendre celui-ci alors ?
    Demande le prix à ton revendeur, tu auras la réponses
    Tous deux évoluent dans la catégorie best-seller, mais n'ont pas les mêmes standards
    Le 1074 lui-même n'est pas tout jeune, tu devrais trouver bien plus performant chez LT. Pas sûr que la mise en oeuvre soit aussi simple -- a voir quelle est ta dextérité face à un PCB et aux alim à découpage.

    ****
    Par ailleurs, le LM2576 http://www.ti.com/lit/ds/symlink/lm2576.pdf a un rendement typique de 77% lorsqu'il convertie 12V en 5V sous 3A. Avec un LDO et une batterie de 7.2V, le rendement est de 68%... Une batterie de 6V est peut-être même utilisable, on monte alors à 83%.
    De quoi reconsidérer l'emport d'une batterie supplémentaire
    Dernière modification par Antoane ; 15/06/2015 à 11h33.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  8. #7
    sandrecarpe

    Re : Projet robot

    Ah oui j'avais oublié le détail du prix ! x)
    Après avoir compris comment fonctionne à peu près le tlc59108, je me rends compte qu'il est pas disponible sur conrad ou gotronic, là ou j'achète d'habitude et sur le site des fabriquants...bah il est pas du tout donné ! T_T
    Donc si vous connaissez un autre CI de ce genre, permettant de piloter du pwm par un bus I2C ou par liaison UART de préférence, et plus connu je serai ravi !

    J'aimerais pouvoir utiliser des composants relativement courant pour prendre au maximum au même endroit pour éviter les 10€ de frai de port à chaque fois...
    Dernière modification par sandrecarpe ; 15/06/2015 à 11h56.

  9. #8
    sandrecarpe

    Re : Projet robot

    Merci pour tes précieux conseils
    Je pense donc faire mon propre pont en H
    Dernière modification par sandrecarpe ; 15/06/2015 à 11h59.

  10. #9
    sandrecarpe

    Re : Projet robot

    Après avoir réfléchis toute l'aprèm sur comment commandé mon pwm via mon Raspberry pi, je ne trouve pas de solution très convainquante :
    - utiliser un PICAXE, mais :
    The maximum duty cycle value must not be set greater than 4x the period, as the mark 'on time' would then be longer than the total PWM period (see equations above)! Setting above this value will cause erratic behaviour.
    http://www.picaxe.com/BASIC-Commands...Output/pwmout/
    Même si je ne vois pas en quoi les équations suivantes sont liées :
    The PWM period = (period + 1) x 4 x resonator speed (resonator speed for 4MHz = 1/4000000).
    The PWM duty cycle = (duty) x resonator speed

    Ou une autre "solution", créer mon propre PWM commandé en tension.
    Nom : mli.jpg
Affichages : 149
Taille : 105,0 Ko
    Je créer la tension de commande avec le pwm d'un picaxe ou du Raspberry car la fréquence n'a pas d'importance


    J'attends vos conseils

  11. #10
    antek

    Re : Projet robot

    Avec un PIC 16F887 la F PWM va de 1 à 20 kHz avec une résolution sur 10 bits, moins au-dela.

  12. #11
    sandrecarpe

    Re : Projet robot

    J'ai vu plusieurs générateurs de PWM avec des PIC mais malheureusement je n'ai pas de PIC, ni de programmateur (et je compte pas investir tout de suite la-dedans)
    Merci quand même

  13. #12
    antek

    Re : Projet robot

    Il te faudra bien un µC puisque tu ne veux pas te servir du PI.

  14. #13
    sandrecarpe

    Re : Projet robot

    Le Rpi peut générer une fréquence de 500Hz seulement, pas assez pour contrôler les moteurs sans risque de bruis désagréable n'est-ce pas ?
    Et en plus de ça, ça le fait ramer

  15. #14
    antek

    Re : Projet robot

    Citation Envoyé par sandrecarpe Voir le message
    Le Rpi peut générer une fréquence de 500Hz seulement, pas assez pour contrôler les moteurs sans risque de bruis désagréable n'est-ce pas ?
    Et en plus de ça, ça le fait ramer
    Je connais pas Fmax PWM du PI, mais commander un petit robot avec un ordinateur ça va faire usine à gaz !
    Oui, 500 Hz ça a des chances de s'entendre.

  16. #15
    sandrecarpe

    Re : Projet robot

    Ca me permettra de rajouter des fonctionnalité presque à volonté. J'aurai pu partir sur un Arduino mais premièrement, des fois, c'est trop casse tête à programmer pour faire quelque chose de simple et puis faudrait que je me procure un shield ethernet en plus. Alors que le RPi en a déjà une. Ca me permettrai de reprogrammer directement le Rpi directement sur le terrain...
    ...Enfin bon, faut déjà j'arrive à faire mon PWM x)
    Dernière modification par sandrecarpe ; 15/06/2015 à 19h43.

  17. #16
    Antoane
    Responsable technique

    Re : Projet robot

    Bonjour,

    Un µC qqcq peut effectivement servir à ne générer que des PWM, tout en étant contrôlé par SPI/I²C/UART... On ne va pas se relancer dans la guerre dequel est le meilleur µC, mais de nombreux fondeurs (ou autre) proposent des platines de développement simplissimes intégrant guère davantage que le strict minimum : alim via USB, oscillateur et gestion du reset (plus une jolie led verte). Avec ça, tu fais pour peu cher TL59108F. Ex : arduino (ou "sistership" chez Atmel, msp430 launchpad chez TI...)
    Mais bon, ca doit aussi exister en asic (i.e. tout fait), tu peux demander à Google de te parler de "PWM port expander".

    Sortir un générateur PWM analogique dans ce montage me semble clairement overkill (ou de la manière dont Molière l'eut décrit), peu pertinent.

    PS : Détail par rapport à ce que j'ai écrit : tout ca ne prend pas en compte les limitations intrinsèques du composant :
    - rapport cyclique maximal potentiellement < 100% (97.5%, de mémoire) ;
    - rapport cyclique minimal potentiellement > 0% (0.4%, de mémoire) ;
    - quantification des pas de commande (1/256~0.4%).
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  18. #17
    sandrecarpe

    Re : Projet robot

    Je vais partir sur un TLC59108F alors. C'est vraiment la solution la plus simple
    Il va falloir que je commande un max chez TI pour compenser le frai de port alors x)

  19. #18
    sandrecarpe

    Re : Projet robot

    Bonsoir,
    Après quelque recherche je vais en fait générer mon PWM avec un atmega328p. Je lui donnerais les valeurs du rapport cyclique par le bus I2C

    Je vais finalement partir sur ce pont en H qui me donnera déjà bien du fil à retordre...
    http://www.farnell.com/datasheets/71444.pdf

    Alors si j'ai bien compris, grâce à IN+ et IN-, on peut déterminer le sens de rotation du moteur.
    Et on injecte son PWM sur la pin 3 DIS.
    En revanche, je ne comprends pas à quoi sert la broche HEN :
    page 7
    High-side Enable input. Logic level input that when low overrides IN+/IN- (Pins 6 and 7) to put AHO and BHO drivers
    (Pins 11 and 20) in low output state. When HEN is high AHO and BHO are controlled by IN+/IN- inputs
    On met à l'état bas les deux MOSFET du haut, donc ils ne conduisent pas... Heu oui et alors ? Le moteur ne peut plus marcher après ?

    Page 3 il y a un schéma. Je ne suis pas sûr de comprendre. L'aop amplifie la différence de tension entre les deux shunts, dont un des deux aura logiquement une tension nulle à ses bornes. C'est ça ?
    On injecte le tout sur l'entrée inverseuse. Tout ça pourquoi faire ?

    Merci de m'éclaircir

  20. #19
    antek

    Re : Projet robot

    Citation Envoyé par sandrecarpe Voir le message
    Bonsoir,
    Après quelque recherche je vais en fait générer mon PWM avec un atmega328p. Je lui donnerais les valeurs du rapport cyclique par le bus I2C

    Je vais finalement partir sur ce pont en H qui me donnera déjà bien du fil à retordre...
    http://www.farnell.com/datasheets/71444.pdf

    En revanche, je ne comprends pas à quoi sert la broche HEN :
    On met à l'état bas les deux MOSFET du haut, donc ils ne conduisent pas... Heu oui et alors ? Le moteur ne peut plus marcher après ?

    Page 3 il y a un schéma. Je ne suis pas sûr de comprendre.
    On injecte le tout sur l'entrée inverseuse. Tout ça pourquoi faire ?
    Le pont H tu devras le faire, ceci est un pilote.
    Et alors, tu peux court-circuiter le moteur pour freiner.

    Tu n'es pas obligé de suivre le schéma d'application si tu veux contrôler le sens par IN.
    Je sais pas ! Y'a une histoire d'hystérésis.

  21. #20
    sandrecarpe

    Re : Projet robot

    Le pont H tu devras le faire, ceci est un pilote.
    Ma langue à fourché

    En quoi le moteur serait court circuité ? Il faudrait activer les deux MOSFET du bas pour ça ?
    Et il me semble que d'après la table de vérité de la doc, il n'est pas possible de faire ça
    Dernière modification par sandrecarpe ; 20/06/2015 à 01h11.

  22. #21
    antek

    Re : Projet robot

    Citation Envoyé par sandrecarpe Voir le message
    En quoi le moteur serait court circuité ? Il faudrait activer les deux MOSFET du bas pour ça ?
    Et il me semble que d'après la table de vérité de la doc, il n'est pas possible de faire ça
    Oui, on court-circuite ou on charge avec un résistance en ouvrant les 2 mosfet du bas.
    Je n'ai pas fouillé la doc mais les pilotes offrent en principe cette possibilité.

  23. #22
    Antoane
    Responsable technique

    Re : Projet robot

    Bonjour,

    Pour que ton moteur ne tourne pas ou freine, tu as deux solutions :
    - tu ne l'alimentes pas ;
    - tu le court-circuites ;
    - tu mets à ses bornes une tension de valeur moyenne nulle ou telle que le moteur tournerait dans le sens opposé s'il n'avait pas d'inertie (exemple : tu lui appliquais une tension positive depuis 10 minutes, et tu passes brusquement à une tension négative).

    En détail :
    - En bloquant tous les transistors du pont en H (et supposant les diodes de roue-libre bloquées également), le moteur n'est freiné que de manière mécanique : aucun courant ne circule, aucune énergie n'est prise au rotor de manière électrique (ce n'est vrai qu'après une phase transitoire pendant laquelle l'énergie stockée dans l'inductance du moteur est dissipée).
    - En court-circuitant le moteur, tu autorises la circulation d'un courant (généré par le moteur lui-même) qui va le ralentir (de l'énergie est perdue dans la résistance interne du moteur et les résistances parasites).
    - En alimentant le moteur en inverse (exemple : tu lui appliquais une tension positive depuis 10 minutes, et tu passes brusquement à une tension négative), tu freines brusquement le moteur (jusqu'au moment où il commencera à tourner dans le sens inverse).

    Tout ça n'est pas forcément simple à comprendre mais est important et peut assez bien se visualiser en faisant le schéma équivalent du moteur : R et fcem (et éventuellement L). Tu associes alors au modèle du moteur le schéma de la tension d'alim qui lui est appliquée (en oubliant le pont en H, trop complexe). L'énergie mécanique est "contenue" dans la FCEM et plus la puissance qui lui est apportée (retirée) est grande, plus le moteur accélère (ralentie) rapidement. Autrement dit : à un instant donné, plus le courant circulant dans le moteur est grand plus la vitesse varie rapidement. Ou, de manière équivalente, plus la tension (en valeur absolue) appliquée à la résistance interne du moteur est grande, plus la vitesse varie rapidement.
    C'est montré dans ces schémas :
    Nom : fs_alim_mot.png
Affichages : 90
Taille : 9,1 Ko



    Tu peux donc appliquer ton PWM sur, au choix, DIS ou HEN. La différence réside dans les tension instantanées envoyées au moteur. Supposant un fonctionnement en conduction continue (le courant dans le moteur ne s'interrompt pas à chaque cycle grace à l'inductance du rotor). Pendant le toff, on enverra -Vcc dans le premier cas (à cause de l'inductance du bobinage et des diodes de roue-libre) et 0V dans le second (moteur en court-circuit).
    Dans le premier cas, la tension moyenne envoyée au PWM sera donc égale à (2dc-1)*Vin (dc le rapport cyclique, Vin ton Vcc<60V), équation valide seulement lorsque dc<~50%. Dans le second cas, la tension moyenne envoyée au PWM sera égale à dc*Vin (dc le rapport cyclique, Vin ton Vcc<60V)

    Je dirais que le second cas est préférable car la dépendance de Vout sur alpha est plus faible, augmentant ainsi la controlabilité.
    Il est également possible de maintenir ton moteur en position (i.e. à l'arrêt) en appliquant une tension moyenne nulle au moteur mais une forte tension RMS. Autrement dit : en appliquant un PWM de dc=0,5 sur DIS. Ainsi, le couple moteur moyen est nul, donc le rotor ne tourne pas, mais il existe un couple de freinage. Bon, ce n'est pas nécessairement une bonne idée sur un robot puisque l'énergie est en quantité très limitée.
    Enfin, l'utilisation du PWM sur la broche DIS permet de faire de la récupération d'énergie au freinage : lorsque le courant circule par les diodes de roue-libre, il circule également dans l'alimentation, du plus vers le moins, i.e. e, cédant de l'énergie à l'alim. Il faut bien sûr que l'alim l'accepte... C'est en général ok pour un gros condensateur ou une batterie (si son régulateur de décharge le permet) mais pas pour un 7804, par exemple.

    Sauf erreur (en général assez évidente ).
    Dernière modification par Antoane ; 20/06/2015 à 10h04. Motif: Corrections
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  24. #23
    Antoane
    Responsable technique

    Re : Projet robot

    Le schéma en page 3 est un régulateur de courant. Le courant circulant dans la charge est régulé de manière à ce que :
    V(in)=r*k*<I1-I2>, où <.> désigne la fonction "valeur moyenne".
    Avec les composants donnés sur ce schéma (simplifié) :
    Nom : fs_reg_I.png
Affichages : 85
Taille : 16,4 Ko
    La régulation est par hystérésis, la largeur de la bande étant fixée par les 2 résistances au niveau de OUT et IN+.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  25. #24
    sandrecarpe

    Re : Projet robot

    Merci pour tes explications, encore une fois, de qualité !
    J'ai déjà quelques connaissances sur les moteurs.

    J'ai besoin d'un freinage "contrôlé". La première solution, celle de bloquer tout les transistors n'est donc pas envisageable.
    Donc il reste deux solutions :
    * Faire conduire les deux MOSFET du haut ou les deux MOSFET du bas. Mais selon la table de vérité page 6 de la doc, dans aucun cas cela arrive...
    * Appliquer une tension inverse comme tu m'as expliqué

    Si la condition In+ > IN, on tourne dans un sens sinon on tourne dans l'autre. Donc il faut que j'applique mon PWM sur IN+

    Est-ce que mon raisonnement est juste ?


    Concernant le schéma 3...heu pour l'instant on s'en fou (pour ce que je veux faire)
    Mais merci pour tes explications !


    Ah oui et que signifie U/V dans la doc ?
    Dernière modification par sandrecarpe ; 20/06/2015 à 13h00.

  26. #25
    invitee05a3fcc

    Re : Projet robot

    Il y a un truc que je ne pige pas ....
    Tu veux arrêter ton moteur à une position précise ? Et comment tu connais la position ?
    Il faut un codeur/capteur qui indique la position exacte du moteur que tu compares à la position désirée . Et c'est l'asservissement de position qui va propulser/freiner le moteur en fonction de l'erreur.

    Evidemment, si ton moteur arrive plein pot à la position finale, ça va être un peu rude ! Il faut alors, dans un deuxième temps, pouvoir jouer sur les conditions d'accostage ( quand on approche de la position désirée, on limite la vitesse du moteur pour avoir un accostage "soft")

  27. #26
    sandrecarpe

    Re : Projet robot

    Je ne sais pas faire encore d'asservissement, même si je sais de quoi il s'agit.
    Je vais utiliser 3 capteurs à ultrason pour détecter les obstacles. Je vais ensuite gérer ça avec mon Raspberry

  28. #27
    Antoane
    Responsable technique

    Re : Projet robot

    Bonjour,
    Citation Envoyé par sandrecarpe Voir le message
    Donc il reste deux solutions :
    * Faire conduire les deux MOSFET du haut ou les deux MOSFET du bas. Mais selon la table de vérité page 6 de la doc, dans aucun cas cela arrive...
    Pense aux diodes de roue-libre.
    Ca peut aussi se faire en PWM pour bien contrôler le freinage.

    Citation Envoyé par sandrecarpe Voir le message
    Si la condition In+ > IN-, on tourne dans un sens sinon on tourne dans l'autre. Donc il faut que j'applique mon PWM sur IN+
    Est-ce que mon raisonnement est juste ?
    C'est une possibilité. Dans ce cas, le signal PWM contient toute l'information nécessaire à la commande du moteur :
    - le sens de rotation (sens 1 si dc > 50%) ;
    - la valeur absolue de la vitesse, ~proportionnelle à | dc-0.5 |.
    Une commande de DIS ou HEN peut cependant demeurer utile, voire nécessaire, pour économiser la batterie et assurer que le mobile ne bouge pas lorsque dc~0,5.

    Que signifie U/V dans la doc ?
    Under Voltage
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  29. #28
    sandrecarpe

    Re : Projet robot

    Pense aux diodes de roue-libre.
    Ca peut aussi se faire en PWM pour bien contrôler le freinage.
    Comment ça ?


    Pour faire varier la vitesse :
    Si je fais du PWM sur DIS, au moment où DIS est à 0, les MOSFET sont bloqués et l'énergie emmagasinée par le moteur est restituée à la batterie par les diodes de roue libre ? C'est bien ça ?
    Et quand DIS est à 1, c'est IN+ et IN- qui détermine dans quel sens tourne le moteur

    Ou alors je peux mettre mon PWM sur EN, et au moment ou EN est à 0, les MOSFET du haut sont bloqué et pareil, l'énergie emmagasinée par le moteur est restituée à la batterie par les diodes de roue libre ?

    Est-ce que c'est ça ou je suis perdu ?

    Il y a un truc que je ne comprends pas :
    S'assurer que le mobile ne bouge pas quand le rapport cyclique est d'environ 0.5...Pourquoi il ne bougerait pas ?

  30. #29
    antek

    Re : Projet robot

    Citation Envoyé par sandrecarpe Voir le message
    Pour faire varier la vitesse :
    Si je fais du PWM sur DIS, au moment où DIS est à 0, les MOSFET sont bloqués et l'énergie emmagasinée par le moteur est restituée à la batterie par les diodes de roue libre ? C'est bien ça ?
    Et quand DIS est à 1, c'est IN+ et IN- qui détermine dans quel sens tourne le moteur
    Ou alors je peux mettre mon PWM sur EN, et au moment ou EN est à 0, les MOSFET du haut sont bloqué et pareil, l'énergie emmagasinée par le moteur est restituée à la batterie par les diodes de roue libre ?

    Est-ce que c'est ça ou je suis perdu ?
    Ce que je comprend :

    Transistors du bas "ouverts"
    Tu injectes le courant moteur généré au freinage en le contrôlant en PWM.
    Il faudra alors savoir contrôler ce courant, sinon la batterie . . .

    Transistors du haut "ouverts"
    On fait un court-circuit aux bornes du moteur, son courant moyen étant limité par PWM.

    Attention quand on parle de freinage : il n'a rien à voir avec un freinage tel qu'on l'entend pour une voiture.
    C'est un ralentissement qui peut opérer uniquement lorsque le moteur tourne.
    Si le robot est sur une pente suffisante, il descendra doucement la pente, étant seulement ralenti.
    Dernière modification par antek ; 20/06/2015 à 15h57.

  31. #30
    sandrecarpe

    Re : Projet robot

    Attention quand on parle de freinage : il n'a rien à voir avec un freinage tel qu'on l'entend pour une voiture.
    C'est un ralentissement qui peut opérer uniquement lorsque le moteur tourne.
    Si le robot est sur une pente suffisante, il descendra doucement la pente, étant seulement ralenti.
    Ah d'accord !

    Donc heu on comprends pas pareil ?

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. projet TPE: robot-aspirateur
    Par invite98d02f0d dans le forum Électronique
    Réponses: 72
    Dernier message: 21/07/2015, 17h23
  2. [Projet] Robot Télécommandé
    Par invite0f8cfd5f dans le forum Électronique
    Réponses: 12
    Dernier message: 22/12/2014, 09h12
  3. Projet Robot Picky
    Par invite5d6d0153 dans le forum Électronique
    Réponses: 16
    Dernier message: 19/11/2010, 17h45
  4. Projet Robot E=M6
    Par invitefa6261c0 dans le forum Technologies
    Réponses: 33
    Dernier message: 19/07/2010, 10h06
  5. Projet Mû robot primitif
    Par invite800a3b4b dans le forum Électronique
    Réponses: 12
    Dernier message: 16/11/2007, 17h56
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...