Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
17 de diciembre de 2010
Resumen
1
Índice
1. Introducción
1.1 Objetivo General
2. Marco Teórico
3. Propuesta
3.1 Arquitectura
4. Materiales y Métodos
5. Desarrollo
6. Pruebas y Resultados
7. Conclusiones
8. Referencias
2
1. Introducción
Al comprar cable en cualquier negocio, el vendedor lleva a cabo un control manual de este
utilizando sólo instrumentos simples, metro, cinta, pinzas, etc., sin embargo resulta tedioso estar
midiendo varios metros de cable y no es tan rápido hacerlo, además si se le olvida cuantos metros
llevaba tiene que volver a empezar la medición o en el peor de los casos dar una medida incorrecta
del cable que fue pedido.
2. Marco Teórico
Muchos procesos exigen el control de la fabricación de los diversos productos obtenidos. Los
procesos son muy variados y abarcan muchos tipos de productos.
Los instrumentos de medición y control han ido liberando al operario de su función de actuación
física directa y al mismo tiempo, le han permitido una labor única de supervisión y de vigilancia del
proceso; así mismo, gracias a los instrumentos a sido posible fabricar productos complejos en
condiciones estables de calidad y de características, condiciones que al operario le serían imposibles
o muy difíciles de conseguir, realizando exclusivamente un control manual.
Los procesos a controlar pueden dividirse ampliamente en dos categorías: procesos continuos y
procesos discontinuos. En ambos tipos, deben mantenerse en general las variables, bien en un valor
fijo, bien en un valor variable con el tiempo de acuerdo con una relación predeterminada, o bien
guardando una relación determinada con otra variable.
El sistema de control que permite este mantenimiento de las variables puede definirse como aquel
que compara el valor de la variable o condición a controlar con un valor deseado y toma una acción
de corrección de acuerdo con la desviación existente sin que el operario intervenga en absoluto.
El sistema de control exige pues, para que esta comparación y subsiguiente corrección sean
posibles, que se incluya una unidad de medida, una unidad de control y el propio proceso. Este
conjunto de unidades forman un bucle o lazo que recibe el nombre de bucle de control. El bucle
puede ser abierto o bien cerrado.
3
En ambos casos se observa que existen elementos definidos como el elemento de medida, el
transmisor, el controlador, el indicador, el registrador y el elemento final.
3. Propuesta
Debido a las enormes ventajas de los sistemas de control y automatización, se propone la
construcción de una herramienta que permita al vendedor medir y enrollar el cable pedido.
3.1 Arquitectura
4
A continuación se muestra el modelo de la herramienta para el enrollador automático:
5
4. Materiales y Métodos
Los materiales necesarios para el desarrollo del proyecto son los siguientes:
Se utilizo para poder transmitir movimiento circular a un carrete en el cual se enrolla el cable y el
encoder sirvió para conocer la posición de giro del motor y así poder tener una medición muy
aproximada al cable necesitado.
Puente H
Este controlador fue utilizado para controlar el sentido y velocidad del motor de CD.
Se utilizo para filtrar la salida del encoder y para que el microcontrolador pudiera detectar la señal
del encoder, una señal TTL.
PIC 16F887
Se utilizo para realizar diferentes operaciones como el control del puente H, del teclado matricial, la
pantalla LCD y el encoder.
Pantalla LCD
Se utilizo para visualizar los datos introductorios y como interfaz entre el usuario y el
microcontrolador.
6
5. Desarrollo
Para la construcción de esta herramienta se siguió la metodología propuesta en la figura 2.
#include
"D:\2010\otoño_2010\control_industrial\pic_c\prueba_encoder2.h"
#include <LCD.C>
#Byte PortB = 0x06 // Dirección del puerto B
double x = 0;
double cantx = 0;
double rq = 0;
int tempo;
int teclado(double y);
enum funcione{uno,dos,tres}; //enumera las variables de 0 - 1
void cantidad(double x1,double x2);
void prueba();
void enter(int selecc);
void inter();
#Int_Ext // Interrupción Externa por RB0:
Decodificación de Encoder.
Void IntRB0()
{
// CCS se encarga de desactiva automáticamente cualquier
interrupción.
// No hace falta guardar contextos de registros por que CCS se
encarga de hacerlo por ti.
7
}
// Al finalizar la interrupción CCS se encarga de volver a poner
automáticamente
// la badera INTF = 0 ---> borra la interrupción para poder
permitir la siguiente.
// No hemos de hacer nada por nuestra parte.
}
void main()
{
// TODO: USER CODE!!
int col=0;
int n_menu1 = 2;
int seleccion1=0;
Ext_Int_Edge(L_TO_H); // Inicialmente detectar interrupción
por flanco de subida.
Enable_Interrupts(Int_Ext); // Activar Interrupción Externa.
Enable_Interrupts(GLOBAL); // Interrupciones Generales Activadas.
setup_ccp1(CCP_PWM); // Configura CCP1 como PWM
lcd_init();
tempo=0xFF;
setup_timer_2(T2_DIV_BY_1,tempo,1); // Esta función inicializa el
timer2
set_pwm1_duty(0x00);
printf(lcd_putc,"\fPRUEBA ENCODER");
delay_ms(5000);
// set_pwm1_duty(0xb4);
cantx=2000;
if(col==1){
if(input(PIN_A4)){ //menu
seleccion1++;
delay_ms(300);
lcd_putc('\f');
}
}
if(seleccion1 > (n_menu1-1)){
seleccion1 = 0;
}
switch (seleccion1){
case 0:
lcd_gotoxy(1,1);
printf(lcd_putc,"SIS. INTERNA.");
break;
case 1:
lcd_gotoxy(1,1);
8
printf(lcd_putc,"SIS. INGLES");
break;
default:
break;
}
col=2;
output_low(PIN_B7);//row2
output_high(PIN_B3);//row2
if(col==2){
if(input(PIN_A4)){
enter(seleccion1);
delay_ms(300);
}
}
}while(true);
prueba();
}
void enter(int selecc){
lcd_putc('\f');
switch(selecc){
case uno:
inter();
break;
case dos:
prueba();
break;
default: break;
}
}
void prueba(){
x = 0;
rq=2000;
set_pwm1_duty(0xb4);
do{
printf(lcd_putc,"\fPulsos:%f ",x);
} While (true);
}
void inter(){
double z1,z2;
lcd_putc('\f');
lcd_gotoxy(1,1);
lcd_putc("Longitud-cm-:");//x
lcd_gotoxy(1,2);
lcd_putc("_");
z1=teclado(2);
z2=teclado(3);
cantidad(z1,z2);
rq=(cantx/8)*400;//pulsos requeridos
printf(lcd_putc,"\fPulsos: %f ",rq);
delay_ms(2000);
printf(lcd_putc,"\fLongitud:\n %f cm",cantx);
delay_ms(2000);
x=0;
printf(lcd_putc,"\fEspere");
9
set_pwm1_duty(0xB4);////AF
}
int teclado(double y)
{
int col=0;
int num=0;
do{
output_low(PIN_B7);
output_low(PIN_B2);
output_low(PIN_B3);
output_low(PIN_A5);
//delay_ms(3000);
output_low(PIN_A5);
output_high(PIN_B7);//row1
col=1;
if(col==1){
if(input(PIN_A1)){//col1
num=1;
lcd_putc('1');
delay_ms(300);
break;
}
if(input(PIN_A2)){//col2
num=2;
lcd_putc('2');
delay_ms(300);
break;
}
if(input(PIN_A3)){//col3
num=3;
lcd_putc('3');
delay_ms(300);
break;
}
}
col=2;
output_low(PIN_B7);//row1
output_high(PIN_B2);//row2
if(col==2){
if(input(PIN_A1)){//col1
num=4;
lcd_putc('4');
delay_ms(300);
break;
}
if(input(PIN_A2)){//col2
num=5;
lcd_putc('5');
delay_ms(300);
break;
}
if(input(PIN_A3)){//col3
num=6;
lcd_putc('6');
10
delay_ms(300);
break;
}
}
col=3;
output_low(PIN_B2);
output_high(PIN_B3);//
if(col==3){
if(input(PIN_A1)){//col1
num=7;
lcd_putc('7');
delay_ms(300);
break;
}
if(input(PIN_A2)){//col2
num=8;
lcd_putc('8');
delay_ms(300);
break;
}
if(input(PIN_A3)){//col3
num=9;
lcd_putc('9');
delay_ms(300);
break;
}
}
col=4;
output_low(PIN_B3);
output_high(PIN_A5);//
if(col==4){
if(input(PIN_A2)){//col2
num=0;
lcd_putc('0');
delay_ms(300);
break;
}
}
}
while(true);
return num;
}
void cantidad(double x1,double x2){ //funcion en donde se crea la
cantidad
cantx=x1*10.0+x2;
}
11
6. Pruebas y Resultados
El funcionamiento del sistema de control para enrollar cable fue probado para cinco medidas
diferentes. Los resultados mostrados en la tabla 1 servirán para la posterior validación de la
herramienta. Esta tabla presenta los valores obtenidos por la herramienta, para cada distancia pedida
por el usuario.
Medida deseada 11 cm 21 cm 31 cm 41 cm 51 cm
Prueba 1 12 21.6 31.8 41.4 51.7
Prueba 2 11.4 21.3 31.2 41.5 51.3
Prueba 3 11.8 21.8 31.7 41.8 51.5
Promedio de las
medidas obtenidas 11.73 21.57 31.57 41.57 51.50
Error 0.066 0.027 0.018 0.014 0.009
12
Figura 4b. Sistema de control para enrollar cable.
7. Conclusiones
El desarrollo de dicho proyecto propició una fuerte investigación y búsqueda de las necesidades con
las que se cuenta actualmente para poder controlar y automatizar el sistema para enrollar cable.
Analizando varias propuestas, optando por la mejor, tomando en cuenta el gasto económico y su
exactitud. Se realizó una búsqueda de proveedores encontrando las mejores opciones en precios y
características de los dispositivos.
Hay que tener en cuenta que aunque el armado y montado de la estructura de nuestro enrollador fue
un poco hechiza no represento mayor problema. El detalle se presento con el motor con encoder con
el que trabajamos ya que uno de sus canales no era funcional. Esto sin embargo, no fue de gran
problema ya que solo necesitábamos que el motor girara hacia un solo lado siempre.
El problema del proyecto fue que en un principio, al querer introducir una distancia de hilo al
hilador, este hilaba de más en cada ocasión y de diferentes valores a pesar del ser la misma distancia
introducida, por lo que se tuvo que analizar la lógica del programa y descubrir el detalle de por qué
pasaba eso. Ya de ahí se encontró el problema que era un error de programación y no mecánico. Ya
una vez solventado esto se pudo consolidar el hilador.
Con este diseño se genera un proyecto interesante e innovador, que sirve para enrollar cable de
manera muy precisa y rápida.
13
8. Referencias
14