Practica 2 E/S en un Microcontrolador
Introducción
Es fundamental comprender y saber cómo es que se maneja y controla un motor paso a paso y un relevador con microcontroladores como en este caso el uso de Arduino, este tipo de prácticas no solo es fundamental y necesario las conexiones físicas y exactas para un buen funcionamiento pero no solo necesita eso si no también de una programación compleja y específica para realizar las diferentes automatizaciones o tareas que cada uno puede asignarle tomando en cuenta sus limitantes, en esta práctica se encuentra el reporte donde se habla del uso de relevadores para el control de corriente, y del motor paso a paso para movimientos precisos y exactos
1.1. Objetivo(s)
• El estudiante manipula los puertos del microcontrolador mediante programación y pruebas, para diseñar y entender sistemas embebidos funcionales. • Identificación de principios físicos y leyes que relaciona variables de interés mensurable y las características, formas y materiales con que se construyen los diferentes tipos de actuadores. • Análisis y programación de la activación de un servomotor y motorPAP mediante los temporizadores del microcontrolador. Ensamble de circuito respectivo • Implementación de circuito de adecuación entre actuadores y microcontroladores utilizando drivers
.
Relevador
Pasos:
Conexión
del relevador:
·
Verifica las especificaciones del relevador
para determinar los pines de conexión. Normalmente, tendrás dos pines para la
bobina (control) y dos para los contactos (comúnmente NO, NC y COM).
·
Conecta uno de los pines de la bobina del
relevador a un pin digital del Arduino (por ejemplo, pin 7).
·
Conecta el otro pin de la bobina del relevador
a tierra (GND) del Arduino.
·
Si es necesario, coloca una resistencia entre
el pin digital del Arduino y el pin de la bobina para limitar la corriente
(sobre todo si el relevador consume más corriente de la que puede manejar
directamente el Arduino).
Programación:
Abre
el Arduino IDE en tu computadora.
Escribe
un programa sencillo para activar y desactivar el relevador. Por ejemplo:
Este
programa hará que el relevador se active durante un segundo y luego se
desactive durante otro segundo.
Prueba:
Conecta
tu Arduino a la computadora y carga el programa.
Observa
el relevador para verificar que se active y desactive como se espera. Puedes
escuchar el clic del relevador al activarse.
Simulación del circuito con el programa incluido en Tinkercad
Para
realizar esta practica necesitamos una fuente de poder, una bombilla y un
relevador, en donde es importante reconocer las terminales del relevador.
En la
terminal 5 del relevador, estará ubicada en el pin 7.
La
terminal 6 estará conectada al Arduino lo cual es nuestra tierra (GND).
Los 5V estarán sobre la terminal 1 del relevador, así mismo con la fuente se podrá visualizar si se estan alimentando de forma correcta y así también pasar a la bombilla.
Una vez verificado, se observa la bombilla y se prende y apaga en un segundo, prueba en imágenes de la simulación.
MOTOR PASO A PASO
Conexiones:
- Arduino
a Protoboard:
- El
pin 5V del Arduino está conectado a la parte roja del protoboard
- El
pin GND está conectado a la línea de tierra en color azul
- L293N a Protoboard:
- Las
entradas del controlador (IN1, IN2, IN3, IN4) están conectadas a los
pines del Arduino en este caso son (8,9,10,11)
- Para
poder darle corriente al L298N se hace un puente desde su VCC a la línea
roja
- La
tierra del L293N está conectada a la línea azul
- Motor
paso a paso a L293N:
- El motor
paso a paso está conectadas a las salidas del L293N (OUT1, OUT2, OUT3,
OUT4).
- Batería
de 9V a Protoboard:
- El lado
positivo de la batería está conectado a la línea roja del protoboar
- El
lado negativo de la batería está conectado a la línea de tierra de color
azul
Se implementó un código diferente a la práctica ya que no se podría realizar por las diferencias en el simulador, en este caso se sustituyó por un código que su función principal es marcar dentro del monitor la velocidad del motor
Ahora explicaremos el código
#include <Stepper.h> // Incluye la biblioteca Stepper
para controlar el motor paso a paso
const int stepsPerRevolution = 120; // Define el número de
pasos por revolución del motor
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
int stepCount = 0; // Variable para contar los pasos dados
por el motor
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorReading =
analogRead(A0);
int motorSpeed =
map(sensorReading, 0, 1023, 0, 250); // Mapea el valor del sensor a un rango de
velocidad del motor
if (motorSpeed >
0) { // Si la velocidad del motor es mayor que 0
myStepper.setSpeed(motorSpeed); // Establece la velocidad del motor
myStepper.step(stepsPerRevolution / 100); // Mueve el motor una fracción
de una revolución
Serial.println(sensorReading); // Imprime el valor del sensor en el
monitor serie
}
Comentarios
Publicar un comentario