Sei sulla pagina 1di 14

http://www.iesleonardo.

info/ele/pro/CURSO%202001-2002/p02-angel/

CUENTA REVOLUCIONES DIGITAL PARA EL AUTOMOVIL


INTRODUCCION PRINCIPIO DE FUNCIONAMIENTO LA REALIZACION PROGRAMA EN ENSAMBLADOR CARA DE PISTAS ESQUEMATICO DEL CIRCUITO MATERIALES UTILZADOS VIABILIDAD ECONOMICA

DOWNLOAD:

ensamblador. asm

cara de pistas

esquematico

INTRODUCCION
A pesar de la gran irrupcin de la electrnica en el automvil, parece ser que el indicador de revoluciones del motor an no es una realidad en todos los modelos de coches. La realizacin de un aparato de este tipo es muy atractiva para el experimentador, pero existe una cierta dificultad en encontrar en el mercado un instrumento de medida cuya escala sea adecuada y que adems, resista bien las vibraciones. Por tanto, a continuacin se ha realizado el montaje de un indicador de revoluciones de visualizacin digital cuyo coste, gracias a una racional eleccin de sus componentes, es por lo menos parecida al de los dispositivos comercialmente con instrumentos de aguja.

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (1 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

PRINCIPIO DE FUNCIONAMIENTO
Para contar el nmero de revoluciones por minuto de un motor, es preciso disponer de un sensor que proporcione esta informacin con un eventual coeficiente multiplicador fijo y conocido. En los coches, este sensor existe en forma de ruptor o de su equivalente electrnico. Efectivamente, en los bornes del ruptor se dispone de un impulso elctrico por cada encendido de una buja, lo cual, para un motor de cuatro tiempos, proporciona dos impulsos por segundo. Por tanto, bastara con realizar un pequeo frecuencimetro (con un 555) que mida la frecuencia de repeticin para saber el numero de revoluciones del motor. La frecuencia del reloj del frecuencimetro deber establecerse de manera que permita una visualizacin directa en r.p.m. necesidad de conversin o de traduccin por parte del usuario.La salida de la seal del frecuencimetro ir como entrada a la una de las patillas de la PIC16F84 donde analizar la frecuencia para luego poder hacer los pasos necesarios para su conversin

La PIC16F84 es un microcontrolador de 8-Bit con 18 pines y 13 entradas\salidas tiene una gran diversidad de caractersticas donde se puede encontrar mas informacin sobre el mismo en la pagina xxxxxx@xxxxx.com Nosotros hemos utilizado sus patinaje PA0..PA3 y PB0..PB3 como salidas y PB4 como entrada y de esta manera podremos manipular de alguna forma todos los componentes del circuito, eso s, siempre programando debidamente el integrado con un software en ensamblador que ser el que nos manipule todo el circuito. Esto requiere unos conocimientos medios de programacin en ASM por lo que sino seria imposible llevar a la practica el proyecto. Mas a delante se detallara el proceso seguido para programar la PIC y las dificultades encontradas.

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (2 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

La salida de la PIC nos va a proporcionar una seal de salida en decimal que se la aplicaremos a un decodificador 4511 y que nos har una conversin para a su salida se pueda visualizar en unos displays las r.p.m. Como los coches de verdad estos disponen de unos dispositivos que hacen que el vehculo mantenga un relentin y donde este suele mantenerse en unas 10.000 r.p.m. Este paso tambin se ha tenido en cuenta y en el momento que se ponga en marcha el circuito se podr visualizar el relentin. Existen otros dispositivos electrnicos que hay que tener en cuenta por que son simples pero bsicos se trata de los transistores que tendrn como utilidad una gran tarea como la de hacer esa visualizacin de los displays. Estos se activaran y viceversa a una velocidad muy alta que ser de mS. Estos transistores estarn manipulados a travs de los puertos PB0..PB3 que se definieron como salidas para poder ponerlos a uno o a cero.

LA REALIZACION
Lo primero que se estudio fue el diseo del circuito o el hardware del proyecto donde se usaron los conocimientos ya adquiridos en el primer ao de estudios. El diseo del circuito no tiene una gran dificultades de realizacin por lo que hemos usados elementos muy discretos a la hora de su diseo. En lo primero que se pens fue en realizar una particin de la placa comunicada a travs de un BUS-40 para poder utilizarla como un pequeo entrenador y mas adelante otras personas puedan utilizarlo para poder experimentar con el proyecto Se ha utilizado un microcontrolador PIC16F84 que ser donde grabaremos el programa en ensamblador para direccionar los puertos y hacer los clculos de conversin de datos. En el microcontrolador hemos colocados unos componentes necesarios para que su rendimiento sea correcto y en el que se a llevado su patilla 5 a masa indicada en el integrado como patilla Vss. Por la patilla 14 y 4 del PIC se a alimentado y es la patilla cuyo nombre de denominacin se encuentra en los manuales por Vdd la patilla 14 y la 4 como MCLR ya que es una entrada que se activa a nivel bajo y en este caso no nos interesa que se active y llevndola a la alimentacin no nos la activara. En la patilla 15 y 16 del PIC se han cortocircuitado con un cristal de cuarzo donde a cada patilla tambin se ha llevado a masa unos condensadores, esto creara una seal de reloj que producir como el arranque del integrado a la hora de su funcionamiento. A las salidas del integrado RA0..RA4 y RB0..RB7 se han conectado a un puerto con un bus de 40 pines donde sus patillas 2 y 1 se han conectado a alimentacin y sus patillas 40 y 39 a la masa. A travs de este puerto se transmitirn los datos de la placa madre a el circuito del cuenta revoluciones. Con este mismo puerto se pueden conectar otros circuitos o proyectos realizados por compaeros con distintos proyectos. A la salida del bus 40 de la placa que vamos a realizar hemos distribuido los puertos de una manera ordenada y lgica para que cuando nos toque programar el PIC nos resulte una manera cmoda de utilizarlos, y los hemos asignado de la siguiente manera:
http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (3 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

Del PB0..PB3 los hemos usado como salida para lograr activar o desactivar los transistores que irn polarizados correctamente con su resistencia de 10K El PB4 lo usamos como entrada de datos donde irn conectado el simulador del cuenta revoluciones diseado con un 555. Los puertos PA0..PA3 los usamos como salida de datos y a su vez como entrada de datos al decodificador BCD 7Seg. La salida que se obtiene en estos puertos es en BCD. El siguiente paso que se dio fue el como se iba a realizar un generador de pulsos y se decidi con el integrado 555 con unos elementos discretos. Le colocamos un potencimetro para poder variar esa frecuencia de seal y que sea mas real la simulacin. Para ello se realizaron unos clculos de los conocimientos adquiridos en el primer ao. Tambin tuvimos que pensar como hacer la visualizacin de el cambio de revoluciones y lo hicimos con la colocacin de un decodificador BCD y a sus salidas conectarle unos displays de ctodo comn que se manipularan con unos transistores que se conectaran a los puertos adecuados y definidos correctamente para mas tarde proceder con su planteamiento del programa. Como se puede apreciar el circuito no tiene una gran dificultad a la hora de su diseo por lo que con unos conocimientos bsicos de electrnico general se podra realizar este proyecto de los nico que seria mas complicado seria a la hora de su diseo de placas ya que es necesario unos procesos con unas maquinas de un coste elevado y de uso muy particular de laboratorios de electrnico ya que los productos qumicos requieren un mantenimiento. El otro inconveniente seria la complejidad del diseo del programa en ensamblador por lo que serian necesarios unos conocimientos medios para poder llegar a las conclusiones para su bien funcionamiento. A continuacin realizamos el esquemtico en el programa Eagle y donde se creo una cara de pistas y otra de componentes para proceder con los pasos de la obtencin de ficheros de taladro para poder realizar la placa con un proceso continuo. Una vez realizada los taladros en la placa se pasara a los procesos qumicos en los que se realizaran unos procesos de oxidacin de pistas ..... y finalmente le estaado de las mismas. El siguiente paso seria el montaje de los componentes en la placa y su buen funcionamiento de la misma. Se experimentara con el circuito para poder redactar su buen funcionamiento y mejorar su posible hardware y software.

PROGRAMA EN ENSAMBLADOR

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (4 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

;############################################################# ; Fichero : revol.asm ; Autor : angel sereno rodriguez. ; Fecha: Enero del 2002. ; Version: 0.0 ; Sistema RAD-MICROS. ; Placa Microcontroladora: micro-p1684. ; Placa de Aplicaciones: apli-miniclock. ; Placa de programacion: Programador Superpro II/P. ( XELTEK ) ; Bus: bus-40. ; Codigo para: PIC16C84 y PIC16F84 ; Clock: 4MHz , XT. -> Ciclo = 1 uS. ; Reset: Power On Reset. ; Watch dog: Inhabilitado. ; Proteccion de codigo: Inhabilitado. ; Ficheros requeridos: H16f84a.inc ; Funcion : Similador de un cuenta revoluciones digital. ;############################################################# LIST p=PIC16F84A #include <H16f84a.inc> ; Directiva para definir micro. ; Fichero standard de cabezera.

__CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;#################### DEFINICIONES ########################### w_temp status_temp con0 con1 u_rpm d_rpm c_rpm u_m_rpm u_t d_t c_t u_m_t con_0 EQU 0x0C EQU 0x0D EQU 0x0E EQU 0x0F EQU 0x11 EQU 0x12 EQU 0x13 EQU 0x14 EQU 0x16 EQU 0x17 EQU 0x18 EQU 0x19 EQU 0x1A ; Variable para guardar W. ; Variable para guardar STATUS. ; Variable para guardar contador 0. ; Variable para guardar contador 1. ; Unidades rpm. ; Decenas rpm. ; Unidades rpm. ; Decenas rpm. ; Unidades de segundo. ; Decenas de segundo. ; Unidades de minuto. ; Decenas de minuto. ;

;################ COMIENZO DEL PROGRAMA ##################### ORG GOTO 0x00 inicio ; Vector de Reset. ; Programa Principal.

;########## TRATAMIENTO DE INTERRUPCIONES #################### ORG MOVWF MOVF MOVWF BCF 0x04 w_temp STATUS,W status_temp INTCON,GIE ; Vector de interrupcion. ; Guarda W. ; Guarda STATUS. ; Inhabilito interrupciones.

;Pregunto quien realiza la interrupcion BTFSS INTCON,T0IF ; TOIF sube bandera?? CALL es_RB4 ; No sube. RBIF sube bandera.
http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (5 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

CALL GOTO

tiempo fuera

; Si sube bandera TOIF. ; Rutina para salir al P.P.

;************************************************************ ;Rutina: es_RB4 ;Funcion: Incrementa cuando sube bandera RBIF ;Entradas: ;Salidas: u_t, d_t, c_t, u_m_t ;Variables utilizadas: ;************************************************************ es_RB4 BTFSS PORTB,4 GOTO es_RB4 ; d_t + 1 = d_t ; W = d_t ; 10 - W = STATUS ; Z = ?? ;Z=0 ; Z = 1 y W = L(0x00) ; d_t = 0x00 ; c_t + 1 = c_t ; W = c_t ; 10 - W = STATUS ; Z = ?? ;Z=0 ; Z = 1 y W = L(0x00) ; c_t = 0x00 ; u_m_t + 1 = u_m_t ; W = u_m_t ; 10 - W = STATUS ; Z = ?? ;Z=0 ; Z = 1 y W = L(0x00) ; u_m_t = 0x00 ; Salta a la rutina de salida

;Incremento d_t INCF d_t,F MOVF d_t,W SUBLW 0x0A BTFSS STATUS,Z GOTO sal MOVLW 0x00 MOVWF d_t ;Incremento c_t INCF c_t,F MOVF c_t,W SUBLW 0x0A BTFSS STATUS,Z GOTO sal MOVLW 0x00 MOVWF c_t ;Incremento u_m_t INCF u_m_t,F MOVF u_m_t,W SUBLW 0x0A BTFSS STATUS,Z GOTO sal MOVLW 0x00 MOVWF u_m_t GOTO sal sal RETURN

;************************************************************* ;FIN DE LA RUTINA ;************************************************************* ;************************************************************ ;Rutina: tiempo ;Funcion: tiempo para 500mS ;Entradas: ;Salidas: ;Variables utilizadas:con0 ;************************************************************ tiempo DECFSZ con0,F ; con0 - 1 = con0 GOTO sal_1 ;Z=0 DECFSZ con_0,F GOTO sal_1
http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (6 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

MOVLW MOVWF MOVLW MOVWF CALL

0xFF con0 0x04 con_0 cambio

; Z = 1 , W = L = 0xFF ; con0 = W ; Z = 1 , W = L = 0x04 ; con_0 = W ; Salto a la rutina cambio.

sal_1 RETURN ;************************************************************* ;FIN DE LA RUTINA ;************************************************************* ;************************************************************ ;Rutina: cambio ;Funcion: Cambia valores para refrescar el display ;Entradas: u_t, d_t, c_t, u_m_t ;Salidas: u_rpm, d_rpm, c_rpm, u_m_rpm ;Variables utilizadas: u_t, d_t, c_t, u_m_t, u_rpm, d_rpm, c_rpm, u_m_rpm ;************************************************************ cambio MOVF u_t,W ; W = u_t MOVWF u_rpm ; u_rpm = u_t CLRF u_t ; Reset de u_t MOVF MOVWF CLRF MOVF MOVWF CLRF MOVF MOVWF CLRF d_t,W d_rpm d_t c_t,W c_rpm c_t u_m_t,W u_m_rpm u_m_t ; W = d_t ; d_rpm = d_t ; Reset de d_t ; W = c_t ; c_rpm = c_t ; Reset de c_t ; W = u_m_t ; u_m_rpm = u_m_t ; Reset de u_m_t

RETURN ;************************************************************* ;FIN DE LA RUTINA ;************************************************************* fuera MOVF MOVWF SWAPF SWAPF BCF BCF BSF RETFIE status_temp,W ; W = satatus_temp STATUS ; Recupera STATUS. w_temp,F w_temp,W ; Recupera W. INTCON,RBIF ; Bajo bandera de RBIF INTCON,T0IF ; Bajamos Bandera T0IF. INTCON,GIE ; Habilitamos interrupciones ; Retorno de interrupcion.

;************************************************************* ;FIN DE LA INTERRUPCION ;************************************************************* ;############################################################# ;############################################################# ;#############################################################


http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (7 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

;############################################################# ;############################################################# ;############################################################# ;############################################################# ;################ PROGRAMA PRINCIPAL ######################### inicio BSF MOVLW MOVWF MOVLW MOVWF CLRF BCF CLRF MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF CLRF CLRF CLRF CLRF CLRF MOVLW MOVWF STATUS,RP0 B'10000001' OPTION_REG B'00010000' TRISB TRISA STATUS,RP0 PORTB 0xFF con0 0x04 con_0 0x3F con1 u_t d_t c_t u_m_t TMR0 B'10101000' INTCON ; Banco 1 ; Divisor = 4 ; Configuramos TMR0 ; W = L = 0x10 ; Configuramos I/O PORTB ; Configuramos I/O PORTA ; Banco 0 ; Pongo como entrada el PORTB ; Variable para temporizar. ; con0 x divisor x TMR0 = X segundo. ; Variable para temporizar. ; con0 x divisor x TMR0 = X segundo. ; Variable para temporizar. ; con0 x divisor x TMR0 = X segundo. ; Reset u_t ; Reset d_t ; Reset c_t ; Reset u_m_t ; TMR0 = 0 ; Habilitamos RBIE,GIE,TOIE.

bucle

CALL GOTO

display bucle

; Rutina que visualiza el display ; Rutina de retorna al bucle

;################### FIN DEL PROGRAMA PRINCIPAL ############## ;############################################################# ;************************************************************ ;Rutina: display ;Funcion: Visualizar en los displays ;Entradas: ;Salidas: PORTB,X ;Variables utilizadas: u_rpm, d_rpm, c_rpm, u_m_rpm ;************************************************************ display MOVF MOVWF BSF CALL BCF MOVF u_rpm,W PORTA PORTB,0 delay PORTB,0 d_rpm,W ; W = u_rpm ; PORTA = W ; PORTB,0 = ACTIVO ; Rutina de retardo ; PORTB,0 = DESACTIVO ; W = d_rpm

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (8 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

MOVWF BSF CALL BCF MOVF MOVWF BSF CALL BCF MOVF MOVWF BSF CALL BCF RETURN

PORTA PORTB,1 delay PORTB,1 c_rpm,W PORTA PORTB,2 delay PORTB,2 u_m_rpm,W PORTA PORTB,3 delay PORTB,3

; PORTA = W ; PORTB,1 = ACTIVO ; Rutina de retardo ; PORTB,1 = DESACTIVO ; W = c_rpm ; PORTA = W ; PORTB,2 = ACTIVO ; Rutina de retardo ; PORTB,2 = DESACTIVO ; W = u_m_rpm ; PORTA = W ; PORTB,3 = ACTIVO ; Rutina de retardo ; PORTB,3 = DESACTIVO

; Retorno al bucle inicial

;************************************************************* ;FIN DE LA RUTINA ;************************************************************* ;************************************************************ ;Rutina: delay ;Funcion: Realiza un retardo en los displays ;Entradas: ;Salidas: ;Variables utilizadas: con1 ;************************************************************ delay loop MOVLW MOVF DECFSZ GOTO RETURN 0x3F ; W = 0x4F con1 ; con1 = W con1,F ; con1 - 1 = con1 delay ;Z=0 ;z=1

;************************************************************* ;FIN DE LA RUTINA ;************************************************************* END ; Fin de programa.

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (9 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

CARA DE PISTAS

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (10 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

ESQUEMATICO DEL CIRCUITO

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (11 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

MATERIALES UTILIZADOS
Ordenador para el desarrollo de los procesos de diseo y programacin. *Programa de diseo de circuitos electrnicos (Eagle, Orcad). *Maquinaria de taladro para perforacin de la placa. *Elementos qumicos para procesos de diseo de pistas. Programador de microcontroladores. Fuente de alimentacin

*.Todos estos puntos se pueden sustituir por una placa Board.

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (12 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

VIABILIDAD ECONOMICA
N COMPONENTE VALOR PIC16F84 4MHz 1N4148 2.2K R-US_0207/10 180 R-US_0207/10 10K R-US_0207/10 390K R-US_0207/10 1K R-US_0207/10 100K POT-US_0207/10 22pF 12F 100nF 4511BCD-7se DIS-7Seg-CC BCD-107 LM-555-N REFERENCIA PIC16F84 Cristal de cuarzo 4MHz LED-1N4148 0207/10 0207/10 0207/10 0207/10 0207/10 0207/10 C2,5-3 C2,5-3 C2,5-3 4511N DIL16 7SEG-CK BCD-107 LM-555-N P.UNIDAD 4,22 0,72 0,06 0,03 0,03 0,03 0,03 0,03 0,04 0,06 0,06 0,06 0,72 0,12 0,06 0,30 P.TOTAL 4,22 0,72 0,06 0,03 0,24 0,12 0,03 0,03 0,04 0,12 0,06 0,06 0,72 0,6 0,24 0,30

1 Microcontrolador 1 Cristal de cuarzo 1 Diodo Led 1 Resistencia 8 Resistencia 4 Resistencia 1 Resistencia 1 Resistencia 1 Potencimetro 2 Condensadores 1 Condensadores 1 Condensadores 1 Decodificador 5 Display-7 seg 4 Transistores 1 LM-555-N

TOTAL 1395 PESETAS--------------------------------------------------------------------------------------------------------------------------------- PTA TOTAL 8,40 EUROS------------------------------------------------------------------------------------------------------------------------------------

*Todos estos precios pertenecen a la fecha del 11-10-01 por lo que han podido ser modificados hasta la fecha actual.

FINAL DEL PROYECTO


Este proyecto lo realic en el ultimo curso del modulo de Grado Superior en Desarrollo en Productos Electrnicos en el centro Leonardo da Vinci para la asignatura de Desarrollo de Proyectos. ANGEL SERENO RODRIGUEZ PROYECTO DEL D.P.E. *CUENTA REVOLUCIONES DIGITAL PARA EL AUTOMOVIL* 1-02-2002 ASR

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (13 of 14) [24/09/2011 11:46:19 a.m.]

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/

http://www.iesleonardo.info/ele/pro/CURSO%202001-2002/p02-angel/ (14 of 14) [24/09/2011 11:46:19 a.m.]

Potrebbero piacerti anche