Commande_de_moteur Pas a Pas

Embed Size (px)

Citation preview

  • 7/22/2019 Commande_de_moteur Pas a Pas

    1/19

    Commande de moteur

    pas pas

    En micro pas

  • 7/22/2019 Commande_de_moteur Pas a Pas

    2/19

    Les diffrents moteurs

    dasservissement

    Les moteurs DC balais

    Les moteurs DC sansbalais

    Les moteurs Synchrones

    Les moteurs pas pas

  • 7/22/2019 Commande_de_moteur Pas a Pas

    3/19

    Moteurs pas pas

    AvantagesAsservissement de position

    ou de vitesse en boucle

    ouverte

    Fort couple basse vitesse

    Simplicit de mise en uvre

    Positionnement statique

    Fiabilit

    Faible prix

    InconvnientsPositionnement discret

    Faible vitesse maximale

    Bruyant, source doscillations

    Faible puissance

    Faible rendement

  • 7/22/2019 Commande_de_moteur Pas a Pas

    4/19

    Diffrents type de moteurs

    pas pas

    Aimant permanentUn aimant permanent est solidaire de l'axe du moteur.

    Couple lev, faible rsolution, couple rsiduel moteur hors tension.

    Rluctance variableRotor encoches en fer doux se positionnant dans la direction de la plus faible rluctance.Couple faible, bonne rsolution, pas couple rsiduel moteur hors tension.

    HybrideDeux rotor encoches en fer doux relis par un aimant permanent.

    Couple lev, trs bonne rsolution, faible couple rsiduel moteur hors tension.

    EnroulementsDeux enroulements par phases: commande unipolaires, lectronique simple, couple faible.

    Un enroulement par phase : commande bipolaire, pont en H, couple fort.

  • 7/22/2019 Commande_de_moteur Pas a Pas

    5/19

    La commande

    Principe: alimenter successivement les phases, si possible en courant.

    Partie logique: CI combinatoire

    CI Spcialiss

    contrleurs

    Partie puissance Composants discrets (Bip/Mos rsistance limitation courant) CI interface (Ponts en H intgrs, avec PWM, CNA....)

  • 7/22/2019 Commande_de_moteur Pas a Pas

    6/19

    Pas/demi pas/quart de pas

    taratata Pas entier :

    Un seul enroulement aliment chaque pas

    Deux enroulements aliments chaque pas (plus de couple)

  • 7/22/2019 Commande_de_moteur Pas a Pas

    7/19

    Pas/demi pas/quart de pas

    taratata Demi pas

    ! Variation importante de couple (Soit 1, soit 2 enroulements aliments)

  • 7/22/2019 Commande_de_moteur Pas a Pas

    8/19

    Pas/demi pas/quart de pas

    taratata Demi pas avec compensation de couple

    Mme cycle que prcdemment, mais i = 0.707 i0(sin /4) lorsque les deux

    enroulements sont aliments pour obtenir une force magntomotrice constante

    Ncessit dune rgulation de courant

    Sans compensation de couple Avec compensation de couple

  • 7/22/2019 Commande_de_moteur Pas a Pas

    9/19

    Pas/demi pas/quart de pas

    Quart de pas

    Mme cycle que prcdemment,

    en rajoutant des valeurs

    intermdiaires du courant

    Ncessit dun CNA

    Angle I/I0Phi A I/I0Phi B

    0 1 0

    22.5 0.924 0.383

    45 0.707 0.707

    67.5 0.383 0.924

    90 0 1

    112.5 -0.383 0.924

    135 -0.707 0.707

    157.5 -0.924 0.383

    180 -1 0

    202.5 -0.924 -0.383

    225 -0.707 -0.707

    247.5 -0.383 -0.924

    270 0 -1

    292.5 0.383 -0.924

    315 0.707 -0.707

    337.5 0.924 -0.383

  • 7/22/2019 Commande_de_moteur Pas a Pas

    10/19

    Pas/demi pas/quart de pas

    Les options possibles pour le DAC

    DAC standard , 4,8,12... bits

    Moins bonne rsolution nb quivalent

    Correction possible dangle par soft (non linarit dumoteurs)

    Composant hyper classiques

    DAC sinus , 3 ou 4 bits

    Excellente rsolution

    Mouton 5 pattes difficile dapprovisionnement

    Inutile desprer mieux que le 1/16 de pas sans

    correction logicielle

  • 7/22/2019 Commande_de_moteur Pas a Pas

    11/19

    Les circuits de commande

    Les ultra classiques SAA 1027 Unipolaire SAA 1024 Bipolaire L6506/L296 (ST)

    Les fabricants

    Alegro (le spcialiste en CNA sinus)

    Fairchild

    Mitsubishi

    NS

    PMD (Performance Motion Devices) ( produits trs spcifiques )

    ST

  • 7/22/2019 Commande_de_moteur Pas a Pas

    12/19

    Exemple de circuit de commande

    Cahier des charges

    Commande de moteur bipolaire

    3A 30V

    Commande pas entier huitime de pas

    Vitesses trs lente (qqs m/min)

    Affichage de la vitesse de translation

    Interface RS232

  • 7/22/2019 Commande_de_moteur Pas a Pas

    13/19

    Choix des circuits

    Pour la partie commande : contrleur pour grer linterface, le moteur,

    laffichage

    4+7+3 sorties cmd afficheurs et pts dcimaux

    2+2+2 entres butes, poussoirs, slection vitesse

    2*4 + 2 bits CNA et direction

    30 E/S + RS232 = 16F877

    Pour la partie puissance : Pont en H avec CNA 4bits intgr

    LMD18245 National semiconductor

  • 7/22/2019 Commande_de_moteur Pas a Pas

    14/19

    Prsentation du LMD18245

    3A, 55V DMOS Full-Bridge Motor Driver

  • 7/22/2019 Commande_de_moteur Pas a Pas

    15/19

    Schma gnral

    16F877Affichage 4digits

    7 segments#14

    Bts cmd

    Buttes#6

    MAX232#2

    2*LMD18245#10

  • 7/22/2019 Commande_de_moteur Pas a Pas

    16/19

    Code de commande moteur

    Rotation des phases et valeurs du courant dans

    un tableau de constantes

    Par exemple en pas entiers phase A

    0b000011110b00000000

    0b00001111

    0b00000000

    A chaque interruption timer on avance dun pasdans le tableau modulo 4,8,16 ou 32

  • 7/22/2019 Commande_de_moteur Pas a Pas

    17/19

    Code de commande moteur

    Fonction avance/recule dun pas

    void step(char dir)

    {

    static int16 pos = 0;

    int16 steps,indice;

    steps= microstep

  • 7/22/2019 Commande_de_moteur Pas a Pas

    18/19

    Code daffichage de vitesse

    Laffichage est multiplex

    Les valeurs correspondant aux segments

    allums pour chaque chiffre sont stockes

    dans des tableaux de constantes

    Opration en deux temps

    Calcul de la valeur de chaque digit

    Affichage de ces valeurs

  • 7/22/2019 Commande_de_moteur Pas a Pas

    19/19

    Code daffichage de vitesse

    Calcul des valeurs des 4 digitsanciennne_valeur=abs(valeur);

    reste=anciennne_valeur;

    for (i=0;i