Autor Tema: Una Ayudita para leer impulsos durante un tiempo determinado.  (Leído 4273 veces)

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

Desconectado fornell

  • PIC10
  • *
  • Mensajes: 5
Una Ayudita para leer impulsos durante un tiempo determinado.
« en: 05 de Junio de 2009, 12:53:38 »
Pues como he puesto en el asunto, necesito una ayuda para un proyecto que quiero hacer y una parte de el necesita contar impulsos durante un determinado tiempo que yo eliga. Y no se como hacerlo con niple. Tengo la version 5.4.3 plus con llave usb. Gracias.

Desconectado Fidel Martins

  • PIC16
  • ***
  • Mensajes: 148
Re: Una Ayudita para leer impulsos durante un tiempo determinado.
« Respuesta #1 en: 05 de Junio de 2009, 17:44:13 »
fornell
ponele mas detalles para que te puedan ayudar. y para que tu mismo vayas definiendo la idea y apreendiendo. ?vas almacenar (datos) pulsos, los va contar y mostrar? cual es el objetivo final?

Desconectado fornell

  • PIC10
  • *
  • Mensajes: 5
Re: Una Ayudita para leer impulsos durante un tiempo determinado.
« Respuesta #2 en: 05 de Junio de 2009, 19:30:51 »
Muchas gracias por la respuesta, voy a poner una descripcion de lo que voy a hacer a ver si asi os resulta mas facil prestarme ayuda. Empecemos pues. Pic a utilizar 16f873A (si es que sirve para el caso)
El proyecto es un indicador de marchas para una moto que lo calcula a partir de R.P.M y Velocidad.
el proyecto consta de 3 partes
1º programacion.
2º recepcion de datos y calculo con los mismos.
3º visualizacion en un display de 7 segmento.
La parte nº 1 (programacion), requiere de una entrada que sera activada por bit a 0 (masa) el primer bit a cero entra en modo programacion, en ese momento se debe pulsar tantas veces como numeros se quiere que visualice. EJ. 5 pulsaciones solo podra mostrarse del 0 al 5. para que salga de esta programacion deben transcurrir 3 seg sin pulsar. Una vez a terminado esa programacion pasa directamente a otra que muestra el 1 en el display (1º marcha) en ese momento lee los impulso que provienen del sensor de velocidad y el de rpm por otras dos salidas ( el muestreo lo realiza digamos 3 seg ) hace una division entre esos dos datos y el resultado lo guarda en memoria y asi con el resto de marchas hasta la 5º.

Como ya tenemos esos datos en memoria y son invariables en cualquier rango de velocidad y R.P.M. para esa marcha pasamos a la segunda parte.

2ª Cada 50ms por ejemplo hace una lectura de las dos entradas ( velocidad y R.P.M. ) durante 1seg calcula su division y el resultado se comprueba con que dato de la memoria conrresponte, averiguando con ello en que marcha esta.
Tambien utilizamos otra entrada para el sensor de punto muerto que nos mostrara un cero por display siempre que su nivel sea 0.

Y por ultimo 3º mostrar logicamente las marchas por el display de 7 seg.


Desde ya muchas gracias.

Desconectado juanfra

  • PIC12
  • **
  • Mensajes: 74
Re: Una Ayudita para leer impulsos durante un tiempo determinado.
« Respuesta #3 en: 07 de Junio de 2009, 03:19:44 »
OK interesante
Creo que lo primero que tendríamos que decidir es el método de capturar los impulsos, tanto para las rpm como para la velocidad.Suponiendo que no utilizaremos ningún sensor de la moto, (lo digo para que sea mas facilitar su implantación en diversa motos), me descantaría , para las rpm , un sensor de chispas, no precisa ningún tipo de instalación, simplemente arrollando un cablecillo a uno de los cables de bujía, y en función del nº de cilindros y si estamos ante 2 o 4 tiempos es fácil sacar la relación de rpm.
La velocidad, es algo mas laboriosa, pues no se me ocurre otra cosa que meter un hall,(como el de las bicis) en una de las ruedas y contar la vueltas de  esta, que conociendo el perímetro, tendremos la velocidad.

Para capturar los datos, podríamos usar la interrupción del pic, y contarlas en un periodo de tiempo, esto lo haríamos una vez para rpm, y otra para velocidad, comparámos los  datos y hecho, a través de una tabla ( que seria la que habría que programar dependiendo de la relación de marcha para cada moto) sabríamos en que marcha estamos, siempre que no estemos en punto muerto o con el embrague metido.

Bueno, este seria desde mi punto de vista el inicio del proyecto..
Si te adelanto que con el NIPLE esto es muy sencillo..tengo algo parecido para un anemómetro y funciona a la perfección


--
juanfra

Desconectado fornell

  • PIC10
  • *
  • Mensajes: 5
Re: Una Ayudita para leer impulsos durante un tiempo determinado.
« Respuesta #4 en: 07 de Junio de 2009, 19:40:35 »
hola, Gracias juanfra por tus respuestas, te adelanto alguna de las cosas que planteas.
La idea precisamente es que sirva para mucho modelos de motos, de hecho tal como lo planteo asi es. Serviria para practicamente todas las que vengan con cuadro electronico. De hecho en mi moto la velocidad manda por cada vuelta de rueda 4.68v y 0,68v y creo suponer que las revoluciones igual, para encontrar los cable pues manual de taller y listo. lo ideal es usar precisamente los datos de los sensores que ya tiene la moto, por que si tenemos que ponernos a meter cosas mecanicas aparte es mucho mas sencillo montarlo directamente en la palanca de cambios.
Siguiente asunto, realmente no nos hace falta averiguar cual es la velocidad y revolucion real solamente hacer la division entre ambas señales, ya que siempre sera el mismo resultado para cada marcha, y ese resultado es el que se tiene que guardar en memoria cuando entramos en modo programacion para luego usarlo y averiguar la marcha en la que circula. Esa programacion precisamente es la que lo hace versatil para casi cualquier moto.
Bueno haber si podemos darle marcha a este proyecto.
Saludos.

Desconectado juanfra

  • PIC12
  • **
  • Mensajes: 74
Re: Una Ayudita para leer impulsos durante un tiempo determinado.
« Respuesta #5 en: 09 de Junio de 2009, 15:28:27 »
OK, perfecto

Si tu puedes localizar los impulsos tanto de rpm, como de vlocidad, es resto es facil.
La velocidad, por cada vuelta da un impulso, es lo que me parecio entender, no me importa si son altos a bajos, se trata de contarlos en un periodo de tiempo determinado, pero se me ocurren varios problemas, que pasa si la velocidad es muy baya, del orden de 1 vuelta por segundo, nuestro muestreo deberia de contemplar ese extremo, y claro, tendremos que esperar al menos 1 segundo para contarlo, por otra parte contaremos los de las chispas, rpm, ya me diras por donte los cojes y en que formato, creo que lo mas interesante seria meterlos por la interrupcion RB0, y contar cuantos en un periodo determinado.
Solo no quedaria hacer la division , pasarlo a BCD, y al lcd.
El tema de la programacion , seria mejor dejarlo para el final del proyecto, y en funcion de donde metamos las variables lo decidimos
Ten en cuenta que este sistema no nos vale para punto muerto , ni para cuando xafes el embrague.

enga, ya me cuentas cosas.. (la semana k vienes estare mas por el tema, k acabo los examenes))))))


 

anything