Advertisement
Villalba2006

POST_27

Nov 25th, 2016
2,003
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.57 KB | None | 0 0
  1. /*  TITULO: Control automático de velocidad de un motor DC con el driver L298N.
  2.  
  3.     AUTOR:
  4.    
  5.     MARIANO DEL CAMPO GARCÍA (@2016) --> INGENIERO TÉCNICO INDUSTRIAL ESPECIALIDAD ELECTRÓNICA
  6.     - FACEBOOK: https://www.facebook.com/mariano.delcampogarcia
  7.     - TWITTER: https://twitter.com/MarianoCampoGa
  8.     - CORREO: marianodc83@gmail.com
  9.    
  10.    
  11.     DESCRIPCIÓN DEL PROGRAMA
  12.    
  13.     El programa va a ir aumentando la velocidad de un motor DC desde 0 hasta la máxima, y cuando llega
  14.     a la velocidad máxima se vuelve a repetir el proceso sucesivamente. La velocidad máxima la alcanza
  15.     el motor cuando se le está aplicando la tensión máxima entre sus dos polos, es decir, la que estamos
  16.     suministrando al driver mediante la fuente DC regulable (entre 6V y 12V).
  17.        
  18.        
  19.     ESQUEMA DE CONEXION
  20.    
  21.                                       +-----+
  22.          +----[PWR]-------------------| USB |--+
  23.          |                            +-----+  |
  24.          |         GND/RST2  [ ][ ]            |
  25.          |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |    
  26.          |          5V/MISO2 [ ][ ]  A4/SDA[ ] |    
  27.          |                             AREF[ ] |
  28.          |                              GND[ ] |
  29.          | [ ]N/C                    SCK/13[ ] |  
  30.          | [ ]IOREF                 MISO/12[ ] |  
  31.          | [ ]RST                   MOSI/11[ ]~|  
  32.          | [ ]3V3    +---+               10[ ]~|  
  33.          | [ ]5v    -| A |-               9[ ]~|  
  34.          | [ ]GND   -| R |-               8[ ] |    
  35.          | [ ]GND   -| D |-                    |
  36.          | [ ]Vin   -| U |-               7[ ] |  
  37.          |          -| I |-               6[ ]~|  
  38.          | [ ]A0    -| N |-               5[ ]~|   IN3 (Driver L298N)
  39.          | [ ]A1    -| O |-               4[ ] |   IN4 (Driver L298N)
  40.          | [ ]A2     +---+           INT1/3[ ]~|   ENB (Driver L298N)
  41.          | [ ]A3                     INT0/2[ ] |  
  42.          | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  43.          | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  44.          |            [ ] [ ] [ ]              |
  45.          |  UNO_R3    GND MOSI 5V  ____________/
  46.           \_______________________/
  47.  
  48.   NOTAS:
  49.  
  50.    - Alimentación del driver L298N:
  51.      - VCC --> Positivo de la fuente regulable de tensión (entre 6-12V).
  52.      - GND --> Negativo de la fuente regulable de tensión y a GND de Arduino.
  53.    - Salida B del driver L298N:
  54.      - OUT3 --> Polo A del motor DC.
  55.      - OUT4 --> Polo B del motor DC.
  56.    - JUMPER de JP1(+5V) conectado y JUMPER de ENB desconectado.
  57. */
  58.  
  59.  
  60.   int IN3 = 5; // Pin digital para IN3
  61.   int IN4 = 4; // Pin digital para IN4
  62.   int ENB = 3; // Pin digital con PWM para ENB
  63.  
  64.   void setup()
  65.   {
  66.    pinMode (ENB, OUTPUT); // Pin digital 3 como salida
  67.    pinMode (IN3, OUTPUT); // Pin digital 5 como salida
  68.    pinMode (IN4, OUTPUT); // Pin digital 4 como salida
  69.    
  70.    // El motor gira siempre en el mismo sentido
  71.    digitalWrite (IN3, HIGH);
  72.    digitalWrite (IN4, LOW);
  73.   }
  74.  
  75.   void loop()
  76.   {
  77.     // Aplicamos el pulso PWM al pin ENB, haciendo girar el motor, cada segundo aumenta la velocidad
  78.     // Motor parado
  79.     analogWrite(ENB,0);
  80.     delay(1000);
  81.     analogWrite(ENB,32);
  82.     delay(1000);
  83.     analogWrite(ENB,64);
  84.     delay(1000);
  85.     analogWrite(ENB,96);
  86.     delay(1000);    
  87.     analogWrite(ENB,127);
  88.     delay(1000);
  89.     analogWrite(ENB,159);
  90.     delay(1000);
  91.     analogWrite(ENB,191);
  92.     delay(1000);
  93.     analogWrite(ENB,223);
  94.     delay(1000);
  95.     // Motor a velocidad máxima
  96.     analogWrite(ENB,255);
  97.     delay(1000);
  98.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement