Advertisement
Villalba2006

POST_28

Nov 25th, 2016
5,271
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.36 KB | None | 0 0
  1. /*  TITULO: Control manual 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/disminuyendo la velocidad de un motor DC según movamos el mando de un
  14.     potenciómetro conectado a la entrada analógica A0.
  15.        
  16.        
  17.     ESQUEMA DE CONEXION
  18.    
  19.                                       +-----+
  20.          +----[PWR]-------------------| USB |--+
  21.          |                            +-----+  |
  22.          |         GND/RST2  [ ][ ]            |
  23.          |       MOSI2/SCK2  [ ][ ]  A5/SCL[ ] |    
  24.          |          5V/MISO2 [ ][ ]  A4/SDA[ ] |    
  25.          |                             AREF[ ] |
  26.          |                              GND[ ] |
  27.          | [ ]N/C                    SCK/13[ ] |  
  28.          | [ ]IOREF                 MISO/12[ ] |  
  29.          | [ ]RST                   MOSI/11[ ]~|  
  30.          | [ ]3V3    +---+               10[ ]~|  
  31.          | [ ]5v    -| A |-               9[ ]~|  
  32.          | [ ]GND   -| R |-               8[ ] |    
  33.          | [ ]GND   -| D |-                    |
  34.          | [ ]Vin   -| U |-               7[ ] |  
  35.          |          -| I |-               6[ ]~|  
  36.     P2   | [ ]A0    -| N |-               5[ ]~|   IN3 (Driver L298N)
  37.          | [ ]A1    -| O |-               4[ ] |   IN4 (Driver L298N)
  38.          | [ ]A2     +---+           INT1/3[ ]~|   ENB (Driver L298N)
  39.          | [ ]A3                     INT0/2[ ] |  
  40.          | [ ]A4/SDA  RST SCK MISO     TX>1[ ] |  
  41.          | [ ]A5/SCL  [ ] [ ] [ ]      RX<0[ ] |  
  42.          |            [ ] [ ] [ ]              |
  43.          |  UNO_R3    GND MOSI 5V  ____________/
  44.           \_______________________/
  45.  
  46.   NOTAS:
  47.  
  48.    - Alimentación del driver L298N:
  49.      - VCC --> Positivo de la fuente regulable de tensión (entre 6-12V).
  50.      - GND --> Negativo de la fuente regulable de tensión y a GND de Arduino.
  51.    - Salida B del driver L298N:
  52.      - OUT3 --> Polo A del motor DC.
  53.      - OUT4 --> Polo B del motor DC.
  54.    - JUMPER de JP1(+5V) conectado y JUMPER de ENB desconectado.
  55.    - Utilizamos un potenciómetro lineal de 10K ohms.
  56.    - Denomínamos a los terminales del potenciómetro como P1, P2 y P3 (donde P2 es el terminal central).    
  57.      - P1 conectado a VCC.
  58.      - P3 conectado a GND.    
  59. */
  60.  
  61.  
  62.   int IN3 = 5; // Pin digital para IN3
  63.   int IN4 = 4; // Pin digital para IN4
  64.   int ENB = 3; // Pin digital con PWM para ENB
  65.  
  66.   // Variables internas de control
  67.   int velocidad = 0;
  68.   int potenciometro = 0;
  69.  
  70.   void setup()
  71.   {
  72.    pinMode (ENB, OUTPUT); // Pin digital 3 como salida
  73.    pinMode (IN3, OUTPUT); // Pin digital 5 como salida
  74.    pinMode (IN4, OUTPUT); // Pin digital 4 como salida
  75.    
  76.    // El motor gira siempre en el mismo sentido
  77.    digitalWrite (IN3, HIGH);
  78.    digitalWrite (IN4, LOW);
  79.   }
  80.  
  81.   void loop()
  82.   {
  83.     // Leemos el valor del potenciómetro (0-1023)
  84.     potenciometro = analogRead(A0);
  85.    
  86.     // Lo transformamos a velocidad (0-255)  
  87.     velocidad =  potenciometro/4;
  88.    
  89.     // Aplicamos la velocidad al pin ENB del motor
  90.     analogWrite(ENB,velocidad);
  91.   }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement