Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCION
Un robot taladro es una entidad virtual o mecnica artificial, que por lo general es un
sistema electromecnico que, por su apariencia o sus movimientos prismticos sobre
ejes cartesianos, ofrece la sensacin de tener un propsito propio, es decir realizar
perforaciones de forma automtica sobre un material metlico o de madera, siguiendo
una serie de coordenadas, donde la independencia creada en sus movimientos hace
que sus acciones sean la razn de un estudio razonable y profundo en el rea de la
ciencia y tecnologa.
El diseo y construccin de un robot taladro debe constar de mecanismos deslizantes
en los ejes x, y, z, los cuales para su correcto funcionamiento requieren de
mecanismos reductores que hagan uso de poleas y cajas de engranajes, tambin de
tornillos de potencia para convertir giros angulares en desplazamientos lineales, para
que as, se pueda dar el par y torque necesario a la hora de desplazar la carga por los
ejes respectivos siguiendo unas coordenadas establecidas en una interfaz hombremquina.
La construccin de un robot taladro permite dar apertura a una serie de aplicaciones
en el rea de la metalmecnica, ya que la mayora de los repuestos para; automviles,
motos y dems artefactos, hacen uso de repuestos que son fabricados de lminas de
metal blando, especialmente aquellas que son de aluminio, como por ejemplo las
juntas de culata o empaquetaduras, las cuales existen infinidad de modelos y diseos
adecuados a los modelos de automviles y motos, razn por la cual el diseo de un
robot taladro controlado por computador porttil, permite adecuar el sistema a la
fabricacin de diseos estndares, siguiendo un cambio en la programacin del
sistema, mediante manipulacin de software para llevar a cabo tal fin.
CAPTULO I
Descripcin
El taladro es una mquina herramienta o Instrumento que sirve para hacer agujeros en
cualquier tipo de material; posee una broca que consiste en una barra metlica con un
extremo cortante de uno o ms filos y con una hendidura helicoidal que recorre la
barra desde el filo, para desalojar la viruta que se arranca durante el corte. Tiene dos
movimientos: El de rotacin de la broca, que le imprime el motor elctrico de la
mquina y el de avance de penetracin de la broca.
Las brocas vienen en diferentes formas para adecuarse a cada material, las que vienen
en forma helicoidal, se utilizan para cavar la madera y las que tienen una plaquita en
la punta de metal duro, se utilizan para concreto y no se pueden utilizar para madera,
las brocas para metales estn hechas de acero rpido (HSS), aunque la calidad vara
segn la aleacin y segn el mtodo y calidad de fabricacin. El taladro esta
compuesto por; porta broca, broca, llave de broca, gatillo interruptor, selector de
velocidad.
La propuesta es disear un robot taladro, que realice trayectorias prismticas (x, y, z),
y que a su vez permita realizar orificios sucesivos en materiales metlicos tales como;
laminas de aluminio,
Bsicamente este software permite al usuario realizar un mapeo del rea de trabajo,
donde el mismo operario en s, ubique en un computador porttil, los agujeros a
realizar, y luego de esto se permita realizar el trabajo.
Objetivos de la Investigacin
Objetivo General
Objetivos Especficos
o
o
o
o
o
o
o
o
o
Justificacin
La importancia o las razones que motivan, para llevar a cabo esta investigacin,
radica en que el operario realice un taladrado de chapa metlica con seguridad y
comodidad, haciendo posible que el trabajo repetitivo de agujerear, sea para la
maquina automtica y no para el operador. Esto hace posible sustituir la mano de obra
para tener una higiene y seguridad a la hora de taladrar y adems de ello tener una
buena precisin.
Para la automatizacin del robot cartesiano, hay que destacar que la implicacin
practica esta en la optimizacin de la interfaz del sistema con el computador porttil,
para garantizar la buena ejecucin del trabajo de taladrado que el operario desea.
La primera fase, para el proyecto, radica en el diseo del sistema mecnico, dicho
diseo fue clave para la construccin de los dispositivos deslizantes y de la estructura
como tal, lo cual permiti la creacin de los mdulos del sistema, los cuales efectan
el movimiento respectivo del robot mediante la implementacin del mdulo de
software.
Alcances
10
El dimensionamiento general del sistema quedo lo mas acoplado posible, a los rieles
que lo desplazaran, a los mecanismos de transmisin, y al cabezal revolver lo que le
permite dar un desplazamiento lineal, angular y sin dificultades.
Limitaciones
11
CAPTULO II
12
MARCO TERICO
Antecedentes
13
Por otro lado Herrera A. Daniel y Yung H. Liang; (2011). Realizaron un proyecto
Titulado: Diseo y Construccin de una Maquina para la Elaboracin de Circuitos
Impresos basado en el Control Numrico Computarizado. De la Escuela Politcnica
Nacional Facultad de Ingeniera Elctrica y Electrnica. Ecuador-Quito. Plantea que
el proyecto fue desarrollado con el propsito de crear un sistema alternativo en la
creacin de tarjetas pcb mediante una maquina fresadora por Control Numrico
Computarizado, se elabora un software y HMI a travs de Instruments Labview 2009,
se genera un cdigo CNC necesario para coordinar los movimientos de fresado y
perforado a partir de un imagen importada en formato .jpg o png de cualquier
software de diseo de circuitos impresos bajo una resolucin recomendada, con base
a la situacin descrita, cabe destacar que el trabajo de investigacin presento un gran
aporte al proyecto, en este caso el aporte estuvo ms centrado en el software ya que
permiti conocer una herramienta distinta para l envi de datos a la maquina donde a
partir de una imagen importada de cualquier
electrnicos se pueden enviar los datos a la maquina utilizando una interfaz con
Labview que convierte dicha imagen a cdigo CNC.
14
Bases Tericas
Taladradora revolver
15
Robot cartesiano
Los movimientos que realiza este robot entre un punto y otro son con base en
interpolaciones lineales. Interpolacin, en este caso, significa el tipo de trayectoria
que realiza el manipulador cuando se desplaza entre un punto y otro.
16
Fuente:http:/
/www.profeso
res.frc.utn.ed
u.ar (2013)
Interfaz
HMI
[pgina
web
en
lnea]
disponible
Taladrado
17
sencilla, si el operario trabaja con las herramientas adecuadas. El taladrado a sido una
de las operaciones por arranque de viruta ms importante a nivel mundial,
actualmente representan un 30 por ciento de participacin en todas las operaciones de
corte de metales.
Motor universal
Henrquez Harper. (2004), El ABC de las maquinas elctricas II, El motor universal
es un tipo de motor que puede ser alimentado con corriente alterna o con corriente
continua, es indistinto. Sus caractersticas principales no varan significativamente,
sean alimentados de una forma u otra. Por regla general, se utilizan con corriente
alterna. Tambin los encontrareis con el sobrenombre de motor monofsico, este tipo
de motor se puede encontrar tanto para una mquina de afeitar como para una
locomotora, esto da una idea del margen de potencia en que pueden llegar a ser
construidos.
Figura No3 Motor universal
Fuente: http://www.alibaba.com/(2013)
18
Broca
Luisa Fernanda Castro Patio., 2009. En la revista metal actual, paginas 50-51. Una
broca es una herramienta de corte rotatoria que tiene uno o ms bordes de corte y
canales que se extienden a lo largo de su cuerpo. Las canales o ranuras tienen forma
de hlice y sirven para evacuar las virutas que se forman durante el proceso de
taladrado y para el paso del fluido de corte (refrigerante).
Fuente: http://www.metalactual.com/revista/13/herramientas_brocas(2013)
19
20
dos, poseen hasta tres y cuatro gavilanes o cinceles de corte, los cuales
permiten que el operario pueda aumentar el avance por revolucin, a fin que
se puedan realizar ms agujeros en menos tiempo.
o Brocas de dimetros mltiples: sirven para realizar dos o tres agujeros en un
slo punto, se utilizan en industrias
de
grandes
producciones, pues
Chapa de Aluminio
Segn
web
en
lnea]
Chapa galvanizada
web
en
lnea] disponible
www.docstoc.com [consulta 2013 febrero 05], las chapas galvanizadas son chapas de
acero sin aleacin o de baja aleacin laminadas en fro y galvanizadas en caliente por
ambas caras, por medio de un proceso continuo de inmersin en un bao de zinc
fundido. El revestimiento de zinc producido en el proceso de galvanizacin aumenta
la resistencia a la corrosin del acero tanto por efecto barrera como por proteccin
catdica de sacrificio.
21
Fuente:http://www.hierrosparrotta.com/chapas/Chapas_Galvanizadas_3.html
Lquido Refrigerante
web
en
lnea]
fileteado
de
rosca
control
numrico.
22
Fuente: www.productosquimicosmexico.com
Maquina CNC
23
Microcontrolador
o
o
o
o
o
Digital/Analgico, etc.).
o Generador de impulsos de reloj que sincronizan el funcionamiento de todo el
sistema.
24
Fuente: http://perso.wanadoo.es/pictob/micropic.htm
El procesador o UCP
25
26
Memoria
La RAM en estos dispositivos es de poca capacidad pues slo debe contener las
variables y los cambios de informacin que se produzcan en el transcurso del
programa. Por otra parte, como slo existe un programa activo, no se requiere guardar
una copia del mismo en la RAM pues se ejecuta directamente desde la ROM.
Los usuarios de computadores personales estn habituados a manejar Megabytes de
memoria, pero, los diseadores con microcontroladores trabajan con capacidades de
ROM comprendidas entre 512 bytes y 8 k bytes y de RAM comprendidas entre 20 y
27
512 bytes.
Segn el tipo de memoria ROM que dispongan los microcontroladores, la aplicacin
y utilizacin de los mismos es diferente.
o Otp
El microcontrolador contiene una memoria no voltil de slo lectura "programable
una sola vez" por el usuario. OTP (One Time Programable). Es el usuario quien
puede escribir el programa en el chip mediante un sencillo grabador controlado por
un programa desde una computadora.
o Eprom
Los microcontroladores que disponen de esta memoria, pueden borrarse y grabarse
muchas veces. La grabacin se realiza, como en el caso de los OTP, con un grabador
gobernado desde un computador. Si, posteriormente, se desea borrar el contenido, se
28
o Eeprom
29
Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar.
Funciona como una ROM y una RAM pero consume menos y es ms pequea.
A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms
rpida y de mayor densidad que la EEPROM.
Reloj principal
30
Todos los microcontroladores disponen de un circuito oscilador que genera una onda
cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la
sincronizacin de todas las operaciones del sistema.
o
o
o
o
o
o
o
o
o
o
Temporizadores o "Timers".
Perro guardin o "Watchdog".
Proteccin ante fallo de alimentacin o "Brownout".
Estado de reposo o de bajo consumo.
Conversor A/D.
Conversor D/A.
Comparador analgico.
Modulador de anchura de impulsos o PWM.
Puertas de E/S digitales.
Puertas de comunicacin.
Temporizadores o "Timers"
31
Cuando el computador personal se bloquea por un fallo del software u otra causa, se
pulsa el botn del reset y se reinicializa el sistema. Pero un microcontrolador
funciona sin el control de un supervisor y de forma continuada las 24 horas del da. El
Perro guardin consiste en un temporizador que, cuando se desborda y pasa por 0,
provoca un reset automticamente en el sistema.
Se debe disear el programa de trabajo que controla la tarea de forma que refresque o
inicialice al Perro guardin antes de que provoque el reset. Si falla el programa o se
bloquea, no se refrescar al Perro guardin y, al completar su temporizacin, "ladrar
y ladrar" hasta provocar el reset.
32
Conversor A/D
Suelen disponer de un multiplexor que permite aplicar a la entrada del CAD diversas
seales analgicas desde las patitas del circuito integrado.
Comparador analgico
33
34
35
Sensor
36
Comprobacin
Ejemplos
37
-Conectar un final de carrera a un rel de forma que cuando este acte, de tensin a
un rel y ponga en marcha un motor
-Realizar la deteccin de posicin mxima y mnima en una taladradora industrial.
Encoders
38
Fuente: http://www.nxtorm.es/analogicos/sa-o-encoder-para-NXT.html
o Encoder incremental
La seal de salida se transmite por un hilo en el que se transmite un pulso por cada
ngulo girado, de tal forma que si tenemos un encoder de 1000 ppr, tendremos un
pulso por cada 360/1000= 0,360. El inconveniente es que no disponemos de una
referencia absoluta de la posicin en la que se encuentra el eje.
39
Fuente: http://www.todopic.com.ar
o Encoder absoluto
40
Fuente: www.lra.unileon.es/es/book/export/html/320
Mecanismos de transmisin
41
42
La relacin entre las velocidades de giro de las ruedas depende del nmero de dientes
de cada una de ellas.
V1 D1 = V2
D2 D1 / D2
= V2 / V1
Fuente: www.tecnollicum.wikispaces.com
43
(2013)
[pgina
web
en lnea] disponible
www.todorobot.com.ar [Consulta 2013 febrero 11], los motores paso a paso son
ideales para la construccin de mecanismos en donde se requieren movimientos muy
precisos.
Estos motores poseen la habilidad de poder quedar enclavados en una posicin o bien
totalmente libres. Si una o ms de sus bobinas est energizada, el motor estar
enclavado en la posicin correspondiente y por el contrario quedar completamente
libre si no circula corriente por ninguna de sus bobinas, los motores P-P del tipo de
imn permanente son los ms usados en robtica.
44
Fuente: http://www.todorobot.com.ar
Bipolar: Estos tiene generalmente cuatro cables de salida. Necesitan ciertos trucos
para ser controlados, debido a que requieren del cambio de direccin del flujo de
corriente a travs de las bobinas en la secuencia apropiada para realizar un
movimiento.
45
Fuente: http://www.todorobot.com.ar
46
Fuente: http://www.todorobot.com.ar
47
Fuente: http://www.todorobot.com.ar
Electro vlvula
48
49
estos cojinetes no necesitan lubricacin, ya que las bolas o rodillos ruedan sin
deslizamiento dentro de una pista. Sin embargo, como la velocidad de giro del eje no
es nunca exactamente constante, las pequeas aceleraciones producidas por las
fluctuaciones de velocidad producen un deslizamiento relativo entre bola y pista.
Este deslizamiento genera calor. Para disminuir esta friccin se lubrica el rodamiento
creando una pelcula de lubricante entre las bolas y la pista de rodadura.
Las bolas, en su trayectoria circular, estn sometidas alternativamente a cargas y
descargas, lo que produce deformaciones alternantes, que a su vez provocan un calor
de histresis que habr que eliminar. Dependiendo de estas cargas, el cojinete se
lubricar simplemente por grasa o por bao de aceite, que tiene mayor capacidad de
disipacin de calor.
50
Aprendemos
tecnologa
(2013)
[pgina
web
en
lnea]
disponible
El funcionamiento es muy simple: por cada vuelta del tornillo, el engranaje gira un
solo diente o lo que es lo mismo, para que la rueda d una vuelta completa, es
necesario que el tornillo gire tantas veces como dientes tiene el engranaje. Se puede
deducir de todo ello que el sistema posee una relacin de transmisin muy baja, o lo
que es lo mismo, es un excelente reductor de velocidad y, por lo tanto, posee elevada
ganancia mecnica. Adems de esto, posee otra gran ventaja, y es el reducido espacio
que ocupa.
El tornillo es considerado una rueda dentada con un solo diente que ha sido tallado
helicoidalmente (en forma de hlice). A partir de esta idea, se puede deducir la
expresin que calcula la relacin de transmisin:
51
Un ejemplo: asumiendo que la rueda tiene 60 dientes. En este caso, el tornillo debe
dar 60 vueltas para el engranaje complete una sola vuelta y, por lo tanto, la relacin
de transmisin del mecanismo es:
52
El pin es una rueda dentada que gira, la cremallera es una pieza alargada con
dientes entre los cuales se encajan los dientes del pin, se desplaza linealmente a
medida que la rueda gira. Cuanto ms rpidamente gira la rueda, ms rpidamente se
desplaza la cremallera.
En este caso, cuanto mayor sea el ngulo girado por la rueda, mayor ser el recorrido
efectuado por la cremallera. Si la rueda da una vuelta completa, entonces la
cremallera efectuar un recorrido igual a la circunferencia de la rueda: d = 2R.
Puesto que la rueda en principio puede girar indefinidamente, debe haber algn
sistema que evite que la cremallera se salga; es decir, tras cierto recorrido, la
cremallera llegar a un tope que evitar que la rueda siga girando.
53
54
CAPITULO III
MARCO METODOLGICO
Naturaleza de Investigacin
55
fundamentacin
terica de la
Fases De La Investigacin
56
evaluacin del modelo. De all, que se hace necesario recorrer cada uno de ellos, con
el propsito de orientar a los investigadores en el posible uso de la misma.
Fase I: Diagnstico
Segn Jimnez
57
Observacin directa: la idea surge como una propuesta de trabajo especial proyectada
en el uso de control automtico de un proceso de taladrado, el cual fue impregnado de
sugerencias que enmarcan la manipulacin de ms de una herramienta para realizar
un taladrado mltiple.
58
Poblacin
Una poblacin segn Tamayo y Tamayo M. (2003), es definida como la totalidad del
fenmeno a estudiar en donde las unidades de poblacin poseen una caracterstica
comn, la cual se estudia y da origen a los datos de la investigacin.
Este proyecto de
a talleres de
59
En esta fase se da la descripcin de los tres tipos de factibilidades, las cuales resaltan
factores importantes en la realizacin del proyecto.
Segn Arias, (2006); seala que estudio de factibilidad se trata de una propuesta de
accin para resolver un problema prctico o satisfacer una necesidad. Es
indispensable que dicha propuesta se acompae de una investigacin, que demuestre
su factibilidad o posibilidad de realizacin.
Factibilidad Operativa
Segn Parodi (2001) define a todos aquellos recursos donde interviene algn
tipo de actividad (Proceso), depende de los recursos humanos que participen
durante la operacin del proyecto. Durante esta etapa se identifican todas aquellas
actividades que son necesarias para lograr el objetivo y se evala y determina todo
lo necesario para llevarla a cabo.
60
Factibilidad Tcnica
Entre los materiales mecnicos ms resaltados en el diseo del sistema estn, barras
de acero, lamina de hierro, tornillos, tuercas, pletinas, buje, ngulos de hierro, entre
otros.
61
Factibilidad Econmica
Segn Parodi
(2002); Se
refiere
los
recursos econmicos y
financieros
necesarios para desarrollar o llevar a cabo las actividades o procesos y/o para
obtener los recursos bsicos que deben considerarse son l; costo del tiempo,
el costo de la realizacin y el costo de adquirir nuevos recursos.
62
que materiales,
que dimensiones
que
dispositivos podran usarse cumpliendo con las exigencias. Para ello se eligi el
sistema ms adaptado a las condiciones econmicas teniendo en cuenta que es
necesaria la existencia de equilibrio, entre factores como durabilidad, precio, calidad
y esttica.
En esta etapa se realiza el diseo del sistema. Aqu se plantean por separado cada
uno de los mdulos que encaminan y conforman el diseo final del robot y tambin
el cronograma de actividades con que se van a ir realizando dichos mdulos con
el transcurso del tiempo, hasta la culminacin del proyecto, dividido en semanas
de ejecucin de las respectivas etapas.
63
Mdulo Mecnico
64
desplazamiento sobre barras de acero que actan como rieles y sobre 2 ngulos
apoyo, de las mencionadas ruedas mecnicas, el eje Z; el cual consta de; 4
cojinetes acoplados sobre 4 barras de acero inoxidable y un tornillo de potencia
que permite el desplazamiento de una carga conectada a estos cojinetes, el eje Y;
que consta de un mecanismo de barra roscada, que realiza el desplazamiento del
rea de trabajo, dicha rea de trabajo es en donde se coloca el material a
mecanizar.
Mdulo de Alimentacin
65
Mdulo de Control
Mdulo de Potencia
66
Mdulo de monitorizacin
Este mdulo
est
integrado por
los diversos
Para el control del sistema refrigerante se tendr una apertura y cierre cuando sea
necesario, ya que mediante este sistema refrigerante; se hace necesario una
cierta cantidad de fluido, el cual debe ser aportado de manera continua y cuyo
caudal dependa directamente de las condiciones del proceso de taladrado y del
tipo de material de la herramienta (broca) y del material a mecanizar, el diseo
para este sistema refrigerante estar basado en el uso de una pequea bomba para
realizar el desplazamiento del fluido refrigerante por unas mangueras de dimetro
considerable.
Actividades
I.
II.
III.
IV.
V.
67
VI.
VII.
VIII.
SEMANAS
Actividades
1
0
I.
11
15
16
68
II.
III.
IV.
V.
VI.
VII.
VIII.
Recursos
Para la realizacin de esta investigacin se cuenta especficamente con los siguientes
Recursos:
Recursos bibliogrficos: se cuenta con bibliografas existente referentes al tema,
bien sea, antecedentes de proyectos de investigacin, libros, internet, revistas, y
datasheet de diferentes componentes tanto electrnicos como mecnicos.
Recursos humano: asesoras y consultas con el tutor, del proyecto de investigacin
69
Fase IV
Anlisis de Resultados
Cada
mdulo
separado
para
observar y
70
realizados, que a su vez conformaran la estructura, para seleccionar con precisin los
actuadores, tomando en cuenta el torque y caractersticas elctricas de los mismos.
CAPITULO IV
71
Fases De La Investigacin
Cumpliendo con las actividades mencionadas en el captulo III para cada fase, se
obtienen los resultados que se describen a continuacin:
Fase de Diagnostico
72
menor para realizar un centro punto en la lmina como tal, para luego despus de esto
agujerear la lmina al dimetro deseado, adems de ello se observa que despus de
utilizar las brocas estas presentan una quemadura por efecto de la friccin generada al
realizar el taladrado.
73
Respuesta dada por el Seor Omar Nieves (padre biolgico del autor): puedes utilizar
ngulo de hierro 1 , 1 x 3/16 para construir los perfiles de cada eje que tendr la
mquina, ya que este tipo de material tiene buenas resistencias mecnicas y
proporcionan una buena estabilidad al estar como apoyo a las cargas que soportaran.
74
pulsos contados y hagas que se detengan los actuadores una vez que las variables
sean iguales y as pueda darse el posicionamiento que el usuario quiere.
Respuesta dada por Ylmer Suarez (tutor del proyecto): bueno omar primeramente,
cada actuador debe estar bien acoplado y fijo a cada eje que mover, al igual,
asegrate que tanto pernos y sujeciones estn bien atornilladas y por ltimo que toda
la maquina completa este fija y totalmente atornillada y sujeta a la mesa de apoyo
inferior.
Por medio de las opiniones anteriores, cabe destacar que se tocaron puntos referentes
a la manipulacin manual de taladrado y al mecanizado sobre metal, donde se
recolecto informacin, y a su vez se cosecharon recomendaciones, referentes a que
era necesario el uso de 2 brocas y que se utilizara un sistema de enfriamiento
haciendo uso de un lquido refrigerante para evitar deformacin en la pieza.
75
Fase De Factibilidad
De los resultados obtenidos en esta fase de factibilidad se puede decir que el diseo
del sistema robtico para perforacin sucesiva de chapas metlicas es factible,
operativa, tcnicamente y econmicamente
Factibilidad Operativa
76
Manual de operaciones
Precauciones de seguridad
Instrucciones de uso:
solamente.
Lea completamente y luego siga las instrucciones que aparecen en la pantalla
del computador porttil al haber inicializado con anterioridad el mdulo de
software.
Al terminar de utilizar el robot, coloque el interruptor de entrada en OFF y
desconecte la extensin USB del puerto serial y previo a ello desconecte el
robot del tomacorriente de 110v.
Nota:
77
1. Una vez visualizada con xito, la rutina de estabilizacin del sistema (LED
MONITOR), el paso siguiente es visualizar que el rea de trabajo, este en la
zona de carga de lmina.
2. Si el rea de trabajo no est en la zona de carga, entonces espere que el
sistema, lo coloque automticamente.
3. Presione el comando LAMINA CARGADA, una vez que la lmina este
cargada y acoplada fsicamente al rea de trabajo y espere que el sistema se
posicione en las coordenadas (X=0 y Y=0) y luego contine.
4. Indique el modo de operacin.
5. Si el modo de operacin es INTRODUCCIN DE COORDENADAS inserte
las coordenadas en los espacios respectivos que le indique el software y luego
valle a la instruccin nmero 12 y luego 13 respectivamente.
6. Si el modo de operacin que selecciono es TELEDIRIGIDO valle
a la
78
Nota:
Las instrucciones que aparecen en la pantalla del computador porttil, son los pasos
que aparecen al inicializar el mdulo de software en el computador porttil, ver figura
nmero 33.
Factibilidad Tcnica
Dejando evidencia de que este proyecto es factible tcnicamente ya que se cuenta con
los conocimientos adquiridos a lo largo de la carrera, como por ejemplo en la materia
79
Manual de mantenimiento
Precauciones de seguridad
de operaciones.
Asegrese de que el robot este apagado y desconectado de cualquier
tomacorriente.
Mantenga limpio el rea de trabajo del robot.
80
correctivo de inmediato.
Verifique si existe algn mal acople del microcontrolador con la base cero
fuerza, mediante el uso de un multmetro digital en modo de continuidad para
Correctivo
Sustituya
caractersticas de deterioro.
Limpiar con una toalla humedecida en un lquido especial para limpieza, solo
Nota:
81
Ver figura nmero 46, la varilla roscada mostrada en la figura, es a la cual hay
que lubricar, segn lo mencionado con anterioridad en el mantenimiento
mecnico, al igual que la figura nmero 51, donde se muestran 4 barras de acero
inoxidable verticales, por las cuales es donde la carga se desplaza en el eje Z,
estas tienen que estar lubricadas.
Factibilidad Econmica
Se ha considerado la implementacin de
82
En la siguiente tabla se ilustra algunos precios de una parte de los materiales que se
utilizaran en el proyecto:
Tabla N04 lista de precios estimados
CANTIDAD
1
1
1
12
6
1
1
1
5
37
1
1
16
MATERIAL
PRECIO EN BS
Motor a paso torque 9kg x cm
2450
chip controlador dual L298
230
Controlador L297
295
Diodos 6A10
129,6
condensador polister 0,1uf/250v
39,6
juego de brocas para pcb
120
trimer 1K
5,36
Base de 20 pines para l297
7,14
terminal block de 2 pines
66,95
terminal block de 3 pines a 29,75 c/u
1100,75
flete Zoom
137,9
juego de brocas para pcb
90
hojas papel transfer
267
Continuacin de la tabla N04
2
1
1
1
2
1
1
32
2
2
2
1
7
1
1
1
2
293,7
33,6
16,2
186,6
3,6
48
350
29,03
2368,8
5200
360
80
74,87
180
28,5
300
300
83
1
1
1
1
1
1
1
1
8
4
1
3
1
1
4
10
1
5
1
1
corona de moto
pin 428
polea de aluminio
acero calibre 1020 de 1/2
regulador de voltaje
fuente de poder DC
transform toma central 12v 1A
pic16f877
mecanizado 3/4 rosca en torno
abrazaderas para taladros
transform toma central 12v 10A
tomacorrientes
conversor USB serial rs232
max232
cable 14 de 5 metros C/U
optocopladores 4n33
reductor 40:1 usado
rodamientos
6 metros tubo 2x1
motor a paso usado
40
30
1000
105
1200
2980
750,6
373,2
1600
100
1500
195
449
78,2
400
297
500
750
400
380
40
120
696,6
118,8
220
1580
80
150
136
80
120
84
88
80
52
52
7,6
148,2
84
2
4
1
1
1
1
1
1
1
1
1
1
2
2
4
4
1
1
1
tip142
diodos 1n4007
resistencias varias
grasa lubricante venoco
1/4 kg de electrodos west arco
4 metros de estao
4 metros de cable 16
barra roscada 7mm de 2 metros
kit de 20 tuercas y arandelas
6 metros de angulo 1 x 1/8
teipe negro
1/4 kg de electrodos
rodamientos 6004
bujes de cobre
tuercas para barra roscada 3/4
tornillo de pala 5mm
kit de tornillos tuercas y tuercas m.
1/4 kg de electrodos lincoln gricon
kit tuercas arandelas para barra 3/16
83,6
12,6
14
100
133
100
100
140
130
500
120
133
300
100
160
20
140
88
80
70
40
60
100
50
320
176
100
140
300
230
120
113
120
300
160
70
135
75
85
1
3
100
10
1
3
5
5
1
1
5
4
4
1
1
1
2
2
230
165
100
80
30
90
40
10
40
30
50
120
120
300
300
200
60
50
4
1
6
4
11
1
1
50
1
50
1
2
3
30
1
25
1
1
1
1
1
200
59
120
100
165
20
150
130
2700
50
300
80
140
30
300
50
20
600
118
140
60
86
2
2
1
1
2
3
2
2
1
1
1
1
2
resortes # 62
metros de manguera transparent
interruptor on/off
metro de cable 14 de dos
metros de cable automotriz fino
brocas 1/8,3/34,3/16
rodamientos 6201
tornillos 12mm + 10 tuercas
2metros angulo 11/2 x3/16 y 1 1/8
1/4 de pintura azul rey
kit tornillos y tuercas de 1/4
capacitor 45uf 250v ac
resortes #38
TOTAL
120
30
75
48
20
480
400
210
700
300
200
950
200
48186,6
Cantidad
87
Estructura de la
maquina
52000
52000
Motor a paso
bipolar
14066,96
28133,92
Taladros Tucson
5360
10720
Motor dc 12v
9000
9000
33000
33000
TOTAL Bs
132.853,92 Bs
Costo en Bs
2.500
5000
TOTAL Bs
7.500 Bs
Inversin total
88
Costo en Bs
132.853,92 Bs
Gastos de instalacin
7.500 Bs
TOTAL Bs
140.353,92 Bs
Costo en Bs
6.000
TOTAL ANUAL
6.000
Cantidad por
semana
Costos de brocas
Bs
Costo semanal Bs
Brocas
250
500
89
TOTAL Bs.
SEMANAL
500
Costo de mantenimiento
Costo anual Bs
1.200
6.000
TOTAL ANUAL
7.200 Bs
90
Costo anual Bs
Costo de operacin
6.000
brocas
126.000 Bs
TOTAL ANUAL
132.000 Bs
Cantidad por
da
Costo Total
Bs.
Laminas
mecanizada
15
300
4.500
91
Cantidad
mensual
Costo
unitario Bs
Mes 1
300 laminas
300
90.000
Mes 2
300 laminas
300
90.000
Mes 3
300 laminas
300
90.000
Mes 4
300 laminas
300
90.000
TOTAL CUATRIMESTRE 1
360.000
92
Descripci
n
Cantidad
mensual
Costo
unitario Bs
Mes 5
300 laminas
320
96.000
Mes 6
300 laminas
320
96.000
Mes 7
300 laminas
320
96.000
Mes 8
300 laminas
320
96.000
TOTAL CUATRIMESTRE 2
384.000
Cantidad
mensual
Costo
unitario Bs
Mes 9
300 laminas
340
102.000
Mes 10
300 laminas
340
102.000
Mes 11
300 laminas
340
102.000
Mes 12
300 laminas
340
102.000
TOTAL CUATRIMESTRE 3
408.000
Total Bs
TOTAL CUATRIMESTRE 1
360.000
93
TOTAL CUATRIMESTRE 2
384.000
TOTAL CUATRIMESTRE 3
408.000
TOTAL ANUAL
1.152.000
94
Mdulo de alimentacin
95
el diseo y construccin
de fuentes de
tensin
un
valor
establecido,
se
consigue
con
un
componente
Fuente de Alimentacin de 5V
96
o
o
o
o
o
97
El regulador 7805 mantiene una salida de voltaje de 5 voltios con una demanda en
corriente de 1 amperio, donde este voltaje es independiente de la entrada de voltaje al
regulador, haciendo posible un valor de voltaje constante, cuando all una variacin
de voltaje en las entradas del circuito.
98
Fuente de Alimentacin de 5V
La segunda fuente de alimentacin independiente figura nmero 23, ser la encargada
de suministrar tensin continua de 5v con 1 amperio a; uno de los circuitos que
conforma el mdulo de potencia, dicho circuito a ser alimentado por esta fuente es; el
circuito para control de motor ac.
99
Fuente de Alimentacin de 5V
La tercera fuente de alimentacin independiente figura nmero 24, ser la encargada
de suministrar tensin continua de 5v con 2 amperios a; dos de los circuitos que
conforman el mdulo de potencia, dichos circuitos a ser alimentados por esta fuente
son; el circuito para el control de los 2 taladros y para control de la motobomba, dicha
fuente es ideal para energizar coordinadamente las bobinas de 3 reles y el segundo
circuito a ser alimentado; es el que controla al motor a pasos unipolar, en el que esta
fuente ser ideal para saturar la base de 4 transistores tip122 pertenecientes al mismo
circuito controlador de motor a pasos unipolar.
100
101
102
Mdulo de Potencia
103
Es el mdulo que se encarga de recibir del mdulo de control, las seales de control
que vienen en bajos voltajes y corrientes para manejar los altos voltajes de los
actuadores y transformarlas en acciones de control de la mquina. Aqu se elige la
utilizacin
de
aislar
las
seales
de control del
104
permiten invertir el
En este circuito tambin se emplea la utilizacin de red snubber para evitar que los
contactos se peguen magnticamente.
Figura N27 Circuito esquemtico para control de motor ac (eje X)
105
Para el control del eje y del sistema se ha implementado un circuito que hace uso de
transistores tip122, ver figura nmero 28.
106
Para el control del motor a pasos bipolar, implementado para el giro del tornillo de
potencia en el eje z, se emple para el diseo del circuito, los siguientes
componentes;
L298; el cual es un driver de puente completo dual que acepta niveles lgicos ttl
estndar y maneja cargas inductivas, este driver requiere de un voltaje de
107
Hay que destacar que este motor a pasos es el responsable del avance de penetracin
de las herramientas brocas, ya que es en el eje z, donde se desplaza la carga, tanto
hacia arriba como hacia abajo.
Los diodos 6A10 conectados en el integrado l298, sirven para proteger el integrado
de las corrientes de retorno que pudieran generarse en la bobinas del motor.
Figura N29 Circuito esquemtico para control de motor a pasos bipolar para girar
tornillo de potencia (eje Z)
108
Para el control y manejo del plato de fijacin o del giro angular programado, el cual
contiene acoplados los 2 taladros con sus respectivas herramientas brocas, se
implementara un motor DC de 12 v, el cual es controlado mediante la utilizacin de
compuertas lgicas TTL y transistores de potencia TIP147 y TYP142, ver figura
nmero 30.
109
Mdulo de monitorizacin
Este mdulo est integrado por los sensores y/o transductores que captan la
informacin del medio, ya sean de presencia, movimientos giratorios o lineales
y variables elctricas. Cada sensor tiene 3 conexiones; voltaje de alimentacin (5v),
comn (GND) y una seal que ocupara una lnea de entrada en el Microcontrolador,
ver figura nmero 31.
110
111
acciones
de control,
efectuadas
112
Figura N33
Figura N34
113
114
115
116
Este mdulo permite la conexin fsica, entre la pc y el mdulo de control, ver figura
nmero 37, para as establecer una comunicacin bidireccional en el sistema; este
mdulo se conoce comnmente como protocolo de comunicacin serial, (RS-232),
dicho modulo hace uso de; un circuito integrado max232, un conector DB9Hembra y condensadores o filtros, los cuales son conectados de acuerdo a una
configuracin establecida por el protocolo.
117
Mdulo de control
Este etapa es la ms destacada, ya que a l se interconectan todos los dems
mdulos y partes de la mquina, ver figura nmero 38, es el que gobierna todas la
acciones de control a tomar segn los estados del proceso, adems es el que acta
como un motor de inferencia, el cual tiene la inteligencia artificial mediante
herramientas de software, todo es procesado aqu y el componente posee
la
118
o
o
o
o
o
o
o
o
o
o
o
119
120
121
Para el control del sistema se tiene una apertura y cierre cuando sea necesario, es
decir; cuando el proceso de taladrado este en curso, se activara el motor bomba
aspirando el lquido refrigerante desde el deposito hacia el rea de trabajo, y junto
con este, se permite una retroalimentacin, donde el fluido que cae al rea de trabajo
se deposita nuevamente permitindose as; que el sistema sea de ciclo cerrado, ver
figura nmero 40.
Datos:
El lquido refrigerante a ser implementado ser agua, cuya densidad es igual a 1000
kg
m3
Se implement agua dado a que el cuete de lquido taladrina est en 5000 bolvares,
para ello la implementacin del agua es vlida ya que esta efecta una refrigeracin al
proceso de taladrado tambin.
122
1m
1000 000 ml
=1,767 x 10-3
m3
Masa del agua = densidad x volumen del agua
kg
= (1000 m3
= 1,767 kg
fuerza fondo
area recipiente
Presion fondo=
(17,317 New)
=979,9 pascal=0,98 KPa
3
2
(17,671 x 10 m )
123
La presion de entrada de 5,8 kpa es una presion de bombeo que existir, dependiendo
del tipo de bomba seleccionada de forma adecuada, de acuerdo a los valores de
caudal, velocidad y presion de salida, arrojados mediante la ecuacin de Bernoulli,
dado esto se tiene que el valor de 5,8 Kpa asumido tendr un impacto en las variables
de salida.
Datos:
Caudal (Q) =?
Presion de salida (P2) = ?
Velocidad de salida (V2) = ?
Radio de la manguera en punto 1= 0,005 m
Radio de la manguera en punto 2= 0,004 m
Velocidad de entrada fluido = 1m/s= V1, Presion de entrada fluido = 5,8 KPa= P1.
Clculos:
Se considera un tramo desde (1 hasta 2), ver Figura N0 40
124
V2 =
Area1
xV1
Area2
1, 56 m/s
125
-5
-5
m
s
realizando la
L
H
Super LB-411
Voltage: 110v /60 HZ
Power: 2w
H-max: 0, 6 m
Output: 300 L/H =
8 , 333 x 10
M3
segundo
Esta bomba se compro usada a un precio de 1200 bs, y tomando en cuenta el caudal
calculado, se dedujo que esta bomba seria la correcta a usar, esta bomba comunmente
es implementada en peceras, los datos tecnicos mencionados anteriormente sobre esta
bomba, se encuentran plazmados en la etiqueta de la misma.
126
127
Mdulos mecnicos
128
129
de lmina calibre 14
implementada:
130
= 3,2 x 10 -4 m3
(7860
Masa (L14) =
2,51 kg.
kg
m3 )
x (3,2 x 10 -4 m3)
131
Masa (1 x 3/16) =
(7860
Masa (1 x 3/16) =
8,08 kg.
kg
-3
3
m3 ) x (1,028 x 10 m )
132
2
rea (barras de acero) = r = (3,14) x (6,35 x 10 -3 m)2
= 1,267 x 10 -4 m2
As;
Volumen (barras de acero) = (1,267 x 10 -4 m2) x (largo de la barra)
= (1,267 x 10 -4 m2) x (3m)
= 3,801 x 10 -4 m3
(7800
2,96 kg.
kg
-4
3
3
m ) x (3,801 x 10 m )
133
134
Masa (tubo 1 x 1) =
(7860
Masa (tubo 1 x 1) =
1,33 kg.
kg
-4
3
m3 ) x (1,692 x 10 m )
m3
As;
masaestriada =densidad hierro x ( Volumen estriada )
135
4,002 x 104
kg
(7860 3 ) x
m
m3 )
= 3,145 kg
Masa (1 x 3/16) =
(7860
kg
-4
3
m3 ) x (5,551 x 10 m )
= 4,363 kg
136
Engrane 428, cadena 428, engrane de acero SAE 1023 y dems elementos
mecnicos para desplazamiento de la carga:
15
=1
15
137
Primero hay que determinar la masa total que estar en movimiento en el eje X, para
ello segn los clculos determinados, se tienen las siguientes masas.
Masa del tubo (1x1) = 1,33 kg. Ver figura nmero 43, y clculo de la masa
pag 131.
Masa base inferior que conforma la estructura del eje Z = 2,8 kg, ver pag 171.
Masa que soporta el tornillo de potencia= 13,285 kg, ver pag 171.
Masa 4 barras de acero inoxidable= 3,575 kg, ver pag 170.
Masa tornillo de potencia= 1,755 kg, ver pag 169 y 170.
138
Masa ngulo de hierro 1 1/8 soporte 1 y 2 = 2(0,63kg)=1,26 kg, ver pag 179 y
180.
Masa de pletina del soporte 1 y 2 = 2(0,91kg) =1,82 Kg, ver pag 179 y 180.
Tomando en cuenta las masas mencionadas anteriormente, se puede decir que la suma
de todas estas masas es igual a 25,825 kg.
Luego se calculara la fuerza necesaria para sacar del estado de reposo a la carga.
139
As;
F= esttico x (Normal)
F= 0,17 x (253, 34 New)
F= 43, 067 New.
Dado esto y conociendo que el pin motriz del eje x, ver figura nmero 41, tiene un
radio de 0,025 m, tomando en cuenta la fuerza calculada, se procede a calcular el
momento torsor necesario que debe ser aplicado en el eje motriz del eje x.
Por lo visto el par torsional que debe aplicarse en el mecanismo en el eje x, tiene una
magnitud de 107, 6 N.cm.
140
Resaltando que la velocidad del pin conducido y el pin motriz ser la misma.
MOTOR AC:
vueltas 1minuto
vueltas
x
=28,75
=28,75 HZ .
minuto 60 seg
seg
f A =28,75
vueltas
=1725 RPM
seg
141
Torque=
186,424 W
=1,032 N x m
180,641 rad /seg
Siendo A y B dos puntos en el permetro de las 2 poleas, se puede decir que las
velocidades lineales o tangenciales, de ambos puntos son iguales.
As;
V A =V B
W A . r A =W B . r B
2 f
2 f
( B) .r B
( A). r A =
142
f
f
( B) .r B
( A). r A =
Dimetros de poleas:
d 1=5,5 cm r A =2,75 cm
d 2=29,5 cm r B=14,75 cm
f
f
vueltas
28,75
. ( 2,75 cm )
( A). r A
seg
vueltas
=
=5,36
rB
seg
( 14,75 cm )
( B)=
f
( B)=321,6 RPM .
143
Conversin:
30 vueltas polea ( B )1 vuelta reductor
5,36
vueltas
X
seg
X =0,178
vueltas
=10,68 RPM
seg
Ahora, tomando en cuenta las RPM de salida, se procede a calcular el para torsional
que puede aportar el motor reductor de la figura nmero 44, conociendo tambin que
el motor ac es de HP.
Torque =
1
HP x 716
HP x 716 4
=
=16,760 ( kgm )
RPM
10,68 RPM
144
145
1
8
Datos:
Formulas:
146
Densidad=
Masa1 = ?
kg
m3
masa
volumen
kg
-4
3
m3 ) x (2, 36096 x 10 m )
= 1,855 kg
147
Datos:
Formulas:
Densidad=
Masa2 = ?
kg
3
m
masa
volumen
kg
-4
3
m3 ) x (1, 74096 x 10 m )
= 1,37 kg
148
kg
-4 3
m3 ) x (3,67 x 10 m )
= 2,885 kg
149
kg
-5
3
m3 ) x (8, 95 x 10 m )
= 0,703 kg
Datos:
Densidad del aluminio = 2700
kg
m3
150
kg
-4
3
3
m ) x (1,44 x 10 m )
= 0,388 kg
Masa del rea de trabajo, la cual est conformada por: masa 3, masa 4
y la masa de la lmina de aluminio.
Siendo este valor de masa = 4 kg, representa la carga a ser desplazada por la
barra roscada.
151
Datos:
Radio= 10mm = 0,01m
Clculos:
1 pulgada
de hilos x pulgada
1 pulgada
=0,1 pulg
10 hilos
152
Asi ; se puede apreciar que cuando la barra roscada ejecute una vuelta el avance lineal
es aproximadamente de 2,54 mm.
paso
1
+ rb . b)
2 n
i
rozamiento.
Procedemos a calcular la fuerza y previo a ello el torque necesario para desplazar la
carga:
El = 0,15 valor dado para rozamiento o friccin entre (metal metal) bien
lubricado.
m
F= x masa x gravedad = (0,15) x (4kg) x (9,81 s 2
)=
5,886 New.
El n = = coeficiente de rozamiento.
La relacin rb . b
paso
1
+ rb . b)+
2 n
i
0,254 cm
1
+ 0,015 cm
= (5,886 New) x ( 2 (0,15)
1
= 1, 67 New. Cm
153
Por efecto de la masa del rea de trabajo, se procede a calcular el peso (P), y previo a
ello la grfica de fuerza cortante y momento flector para la barra roscada
implementada.
m
P1 = masa x gravedad = (4kg) x (9,81 s 2
) = 39,24 New.
Grafica de fuerza cortante y momento flector realizado con la ayuda del software
MDsolids 3.5. Carga P1=39,24 New.
154
155
32 M
d3
yx =
16 T
d3
, donde:
= esfuerzo de flexion.
yx
= esfuerzo de torsin
32(7,06 Nm)
(0,02m)3
y =8,98 MPa
Y el esfuerzo de torsin es; siendo T = 0,85 (Nm) la torsin a la que ser sometida la
barra roscada por efecto del motor a paso unipolar implementado.
yx =
16 (0,85 Nm)
3
(0,02 m)
= 541,127 KPa
156
max =
max =
y 2
+ yx 2
2
8,98 MPa 2
+541,127 KPa 2
2
= 310 Mpa. As
S SY =
sy
2
S SY =155 MPa .
Factor de seguridad:
n=
S SY
max
155 MPa
4,522 MPa
= 34,276
Seleccin de rodamientos
Primero hay que calcular las RPM a la que se encuentra sometido el eje. El motor a
paso unipolar implementado necesita recibir 200 pulsos para completar o realizar 1
revolucin, donde cada pulso individual se enva cada 6 ms, de lo que se puede decir
que;
157
RPM =
RPM = 50
la que se encuentra
sometido el eje, el torque en (N.m) que proporciona el motor implementado es: 0,85
(N.m).
Potencia =
torque x ( 2 ) x ( RPM )
60000
=4,450x10-3 Kw
Fuerza radial expresada en KN presente en los rodamientos.
Fr = 5, 6 x
P( Kw )
n (rpm)
= 5, 6 x
= 0,053 KN
158
L1 F2
=
L2 F1
( )
L1
C
=
6
F
1
10
( )
159
Es usual que el fabricante proporcione la capacidad de carga para una vida til a una
velocidad especificada. Calculando la vida correspondiente en revoluciones y
conociendo la capacidad de carga por catlogo, se puede hallar la duracin para una
carga cualquiera.
L R x n R x 60
L D x n D x 60
FD
FR
( )
F R=F D
LD x nD
LR x nR
Donde;
F R=
LR =
nR
FD
LD =
nD
0,053 KN.
n D=50 rpm
160
Fue seleccionado del catlogo de la empresa SKF el rodamiento 6004 el cual segn
su hoja tcnica, tiene una capacidad radial de
nominal de
nR
F R=9,95 KN
a una velocidad
( F R ) x LR x nR
LD =
2
( FD) x nD
LD =
10
LD =1,33 x 10 horas .
161
La masa del rea de trabajo es 4Kg, magnitud que se determin con anterioridad
mediante el estudio de las densidades, volumen y rea del material implementado, en
el diseo y construccin del mismo.
m
s 2 ) = 39,24 New.
Debido a que el rea de trabajo est apoyada en los puntos A y B, la fuerza existente
se divide entre 2, siendo;
39,24 New
FA = FB =
2
= 19,62 New.
162
163
Luego; una vez obtenidas las reacciones y el momento flector mximo del eslabn
crtico, se procede a calcular el cortante primario en la soldadura que viene dado por
la siguiente expresin:
164
'=
V
A
Siendo;
3
X =0
, Y =
d
2
(d )
IU =
12
(0,025 m)
12
= 1,30 x 10-6 m 3
V
A
9,81 N
7 x 105 m2
= 140,14 x 10 3 Pa
0,025m
2
= 0,0125
165
Donde
M F = Momento flector mximo
d
Y =
2
I =0,707. h . I U
=0,0125
3
= 0,707x ( 4 x 10 m ) x (1,30 x 10-6 m 3) = 3,676 x 10-9 m4
}} ^ {2}}
' 2+
( max )=
166
140,14 10 Pa
6,665 106 Pa
2
( max ) = +
sy
max
Dnde:
s y = Resistencia de fluencia del electrodo, donde se emple un electrodo 6013
6
cuya resistencia de fluencia es de 345 10 Pa .
345 106 Pa
=51,76=52.
6,665 10 6 Pa
167
168
i=
Z 1 10
= =0,5
Z 2 20
n1
n2=rpmde salida=?
Formula de relacin entre engranajes:
Z 1 x n1=Z 2 x n2
As;
n2=
169
En el extremo del eje existe una carga, conformada por el mdulo de taladros, donde
se puede decir, que tcnicamente, segn la hoja de datos del fabricante de taladros
marca Tucson; modelo: CK6410, cada taladro posee una masa individual de 1,5 kg.
En base a ello, se puede calcular el peso en New, en que estar sometido el eje,
Tomando en cuenta, que se implementaron 2 taladros, la masa total y el peso es el
siguiente:
= 29, 43 New.
As; W (peso) = P1 = 29, 43 New.
Fy=0 ,
170
P1
2
= 14,715 New
Concluyendo que:
P1 = 29,43 New.
P2 = P3 = 14,715 New
171
172
especfico, pin 428, cadena 428, y herramientas varias que permitirn ajustar las
piezas respectivas a la estructura como tal.
173
As;
Masa = Densidad x Volumen = (7860
kg
-3
3
m3 ) x (1,116 x 10 m )
= 8,77 kg
= (7860
kg
-5 3
m3 ) x (8,742 x 10 m )
174
= 0,68 kg
2
rea (tornillo) = r = (3,14) x (0,01075 m)2
= 3,630 x 10 -4 m2
As;
Volumen (tornillo) = (3,630 x 10 -4 m2) x (largo del tornillo)
= (3,630 x 10 -4 m2) x (0,62m)
= 2,251 x 10 -4 m3
Masa (tornillo)
Masa (tornillo)
(7800
kg
-4
3
3
m ) x (2,251 x 10 m )
175
Masa (tornillo)
1,755 kg.
Cada barra tiene una longitud de 40 cm = 0,4 m, en base a que son cuatro la longitud
total es igual a 1,6 m, se procede a calcular su masa.
2
rea (barra) = r = (3,14) x (9,55 x 10-3 m)2
= 2,865 x 10 -4 m2
As;
Volumen (barra)
Masa (barra)
Masa (barra)
(7800
3,575 kg
176
Los dems elementos que posee la carga que se desplazara en el eje Z, est
conformado por tornillera, madera mdf y el motor DC, los cuales juntos conforman
una masa de 0,835 kg.
Dado esto la carga a la que estar sometido el tornillo de potencia ser la siguiente:
Masa soporta tornillo = 3kg + 8,77 kg + 0,68kg +0,835 kg.
= 13,285 kg
Siendo los 3 kg la masa que efectan los taladros, los 8,77kg la masa de la estructura
de ngulo 1 x 1/8, los 0,68 de tubo 1 x 1 y los 0,835kg de motor dc, tornillera y
madera mdf implementada.
177
Para el avance del tornillo; este se define como la distancia axial que mueve el
tornillo en una revolucin completa, para caso normal de un tornillo de filete sencillo
el avance L = paso.
Hay que determinar el dimetro menor para determinar el dimetro medio, tomando
en cuenta que el dimetro mayor es de 24 mm.
178
P
d menor =24 mm2 x ( )=19 mm
2
d medio =d menor +2 x
( P4 )=21,5 mm
= dm =0,0215 metros
179
180
As;
Teniendo determinado dm= dimetro medio y l = avance del tornillo, faltara
por determinar:
Determinacin de la F:
F=m x g x
m = masa completa de la carga que soporta el tornillo.
g = gravedad.
= coeficiente de friccin presente en las 4 barras de acero inoxidable, por donde se
desliza la carga.
181
Gravedad de
g=9,81
m
s2
=0,15
As;
m
=19,548 New
2
s
Para tornillo con tuerca, bien lubricado el coeficiente de friccin tiene un valor de
0,15 el cual es un valor conservador.
De esta manera ya se tienen los datos respectivos para determinar el torque de subida
y de bajada necesario del sistema;
182
5 x 10
5 x 10
x ( 0,0215 m )( 0,15 ) x (3)
(3)+ x ( 0,15 ) x ( 0,0215 m)
(0,0215 m)
T =( 19,548 N ) x
x
2
T =( 210,141 x 103 ) x
15,131 x 103
66,794 x 103
T =47,603 x 10 N x metros=4,760 N x cm
5 x 10
5 x 10
x ( 0,0215 m) + ( 0,15 ) x (3)
(3)
x ( 0,15 ) x ( 0,0215 m )
(0,0215 m)
T =( 19,548 N ) x
x
2
183
Voltaje: 3V
184
185
rea= 1,5232 x 10-4 m2, valor de rea superficial calculado con anterioridad.
186
As; la masa total del primer soporte es la suma de las 3 masas calculadas con
anterioridad.
187
En base a que el segundo soporte es igual al primer soporte, se concluye que la masa
es la misma.
Eje X: para el eje x se implementaron 6 tipos de materiales, cuyas masas de cada uno
fueron calculadas con anterioridad.
As;
6
masa elemento(i )
i=1
= 22,388 kg.
188
Eje Y: para el eje Y se implementaron 9 tipos de materiales, cuyas masas de cada uno
fueron calculadas con anterioridad.
As;
9
masa elemento(i )
i=1
= 10,001 kg.
Eje Z: para el eje Z se implementaron 7 tipos de materiales, cuyas masas de cada uno
fueron calculadas con anterioridad.
As;
7
masa elemento(i)
i=1
2,8kg
= 21,415 kg.
189
190
191
CAPITULO V
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
Las maquinas herramientas para procesos de taladrado, destinados a la realizacin de;
agujeros sucesivos pasantes, sobre ciertos materiales metlicos como; aluminio, latn
y piezas galvanizadas de distintas dimensiones, representa hoy en da, un gran
beneficio para las industrias metalmecnicas, dedicadas a la fabricacin, bien sea
individualizada o en serie de repuestos y autopartes; tanto para vehculos,
electrodomsticos y dems artefactos que posean repuestos de material metlico, ya
que la mayora de estas mquinas herramientas se encuentran del todo automatizadas,
lo que les permite generar un incremento en su produccin y una buena adaptacin a
las demandas del mercado, razn por la cual, la automatizacin de mquinas
herramientas para procesos de taladrado, es vital en la actualidad.
192
El sistema electrnico del robot taladro, consta de una placa pcb de gran importancia
como lo es la placa pcb de control o mdulo de control, la cual hace uso de un
microcontrolador pic16f877, el cual se puede reprogramar cuantas veces se quiera,
permitindose as, que el robot taladro posea una inteligencia artificial cada vez
mejor.
193
Se seleccion el programa de alto nivel, Visual Basic 6.0 el cual forma parte de la
creacin del mdulo de software, necesario para la interfaz visual del hombre con la
mquina.
Recomendaciones
Implementando motores de paso, que cuenten con una mayor precisin y torque en el
sistema, har posible el mecanizado de lminas metlicas de un espesor superior a los
1.2mm.
194
Debido a que el actuador del eje Y, opera prcticamente a 50 rpm, esto ralentiza el
proceso, en base a ello la recomendacin seria triplicar esta velocidad a 150 rpm, a
travs de una variacin de frecuencia, en base a la implementacin de transistores que
operen a mayor amperaje, y adems de ello alimentar el motor a paso unipolar con 24
voltios, as como tambin la implementacin de un circuito supervisor de corriente,
para monitorear el consumo de amperios existente.
Modificando el software tanto de bajo nivel assembler, como el de alto nivel visual
Basic 6.0, se permitir que la introduccin de coordenadas de parte del usuario, sea
milimtrica y no en pulgadas.
195
Referencias
UNEXPO.2011.
Venezuela.
MOTT, R; (2004) Diseo de elementos de Mquina. Editorial Prentice Hall. Mxico.
Shigley, J. y John U, Jr. Teora de mquinas y mecanismos. Editorial McGraw Hill
Interamericana de Mxico, S.A. Mxico. 1988.
Francisco, C. y Teruel. (2004), control numrico y programacin, Editorial
Marcombo.
Angulo
Uzcategui,
J.;
Romero
Yesa,
S.;
Angulo
Martnez,
I.
(2006).
196
197
Glosario
Broca: broca es una herramienta de corte rotatoria que tiene uno o ms bordes de
corte y canales que se extienden a lo largo de su cuerpo. Las canales o ranuras tienen
forma de hlice y sirven para evacuar las virutas que se forman durante el proceso de
taladrado.
198
199
Polea: es una mquina simple, un dispositivo mecnico de traccin, que sirve para
transmitir una fuerza. Adems, formando conjuntos aparejos o polipastos sirve
para reducir la magnitud de la fuerza necesaria para mover un peso.
siglas
200
ANEXOS
201
Precauciones de seguridad
de operaciones.
Asegrese de que el robot este apagado y desconectado de cualquier
tomacorriente.
Mantenga limpio el rea de trabajo del robot.
correctivo de inmediato.
Verifique si existe algn mal acople del microcontrolador con la base cero
fuerza, mediante el uso de un multmetro digital en modo de continuidad para
verificar si existe una mala conexin.
202
verifique y aplique las tcnicas para la deteccin de fallas necesarias para cada
uno de los componente electrnicos y si detecta fallas en algn componente
aplicar correctivo.
Correctivo
Sustituya
caractersticas de deterioro.
Instrucciones para realizar el mantenimiento mecnico
limpiar con una toalla humedecida en un lquido especial para limpieza, solo
203
Precauciones de seguridad
Instrucciones de uso:
solamente.
Lea completamente y luego siga las instrucciones que aparecen en la pantalla
del computador porttil al haber inicializado con anterioridad el mdulo de
software.
Al terminar de utilizar el robot, coloque el interruptor de entrada en OFF y
desconecte la extensin USB del puerto serial y previo a ello desconecte el
robot del tomacorriente de 110v.
204
a la
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
-302;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Cblock 020h
PDel0, PDel1, PDel2, PDel2., PDel3.
; RETARDO_2ms
;------------------------------------PDEL04, PDEL14
; retardo de 4ms
;------------------------------------RECIBIDO, YM, YE
; ------------------------------------UNI, PO, LAR
BI, POL, AR
BIDC, POLDC, ARDC
REV_UNIE,
REV_UNIM
REV_UNI_HACIAM, REV_UNI_HACIAE
REV_UNIEMEDIA, REV_UNIMMEDIA
OCHENTAPULSOS, OCHENTAPULSOS2
CONTEO
222
L_BYTE,
count,
PULSOS_PARA_LLEGAR,
temp,
DIGITO_1,
R0,
R1,
DIGITO_2,
R2,
H_BYTE_TEMP
DIGITO_3,
DIGITO_4
1; DESPLA IZQUIERDA
223
224
BANCO_3 MACRO
BSF ESTADO, RP1
BSF ESTADO, RP0
ENDM
LEDMONITOR MACRO
LED_ON; LED ON
;1
CALL RETARDO_500ms
BSF LED; LED OFF
CALL RETARDO_500ms
BCF LED; LED ON ; 2
CALL RETARDO_500ms
BSF LED; LED OFF
CALL RETARDO_500ms
BCF LED; LED ON ; 3
CALL RETARDO_500ms
BSF LED; LED OFF
CALL RETARDO_500ms
BCF LED; LED ON ; 4
CALL RETARDO_500ms
BSF LED; LED OFF
CALL RETARDO_500ms
BCF LED; LED ON ; 5
CALL RETARDO_500ms
BSF LED; LED OFF
ENDM
225
CONDI_I MACRO
BANCO_0
; LED MONITOR DEL SISTEMA
BSF LED; LEDMONITOR OFF
; TALADROS
BCF PORTB, 1; TALADRO 1 OFF
BCF PORTB, 2; TALADRO 2 OFF
BCF PORTB, 3; TALADRO 3 OFF
; MOTOR AC ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;( EJE X)
BCF PORTB, 4; FASE MOTOR AC EN OFF
BCF PORTB, 5;
BCF PORTB, 6;
; MOTOR A PASOS UNIPOLAR;;;;;;;;;;;;;;;;;;;;;;;;;;;(EJE Y)
BCF PORTD, 0
BCF PORTD, 1
BCF PORTD, 2
BCF PORTD, 3
; MOTOR A PASOS BIPOLAR;;;;;;;;;;;;;;;;;;;;;;;;;;;;(EJE Z)
BCF PORTB, 7; PLACA MOTOR BIPOLAR EN OFF
BCF PORTD, 7; FRECUENCIA NULA
BCF PORTD, 5;
BCF PORTD, 6;
; MOTOR DC;;;;;;;;;;;;;;;;;;;;;;;;;(MOTOR DC GIRO ANGULAR)
BCF PORTD, 4; PARA GIRO
BCF PORTC, 5; PARA GIRO
BCF PORTC, 2; FRECUENCIA NULA
; PLACA DE ENCODER Y CNY70
BSF PORTC, 0; PLACA DE ENCODER y CN70 OFF
BCF PORTC, 1; ENCODER SELECCIONADO PERO LA PLACA OFF
ENDM
226
ENCODERS_OFF MACRO
BSF PORTC, 0; PLACA DE ENCODERS APAGADA
ENDM
ENCODER_X
MACRO
MACRO
227
T3_OFF MACRO
BCF PORTB, 3; TALADRO 3 OFF
ENDM
FASEAC_ON MACRO
BSF PORTB, 4; FASE MOTOR AC EN ON
ENDM
FASEAC_OFF MACRO
BCF PORTB, 4; FASE MOTOR AC EN OFF
ENDM
DESPLAX_DER MACRO
BSF PORTB, 6; GIRO ANTIHORARIO MOTOR AC
BSF PORTB, 5
ENDM
DESPLAX_IZQ MACRO
BCF PORTB, 6; GIRO HORARIO MOTOR AC
BCF PORTB, 5
ENDM
PLACABIPO_ON MACRO
BSF PORTB, 7; PLACA BIPOLAR ON
ENDM
PLACABIPO_OFF MACRO
BCF PORTB, 7; PLACA BIPOLAR OFF
ENDM
SELEC_BIPO_SUBIR MACRO
PLACABIPO_OFF; PLACA BIPOLAR OFF
NOP
; 200nanos
BCF PORTD, 6
228
BCF PORTD, 5
; 200nanos
BCF PORTD, 6
BSF PORTD, 5
MACRO
BSF PORTC, 5
BCF PORTD, 4
ENDM
DC_ANTIHORARIO MACRO
BCF PORTC, 5
BSF PORTD, 4
ENDM
DC_STOP
MACRO
BCF PORTC, 5
BCF PORTD, 4
BCF PORTC, 2
ENDM
229
230
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1100; RD1= B2
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B0110; RD0= B1
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
DECFSZ REV_UNIE, F
GOTO UNIPOLARE
MOVLW B'0000'
MOVWF PORTD
ENDM
;####################################################################
;
;
20MHZ
;
INCLUDE
"VARIABLES.inc"
;
;
BLOQUE PRINCIPAL
;
ORG
Goto
000H
; VECTOR RESET.
; ################################################################
; ##
SERVICIO DE INTERRUPCIONES
; ###################################
231
ORG
004H
BCf
INTCON, GIE
; DESHABILITA INTERRUPCIONES
Movwf W_temp
Swapf ESTADO, W
Clrf
ESTADO
Movwf ESTADO_temp
Movf FSR, W
Movwf FSR_temp
Movf INDIR, W
Movwf INDIR_temp
;****************************************
Btfss INTCON, INTF
GOTO INTER_FIN
; NO SUCEDIO INT/RB0
GOTO SERV_RB0
;-------------------------------------------------INTER_FIN
Movf FSR_temp, W
Movwf FSR
Movf INDIR_temp, W
; ##################################################################
Movwf INDIR
Swapf
ESTADO_temp, W
Movwf ESTADO
Swapf
W_temp, F
; ##################################################################
Swapf W_temp, W
Bcf
INTCON, T0IF
Bcf
INTCON, INTF
BSf
INTCON, GIE
RETFIE
232
SERV_RB0
Movlw .1
Addwf Pulsaciones, 1
GOTO INTER_FIN
; ##################################################################
; ###############################################################
; #####
CONFIGURACION DE PUERTOS
; ###############################################################
CONFI_P
BANCO_1
;..................................
MOVLW b'111111'
MOVWF TRISA
MOVLW b'00000001'
; RB7--RB1=SALIDAS
MOVWF TRISB
MOVLW b'10011000'
; RC7=RX=ENTRADA Y RC6=TX=SALIDA
MOVWF TRISC
MOVLW b'00000000'
; RD0--RD7=SALIDAS
MOVWF TRISD
; RD4=G1 DC
MOVLW b'101'
MOVWF TRISE
;..................................
233
MOVLW b'11000110'
MOVWF OPCION
MOVLW b'00000000'
MOVWF INTCON
MOVLW
b'00000111'
MOVWF
ADCON1
;--------------------------------BANCO_0
;
MOVLW b'10000000'
MOVWF
ADCON0
;................................
RETURN
CONFI_U
BANCO_1
MOVLW 0x81
MOVWF 99H
MOVLW B'00100100'
MOVWF TXSTA
;-----------------------------------------------------------------------BANCO_0
;-----------------------------------------------------------------------; CONFIGURACION PARA RECEPCION
MOVLW B'10010000'
MOVWF RCSTA
;------------------------------------------------------------------------RETURN
234
MEDIA_REV_UNI_HACIAM
MOVLW .25
MOVWF REV_UNIMMEDIA; 25 x 4 = 100 pulsos
UNIPOLARMMEDIA MOVLW B0011; RD0= B1
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B0110; RD1= B2
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1100; RD2= B3
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1001; RD3= B4
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
DECFSZ REV_UNIMMEDIA, F
GOTO UNIPOLARMMEDIA
MOVLW B'0000'
MOVWF PORTD
RETURN
;--------------------------------------------------------------------MEDIA_REV_UNI_HACIAE ; SERIA RD3, RD2, RD1, RD0
MOVLW .25
MOVWF REV_UNIEMEDIA
UNIPOLAREMEDIA MOVLW B0011; RD3= B4
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1001; RD2= B3
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
235
MOVLW .200
MOVWF BIPOBAJAR
ETQBIPO CALL BAJAR_CARGA
DECFSZ BIPOBAJAR, F
GOTO ETQBIPO
RETURN
;--------------------------------------------------------------------MEDIA_REV_BIPO_BAJAR
MOVLW .100
MOVWF BIPOBAJAR2
ETQBIPO2 CALL BAJAR_CARGA
DECFSZ BIPOBAJAR2, F
GOTO ETQBIPO2
RETURN
;--------------------------------------------------------------------
236
CUARTO_REV_BIPO_BAJAR
MOVLW .50
MOVWF BIPOBAJAR3
ETQBIPO3 CALL BAJAR_CARGA
DECFSZ BIPOBAJAR3, F
GOTO ETQBIPO3
RETURN
;------------------------------------------------------------------OCTAVO_REV_BIPO_BAJAR
MOVLW .25
MOVWF BIPOBAJAR4
ETQBIPO4 CALL BAJAR_CARGA
DECFSZ BIPOBAJAR4, F
GOTO ETQBIPO4
RETURN
;-----------------------------------------------------------------BAJAR_CARGA
SELEC_BIPO_BAJAR
NOP
CALL FRECUENCIA_BIPOLAR
BCF PORTB, 7; PLACA MOTOR BIPOLAR EN OFF
BCF PORTD, 7; FRECUENCIA NULA
BCF PORTD, 5; ES INDIFERENTE PERO CON CERO NO HAY PERDIDA
BCF PORTD, 6; DEJE EN CERO ESTE PIN, POR HARWARE ESTA A TIERRA
RETURN
;-------------------------------------------------------------------
237
REV_BIPO_SUBIR
MOVLW .200
MOVWF BIPOSUBIR
ETQBIPO7 CALL SUBIR_CARGA
DECFSZ BIPOSUBIR, F
GOTO ETQBIPO7
RETURN
;--------------------------------------------------------------------MEDIA_REV_BIPO_SUBIR
MOVLW .100
MOVWF BIPOSUBIR2
ETQBIPO27 CALL SUBIR_CARGA
DECFSZ BIPOSUBIR2, F
GOTO ETQBIPO27
RETURN
;-------------------------------------------------------------------CUARTO_REV_BIPO_SUBIR
MOVLW .50
MOVWF BIPOSUBIR3
ETQBIPO37 CALL SUBIR_CARGA
DECFSZ BIPOSUBIR3, F
GOTO ETQBIPO37
RETURN
;------------------------------------------------------------------OCTAVO_REV_BIPO_SUBIR
MOVLW .25
MOVWF BIPOSUBIR4
ETQBIPO47 CALL SUBIR_CARGA
238
DECFSZ BIPOSUBIR4, F
GOTO ETQBIPO47
RETURN
;-----------------------------------------------------------------SUBIR_CARGA
SELEC_BIPO_SUBIR
NOP
CALL FRECUENCIA_BIPOLAR
BCF PORTB, 7; PLACA MOTOR BIPOLAR EN OFF
BCF PORTD, 7; FRECUENCIA NULA
BCF PORTD, 5; ES INDIFERENTE PERO CON CERO NO HAY PERDIDA
BCF PORTD, 6; DEJE EN CERO, PERO POR HARWARE ESTA A TIERRA
RETURN
;----------------------------------------------------------------FRECUENCIA_BIPOLAR
BSF PORTD, 7
Call MPulse2
BCF PORTD, 7
Call MPulse2
RETURN
;----------------------------------------------------------------FRECUENCIA_DC
BSF PORTC, 2
CALL RETARDO_1_255ms_FRECUENDC; con 43ms excelente
BCF PORTC, 2
CALL RETARDO_1_255ms_FRECUENDC; con 43ms excelente
RETURN
;-------------------------------------------------------------------
239
POSICIONAMIENTO_RE0
BTFSS PORTE, 0
CALL SUBIR_BIPOLAR23
GOTO VERIFICAR_REPOSOZ23
;------------------------------------------------------SUBIR_BIPOLAR23
SELEC_BIPO_SUBIR
CALL FRECUENCIA_BIPOLAR
RETURN
;------------------------------------------------------VERIFICAR_REPOSOZ23
BTFSS PORTE, 0
GOTO POSICIONAMIENTO_RE0
GOTO SALIR_REPOSOZ23
;------------------------------------------------------SALIR_REPOSOZ23
PLACABIPO_OFF
T1_OFF
T3_OFF
Call SELEC_DC_T2
LEDMONITOR
T2_ON
T3_ON
NOP
GOTO VOLVER20
;------------------------------------------------------POSICIONAMIENTO_RE02
BTFSS PORTE, 0
CALL SUBIR_BIPOLAR234
GOTO VERIFICAR_REPOSOZ234
240
SUBIR_BIPOLAR234
SELEC_BIPO_SUBIR
CALL FRECUENCIA_BIPOLAR
RETURN
;---------------------------------------------------------------VERIFICAR_REPOSOZ234
BTFSS PORTE, 0
GOTO POSICIONAMIENTO_RE02
GOTO SALIR_REPOSOZ234
;---------------------------------------------------------------SALIR_REPOSOZ234
PLACABIPO_OFF
T2_OFF
T1_OFF
T3_OFF
NOP
;-------------------------------------------------------------------------SELEC_DC_T1220
BTFSS PORTC, 4
CALL NO_T1220
GOTO VERIFICAR_T1220
;---------------------------------------------------------------------------NO_T1220
DC_HORARIO
CALL FRECUENCIA_DC
RETURN
;--------------------------------------------------------------------------VERIFICAR_T1220
BTFSS PORTC, 4
241
GOTO SELEC_DC_T1220
GOTO SALIR_DC_T1220
;-------------------------------------------------------------------------SALIR_DC_T1220
DC_STOP
NOP
RETURN
;####################################################################
IR_A_PERFORAR1
T3_ON
T1_ON
MOVLW .2
MOVWF CUENTAPERFORA
VOLVER20
CALL REV_BIPO_BAJAR
; BAJO 360
CALL REV_BIPO_BAJAR
; BAJO 360
CALL REV_BIPO_BAJAR
; BAJO 360
CALL REV_BIPO_BAJAR
; BAJO 360
CALL REV_BIPO_BAJAR
; BAJO 360
CALL REV_BIPO_BAJAR
; BAJO 360
LEDMONITOR
DECFSZ CUENTAPERFORA, F
GOTO POSICIONAMIENTO_RE0
GOTO POSICIONAMIENTO_RE02
;####################################################################
POSICIONAMIENTO_ZONADECARGA
BTFSS PORTA, 4; VIGILA LA LINEA 4 DEL PORTA
CALL NO_CARGA
GOTO VERIFICAR_CARGA
242
;-------------------------------------------------------------------------------NO_CARGA
CALL MEDIA_REV_UNI_HACIAM
RETURN
;--------------------------------------------------------------------------------VERIFICAR_CARGA
BTFSS PORTA, 4
GOTO POSICIONAMIENTO_ZONADECARGA
GOTO SALIR_ZONADECARGA
;---------------------------------------------------------------------------------SALIR_ZONADECARGA
NOP
GOTO MANDACOMANDO
;#######################################################
POSICIONAMIENTO_CEROY
BTFSS PORTE, 2
CALL NO_Y
GOTO VERIFICAR_CEROY
;-----------------------------------------------------------------------------------NO_Y
CALL MEDIA_REV_UNI_HACIAE
RETURN
;-----------------------------------------------------------------------------------VERIFICAR_CEROY
BTFSS PORTE, 2
GOTO POSICIONAMIENTO_CEROY
GOTO SALIR_Y
SALIR_Y
NOP
GOTO POSICIONAMIENTO_REPOSOZ
243
;####################################################################
POSICIONAMIENTO_CEROX
BTFSS PORTA, 5; CERO DE X
CALL NO_X
GOTO VERIFICAR_CEROX
;----------------------------------------------------------------------------------------------------NO_X
DESPLAX_IZQ
FASEAC_ON
CALL RETARDO_500ms
RETURN
;---------------------------------------------------------------------------------------------------VERIFICAR_CEROX
BTFSS PORTA, 5; CERO DE X
GOTO POSICIONAMIENTO_CEROX
FASEAC_OFF
GOTO SALIR_X
SALIR_X
NOP
GOTO SELEC_DC_T1
;####################################################################
POSICIONAMIENTO_REPOSOZ
BTFSS PORTE, 0; VIGILO LA LINEA 0 DEL PORTE
CALL SUBIR_BIPOLAR
GOTO VERIFICAR_REPOSOZ
;-----------------------------------------------------------------------------------------------------SUBIR_BIPOLAR
SELEC_BIPO_SUBIR
244
CALL FRECUENCIA_BIPOLAR
RETURN
;--------------------------------------------------------------------------------------------------VERIFICAR_REPOSOZ
BTFSS PORTE, 0
GOTO POSICIONAMIENTO_REPOSOZ
GOTO SALIR_REPOSOZ
SALIR_REPOSOZ
PLACABIPO_OFF
NOP
GOTO POSICIONAMIENTO_CEROX
;####################################################################
POSICIONAR_EN_REPOSO_Y_PERFORAR
BTFSS PORTE, 0; VIGILO LA LINEA 0 DEL PORTE
CALL SUBIR_BIPOLAR2
GOTO VERIFICAR_REPOSOZ2
;-----------------------------------------------------------------------------------------------------SUBIR_BIPOLAR2
SELEC_BIPO_SUBIR
CALL FRECUENCIA_BIPOLAR
RETURN
;-----------------------------------------------------------------------------------------------------VERIFICAR_REPOSOZ2
BTFSS PORTE, 0
GOTO POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO SALIR_REPOSOZ2
SALIR_REPOSOZ2
PLACABIPO_OFF
NOP
CALL IR_A_PERFORAR1; SUBRUTINA PARA PERFORAR
245
RETURN
;####################################################################
SELEC_DC_T1
HORARIO
BTFSS PORTC, 4
CALL NO_T1
GOTO VERIFICAR_T1
;-----------------------------------------------------------------------------------------------------NO_T1
DC_HORARIO
CALL FRECUENCIA_DC
RETURN
;-----------------------------------------------------------------------------------------------------VERIFICAR_T1
BTFSS PORTC, 4
GOTO SELEC_DC_T1
GOTO SALIR_DC_T1
SALIR_DC_T1
DC_STOP
NOP
GOTO RECEPCION_DATOS
;####################################################################
SELEC_DC_T2
ANTIHORARIO
BTFSS PORTC, 3
CALL NO_T2
GOTO VERIFICAR_T2
246
NO_T2
DC_ANTIHORARIO
CALL FRECUENCIA_DC
RETURN
VERIFICAR_T2
BTFSS PORTC, 3
GOTO SELEC_DC_T2
GOTO SALIR_DC_T2
;---------------------------------------------------------------------------------------------------SALIR_DC_T2
DC_STOP
NOP
Return
;####################################################################
AVANZA_1_255mmM
MOVWF YM
OMAR
MOVLW .20
MOVWF OCHENTAPULSOS
UNIPOLARMM MOVLW B0011
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
;$$$$$$$$$$$$$
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
MOVLW B0110; RD1= B2
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1100; RD2= B3
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1001; RD3= B4
247
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
DECFSZ OCHENTAPULSOS, F
GOTO UNIPOLARMM
DECFSZ YM, F
GOTO OMAR
MOVLW B'0000'
MOVWF PORTD
RETURN
;####################################################################
AVANZA_1_255mmE
MOVWF YE
OMAR2
MOVLW .20
; 20X4= 80 PULSOS
MOVWF OCHENTAPULSOS2
UNIPOLARMME
MOVLW B1100; RD3= B4
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B0110; RD2= B3
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B0011; RD1= B2
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW B1001; RD0= B1
MOVWF PORTD
CALL RETARDO_1_255ms_FRECUENUNIPOLAR
DECFSZ OCHENTAPULSOS2, F
GOTO UNIPOLARMME
DECFSZ YE, F
248
GOTO OMAR2
MOVLW B'0000'
MOVWF PORTD
RETURN
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
DATO_ENVIADO
MOVLW "L"
CALL ENVIAR
MOVLW "I"
CALL ENVIAR
MOVLW "S"
CALL ENVIAR
MOVLW "T"
CALL ENVIAR
MOVLW "O"
CALL ENVIAR
RETURN
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
ENVIAR
BCF PIR1, TXIF
MOVWF TXREG
BSF ESTADO, 5
; BANCO 1
VIGILA
BTFSS TXSTA, TRMT
GOTO VIGILA
BCF ESTADO, 5
; BANCO 0
RETURN
;$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
249
; ---------------------------RECONOCIMIENTO DE COMANDOS------------------------RECEPCION_DATOS
CALL DATO_ENTRADA
MOVLW
"!"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
ENCENDER
; se va a la etiqueta ENCENDER
MOVLW
"."
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
APAGAR
; se va a la etiqueta APAGAR
MOVLW
"#"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
AC_DERECHA
; se va a la etiqueta
MOVLW
"/"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
TALADRO1ON
; se va a la etiqueta
MOVLW
"&"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
TALADRO1OFF
; se va a la etiqueta
MOVLW
"("
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
250
BTFSC
ESTADO, Z
GOTO
TALADRO2ON
; se va a la etiqueta
MOVLW
")"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
TALADRO2OFF
; se va a la etiqueta
MOVLW
"="
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
MOTORAC_OFF
; se va a la etiqueta
MOVLW
"?"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
TALADRO3ON
; se va a la etiqueta
MOVLW
""
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
TALADRO3OFF
; se va a la etiqueta
MOVLW
"a"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
moverejey
; se va a la etiqueta
MOVLW
"e"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
251
BTFSC
ESTADO, Z
GOTO
moverejey2
; se va a la etiqueta
MOVLW
"I"
SUBWF
BTFSC
ESTADO, Z
GOTO
SELEC_T1
; se va a la etiqueta
MOVLW
"J"
SUBWF
BTFSC
ESTADO, Z
GOTO
SELEC_T2
; se va a la etiqueta
MOVLW
"P"
SUBWF
BTFSC
ESTADO, Z
GOTO
PRUEBAEJEZ ; se va a la etiqueta
MOVLW
"L"
SUBWF
BTFSC
ESTADO, Z
GOTO
RESETEO
; se va a la etiqueta
MOVLW
"["
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
POSICIONAR_Y
; se va a la etiqueta
252
MOVLW
"A"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
MODO_AUTOMATICO
MOVLW
"M"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
MODO_MANUAL
; se va a la etiqueta
MOVLW
"%"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
AC_IZQUIER
; se va a la etiqueta ENCENDER
GOTO
CMD_INVAL
; se va a etiqueta CMD_INVAL
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
; CONTROL DE ERRORES:
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ERROR_SOBRECARGA
CLRF
RCREG
BCF
RCSTA, RCEN
NOP
BSF
RCSTA, RCEN
NOP
MOVLW
"S"
CALL ENVIAR_ERROR
; W: =S
; enviamos el error a la computadora
GOTO RECEPCION_DATOS
253
ERROR_FRAMMING
CLRF
RCREG
BCF
RCSTA, RCEN
NOP
BSF
RCSTA, RCEN
NOP
MOVLW
"F"
; W:=F
CALL
ENVIAR_ERROR
GOTO
RECEPCION_DATOS
CMD_INVAL
MOVLW
"C"
; W:=C
CALL
ENVIAR_ERROR
GOTO
RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------ENVIAR_ERROR
BTFSS
PIR1, TXIF
GOTO
MOVWF TXREG
NOP
NOP
RETURN
;------------------------------------------------------------------------------------------------------
;
254
; DATO_ENTRADA
;____________________________
; =================== SUBRUTINA QUE PERMITE RECIBIR UN BYTE
DEL PUERTO DE COMUNICACION ASINCRONA Y LO GUARDA EN
RECIBIDO==========
DATO_ENTRADA
BTFSS
PIR1, RCIF
GOTO VERIFICAR
GOTO LLEVAR
LLEVAR
BTFSC
RCSTA, OERR
GOTO
ERROR_SOBRECARGA
;-------------------------------------------------------------------------------------------------BTFSC
RCSTA, FERR
GOTO
ERROR_FRAMMING
;-------------------------------------------------------------------------------------------------MOVF
RCREG, W
MOVWF
RECIBIDO
RETURN
VERIFICAR
NOP
BTFSC PORTA, 0
GOTO DATO_ENTRADA
RUTINA0
255
GOTO RECEPCION_DATOS
RUTINA1
GOTO RECEPCION_DATOS
;----------------------------------------------------------------------------------------------------; =================== SUBRUTINA QUE PERMITE RECIBIR UN BYTE
DEL PUERTO DE COMUNICACION ASINCRONA Y LO GUARDA EN
RECIBIDO==========
DATO_ENTRADA2
BTFSS
PIR1, RCIF
GOTO VERIFICAR2
GOTO LLEVAR2
LLEVAR2
BTFSC
RCSTA, OERR
GOTO
ERROR_SOBRECARGA2
BTFSC
RCSTA, FERR
GOTO
ERROR_FRAMMING2
MOVF
RCREG, W
MOVWF
RECIBIDO
RETURN
VERIFICAR2
NOP
GOTO DATO_ENTRADA2
RUTINA02
256
GOTO RECEPCION_DATOS_MANUAL
RUTINA12
GOTO RECEPCION_DATOS_MANUAL
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
; CONTROL DE ERRORES2:
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
ERROR_SOBRECARGA2
CLRF
RCREG
BCF
RCSTA, RCEN
NOP
BSF
RCSTA, RCEN
NOP
MOVLW
"S"
; W: =S
CALL
ENVIAR_ERROR2
GOTO
RECEPCION_DATOS_MANUAL
ERROR_FRAMMING2
CLRF RCREG
BCF
RCSTA, RCEN
NOP
BSF
RCSTA, RCEN
NOP
MOVLW
"F"
CALL ENVIAR_ERROR2
; W:=F
; enviamos el error a la computadora
GOTO RECEPCION_DATOS_MANUAL
257
CMD_INVAL2
MOVLW
"C"
; W:=C
CALL
GOTO
RECEPCION_DATOS_MANUAL
ENVIAR_ERROR2
BTFSS
PIR1, TXIF
TXREG
NOP
NOP
RETURN
; -------------------------------------ENCENDEMOS EL LED--------------------------------ENCENDER
LED_ON
GOTO RECEPCION_DATOS
; -------------------------------------APAGAMOS EL LED------------------------------------APAGAR
LED_OFF
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------AC_DERECHA
FASEAC_OFF
CALL RETARDO_500ms ; en 1 segundo hago esto
DESPLAX_DER
CALL RETARDO_500ms
FASEAC_ON
GOTO RECEPCION_DATOS
;------------------------------------------------------------------------------------------------------
AC_IZQUIER
258
FASEAC_OFF
CALL RETARDO_500ms
DESPLAX_IZQ
CALL RETARDO_500ms
FASEAC_ON
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------TALADRO1ON
T1_ON
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------TALADRO1OFF
T1_OFF
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------TALADRO2ON
T2_ON
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------TALADRO2OFF
T2_OFF
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------MOTORAC_OFF
FASEAC_OFF
CALL RETARDO_500ms
DESPLAX_IZQ
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------TALADRO3ON
259
T3_ON
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------TALADRO3OFF
T3_OFF
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------Moverejey
Nop
POSICIONAMIENTO_ZONADECARGA2
BTFSS PORTA, 4; VIGILA LA LINEA 4 DEL PORTA
CALL NO_CARGA2
GOTO VERIFICAR_CARGA2
;-----------------------------------------------------------------------------------------------------NO_CARGA2
CALL MEDIA_REV_UNI_HACIAM
MOTOR
RETURN
;-----------------------------------------------------------------------------------------------------VERIFICAR_CARGA2
BTFSS PORTA, 4
GOTO POSICIONAMIENTO_ZONADECARGA2
GOTO SALIR_ZONADECARGA2
SALIR_ZONADECARGA2
NOP
GOTO RECEPCION_DATOS
;------------------------------------------------------------------------------------------------------
moverejey2
260
Nop
POSICIONAMIENTO_CEROY2
BTFSS PORTE, 2
CALL NO_Y2
GOTO VERIFICAR_CEROY2
;-----------------------------------------------------------------------------------------------------NO_Y2
CALL MEDIA_REV_UNI_HACIAE
RETURN
;-----------------------------------------------------------------------------------------------------VERIFICAR_CEROY2
BTFSS PORTE, 2; CERO DE Y
GOTO POSICIONAMIENTO_CEROY2
GOTO SALIR_Y2
SALIR_Y2
NOP
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------SELEC_T1
NOP
SELEC_DC_T12
HORARIO
BTFSS PORTC, 4
CALL NO_T12
GOTO VERIFICAR_T12
;------------------------------------------------------------------------------------------------------
NO_T12
261
DC_HORARIO
CALL FRECUENCIA_DC
RETURN
;-----------------------------------------------------------------------------------------------------VERIFICAR_T12
BTFSS PORTC,4
GOTO SELEC_DC_T12
GOTO SALIR_DC_T12
SALIR_DC_T12
DC_STOP
NOP
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------SELEC_T2
NOP
SELEC_DC_T22
ANTIHORARIO
BTFSS PORTC, 3
CALL NO_T22
GOTO VERIFICAR_T22
;-----------------------------------------------------------------------------------------------------NO_T22
DC_ANTIHORARIO
CALL FRECUENCIA_DC
RETURN
;-----------------------------------------------------------------------------------------------------VERIFICAR_T22
BTFSS PORTC, 3
GOTO SELEC_DC_T22
GOTO SALIR_DC_T22
262
SALIR_DC_T22
DC_STOP
NOP
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------PRUEBAEJEZ
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------RESETEO
CONDI_I
GOTO RECEPCION_DATOS
;-----------------------------------------------------------------------------------------------------POSICIONAR_Y
GOTO POSICIONAMIENTO_CEROY; SE VA A LA ETIQUETA PARA
POSICIONAR Y
;-----------------------------------------------------------------------------------------------------; ###################################################################
; ##
TIEMPO
; ###################################################################
; PIC Time Delay = 0, 00200040 s with Osc = 20000000 Hz
MPulse2
Movlw D'13'
Movwf CounterB
Movlw D'251'
Movwf CounterA
Ploop decfsz CounterA, 1
Goto Ploop
Decfsz CounterB, 1
263
Goto Ploop
Retlw 0
;-----------------------------------------------------------------------------------------------------RETARDO_500ms
Movlw
.22
Movwf
PDel0
;1|
PLoop0 movlw
.134
Movwf
PDel1
;1|
PLoop1 movlw
.211
(A)
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
Movwf
PDel2
PLoop2 clrwdt
;1
; 1 clear
watchdog
;""""""""""""""""""""""""""""""""""""""""""""""""""""""
PLoop2
; 2 no, loop
PLoop1
; 2 no, loop
PLoop0
; 2 no, loop
; 2 ciclos delay
PDelL2 clrwdt
; 1 ciclo delay
Return
; 2+2 Fin.
;####################################################################
RETARDO_20ms
; RETARDO DE 20 milisegundos
Movlw
.110
Movwf
PDel2.
;1|
PLoop8 movlw
(A)
Movwf
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
PDel3.
264
PLoop9 clrwdt
watchdog
; 1 clear
;""""""""""""""""""""""""""""""""""""""""""""""""""""""
"
Clrwdt
; 1 ciclo delay
Decfsz PDel3., 1
Goto
; 2 no, loop
PLoop9
Decfsz PDel2., 1
Goto
; 2 no, loop
PLoop8
; 2 ciclos delay
; 1 ciclo delay
Return
; 2+2 Fin.
;####################################################################
RETARDO_2ms
Movlw D'13'
Movwf CounterB2
VPloop movlw D251
Movwf CounterA2
Decfsz CounterA2, 1
Goto vPloop
Decfsz CounterB2,1
Goto vPloop
Retlw 0
;####################################################################
RETARDO_20us
Movlw
.19
Movwf
PDel00
;1|
ALoop0
nop
265
Clrwdt
Decfsz
PDel00, 1
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
Goto
ALoop0
; 2 no, loop
; 2 cycles delay
ADelL2 return
;####################################################################
RETARDO_1_255ms
MOVLW .255
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TIEMPO_SER0
MOVWF
ZZ
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
T_XX MOVLW
MOVWF
XX
T_YY MOVLW
MOVWF
.98
.9
YY
NOP
NOP
SIGUE0
;"""""""""""""""""""""""""""""""
""""""""""""""""""""""""
Clrwdt
NOP
DECFSZ
YY, 1
GOTO SIGUE0
DECFSZ
XX, 1
GOTO T_YY
DECFSZ
GOTO T_XX
RETURN
ZZ, f
266
;####################################################################
RETARDO_4ms
MOVLW
.21
MOVWF
PDEL04
;1|
PLOOP1 MOVLW
MOVWF
.237
PDEL14
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
PLOOP2 CLRWDT
DECFSZ PDEL14, 1
(A)
GOTO
; 1 + (1) ES EL TIEMPO 0 ?
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
PLOOP2
; 2 NO, LOOP
DECFSZ PDEL04, 1
GOTO
; 2 NO, LOOP
PLOOP1
; 2 CICLOS DELAY
PDELL2 CLRWDT
; 1 CICLO DELAY
RETURN
; 2+2 FIN.
;####################################################################
RETARDO_1_255ms_FRECUENUNIPOLAR
MOVLW .6
TIEMPO_SER1
MOVWF UNI
T_PO
MOVLW
.98
MOVWF
PO
T_LAR
MOVLW
.9
MOVWF
LAR
NOP
NOP
267
SIGUE1
;"""""""""""""""""""""""""""""""
""""""""""""""""""""""""
Clrwdt
NOP
DECFSZ
LAR, 1
GOTO
SIGUE1
DECFSZ
PO, 1
GOTO
T_LAR
DECFSZ
UNI, f
GOTO
T_PO
RETURN
;####################################################################
RETARDO_1_255ms_FRECUENBIPOLAR
MOVLW .255
TIEMPO_SER2
MOVWF BI
T_POL
MOVLW
.98
MOVWF
POL
T_AR
MOVLW
.9
MOVWF
AR
NOP
NOP
SIGUE2
Clrwdt
NOP
DECFSZ
AR, 1
GOTO
SIGUE2
DECFSZ
POL, 1
268
GOTO
T_AR
DECFSZ
BI, f
GOTO
T_POL
RETURN
;####################################################################
RETARDO_1_255ms_FRECUENDC
MOVLW .43
TIEMPO_SER3
MOVWF BIDC
T_POLDC
MOVLW
MOVWF
POLDC
T_ARDC
MOVLW
MOVWF
ARDC
.98
.9
;"""""""""""""""""""""""""""""""""""""""""""""""""""""""
NOP
NOP
SIGUE3
;"""""""""""""""""""""""""""""""
""""""""""""""""""""""""
Clrwdt
NOP
DECFSZ
ARDC, 1
GOTO
SIGUE3
DECFSZ
POLDC, 1
GOTO
T_ARDC
DECFSZ
BIDC, f
GOTO
T_POLDC
RETURN
;####################################################################
269
; ###################################################################
; ###
###
; ###################################################################
REINICIAR_DIGITOS
CLRF DIGITO_1
; MOVLW .48
; ADDWF DIGITO_1
CLRF DIGITO_2
; MOVLW .48
; ADDWF DIGITO_2
CLRF DIGITO_3
; MOVLW .48
; ADDWF DIGITO_3
CLRF DIGITO_4
; MOVLW .48
; ADDWF DIGITO_4
CLRF DIGITO_5
; MOVLW .48
; ADDWF DIGITO_5
RETURN
;----------------------------
270
; ###################################################################
; ###
; ###################################################################
BCD_16
Bcf
ESTADO, 0
Movlw .16
Movwf count
Clrf
R0
Clrf
R1
Clrf
R2
loop16
Rlf
L_BYTE, F
Rlf
H_BYTE, F
Rlf
R2, F
Rlf
R1, F
Rlf
R0, F
Decfsz count, F
Goto
adjDEC
RETLW 0
AdjDEC
Movlw R2
Movwf FSR
Call adjBCD
Movlw R1
Movwf FSR
Call adjBCD
Movlw R0
Movwf FSR
Call adjBCD
Goto
loop16
271
AdjBCD
Movlw 3
Addwf 0, W
Movwf temp
Btfsc temp, 3
Movwf 0
Movlw 30
Addwf 0, W
Movwf temp
Btfsc temp, 7
Movwf 0
RETLW 0
;----------------------------;####################################################################
; ###
; ###
;####################################################################
MOS_BCD
MOVF R0, W
ADDLW .48
MOVWF DIGITO_1
SWAPF R1, W
ANDLW 0FH
ADDLW .48
MOVWF DIGITO_2
MOVF R1, W
ANDLW 0FH
272
ADDLW .48
MOVWF DIGITO_3
SWAPF R2, W
ANDLW 0FH
ADDLW .48
MOVWF DIGITO_4
MOVF R2, W
ANDLW 0FH
ADDLW .48
MOVWF DIGITO_5
RETURN
; ###################################################################
; ###
; ###################################################################
RUTINA_MUESTRA
MOVLW " "
CALL ENVIAR
MOVF DIGITO_1,0; decena de mil
CALL ENVIAR
MOVF DIGITO_2,0; unidad de mil
CALL ENVIAR
MOVF DIGITO_3,0; centena
CALL ENVIAR
MOVF DIGITO_4,0; decena
CALL ENVIAR
MOVF DIGITO_5,0; unidad
CALL ENVIAR
273
; ##
; ##
DECIMAL 3 DIGITOS
; ###################################################################
ENVIAR_DECIMAL_3DIGITOS_PC
MOVWF L_BYTE
MOVLW .0
MOVWF H_BYTE
CALL REINICIAR_DIGITOS
CALL BCD_16
CALL MOS_BCD
;-----------------------MOVF DIGITO_3,0; centena
CALL ENVIAR
MOVF DIGITO_4,0; decena
CALL ENVIAR
MOVF DIGITO_5,0; unidad
CALL ENVIAR
;-----------------------RETURN
274
;-----------------------------------------------------------------------------------------------------;
MODO MANUAL
COORDENADAS (X, Y)
;-----------------------------------------------------------------------------------------------------MODO_MANUAL
MOVLW .20
MOVWF TOTALCASILLAS; el total son 20 casillas para coordenada en visual
CLRF CASILLA
CLRF H_BYTE
CLRF L_BYTE
CLRF H_BYTE_TEMP
CLRF L_BYTE_TEMP
CLRF PULSOS_PARA_LLEGAR
CLRF Pulsaciones
RECEPCION_DATOS_MANUAL CALL DATO_ENTRADA2
LEDMONITOR
;-----------------------------------------------------------------------MOVLW
"1"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
CARGA_W1
; se va a la etiqueta ENCENDER
MOVLW
"2"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
CARGA_W2
; se va a la etiqueta ENCENDER
MOVLW
"3"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
275
BTFSC
GOTO
MOVLW
"4"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
CARGA_W4
; se va a la etiqueta ENCENDER
MOVLW
"5"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_W5
; se va a la etiqueta ENCENDER
MOVLW
"6"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_W6
; se va a la etiqueta ENCENDER
MOVLW
"7"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_W7
; se va a la etiqueta ENCENDER
MOVLW
"8"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_W8
; se va a la etiqueta ENCENDER
MOVLW
"9"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
276
BTFSC
ESTADO, Z
GOTO CARGA_W9
; se va a la etiqueta ENCENDER
MOVLW
"v"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
COMIENZA_MANUAL
MOVLW
"*"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_W9
; se va a la etiqueta ENCENDER
GOTO CMD_INVAL2
; se va a etiqueta CMD_INVAL
;------------------------------------------------------------------------COMIENZA_MANUAL
CALL DATO_ENVIADO
LEDMONITOR
INCF CASILLA, 1
MOVF CASILLA, 0
ADDLW .48
CALL ENVIAR
GOTO RECEPCION_DATOS_MANUAL
;------------------------------------------------------------------------CARGA_W1
MOVLW .1
GOTO PULSOS_DESDE_1_255
CARGA_W2
MOVLW .2
GOTO PULSOS_DESDE_1_255
277
CARGA_W3
MOVLW .3
GOTO PULSOS_DESDE_1_255
CARGA_W4
MOVLW .4
GOTO PULSOS_DESDE_1_255
CARGA_W5
MOVLW .5
GOTO PULSOS_DESDE_1_255
CARGA_W6
MOVLW .6
GOTO PULSOS_DESDE_1_255
CARGA_W7
MOVLW .7
GOTO PULSOS_DESDE_1_255
CARGA_W8
MOVLW .8
GOTO PULSOS_DESDE_1_255
CARGA_W9
MOVLW .9
GOTO PULSOS_DESDE_1_255
278
279
TES_3
BTFSC
PORTB, 0
GOTO
TES_3
CALL
RETARDO_20ms
TES_4
BTFSC
PORTB, 0
GOTO
TES_4
;------------------------------------------------------------------CALL CUENTA_ENVIAR_DECIMAL_5DIGITOS_PC2
GOTO TESTEO_PIN2
;-----------------------------------------------------------------------------------------------------CUENTA_ENVIAR_DECIMAL_5DIGITOS_PC2
INCFSZ Pulsaciones, 1
GOTO
SEGUIR3
GOTO
SEGUIR4
SEGUIR3
MOVF
Pulsaciones, 0
MOVWF
GOTO
L_BYTE
MOSTRAR2
SEGUIR4
CLRF L_BYTE
INCF
H_BYTE_TEMP, F
CALL LLEGUE_YA
GOTO MOSTRAR2
;---------------------------------------LLEGUE_YA
MOVF PULSOS_PARA_LLEGAR, 0
280
XORWF H_BYTE_TEMP, W
BTFSC ESTADO, Z
GOTO SALIR_PULSOS2
RETURN
;---------------------------------------MOSTRAR2
MOVF H_BYTE_TEMP, 0
MOVWF H_BYTE
CALL BCD_16
CALL MOS_BCD
MOVLW " "
CALL ENVIAR
MOVF DIGITO_1,0; decena de mil
CALL ENVIAR
MOVF DIGITO_2,0; unidad de mil
CALL ENVIAR
MOVF DIGITO_3,0; centena
CALL ENVIAR
MOVF DIGITO_4,0; decena
CALL ENVIAR
MOVF DIGITO_5,0; unidad
CALL ENVIAR
MOVLW " "
CALL ENVIAR
RETURN
;-----------------------------------------------------------------------------------------------------SALIR_PULSOS2
MOVF H_BYTE_TEMP, 0
MOVWF H_BYTE
CALL BCD_16
281
CALL MOS_BCD
MOVLW " "
CALL ENVIAR
MOVF DIGITO_1,0; decena de mil
CALL ENVIAR
MOVF DIGITO_2,0; unidad de mil
CALL ENVIAR
MOVF DIGITO_3,0; centena
CALL ENVIAR
MOVF DIGITO_4,0; decena
CALL ENVIAR
MOVF DIGITO_5,0; unidad
CALL ENVIAR
MOVLW " "
CALL ENVIAR
CALL REINICIAR_DIGITOS
CLRF H_BYTE
CLRF L_BYTE
CLRF H_BYTE_TEMP
CLRF PULSOS_PARA_LLEGAR
CLRF Pulsaciones
CLRF W
LEDMONITOR
GOTO $
282
FASEAC_OFF
NOP
NOP
DESPLAX_DER
NOP
NOP
FASEAC_ON
GOTO TESTEO_PIN
;-------------------------------------------------------------------TESTEO_PIN; RUTINA QUE TESTEA LOS PULSOS EXTERNOS
BTFSS PORTB, 0
GOTO $-1
;-------------------------------------------------------------------ANTIR_1
CALL RETARDO_20ms
BTFSS PORTB, 0
GOTO ANTIR_1
TES_1
BTFSC PORTB, 0
GOTO TES_1
CALL
RETARDO_20ms
283
TES_2
BTFSC PORTB, 0
GOTO TES_2
;------------------------------------------------------------------CALL CUENT_ENVIAR_DECIMAL_5DIGITOS_PC3
GOTO TESTEO_PIN
;------------------------------------------------------------------CUENT_ENVIAR_DECIMAL_5DIGITOS_PC3
INCFSZ Pulsaciones, 1
GOTO
SEGUIR1
GOTO
SALIR_PULSOS
SEGUIR1
MOVF
Pulsaciones, 0
MOVWF
L_BYTE
INCF
L_BYTE_TEMP, F
CALL
LLEGUE_YA2
GOTO
MOSTRAR
;---------------------------------------LLEGUE_YA2
MOVF
PULSOS_PARA_LLEGAR1_255,0
XORWF L_BYTE_TEMP,W
BTFSC
ESTADO, Z
GOTO
SALIR_PULSOS
RETURN
;--------------------------------------MOSTRAR
MOVF H_BYTE_TEMP, 0
MOVWF H_BYTE
284
CALL BCD_16
CALL MOS_BCD
MOVLW " "
CALL ENVIAR
MOVF DIGITO_1,0; decena de mil
CALL ENVIAR
MOVF DIGITO_2,0; unidad de mil
CALL ENVIAR
MOVF DIGITO_3,0; centena
CALL ENVIAR
MOVF DIGITO_4,0; decena
CALL ENVIAR
MOVF DIGITO_5,0; unidad
CALL ENVIAR
MOVLW " "
CALL ENVIAR
RETURN
;---------------------------------------SALIR_PULSOS
FASEAC_OFF
DESPLAX_IZQ
ENCODERS_OFF
MOVF H_BYTE_TEMP, 0
MOVWF H_BYTE
CALL BCD_16
CALL MOS_BCD
MOVLW " "
CALL ENVIAR
MOVF DIGITO_1,0
CALL ENVIAR
; decena de mil
285
286
VERIFICAR_CEROX2
BTFSS PORTA, 5; CERO DE X
GOTO POSICIONAMIENTO_CEROX2
FASEAC_OFF
GOTO SALIR_X2
SALIR_X2
NOP
GOTO MODO_MANUAL
;####################################################################
EJEY_MANUAL
CALL DATO_ENVIADO
LEDMONITOR
INCF CASILLA, 1
MOVF CASILLA, 0
ADDLW .48
CALL ENVIAR
CALL DATO_ENTRADA2; AL REGRESAR EN RECIBIDO ESTA EL DATO
MOVLW
"1"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_Y1
; se va a la etiqueta ENCENDER
MOVLW
"2"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_Y2
; se va a la etiqueta ENCENDER
MOVLW
"3"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
287
BTFSC
GOTO
MOVLW
"4"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
CARGA_Y4
; se va a la etiqueta ENCENDER
MOVLW
"5"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_Y5
; se va a la etiqueta ENCENDER
MOVLW
"6"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_Y6
; se va a la etiqueta ENCENDER
MOVLW
"7"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_Y7
; se va a la etiqueta ENCENDER
MOVLW
"8"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO CARGA_Y8
; se va a la etiqueta ENCENDER
MOVLW
"9"
SUBWF
RECIBIDO,W
; hacemos W:=RECIBIDO-W
288
BTFSC
GOTO CARGA_Y9
; se va a la etiqueta ENCENDER
MOVLW
"*"
SUBWF
RECIBIDO, W
; hacemos W:=RECIBIDO-W
BTFSC
ESTADO, Z
GOTO
CARGA_Y9
; se va a la etiqueta ENCENDER
GOTO
CMD_INVAL2
; se va a etiqueta CMD_INVAL
;-----------------------------------------------------------------------------------------------------CARGA_Y1
MOVLW .1
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
CARGA_Y2
MOVLW .2
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
289
CARGA_Y3
MOVLW .3
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
CARGA_Y4
MOVLW .4
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
CARGA_Y5
MOVLW .5
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
290
CARGA_Y6
MOVLW .6
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
CARGA_Y7
MOVLW .7
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
CARGA_Y8
MOVLW .8
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
291
CARGA_Y9
MOVLW .9
CALL AVANZA_1_255mmM
CALL DATO_ENVIADO
LEDMONITOR
MOVLW " "
CALL ENVIAR
CALL POSICIONAR_EN_REPOSO_Y_PERFORAR
GOTO POSICIONAMIENTO_CEROX22
;-----------------------------------------------------------------------------------------------------POSICIONAMIENTO_CEROX22
BTFSS PORTA, 5; CERO DE X
CALL NO_X22
GOTO VERIFICAR_CEROX22
NO_X22
DESPLAX_IZQ
FASEAC_ON
CALL RETARDO_500ms
RETURN
VERIFICAR_CEROX22
BTFSS PORTA, 5; CERO DE X
GOTO POSICIONAMIENTO_CEROX22
FASEAC_OFF
GOTO SALIR_X22; OTRA ETIQUETA
SALIR_X22
NOP
GOTO POSICIONAMIENTO_CEROY30
292
;-------------------------------------------------------------POSICIONAMIENTO_CEROY30
BTFSS PORTE, 2
CALL NO_Y30
GOTO VERIFICAR_CEROY30
NO_Y30
CALL MEDIA_REV_UNI_HACIAE
RETURN
VERIFICAR_CEROY30
BTFSS PORTE, 2; CERO DE Y
GOTO POSICIONAMIENTO_CEROY30
GOTO SALIR_Y30; OTRA ETIQUETA
SALIR_Y30
NOP
GOTO POSICIONAMIENTO_REPOSOZ30
;-----------------------------------------------------------------POSICIONAMIENTO_REPOSOZ30
BTFSS PORTE, 0; VIGILO LA LINEA 0 DEL PORTE
CALL SUBIR_BIPOLAR30
GOTO VERIFICAR_REPOSOZ30
;-----------------------------------------------------------------------------------------------------SUBIR_BIPOLAR30
SELEC_BIPO_SUBIR
CALL FRECUENCIA_BIPOLAR
RETURN
;------------------------------------------------------------------------------------------------------
293
VERIFICAR_REPOSOZ30
BTFSS PORTE, 0
GOTO POSICIONAMIENTO_REPOSOZ30
GOTO SALIR_REPOSOZ30
SALIR_REPOSOZ30
PLACABIPO_OFF
NOP
MOVF CASILLA, 0
XORWF TOTALCASILLAS, W
BTFSS ESTADO, Z
GOTO COMIENZA_MANUAL
MOVLW "&"
CALL ENVIAR
GOTO MODO_MANUAL; SE DEVUELVE AL PRINCIPIO PARA MANUAL
;-----------------------------------------------------------------------------------------------------;
MODO AUTOMATICO
COORDENADAS (X, Y)
;-----------------------------------------------------------------------------------------------------MODO_AUTOMATICO
CLRF CoordX
CLRF CoordY
CLRF CoordX_temp
CLRF CoordY_temp
CLRF Coord_aux
CLRF CoordCount
CLRF PulseCount
CLRF Pulsaciones
294
GOTO OTRA_RUTINA2
;-----------------------------------OTRA_RUTINA
LEDMONITOR
GOTO $
;----------------------------------OTRA_RUTINA2
Movlw .255
;-----------------------------------CALL ENVIAR_DECIMAL_3DIGITOS_PC
GOTO ESPERA_X
;###################################################################
; ###
; ###
;####################################################################
; VARIABLES DE ENTRADA
; CoordX, CoordY, CoordX_temp, CoordY_temp
; coord_aux, CoordCount, pulsaciones, pulseCount
ESPERA_X BTFSS PIR1, RCIF; SI ESTA EN CERO NO HAY DATO EN
BUFFER
Goto
ESPERA_X
MOVF RCREG, W
CERO
MOVWF
CoordX
SUBLW
.255
; LITERAL - W = W
BTFSC
ESTADO, Z
Goto OTRA_RUTINA
295
Nop
ESPERA_Y
BTFSSPIR1, RCIF
Goto
ESPERA_Y
MOVFRCREG, W
MOVWF
CoordY
;---------------------------------------------------------------------------Caso_X
Nop
Nop
BSF SENTIDO, 0
MOVLW
.33
SUBWF
CoordX, W
BTFSC
ESTADO, Z
Goto
GUARDA_X
; en el lmite
BTFSC
ESTADO, C
; menor al lmite
Goto
OTRA_RUTINA2
;---------------------------------------------------------------------------GUARDA_X
MOVF
CoordX, W
MOVWF
Coord_aux
MOVF
SUBWF
CoordX, f
SelectX
BTFSC
ESTADO, Z
Goto
RESPALDAR_X
BTFSC
ESTADO, C
Goto
RESPALDAR_X
Bcf
SENTIDO, 0
MOVF
Coord_aux, W
; guarda Coordenada en W
; CoordX=CoordX_temp
296
SUBWF
CoordX_temp, W
MOVWF
CoordX
; CoordX_temp - w = w
RESPALDAR_X
MOVF
Coord_aux, W
MOVWF
CoordX_temp
MotorX
MOVF
CoordX, W
; resultado (CoordX)
LEDMONITOR
;---------------------------------------------------------------------------MOVF
CoordX, W
BTFSC
ESTADO, Z
Goto
ContX3
MOVWF
CoordCount
Goto LOOPX4
LOOPXC
MOVLW
.200
SUBWF
Pulsaciones, W
BTFSC
ESTADO, Z
; PULSACIONES-LITERAL = W
Goto LOOPX4
; igual
BTFSSESTADO, C
Goto LOOPX3
; falt Pulsaciones<literal
SUBLW
; W=literal-Pulsaciones
.200
Goto LOOPXM
;----------------------------------------------------------------------------LOOPX3
MOVLW
MOVWF
PulseCount
MOVF
Pulsaciones, W
SUBWF
PulseCount, W
; W=literal-Pulsaciones
ADDLW
.200
; W=literal+W
Goto LOOPXM
.200
297
;----------------------------------------------------------------------------LOOPX4
MOVLW
.200
LOOPXM
MOVWF
PulseCount
; avance de 1mm
CLRF Pulsaciones
Btfsc SENTIDO, 0
; TESTEO BIT 0
GOTO DERECHA
GOTO IZQUIERDA
DERECHA
DESPLAX_DER
ENCODER_X
GOTO SIGUE
IZQUIERDA
DESPLAX_IZQ
ENCODER_X
GOTO SIGUE
;-------------------------------------------------------------------------------SIGUE
MOVLW
b'10010000'
MOVWF
INTCON
LOOPX5
FASEAC_ON
DECFSZ
PulseCount, 1
Goto
LOOPX5
FASEAC_OFF
DECFSZ
CoordCount, 1
Goto
LOOPXC
MOVLW
b'00010000'
MOVWF
INTCON
298
ENCODERS_OFF
;---------------------------------------------------------------------------------MOVLW
.200
SUBWF
Pulsaciones, W
BTFSC
ESTADO, Z
Goto
ContX3
BTFSS
ESTADO, C
; exceso
Goto
LOOPX6
; falt Pulsaciones<180
BTFSC
SENTIDO, 0
Goto LOOPX10
BSF
SENTIDO, 0
DESPLAX_DER
Goto LOOPX9
;----------------------------------------------------------------------------------LOOPX10
BCF
SENTIDO, 0
DESPLAX_IZQ
LOOPX9
; LO PONGO A LA IZQUIERDA
SUBLW
.200
; W=LITERAL-Pulsaciones
Goto LOOPX7
LOOPX6
MOVLW
.200
MOVWF
PulseCount
MOVF
Pulsaciones, W
SUBWF
PulseCount, W
LOOPX7
MOVWF
PulseCount
CLRF Pulsaciones
LOOPX8
DECFSZ
FASEAC_ON
PulseCount, 1
Goto LOOPX8
FASEAC_OFF
; W=LITERAL-Pulsaciones
299
ContX3
OTRA_RUTINA3
MOTORES
; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
;%
; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
START
CALL CONFI_P
; configuracin de puertos.
CONDI_I
Nop
; PAUSA DE 200NANOSEG
LEDMONITOR
; GOTO $
; CONFIGURA LA USART
CALL DATO_ENVIADO
GOTO $
GOTO RECEPCION_DATOS
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
END
300
301
COMANDO17.Visible = False
COMANDO18.Visible = False
COMANDO10.Caption = "EJE Y"
COMANDO9.Visible = True
COMANDO11.Visible = True
COMANDO10.Caption = "EJE Y"
V1 = "L"
MSComm1.Output = V1
COMANDO19.Visible = True
End If
End If
End Sub
Private Sub COMANDO11_Click ()
If COMANDO11.Caption = "EJE Z" Then
COMANDO9.Visible = False
COMANDO10.Visible = False
COMANDO14.Visible = True
COMANDO15.Visible = True
COMANDO16.Visible = False
COMANDO19.Visible = False
COMANDO11.Caption = "SALIR DEL EJE Z"
Else
If COMANDO11.Caption = "SALIR DEL EJE Z" Then
V1 = "&"
MSComm1.Output = V1
COMANDO14.Visible = False
COMANDO15.Visible = False
COMANDO16.Visible = False
COMANDO11.Caption = "EJE Z"
302
COMANDO9.Visible = True
COMANDO10.Visible = True
V1 = "L"
MSComm1.Output = V1
COMANDO19.Visible = True
End If
End If
End Sub
Private Sub COMANDO12_Click ()
If COMANDO12.Caption = "MOVER A LA IZQUIERDA" Then
V1 = "%"
MSComm1.Output = V1
COMANDO13.Visible = False
COMANDO12.Caption = "DETENER"
Else
If COMANDO12.Caption = "DETENER" Then
V1 = "="
MSComm1.Output = V1
COMANDO12.Caption = "MOVER A LA IZQUIERDA"
COMANDO13.Visible = True
End If
End If
End Sub
Private Sub COMANDO13_Click ()
If COMANDO13.Caption = "MOVER A LA DERECHA" Then
V1 = "#"
MSComm1.Output = V1
COMANDO12.Visible = False
303
COMANDO13.Caption = "DETENER"
Else
If COMANDO13.Caption = "DETENER" Then
V1 = "="
MSComm1.Output = V1
COMANDO12.Visible = True
COMANDO13.Caption = "MOVER A LA DERECHA"
End If
End If
End Sub
Private Sub COMANDO14_Click ()
If COMANDO14.Caption = "TALADRO1 ON" Then
V1 = "/"
MSComm1.Output = V1
COMANDO16.Visible = True
COMANDO16.Caption = "PERFORAR"
COMANDO15.Visible = False
COMANDO14.Caption = "TALADRO 1 OFF"
Else
If COMANDO14.Caption = "TALADRO 1 OFF" Then
V1 = "&"
MSComm1.Output = V1
COMANDO14.Caption = "TALADRO1 ON"
COMANDO15.Visible = True
COMANDO16.Visible = False
V1 = "L"
MSComm1.Output = V1
End If
End If
304
End Sub
Private Sub COMANDO15_Click ()
If COMANDO15.Caption = "TALADRO2 ON" Then
V1 = "("
MSComm1.Output = V1
COMANDO14.Visible = False
COMANDO16.Caption = "PERFORAR"
COMANDO16.Visible = True
COMANDO15.Caption = "TALADRO2 OFF"
Else
If COMANDO15.Caption = "TALADRO2 OFF" Then
V1 = ")"
MSComm1.Output = V1
COMANDO14.Visible = True
COMANDO16.Visible = False
COMANDO15.Caption = "TALADRO2 ON"
V1 = "L"
MSComm1.Output = V1
End If
End If
End Sub
Private Sub COMANDO16_Click ()
If COMANDO16.Caption = "PERFORAR" Then
V1 = "P"
MSComm1.Output = V1
COMANDO16.Caption = "DETENER"
305
Else
If COMANDO16.Caption = "DETENER" Then
V1 = "L"
MSComm1.Output = V1
COMANDO16.Visible = False
COMANDO14.Visible = True
COMANDO14.Caption = "TALADRO1 ON"
COMANDO15.Caption = "TALADRO2 ON"
COMANDO15.Visible = True
End If
End If
End Sub
Private Sub COMANDO17_Click ()
If COMANDO17.Caption = "MOVER HACIA MOTOR" Then
V1 = "a"
MSComm1.Output = V1
COMANDO17.Caption = "DETENER"
COMANDO18.Visible = False
Else
If COMANDO17.Caption = "DETENER" Then
V1 = "L"
MSComm1.Output = V1
COMANDO18.Visible = True
COMANDO17.Caption = "MOVER HACIA MOTOR"
End If
End If
End Sub
Private Sub COMANDO18_Click ()
306
307
End If
End If
End Sub
Private Sub comando2_Click (Index as Integer)
If comando2 (0).Caption = "MANUAL" Then
MSComm1.CommPort = 10 'AQUI PENDIENTE QUE ESTE COM10 DE MI CPU
MSComm1.Settings = "9600, N, 8, 1"
MSComm1.Handshaking = 0 'No existe control de flujo
'MSComm1.InBufferSize por defecto longitud completa
'MSComm1.OutBufferSize por defecto longitud completa
'MSComm1.InputMode por defecto caracteres
MSComm1.RThreshold = 0
MSComm1.SThreshold = 0
MSComm1.InputLen = 8
MSComm1.Output = V1
308
Combo1.Visible = True
Label5.Visible = True
Label11.Visible = True
Label12.Visible = True
Label13.Visible = True
Label14 (0).Visible = True
Label15 (1).Visible = True
Label16 (1).Visible = True
Label17 (0).Visible = True
Text1 (0).Visible = True
Text2 (1).Visible = True
Text3 (2).Visible = True
Text4 (3).Visible = True
Text5 (4).Visible = True
Text6 (5).Visible = True
Text7 (6).Visible = True
Text8 (7).Visible = True
Text9 (8).Visible = True
Text10 (9).Visible = True
Text11 (10).Visible = True
Text12 (11).Visible = True
Text13 (12).Visible = True
Text14 (13).Visible = True
Text15 (14).Visible = True
Text16 (15).Visible = True
Text17 (16).Visible = True
Text18 (17).Visible = True
Text19 (18).Visible = True
Text20 (19).Visible = True
Text21.Visible = True
309
COMANDO7.Visible = False
Timer1.Enabled = False
MSComm1.PortOpen = False ' AQUI QUITAR
End If
End Sub
MSComm1.Output = V1
310
Else
If comando21.Caption = "DESCONECTAR" Then
MSComm1.PortOpen = False
Timer1.Enabled = False
comando21.Caption = "CONECTAR Y ENVIAR M"
End If
End If
End Sub
Private Sub comando3_Click (Index as Integer)
If comando3 (1).Caption = "AUTOMATICO" Then
MSComm1.CommPort = 10 'AQUI PENDIENTE QUE ESTE COM10 DE MI CPU
MSComm1.Settings = "9600, N, 8, 1"
MSComm1.Handshaking = 0 'No existe control de flujo
'MSComm1.InBufferSize por defecto longitud completa
'MSComm1.OutBufferSize por defecto longitud completa
'MSComm1.InputMode por defecto caracteres
MSComm1.RThreshold = 0
MSComm1.SThreshold = 0
MSComm1.InputLen = 8
MSComm1.Output = V1
menuarchivo.Visible = True
comando2 (0).Visible = False
comando3 (1).Visible = False
Label6 (1).Visible = False
311
Label8.Visible = True
Label9.Visible = True
List1.Visible = True
Picture2.Visible = False
Label10.Caption = "BUSQUE EL ARCHIVO"
Label10.Visible = True
Label7 (0).Caption = "SOFTWARE PARA AADIR EL ARCHIVO QUE POSEE
LOS DATOS DE PERFORACION"
Label5.Visible = True
Label5.Left = 7180
Combo1.Visible = True
Combo1.Left = 8500
COMANDO1.Visible = True
COMANDO1.Left = 7205
COMANDO7.Visible = False
COMANDO1.Top = 5100
COMANDO5.Visible = True
COMANDO5.Left = 7205
COMANDO5.Top = 4500
COMANDO6.Visible = True
COMANDO6.Left = 7205
COMANDO6.Top = 5700
Timer1.Enabled = False
MSComm1.PortOpen = False ' AQUI QUITAR
End If
End Sub
312
MSComm1.Output = V1
Picture2.Visible = True
comando2 (0).Visible = True
comando3 (1).Visible = True
Label6 (1).Visible = True
comando4.Visible = False
Picture3.Visible = False
COMANDO7.Visible = True
Timer1.Enabled = False
MSComm1.PortOpen = False AQUI QUITAR
End If
End Sub
313
314
COMANDO10.Visible = True
COMANDO11.Caption = "EJE Z"
COMANDO11.Visible = True
COMANDO14.Visible = False
COMANDO15.Visible = False
COMANDO16.Visible = False
COMANDO17.Visible = False
COMANDO18.Visible = False
COMANDO19.Caption = "GIRO ANGULAR"
COMANDO19.Visible = True
COMANDO12.Visible = False
COMANDO13.Visible = False
COMANDO20.Caption = "BROCA (T1)"
COMANDO20.Visible = False
Else
If COMANDO8.Caption = "DESCONECTAR" Then
MSComm1.PortOpen = False
Timer1.Enabled = False
COMANDO8.Caption = "CONECTAR"
COMANDO9.Caption = "EJE X"
COMANDO9.Visible = False
COMANDO10.Visible = False
COMANDO11.Visible = False
COMANDO14.Visible = False
COMANDO15.Visible = False
COMANDO16.Visible = False
COMANDO17.Visible = False
COMANDO18.Visible = False
315
COMANDO19.Visible = False
COMANDO12.Visible = False
COMANDO13.Visible = False
COMANDO20.Visible = False
End If
End If
End Sub
Private Sub COMANDO9_Click ()
Dim V1 as String
If COMANDO9.Caption = "EJE X" Then
COMANDO10.Visible = False
COMANDO11.Visible = False
COMANDO9.Caption = "SALIR DEL EJE X"
COMANDO12.Visible = True
COMANDO13.Visible = True
COMANDO14.Visible = False
COMANDO15.Visible = False
COMANDO16.Visible = False
COMANDO19.Visible = False
Else
If COMANDO9.Caption = "SALIR DEL EJE X" Then
V1 = "="
MSComm1.Output = V1
COMANDO10.Visible = True
COMANDO11.Visible = True
COMANDO9.Caption = "EJE X"
COMANDO12.Visible = False
COMANDO13.Visible = False
V1 = "L"
316
MSComm1.Output = V1
COMANDO19.Visible = True
End If
End If
End Sub
Private Sub Command2_Click ()
End Sub
Private Sub Command1_Click ()
End Sub
End Sub
Private Sub Form Unload (Cancel as Integer)
If MSComm1.PortOpen = True Then
MSComm1.PortOpen = False
End If
End Sub
317
318
319
Case "5"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X3"
V1 = Text5 (4)
MSComm1.Output = V1
Case "6"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y3"
V1 = Text6 (5)
MSComm1.Output = V1
'###############################
Case "7"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X4"
V1 = Text7 (6)
MSComm1.Output = V1
Case "8"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y4"
V1 = Text8 (7)
MSComm1.Output = V1
'##############################
320
Case "9"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X5"
V1 = Text9 (8)
MSComm1.Output = V1
Case ":"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y5"
V1 = Text10 (9)
MSComm1.Output = V1
'#################################
Case ";"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X6"
V1 = Text11 (10)
MSComm1.Output = V1
Case "<"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y6"
V1 = Text12 (11)
MSComm1.Output = V1
'#################################
321
Case "="
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X7"
V1 = Text13 (12)
MSComm1.Output = V1
Case ">"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y7"
V1 = Text14 (13)
MSComm1.Output = V1
'##################################
Case "?"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X8"
V1 = Text15 (14)
MSComm1.Output = V1
Case "@"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y8"
V1 = Text16 (15)
MSComm1.Output = V1
'##################################
322
Case "A"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X9"
V1 = Text17 (16)
MSComm1.Output = V1
Case "B"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y9"
V1 = Text18 (17)
MSComm1.Output = V1
'##################################
Case "C"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "X10"
V1 = Text19 (18)
MSComm1.Output = V1
Case "D"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "Y10"
V1 = Text20 (19)
MSComm1.Output = V1
'##################################
Case "&"
Text21.Text = ""
323
Text21.SetFocus
Text21.Text = "END"
MsgBox " EL PROCESO DE PERFORACION MANUAL A CONCLUIDO"
Case "LISTO"
Text21.Text = ""
Text21.SetFocus
Text21.Text = "LISTO"
Case " "
Text21.Text = ""
Text21.SetFocus
Text21.Text = " "
Case Else
End Select
End Sub
324