Go Down

Topic: CUADRO DE INSTRUMENTOS DE UN VEHICULO A DISPLAYS (Read 20235 times) previous topic - next topic

pincho41700

#45
Nov 03, 2014, 01:08 pm Last Edit: Nov 03, 2014, 02:49 pm by pincho41700
Y la frecuencia o tomo 250/60 y 5000/60 y ya?

Eso que significa, no te entiendo.
El generador que vaya de 250rpm a 5000 rpm.


surbyte

Ningun generador entrega RPM, entrega una onda cuadrada de una frecuencia determinada.
Entonces tu frecuencia será 250 revoluciones x minuto
 1 min = 60 segundos => 250 rev/min x 1/60 (min/seg) = 250/60 = 4.16 Hz y la misma operación para el limite superior de rpm. 500 rpm = 83.33 Hz.
Ahora esto debe ser compatible con tu sensor.

Ahora bien, puede pasar que como leí por ahi uses un sensor que cuando da una vuelta el cigÜeñal tu tomes ese pulso. Bien en ese caso tu lectura es otra cosa.
Supongamos para cuentas fáciles que tu cigueñal esta a 1200 rpm o 20 hz (1200/60 rev/seg o Hz) entonces tendrás un pulso cada 1/20 Hz = 50 mseg.
Una manera apropiada de leer las rpm es justamente medir el período de la señal, porque se mide con menos error que si quieres ver cuantos pulsos tienes en 1 seg o en 0.1 segundos si cambias la ventana de tiempo.
Si mides frecuencia tomas un tiempo conocido (0.01, 0.1 o 1 seg) y cuentas pulsos.
Si mides período en este caso leeras el tiempo entre dos flancos que suben usando la interrupción por ejemplo o con el timer. Esta última forma de medir es mas apropiada para bajas frecuencias como en tu caso.

pincho41700

Si hombre , ya sabia que los generadores no entregan rpm, sino frecuencia.
Para las rpm tenemos la formula en el archivo.

es esta.
Rpm=(16000000/(Ticks+(1+65535)*Overflow))*60;

estan medidas por los timer y funcionan muy bien.
Si con las interrupcionees y los timer lo podremos conseguir ( y un cristal muy exacto), que sea bastante exacto.

VOLVEMOS ATRAS.
prefiero hacer la velocidad con interrupciones que es lo mas exacto, y las rpm como tu decias que no hace falta interrupciones, pero no se como hacerlo. O poner 2 arduinos (no se por donde tirar).
Tu que decides?

A SUS ORDENES MI SARGENTO, JAJAJJAA


surbyte

#48
Nov 03, 2014, 04:45 pm Last Edit: Nov 03, 2014, 06:10 pm by surbyte
No... dos arduinos no. Saquemosle el jugo al máximo que tiene que poder y puede.

Uds es el cabo primero asi que respeto!!
Bien cabo, yo voy a intentar hacer funcionar los display. Asi veo algo.

El cristal exacto es el que tenés. Si medís frecuencia para no recuerdo menos de 10k se mide con mas error que leyendo período. Asi que conviene siempre medir T y hacer 1/T para tener las Rpm.
Pero eso es hilar fino.
A lo que voy es que vos no haces propagación de errores.. uno arrastra errores de todo tipo antes que ponerse a pensar en tener un cristal compensado en temperatura con pocas ppm de corrimiento x grado Celcius.
Igualmente como te dije es hilar fino.

Solo para hacer un poco de memoria a ver si me sale como era el cálculo de la frecuencia de cruce de una y otra medición, es decir, donde conviene medir f y donde T.

si fc = frecuencia del clock (reloj)
y fx = frecuencia desconocida que quiero medir
si mido Periodo tendre Np pulsos = fc/fx

Si mido frecuencia en una ventana de 1 segundo tendre Nf = fx o sea en 1 seg vere fx pulsos.

cuando se igualan Np y Nf

tengo => Np = Nf  eso para una frecuencia que llamara fcruce

=> fc /fcruce = fcruce => fcruce = sqrt(fc)

como fc en arduino es 16Mhz => f cruce = 4000 hz lo que indica que para todo lo que este por encima de 4000 hz conviene medir x frecuencias y por debajo por período.

Bien terminó el momento del recuerdo, era para ver si me acordaba.. mira que hablaba de 1000 Hz y nada que ver.
Otra cosa.. si cambias la ventana de 1 a otra cosa cambia el cálculo. Ojo.


Decime:

1) Referencia Analógica Externa: Qué valor tiene?

2) Te molesta si uso la librería de los Max7219 en lugar de lo que tenes hecho con shiftout?

pincho41700

Mi sargento,
no empezamos bien desde el princio, yo tenia hecho ya mucho(pero algunas cosas mal).

actualmente la analog referencia esta a 3,3v que es la salida del arduino. Pero si vamos a poner un IC solo seria mejor colocarle a 5V con el 7805 o con regulador que me dijiste el lm2596( que por cierto vienen de camino 5).
tambien queria usar la libreria que tu has dicho, pero queria terminar los problemas anteriores que tenia. Usala sin problemas y sube el archivo para ponerlo al arduino.

SUS DESEOS SON MIS ORDENES MI SARGENTO.


surbyte

Bien cabo, entonces yo te resuelvo el tema display MAX7219 y asi un problema menos, te parece?


pincho41700

#51
Nov 03, 2014, 07:52 pm Last Edit: Nov 03, 2014, 07:54 pm by pincho41700

ok sin problemas.

Te dejo un video de como esta funcionando el arduino.
el primer numero  es la temperatura
el segundo  presion de aceite
el tercero velocidad
el cuarto km
el quinto RPM
el sexto nivel de deposito
el septimo numero del menu

el menu cambia a los diez segundos pero le pulso y no cambia.

http://youtu.be/fittgcMqw2w


surbyte

Eso ya lo habia logrado.
Ya casi tengo los displays.

maxid

Para el cuenta vueltas y km, se usa un divisor, el cual lo puedes setear en 10, 8, 6 segun necesites.
Este metodo se usa en los frecuencimetros que leen incluso hasta Ghz.

Otra forma que se usaba antiguamente era usar un conversor de frecuencia a voltaje y lo lees por el AD.
El que pregunta aprende, el que responde aprende a responder.

surbyte

Yo estoy hablando de la forma mas precisa para medir las rpm o vueltas y Maxid (con la mejor intención claro) sale con un conversor de frecuencia a tensión, que claro funciona, pero son recursos para tener una idea de que valor en frecuencia tienes pero a costa de un 5 a 10% de error como optimista.

maxid

hablo de opciones.
Lo mejor es un divisor que a n vueltas envie un pulso y la rutina de calculo tenga el suficiente tiempo para todas las operaciones antes del proximo pulso al maximo de revoluciones.
Incluso puedes hacer una auto escala para cuando va muy lento bajando el divisor.
El que pregunta aprende, el que responde aprende a responder.

pincho41700

gracias maxid por las aclaraciones y por contestar en este post.

surbyte

Pincho, te cuento que ayer y hoy estuve con el simulador y ajustando los MAX7219 que hice andar en otra solución mas simple, 1 UNO, un MAX y LED.
Anduvo perfecto.
En tu proyecto, no hay caso, por ahora. Muestra basura. He comentado todos los leds y me quedé solo con RPM y Aceite y lo mismo.
Habia errores en la tensión de referencia externa de la simualción que ya arreglé. Hice andar casi todos los sensores simulados.

Pero aunque el dato llega bien, no lo presenta.
Investigo si tus operaicones con los timers capturan los pines correspondientes como para luego no poder usarlos con los MAX7219.
Sospecho que los timers me estan enviando pulsos cuando dan overflow por ejemplo y eso interfiere con el funcionamiento del display, pero cambie el clock a otro pin y nada.

Queria comentarte para que veas donde estoy trabjando para ayudarte.

Si queres te pasó ambos archivos para que veas la situación temporal.

pincho41700

#58
Nov 05, 2014, 06:46 pm Last Edit: Nov 05, 2014, 06:47 pm by pincho41700
ok,
porque a ti no te funciona, y en el serial si funciona? no lo comprendo eso.
madame los archivos para ver como estan funcionando y asi poder comentar .
que me tienes abandonado mi sargento.
Estoi con el menu pero no lo consigo del todo.

surbyte

#59
Nov 05, 2014, 07:45 pm Last Edit: Nov 05, 2014, 07:46 pm by surbyte
ahhh porque vos lo estas usando por processing y yo no.
A ver, me tengo que poner a usar processing... joder como dicen los espaÑoles.
Amplio mi respuesta.
SI funciona, el serial envia datos que ya te posteo para que veas, pero, cuando los quiero ver por los displays no se lee nada coherente.

Go Up