Robot laberinto Raúl Antona Fresno PE21

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Robot laberinto Raúl Antona Fresno PE21"

Transcripción

1 Faunos Laberinto (Robot laberinto) RAÚL ANTONA FRESNO

2 Índice: Página INTRODUCCIÓN DEL PROYECTO. 2 2 DIAGRAMA EN BLOQUES EXPLICACIÓN DEL DIAGRAMA EN BLOQUES. 7 3 ESQUEMA ELECTRICO GENERAL EXPLICACIÓN DEL ESQUEMA ELECTRICO GENERAL. 9 4 FUENTE DE ALIMENTACION REGULADA A 9V/5V SISTEMA DE PROTECCIÓN SISTEMA DE ELIMINACIÓN DE RUIDOS. 4.3 REGULADOR DE TENSIÓN. 5 ADAPTADOR DE SEÑALES PC-μC. 6 SENSORES. 3 6.ESTUDIO DE LA RECTA DEL GP2D PROGRAMA Y DIAGRAMA DEL DRIVER GP2D PROGRAMA Y DIAGRAMA DE LA REPRESENTA CIÓN DE DISTACIAS EN EL DISPLAY. 8 7 CONTROL DE POTENCIA CONTROL DE GIRO Y VELOCIDAD TABLAS DE FUNCIONAMIENTO MOTOR DERECHO MOTOR IZQUIERDO PROGRAMAS Y DIAGRAMAS DE CONTROL DE VELOCIDAD VELOCIDAD MOTOR IZQUIERDO VELOCIDAD MOTOR DERECHO CONTROL DE GIRO DEL MOTOR DERECHO CONTROL DE GIRO DEL MOTOR IZQUIERDO SISTEMA DE CONTROL: 32 8.LA PANTALLA LCD HDD PATILLAJE DEL LDC DIAGRAMA Y PROGRAMA DE PRUEBA DEL LCD RECEPTOR DE DATOS CEBEK C PIC OTROS BREVE EXPLICACIÓN DEL PROGRAMA PRINCIPAL ESQUEMA ELECTRICO DE SIMULACIÓN DIAGRAMA Y PROGRAMA PRINCIPAL. 39 2

3 0 FABRICACIÓN DE PLACAS FABRICACIÓN PLACAS CARA BOTTOM FABRICACIÓN CARA TOP FABRICACIÓN CARA COMPONENTES. 62 DISEÑO MECÁNICO Lista de Componentes Desarrollo del Proyecto REFERENCIAS ANEXOS. 68 3

4 INTRODUCCIÓN DEL PROYECTO: El proyecto que he realizado a lo largo del segundo curso del módulo de desarrollos de productos eléctricos, es un robot laberinto. Este robot tiene la siguiente función: una vez introducido en un laberinto por una de las cuatro entradas, tiene que ser capaz de salir por la entrada contraria autónomamente, en el menor tiempo posible. El laberinto tiene unas proporciones de 3,6 x 3,6 y el interior del laberinto está compuesto por calles verticales y horizontales, con una separación entre paredes de 40 cm. aproximadamente y un espesor de,5 cm. Cada calle tiene una altura de 25 cm. y está dispuesta en ángulo de 90º. El color del material es blanco. Ejemplo: Las medidas están ajustadas entre las máximas determinadas por el consejo regulador de Madridbot: Los robots han de poseer unas dimensiones máximas, durante todo el transcurso de la prueba, de 20 cm. de ancho, 30 cm. de largo y 25 cm. de alto, siendo libre el peso que puedan tener. 4

5 El proyecto desde el comienzo ha estado separado en varios bloques, tanto el robot en si, como la forma de trabajo. Todo el trabajo se ha dividido en tres asignaturas, las cuales han sido orientadas conjuntamente a la realización del robot. En la asignatura de Fabricación y diseño de placas : en ámbito de diseño, hemos aprendido ha realizar las placas con unas medidas determinadas y a distribuir los componentes de forma que estén alineados para que ocupen el menor espacio sacando el mayor rendimiento posible. En fabricación se han puesto practica conocimientos teóricos, comprobando en las placas del robot los distintos métodos; desde los más caseros hasta métodos casi profesionales. En Mantenimiento de equipos eléctricos : hemos realizado gran diversidad de prácticas, las cuales nos han permitido aprender el funcionamiento de los equipos de trabajo, comprobando mediante ensayos el funcionamiento de las partes del robot; desde las situaciones más favorables hasta las condiciones más desfavorables. Es importante tener en cuenta, que sin los contenidos de las asignaturas de electrónica digital y analógica del pasado curso (en las que se impartieron los componentes utilizados en el robot) no habría sido posible comprender el funcionamiento de dicho proyecto. Desarrollo de proyectos : esta asignatura se ha enfocado al conocimiento de la programación en pic, para lograr que el robot realice de forma autónoma el laberinto sirviéndose de un programa adecuado. Es importante señalar la unión que existe entre ésta asignatura y la asignatura de Técnicas de programación, ya que dicha asignatura trató la programación en lenguaje C; conocimiento necesario para realizar muchas de las funciones específicas del pic. 5

6 2 DIAGRAMA EN BLOQUES 6

7 2. EXPLICACIÓN DEL DIAGRAMA EN BLOQUES: Con el diagrama en bloques se mantiene una vista ordenada y esquematizada de las partes que forman el robot. Cada bloque de éste puede ser abierto. Dentro de cada uno encontramos los esquemas eléctricos de cada parte: En el bloque de adaptador de señales PC-μC y regulador 9V/5V, se encuentran los esquemas eléctricos de la alimentación de los circuitos y los componentes necesarios para realizar la transmisión de datos desde el ordenador al robot. Dentro del bloque de sensores, encontramos los sensores con los que el robot detecta las paredes del laberinto y se orientara en cada parte del circuito. En el bloque de potencia están situados los circuitos con los que manejamos el control de los motores. El bloque de sistema de control se encarga de enviar, recibir y administrar las señales al resto de bloques. Esta compuesto por el microprocesador, encargado de administrar las señales, y el receptor de señales cebek, por el cual podemos recibir señales AM desde un emisor externo. Haciendo una burda comparación con el cuerpo humano, para ver de los avances tecnológicos y lo que significan estos; podríamos decir que el bloque regulador 9V/5V correspondería a nuestro corazón que envía la alimentación necesaria al resto de bloques. El bloque de sensores podrían ser los ojos que envían información al cerebro. En nuestro caso el bloque de sistema de control, quien administra dicha información y la envía a las extremidades, el bloque de control de potencia. 7

8 3 ESQUEMA ELECTRICO GENERAL: 8

9 3. EXPLICACIÓN DEL ESQUEMA ELECTRICO GENERAL: El esquema eléctrico, representa abiertas cada una de las partes de los bloques con todos sus componentes. Esta división ha servido para la fabricación de, ya que los componentes se han dividido en distintas placas, para poder tener algunas placas comunes con otros compañeros y el robot quede con un tamaño más reducido. Las uniones entre las distintas partes del robot, por las que alimentaremos los componentes y enviaremos las señales se han realizado con fajas de diez, excepto la alimentación de los motores que al estar alimentados con distintas tensiones, se han hecho con cables flexibles. 9

10 4 FUENTE DE ALIMENTACION REGULADA A 9V/5V: La fuente de alimentación regulada es necesaria para alimentar las distintas partes del circuito. Con una batería de 9 voltios y este diseño, he conseguido los 5 voltios necesarios para alimentar los componentes del robot y obtener aproximadamente 9 voltios para alimentar los motores. El LM350, es un regulador ajustable con capsulado TO3 capaz de suministrar 3 A; este componente debido a la corriente que suministra es recomendable ponerlo con un disipador o dejar en la placa una superficie de cobre libre, que pueda disipar el calor. 4. SISTEMA DE PROTECCIÓN: D es un diodo de protección, que sirve para proteger los componentes, en caso de conectar erróneamente la batería; este diodo permite el paso de corriente si se polariza en directa, para ello el positivo de la pila tiene que estar conectado al ánodo del diodo. D2, se conecta en polarización inversa y sirve para proteger el LM350K en caso de que haya una diferencia de potencial; esto puede ocurrir en el apagado, que haya una tensión más positiva en la salida que en la entrada, en este caso el diodo se polariza en directa evitando que la corriente vaya por el LM350K. D4 es un diodo que se pone para proteger el LM350K cuando queramos trabajar con tensiones superiores a 25V o por si tenemos tensiones inversas. D3 es un diodo tipo led que sirve para informar que la fuente esta encendida, para evitar fundir el diodo hemos limitado la corriente con el resistencia de 220Ω 0

11 4.2 SISTEMA DE ELIMINACIÓN DE RUIDOS Y FILTROS. Los condensadores C2 y C4 son condensadores que sirven para la eliminación de ruidos, estos condensadores no sirven de filtros de tensión debido a que tienen un valor muy pequeño, son solamente filtros de ruido. C3 y C son condensadores de filtro, que lo que hacen es que tengamos una tensión continua más pura. 4.3 REGULADOR DE TENSIÓN: La regulación con el LM350K se hace con R38, RV, y C5; R38 es una resistencia que sirve para aumentar el suministro de corriente al potenciómetro, con RV se consigue variar la tensión de salida (VDD3) y con C5 con seguimos estabilizar la tensión de salida, para que no se produzcan saltos. V2_B es el la conexión donde se obtiene aproximadamente los 9V. VDD3_B es la conexión de salida 5 ADAPTADOR DE SEÑALES PC-μC. Para la transmisión de datos del ordenador hasta el μc se utiliza el puerto serie del ordenador, para ello se han tenido que adaptar las señales que nos envía el ordenador; este tipo de conversiones son del tipo RS232, se trata de adaptar las señales RS a TTL.

12 Para convertir las señales de RS a TTL he utilizado el integrado MAX232, este integrado necesita cuatro condensadores y una fuente de alimentación de 5V (VDD3_B), C3 y C2 adaptan el nivel de voltaje tomado de la alimentación de +5V a +0V, C y C4 invierten los niveles de voltaje para que se puedan obtener -0V, estos niveles de voltaje son utilizados para realizar la adaptación de los voltajes RS232 y se encuentran dentro de los rangos permitidos por la norma RS232. La conversión RS232 trabaja con lógica negativa esto quiere decir: que las conversiones son como se muestran en la siguiente tabla: N.L. TTL Tensión N.L. RS Tensión 5V -0V 0 0V 0 +0V Nota: Las placas de transmisión de datos y la fuente de alimentación se han fabricado las dos sobre la misma superficie. 2

13 6 SENSORES: El sensor que se ha utilizado para detectar las paredes ha sido UN sensor SHARP modelo GP2D2. El sensor GP2D2 es un sensor de infrarrojos, que trabaja de forma analógica, esto significa que nos da una tensión con respecto a la distancia a la que se encuentre de la pared. 3

14 6.ESTUDIO DE LA RECTA DEL GP2D2: 4

15 Para poder trabajar correctamente con el sensor GP2D2; se ha tenido que hacer un estudio previo del voltaje, que nos daba el sensor en función de la distancia a la que se encontraba de la pared, como no era proporcional se ha tenido que linealizar la curva del sensor para saber cual es la distancia en un determinado punto; eso se ha realizado utilizando la ecuación de la recta. L X 2 X X Y 2 Y Y 2 Y El sensor GP2D2 tiene un problema, en distancias inferiores a 8CM el rango de tensiones se repiten para varias distancias, por eso ha resultado imposible linealizar esa parte de la curva y los rangos comprendido entre 0CM y menores de 8CM han sido capados, igualándolos a 8CM. En la parte contraria donde el sensor se encuentra a en unas distancias superiores a 55CM se han capado las distancias superiores, porque en valores superiores a 55CM el sensor es inestable. Hay que tener en cuenta que todos los valores comprendidos entre 8CM y 55CM, pueden tener un margen de error, ya que el sensor no tiene la misma eficacia cuando reflecta sobre un material negro o sobre un material blanco. Se ha introducido un condensador de 0 μf, el cual lo recomienda el fabricante para eliminar posibles ruidos. Después de aprender el funcionamiento del sensor GP2D2, tuve que crear una huella en PROTEUS, para poder trabajar en ISIS, ARES y crear un DRIVER con la ecuación de la recta para obtener la distancia a la que se encontraba el robot. Las huellas son las mostradas en la figura 5 y figura 6. La huella del ISIS no puede producir tensiones; a si que se ha creado un circuito que proporciona una tensión, con esta tensión se hace una conversión analógica que es introducida al micro por el PUERTO A, esta tensión sirve para obtener la distancia en la que se encuentra el robot, con el DRIVER apropiado. Con este circuito lo que se ha conseguido es una tensión variable entre 0,5V y 2,6V. 5

16 6.2 PROGRAMA Y DIAGRAMA DEL DRIVER GP2D2: //*****************************DRIVER DE CONTROL DEL SENSOR DE DISTANCIA Gp2d2, para una recta entre 0 cm. y 55 cm. //HACE LA CONVERISON DE TENSION PROCEDENTE DEL SENSOR Gp2d2 A UNA //DISTANCIA (SE OBTIENE UNA DISTANCIA EN FUNCION DE LA TENSIÓN). //SE INTRODUCE UN VALOR DE TENSIÓN (v) TIPO FLOAT Y DEVUELVE UNA DISTANCIA //(d)float. //****************************** DECLARACIÓN DEFUNCIONES********************** float Gp2d2_v_d(float); //******************************FUNCIÓNGp2d2_v_d******************************** float Gp2d2_v_d(float v){ float l; //declaración de la variable l. l=0; if(v>2.6) // preguntamos por el valor de v. l = 8; if(v<2.6&&v>=.9) // preguntamos por el valor de v. l = ((8-3.5)* (v -.9) /(2.6-.9)); //función de la recta. if(v<.9&&v>=.65) // preguntamos por el valor de v. 6

17 l = 6 + ((3.5-6)* (v-.65) / (.9-.65)); //función de la recta. if(v<.65&&v>=.38) // preguntamos por el valor de v. l = 20 + ((6-20)* (v-.38) / ( )); //función de la recta. if(v<.38&&v>=.5) // preguntamos por el valor de v. l = 25 + ((20-25)* (v-.5) / (.38-.5)); //función de la recta. if(v<.5&&v>=0.95) // preguntamos por el valor de v. l = 30 + ((25-30)* (v- 0.95) / ( )); //función de la recta. if(v<0.95&&v>=0.75) // preguntamos por el valor de v. l = 40 + ((30-40)* (v- 0.75) / ( )); //función de la recta. if(v<0.75&&v>=0.68) // preguntamos por el valor de v. l = 45 + ((40-45)* (v- 0.68) / ( )); //función de la recta. if(v<0.68&&v>=0.58) // preguntamos por el valor de v. l = 55 + ((45-55)* (v- 0.58) / ( )); //función de la recta. if(v<0.58) // preguntamos por el valor de v. l=55; return(l); //devolvemos l. 7

18 6.3 PROGRAMA Y DIAGRAMA DE LA REPRESENTACIÓN DE DISTACIAS EN EL DISPLAY. Una de las pruebas más importantes que se han realizado con el GP2D2 y su DRIVER, esta es la representación de las distancias y la tensión en la pantalla del LCD. //*************************Conversión Analógica Digital de la Patilla AN0 ******************* #include <6F876A.h> #device adc=0 //Conversor Analógico Digital de 0 bit el PIC 6F876A puede trabajar con 8 o 0 bit //de resolución. #FUSES XT,NOWDT #use delay(clock= ) #include <LCD.c> // Incluimos el driver LCD.c que contiene las funciones de control del LCD. #include <driver_gp2d2.c> //*******************************PROGRAMA PRINCIPAL***************************** 8

19 void main(){ int6 q; float d, v; setup_adc_ports(0); // Seleccionamos el Puerto A como entradas Analógicas. Mirar //ADCON. setup_adc(adc_clock_internal); // Fuente de reloj RC interno lcd_init(); while(){ set_adc_channel(0); delay_us(20); q = read_adc(); v = (5.0 * q) / 024.0; // Inicializamos el LCD. // Bucle infinito. // HabilitaciOn canal 0 "AN0" // Retardo de 20uS necesaria para respetar el tiempo //de //Adquisición Tad. // Lectura canal 0 "AN0" // Conversion a tensión del código digital "q". d=gp2d2_v_d(v); // Cargamos el driver GP2D2 en la variable. lcd_gotoxy(,); // Posicionamos el Cursor en la posición, línea. printf(lcd_putc, "voltios = %0.3fV", v); // Saltamos de línea y escribimos en el LCD //"VOLTAJE =" y 4 dígitos de "P" // en formato truncado de 4 dígitos con 3 decimales y //el //carácter "V". lcd_gotoxy(,2); printf(lcd_putc, "d = %0.4fcm",d ); // Saltamos de línea y escribimos en el LCD //"distancia //=" y 4 dígitos de "P" // en formato //truncado de 4 //dígitos con 3 decimales y el carácter //"V". 9

20 7 CONTROL DE POTENCIA: 7. CONTROL DE GIRO Y VELOCIDAD: Para el control de giro de los motores se ha utilizado el inversor de giro L298, que poniendo unas tensiones en las patillas de entradas IN, IN2, IN3, IN4; se puede controlar el paro de los motores, el giro de los motores en sentido horario o en contra horario. Los optoaclopadores se utilizan para independizar el circuito de control con el de potencia. Ejemplo: RA4_A= (N.L), no hay diferencia de potencial en U3, el fototransistor al corte, (N.L.) en In. RA4_A=0(N.L), hay diferencia de potencial en U3, el fototransistor saturado, 0(N.L.) en In. El circuito compuesto por los optoacopladores U7, U8 y los transistores Q, Q2, Q3, Q4, sirven para habilitar las patillas Vsens A y B. Se ha puesto un condensador para eliminar las señales que puedan producir ruido. Los diodos son de protección. 20

21 7.2 TABLAS DE FUNCIONAMIENTO: 7.2.MOTOR DERECHO: Entradas VsensA ENA In In2 0 X 0 X X 0 0 X X 0 0 Salidas OUT (N.L.) OUT2 (N.L.) Giro del motor Parado Parado Parado *Contra horario *horario Parado * Horario: sigue el sentido de las agujas del reloj. * Contra horario: contra del sentido de las agujas del reloj MOTOR IZQUIERDO: Entradas VsensA ENA In In2 0 X 0 X X 0 0 X X 0 0 Salidas OUT (N.L.) OUT2 (N.L.) Giro del motor Parado Parado Parado *horario *Contra horario Parado * Horario: sigue el sentido de las agujas del reloj. * Contra horario: contra del sentido de las agujas del reloj. 2

22 Para controlar la velocidad de giro de los motores, se ha utilizado PWM (Pulse Width Modulation), esto quiere decir modulación de la anchura del pulso. La PWM es generada por el pic e introducida al L298 por las Vsens. El funcionamiento de la PWM es similar a; como si metiéramos pulsos con un interruptor, cuanta mas duración tenga el pulso, más velocidad alcanzará en motor. La PWM ha servido para controlar el robot en las distintas partes del circuito, cuando el robot se encontraba en una recta dentro de unos rangos determinados, se ha aplicado la PWM máxima a los dos motores; en caso de que el robot se desplace hacia la izquierda, se corrige el movimiento disminuyendo la PWM en el motor derecho; si el robot se desplaza al lado contrario se disminuye la PWM del motor izquierdo. En caso de que el robot se encuentre en una curva la PWM es mucho menor o incluso se puede invertir el giro del motor, para que el giro sea mucho más brusco. 7.3 PROGRAMAS Y DIAGRAMAS DE CONTROL DE VELOCIDAD VELOCIDAD MOTOR IZQUIERDO. //*****************************************Laberinto ******************************* //*****************************************Directivas de preprocesado******************* #include <6F876A.h> #device adc=0 // Conversor Analógico Digital de 0 bit el PIC 6F876A puede trabajar con 8 //o 0 bit de resolución. 22

23 #FUSES XT,NOWDT #use delay(clock= ) #include <LCD.c> // Incluimos el driver LCD.c que contiene las funciones de control del LCD. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC EN 07h. #BYTE TRISA = 0x85 // TRISA en 85h. #BYTE porta = 0x05 // PORTA en 05h. #BIT RB3 = 0x06.3 #BIT RC0 = 0x07.0 #BIT RC = 0x07. #BIT RC2 = 0x07.2 #BIT RC3 = 0x07.3 #BIT RC4 = 0x07.4 #BIT RC5 = 0x07.5 #BIT RC6 = 0x07.6 #BIT RC7 = 0x07.7 #BIT RA2 = 0x05.2 #BIT RA4 = 0x05.4 #BIT RA5 = 0x05.5 // DEFINO LA PATILLA 3 DEL PORTB COMO RB3. // DEFINO LA PATILLA 0 DEL PORTC COMO RC0. // DEFINO LA PATILLA DEL PORTC COMO RC. // DEFINO LA PATILLA 2 DEL PORTC COMO RC2. // DEFINO LA PATILLA 3 DEL PORTC COMO RC3. // DEFINO LA PATILLA 4 DEL PORTC COMO RC4. // DEFINO LA PATILLA 5 DEL PORTC COMO RC5. // DEFINO LA PATILLA 6 DEL PORTC COMO RC6. // DEFINO LA PATILLA 7 DEL PORTC COMO RC7. // DEFINO LA PATILLA 2 DEL PORTA COMO RA2. // DEFINO LA PATILLA 4 DEL PORTA COMO RA4. // DEFINO LA PATILLA 5 DEL PORTA COMO RA5. //**************************************Declaración funciones*************************** int6 TH =65535; //*******************************PROGRAMA PRINCIPAL****************************** void main(){ TRISB = 0B ; // Defines Puerto B como SALIDA de datos. TRISC = 0B ; // Defines Puerto C como SALIDA de datos. TRISA = 0B0000; // Defines Puerto A como ENTRADA de datos. //portb = 0B ; // Reseteamos el Puerto B RA2 = 0; RA4 = 0; RB3 = 0; RC0 = 0; RC5 = 0; RC6 = 0; RC7 = 0; setup_timer_2(t2_div_by_6,249,); // setup_timer(prescaler,pr2,postscaler) // Configuración timer2. Si el Periodo = 6mS ----> T = //6000uS 23

24 setup_ccp2(ccp_pwm); setup_ccp(ccp_pwm); TH=0; set_pwm_duty(th); set_pwm2_duty(th); TRISC = 0B ; // T = [PR2+] x Tcm x Postscaler x Prescaler // PR2 puede valer de 0 a 255. // Tcm es el tiempo de Ciclo Maquina. Tcm = 4/Fosc = 4/ //hz = 4uS. // Prescaler puede valer,4,6 // Postscaler puede valer. // 6000uS = [PR2+] x 4 x 6 x // PR2 =[T/(Tcm x Preescaler x Postscaler)]- // PR2 =[6000uS/(4uS x 6 x )]- = 249 (en C 249) // CCP2 en modo PWM (Salida por RC) motor izquierdo. // CCP en modo PWM (Salida por RC2) motor derecho. // Defines Puerto C como SALIDA de datos. while(true){ RC5=0; //MOTOR DERECHO HACIA ATRAS RC0=; TH = 000; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 900; set_pwm2_duty(th); //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 800; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 700; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 600; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 500; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 400; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 300; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 200; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 00; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 0; set_pwm2_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); 24

25 7.3.2 VELOCIDAD MOTOR DERECHO //*****************************************Laberinto ******************************* //*****************************************Directivas de preprocesado******************* #include <6F876A.h> #device adc=0 // Conversor Analógico Digital de 0 bit el PIC 6F876A puede trabajar con 8 //o 0 bit de resolución. #FUSES XT,NOWDT #use delay(clock= ) #include <LCD.c> // Incluimos el driver LCD.c que contiene las funciones de control del LCD. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC EN 07h. #BYTE TRISA = 0x85 // TRISA en 85h. #BYTE porta = 0x05 // PORTA en 05h. #BIT RB3 = 0x06.3 #BIT RC0 = 0x07.0 #BIT RC = 0x07. #BIT RC2 = 0x07.2 // DEFINO LA PATILLA 3 DEL PORTB COMO RB3. // DEFINO LA PATILLA 0 DEL PORTC COMO RC0. // DEFINO LA PATILLA DEL PORTC COMO RC. // DEFINO LA PATILLA 2 DEL PORTC COMO RC2. 25

26 #BIT RC3 = 0x07.3 #BIT RC4 = 0x07.4 #BIT RC5 = 0x07.5 #BIT RC6 = 0x07.6 #BIT RC7 = 0x07.7 #BIT RA2 = 0x05.2 #BIT RA4 = 0x05.4 #BIT RA5 = 0x05.5 // DEFINO LA PATILLA 3 DEL PORTC COMO RC3. // DEFINO LA PATILLA 4 DEL PORTC COMO RC4. // DEFINO LA PATILLA 5 DEL PORTC COMO RC5. // DEFINO LA PATILLA 6 DEL PORTC COMO RC6. // DEFINO LA PATILLA 7 DEL PORTC COMO RC7. // DEFINO LA PATILLA 2 DEL PORTA COMO RA2. // DEFINO LA PATILLA 4 DEL PORTA COMO RA4. // DEFINO LA PATILLA 5 DEL PORTA COMO RA5. //**************************************Declaración funciones*************************** int6 TH =65535; //*******************************PROGRAMA PRINCIPAL****************************** void main(){ TRISB = 0B ; TRISC = 0B ; TRISA = 0B0000; //portb = 0B ; // Defines Puerto B como SALIDA de datos. // Defines Puerto C como SALIDA de datos. // Defines Puerto A como ENTRADA de datos. // Reseteamos el Puerto B RA2 = 0; RA4 = 0; RB3 = 0; RC0 = 0; RC5 = 0; RC6 = 0; RC7 = 0; setup_timer_2(t2_div_by_6,249,); // setup_timer(prescaler,pr2,postscaler) // Configuración timer2. Si el Periodo = 6mS ----> T = //6000uS // T = [PR2+] x Tcm x Postscaler x Prescaler // PR2 puede valer de 0 a 255. // Tcm es el tiempo de Ciclo Maquina. Tcm = 4/Fosc = 4/ //hz = 4uS. // Prescaler puede valer,4,6 // Postscaler puede valer. // 6000uS = [PR2+] x 4 x 6 x // PR2 =[T/(Tcm x Preescaler x Postscaler)]- // PR2 =[6000uS/(4uS x 6 x )]- = 249 (en C 249) setup_ccp2(ccp_pwm); // CCP2 en modo PWM (Salida por RC) motor izquierdo. setup_ccp(ccp_pwm); // CCP en modo PWM (Salida por RC2) motor derecho. TH=0; set_pwm_duty(th); set_pwm2_duty(th); TRISC = 0B ; // Defines Puerto C como SALIDA de datos. 26

27 while(true){ RA4=0; //MOTOR DERECHO HACIA ATRAS RB3=; TH = 000; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 900; set_pwm_duty(th); //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 800; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 700; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 600; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 500; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 400; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 300; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 200; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 00; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); TH = 0; set_pwm_duty(th); // ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR IZQ delay_ms(500); 27

28 7.3.3 CONTROL DE GIRO DEL MOTOR DERECHO: #include <6F876A.h> #fuses XT,NOWDT #use delay( clock = ) #include <LCD.c> // Incluye el fichero 6F876 al programa tiene que estar en la misma //carpeta del programa define funciones, patillas y registros. // Define la palabra de configuarción del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de 4 MHz // Incluimos el driver kbd.c que contiene las funciones de control del //display. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC EN 07h. #BYTE TRISA = 0x85 // TRISA en 85h. #BYTE porta = 0x05 // PORTA en 05h. #BIT RB3 = 0x06.3 #BIT RC0 = 0x07.0 #BIT RC = 0x07. #BIT RC2 = 0x07.2 #BIT RC3 = 0x07.3 #BIT RC4 = 0x07.4 #BIT RC5 = 0x07.5 #BIT RC6 = 0x07.6 #BIT RC7 = 0x07.7 #BIT RA4 = 0x05.4 // DEFINO LA PATILLA 3 DEL PORTB COMO RB3. // DEFINO LA PATILLA 0 DEL PORTC COMO RB3. // DEFINO LA PATILLA DEL PORTC COMO RB3. // DEFINO LA PATILLA 2 DEL PORTC COMO RB3. // DEFINO LA PATILLA 3 DEL PORTC COMO RB3. // DEFINO LA PATILLA 4 DEL PORTC COMO RB3. // DEFINO LA PATILLA 5 DEL PORTC COMO RB3. // DEFINO LA PATILLA 6 DEL PORTC COMO RB3. // DEFINO LA PATILLA 7 DEL PORTC COMO RB3. // DEFINO LA PATILLA 4 DEL PORTA COMO RB3. 28

29 void main(){ TRISB = 0B ; TRISC = 0B ; TRISA = 0B0000; portb = 0B ; RA4 = 0; RB3 = 0; RC0 = 0; RC = 0; RC2 = 0; RC5 = 0; RC6 = 0; RC7 = 0; // programa principal // Defines Puerto B como SALIDA de datos. // Defines Puerto C como SALIDA de datos. // Defines Puerto A como ENTRADA de datos. // Reseteamos el Puerto B //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL while(){ RA4=0; //MOTOR PARADO RB3=0; delay_ms(00); RA4=0; //MOTOR HACIA DELANTE RB3=; delay_ms(00); RA4=; //MOTOR HACIA ATRAS RB3=0; delay_ms(00); RA4=; //MOTOR PARADO RB3=; delay_ms(00); 29

30 7.3.4 CONTROL DE GIRO DEL MOTOR IZQUIERDO: #include <6F876A.h> #fuses XT,NOWDT #use delay( clock = ) #include <LCD.c> // Incluye el fichero 6F876 al programa tiene que estar en la misma //carpeta del programa define funciones, patillas y registros. // Define la palabra de configuarción del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de 4 MHz // Incluimos el driver kbd.c que contiene las funciones de control del //display. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC EN 07h. #BYTE TRISA = 0x85 // TRISA en 85h. #BYTE porta = 0x05 // PORTA en 05h. #BIT RB3 = 0x06.3 #BIT RC0 = 0x07.0 #BIT RC = 0x07. #BIT RC2 = 0x07.2 #BIT RC3 = 0x07.3 #BIT RC4 = 0x07.4 #BIT RC5 = 0x07.5 #BIT RC6 = 0x07.6 #BIT RC7 = 0x07.7 #BIT RA4 = 0x05.4 // DEFINO LA PATILLA 3 DEL PORTB COMO RB3. // DEFINO LA PATILLA 0 DEL PORTC COMO RC0. // DEFINO LA PATILLA DEL PORTC COMO RC. // DEFINO LA PATILLA 2 DEL PORTC COMO RB3. // DEFINO LA PATILLA 3 DEL PORTC COMO RC3. // DEFINO LA PATILLA 4 DEL PORTC COMO RC4. // DEFINO LA PATILLA 5 DEL PORTC COMO RC5. // DEFINO LA PATILLA 6 DEL PORTC COMO RC6. // DEFINO LA PATILLA 7 DEL PORTC COMO RC7. // DEFINO LA PATILLA 4 DEL PORTA COMO RA4. 30

31 void main(){ TRISB = 0B ; TRISC = 0B ; TRISA = 0B0000; portb = 0B ; RA4 = 0; RB3 = 0; RC0 = 0; RC = 0; RC2 = 0; RC5 = 0; RC6 = 0; RC7 = 0; // programa principal // Defines Puerto B como SALIDA de datos. // Defines Puerto C como SALIDA de datos. // Defines Puerto A como ENTRADA de datos. // Reseteamos el Puerto B //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL //RESETEO DE PATILLAS DE FORMA INDIVDUAL while(){ RC5=0; //MOTOR PARADO RC0=0; delay_ms(00); RC5=0; //MOTOR HACIA DELANTE RC0=; delay_ms(00); RC5=; //MOTOR HACIA ATRAS RC0=0; delay_ms(00); RC5=; //MOTOR PARADO RC0=; delay_ms(00); 3

32 8 SISTEMA DE CONTROL: El sistema de control es el cerebro del robot esta parte del robot se encarga de:. Guardar el programa. 2. Activar las distintas partes de robot. 3. Recibir la información del sistema sensorial y del exterior 4. Analizar y administrar dicha información, para que el robot funcione con respecto al programa. Las partes que forman el sistema de control son: 8.LA PANTALLA LCD HDD44700, tiene dos líneas de 6 caracteres cada una, la pantalla LCD nos ha servido para representar la distancia a la que se encuentra el robot. La conexión se ha realizado por el puerto B, porque se ha utilizado una librería genérica que tenia esta configuración. 32

33 8..PATILLAJE DEL LDC 8..2DIAGRAMA Y PROGRAMA DE PRUEBA DEL LCD. #include <6F876A.h> #fuses XT,NOWDT #use delay( clock = ) #include <LCD.c> // Incluye el fichero 6F876 al programa tiene que estar en la misma //carpeta del programa // define funciones, patillas y registros. // Define la palabra de configuarción del microcontrolador PIC // Trabaja con un reloj tipo XT y no utiliza perro guardián Wathdog // Define la frecuencia del reloj de 4 MHz // Incluimos el driver kbd.c que contiene las funciones de control del //display. #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. 33

34 #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC EN 07h. #BYTE TRISA = 0x85 // TRISA en 85h. #BYTE porta = 0x05 // PORTA en 05h. void main(){ TRISB = 0B ; portb = 0B ; // Defines Puerto B como SALIDA de datos. // Reseteamos el Puerto B lcd_init(); // Inicializamos el LCD. while(){ lcd_gotoxy(,); // Posicionamos el Cursor en la posición, línea. printf(lcd_putc, "hello word"); // representación en display. 8.2RECEPTOR DE DATOS CEBEK C El receptor de datos es un circuito encargado de recibir datos desde el exterior, este circuito demodula una señal AM obteniendo los datos digitales comprendidos entre 20 Hz < y < 4 KHz, en un futuro servirá para realizar un coche teledirigido. 8.3 PIC. Es un microcontrolador PIC6F876A, se encarga de almacenar el programa que controla el robo, recibir y analizar la información de los sensores y con respecto a ellas enviar señales que controlen la velocidad y el giro de los motores, representar dicha información en el display y recibir información desde la tarjeta de radio frecuencia. El trabaja a una frecuencia de MHz y ejecuta una instrucción en 4uS. 8.4 OTROS. J6M.JM. Son conexiones I2C, estas conexiones se realizan a través de dos puertos RC3 y RC4, y son conexiones series de datos. INICIO. El pulsador inicio sirve para dar la orden al μc de que puede comenzar el programa. RESET. Este pulsador, sirve para volver a iniciar el programa, en caso de que el robot se quede bloqueado en alguna pared, y queremos reiniciar el programa activamos el pulsador. XM. Xm es el cristal de cuarzo, y junto con los condensadores sirve para dar la señal de reloj de MHz al μc. 34

35 JM, J3M, J5M. Son los jumper donde se conectan las fajas por las que se envían y reciben las señales de las otras partes de robot. J2M. J2M, sirve para seleccionar un programa, en caso de que tengamos mas de uno. J3M. J3M, sirve para poner el robot en modo teledirigido o para poner el robot dirigido por el programa. 9 BREVE EXPLICACIÓN DEL PROGRAMA PRINCIPAL. El programa principal consiste en analizar la información, que recibe de los sensores. Si el robot se encuentra entre 5,5cm y 7cm la PWM de los motores es la misma (TH=000). 35

36 Si el robot se aleja 2cm más de la pared, la PWM del motor derecho disminuye muy poco, pero en cambio si desplaza más de 2cm la PWM de dicho motor se reduce bastante. El caso contrario, si el robot está 2cm por debajo del rango inicial, la PWM del motor izquierdo se reduce muy poco, pero si es superior a dos 2cm la PWM disminuye más bruscamente. 36

37 En caso de que el robot de con una curva a derechas, la PWM del motor derecho casi es nula (TH=50), por el contrario en caso de un giro a la izquierda el motor izquierdo se invierte con una PWM muy baja (TH=00). 37

38 9.ESQUEMA ELECTRICO DE SIMULACIÓN: 38

39 9.2DIAGRAMA Y PROGRAMA PRINCIPAL. 39

40 40

41 4

42 42

43 //*******************************Laberinto *************************** //************************Directivas de preprocesado********************** #include <6F876A.h> #device adc=0 #FUSES XT,NOWDT #use delay(clock= ) // Conversor Analógico Digital de 0 bit el PIC 6F876A //puede trabajar con 8 o 0 bit de resolución. #include <LCD.c> // Incluimos el driver LCD.c que contiene las funciones //de control del LCD. #include <driver_gp2d2.c> #BYTE TRISB = 0x86 // TRISB en 86h. #BYTE portb = 0x06 // PORTB en 06h. #BYTE TRISC = 0x87 // TRISC en 87h. #BYTE portc = 0x07 // PORTC EN 07h. #BYTE TRISA = 0x85 // TRISA en 85h. #BYTE porta = 0x05 // PORTA en 05h. #BIT RB3 = 0x06.3 #BIT RC0 = 0x07.0 #BIT RC = 0x07. #BIT RC2 = 0x07.2 #BIT RC3 = 0x07.3 #BIT RC4 = 0x07.4 #BIT RC5 = 0x07.5 #BIT RC6 = 0x07.6 #BIT RC7 = 0x07.7 #BIT RA2 = 0x05.2 #BIT RA4 = 0x05.4 #BIT RA5 = 0x05.5 // DEFINO LA PATILLA 3 DEL PORTB COMO RB3: //MOTOR. // DEFINO LA PATILLA 0 DEL PORTC COMO RC0: //MOTOR. // DEFINO LA PATILLA DEL PORTC COMO RC: //VSENS_A. // DEFINO LA PATILLA 2 DEL PORTC COMO RC2: //VSENS_B. // DEFINO LA PATILLA 3 DEL PORTC COMO RC3: //I2C. // DEFINO LA PATILLA 4 DEL PORTC COMO RC4: //I2C. // DEFINO LA PATILLA 5 DEL PORTC COMO RC5: //MOTOR. // DEFINO LA PATILLA 6 DEL PORTC COMO RC6: //BL. // DEFINO LA PATILLA 7 DEL PORTC COMO RC7: //CONTROL MANDO PROGRAMA. // DEFINO LA PATILLA 2 DEL PORTA COMO RA2: //INICIO. // DEFINO LA PATILLA 4 DEL PORTA COMO RA4: //MOTOR. // DEFINO LA PATILLA 5 DEL PORTA COMO RA5: //CONTROL DE PROGRAMAS. #define DisFron 2 #define DisDech 2 #define DisIzqu 2 // CREO UNA CONSTANTE LLAMADA DISFRON //PARA HACER LA COMPARATIVA. // CREO UNA CONSTANTE LLAMADA DISDECH //PARA HACER LA COMPARATIVA. // CREO UNA CONSTANTE LLAMADA DISIZQU //PARA HACER LA COMPARATIVA. //******************************Declaración de funciones************* float Sensor_Derecho(void); float Sensor_Izquierdo(void); float Sensor_Frontal(void); void Motor_Derecho(void); void Motor_Derecho(void); void Motor_Derecho2(void); 43

44 void Motor_Derecho3(void); void Motor_Derecho4(void); void Motor_Derecho5(void); void Motor_Derecho6(void); void Motor_Derecho7(void); void Motor_Derecho8(void); void Motor_Derecho9(void); void Motor_Derecho0(void); void Motor_Derecho(void); void Motor_Derecho2(void); void Motor_Derecho3(void); void Motor_Derecho4(void); void Motor_Derecho5(void); void Motor_Derecho6(void); void Motor_Derecho7(void); void Motor_Derecho8(void); void Motor_Derecho9(void); void Motor_Derecho_Parado(void); void Motor_Izquierdo(void); void Motor_Izquierdo(void); void Motor_Izquierdo2(void); void Motor_Izquierdo3(void); void Motor_Izquierdo4(void); void Motor_Izquierdo5(void); void Motor_Izquierdo6(void); void Motor_Izquierdo7(void); void Motor_Izquierdo8(void); void Motor_Izquierdo9(void); void Motor_Izquierdo0(void); void Motor_Izquierdo(void); void Motor_Izquierdo2(void); void Motor_Izquierdo3(void); void Motor_Izquierdo4(void); void Motor_Izquierdo5(void); void Motor_Izquierdo6(void); void Motor_Izquierdo7(void); void Motor_Izquierdo8(void); void Motor_Izquierdo9(void); void Motor_Izquierdo_Atras(void); int6 TH =65535; //*********************PROGRAMA PRINCIPAL********************* void main(){ int giro= 0; float sf=0; float sd=0; setup_adc(adc_clock_internal); setup_adc_ports(0); TRISB = 0B ; // Fuente de reloj RC interno. // Seleccionamos el Puerto A como //entradas Analógicas. Mirar //ADCON. // Defines Puerto B como SALIDA //de datos. 44

45 TRISC = 0B ; TRISA = 0B0000; portb = 0B ; RA2 = 0; RA4 = 0; RB3 = 0; RC0 = 0; RC5 = 0; RC6 = 0; RC7 = 0; // Defines Puerto C como SALIDA //de //datos. // Defines Puerto A como //ENTRADA de //datos. // Reseteamos el Puerto B //Reseteo de patillas individuales //Reseteo de patillas individuales //Reseteo de patillas individuales //Reseteo de patillas individuales //Reseteo de patillas individuales //Reseteo de patillas individuales //Reseteo de patillas individuales lcd_init(); setup_timer_2(t2_div_by_6,249,); setup_ccp2(ccp_pwm); setup_ccp(ccp_pwm); set_pwm_duty(th); set_pwm2_duty(th); TRISC = 0B ; // Inicializamos el LCD. // setup_timer(prescaler,pr2,postscaler) // Configuración timer2. Si el Periodo = 6mS ----> //T = 6000uS // T = [PR2+] x Tcm x Postscaler x Prescaler // PR2 puede valer de 0 a 255. // Tcm es el tiempo de Ciclo Maquina. Tcm = //4/Fosc = 4/ hz = 4uS. // Prescaler puede valer,4,6 // Postscaler puede valer. // 6000uS = [PR2+] x 4 x 6 x // PR2 =[T/(Tcm x Preescaler x Postscaler)]- // PR2 =[6000uS/(4uS x 6 x )]- = 249 (en C //249) // CCP2 en modo PWM (Salida por RC) motor //izquierdo. // CCP en modo PWM (Salida por RC2) motor //derecho. // Defines Puerto C como SALIDA de datos. do{ sf=sensor_frontal(); sd=sensor_derecho(); lcd_gotoxy(,2); printf(lcd_putc, "Sd= %0.f cm",sd); lcd_gotoxy(,); printf(lcd_putc, "Sf= %0.f cm",sf); // Saltamos de línea y escribimos en el LCD //"VOLTAJE =" y 4 dígitos de "P" // en formato truncado de 4 dígitos con 3 //decimales y el carácter "V". //colocamos en el primer carácter de la primera línea //representamos por pantalla while(ra2==); while (){ // Bucle infinito. 45

46 sf=sensor_frontal(); sd=sensor_derecho(); lcd_gotoxy(,2); printf(lcd_putc, "Sd= %0.f cm",sd); // Saltamos de línea y escribimos en el LCD //"VOLTAJE =" y 4 dígitos de "P" // en formato truncado de 4 dígitos con 3 decimales y //el carácter "V". lcd_gotoxy(,); printf(lcd_putc, "Sf= %0.f cm",sf); //colocamos en el primer carácter de la primera línea // Saltamos de línea y escribimos en el LCD //"VOLTAJE =" y 4 dígitos de "P" // en formato truncado de 4 dígitos con 3 decimales y // carácter "V". if(giro== sf<20){ giro=; Motor_Izquierdo_Atras(); Motor_Derecho(); if(sf>=8) giro=0; //programa de giros a la izquierda. else{ if(sd>5.5&&sd<=7){ Motor_Derecho(); Motor_Izquierdo(); //***************************control motor derecho************************************* if(sd>7&&sd<=7.3){ Motor_Derecho(); Motor_Izquierdo(); if(sd>7.3&&sd<=7.6){ Motor_Derecho2(); Motor_Izquierdo(); if(sd>7.6&&sd<=7.9){ Motor_Derecho3(); Motor_Izquierdo(); if(sd>7.9&&sd<=8.2){ Motor_Derecho4(); Motor_Izquierdo(); if(sd>8.2&&sd<=8.5){ Motor_Derecho5(); Motor_Izquierdo(); if(sd>8.5&&sd<=8.8){ Motor_Derecho6(); //controles en recta //controles en recta 46

47 Motor_Izquierdo(); if(sd>8.8&&sd<=9.){ Motor_Derecho7(); Motor_Izquierdo(); if(sd>9.&&sd<=9.4){ Motor_Derecho8(); Motor_Izquierdo(); if(sd>9.4&&sd<=9.7){ Motor_Derecho9(); Motor_Izquierdo(); if(sd>9.7&&sd<=20){ Motor_Derecho0(); Motor_Izquierdo(); if(sd>20&&sd<=20.3){ Motor_Derecho(); Motor_Izquierdo(); if(sd>20.3&&sd<=20.6){ Motor_Derecho2(); Motor_Izquierdo(); if(sd>20.6&&sd<=20.9){ Motor_Derecho3(); Motor_Izquierdo(); /* if(sd>20.9&&sd<=2.2){ Motor_Derecho4(); Motor_Izquierdo(); if(sd>2.2&&sd<=2.5){ Motor_Derecho5(); Motor_Izquierdo(); if(sd>2.5&&sd<=22.5){ Motor_Derecho6(); Motor_Izquierdo(); if(sd>22.5&&sd<=23){ Motor_Derecho7(); Motor_Izquierdo(); if(sd>23&&sd<=24.5){ Motor_Derecho8(); Motor_Izquierdo(); if(sd>24.5&&sd<=25){ Motor_Derecho9(); Motor_Izquierdo(); */ if(sd>25){ //cuando se queda sin pared, giros a la derecha Motor_Derecho_Parado(); Motor_Izquierdo(); 47

48 //***************************control motor izq************************************ if(sd<5.5&&sd>=5.2){ Motor_Izquierdo(); Motor_Derecho(); if(sd<5.2&&sd>=4.9){ Motor_Izquierdo2(); Motor_Derecho(); //controles en recta if(sd<4.9&&sd>=4.6){ Motor_Izquierdo3(); Motor_Derecho(); if(sd<4.6&&sd>=4){ Motor_Izquierdo4(); Motor_Derecho(); if(sd<4&&sd>=3.7){ Motor_Izquierdo5(); Motor_Derecho(); if(sd<3.7&&sd>=3.4){ Motor_Izquierdo6(); Motor_Derecho(); if(sd<3.4&&sd>=3.){ Motor_Izquierdo7(); Motor_Derecho(); if(sd<3.&&sd>=2.8){ Motor_Izquierdo8(); Motor_Derecho(); if(sd<2.8&&sd>=2.5){ Motor_Izquierdo9(); Motor_Derecho(); if(sd<2.5&&sd>=2.2){ Motor_Izquierdo0(); Motor_Derecho(); if(sd<2.2&&sd>=.9){ Motor_Izquierdo(); Motor_Derecho(); if(sd<.9&&sd>=.6){ Motor_Izquierdo2(); Motor_Derecho(); if(sd<.6&&sd>=){ Motor_Izquierdo3(); Motor_Derecho(); if(sd<&&sd>=0.7){ 48

49 Motor_Izquierdo4(); Motor_Derecho(); if(sd<0.7&&sd>=0.4){ Motor_Izquierdo5(); Motor_Derecho(); if(sd<0.4&&sd>=9.6){ Motor_Izquierdo6(); Motor_Derecho(); if(sd<9.6&&sd>=9){ Motor_Izquierdo7(); Motor_Derecho(); if(sd<9&&sd>=8.5){ Motor_Izquierdo8(); Motor_Derecho(); if(sd<8.5&&sd>=8){ Motor_Izquierdo9(); Motor_Derecho(); //******************************* Función Sensor_Derecho ******************************* float Sensor_Derecho(){ int6 q; // variable de lectura de puerto float dech, //variable de resultado de la conversión de tensión a centímetros v; // variable donde guardamos la tensión recogida de la conversión //analógica set_adc_channel(3); delay_us(20); q = read_adc(); v = (5.0 * q) / 024.0; // Habilitación canal 3 "AN3" sensor derecho // Retardo de 20uS necesaria para respetar el tiempo de Adquisición //Tad. // Lectura canal 0 "AN3" // conversión a tensión del código digital "q". dech=gp2d2_v_d(v); return(dech); //driver del Gp2d2 para conversión de voltios a cemtimetos, //guardado en variable dech. // el resultado que devuelvo llamada. //******************************* Función Sensor_Izquierdo ****************************** float Sensor_Izquierdo(){ int6 q; // variable de lectura de puerto float izqu, // variable de resultado de la conversión de tensión a centímetros v; // variable donde guardamos la tensión recogida de la conversión //analógica set_adc_channel(0); delay_us(20); q = read_adc(); // Habilitación canal 0 "AN0" sensor izquierdo // Retardo de 20uS necesaria para respetar el tiempo de Adquisición //Tad. // Lectura canal 0 "AN0" 49

50 v = (5.0 * q) / 024.0; // conversión a tensión del código digital "q". izqu=gp2d2_v_d(v); return(izqu); //driver del Gp2d2 para conversión de voltios a cemtimetos, //guardado en variable izqu. // el resultado que devuelvo llamada. //******************************* Función Sensor_Frontal*************************** float Sensor_Frontal(){ int6 q; // variable de lectura de puerto float fron, // variable de resultado de la conversión de tensión a centímetros v; // variable donde guardamos la tensión recogida de la conversión //analógica set_adc_channel(); delay_us(20); q = read_adc(); v = (5.0 * q) / 024.0; // Habilitación canal "AN" sensor derecho // Retardo de 20uS necesaria para respetar el tiempo de Adquisición //Tad. // Lectura canal 0 "AN" // conversión a tensión del código digital "q". fron=gp2d2_v_d(v); return(fron); //driver del Gp2d2 para conversión de voltios a cemtimetos, //guardado en variable fron. // el resultado que devuelvo llamada. //********************************************************************************* //*********************************CONTROL DEMOTORES*************************** //*********************************************************************************** //*********************************Controles del Motor Derecho************************** //***********************************Función Motor_Derecho**************************** void Motor_Derecho(){ RA4=0; RB3=; TH = 000; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_ Derecho ************************** void Motor_Derecho(){ RA4=0; RB3=; TH = 990; //MOTOR DERECHO HACIA ATRAS 50

51 set_pwm2_duty(th); //ATACA A LA PATILLA RC, Y CONTROLAMOS EL //MOTOR DERECHO(ojo tengo que cambiar los cables de la //placa) //***********************************Función Motor_ Derecho 2************************* void Motor_Derecho2(){ RA4=0; RB3=; TH = 970; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho 3************************** void Motor_Derecho3(){ RA4=0; RB3=; TH = 950; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_ Derecho 4************************* void Motor_Derecho4(){ RA4=0; RB3=; TH = 930; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho5************************* void Motor_Derecho5(){ RA4=0; RB3=; TH = 90; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho6*********************** void Motor_Derecho6(){ RA4=0; RB3=; TH = 890; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO 5

52 //***********************************Función Motor_ Derecho 7******************** void Motor_Derecho7(){ RA4=0; RB3=; TH = 800; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor8******************************* void Motor_Derecho8(){ RA4=0; RB3=; TH = 770; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO(ojo tengo que cambiar los cables de la placa) //***********************************Función Motor9******************************* void Motor_Derecho9(){ RA4=0; RB3=; TH = 740; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho0************************ void Motor_Derecho0(){ RA4=0; RB3=; TH = 70; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho************************** void Motor_Derecho(){ RA4=0; RB3=; TH = 680; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO 52

53 //***********************************Función Motor_Derecho2*************************** void Motor_Derecho2(){ RA4=0; RB3=; TH = 650; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho3*************************** void Motor_Derecho3(){ RA4=0; RB3=; TH = 620; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho4*************************** void Motor_Derecho4(){ RA4=0; RB3=; TH = 590; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho5*************************** void Motor_Derecho5(){ RA4=0; RB3=; TH = 500; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho6************************** void Motor_Derecho6(){ RA4=0; RB3=; TH = 450; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO 53

54 //***********************************Función Motor_Derecho7*************************** void Motor_Derecho7(){ RA4=0; RB3=; TH = 400; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho8************************* void Motor_Derecho8(){ RA4=0; RB3=; TH = 350; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO //***********************************Función Motor_Derecho9************************* void Motor_Derecho9(){ RA4=0; RB3=; TH = 300; set_pwm2_duty(th); //MOTOR DERECHO HACIA ATRAS //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO // //***********************************FuncionMotor_Derecho_Parado*********************** void Motor_Derecho_Parado(){ RA4=0; RB3=; TH = 50; set_pwm2_duty(th); //MOTOR DERECHO HACIA DELANTE //ATACA A LA PATILLA RC, Y CONTROLAMOS EL MOTOR //DERECHO(ojo tengo que cambiar los cables de la placa) //*********************************Controles del Motor Izquierdo*************************** //*********************************Función Motor_Izquierdo***************************** void Motor_Izquierdo(){ RC5=; RC0=0; TH = 000; //MOTOR HACIA DELANTE 54

PROYECTO: Velocista y coche teledirigido

PROYECTO: Velocista y coche teledirigido PROYECTO: Velocista y coche teledirigido Departamento de Electricidad y Electrónica Ciclo Formativo de Grado Superior: Desarrollo de Productos Electrónicos Alumno: Profesores: Instituto: Localidad: Pedro

Más detalles

PROFESOR: Práctica 9. Convertidor Analógico-Digital

PROFESOR: Práctica 9. Convertidor Analógico-Digital INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A:

TUTORIAL II parte A. Observemos el diagrama de pines del microcontrolador 16F877A: 1 TUTORIAL II parte A OBJETIVOS Conocer el manejo de puertos del microcontrolador 16F877A, registros TRIS y PORT. Familiarizarse con las principales instrucciones del lenguaje y la estructura de un programa

Más detalles

PROFESOR: Práctica 10. Modulación por ancho de pulso (PWM) Emplea un microcontrolador para procesamiento de señales analógicas y digitales

PROFESOR: Práctica 10. Modulación por ancho de pulso (PWM) Emplea un microcontrolador para procesamiento de señales analógicas y digitales INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

CONVERTIDOR ANÁLOGICO-DIGITAL (ADC)

CONVERTIDOR ANÁLOGICO-DIGITAL (ADC) Aplicar los conocimientos básicos de electrónica de manera teórica (lenguaje ANSI-C) y práctica (montaje de circuitos). Conocer las funciones que gobiernan las entradas y salidas del microcontrolador PIC18F47J53.

Más detalles

La siguiente función configura el puerto como entrada y realiza su lectura: input_x( )

La siguiente función configura el puerto como entrada y realiza su lectura: input_x( ) Laboratorio 2: Puertos de Entrada y Salida. 2.1 Objetivo. Familiarizarse con los Puertos de Entrada y Salida mediante la implementación práctica del ejemplo LED y Botones y el ejemplo Pantalla LCD. 2.2

Más detalles

El objeto de este proyecto es el de construir un robot araña controlado por un PIC16F84A.

El objeto de este proyecto es el de construir un robot araña controlado por un PIC16F84A. .. Memoria Descriptiva... Objeto El objeto de este proyecto es el de construir un robot araña controlado por un PIC6F8A.... Antecedentes El diseño original no se llegó a realizar en circuito impreso, en

Más detalles

Proyecto Rastreador + Coche Teledirigido

Proyecto Rastreador + Coche Teledirigido Proyecto Rastreador + Coche Teledirigido Profesor: Pedro Alonso Sanz Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso: Enero_009 Índice de contenido.- Explicación breve del Proyecto....-

Más detalles

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits

MICROCONTROLADORES. 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits 1. El PIC 16F84A es un microcontrolador de: a) 16 bits b) 8 bits c) 4 bits d) 32 bits e) 64 bits MICROCONTROLADORES 2. La memoria de programa del PIC 16F84A es de tipo: a) ROM b) OTP c) RAM d) EPROM e)

Más detalles

PROFESOR: Práctica 5. Manejo de Motores

PROFESOR: Práctica 5. Manejo de Motores INSTITUTO POLITÉCNICO NACIONAL Centro de Estudios Científicos y Tecnológicos Nº 1 Gonzalo Vázquez Vela Academia de Sistemas Digitales Prácticas de Micro Electrónica Programable NOMBRE DEL ALUMNO: Apellido

Más detalles

EL módulo conversor A/D. (c) Domingo Llorente

EL módulo conversor A/D. (c) Domingo Llorente EL módulo conversor A/D (c) Domingo Llorente 2010 1 Características del conversor A/D Ocho entradas de señal analógica. (5 para el 16F876x) Resolución de la conversión de 10 bits. (0-1024) Distintas fuentes

Más detalles

Actuadores eléctricos - Motores

Actuadores eléctricos - Motores Servomotores Un servomotor es básicamente un actuador mecánico que contine un motor eléctrico y un conjunto de engranajes que permiten multiplicar el torque del sistema final y tiene la capacidad de ser

Más detalles

Diagrama de bloques del sistema

Diagrama de bloques del sistema Software de control: Diagrama de bloques del sistema Para controlar todos los parámetros de funcionamiento de la pila de combustible, se ha creado un software específico, este funciona como se muestra

Más detalles

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627)

MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) MICROCONTROLADORES PIC BÁSICO (PIC 16F84A / 16F627) TEMARIO Objetivo: El estudiante comprenderá la evolución de los microcontroladores y microprocesadores así como sus diferencias, desarrollara su habilidad

Más detalles

CURSO BÁSICO MICROCONTROLADORES PIC

CURSO BÁSICO MICROCONTROLADORES PIC CURSO BÁSICO MICROCONTROLADORES PIC CONFIGURACIÓN BÁSICA FUSIBLES Los fusibles son palabras de configuración que definen las condiciones de funcionamiento del microcontrolador. Algunos fusibles importantes

Más detalles

MICROCONTROLADORES EJERCICIOS PARA PRACTICAR USANDO TEMPORIZADORES

MICROCONTROLADORES EJERCICIOS PARA PRACTICAR USANDO TEMPORIZADORES MICROCONTROLADORES EJERCICIOS PARA PRACTICAR USANDO TEMPORIZADORES 1. Se desea enviar por el pin PB.0 un pulso negativo de 244µs cuando se reciba un flanco de bajada por el pin INT0. Escribe un programa

Más detalles

Medidas de Distancia mediante Rayos Infrarrojos

Medidas de Distancia mediante Rayos Infrarrojos Medidas de Distancia mediante Rayos Infrarrojos Con un nuevo módulo sensor de proximidad. La casa Sharp ha fabricado un nuevo sensor, en la forma del módulo GP2D02 que, con la ayuda de un microcontrolador,

Más detalles

Qué es y por qué usarlo

Qué es y por qué usarlo ARDUINO * El proyecto Arduino: Qué es y por qué usarlo Arduino es un sistema electrónico de prototipado abierto (opensource ) basada en hardware y software flexibles y fáciles de usar. Con conceptos básicos

Más detalles

Control de LCD y sensor de temperatura

Control de LCD y sensor de temperatura Control de LCD y sensor de temperatura Componentes Protoboard Arduino UNO Sensor de temperatura LM35 Potenciómetro (resistencia variable) Resistencia de 220 Ω Pantalla LCD 16 x 2 20 cables jumpers Montaje

Más detalles

COMUNICACIÓN I2C (Bus de circuito inter-integrado)

COMUNICACIÓN I2C (Bus de circuito inter-integrado) Aplicar los conocimientos básicos de electrónica de manera teórica (lenguaje ANSI-C) y práctica (montaje de circuitos). Conocer las funciones que gobiernan las entradas y salidas del microcontrolador PIC18F47J53.

Más detalles

CONTROL AUTOMÁTICO CON ARDUINO

CONTROL AUTOMÁTICO CON ARDUINO CONTROL AUTOMÁTICO CON ARDUINO TECNOLOGIA Juan Crespo López Señal analógica: es una señal que puede tomar infinitos valores Señal digital: Es una señal que solo puede tomar dos valores 0 y 1 normalmente

Más detalles

Práctica 6. Control de LCD 16x2 con PIC 16F84A.

Práctica 6. Control de LCD 16x2 con PIC 16F84A. Práctica 6 Control de LCD 16x2 con PIC 16F84A. Eduardo V. Abad Descripción de las características y funcionamiento del LCD 44780 Las pantallas de cristal líquido (LCD) se han popularizado mucho en los

Más detalles

Tabla 4.1 Pines de conector DB50 de Scorbot-ER V Plus Motores Eje Motor Número de Pin Interfaz de Potencia 1 2Y (1) 2 3Y (1) 3 2Y (2) 4 4Y (2) 5

Tabla 4.1 Pines de conector DB50 de Scorbot-ER V Plus Motores Eje Motor Número de Pin Interfaz de Potencia 1 2Y (1) 2 3Y (1) 3 2Y (2) 4 4Y (2) 5 DISEÑO DE LA INTERFAZ ELECTRÓNICA.. CONFIGURACIÓN DEL CONECTOR DB0. El Scorbot viene provisto de fábrica de un conector DB0 el cual contiene el cableado hacia los elementos electrónicos del robot, en la

Más detalles

Display 7 segmentos. Ing. Diego Chacón, Mdhd.

Display 7 segmentos. Ing. Diego Chacón, Mdhd. Display 7 segmentos Ing. Diego Chacón, Mdhd. El displays segmentos, es un componente que se utiliza para la representación de números en muchos dispositivos electrónicos. Cada vez es más frecuente encontrar

Más detalles

Las 7 claves de Arduino UNO

Las 7 claves de Arduino UNO Las 7 claves de Arduino UNO La mejor placa para iniciarse en este mundo es el Arduino UNO. Aunque podríamos empezar con cualquier otra, prácticamente todas tienen las mismas funcionalidades básicas, Arduino

Más detalles

TUTORIAL III V2 (PaP)

TUTORIAL III V2 (PaP) 1 TUTORIAL III V2 (PaP) OBJETIVOS Conocer el manejo de los motores paso a paso. Reforzar conceptos sobre el manejo de puertos I/O. Realizar lecturas de puertos y toma de decisiones basadas en estas. INTRODUCCIÓN

Más detalles

Curso Robótica Práctica

Curso Robótica Práctica TÍTULO DE LA UNIDAD DIDÁCTICA Montaje de distintos proyectos fundamentales con ambos entornos: Placa controladora PICAXE. Placa controladora ARDUINO. CURSO 3º-4º ESO DESCRIPCIÓN DE LA UNIDAD DIDÁCTICA

Más detalles

TICA EN LA ESCUELA. El Robot (hardware) Alicia Escudero. Apellido y Nombre: Escudero Alicia. Tema: características de un robot

TICA EN LA ESCUELA. El Robot (hardware) Alicia Escudero. Apellido y Nombre: Escudero Alicia. Tema: características de un robot Alicia Escudero ROBÓTICA TICA EN LA ESCUELA El Robot (hardware) Apellido y Nombre: Escudero Alicia Tema: características de un robot E-mail: alyy_94@hotmail.com D.N.I: 36.491.199 02/05/1994 Introducción

Más detalles

EL POLIMETRO. CONCEPTOS BASICOS. MEDIDAS

EL POLIMETRO. CONCEPTOS BASICOS. MEDIDAS EL POLIMETRO. CONCEPTOS BASICOS. MEDIDAS CONCEPTOS BASICOS El aparato de medida más utilizado en electricidad y electrónica es el denominado POLÍMETRO, también denominado a veces multímetro o texter. El

Más detalles

ZigBee development circuit (ETRX2 based)

ZigBee development circuit (ETRX2 based) ZigBee development circuit (ETRX2 based) Introducción El circuito consiste básicamente en la interconexión de un módulo ZigBee ETRX2 de la marca Telegesis a un circuito integrado MAX233 para poder comunicar

Más detalles

proyecto: robot hexápodo (spidy.00)

proyecto: robot hexápodo (spidy.00) proyecto: robot hexápodo (spidy.00) Departamento de Electricidad-Electrónica Alumnos: Rodrigo García Martín Jesús Torrejón López Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso:

Más detalles

Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550.

Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550. Se recomienda consultar el siguiente enlace y el datasheet del PIC18F2550. http://picfernalia.blogspot.com.es/2012/07/conversor-adc.html ADCON0: - ADON: Habilita el módulo convertidor A/D. - GO/DONE: Con

Más detalles

Robótica en la Universidad

Robótica en la Universidad Robótica en la Universidad Juan González Gómez Escuela Politécnica Superior Universidad Autónoma de Madrid Andrés Prieto-Moreno Torres Ifara Tecnologías Profesor asociado UAM Semana de la Ciencia, UPSAM

Más detalles

Características del sistema

Características del sistema BARRERA ELECTROMECÁNICA Introducción Consiste en una barrera totalmente automatizada. El programa se inicia accionando un pulsador. Posee un semáforo para permitir o no el paso y un sensor infrarrojo que

Más detalles

Descripción del proyecto

Descripción del proyecto Descripción del proyecto Circuito: En este proyecto se desarrolló una baquelita de fibra que conforma el cuerpo del carro velocista, en esta baquelita se encuentran las pistas que unen los diversos periféricos.

Más detalles

Capítulo VII: MONTAJE DE PLACAS

Capítulo VII: MONTAJE DE PLACAS Capítulo VII: MONTAJE DE PLACAS Proyecto Fin de Carrera 79 Antonio Andújar Caballero 7. MONTAJE DE PLACAS. 7.1. Circuito ecualizador y de control. El circuito de ecualización elegido para el presente proyecto

Más detalles

I.E.S. Joan Miró (S.S. de los Reyes) / Dpto. Electrónica. Proyecto RASTREADOR. Departamento de Electricidad-Electrónica

I.E.S. Joan Miró (S.S. de los Reyes) / Dpto. Electrónica. Proyecto RASTREADOR. Departamento de Electricidad-Electrónica Proyecto RSTREDOR Departamento de Electricidad-Electrónica lumno: lvar Martín del Hoyo Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso: 008/009 INDICE.- Explicación breve del Proyecto.....-

Más detalles

S320120 MAXSONAR EZ1 SENSOR DE DISTANCIAS POR ULTRASONIDOS Información técnica Sensor de distancias por ultrasonido de alto rendimiento MaxSonar-EZ1 A 0,785 19,9 mm F 0,519 12,6 mm B 0,870 21,1 mm G 0,124

Más detalles

Informe. Proyecto de. Electrónica. Tema: Temporizador con LM 555. Alumno: Guevara, Andrés

Informe. Proyecto de. Electrónica. Tema: Temporizador con LM 555. Alumno: Guevara, Andrés UNIVERSIDAD NACIONAL DE SAN JUAN FACULTAD DE FILOSOFIA, HUMANIDADES Y ARTES DEPARTAMENTO DE FÍSICA Y QUÍMICA CÁTEDRA: ELECTRÓNICA GENERAL Informe Proyecto de Electrónica Tema: Temporizador con LM 555 Alumno:

Más detalles

Microprocesadores. Introducción al Lenguaje C - Parte IV. Prof. Luis Araujo. Universidad de Los Andes

Microprocesadores. Introducción al Lenguaje C - Parte IV. Prof. Luis Araujo. Universidad de Los Andes Introducción al Lenguaje C - Parte IV Universidad de Los Andes Funciones Las funciones son porciones de código que devuelven un valor y permiten descomponer el programa en módulos que se llaman entre ellos

Más detalles

EL sensor de distancias GP2D120. (c) Domingo Llorente

EL sensor de distancias GP2D120. (c) Domingo Llorente EL sensor de distancias GP2D120 (c) Domingo Llorente 2010 1 Características del sensor Salida analógica (Vo) Alimentación a +5v Rango efectivo de medida de 4 a 40 cm Tiempo típico de respuesta 39ms Retardo

Más detalles

MiniLab Presentación

MiniLab Presentación MiniLab 00 Presentación El circuito de Minilab está diseñado como herramienta para los trabajos prácticos de la materia de Técnicas Digitales y para la práctica de la electrónica digital en general, permitiendo

Más detalles

Practica 03: El convertidor analógico digital

Practica 03: El convertidor analógico digital Practica 03: El convertidor analógico digital M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom 1 Contenido Introducción Objetivos Actividades

Más detalles

CAPITULO 3 IMPLEMENTACIÓN DEL INVERSOR ELEVADOR. En el presente capítulo se muestran, de manera general, la etapa de potencia y de

CAPITULO 3 IMPLEMENTACIÓN DEL INVERSOR ELEVADOR. En el presente capítulo se muestran, de manera general, la etapa de potencia y de CAPITULO 3 IMPLEMENTACIÓN DEL INVERSOR ELEVADOR MONO - ETAPA 3.1 Introducción En el presente capítulo se muestran, de manera general, la etapa de potencia y de control de conmutación implementadas. Se

Más detalles

LUCES SECUENCIALES REVERSIBLES DE 6 LED. Simula que tienes un scanner o una alarma en tu vehículo

LUCES SECUENCIALES REVERSIBLES DE 6 LED. Simula que tienes un scanner o una alarma en tu vehículo LUCES SECUENCIALES REVERSIBLES DE 6 LED Simula que tienes un scanner o una alarma en tu vehículo Tabla de Contenido DEFINICIÓN FUNCIONAMIENTO LISTA DE PARTES ENSAMBLE DEFINICIÓN 4017 El 4017b es un circuito

Más detalles

ÍNDICE INTRODUCCIÓN...17

ÍNDICE INTRODUCCIÓN...17 ÍNDICE INTRODUCCIÓN...17 CAPÍTULO 1. MICROCONTROLADORES...19 1.1 MICROCONTROLADOR...19 1.1.1 Controlador y microcontrolador...19 1.1.2 Diferencia entre microprocesador y microcontrolador...21 1.1.3 Aplicaciones

Más detalles

Robótica con ladrillos LEGO

Robótica con ladrillos LEGO Robótica con ladrillos LEGO José María Cañas Plaza jmplaza@gsyc.escet.urjc.es Abril 2003 Índice del curso 1 Índice del curso Introducción Elementos del kit Programación con código RCX Programación con

Más detalles

DESCRIPCIÓN DEL DIAGRAMA DE BLOQUES

DESCRIPCIÓN DEL DIAGRAMA DE BLOQUES CONTROLADORA CNICE La tarjeta controladora CNICE es un sistema o equipo electrónico, que permite la comunicación entre el ordenador y el sistema o máquina a controlar, interpretando y adaptando las señales

Más detalles

Sensores compactos medidores de distancias de alta sensibilidad

Sensores compactos medidores de distancias de alta sensibilidad Sensores compactos medidores de distancias de alta sensibilidad Sección escrita y coordinada por: Fernando Remiro Modelo Introducción: Los IR Sharp GP2DXX son una familia de sensores de infrarrojos para

Más detalles

Motor de Corriente Continua

Motor de Corriente Continua 1.2.12. Motor de Corriente Continua En este proyecto vamos a controlar un motor de corriente continua como los que se utilizan en multitud de proyectos de tecnología o juguetes como coches teledirigidos,

Más detalles

Generador Solar de Energía Eléctrica a 200W CAPÍTULO VII. Implementaciones y resultados Implementación de los convertidores elevadores

Generador Solar de Energía Eléctrica a 200W CAPÍTULO VII. Implementaciones y resultados Implementación de los convertidores elevadores CAPÍTULO VII Implementaciones y resultados 7.1.- Implementación de los convertidores elevadores Al finalizar con las simulaciones se prosiguió a la construcción de los convertidores de potencia. Se implementó

Más detalles

Puente H: cambio de giro y velocidad de motores DC.

Puente H: cambio de giro y velocidad de motores DC. Puente H: cambio de giro y velocidad de motores DC. Por William David Galvis 1 26 Marzo del 2014 Puente H: El puente en H lleva su nombre gracias al aspecto físico del esquema básico de los interruptores

Más detalles

PRÁCTICA 7 PROYECTO DE GENERADOR DE IMPULSOS

PRÁCTICA 7 PROYECTO DE GENERADOR DE IMPULSOS PRÁCTICA 7 PROYECTO DE GENERADOR DE IMPULSOS MEMORIA DESCRIPTIVA Introducción. El objeto de este proyecto es la creación básica de un dispositivo generador de impulsos. Actualmente existen en el mercado

Más detalles

Conceptos básicos de Arduino:

Conceptos básicos de Arduino: Conceptos básicos de Arduino: Cosas básicas de C: Siempre que se acabe de escribir una línea, y esta no acabe en }, hay que poner punto y coma (;) 1. Variables: 2. Cómo declarar una variable: a. Se pueden

Más detalles

Dispositivos de Entrada/Salida

Dispositivos de Entrada/Salida Dispositivos de Entrada/Salida Notas de clase: Unidad IV Materia: Diseño y Paradigmas de Lenguajes Carrera: Ingeniería en Informática/Ingeniería en Computación Universidad Nacional de San Luis 20/09/2017

Más detalles

I.E.S. Joan Miró (S.S. De los Reyes) Robot Elii. (Robot rastreador con LED,borde derecho y con memoria)

I.E.S. Joan Miró (S.S. De los Reyes) Robot Elii. (Robot rastreador con LED,borde derecho y con memoria) Robot Elii (Robot rastreador con LED,borde derecho y con memoria) lumnas: Dayana Cuñas y Ruth Zurita Instituto: I.E.S. Joan Miró Localidad: San Sebastián de los Reyes Curso: Enero_009 Índice de contenido.-

Más detalles

Manual Iocard USB DcMotors. Fecha:15/03/12 Rev.:2.0

Manual Iocard USB DcMotors. Fecha:15/03/12 Rev.:2.0 Manual Iocard USB DcMotors Fecha:15/03/12 Rev.:2.0 Índice: MANUAL IOCARD USB DCMOTORS... 1 ÍNDICE:... 2 INTRODUCCIÓN:... 3 USB DCMOTORS:... 3 Esquema y componentes:... 3 Descripción de los conectores:...

Más detalles

Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes

Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes Qué significa ALU? Arithmetic Logic Unit Guia para examen de Sistemas Embebidos I Para primer parcial Febrero 2013 Revisión 2 Ing. Julio Cesar Gonzalez Cervantes que operaciones realiza un ALU? suma, resta,

Más detalles

Control de servomotores. (c) Domingo Llorente

Control de servomotores. (c) Domingo Llorente Control de servomotores (c) Domingo Llorente 2010 1 Conceptos básicos Un servomotor (también llamado Servo) es un dispositivo, que tiene la capacidad de ubicarse en cualquier posición dentro de su rango

Más detalles

MAYA 50. Es una tarjeta electrónica diseñada para controlar y realizar prácticas de microcontroladores basada en el MCU PIC18F4550.

MAYA 50. Es una tarjeta electrónica diseñada para controlar y realizar prácticas de microcontroladores basada en el MCU PIC18F4550. MAYA 50 Es una tarjeta electrónica diseñada para controlar y realizar prácticas de microcontroladores basada en el MCU PIC18F4550. 1. Características Maya 50, está basada en el microcontrolador de microchip

Más detalles

Mazo V2 Electrónica. Daniel Tello September 25, 2006

Mazo V2 Electrónica. Daniel Tello September 25, 2006 Mazo V2 Electrónica Daniel Tello September 25, 2006 CAMPUS TECNOLÓGICO DE LA UNIVERSIDAD DE NAVARRA. NAFARROAKO UNIBERTSITATEKO CAMPUS TEKNOLOGIKOA Paseo de Manuel Lardizábal 13. 20018 Donostia-San Sebastián.

Más detalles

MÓDULO Nº10 CONVERTIDORES DIGITAL ANALÓGICO

MÓDULO Nº10 CONVERTIDORES DIGITAL ANALÓGICO MÓDULO Nº0 CONVERTIDORES DIGITAL ANALÓGICO UNIDAD: CONVERTIDORES TEMAS: Introducción al tratamiento digital de señales. Definición y Funcionamiento. Parámetros Principales. DAC00 y circuitos básicos. OBJETIVOS:

Más detalles

Sesión II: Elementos de un Robot

Sesión II: Elementos de un Robot Sesión II: Elementos de un Robot Andrés Prieto-Moreno Torres Ifara Tecnologías Profesor asociado UAM Sesiones Robótica Comunidad de Madrid, UPSAM Abr, 2005 ÍNDICE Introducción Estructura mecánica Motores

Más detalles

Proyecto: Telemando a través de la red eléctrica Autor: Antonio José Morente Martín Memoria Descriptiva Objeto

Proyecto: Telemando a través de la red eléctrica Autor: Antonio José Morente Martín Memoria Descriptiva Objeto 1.1. Memoria Descriptiva 1.1.1. Objeto Telemando a través de la red eléctrica. El sistema de telemando se compone de dos equipos, uno de ellos es el emisor que cuenta con el interruptor para enviar la

Más detalles

PROBLEMAS DE EXAMEN. 1.- La figura representa un convertidor alterna/alterna con control por fase bidireccional con carga resistiva:

PROBLEMAS DE EXAMEN. 1.- La figura representa un convertidor alterna/alterna con control por fase bidireccional con carga resistiva: POBLEMAS DE EXAMEN 1.- La figura representa un convertidor alterna/alterna con control por fase bidireccional con carga resistiva: 1 V in = 2 V s sen(wt) i in 2 a) Explicar brevemente el funcionamiento

Más detalles

CAPÍTULO 3. Las principales funciones del microcontrolador son: adquirir por medio del A/D y también, mostrar mensajes de pesos y voltaje en el LCD.

CAPÍTULO 3. Las principales funciones del microcontrolador son: adquirir por medio del A/D y también, mostrar mensajes de pesos y voltaje en el LCD. CAPÍTULO 3 3. DISEÑO DEL SOFTWARE. La programación del PIC se realizó en lenguaje C, usando el compilador mikroc PRO for PIC. Este compilador se utilizó, ya que tiene una versión demo muy buena, además

Más detalles

Sensor Analógico: Potenciómetro

Sensor Analógico: Potenciómetro 1.2.16. Sensor Analógico: Potenciómetro En esta actividad vamos a utilizar un potenciómetro como ejemplo de sensor analógico. Los potenciómetros son utilizados en multitud de aplicaciones, como por ejemplo

Más detalles

COMO EMPEZAR... Proceso de conexión de la placa al ordenador:

COMO EMPEZAR... Proceso de conexión de la placa al ordenador: COMO EMPEZAR... Dentro de las múltiples versiones de LOGO existentes en el mercado, hemos elegido WINLOGO y MSWLOGO por varias razones: - Las primitivas están en español. - MSWLOGO es de libre distribución,

Más detalles

Práctica 2. El Circuito Integrado NE555 como oscilador astable y como detector de pulsos fallidos. 9 El Circuito Integrado NE555: Montaje y Prueba

Práctica 2. El Circuito Integrado NE555 como oscilador astable y como detector de pulsos fallidos. 9 El Circuito Integrado NE555: Montaje y Prueba L-2 9 El Circuito Integrado NE555: Montaje y Prueba 1. Objetivo de la práctica El objetivo de esta práctica es mostrar el comportamiento del CI 555, uno de los dispositivos más extendidos en el diseño

Más detalles

sistema RAGNVALD funciona correctamente, así como para encontrar posibles mejoras

sistema RAGNVALD funciona correctamente, así como para encontrar posibles mejoras Capítulo 8 Pruebas y Resultados En este capítulo se detallan las pruebas que se realizaron para asegurar que el sistema RAGNVALD funciona correctamente, así como para encontrar posibles mejoras para el

Más detalles

CAPÍTULO 3 ETAPA ELECTRÓNICA. 3.1 Introducción

CAPÍTULO 3 ETAPA ELECTRÓNICA. 3.1 Introducción CAPÍTULO ETAPA ELECTRÓNICA En este capítulo se presenta el estudio de la conmutación en el sentido de los motores de corriente continua, así como la naturaleza de las señales que proceden de los sensores..

Más detalles

PIC 18F45XX CARACTERÍSTICAS GENERALES

PIC 18F45XX CARACTERÍSTICAS GENERALES PIC 18F45XX CARACTERÍSTICAS GENERALES 1. Características generales CPU con arquitectura Harvard (77 instrucciones) Todas las instrucciones constan de 1 sola palabra de 16 bits (2 bytes) excepto las de

Más detalles

VID 1010 EMISOR DE TELEMANDO DE 8 CANALES PARA LARGO ALCANCE MANUAL DE USUARIO DE INSTALACIÓN

VID 1010 EMISOR DE TELEMANDO DE 8 CANALES PARA LARGO ALCANCE MANUAL DE USUARIO DE INSTALACIÓN M.V. IVIDCOM-DATAVID VID 1010 EMISOR DE TELEMANDO DE 8 CANALES PARA LARGO ALCANCE MANUAL DE USUARIO DE INSTALACIÓN! Este equipo es apto para su uso en territorio Español, para lo cual requiere de autorización

Más detalles

Construir un sensor de temperatura corporal.

Construir un sensor de temperatura corporal. 4.4 Transductor de temperatura 4.4.1 Objetivo Construir un sensor de temperatura corporal. 4.4.2 Preinforme 4.4.2.1 Diseñe un sistema de sensado de temperatura, básico empleando un transductor adecuado

Más detalles

Programación Arduino Con Visualino

Programación Arduino Con Visualino Programación Arduino Con Visualino Ponente: Ing. Patricio Tisalema ROBOTS FAMOSOS Y NO TAN FAMOSOS PERO SÍ CERCANOS QUÉ ES ROBOT? Es un sistema electro-mecánico que por su apariencia de movimientos, ofrece

Más detalles

Microcontroladores. Manual PIC 16F84A. Ingº Luis Alvarado Cáceres

Microcontroladores. Manual PIC 16F84A. Ingº Luis Alvarado Cáceres Microcontroladores Manual PIC 16F84A Ingº Luis Alvarado Cáceres Separata Nº 4 Manual Microcontrolador PIC16F84A Un microcontrolador es un circuito integrado programable que contiene todos los componentes

Más detalles

Usando los Codificadores Cuadráticos

Usando los Codificadores Cuadráticos Usando los Codificadores Cuadráticos Autor: Ing. Carlos Narváez Universidad de Oriente email: cnarvaez@udo.edu.ve Introducción El presente trabajo es una introducción a los denominados codificadores cuadráticos,

Más detalles

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE

Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE 25 3 ENTRADA / SALIDA Dependiendo del dispositivo usado, se tienen hasta 5 puertos de entrada/salida disponibles: PORTA PORTB PORTC PORTD PORTE Cada uno de estos puertos es de 8 bits, sin embargo no todos

Más detalles

1 Tablero maestro 1 Tarjeta de circuito impreso EB Multímetro 1 Osciloscopio 1 Generador de funciones Tabla 1.1. Materiales y equipo.

1 Tablero maestro 1 Tarjeta de circuito impreso EB Multímetro 1 Osciloscopio 1 Generador de funciones Tabla 1.1. Materiales y equipo. Contenido Facultad: Estudios Tecnologicos Escuela: Electronica y Biomedica Asignatura: Electrónica de Potencia Curvas de operación del PUT y Osciladores de Relajación. Objetivos Específicos Analizar el

Más detalles

Elección de un microcontrolador

Elección de un microcontrolador Elección de un microcontrolador Decisión multivariable. No hay un óptimo evidente Factores: Herramientas de desarrollo Base de conocimientos Precio y disponibilidad Familia versátil y en desarrollo Cantidad

Más detalles

GENERADOR DE PULSOS CON 555

GENERADOR DE PULSOS CON 555 GENERADOR DE PULSOS CON 555 El generador de pulsos es ampliamente utilizado en aplicaciones digitales como el corazón del circuito ya que permite que estos funcionen. También se puede utilizar como modulador

Más detalles

2- Sistema de comunicación utilizado (sockets TCP o UDP, aplicaciones, etc.):

2- Sistema de comunicación utilizado (sockets TCP o UDP, aplicaciones, etc.): UNIVERSIDAD DE SAN BUENAVENTURA SEDE BOGOTA INGENIERIA MECATRONICA GRUPO S.I.R.A TUTOR: MORIAN NAIR CALDERON INTEGRANTES: NICOLAS FELIPE CUBILLOS. NAYKOL ANDREY ESPITIA. CRISTIAN DANIEL GARCIA. CARLOS

Más detalles

Motor Paso a Paso Stepper Unipolar

Motor Paso a Paso Stepper Unipolar Motor Paso a Paso Stepper Unipolar ELECTRONICA SMD electronicasmd.com 1 Introducción Un motor paso a paso es un dispositivo electromecánico que convierte los impulsos eléctricos en los movimientos mecánicos

Más detalles

PIC MICRO ESTUDIO Tres Timers ajustables de 0 a 60 Seg 3 Timer Es Clave:

PIC MICRO ESTUDIO Tres Timers ajustables de 0 a 60 Seg 3 Timer Es Clave: PIC MICRO ESTUDIO Tres Timers ajustables de 0 a 60 Seg 3 Timer Es Clave: 703-1 www.electronicaestudio.com Guía de Operación 3 Timers ajustables Modulo: 3 Timers Es Descripción: El módulo 5I30R es una tarjeta

Más detalles

Manual de conexión de CYCLOPS EASY OSD.

Manual de conexión de CYCLOPS EASY OSD. Manual de conexión de CYCLOPS EASY OSD. EASY OSD V1.0 Manual Gracias por elegir CYCLOPS EASY OSD. Característica: El equipo OSD una de sus características son la dimensión, el poco peso y jugar con la

Más detalles

MICROCONTROLADORES PIC

MICROCONTROLADORES PIC MICROCONTROLADORES PIC LOS TIMER DE LOS 16F87x TEMA EL TIMER 1 CCFF D.P.E. MÓDULO DE PROYECTOS 1 Diagrama de Bloques del TIMER1 CCFF D.P.E. MÓDULO DE PROYECTOS 2 INTRODUCCIÓN El módulo TIMER1 es un temporizador/contador

Más detalles

TEMPORIZADOR Objetivos generales. Objetivos específicos. Materiales y equipo. Introducción teórica

TEMPORIZADOR Objetivos generales. Objetivos específicos. Materiales y equipo. Introducción teórica Electrónica II. Guía 6 1 / 1 Facultad: Ingeniería. Escuela: Electrónica. Asignatura: Electrónica II. Lugar de ejecución: Fundamentos Generales (Edificio 3, 2da planta, Aula 3.21). TEMPORIZADOR - 555. Objetivos

Más detalles

Microchip Tips & Tricks...

Microchip Tips & Tricks... ARTICULO TECNICO Microchip Tips & Tricks... Por el Departamento de Ingeniería de EduDevices. Soluciones y Diseños de Fuentes Inteligentes Tip 104 Control de velocidad de motor DC sin escobillas para Ventiladores.

Más detalles

1.1. Memoria Descriptiva

1.1. Memoria Descriptiva .. Memoria Descriptiva Víctor Orozco Valle ... Objeto El objeto de este proyecto es el de construir desde cero, la maqueta de un ascensor con los sensores y accionamientos necesarios para simular el comportamiento

Más detalles

Sistemas Elec. Digitales. Instrumentación del laboratorio. Pag. 1 1. INSTRUMENTACIÓN DEL LABORATORIO.

Sistemas Elec. Digitales. Instrumentación del laboratorio. Pag. 1 1. INSTRUMENTACIÓN DEL LABORATORIO. Sistemas Elec. Digitales. Instrumentación del laboratorio. Pag. 1 1. INSTRUMENTACIÓN DEL LABORATORIO. Sistemas Elec. Digitales. Instrumentación del laboratorio. Pag. 2 1.1. Fuente de alimentación CPS250

Más detalles

Práctica 5 Diseño de circuitos con componentes básicos.

Práctica 5 Diseño de circuitos con componentes básicos. Práctica 5 Diseño de circuitos con componentes básicos. Descripción de la práctica: -Con esta práctica, se pretende realizar circuitos visualmente útiles con componentes más simples. Se afianzarán conocimientos

Más detalles

Práctica 2, Circuito de Airbag

Práctica 2, Circuito de Airbag ELETÓNIA DEL AUTOMÓVIL Práctica, ircuito de Airbag Práctica ircuito de Airbag Objetivos Estudio de las características de los reguladores de baja caída de tensión Aplicaciones de los acelerómetros de estado

Más detalles

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation)

PIC 18F45XX. El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation) PIC 18F45XX El módulo CCP de Comparación, Captura y PWM (Pulse Wide Modulation) 1. El módulo C.C.P La mayoría de microcontroladores actuales disponen de un periférico denominado Módulo de Captura, Comparación

Más detalles

Conversores Análogo-Digital

Conversores Análogo-Digital Conversores Análogo-Digital mc PIC Preparado por : jhuircan Depto. Ingeniería Eléctrica Universidad de La Frontera Proceso de Conversión Código Correspondiente a la muestra j S(t) S(k) 0010..0011 ADC t

Más detalles

Practicas de INTERFACES ELECTRO-ÓPTICOS PARA COMUNICACIONES

Practicas de INTERFACES ELECTRO-ÓPTICOS PARA COMUNICACIONES Practicas de INTERFACES ELECTROÓPTICOS PARA COMUNICACIONES Francisco Javier del Pino Suárez Práctica 1. Fotorresistencias Objetivos Esta práctica está dedicada al estudio de las fotorresistencias. A partir

Más detalles

MANUAL DE INSTRUCCIONES RS124/40

MANUAL DE INSTRUCCIONES RS124/40 MANUAL DE INSTRUCCIONES RS124/40 REGULADOR SOLAR DE CARGA Manual de instalación y características técnicas Regulador Solar 124/40 1 Características: PWM o ON / OFF formas de carga. Preparado para: exceso

Más detalles

Anexo I: Familias lógicas: Compatibilidad y adaptación de niveles lógicos

Anexo I: Familias lógicas: Compatibilidad y adaptación de niveles lógicos Anexo I: Familias lógicas: Compatibilidad y adaptación de niveles lógicos 1. Introducción La correcta elección de las familia lógicas empleadas en nuestro proyecto es un aspecto crítico y depende de la

Más detalles

Microchip Tips & Tricks...

Microchip Tips & Tricks... ARTICULO TECNICO Microchip Tips & Tricks... Por el Departamento de Ingeniería de EduDevices. PWM Tips & Tricks Estimados lectores, en los artículos anteriores de Microchip Tips & Tricks se presentaron

Más detalles

CERRADURA ELÉCTRICA CODIFICADA

CERRADURA ELÉCTRICA CODIFICADA CERRADURA ELÉCTRICA CODIFICADA Componentes. (1) compuerta CMOS 4063 (2) compuertas TTL SN74LS193/SN74LS192 (2) compuertas TTL 74LS147 (2) compuertas CMOS 4063 (1) compuerta CMOS 4011 (1) compuerta CMOS

Más detalles

CONTROL DE MOTORES UTILIZANDO LOS MICROCONTROLADORES PIC16F87x

CONTROL DE MOTORES UTILIZANDO LOS MICROCONTROLADORES PIC16F87x CTROL DE MOTORES UTILIZANDO LOS MICROCTROLADORES PICF8x CURSO 00/0 CTROL DE MOTORES. Control de Motores de Corriente Continua. Control de Motores Paso a Paso CTROL DE MOTORES DE CORRIENTE CTINUA El control

Más detalles