Está en la página 1de 7

Asignatura Microcontroladores y Lab.

Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

1. OBJETIVO (¿Qué quieres o deseas lograr u obtener como producto final en este
laboratorio?)

Determinar y verificar todos los elementos que se usan en el proyecto y su funcionamiento con los
microcontroladores mediante mikroC for Pic poniendo en práctica el lenguaje de programación ya
practicado y dando como resultado el funcionamiento del lenguaje programado y simulado de los
microcontroladores.

2. DESCRIPCION DEL FUNCIONAMIENTO (¿Qué debe realizar el circuito?)

El circuito es un laboratorio en el cual se está demostrando el funcionamiento y el manejo de los


motores DC con cambio de Giro pic demostrando el software en el simulador proteus.

3. CIRCUITO Y/O DISEÑO EN PROTOBOARD

1
Asignatura Microcontroladores y Lab.
Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

4. LISTA DE COMPONENTES

 1 PIC 18F4550
 1 Cristal de 20MHz
 1 switch
 1 Resistencias de 10K ohm
 4 motores DC
 Panel de switches
 Proteus
 Mikroc

5. EXPERIENCIAS ADQUIRIDAS
Pude implementar el circuito propuesto, este mostro que el PIC18F4550 puede comunicar mensajes
a través de los pines de comunicación RX y TX uno para la transmisión de datos y otro para la
recepción.
6. CONCLUSIONES
Puedo concluir que el uso del PIC16F4550 nos permite realizar proyectos con comunicación a otros
dispositivos externos y así crear una retroalimentación entre el dispositivo externo y el PIC.
7. RECOMENDACIONES
Recomendaría realizar el experimento en físico para observar el interconectado por el puerto
serie del PIC18F4550 y la reacción de los motores según el programa cargado en el PIC.

8. CODIGO FUENTE DE PROGRAMACION (solo para PICs y Arduino) (Impreso)

8. CODIGO FUENTE DE PROGRAMACION

void menuMostrar(void);
void opcionMenu(char opcion);

int motor1 = 0;
2
Asignatura Microcontroladores y Lab.
Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

int motor2 = 0;
int motor3 = 0;
int motor4 = 0;
int sentidoM1 = 1;
int sentidoM2 = 2;
int sentidoM3 = 1;
int sentidoM4 = 2;

int opcionIngresada = 1;

unsigned char receive;

void main()
{
ADCON1|=15;
CMCON|=7;
UART1_Init(9600); // Inicializando modulo UART en 9600bps
Delay_ms(100);
UART1_Write(13);
UART1_Write(13);
UART1_Write_Text("Comenzando UART...");
UART1_Write_Text(" ok. ");
UART1_Write(13); //Enter
UART1_Write_Text("Recibiendo datos del PIC...");
UART1_Write(13);
UART1_Write(13); //Enter
TRISA=0;
TRISB=0;
TRISD=15;
TRISC6_BIT=0;
TRISC7_BIT=1;
menuMostrar();

while(1)
{

if (UART1_Data_Ready() == 1) {
receive = UART1_Read();
opcionMenu(receive);
}
3
Asignatura Microcontroladores y Lab.
Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

if(motor1==1){
if(sentidoM1==1){
PORTB.RB0 = 0;
PORTA.RA0 = 1;
}else{
PORTA.RA0 = 0;
PORTB.RB0 = 1;
}
}else{
PORTB.RB0 = 0;
PORTA.RA0 = 0;
}

if(motor2==1){
if(sentidoM2==1){
PORTB.RB1 = 0;
PORTA.RA1 = 1;
}else{
PORTA.RA1 = 0;
PORTB.RB1 = 1;
}
}else{
PORTB.RB1 = 0;
PORTA.RA1 = 0;
}

if(motor3==1){
if(sentidoM3==1){
PORTB.RB2 = 0;
PORTA.RA2 = 1;
}else{
PORTA.RA2 = 0;
PORTB.RB2 = 1;
}
}else{
PORTB.RB2 = 0;
PORTA.RA2 = 0;
}

if(motor4==1){
4
Asignatura Microcontroladores y Lab.
Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

if(sentidoM4==1){
PORTB.RB3 = 0;
PORTA.RA3 = 1;
}else{
PORTA.RA3 = 0;
PORTB.RB3 = 1;
}
}else{
PORTB.RB3 = 0;
PORTA.RA3 = 0;
}

Delay_ms(500);
}
}

void menuMostrar(){
UART1_Write_Text("1 - Giro en sentido Horario");
UART1_Write(13);
UART1_Write_Text("2 - Giro en sentido Antihorario");
UART1_Write(13);
UART1_Write_Text("Q - Encender Motor 1");
UART1_Write(13);
UART1_Write_Text("A - Apagar Motor 1");
UART1_Write(13);
UART1_Write_Text("W - Encender Motor 2");
UART1_Write(13);
UART1_Write_Text("S - Apagar Motor 2");
UART1_Write(13);
UART1_Write_Text("E - Encender Motor 3");
UART1_Write(13);
UART1_Write_Text("D - Apagar Motor 3");
UART1_Write(13);
UART1_Write_Text("R - Encender Motor 4");
UART1_Write(13);
UART1_Write_Text("F - Apagar Motor 4");
UART1_Write(13);
UART1_Write(13);
UART1_Write_Text("Ingrese Opción: ");
}
5
Asignatura Microcontroladores y Lab.
Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

void opcionMenu(char opcion){

UART1_Write(13);
UART1_Write(13);

UART1_Write_Text("Ahora seleccione el Motor...");


UART1_Write(13);
UART1_Write(13);
switch(opcion){
case'1':
sentidoM1 = 1;
sentidoM2 = 1;
sentidoM3 = 1;
sentidoM4 = 1;
UART1_Write_Text("Todos los motores con giro sentido Horario...");
break;
case'3':
sentidoM1 = 2;
sentidoM2 = 2;
sentidoM3 = 2;
sentidoM4 = 2;
UART1_Write_Text("Todos los motores con giro sentido AntiHorario...");
break;
case'Q':
if( (sentidoM1 == 1) && (motor1 == 1) ){
sentidoM1 = 2;
UART1_Write_Text("Motor 1 giro sentido Antihorario...");
}else{
sentidoM1 = 1;
UART1_Write_Text("Motor 1 giro sentido Horario...");
}
motor1 = 1;
break;
case'A': motor1 = 0; UART1_Write_Text("Motor 1 Apagado..."); break;
case'W':
if( (sentidoM2 == 1) && (motor2 == 1) ){
sentidoM2 = 2;
UART1_Write_Text("Motor 2 giro sentido Antihorario...");
}else{
sentidoM2 = 1;
6
Asignatura Microcontroladores y Lab.
Código de Laboratorio E3
Título de Laboratorio 402a.- Control de Motores DC desdde el PIC con cambio de GIRO
Estudiante Juan Carlos Ticona Quispe

UART1_Write_Text("Motor 2 giro sentido Horario...");


}
motor2 = 1;
break;
case'S': motor2 = 0; UART1_Write_Text("Motor 2 Apagado...");break;
case'E':
if( (sentidoM3 == 1) && (motor3 == 1) ){
sentidoM3 = 2;
UART1_Write_Text("Motor 3 giro sentido Antihorario...");
}else{
sentidoM3 = 1;
UART1_Write_Text("Motor 3 giro sentido Horario...");
}
motor3 = 1;
break;
case'D': motor3 = 0; UART1_Write_Text("Motor 3 Apagado...");break;
case'R':
if( (sentidoM4 == 1) && (motor4 == 1) ){
sentidoM4 = 2;
UART1_Write_Text("Motor 4 giro sentido Antihorario...");
}else{
sentidoM4 = 1;
UART1_Write_Text("Motor 4 giro sentido Horario...");
}
motor4 = 1;
break;
case'F': motor4 = 0; UART1_Write_Text("Motor 4 Apagado...");break;
}
UART1_Write(13);
UART1_Write(13);

menuMostrar();
return;
}

También podría gustarte

  • Carta Egreso
    Carta Egreso
    Documento1 página
    Carta Egreso
    Juan Carlos Ticona Quispe
    100% (1)
  • Resolucion Por El Metodo en Solver
    Resolucion Por El Metodo en Solver
    Documento1 página
    Resolucion Por El Metodo en Solver
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Manual para Satfinder
    Manual para Satfinder
    Documento4 páginas
    Manual para Satfinder
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • MONDONGO
    MONDONGO
    Documento2 páginas
    MONDONGO
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Catalogo Octubre
    Catalogo Octubre
    Documento32 páginas
    Catalogo Octubre
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Ejercicios Celdas
    Ejercicios Celdas
    Documento2 páginas
    Ejercicios Celdas
    Juan Carlos Ticona Quispe
    0% (1)
  • Internet CONTINENTAL
    Internet CONTINENTAL
    Documento30 páginas
    Internet CONTINENTAL
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Lab2am Tele1
    Lab2am Tele1
    Documento6 páginas
    Lab2am Tele1
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Satfinder
    Satfinder
    Documento6 páginas
    Satfinder
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • ADVERTENCIA
    ADVERTENCIA
    Documento13 páginas
    ADVERTENCIA
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Practica Economia
    Practica Economia
    Documento4 páginas
    Practica Economia
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Familia TTL
    Familia TTL
    Documento12 páginas
    Familia TTL
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Capa Presentación
    Capa Presentación
    Documento10 páginas
    Capa Presentación
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones
  • Que Es Un Sistema de Control Siso?
    Que Es Un Sistema de Control Siso?
    Documento4 páginas
    Que Es Un Sistema de Control Siso?
    Juan Carlos Ticona Quispe
    Aún no hay calificaciones