Tacometro digital

En los post anteriores se usa un optoacoplador de reflexion, o la otra opcion es colgarte de la red CAN del automovil y solo filtrar el PGN de las RPM, la ultima opcion en cuando a hardware es menos complicada debido a que sus componentes son pocos, pero el IC MCP2515 o 2510 que es el transceiver para CAN bus seria el de mayor problema, pero aun asi se puede conseguir, pero aih entraria la cuestion de la programacion, dejame encontrar en donde tengo la programacion para obtener los RPM de la red CAN, o si prefieres modificar el medidor RPM para el proposito que comentas.


Saludos
 
hola amigo ,te pido por favor si me podrias ayudar, estoy buscando un tacometro para un camion diesel de 24v, donde la señal de honda cuadrada proviene del alternador, el tacometro analogico va de 0 rpm a 3000rpm, el motor en minimo sin acelerar marca 500rpm= 185 hz 1000rpm= 370hz 1500rpm=555hz 2000rpm=740hz 2500rpm=925hz, y 3000rpm=1110hz, todas estas medidas lo medi con un osciloscopio, la amplitud de la señal es de 12v , a hi te mando algunos diagramas que encontre en la wep, yo no domino la pogramacion de microcontroladores, pero quiero aprender saludos desde arequipa-Peru.
 
Última edición por un moderador:
Se puede hacer perfectamente con un pic mejor un pic16f876 /877

Utilizando una LCD inteligente o LED si quieres que sea mas vistoso.
No necesitas el lm2907 si utilizas el pic ya que contiene un contador.
Si es un buen sitio para pillar las revoluviones, es un sensor que hay en el disco de freno para el abs. Se trata de una simple bobina y un iman muy cerda del disco metalico del freno. El disco de freno tiene una ranua o diente o taladro. Quando la rueda da vueltas, al pasar por el agujero hay una variacion de flujo al faltar ese trocito de hierro y se induce una pequeña tension facilmente amplificable con un transistor.
Sí, pero tené en cuenta que lo que quiere hacer es un cuentavueltas, no un velocimetro, de modo que el sensor del disco de freno no le va a servir. Que yo sepa, hay dos métodos más conocidos de obtener señal par un tacometro, uno de la bobina para las bujias, o sino del alternador (aunque la señal de este es sinosoidal)
 
Buen dia comunidad, perdonene la tardanza, ultimamente he estado con algo de carga en el trabajo y lo prometido es deuda, aqui les dejo el codigo para medir las RPM directamente del automivil, el detalle de este codigo es que es para los vehiculos de motor a diesel, ya que reconoce solamente el codigo del PGN correpondiente a ese codigo, espero y sea de utilidad

#include <18f458.h>
#include <STDIO.h>
#include <stdlib.h>
#fuses H4, NOPROTECT, NOWDT, PUT, NOLVP, NOWRTC
#use delay(clock=40000000)
#include <can-18xxx8.c>
#include <lcd.c>
int32 ID;
struct rx_stat stat;
int data[8];
int1 rtr;
int1 ext;
int len;
int pri;
int i;
long RPM;

void main()
{
for(i=0; i<8; ++i)
{
data=0;
}
can_init();

do
{
if(can_kbhit())
{
if(can_getd(ID, &data[0], len, stat))
{
if(ID==0x0CF00400)
{
RPM=256*data[5]+data[4];
printf(lcd_putc,"\fRPM= %LU", RPM);
}
}
else
{
lcd_putc("\fFalla al obtener dato de la red CAN bus\n\r");
}
}
}
while(1);
}


saludos
 
Bueno, algo asi, este codigo alterado podria ser un snifer ya seria cuestion de hacer que reconozcas mas PGN's, pero, en si se posteo para reconocer el PGN y capturar y convertir los bytes correpondientes a las RPM del vehiculo, esto para vehiculos de motor a diesel y ademas con el circuito correpondiente es facil de instalar. Con la brevedad posteare lo que haga falta del mismo.


Saludos
 
Bueno la cosa esta asi despues de un tiempito logre aprender a programar un pic, el problema esta que sale en la simulacion mas no en el protoboard.

Aca dejo mi codigo fuente asi como el compilado y su respectiva simulacion, las lecturas del tacometro las presento en un lcd, las patitas RA0 y RA1 son las entradas para determinar el sentido de giro del motor, la que este en alto es el sentido, si las dos estan en bajo el motor no gira, si las dos estan en alto no conte con esa opcion luego lo corrijo.

Algun comentario seria de ayuda, Gracias.
El archivo se encuentra adjunto en:

https://www.forosdeelectronica.com/f24/display-mostrar-rpm-motor-cc-39742/

es el tema, Página 1
 
Última edición:
amigo Rijiru.
Me puedes pasar el planito de la simulacion en proteus del tacometro con pic 628
Lo monte pero no me funciona, a ver si estoy mal en la conexion.
Gracias..

Rijiru saludos.
Mira, tengo una rueda dentada con 60 dientes para usarla con un sensor inductivo
pero el voltaje a la salida del sensor es muy bajo, sabes si el lm 2907
detecta pulsos de 80mv que saca la bobina.
y como ago para adaptar tu programa a esta rueda que corta el sensor 60 veces en una vuelta?
Agradesco tu ayuda..
 
Última edición:
Buen dia COSMICO, En la paguina 1 en este tema, se encuentra el diagrama adjunto, aqui te dejo el codigo para ajustarlo a tu rueda dentada.

#include <16f628A.h>
#fuses INTRC, NOWDT, NOPUT, NOMCLR, NOBROWNOUT, NOLVP, NOCPD, NOPROTECT
#use delay(clock=4000000)
#define LCD_DATA_PORT getenv("SFR:pORTB")
#include <lcd_b.c>
int time0, time1;
int16 pulses0, pulses, rpm, time;
int1 rpmbit;
void rpm_get()
{
rpm=pulses;
if(pulses0!=pulses)
{
printf(lcd_putc,"\fRpm \n%Lu", rpm);
delay_ms(1500);
}
pulses=0;
time1=0;
}
void main()
{
set_tris_a(0x1F);
rpm=0;
time=0;
time0=0;
time1=time0;
pulses=0;
pulses0=pulses;
rpmbit=1;
lcd_init();
lcd_putc("\fBienvenido\n");
output_low(PIN_A7);
do
{
diagnostico();
if(input(PIN_A1))
{
if((input(PIN_A0))&&(rpmbit==1))
{
pulses++;
rpmbit=0;
}
if((!input(PIN_A0))&&(rpmbit==0))
{
rpmbit=1;
}
time0++;
if(time0>=250)
{
time1++;
time0=0;
if(time1>=4)
{
time0=0;
if(pulses<1)
{
lcd_putc("\frpm < 60\nO sin giro");
delay_ms(500);
}
else
{
rpm_get();
pulses0=pulses;
}
}
}
}
if(input(PIN_A2))
{
output_toggle(PIN_A7);
if(!input(PIN_A1))
{
lcd_putc("\fMotor Apagado");
}
delay_ms(500);
}
delay_ms(1);
}
while(1);
}

En cuanto al LM2907 su entrada typica esta en los +/-25mV, asi que 80mV, estan muy por encima del rango. Espero y te sea de ayuda.


Saludos
 
Hola, Rijiru podrias enviar enviar la configuracion del lcd ya que no sale mi tacometro, en la simulacion todo perfecto, lo he programado en microcode y en ccs c compile. Agradecido de antemano
 

Adjuntos

  • TacEnBasic.rar
    74.6 KB · Visitas: 314
  • tacEnC.rar
    112.8 KB · Visitas: 353
Mil gracias amigo..:apreton:
Me pondre manos a la obra
Un saludo.:aplauso:(y)

oak amigo Rijiru.:apreton:
Ahora, me puedes ayudar a comprender como paso los pulsos
que genera la bobina a rpm si son 60 pulsos en una vuelta
No logro comprender bien el programa; ahora veo que quitaste el rpm=60*pulses;
por rpm=pulses; :unsure:dare otro ojito a el programa mientras me ayudas(y)
 
Última edición:
Gracais amigo Rijiru:D

umm ya di con la cosa..
Se miden los pulsos por lapso de un segundo, y se multiplica por 60 segundos
para un total de 1 minuto= RPM
como son 60 dientes, ya no es necesario multiplicar por 60...
En otra oportunidad hare mas preguntas tontas; que conste que soy menos que principiante en ccs:LOL:
 
hay alguna manera de convertir de C a assembler????? PORqUE todavía no aprendí a usar C =(

yo uso el mplab para programar
 
Última edición por un moderador:
Asi es amigo, el compilador CCS te genera un archivo de extencion .lst ese archivo es el codigo ASM del PIC el programa posteado anteriormente te edjunto el codigo ASM del mismo, viene explicado con cada rutina añadida del mismo, espero y te sea util esta INFO.


Saludos
 

Adjuntos

  • Tacometro.txt
    27 KB · Visitas: 314
hola rijiru muy interesante tu proyecto pero queria saber si la entrada del led en el optoacoplador va conectada directo a la bobina del auto.. de ser asi al terminal positivo o negativo? gracias de antemano
 
Asi es amigo, el compilador CCS te genera un archivo de extencion .lst ese archivo es el codigo ASM del PIC el programa posteado anteriormente te edjunto el codigo ASM del mismo, viene explicado con cada rutina añadida del mismo, espero y te sea util esta INFO.


Saludos

sos un groso!!!!!!!!!!!! gracias, voy a estudiarlo y cualquier cosa pregunto aca :p gracias!!!!!
 
Un saludo a todos..
estoy en un dilema, monte el circuito que adjunto del lm2907
esperando que al colocar el pikup o sensor inductivo, a la saluda me diera
la misma frecuencia de entrada pero en onda cuadrada..y en la simulacion ,siiii
pero en la vida real..no es asi.Se me esta pasando algo??
La salida de mi sensor es de 200 a mv pp pero al
probar con un motorcito, adecuado para tal fin en el oscilsoscopio veo de 15hz
a 77 hz para maxima velocidad el el sensor; y a la salida del lm varia entre 200hz a 112 hz
pero con unos saltos que hacen muy dificil hacer un claculo..alguien ya lo monto y paso por esto
ahh y aparte de todo la salida del 2907 es de 500mv pp no los 4.5 esperados o algo mas alto..
que configuracion sera las mas estable para este circuito???
Gracias por su ayuda..
Ver el archivo adjunto simulacion.rar :enfadado::enfadado:
 
Última edición:
Un saludo a todos..
estoy en un dilema, monte el circuito que adjunto del lm2907
esperando que al colocar el pikup o sensor inductivo, a la saluda me diera
la misma frecuencia de entrada pero en onda cuadrada..y en la simulacion ,siiii
pero en la vida real..no es asi.Se me esta pasando algo??
La salida de mi sensor es de 200 a mv pp pero al
probar con un motorcito, adecuado para tal fin en el oscilsoscopio veo de 15hz
a 77 hz para maxima velocidad el el sensor; y a la salida del lm varia entre 200hz a 112 hz
pero con unos saltos que hacen muy dificil hacer un claculo..alguien ya lo monto y paso por esto
ahh y aparte de todo la salida del 2907 es de 500mv pp no los 4.5 esperados o algo mas alto..
que configuracion sera las mas estable para este circuito???
Gracias por su ayuda..
Ver el archivo adjunto 38734 :enfadado::enfadado:



En primera instancia debes saber en que forma esta dentada la rueda a sensar, probablemente tenga dientes como se ilustra:

_-_-_---__-_-_---__


unos dientes sean mas cortos que otros y uno mas largo que otro y la separacion de los mismos, y si tdos los dientes son uniformes, toma en cuenta que dentro del automovil hay muchos elementos inductivos y todos generan armonicos que se pueden "inyectar" a tu circuito y ocacionarte señales indeseables, espero y esto te ayude.



saludos
 
Atrás
Arriba