You are on page 1of 4

INSTITUTO TECNOLÓGICO

SUPERIOR DE XALAPA
Requerimiento: 8.3 MANUAL DE PRÁCTICAS

Asignatura (Clave y nombre)* (SCD-1023) SISTEMAS PROGRAMABLES


Carrera* Ingeniería en Sistemas Unidad* 3y4
Computacionales
CONTROL DE UN MOTOR DE CC CON TRANSISTOR
Bibliografía  ARDUINO: APLICACIONES EN ROBÓTICA,
MECATRÓNICA E INGENIERÍAS, Fernando Reyes Cortes;
Jaime Cid Monjaraz,Editorial MARCOMBO, S.A. ISBN
9788426722041
 TALLER DE ARDUINO: UN ENFOQUE PRÁCTICO PARA
PRINCIPIANTES German Tojeiro Calaza, Editorial
MARCOMBO, S.A. ISBN 9788426721501

1 INTRODUCCIÓN:

Con este ejemplo vamos a controlar la velocidad de un motor de cc mediante la utilización de


un transistor BD137. Se trata de utilizar la posibilidad de enviar una señal de PWM a una de
las salidas configurables como salidas analógicas.

La tensión que sacaremos a la salida 10 (analógica tipo PWM) variara en forma de rampa
ascendente y descendente de manera cíclica tal como vemos en la figura. Este efecto lo
conseguimos con una estructura del tipo for:

for(valor = 0 ; valor <= 255; valor +=5) (ascendente)


for(valor = 255; valor >=0; valor -=5) (descendente)

Obsérvese que los incrementos del valor de la tensión van de 5 en 5 y tenemos que considerar
que 0v equivale a 0 y 5 v. equivale a 255.

2 OBJETIVO:

Al finalizar esta práctica el estudiante deberá ser capaz de:

Ver.00/07/16 F-DC-04
INSTITUTO TECNOLÓGICO
SUPERIOR DE XALAPA
Requerimiento: 8.3 MANUAL DE PRÁCTICAS

- Desarrollar una aplicación en C para implementar un sistema controlador de


motor de cc.

3 MATERIAL Y EQUIPO REQUERIDO


 Protoboard Computadora con
 Cable de comunicación serial software Arduino
 1 motor de cc de bajo consumo  Tarjeta Arduino UNO
 1 potenciómetro de 10 Kohms
 1 transistor BD 135, BD137 o
equivalente
 1 Diodo 1N4001
 1 resistencia de 1 Kohm

4 METODOLOGÍA

1ª Parte, sección de exploración:

A continuación encontramos el circuito que se debe implementar.

Ver.00/07/16 F-DC-04
INSTITUTO TECNOLÓGICO
SUPERIOR DE XALAPA
Requerimiento: 8.3 MANUAL DE PRÁCTICAS

A continuación encontramos el código necesario para poder realizar la función


especificada. Primeramente definiremos las variables globales de nuestro
programa, indicando los pines de entrada y salida.

int valor = 0; // variable que contiene el valor a sacar por el terminal analógico
int motor = 10; // motor conectado al PIN 10

Posteriormente definiremos la sección de inicialización de la tarjeta Arduino, indicando


puertos de entrada y salida, en este caso se quedará vacío porque no requerimos definir los
puertos.

void setup( ) {
}

Finalmente definimos el proceso que se ejecutará continuamente en el controlador

void loop( ){
for(valor = 0 ; valor <= 255; valor +=5) {
// se genera una rampa de subida de tensión de 0 a 255 es decir de 0 a 5v
analogWrite(motor, valor);
delay(30); // espera 30 ms para que el efecto sea visible
}
for(valor = 255; valor >=0; valor -=5) {
// se genera una rampa de bajada de tensión de 255 a 0 es decir de 5 a 0v
analogWrite(motor, valor);
delay(30);
}
}

2ª parte: Modificación e implementación.

A partir de lo aprendido en la sección anterior modifica el circuito de la siguiente


manera:
 Conecta un potenciómetro al puerto analógico 2.

Ahora modifica el programa para que se lleve a cabo la siguiente funcionalidad:


Mediante el potenciómetro variar la velocidad del motor.

5. RESULTADOS

Elaboró Verificó

Omar Alba Hernández Omar Alba Hernández

Ver.00/07/16 F-DC-04
INSTITUTO TECNOLÓGICO
SUPERIOR DE XALAPA
Requerimiento: 8.3 MANUAL DE PRÁCTICAS

Nombre y firma del (la) docente Nombre y firma de la


jefatura de carrera

Ver.00/07/16 F-DC-04

You might also like