Autor Tema: Mi primer proyecto: Tacómetro para automóvil. [Act:6/5/2010]  (Leído 15160 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Mi primer proyecto: Tacómetro para automóvil. [Act:6/5/2010]
« en: 11 de Abril de 2010, 20:21:23 »
Hola nuevamente, después de practicar operaciones sencillas en un PIC por unos meses, me dieron ganas de realizar un proyecto propio de principio a fin, algo que no sea extremadamente complicado pero que me permita utilizar el ingenio para resolver los problemas que puedan aparecer.
Se me ocurrió la idea de realizar un "tacómetro" para automovil, basicamente medir las RPM del motor y mostrar el valor en un par de display's de 7 segmentos, adicionalmente una barra de leds que se encenderá progresivamente hasta llegar hasta un valor prefijado, y 3 botones de configuracion para poder setear el valor en el que se encenderá la barra.

Ejemplo del funcionamiento de la barra:


Formato que tengo pensado para el tablero:



Para el manejo de los display's pienso utilizar 2 CD4511 conectados a las mismas 4 patas del micro y, mediante 2 salidas, activar y desactivar los LATCH de cada uno para poder mostrar 2 dígitos utilizando solo 6 pines. No se si este método funcionará ya que nunca lo utilicé, ustedes que dicen? (Ejemplo: muestro el primer digito, activo el latch del primer CD4511, muestro el segundo dígito, activo el latch del segundo CD4511)

La señal de RPM en el prototipo será una onda cuadrada de 5V, pero en la realidad tendría que tomarla del borne negativo de la bobina. Alguien alguna vez realizó esta medición? Como se aisla el circuito de la alta tensión de la bobina?

El esquemático que tengo en mente para el circuito es el siguiente (me faltó agregar las resistencias correspondientes a los display's) :



Lo ven correcto? Que debería modificar?

La salida indicada como "CORTE" solo debe presentar un estado alto al llegar a cierto numero de RPM, esto se puede dejar para mas adelante.

La idea es comenzar de a poco con lo básico e ir agregando funciones.

El funcionamiento del circuito por si no me expliqué bien sería el siguiente:

- Leer valor de RPM
- Mostrar valor en display de 7 segmentos
- Si se ha llegado a un cierto valor encender el 1º led de la barra
- Si se ha llegado a un cierto valor encender el 2º led de la barra, etc.

Una vez resuelto eso le daré uso a los botones para, mediante un simple "menu", poder setear los valores de CORTE y encendido de la barra mientras esté el dispositivo en funcionamiento.

Disculpen si me excedí en la introducción pero quería ser lo mas explicativo posible. Gracias de antemano!
« Última modificación: 06 de Mayo de 2010, 11:18:06 por Cossworth »

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #1 en: 11 de Abril de 2010, 21:45:19 »
.


Me parece un muy buen proyecto, aunque no pueda ayudarte mucho, porque de electricidad automotriz no se nada  :tongue:
Lo único que puedo decir es que podrías ahorrarte un CD4511 conectando las 7 salidas a ambos displays en paralelo.
(A ver si se entiende mi pseudo-esquemita para cada segmento del display):


                      _____ Salida CD4511
   Display1          |                                  Display2
   __|/|_____________|____________________________________|\|___
  |  |\|                                                  |/|   |
  |                                                             |
  |                                                              \|____/\/\/\_____ Selección Display2
   \|____/\/\/\_____ Selección Display1                          /|
   /|                                                           |
  |                                                             |
  |_____________________________________________________________|
  |
  |
 ---
///


Para seleccionar el display, usas un transistor conectado al cátodo común para cada uno (en el dibujito la línea "Seleccion del display" tiene conectada una resistencia y el transistor).
Saludos.

When you see a good move, look for a better one (Emanuel Lasker)

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #2 en: 11 de Abril de 2010, 21:46:49 »
Hola.

Bienvenido al foro.

Creo que con solo un registro es suficiente y puedes usar unos transistores para multiplexar los catodos de los display's. Para que carro es el RPM-meter? una forma de aislar es con optoacopladores.

Saludos

PD/ Me demore al escribir jeje. Es la misma idea que te plantea mtristan
El papel lo aguanta todo

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #3 en: 11 de Abril de 2010, 22:25:47 »
Antes que nada gracias por las respuestas :)

Me parece un muy buen proyecto, aunque no pueda ayudarte mucho, porque de electricidad automotriz no se nada  :tongue:
Lo único que puedo decir es que podrías ahorrarte un CD4511 conectando las 7 salidas a ambos displays en paralelo.
(A ver si se entiende mi pseudo-esquemita para cada segmento del display):

Para seleccionar el display, usas un transistor conectado al cátodo común para cada uno (en el dibujito la línea "Seleccion del display" tiene conectada una resistencia y el transistor).
Saludos.

Habia visto esa forma de implementarlo, pero se me ocurrio que, si el proceso de medir RPM me demoraba mucho tiempo, los display's podrian llegar a titilar o quedarse apagados, no se si me explico, utilizando los 2 latch puedo dejar los digitos "congelados" en cada display sin importar cuanto demore entre ciclos.

Dicen que esto no seria perceptible por el ojo humano? Me ahorraría muchísimo espacio de la forma que ustedes plantean.

Hola.

Bienvenido al foro.

Creo que con solo un registro es suficiente y puedes usar unos transistores para multiplexar los catodos de los display's. Para que carro es el RPM-meter? una forma de aislar es con optoacopladores.

Saludos

PD/ Me demore al escribir jeje. Es la misma idea que te plantea mtristan

El aparato se montara en un Fiat 600 con encendido a platinos. Lo que dije del borne negativo de la bobina es porque vi que en varios circuitos lo hacen de esa forma, lo que no se es el voltaje que puede haber en cada pulso y con un multimetro no creo que lo pueda medir.

Desconectado mtristan

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 395
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #4 en: 11 de Abril de 2010, 22:59:02 »
.

Citar
Habia visto esa forma de implementarlo, pero se me ocurrio que, si el proceso de medir RPM me demoraba mucho tiempo, los display's podrian llegar a titilar o quedarse apagados, no se si me explico, utilizando los 2 latch puedo dejar los digitos "congelados" en cada display sin importar cuanto demore entre ciclos.

Depende del programa que tengas pensado. Para que el ojo no note el parpadeo, hay que refrescar los displays a menos 20 veces por segundo (una vez cada 0,05s). Si el uC está andando a 1MHz, realiza una operación cada 1us. Si las cuentas no me fallan, la cantidad de instrucciones máximas entre cada refresco es de 50.000. Si todo el procesamiento de las RMP entra en esa cantidad, no hay problemas con los displays.
Saludos.


When you see a good move, look for a better one (Emanuel Lasker)

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #5 en: 11 de Abril de 2010, 23:43:42 »
.

Citar
Habia visto esa forma de implementarlo, pero se me ocurrio que, si el proceso de medir RPM me demoraba mucho tiempo, los display's podrian llegar a titilar o quedarse apagados, no se si me explico, utilizando los 2 latch puedo dejar los digitos "congelados" en cada display sin importar cuanto demore entre ciclos.

Depende del programa que tengas pensado. Para que el ojo no note el parpadeo, hay que refrescar los displays a menos 20 veces por segundo (una vez cada 0,05s). Si el uC está andando a 1MHz, realiza una operación cada 1us. Si las cuentas no me fallan, la cantidad de instrucciones máximas entre cada refresco es de 50.000. Si todo el procesamiento de las RMP entra en esa cantidad, no hay problemas con los displays.
Saludos.

Estuve sacando cuentas y como mínimo voy a refrescar los displays cada 0.03s, entonces no se va a percibir el refresco. Voy a ir por esa opción y elimino un 4511. Gracias!


Desconectado tinchosalamero

  • PIC12
  • **
  • Mensajes: 53
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #6 en: 12 de Abril de 2010, 09:23:05 »
Muy buena la idea para la aplicacion, solo me queda la duda de como vas a medir fisicamente las RPM

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #7 en: 12 de Abril de 2010, 13:22:16 »
Muy buena la idea para la aplicacion, solo me queda la duda de como vas a medir fisicamente las RPM

Con un optoacoplador (4N35 está bien?) conectado al borne negativo de la bobina, tendría que recibir 2 pulsos por cada vuelta del motor (motor 4 cilindros), luego mediré el tiempo entre pulsos para así obtener la frecuencia de giro. A eso te referías?

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #8 en: 12 de Abril de 2010, 14:11:23 »
Tienes que medir que voltaje saca ese borne de la bobina, para calcular la resistencia del optoacoplador.

Saludos
El papel lo aguanta todo

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #9 en: 12 de Abril de 2010, 14:39:06 »
Tienes que medir que voltaje saca ese borne de la bobina, para calcular la resistencia del optoacoplador.

Saludos

No cuento con un osciloscopio para poder realizar la medición, y creo que un multímetro no va a dar abasto.
Siguiendo el siguiente esquema todo indica que la tensión será de 12 o mas bien 14 volt, es correcto?


Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #10 en: 12 de Abril de 2010, 16:17:50 »
el circuito del esquema esta mal.ya que el positivo va a la bobina primaria.y la conmutacion con platinos a masa.
pero entiendo que solo es un ejemplo.
hoy en dia ya no se usan platinos.todo es electronico.los primeros encendidos electronicos tenian 3 hilos que iban al modulo electronico y de este a la bobina.
pero heran los que tenian distribuidor.
luego salio la inyeccion electronica.y salian dos hilos de una señal cuadrada de la centralita al modulo de conmutacion para alimentar dos bobinas.

no te aconsejo que cojas la señal del primario del las  o la bobina de encendido.ya que hay un pico de alta tension en la conmutacion.
te aconsejo que cojas la señal de la entrada del modulo de encendido.puede ser de 12V o 5V de onda cuadrada.aunque hay centralitas
que la conmutacion ya la hace desde dentro de la centralita.es este caso no podriamos tener esa señal cuadrada.
y ya si que habria que hacer un circuto de proteccion para evitar esos picos de alta tension.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #11 en: 12 de Abril de 2010, 17:21:59 »
el circuito del esquema esta mal.ya que el positivo va a la bobina primaria.y la conmutacion con platinos a masa.
pero entiendo que solo es un ejemplo.
hoy en dia ya no se usan platinos.todo es electronico.los primeros encendidos electronicos tenian 3 hilos que iban al modulo electronico y de este a la bobina.
pero heran los que tenian distribuidor.
luego salio la inyeccion electronica.y salian dos hilos de una señal cuadrada de la centralita al modulo de conmutacion para alimentar dos bobinas.

no te aconsejo que cojas la señal del primario del las  o la bobina de encendido.ya que hay un pico de alta tension en la conmutacion.
te aconsejo que cojas la señal de la entrada del modulo de encendido.puede ser de 12V o 5V de onda cuadrada.aunque hay centralitas
que la conmutacion ya la hace desde dentro de la centralita.es este caso no podriamos tener esa señal cuadrada.
y ya si que habria que hacer un circuto de proteccion para evitar esos picos de alta tension.

El problema es que el automovil en el que lo tengo que montar tiene encendido por platinos y eso no lo puedo cambiar (Reglamento de la Categoría). Todos los tacómetros comerciales toman la señal del borne negativo de la bobina, no puede ser que sea algo tan complicado, por lo que estuve investigando, el pico de tensión puede ser de hasta 150v pero por un lapso muy corto, alcanzará para quemar el opto? podría hacer un circuito simple en un protoboard y probar unos minutos a ver si lo soporta  :?

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #12 en: 12 de Abril de 2010, 17:30:55 »
prueva a practicar primero con un led una resistencia y un diodo zener de 5.1V. puede que obtengas la señal que deseas.

hay otra forma que quizas no te haga falta conectar al borne de la bobina.y es poniendo un cable enrroyado alrededor del cable de alta tension.
de esta forma se inducira un voltage.que depende de las vueltas que le des.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado Cossworth

  • PIC12
  • **
  • Mensajes: 56
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #13 en: 12 de Abril de 2010, 22:47:28 »
prueva a practicar primero con un led una resistencia y un diodo zener de 5.1V. puede que obtengas la señal que deseas.

hay otra forma que quizas no te haga falta conectar al borne de la bobina.y es poniendo un cable enrroyado alrededor del cable de alta tension.
de esta forma se inducira un voltage.que depende de las vueltas que le des.

Voy a probar de estas 2 formas a ver qué sucede, gracias por la ayuda :)

Ya que estoy pregunto, esta forma de mostrar los datos en los displays de 7 segmentos es correcta?

Código: [Seleccionar]
void 7disp(int num) {
Dec = num/10;
Uni = num%10;
Decena = 1;
switch(Dec){
case 0:{
BCD_A=0;
BCD_B=0;
BCD_C=0;
BCD_D=0;
};
case 1:{
BCD_A=1;
BCD_B=0;
BCD_C=0;
BCD_D=0;
};
case 2: ****;
case 3: ****;
case 4: ****;
case 5: ****;
case 6: ****;
case 7: ****;
case 8: ****;
case 9: ****;
}
delay_ms(tiempo);
Decena = 0;

Unidad = 1;
switch(Uni){
case 0:{
BCD_A=0;
BCD_B=0;
BCD_C=0;
BCD_D=0;
};
case 1:{
BCD_A=1;
BCD_B=0;
BCD_C=0;
BCD_D=0;
};
case 2: ****;
case 3: ****;
case 4: ****;
case 5: ****;
case 6: ****;
case 7: ****;
case 8: ****;
case 9: ****;
}
delay_ms(tiempo);
Unidad = 0;

Los asteriscos son para que no se haga muy largo, pero se entiende la secuencia. Las variables DEC y UNI son integer. De cuanto tendria que ser el TIEMPO que mantengo el display prendido para que la visualización sea correcta?

Unidad y Decena son las salidas que manejan los transistores correspondientes al ánodo de cada display.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Mi primer proyecto: Tacómetro para automóvil.
« Respuesta #14 en: 12 de Abril de 2010, 23:43:13 »
Hola.

Esto te puede servir.

Saludos
El papel lo aguanta todo


 

anything