|
|
|
|
|---|
| DOWNLOAD: |
|
|
|
A pesar de la gran irrupción de la electrónica en el automóvil, parece ser que el indicador de revoluciones del motor aún no es una realidad en todos los modelos de coches. La realización 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 además, resista bien las vibraciones. Por tanto, a continuación se ha realizado el montaje de un indicador de revoluciones de visualización digital cuyo coste, gracias a una racional elección de sus componentes, es por lo menos parecida al de los dispositivos comercialmente con instrumentos de aguja. |
|
|
|
|
|
Para contar el número de revoluciones por minuto de un motor, es preciso disponer de un sensor que proporcione esta información con un eventual coeficiente multiplicador fijo y conocido. En los coches, este sensor existe en forma de ruptor o de su equivalente electrónico. Efectivamente, en los bornes del ruptor se dispone de un impulso eléctrico por cada encendido de una bujía, lo cual, para un motor de cuatro tiempos, proporciona dos impulsos por segundo. Por tanto, bastara con realizar un pequeño frecuenciómetro (con un 555) que mida la frecuencia de repetición para saber el numero de revoluciones del motor. La frecuencia del reloj del frecuenciómetro deberá establecerse de manera que permita una visualización directa en r.p.m. necesidad de conversión o de traducción por parte del usuario.La salida de la señal del frecuenciómetro 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 conversión
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 programación 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. La salida de la PIC nos va a proporcionar una señal de salida en decimal que se la aplicaremos a un decodificador 4511 y que nos hará una conversión 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 vehículo mantenga un relentin y donde este suele mantenerse en unas 10.000 r.p.m. Este paso también se ha tenido en cuenta y en el momento que se ponga en marcha el circuito se podrá visualizar el relentin. Existen otros dispositivos electrónicos que hay que tener en cuenta por que son simples pero básicos se trata de los transistores que tendrán como utilidad una gran tarea como la de hacer esa visualización de los displays. Estos se activaran y viceversa a una velocidad muy alta que será de mS. Estos transistores estarán manipulados a través de los puertos PB0..PB3 que se definieron como salidas para poder ponerlos a uno o a cero. |
|
|
|
|
|
Lo primero que se estudio fue el diseño del circuito o el hardware del proyecto donde se usaron los conocimientos ya adquiridos en el primer año de estudios. El diseño del circuito no tiene una gran dificultades de realización por lo que hemos usados elementos muy discretos a la hora de su diseño. En lo primero que se pensó fue en realizar una partición de la placa comunicada a través de un BUS-40 para poder utilizarla como un pequeño 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 cálculos de conversión 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 denominación 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 llevándola a la alimentación no nos la activara. En la patilla 15 y 16 del PIC se han cortocircuitado con un cristal de cuarzo donde a cada patilla también se ha llevado a masa unos condensadores, esto creara una señal 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 alimentación y sus patillas 40 y 39 a la masa. A través de este puerto se transmitirán 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 compañeros 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 lógica para que cuando nos toque programar el PIC nos resulte una manera cómoda de utilizarlos, y los hemos asignado de la siguiente manera: Del PB0..PB3 los hemos usado como salida para lograr activar o desactivar los transistores que irán polarizados correctamente con su resistencia de 10K El PB4 lo usamos como entrada de datos donde irán conectado el simulador del cuenta revoluciones diseñado 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 potenciómetro para poder variar esa frecuencia de señal y que sea mas real la simulación. Para ello se realizaron unos cálculos de los conocimientos adquiridos en el primer año. También tuvimos que pensar como hacer la visualización de el cambio de revoluciones y lo hicimos con la colocación de un decodificador BCD y a sus salidas conectarle unos displays de cátodo común que se manipularían con unos transistores que se conectarían 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 diseño por lo que con unos conocimientos básicos de electrónico general se podría realizar este proyecto de los único que seria mas complicado seria a la hora de su diseño de placas ya que es necesario unos procesos con unas maquinas de un coste elevado y de uso muy particular de laboratorios de electrónico ya que los productos químicos requieren un mantenimiento. El otro inconveniente seria la complejidad del diseño del programa en ensamblador por lo que serian necesarios unos conocimientos medios para poder llegar a las conclusiones para su bien funcionamiento. A continuación realizamos el esquemático en el programa Eagle y donde se creo una cara de pistas y otra de componentes para proceder con los pasos de la obtención de ficheros de taladro para poder realizar la placa con un proceso continuo. Una vez realizada los taladros en la placa se pasaría a los procesos químicos en los que se realizarían unos procesos de oxidación de pistas ..... y finalmente le estañado 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. |
|
|
|
|
|
;############################################################# ; 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 ; Directiva para definir micro. #include <H16f84a.inc> ; Fichero standard de cabezera. __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;#################### DEFINICIONES ########################### w_temp EQU 0x0C ; Variable para guardar W. status_temp EQU 0x0D ; Variable para guardar STATUS. con0 EQU 0x0E ; Variable para guardar contador 0. con1 EQU 0x0F ; Variable para guardar contador 1. u_rpm EQU 0x11 ; Unidades rpm. d_rpm EQU 0x12 ; Decenas rpm. c_rpm EQU 0x13 ; Unidades rpm. u_m_rpm EQU 0x14 ; Decenas rpm. u_t EQU 0x16 ; Unidades de segundo. d_t EQU 0x17 ; Decenas de segundo. c_t EQU 0x18 ; Unidades de minuto. u_m_t EQU 0x19 ; Decenas de minuto. con_0 EQU 0x1A ; ;################ COMIENZO DEL PROGRAMA ##################### ORG 0x00 ; Vector de Reset. GOTO inicio ; Programa Principal. ;########## TRATAMIENTO DE INTERRUPCIONES #################### ORG 0x04 ; Vector de interrupcion. MOVWF w_temp ; Guarda W. MOVF STATUS,W MOVWF status_temp ; Guarda STATUS. BCF INTCON,GIE ; Inhabilito interrupciones. ;Pregunto quien realiza la interrupcion BTFSS INTCON,T0IF ; TOIF sube bandera?? CALL es_RB4 ; No sube. RBIF sube bandera. CALL tiempo ; Si sube bandera TOIF. GOTO fuera ; 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 ;Incremento d_t INCF d_t,F ; d_t + 1 = d_t MOVF d_t,W ; W = d_t SUBLW 0x0A ; 10 - W = STATUS BTFSS STATUS,Z ; Z = ?? GOTO sal ; Z = 0 MOVLW 0x00 ; Z = 1 y W = L(0x00) MOVWF d_t ; d_t = 0x00 ;Incremento c_t INCF c_t,F ; c_t + 1 = c_t MOVF c_t,W ; W = c_t SUBLW 0x0A ; 10 - W = STATUS BTFSS STATUS,Z ; Z = ?? GOTO sal ; Z = 0 MOVLW 0x00 ; Z = 1 y W = L(0x00) MOVWF c_t ; c_t = 0x00 ;Incremento u_m_t INCF u_m_t,F ; u_m_t + 1 = u_m_t MOVF u_m_t,W ; W = u_m_t SUBLW 0x0A ; 10 - W = STATUS BTFSS STATUS,Z ; Z = ?? GOTO sal ; Z = 0 MOVLW 0x00 ; Z = 1 y W = L(0x00) MOVWF u_m_t ; u_m_t = 0x00 GOTO sal ; Salta a la rutina de salida 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 MOVLW 0xFF ; Z = 1 , W = L = 0xFF MOVWF con0 ; con0 = W MOVLW 0x04 ; Z = 1 , W = L = 0x04 MOVWF con_0 ; con_0 = W CALL cambio ; Salto a la rutina cambio.
bucle
CALL display
; Rutina que visualiza el display |
|
|
|
|
|
|
|
|
|
|
![]()
|
|
|
|
Ordenador para el desarrollo de los procesos de diseño y programación. *Programa de diseño de circuitos electrónicos (Eagle, Orcad). *Maquinaria de taladro para perforación de la placa. *Elementos químicos para procesos de diseño de pistas. Programador de microcontroladores. Fuente de alimentación
*.Todos estos puntos se pueden sustituir por una placa Board.
|
|
|
|
|
|
Nº |
COMPONENTE |
VALOR |
REFERENCIA |
P.UNIDAD |
P.TOTAL |
|---|---|---|---|---|---|
|
1 |
Microcontrolador |
PIC16F84 |
PIC16F84 |
4,22 |
4,22 |
|
1 |
Cristal de cuarzo |
4MHz |
Cristal de cuarzo 4MHz |
0,72 |
0,72 |
|
1 |
Diodo Led |
1N4148 |
LED-1N4148 |
0,06 |
0,06 |
|
1 |
Resistencia |
2.2K R-US_0207/10 |
0207/10 |
0,03 |
0,03 |
|
8 |
Resistencia |
180 R-US_0207/10 |
0207/10 |
0,03 |
0,24 |
|
4 |
Resistencia |
10K R-US_0207/10 |
0207/10 |
0,03 |
0,12 |
|
1 |
Resistencia |
390K R-US_0207/10 |
0207/10 |
0,03 |
0,03 |
|
1 |
Resistencia |
1K R-US_0207/10 |
0207/10 |
0,03 |
0,03 |
|
1 |
Potenciómetro |
100K POT-US_0207/10 |
0207/10 |
0,04 |
0,04 |
|
2 |
Condensadores |
22pF |
C2,5-3 |
0,06 |
0,12 |
|
1 |
Condensadores |
12µF |
C2,5-3 |
0,06 |
0,06 |
|
1 |
Condensadores |
100nF |
C2,5-3 |
0,06 |
0,06 |
|
1 |
Decodificador |
4511BCD-7se |
4511N DIL16 |
0,72 |
0,72 |
|
5 |
Display-7 seg |
DIS-7Seg-CC |
7SEG-CK |
0,12 |
0,6 |
|
4 |
Transistores |
BCD-107 |
BCD-107 |
0,06 |
0,24 |
|
1 |
LM-555-N |
LM-555-N |
LM-555-N |
0,30 |
0,30 |
|
TOTAL PESETAS--------------------------------------------------------------------------------------------------------------------------------- |
1395 PTA |
|
TOTAL EUROS------------------------------------------------------------------------------------------------------------------------------------ |
8,40 |
|
*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 Electrónicos 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 |