PLOTER Ultimo

download PLOTER Ultimo

of 43

Transcript of PLOTER Ultimo

DISEO E IMPLEMENTACION DE UN MODULO GRAFICADOR TRAZADOR PLOTTER CONTROLADO POR PC

AUTORESAPAZA QUISPE alber Milton PARICAHUA ITO Willian Abel SANCHEZ VILLAGOMES Fernando Victor

ASESOR: ING. CARLOS ALEJANDRO CACERES VARGASUNIVERSIDAD ANDINA NESTOR CACERES VELASQUEZ

FACULTAD DE INGENIERIAS Y CIENCIAS PURASCARRERA ACADMICO PROFESIONAL DE INGENIERIA ELECTRNICA Y TELECOMUNICACIONES.

RESUMEN El presente proyecto diseo e implementacin de un trazador - plotter controlado por pc, es un modulo de plotter diseado para realizar y graficar imgenes simples en un espacio plano, el principal objetivo del proyecto es lograr graficar una determinada imagen en una hoja de papel o diferentes figuras diseados en un ordenador (imgenes, logos letras. Etc.) . El modulo esta diseado con materiales ligeros que posee tres grados de libertad, dos de los cuales estn en desplazamiento horizontal (X,Y) y uno en posicin en vertical (Z). Estos grados de libertad estn activados por actuadores (motores paso a paso) que son controlados por tarjetas de potencia con inversin de giro con un integrado L 298 que tiene una tolerancia hasta de 3A, adems con un integrado de proteccin 74hct245 el mismo que acta como inversor, con una interfaz de puerto paralelo. Gobernados directamente por el programa visual basic versin 6.0. el cual nos permite un gran flexibilidad a la hora de realizar los diseos de las imgenes . si la mquina va a graficar una imagen, sera bueno verla mientras la va trazando, y lo que utilizamos para ver el punto exacto donde se encuentra la mquina es un Mtodo llamado PSet. La sintaxis para dibujar un Pxel es la siguiente. Objeto.PSet [Step] (x, y), [Color] (x,y): Valores Requerido de tipo Single, que indican las coordenadas horizontal y vertical del punto que se va a establecer. Color: Opcional. Valor entero de tipo Long que indica el color RGB especificado para

el punto. Si se omite, se usar el valor de la propiedad ForeColor. Step: Opcional. Es una palabra clave que especfica que las coordenadas son relativas a la posicin actual, especificada por las propiedades CurrentX y CurrentY.el modulo tiene como fuente de poder principal de 12v y 5v (12v para la etapa de potencia y 5v para la etapa de control). PALABRAS CLAVE: coordenadas, color, step, puerto, plotter. ABSTRAC. The present project " design and implementation of a tracer - plotter controlled by PC ", it is a module of plotter designed to realize and graficar simple images in a flat space, the principal aim of the project is to achieve graficar a certain image in a leaf of paper or different figures designed in a computer (images, logos letters. Etc.). The module this one designed with light materials that it possesses three degrees of freedom, two of which are in horizontal displacement (X, Y) and one in position in vertically (Z). These degrees of freedom are activated for actuadores (stepping motors) that there are controlled by cards of power by investment of draft with integrated L 298 that a tolerance has up to of 3A, in addition with integrated of protection 74hct245 The same one that acts as investor, with an interface of parallel port. Governed directly by the visual program basic version 6.0. Which allows us one great flexibility at the moment of realizing the designs of the images. If the machine goes to graficar an image, it would be good to see her while it is planning it, and what we use to see the exact point where one finds the machine is a Method called PSet. The syntax to draw a Pixel is the following one. I object. PSet [Step] (x, y), [Color] (x, y): Values Needed of type Single, that they indicate the coordinates horizontally and vertically of the point that is going to be established. Color: Optional. Entire value of type Long that indicates the color RGB specified for the point. If it is omitted, there will be used the value of the property ForeColor. Step: Optional. It is a word key that specific that the coordinates are relative to the current position specified by the properties CurrentX and CurrentY.el module takes as a source of principal power of 12v and 5v (12v for the stage of power and 5v for the stage of control).

KEY WORDS: coordinates, color, step, port, plotter.

CAPITULO I INTRODUCCION. 1.1. PLOTER - Control Numrico Computacin PLOTER es eso justamente COTROL NUMERICO COMPUTACIONAL o CONTROL NUMERICO POR COMPUTADORA. La presente introduccin es para que se tenga una idea de lo que mencionara en esta seccin. Es importante comprender un poco el significado del ploter y cual es la finalidad de emprender un proyecto como este, ya que todo depender de lo que se quiera hacer, o de lo que se quiere que la mquina realice. Existen varias posibilidades u orientaciones a las cuales se puede destinar, pero todo llevar a investigar una serie de cdigos numricos. Bien, esto nos lleva a elegir un lenguaje de programacin, en nuestro caso con VBasic en su versin 6.0, lo importante es conocer el algoritmo del programa para luego pasarlo al lenguaje que ms te guste la programacin depender tambin de los motores que vayamos a utilizar, y ms, de la interfaz que controlar esos motores, Una de las cosas ms importantes en este tema, es la resolucin de la mquina, es decir, con que precisin realiza cada grafico, o el grabado de una imagen (esto si se trata de una fresadora CNC), lo cual depender de los elementos utilizados en la fabricacin de la mquina, como ser barillas roscadas, engranajes, elementos de transmisin de movimiento y otros detalles, como las dimensiones de la mquina 1.2. PLOTTER - Algunos Conceptos de Funciones lineales Para poder realizar el anlisis matemtico, que es muy necesario para poder codificar ya que la gran mayora de los trazados consistente en funciones lineales. Cada instruccin o cada Bloque de Instrucciones, indica un punto o las coordenadas a un punto de llegada, el punto de partida, es el punto actual en el que la mquina se

encuentra. Vamos a suponer que cada punto es un pxel, (luego veremos como se grafica un pxel en VBasic). La cuestin es que se necesita conocer la ubicacin del primer pxel o punto de partida y la ubicacin del segundo, que es el punto de llegada, con esto ya tienes todos los datos correspondientes a una funcin lneal, lo que debes hacer ahora para llegar de un punto a otro es realizar una interpolacin entre esos puntos, es decir, por programacin, se ir graficando una lnea PUNTO POR PUNTO. Lo que vamos a ver ahora es pura matemticas, Bsicamente, una funcin, es una relacin entre los elementos de dos conjuntos, que bien podran ser los elementos del conjunto X y los del conjunto Y, que podra representarse de siguiente manera.

y = f(x) // es decir, Y es una funcin de X

Con este sencillo ejemplo acabamos de dar inicio al estudio de las funciones que ms nos interesan, que son las FUNCIONES lineales.

CAPITULO II. OBJETIVO

2.1. OBJETIVO GENERAL

Desarrollar un modulo de plotter a fin de realizar imgenes, letras logos etc. Diseados por computador. El diseo general ser en corel draw el cual nos permite disear letras graficos etc.

2.2.- OBJETIVOS ESPECIFICOS - disear un programa en visual vasic 6.0, a fin de ser el programa madre del plotter - disear un modulo fsico de plotter, de tres grados de libertad dos en desplazamiento horizontal (x,Y) y uno en posicin vertical (Z). - disear e implementar la etapa de potencia y control del modulo. - organizar e interpretar datos - experimentar distintos tipos de programacin a fin de lograr una adecuada programacin.

CAPITULO III. FUNDAMENTO TEORICO. 3.1. Funciones lineales Estas funciones, como cualquier otra, tienen una forma general de representarlas conocida como Notacin Simblica, y se dice que son del tipo. y = ax + b

3.1.1. Observaciones Fundamentales en una Funcin lneal En un sistema de ejes Coordenados Cartesianos, se llama Abscisa al Eje x, y Ordenada al Eje y. Aclarado esto, hablemos de. b; Se dice que es la ordenada al origen, esto es, es la distancia desde el origen hasta el punto por el cual la funcin corta al eje y.

Como se ve, no interesa si la funcin sube o baja, es ms, puede que sea horizontal, es decir, que sea paralela al eje x, a; Se dice que es la pendiente de la funcin, es decir, su valor indica, qu tan inclinada est. Al intentar graficar una funcin de este tipo se pueden presentar algunos casos especiales, que son importantes considerar Caso 1) Si b=0 Si b=0 significa que la funcin pasa por el origen, observa la animacin anterior, nuestra funcin original quedara de la siguiente forma. y = ax + b => y = ax Lo nico que nos queda por hacer es averiguar que es lo que ocurre con a, y es que pueden darse dos casos, a0. Mira ahora como se vera el grfico segn cada caso...

Caso 2) Si a=0 a es la pendiente de la funcin, por tanto, si a=0 significa que No existe pendiente, esto da como resultado una lnea paralela a las abscisas, es ms, el valor de x, no tiene importancia, y sino, mira como nos queda la funcin principal... y = ax + b => y = b

es decir que para cualquier valor de x, y toma el mismo valor, y como vers, el valor de y es el mismo de b, la cuestin es que ahora la funcin estar por arriba o por debajo del eje de las abscisas, lo cual por supuesto, depende del trmino b...

Caso 3) Si y=0 Este caso muy especial se da cuando la funcin no pasa por el eje y, es decir que el grfico es una lnea paralela al eje de las ordenadas. Veamos como quedara la ecuacin general. ax b = y ax b = 0 ax = b x = (b/a) O sea, la funcin cortar al eje x en el punto b/a, y pueden darse dos casos +(b/a) cuando (b/a) > 0- (b/a) cuando (b/a) < 0Lo veamos grficamente

Caso 4) Si y=ax b Esta vez estudiamos la funcin completa, y todas las posibilidades que vimos anteriormente podramos resumirla de esta forma.

3.1.2. Trazador plotter- Algunos Conceptos de Funciones lineales Pendiente: La pendiente esta dada por el valor de a, y el valor de b, no dice nada respecto a este tema, lo nico que indica es el punto por el cual la funcin corta al eje y. Entonces, para estudiar la pendiente un poco ms detalladamente, lo que haremos ser suponer que b=0, y ahora resulta que. Si siendo b=0 Luego y = ax + b y = ax y/x = a

Definicin: La pendiente es la Ordenada en la abscisa, entonces, vamos a graficar la siguiente funcin y = 2/3 x pero la vamos a ordenar un poco.

b=0 y es por eso que no aparece, esto quiere decir que la funcin pasa por el origen, y siguiendo la definicin, la abscisa es 3 (3 en x), y la ordenada en 3, es 2 (2 en y sobre el punto 3), ahora lo graficaremos lentamente.

si b=2, pues que la misma funcin pasara por el eje y en el punto 2, y no por el origen, esto es como agarrar el grfico de la funcin y subirlo dos puntos hacia arriba, Ahora haremos un par de observaciones en la funcin que acabamos de graficar. El hecho de graficar o de desplazarnos desde el origen 3 puntos a la derecha (sobre el eje x), es por que ese 3 es positivo, y los valores positivos de x estn de ese lado. Lo mismo ocurre con 2 en el eje y, puesto que 2 es positivo y como los valores de y se encuentran de ese lado o sea se incrementa hacia arriba, pues simplemente subimos, sera de la siguiente forma. Como b=0, desplzate desde el origen 3 puntos a la derecha (por ser positivo) y 2 puntos hacia arriba (por ser positivo) existen otras posibilidades, slo piensa lo que ocurrira si ese 2/3 fuera negativo. Observa.

Por la regla de los signos, es lo mismo tomar el primer caso que el segundo, y grficamente llegamos a trazar la misma funcin, la nica diferencia es que lo hicimos por dos caminos distintos. Algo muy importante para resaltar y tener en cuenta de ahora en adelante, es que cualquiera sea el valor de la pendiente, el cociente entre el numerador y denominador ser siempre constante, independientemente de que hagas y/x o al revs x/y. Si mal

no recuerdo esto se debe a las leyes de las muy conocidas... Razones y Proporciones. 3.2. Ecuacin de la recta que pasa por un punto Hasta ahora hemos graficado la funcin conociendo la pendiente y suponiendo que b=0, es decir, siempre pasando por el origen, pero que ocurre cuando no conocemos el valor de b, bueno, lo que necesitamos es otro dato, que bien podra ser un punto P cualquiera, ubicado en una coordenada conocida, por ejemplo. Una funcin cuya pendiente es 2 y el punto P est dado por las coordenadas (2,1) lo cual se puede expresar de esta forma.

a=2 ; P(x=2,y=1) El punto P no es problema, lo que necesitamos es el segundo punto, pero lo podemos sacar de la pendiente, y recin vimos que la pendiente me indica desplazamientos en cada eje, Dado que entonces o lo que es lo mismo o mejor todava y=2 ; x=1 Bien, estos son los desplazamientos que debemos realizar, te preguntars, desde dnde debemos desplazarnos., muy sencillo, lo haremos desde el punto P,

3.3. "Ecuacin de la recta que pasa por un punto". En realidad la ecuacin se la utiliza cuando se desea obtener la funcin que dio origen a esta grfica, para de ese modo poder determinar un punto cualquiera en la recta que representa la funcin, y - y0 = a (x - x0) Los valores x0,y0, estn referidos al punto P, mientras que los valores x,y estn referido ese punto cualquiera, perteneciente a dicha funcin.

luego de hacer un pasaje de trminos, el cociente (y - y0) / (x - x0) da como resultado la pendiente a.

3.4. Ecuacin de la recta que pasa por dos puntos. si conoces un punto P, de una funcin lineal, y conoces la pendiente a de esa funcin, significa que conoces tambin el punto Q, que es el segundo punto con el cual ya puedes trazar la recta de la funcin.

Es decir que si conoces esos dos puntos P y Q, slo tienes que marcarlos y trazar la lnea que represente esa funcin, y ya terminaste, la pendiente a est dada por el cociente entre los segmentos verde y azul, a los cuales les podramos llamar Delta yyDelta x respectivamente.

El arreglo que acabamos de hacer, es para que ms o menos tengas una idea del origen de la ecuacin que viene a continuacin, y que se la conoce como. Ecuacin de la recta que pasa por dos puntos.

el Valor Absoluto de un Nmero, es el mismo nmero, sin considerar el signo", por ejemplo. El Valor Absoluto de 5 es 5, y el Valor Absoluto de -5 es 5, |5| = 5 |-5| = 5

CAPITULO IV.

MATERIALES Y EQUIPOS 4.1. MATERIALES 24 Diodos 1N5397 30 molex Integrados 4 L298 3 Condensadores 100uf 3 condensadores 104pf Hct 204 Placas de fibra de vidrio 5 x8 cm Cables varios Cable de puerto paralelo Pernos de Tornillos 3/16 Madera ngulos Anillos de presin Aluminio 3 Tornillos sin fin 1 pintura 1 Cinta aislante 3m 1 silicona Mica 54cm2 1 caja de PELT de 25cm x 30cm

4.2. EQUIPOS Taladro y accesorios Esmeril y accesorios Mini Taladro Fuente de poder de 12v Fuente de poder de 5v Un ordenador y accesorios 3 Motores paso a paso CAPITULO V. PROCEDIMIENTO 5.1. DESARROLLO DEL PROGRAMA EN VISUAL BASIC 6.0

5.1.1. PLOTER - Pxeles la programacin en Visual Basic, lo que vimos en pginas anteriores, no son otra cosa que herramientas para la programacin, y aqu citar otras que tambin nos sern de gran utilidad para comprender el cdigo fuente del programa que desarrollamos con mis alumnos, para el control de nuestra PLOTTER. si la mquina va a graficar una imagen, sera bueno verla mientras la va trazando, y lo que utilizamos para ver el punto exacto donde se encuentra la mquina es un Mtodo llamado PSet. La sintaxis para dibujar un Pxel es la siguiente. Objeto.PSet [Step] (x, y), [Color] (x,y): Valores Requerido de tipo Single, que indican las coordenadas horizontal y vertical del punto que se va a establecer. Color: Opcional. Valor entero de tipo Long que indica el color RGB especificado para el punto. Si se omite, se usar el valor de la propiedad ForeColor. Step: Opcional. Es una palabra clave que especifica que las coordenadas son relativas a la posicin actual, especificada por las propiedades CurrentX y CurrentY. hacemos un mini-programa para ejemplificar el uso de PSet. Entonces.Crea un nuevo proyecto y agrgale dos botones al formulario, en la propiedad Caption del botn le pones Punto al primero, y Lnea al Segundo. y pegas este cdigo, luego lo ejecutas. Private Sub Command1_Click() PSet (1000, 500) End Sub _______________________ ______ Private Sub Command2_Click() For i = 1000 To 2000 PSet (i, 1000) Next End Sub Por ejemplo, podramos hacer que las lneas sean de color rojo, para ello slo necesitas utilizar la funcin RGB (nRojo, nVerde, nAzul), donde nRojo,nVerde y nAzul son valores que van de 0 a 255 y representan la intensidad para cada uno de esos colores, otra funcin similar sera QBColor (CdigoColor), en esta ltima, CdigoColor es un valor entero entre 0 y 15, deberamos tener una tabla de colores. Private Sub Command1_Click() PSet (1000, 500), QBColor(12) End Sub ________________________ _____ Private Sub Command2_Click()

For i = 1000 To 2000 PSet (i, 1000), RGB(255, 0, 0) Next End Sub El argumento Step, que ser de gran ayuda cuando nuestro programa lea coordenadas relativas. El punto o la coordenada (0,0) se encuentra en la esquina superior izquierda del formulario,

si minimizamos la ventana y luego la vuelves a restaurar, vers que desaparecieron tanto el punto como la lnea que recin habamos trazado, y esto se debe a que la propiedad AutoRedraw del Formulario est a False, si la cambias a True, VisualBasic guardar la posicin de cada uno de esos puntos, y al restaurar el form los volver a pintar, Prueba La velocidad de un bucle For...Next depende de la mquina en la que se encuentre trabajando, de la velocidad de micro, por ejemplo, no es lo mismo una PC de 100 MHz que una de 800 MHz. debes mover los motores PaP mientras estas trazando la lnea, eso significa que debes enviar seales al motor en cada punto que marcas en el form, es algo as como "Un punto - Un Paso".El motor deber alimentar sus bobinas, al hacerlo generar un campo magntico y finalmente se producir un torque en el interior del motor, haciendo que ste mueva su eje. Pregunta. Si el Motor debe dar 1000 pasos a 800 MHz, lo Har...? el intervalo mnimo de un Timer es de 1 milisegundo, debes saber que la equivalencia es 1000 ms = 1 Segundo, y veamos como se traza la lnea OptionExplicit 'declaracin de variables Dim i As Integer __________________________ __ Private Sub Command1_Click() Timer1.Enabled = True 'habilita el timer i = 1000 'el contador empieza en 1000 End Sub __________________________ __ Private Sub Timer1_Timer() PSet (i, 1000), RGB(255, 0, 0)

'pinta un punto i=i+1 'contador se incrementa 'si lleg a 2001 ese ya no lo pinta y detiene el Timer If i = 2001 Then Timer1.Enabled = False End Sub el Timer queda oculto en modo de ejecucin. hasta aqu, la cantidad de puntos a trazar se encuentra dentro del cdigo, sera mejor si fuera el usuario quien decida cuantos puntos desplazarse, y desde donde hacerlo. 5.1.2. Programa Trazador de lneas esto es ms que nada para jugar un poco con pxeles, las economicemos un poco y utilicemos este programa para practicar,

grafiqu en el Form, sino en un Picture, que como bien sabemos debe tener su propiedad AutoRedraw=True, y su propiedad BackColor est en negro. Ahora veamos los controles que estn en el Frame Hay una matriz de 8 CommandButton a los cuales los llamamos cmdXY, el primero de todos, es decir cmdXY(0) es el que apunta hacia arriba, y girando en sentido horario se encuentra cmdXY(1) y el resto, la propiedad Caption de estos controles son "p,{,u,y,q,x,t,z" que corresponden al tipo de fuente Wingdings 3, el crculo que ves en el centro es un Label que en su propiedad Caption tiene el caracter de la fuente Symbol El primer TextBox es para cargar el nmero de puntos a trazar (txtPuntos), el segundo es la velocidad (txtVelocidad), en realidad es el intervalo que utilizar el Timer para marcar cada punto, los otros dos (txtX,txtY) solo indican la posicin inicial de trazado, que luego se ir actualizando a medida que vaya trazando una lnea. El botn Limpiar pinta el picture de color negro, es como borrar la imagen que se acaba de trazar, y el Botn Salir, bueno ya sabes. Lo que no se ve all, es el Timer, puesto que est en modo de Ejecucin, de entrada al iniciar el programa, su

propiedad Enabled est a False, y cambiar de estado cuando se presione cualquiera de los 8 controles de desplazamiento. Ten en cuenta que el Eje Y est Invertido, y que el desplazamiento ser Punto-aPunto De lo que vimos en funciones lineales, si la pendiente es cero, tienes 4 posibles sentidos de desplazamiento desde el punto inicial, a saber... Hacia Arriba (y=-1;x=0) Hacia Abajo (y=1;x=0) A la Derecha (y=0;x=1) A la Izquierda (y=0;x=-1)

Vamos por los desplazamientos diagonales. Un desplazamiento ser en diagonal cuando la pendiente sea distinta de cero, pero como en este caso es sencillo ya que los desplazamientos diagonales son a 45 grados, el cociente y/x ser "1", es decir, cuando te muevas un punto en el Eje X, tambin debers hacerlo en el Eje Y. Pero aqu tambin tienes 4 posibles sentidos de desplazamientos, a saber. Hacia Arriba y a Derecha (y=-1;x=1) Hacia Abajo y a Derecha (y=1;x=1) Hacia Abajo y a Izquierda (y=1;x=-1) Hacia Arriba y a Izquierda (y=-1;x=-1)

Como habrs notado, el 1 indica en que eje me debo desplazar, podra haber sido 2, pero como el desplazamiento ser punto-a-punto, pues debe ser 1, si es 0, significa que ese eje permanecer sin cambios. El signo, indica el sentido de desplazamiento segn los ejes X,Y Como los CommandButton forman una matriz de controles, lo que se debe hacer primero, es averiguar cul de ellos se puls, y segn el caso asignarle a cada variable el sentido y el valor de desplazamiento que le corresponde, una vez que tengas esas variables cargadas, cargars el resto de las variables del programa, por ejemplo. El punto inicial, dado por (txtX,txtY) La velocidad o el Intervalo para el Timer, dado por (txtVelocidad) La cantidad de puntos a marcar, dado por (txtPuntos)

Y finalmente habilitar el Timer. Primero, debemos ir mermando los puntos a trazar, luego al punto actual o a la coordenada actual, le sumamos el valor y sentido que le

corresponde, y utilizamos esa coordenada como argumento de la instruccin PSet para pintar ese punto, finalmente actualizamos txtX y txtY. Ahora, todo debe terminar cuando el nmero de puntos a pintar sea cero, en ese caso ponemos la propiedad Enabled del Timer a False

5.1.3. PLOTTER - Los Archivos PLT La mayora de los archivos PLT, tienen la misma estructura, me refiero ms que nada al encabezado, que es muy similar en todos ellos, siempre teniendo en cuenta que las coordenadas deben estar en modo Absoluto, por supuesto. A pesar de que en la seccin de cdigos para PLOTTER lo que haremos ser tomar nuevamente un ejemplo de ese cdigo para estudiarlo,. La intensin de hacer este ordenamiento es con la idea de facilitarle la lectura del cdigo al programa principal de la mquina (el programa de control) es decir, le vamos a quitar todo lo que segn nosotros est dems, esto dar como resultado mayor velocidad de lectura, mayor velocidad de desplazamiento, menor utilizacin de recursos de la PC. Para hacerlo deberemos tener en cuenta cuales sern las instrucciones que reconocer nuestra mquina, y cuales no, para as eliminarlas de nuestra lista total de instrucciones.

PA Absolute Position (Posicionamiento Absoluto): En algunos casos, especialmente al iniciar el cdigo suele presentarse esta instruccin, para comenzar a graficar, as que nos puede ser de utilidad PU Pen-Up (Subir el Lpiz): Puede que sea un lpiz (cuando lo convierta en un Plotter) o puede que sea un Mini-Taladro, as que para no entrar en detalles lo llamaremos Herramienta de Trazado, o simplemente Herramienta, Entonces ser "Subir la Herramienta" PD Pen-Down: (Bajar el Lpiz): Para nosotros, Bajar la Herramienta LT Line-Type (Tipo de Lnea): En realidad no ser de mucha importancia, ya que el tipo de lnea que se utiliza por lo general es continua, ahora que.si el grfico incluye otro tipo de lnea, tendremos problemas. Lo importante en nuestro programa es que marca el inicio del trazado de la imagen. SP Select-Pen (Seleccin de lpiz): Bueno, esta instruccin no est implementada en nuestra mquina, pero nos puede servir para saber en que momento termin de trazar, ya que lo vi al final de cdigo en la mayora de los archivos PLT. Veamos como viene el inicio de un archivo PLT, y cuales son los bloques que hay que quitar . (;.I81;;17:.N;19:IN;SC;PU;RO0;IP;IW;VS15;VS15;VS15;VS15;VS15;VS15;S P1;PU;PA0,0;SP1;LT;PA53,421;PDPA53,397,77,372,125,372,174,397,174 ,469...

etc., y cuando termina el archivo aparece... PUPA2645,445;PDPA2645,348,2621,58;PUPA2548,445;PDPA2596,445;P U;PA0,0;SP; Estos archivos estn escritos en una sola lnea de cdigo, no existe un retorno de carro, no, nada de eso, es una sola lnea, lo que nosotros tomamos es el inicio y el final de uno de estos archivos para que lo podamos estudiar, los dos bloques que siguen PU;PA0,0; ya que la mquina debe saber cual ser el punto de origen (coordenada 0,0) a dems ese ser el punto de referencia principal y todos los otros desplazamientos estarn referidos a ese punto, y Por qu al final...?, bueno, por que la mquina debe volver al punto de origen una vez termine de trazar. Si lo vemos con ms detalle PU es levantar la herramienta, y PA0,0 desplazarse al punto Cero, que bien podra resumirse en un slo bloque, mira. PU0,0; De acuerdo, esto ser obligatorio tenerlo al comienzo y al final de nuestro cdigo. El bloque que sigue es SP1; en realidad este bloque no tiene importancia, ya que estamos trabajando con una sola herramienta, por lo tanto ser ignorado, mientras que el ltimo SP; por lo que se ve, selecciona la herramienta que est configurada por defecto, de tal modo que se asegura que siempre ser esa la herramienta con la que comience sus trazados, a este ltimo lo vamos a dejar, para que cuando lo leamos, sepamos que ya termin el cdigo, podramos reemplazarlo por un END Y apareci un bloque ms LT; que no es tan importante, ya que el tipo de lnea ser siempre llena, es decir siempre ser LT; pero es importante tenerlo en cuenta ya que a partir de ahora comenzarn los desplazamientos Y comenzamos con PA53,421;, como ya saben PA es Posicionamiento Absoluto, slo debe desplazarse a ese punto (53,421), sin subir ni bajar la herramienta de trazado, as, tal como est. De ahora en ms no volver a aparecer un bloque PA solo, sino acompaado de una instruccin PU o PD, tal como se ve en el resto del cdigo, Otra observacin importante, es que un bloque que tenga como instruccin PU, no aparecer nunca como uno PD que suele venir con quinientasmil coordenadas en un solo bloque, y esto se debe a que ninguna mquina se la pasar paseando por la superficie de trabajo al divino gas (sin hacer ningn trazado), se supone que est destinada a trabajar.

5.1.4. Programa "Decode": Definamos lo que debemos hacer para organizar todo este lo, por que a la hora de programar suelen aparecer cosas inesperadas o que no las tuvimos en cuenta, as que nada mejor que un diagrama para aclararnos las dudas:

Primero cargas todo el cdigo en una variable, Luego buscas la instruccin LT; la funcin que nos permite hallarla es. InStrRev(lneaReg, "LT")

Esta funcin devuelve la posicin de "L" en realidad, lo que hace es buscar en la variable lneaReg (Variable que contiene nuestro cdigo) los caracteres LT, una vez lo encuentra, devuelve la posicin del caracter anterior a L, esa posicin la podra guardar en una variable, por ejemplo "ini", pero si recuerdas el bloque completo es LT; as que saltamos 2 caracteres ms para pasar a las instrucciones que nos interesan, no es necesario hacer el salto ya que el resto ser ignorado hasta encontrar una "P", ini=ini+2 Necesitamos un List para almacenar cada bloque de instrucciones, y la primera instruccin que necesitamos es PU0,0, a pesar de que sabemos que la siguiente instruccin ser PA, nos pueden aparecer sorpresas, as que aqu comienza la fiesta, y vamos a ir leyendo caracter por caracter, y a concatenarlo para armar cada bloque, recuerda que cada bloque termina en un ; Tambin es necesario conocer la longitud del cdigo, para as leer hasta el ltimo caracter, podra ser algo as. Longitud=Len(lneaReg) Como ini es la posicin actual del caracter a leer, entonces podemos leer mientras iniLongitud Ahora, si el caracter ledo es distinto al ; se ir concatenando en otra variable en mi caso ser en (PInstrucc), el primer caracter a concatenar ser P, el segundo puede ser A, U o D. Si PInstrucc="PA" comenzamos a concatenar sus nmeros hasta el ;. Si PInstrucc="PU" no me interesa y sigo concatenando Si PInstrucc="PD" tampoco, pero sigo concatenando Si es PInstrucc="PUPA" entonces s, Hago PInstrucc="PU" y comienzo a concatenar sus valores hasta el; Si es PInstrucc="PDPA" hago lo mismo que antes, PInstrucc="PD" y comienzo a concatenar sus valores hasta el ; pueden haber muchas coordenadas en un solo bloque PD, entonces hay que separarlos de dos en dos, es decir lo cargo en el List y hago PInstrucc="" es decir, limpio mi variable para comenzar de nuevo, y como estoy en un bloque "PD" hago PInstrucc="PD", y a este le concatenar otro par de nmeros,

Finalmente el ltimo SP; ser ignorado y cuando hayamos alcanzado la longitud total de la variable, lo que haremos ser agregarle nuevamente SP podramos haberle puesto un TheEnd o algo parecido

Claro que en el cdigo final del programa hay otras cosas ms, como llamadas al cuadro de dilogo Abrir, Guardar Como, un arreglo para evitar que se modifique el tamao del formulario, un par de Labels para mostrar la ubicacin y nombre del archivo, la cantidad de lneas de instrucciones, el List con sus propiedades, la limpieza del List una vez guardado el archivo y otras insignificancias, que lo dejo para que las estudies.

5.1.5. Plotter - Visor de Archivos PLT Previamente ordenados Lo que hicimos anteriormente es un programa para reordenar el cdigo de un archivo PLT, de tal modo que pueda ser ledo por nuestra mquina, lo que toca hacer ahora es crear un programa que simule el trabajo de la mquina, es decir haremos un Visor de estos archivos,

5.1.6. Primera Parte: Cargando del cdigo de trazado

Lo primero es abrir el archivo, que recuerda, ahora tendr la extensin *.plotter (vuelvo a repetir, no es realmente un archivo plotter CNC, bien, luego de abrir el archivo hay que cargarlo en un List, que es el que se ve en el programa, esto es as por que me facilita la lectura del cdigo, ya que cada registro del List contiene un bloque de instruccin, a dems, de esta manera, se abre el archivo una sola vez, se lee su contenido, se carga en el programa y finalmente se cierra, y no se lo vuelve a tocar ms. el cdigo es: ' Presenta el cuadro de dilogo Abrir. CommonDialog1.ShowOpen Dim lneareg As String ' Lo abre para lectura. Open CommonDialog1.FileName For Input As #2 n=0 ' Y ahora la Carga del archivo en el list WhileNotEOF(2) Line Input #2, lneareg lneareg = Trim(lneareg) lstCodigo.AddItemlneareg, n n=n+1 lstCodigo.Refresh Wend Close #2 Con esto hemos logrado cargar el archivo en nuestro programa, ahora est listo para comenzar la simulacin. 5.1.7. Segunda Parte: Lectura de cada Bloque de Instrucciones La lectura de cada bloque de instrucciones tambin es sencilla, igual que antes, la lectura se har letra-por-letra, la diferencia est en que, a medida que se lee, se van activando algunas variables para el trazado, pero, nada mejor que un diagrama para comprenderlo... ' lee desde la primera lnea ' lee mientras el archivo no termine

A ver... Ya sabemos como cargar el programa, y si recuerdas, cada registro del List es un bloque de instrucciones, y a dems cada bloque de instrucciones est arreglado para que comience con cualquiera de las 4 opciones que se pueden ver en el Diagrama, es decir PA, PU, PD, SP, La idea consiste en lo siguiente. Cargar un Bloque de instruccin en una variable, luego leer las dos primeras letras, y aqu se presenta el primer caso, Puede que sea PA, PU, PD SP, pero lo analicemos por descarte. Si es SP: Terminaste de trazar, el programa muestra un mensaje de "Fin de Trazado" Los que vienen podran almacenarse en una variable para saber si debes pintar un pxel o no. Si es PA o PU: No debes trazar nada, es decir, no pintas ningn pxel Si es PD: Pues, S hay que pintar el pxel actual El tema es que cualquiera de las 3 instrucciones vistas recin, necesitan de un par de coordenadas que me indiquen hacia donde ir, as que en cualquiera de los 3 casos hay que ir en busca del par que le corresponde. Una vez lo tengas, debers desplazarte sobre los ejes indicados. Ahora bien, una vez termines de trazar una lnea, debers ir por otro bloque de cdigo, y repetir todo este proceso nuevamente. Todo terminar cuando te encuentres con un bloque SP, Esto no es tan complicado, el secreto de que todo funcione se encuentra en el Desplazamiento, el cdigo no es tan

largo, pero requiere de la comprensin de como se aplican los mtodos para graficar funciones lineales, que segn tu conocimiento puede ser ms o menos complicado,. Ahora veamos como voy a encararlo yo para poder explicarlo, espero se entienda... 5.1.8. Tercera Parte: Desplazamiento en los Ejes X-Y los desplazamientos sern punto-a-punto eso significa que debes pintar pxel por pxel, Lo primero que debemos saber, es si la coordenada a la posicin de destino, es distinta a la actual, y vamos por lo ms fcil, si la posicin es la misma, significa que no habr desplazamiento en ese eje, es por eso que necesitamos saberlo, entonces preguntamos NewXPrevX? si es que s, deberemos averiguar la DISTANCIA hacia el nuevo punto, esto se puede hacer calculando el valor absoluto de la Resta NewX-PrevX y guardndolo en una variable, que podra ser "xi". En resumidas cuentas, para los dos ejes quedara algo as. Si NewXPrevX Entonces xi=|NewX-PrevX| Si NewYPrevY Entonces yi=|NewY-PrevY| Sabemos que si la posicin de x y de y es la misma, no habr desplazamiento, lo que nos interesa es cuando s lo haya, y como no sabemos dnde estar el punto de destino, deberemos estudiarlo. y aqu entra toda la teora de la pendiente de una funcin lineal, pero veamos en forma animada como es que las dos lneas de cdigo anteriores buscan el punto de destino y luego nos metemos de lleno en la pendiente. Habr que tener en cuenta que para nuestro caso el trmino b de una funcin lineal ser siempre cero, es decir, siempre pasar por el origen, por supuesto, considerando al origen como el Punto Actual en el que te encuentras

Principio del formulario

1) PrevX,PrevY En rojo el punto que conoces, que es el punto actual, el de destino puede Cmo saber donde...? bueno, es momento de averiguarlo...

Final del formulario Antes de continuar y de definir cual de los 4 puntos es el que estamos buscando, sera mejor conocer la pendiente, recuerda que hay que graficar Punto-a-Punto, es decir no puedes avanzar 1 pxel en un eje y en el otro avanzar 2, 4, 6, 7 o ms, Debe ser "1" "0", para ello debes saber cual de las 2 distancias xi o yi es mayor, y segn eso avanzars por el Eje X o por el Eje Y. Veamos como sera un trazado Correcto y uno Incorrecto cuando xi>yi.

Incorrecto...!!!

Correcto...!!!

Al avanzar 1 punto en Y, debe avanzar Al avanzar 1 punto en X, en Y avanzar 1 varios puntos en X Conclusin: Se estn o ninguno Trazando Conclusin: El trazado es punto a punto

Segmentos, no puntos El resultado no es La lnea obtenida es ms uniforme. una lnea uniforme

El resultado de hacer esta observacin en la forma de graficar una lnea en diagonal, es que, cuando la distancia xi es distinta de yi hay que avanzar incrementando un punto en el mayor de ellos, el otro, se lo puede obtener por clculo.

5.1.9. Plotter - Visor de Archivos PLT Previamente ordenado Lo primero, es el punto actual o previo al movimiento PrevX.PrevY, luego tenemos el punto de destino o el nuevo punto, dado por NewX, NewY, A dems tenemos las distancias entre estos dos punto xi,yi Lo que necesitamos ahora es saber cuanto avanzar en cada coordenada para llegar hasta NewX,NewY y a estas nuevas variables las llamar Plusx,Plusy este par determinar donde est el punto a pintar, por ejemplo

Caso 1: Si xi = yi significa que la lnea est a 45 grados, entonces PlusX=1 y PlusY=1, es decir, al punto actual se le sumar 1 en el Eje X, y 1 en el Eje Y Caso 2: Si xi >yi, en este caso dijimos que avanzaramos un punto en el eje ms largo, entonces PlusX=1 y PlusY=(yi/xi). Ahora bien, si recuerdas, el cociente y/x es la pendiente de una recta, que si el cociente se efecta, lo que tendrs es cuanto debes avanzar en el EjeY Caso 3: Si xi 0 Then'sube hasta la posicin 0 nPrevz = nPrevz - 1 nBitz = Int(nPrevz) Mod 8 CallPortOut(890, BitEjeZ(nBitz)) 'aqu se manda el dato al puerto 'Retardo For TT = 1 To VelocPerf For T = 1 To 10000: Next T Next TT GoTo Subir End If 'velocidad para subir

ahora en ms el taladro permanece arriba EndIf nPrevz va disminuyendo hasta hacerse cero, y el bucle For...Next es simplemente un retardo, hay por all una variable llamada VelocPerf, que no es otra cosa que el valor de la posicin dado por el Scroll de velocidad de Perforacin, hay un clculo innecesario que yo agregu para mis alumnos, y ms que nada para que pudieran entender que a medida que va aumentando el valor del Scroll, la cantidad de repeticiones del bucle va disminuyendo, Algo muy similar ocurre cuando la instruccin es "PD", slo que en este caso el valor de nPrevz es cero, y se va incrementando hasta alcanzar la profundidad programada (nNewz), mira cmo quedara..

'-----------si el taladro est arriba debe bajar-----------If cCodigoP = "PD" Then nBitz = 0 Bajar: VelocPerf = (15 - hscPerforacion.Value) * 10 nPrevz = nPrevz + 1 nBitz = Int(nPrevz) Mod 8 CallPortOut(890, BitEjeZ(nBitz)) 'aqu se manda el dato al puerto 'Retardo For TT = 1 To VelocPerf For T = 1 To 10000: Next T Next TT GoTo Bajar End If 'de ahora en ms el taladro permanece abajo EndIf aqu es donde aparece nuestra variable llamada nNewz, que siempre ser fija una vez comience a trazar, si prestas atencin, esta vez la comparacin no es con cero como en el caso anterior, sino con la variable nNewz, y el resto ya lo conoces. 'velocidad para bajar IfnPrevz 0 And Xi = 7 Then Xi = -1 IfplusX< 0 And Xi = 0 Then Xi = 8 IfplusY> 0 And Yi = 7 ThenYi = -1 IfplusY< 0 And Yi = 0 ThenYi = 8 Y ahora s, ya se puede comprender lo que viene a continuacin, que no es otra cosa que la suma de los valores correspondientes a una secuencia de pasos a dar, y que se envan al registro de datos del puerto paralelo CallPortOut(888, (EjeX(Xi) + EjeY(Yi)))

5.2. DISEO E IMPLEMENTACION DEL MODULO GRAFICADOR TRAZADOR PLOTTER. (PARTE DE LA ESTRUCCTURA)

5.2.1. TRAZADOR- PLOTTER T (Motores, Varillas Roscadas y Guas de Desplazamiento) para la construccin de la mquina, y vamos a comenzar por los motores. en nuestro caso motores PaP del tipo unipolar, que los sacamos de una vieja HP, y otras las adquirimos en la cachina.

Estos motores, se trata de motores unipolares de 48 pasos, que debido a la forma de control (a medio paso) se convirtieron en 96 pasos para dar una vuelta completa, ahora lo importante es saber cual es el avance en ese giro, si el motor estara unido directamente al sin-fin que mueve cada eje (tal como se hizo), todo queda en manos del sin-fin, que en nuestro caso se trata de una varilla roscada de tipo milimtrica, al ser milimtrica significa que la distancia entre dos crestas de la rosca, o entre dos de sus ranuras es de 1 mm, a esta distancia tambin se la llama PASO,

posteriormente nos toca como armar algunas de sus partes, y comencemos por los mecanismos para el Eje X...

La varilla roscada, va fijada en los rodamientos de ambos extremos, y los rodamientos, en el poli-carbonato que hace de sostn, obviamente el dimetro interno de los rodamientos es igual al dimetro de la varilla roscada, para evitar posibles movimientos falsos que se puedan generar. Una vez montado, qued as.

Entre los dos extremos de estos elementos, se deben colocar los bujes y el sostn para el carro que llevar el taladro, tambin se deben incluir las tuercas que lo arrastrarn de un lado a otro, esos son los que se ven en la siguiente imagen.

Aqu es importante aclarar que el uso de bujes para el desplazamiento, puede traer algunos inconvenientes, ms que nada respecto al rozamiento, en nuestro caso, los bujes son de bronce autolubricante, an as sera bueno reemplazarlos por otro sistema que mejore la libertad de movimiento

Y por supuesto, se agreg la base de madera de fibra, que es la que sostendr todo el mecanismo para la pluma, justamente el que veremos ahora... Cabezal o Soporte para la pluma Este es el mecanismo para el Eje Z, a pesar de ser muy parecido al del Eje X, hay una gran diferencia, y es que la tuerca de arrastre es una sola, y est asegurada en la base de madera, lo importantes es que debe estar lo ms perfectamente centrada y alineada con la varilla roscada, y as no se cruza ni produce pandeos en la varilla, ni nada por el estilo, otra de las diferencias es que los 4 bujes que se ven all, van atornillados a la base,

aqu ya aparecieron otro par de accesorios, primero, el la pluma y al lado, una abrazadera que ser la que lo sostendr por la parte superior, y otra que parece un

trapecio, en realidad es una planchuela de acero, doblada en L, que de un lado tiene un orificio por donde pasa la punta del taladro, a la vez sirve para ajustarlo y fijarlo en la misma base...

La Mesa Es un poco imposible conseguir todos los accesorios que uno necesita para la construccin, as que hay que adaptarse a lo que encontramos, la gua sobre la que se desplaza la mesa, son dos caos estructurales y cuadrados, primero por que no encontramos varillas redondas que cumpla con todos los requisitos que se necesitan, y segundo, que es necesario un juego de rodamientos que elevan demasiado la mesa, sera bueno que fueran rodamientos pequeos, y lo ms ancho posible, pero bueno, no los encontr, de todos modos se nos simplific un poco ya que luego colocamos 4 ngulos de acero que se apoyan sobre estos caos, esos son los que se ven en la primer foto a los costados del tablero...

En las dos fotos siguientes se ve la tuerca que ser la encargada de desplazar la mesa, y tiene un poli-carbonato adicional, eso fue necesario para darle la altura correcta y alinearlo con la varilla roscada, ahora viene una foto con la mesa ya armada...

Por el centro de la mesa, justo por donde est la tuerca, pasa la varilla roscada que es la que se ve en la siguiente foto...

La madera de la parte de abajo, es la base de toda la mquina, lo que est por arriba de la varilla roscada es la mesa mvil, la que vimos recientemente. Ahora vamos por los extremos de la varilla roscada, en las fotos que se muestran aqu abajo, se ven ms claro, la primera tiene el extremo libre, y la otra es la que se comunica con el motor,

Lo que viene ahora, son detalles para la unin de los motores, el primero es para el Eje X, el que sigue es para el Eje Z, que como vers, cambi, no es el mismo que en la primer foto de esta pgina.

CAPITULO VI. CRONOGRAMA Y VALORACION DEL PROYECTO CRONOGRAMA DE EVENTOS DE IMPLIMENTACION (DURACION DEL PROYECTO) TIPO DE EVENTO Inicio del proyecto Investigacin de los temas referentes al proyecto Diseo del software o programa madre en visual basic versin 6.0 ACTIVIDAD QUE SE REALIZA Recavacion de informacin en varios medios, internet, libros, revistas, etc. Modelado y simulacin

FECHA 1er. Mes 02 eventos mnimo s 2do. Mes 01 evento mnimo

PARTICIPANTES - alber milton Quispe apaza - willian Abel paricahua ito Fernando sanchez villagomes

Pruebas de motores PaP. Simulacin y modelado en proteus. Armado de etapa de control del proyecto diseo de tarjetas de control. Armado del modulo plotter 3er. Etapa de Inicio de pruebas, en Mes 02 pruebas y total 18 pruebas con eventos culminacin resultados de falso mnimo del proyecto negativo. Termino de

- alber milton Quispe apaza - willian Abel paricahua ito Fernando sanchez villagomes

- alber milton Quispe apaza - willian Abel paricahua ito Fernando sanchez villagomes

s 6.1. VALORACION 24 Diodos N5 397 30 molex Integrados 4 L298

pruebas con exito

0.50 0.50 8.00 0.50/0.20 1.50 2.00 0.25 5.00 20.00 3.00 20.00 10.00 6.00 4.00 8.50 3.00 10.00 15.00 15.00 30.00 50.00 3.00 51.60

12.00 15.00 32.00 1.50/0.60 4.50 6.00 10.00 5.00 20.00 3.00 20.00 10.00 6.00 12.00 8.50 3.00 10.00 15.00 30.00 30.00 150.00 12.00 51.60 474.20

3 Condensadores 100uf y 104 4 Hct 245 Placas de fibra de vidrio 5 x8 cm Cables varios Cable de puerto paralelo Pernos varios Tornillos 3/16 Madera Angulos Anillos de presin 3Tornillos sin fin 1 pintura 1 Cinta aislante 3m 1 silicona Mica 54cm2 2 caja de PELT de 25cm x 30cm Fuente de poder de 12v Y 5V 3 Motores paso a paso 4 rodajes Gastos varios

TOTAL en n/s

CAPITULO VII. RESULTADOS Y CONCLUCIONES

7.1. RESULTADOS a. en las multiples primeras pruebas los resultados no fueron favorables ya que se detectaron fallas en un inicio en el programa. b. luego de un pasiente anlisis se logro detectar las fallas. c. en las pruebas del modulo se presentaron fallas en el trazado asi como en el libre movimiento de las bases. d. despus de redimensionar y ajustar algunos componentes, se obtuvo un resultado favorable. e. otras de las fallas se presento en la parte final del proyecto ya que debido al consumo de voltaje del motor, se fundi el integrado L298 encargado de la etapa de control de motor f. reemplazando el L289 el funcionamiento es normal. g. y como resultado final se obtuvo un modulo que interacta satisfactoriamente con el modulo plotter.. 7.2. CONCLUSIONES - El proyecto concluye favorablemente a pesar de algunos pequeos inconveniente que se escapan del control o acceso de los responsables. - se llega a la conclusin que el programa visual basic 6.0 es un optimo programa a la hora de aplicarlo a imgenes.

CAPITULO VIII. BIBLIOGRAFIA [01 ] Katsuhiko Ogata "Ingenieria de control Moderna" ED. Prentice hall,2003 [02] Angulo U.,J.M Romero ??Microcontroladores PIC Diseo prctico de aplicaciones??. 2da. parte. PIC16F87X. Ed. McGraw Hil.l 2000 [03] Jordi Mayn ??Sensores Acondicionadores y Procesadores de seal?? Silica 2003 [04] Webster, John G,Palls,Ramn. "Sensores y acondicionadores de seal" .Ed. John Wiley & soons. 2nd edition. USA,2001. [05] Surez Ponce Federico, Caractersticas y condiciones de Cultivo Dpto. de Botnica UNAM. [06] Manuales de construccin de Invernaderos.

[07] MAtallana A., Montero J. Invernaderos Diseo construccin y ambientacin. Ed. Mutiprensa, Espaa 2001. [08] Hoja de datos y especificaciones tcnicas de componentes electrnicos.

8.1. BIBLIOGRAFIA ELECTRONICA Foros de electronica. http://www.docente.ucol.mx/al986324/public_html/IEEE-temp%20NAROGE

ANEXOS

Iniciar sesinIngrese el e-mail y contrasea con el que est registrado en Monografias.com

1 0 1 0 1 0 1 0R110k

U12 3 4 5 6 7 8 9 19 1 A0 A1 A2 A3 A4 A5 A6 A7 CE AB/BA 74LS245 B0 B1 B2 B3 B4 B5 B6 B7 18 17 16 15 14 13 12 11 5 7 10 12 6 11 1 15 IN1 IN2 IN3 IN4 ENA ENB

9 VCC

4 VS

U3+88.8 OUT1 OUT2 OUT3 OUT4 2 3 13 14

D2DIODE

D3DIODE

SENSA SENSB

GND 8 L298

D4DIODE

D5

D6

D7

D8

D1DIODE

DIODE DIODE DIODE DIODE

9 5 7 10 12 6 11 1 15 IN1 IN2 IN3 IN4 ENA ENB VCC

4 VS OUT1 OUT2 OUT3 OUT4 GND 8

U42 3 13 14 +88.8

U2

1 0 0 1 0

2 3 4 5 6 7 8 9 19 1

A0 A1 A2 A3 A4 A5 A6 A7 CE AB/BA 74LS245

B0 B1 B2 B3 B4 B5 B6 B7

18 17 16 15 14 13 12 11

SENSA SENSB

D9DIODE

D10DIODE

D11DIODE

D12DIODE

L298

D13DIODE

D14DIODE

D15DIODE

D16DIODE

R210k

9 5 7 10 12 6 11 1 15 IN1 IN2 IN3 IN4 ENA ENB VCC

4 VS OUT1 OUT2 OUT3 OUT4 GND

U52 3 13 14 +88.8

CIRCUITO DE LAETAPA DE CONTROL DEL MODULO 8D17 D18 D19 D20DIODE DIODE DIODE DIODE

SENSA SENSB

L298

D21DIODE

D22DIODE

D23DIODE

D24DIODE