<?xml version="1.0" encoding="UTF-8"?>
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:svg="http://www.w3.org/2000/svg" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook" version="5.0-subset Scilab" xml:id="DCMOTOR_SB"> 
<refnamediv>
  <refname>DCMOTOR_SB</refname>
  <refpurpose>Permet de piloter un hacheur (relié à un moteur)</refpurpose> 
</refnamediv>
<refsection>
  <title>Aperçu</title>
    <para>
       <inlinemediaobject>
          <imageobject>
             <imagedata fileref="../../images/gif/DCMOTOR_SB.gif" align="center" valign="middle"/>
          </imageobject>
       </inlinemediaobject>
    </para>
</refsection>
<refsection id="Contents_DCMOTOR_SB">
  <title>Contenu</title>
  <itemizedlist>
    <listitem>
      <para>
        <link linkend="DCMOTOR_SB">Permet de piloter un hacheur (relié à un moteur)</link>
      </para>
    </listitem>
    <listitem>
      <itemizedlist>
        <listitem>
          <para>
            <xref linkend="Palette_DCMOTOR_SB">Palette</xref>
          </para>
        </listitem>
        <listitem>
          <para>
            <xref linkend="Description_DCMOTOR_SB">Description</xref>
          </para>
        </listitem>
        <listitem>
          <para>
            <xref linkend="Dialogbox_DCMOTOR_SB">Boite de dialogue</xref>
          </para>
        </listitem>
        <listitem>
          <para>
            <xref linkend="Example1_DCMOTOR_SB">Exemple 1</xref>
          </para>
        </listitem>
        <listitem>
          <para>
            <xref linkend="Seealso_DCMOTOR_SB">Voir aussi</xref>
          </para>
        </listitem>
      </itemizedlist>
    </listitem>
  </itemizedlist>
</refsection>  
<refsection id="Palette_DCMOTOR_SB">
  <title>Palette</title>
Arduino
</refsection>
<refsection id="Description_DCMOTOR_SB">
  <title>Description</title>
<para> Le bloc DCMOTOR permet de piloter 1 ou plusieurs moteurs à courant continu. La carte Arduino ne délivre pas suffisamment de puissance, c'est pourquoi il est nécessaire d'utiliser un préactionneur de type hacheur en amont du moteur. Il existe plusieurs types de hacheurs qui ne fonctionnent pas tous selon le même principe. Le L298 nécessite par exemple l'utilisation d'un PWM et d'un signal logique spécifiant le sens. Le L293 utilise deux PWM pour spécifier la vitesse et le sens. Des cartes prêtes à l'emploi sont également disponibles. </para>
<para> C'est pourquoi le bloc permet de choisir le type de carte ou de hacheur utilisé et en fonction du choix, un menu propose de spécifier les caractéristiques de chaque composant (numéro des ports utilisés ou bien numéro du moteur...) </para>
<para> On rappelle que le PWM est codé sur 8 bits (de 0 à 255).  </para>
<para> Cependant en entrée du bloc, il est possible d'entrer un nombre positif ou négatif quelconque, une saturation logicielle à +- 255 est integrée dans la définition du bloc. </para>
<para> On rappelle que l'échantillonnage est de 8 ms au minimum pour ce bloc. </para>

</refsection>
<refsection id="Dialogbox_DCMOTOR_SB">
  <title>Boite de dialogue</title>

<para> Le bloc propose deux menus.  </para>
<para> Le premier permet de choisir le type de carte utilisé :  </para>
<para> 1 pour la carte officielle Motorshield Reverse 3 disponible sur le site arduino.cc,  </para>
<para> 2 pour un hacheur L298 utilisant un PWM et un sens,  </para>
<para> 3 pour un hacheur L293 utilisant deux PWM </para>
<para> Le numéro de la carte ne peut pas être modifié pour l'instant. </para>
<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>

<para> Le second menu est spécifique au type de carte retenue </para>
<para> Pour la carte Motorshield on renseigne le numéro 1 ou 2 pour le moteur A ou B </para>
<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox2.png" align="center"/> </imageobject> </inlinemediaobject>
<para> Pour le L298, on renseigne le numéro du port de spécification du sens (n'importe quel port digital), le numéro du port PWM pour la vitesse (3,5,6,9,10,11) et le numéro du moteur piloté (limité de 1 à 4) </para>
<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox3.png" align="center"/> </imageobject> </inlinemediaobject>
<para> Pour le L293, on renseigne les numéros des 2 PWM et le numéro du moteur (de 1 à 3) </para>
<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_SB_dialogbox1.png" align="center"/> </imageobject> </inlinemediaobject>

</refsection>
<refsection id="Example1_DCMOTOR_SB">
  <title>Exemple 1</title>
<para> L'exemple ci-dessous montre l'utilisation du bloc moteur associé à un potentiomètre. Lorsque le potentiomètre est en position médiane, le moteur ne tourne pas tandis que lorsque le potentiomètre est tourné dans un sens ou dans l'autre, le moteur tourne plus ou moins vite dans un sens ou dans l'autre.  </para>
<para> Un gain d'adaptation a été utilisé pour convertir les données numériques codées sur 10 bits et l'entrée moteur codée sur 8 bits. </para>
<inlinemediaobject> <imageobject> <imagedata fileref="DCMOTOR_exemple.png" align="center"/> </imageobject> </inlinemediaobject>

</refsection>
<refsection id="Seealso_DCMOTOR_SB">
  <title>Voir aussi</title>
      <para>
        <link linkend="ENCODER_SB">ENCODER_SB</link>
      </para>
      <para>
        <link linkend="SERVO_WRITE_SB">SERVO_WRITE_SB</link>
      </para>
</refsection>
</refentry>
