Foro MetalAficion
Zona Técnica => Electricidad y Electrónica => Mensaje iniciado por: Manrique en 19 Julio 2020, 12:24
-
Hola a todos.
Estoy intentando hacer un tacometro con Arduino, algo sencillo...
En un principio lo desarrolle utilizando un sensor hall, y todo funcionaba como queria, pero colocar el iman en el eje de la fresadora (BF20) es un poco problematico ya que como la pinola puede subir y bajar, lo haria el iman y el sensor no leeria nada...podria poner varios imanes, pero en vez de eso he decidido utilizar un sensor optico, un OPB742 que tenia por casa.
este es el esquema que estoy utilizando:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
con el sensor hall, la señal que me llegaba al micro era una onda cuadrada la mar de bonita, pero con el sensor optico es un bonito churro, en el video de abajo podeis ver el montaje y la onda.
https://youtu.be/fIs7rid-eos (https://youtu.be/fIs7rid-eos)
El micro cuenta los pulsos que le llegan a traves del sensor y para contarlos he utilizado una interrupcion, con ese numero y el tiempo de muestreo que uso calculo las rpn, como veis las medidas son una locura...
Mis conocimientos de electronica son bastante basico, soy mas bien de copia pega...a ver si alguno puede orintarme un poco.
Gracias
-
Actualizo, he cambiado la resistencia de 68k por otras de 780k y eso mejoro algo la amplitud de la señal llegaba a 1.5v, pero parece que el problema era más de tipo mecanico, como superficie de medicion estaba usando el disco que veis en la imagen de abajo el negro con las tiras blancas, lo he cambiado por el disco ranurado que esta puesto en el motor y ha empezado a funcionar mucho mejor, con amplitudes de 4.5v:
[ You are not allowed to view attachments ]
y un video:
https://youtu.be/8VnEN1FTtk0 (https://youtu.be/8VnEN1FTtk0)
el comportamiento es muy similar al que tiene con el sensor de efecto hall:
https://youtu.be/145CuXP_2Pg (https://youtu.be/145CuXP_2Pg)
Mejorando un poco el filtro creo que las lecturas seran lo suficientemente estables.
Ahora se me genera otro problema, pensaba colocarlo en la fresadora y utilizar un casquillo pintado en blanco y negro para que excitase el sensor, pero voy a tener que hacer otra cosa, o buscar algun color que no refleje...alguna idea
-
Si el asunto es porque te apetece como proyecto pues bien..
en mi caso soy mucho mas practico
https://www.ebay.es/itm/Digital-Blue-LED-Tachometer-RPM-Speed-Meter-Hall-Proximity-Switch-Sensor-NPN/221457637916?hash=item338fe7621c:g:-5oAAOSw-29ZVf3V
un saludo .brinda
-
Sí, es más por quitarme el gusanillo de hacer algo, de hecho compre uno como ese por si acaso no me salia...
-
Hola
Yo te recomendaria poner un potenciometro y calibrarlo con ayuda del osciloscopio (que he visto que tienes) cuando lo tengas ya en marcha, luego fijar el potenciometro. Algunos rojos suelen dar problemas de reflexion en este tipo de sensores, lo se por experiencia en un sistema que al cambiar de proveedor, cambio el tipo de pintura de color rojo y toco reajustar cientos de maquinas. Prueba algun gris que a mi no me han dado problemas, hasta donde yo se.
Tambien te digo que yo hubiese usado otro sistema para esto, ya que o lo haces estanco o vas a tener que andar haciendo limpieza, porque son propensos a fallar con el polvo (como es obvio) y un sistema giratorio y ademas un taller... El sensor que utilizaste al principio es el mas idoneo, pero si no puedes ponerlo...
Buen proyecto, ademas te estara entreteniendo .bien
Saludos !
-
Gracias Olentzero, la verdad es que con el hall funciona estupendamente...quizá me he encabezonado con que era más facil de montar el optico por la parte de la pinola, pero voy a darle una vuelta...
Lo de los grises me di cuenta ayer a ultima hora que utilizando superficies pulidas tipo aluminio o acero funcionaba muy bien.
-
Gracias Olentzero, la verdad es que con el hall funciona estupendamente...quizá me he encabezonado con que era más facil de montar el optico por la parte de la pinola, pero voy a darle una vuelta...
Lo de los grises me di cuenta ayer a ultima hora que utilizando superficies pulidas tipo aluminio o acero funcionaba muy bien.
Hola !
Habria que analizar el circuito que estas montando y quizas te haga falta el uso de un operacional, pero ya te digo que a la larga te va a dar algun que otro problema lo mejor el sensor de efecto hall que has utilizado, algun inductivo o similar. Oye, pero que esas cosas de cacharrear e investigar tambien molan, al menos a mi.
Los grises suelen ir bien, yo nunca he tenido problema con esos colores y fueron posiblemente miles de maquinas donde estan instalados esos sensores.
Saludos !
-
Hola.
De primera intención y dada la forma de onda me atrevería a pensar que la corriente en el LED del sensor es muy baja. El LED del sensor que tienes soporta una corriente máxima de 40 mA. Si le proporcionas 30 mA estarás dentro del rango seguro y te dará una buena intensidad lumínica (que por supuesto no puedes ver ya que es infrarroja). Suponiendo una fuente de alimentación de +5V puedes conectar una resistencia de 120 ohms al LED del sensor.
Para el fototransistor puedes conectar el colector a +5V usando una resistencia entre 1000 ohms y 10 Kohms. Entre más grande sea mayor sensibilidad tendrá pero igualmente será más susceptible al "ruido" eléctrico sobre todo de las lámparas fluorescentes o LED. En el caso de que la iluminación circundante sea por lámparas incandescentes (¿habrá quién las use todavía?) el ruido es mínimo. Tal vez tengas que probar diversos valores para ver con cual funciona mejor. Pensaría que inicies con 4.7 Kohms.
Si aún así no tienes un resultado satisfactorio entonces puedes aplicar el acondicionamiento de señal. La manera de implementarlo es utilizando la mitad de un comparador como el LM393.
Usando el circuito anterior, conecta el colector al terminal (+) del comparador.
En la terminal (-) del comparador puedes utilizar un potenciómetro preset de unos 5 Kohms. Sugiero del tipo que permite 10 vueltas de ajuste de manera que puedas hacer un ajuste más preciso y que además no será tan fácil de que se desajuste.
Saludos.
-
Al final voy con el hall, cuando lo tenga terminado pondre alguna foto y el codigo por si sirviese a alguien
-
Ultimamente mis unicas intervenciones en el foro son solo para preguntar y muy de tarde en tarde, ya que luego acabo no haciendo nada, asi que por aquello de aportar algo os pongo lo ultimo que he avanzado con el tacometro.
AVISO: SI ESTAS BUSCANDO UN TACOMETRO DE ALTA CALIDAD O SUPER SIMPLE O QUE TENGA ALGO ESPECIAL ESTE NO ES TU POST, EL OBJETIVO DE HACER ESTE TACOMETRO ES SIMPLEMENTE ENTRETENERME CON UN PROYECTO LO SUFICIENTEMENTE SIMPLE Y CORTO COMO PARA PODER TERMINARLO.
Al final como comentaba el tacometro utiliza un sensor hall, y utilizare 4 imanes para activarlo.
Pieza que alojara los imanes e ira en el husillo, en la parte superior de la BF20:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
-
[ You are not allowed to view attachments ]
Mandrino para sujetar la pieza en la mesa rotatoria, es un retal que habia por ahi los agujeros no tienen ninguna fincion:
[ You are not allowed to view attachments ]
La torreta estaba demasiado floja y la torreta empezo a girarse y clavarse en l apieza...la que se podia haber liado...
[ You are not allowed to view attachments ]
Mandrino y pieza:
[ You are not allowed to view attachments ]
-
Prubas de fresado para ver si todo funciona... antes de estropear la pieza...
https://youtu.be/irKQH_OdYIE (https://youtu.be/irKQH_OdYIE)
https://youtu.be/OOvS_l3FjNk (https://youtu.be/OOvS_l3FjNk)
Las medidas de la herramienta no eran las correctas asi que los imanes entraban con demasiada holgura, pero parce que puede salir bien al final...
[ You are not allowed to view attachments ]
-
Despues de una segunda prueba con la herramienta actualizada pasamos a la pieza de verdad:
Un par de tornillos para fijar la pieza tanto en el mandrino como en su posicion definitiva
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
-
Su posicion real en la fresadora:
[ You are not allowed to view attachments ]
Vamos con la parte de fresado puramente, centrado del mandrino
[ You are not allowed to view attachments ]
Planeado para el apriete de los tornillos sobre el mandrino:
[ You are not allowed to view attachments ]
La idea es utilizar los dos tornillos y super glue 3 para fijar la pieza al mandrino:
[ You are not allowed to view attachments ]
No me fiaba mucho del sistema que habia elegido tanto para fijar el mandrino a la mesa (cono morse y porta pinza) como de la sujeción de la pieza al mandrino, los tornillos no me acababan de convencer, asi que añadi el super glue 3.
Finalmente el super glue no hizo falta, se lo eche pero no limpie las piezas adecuadamente y tenian algun resto de aceite con lo cual no pego, de todo esto me di cuenta cuando saque la pieza ya terminada del mandrino...
-
Fresado, primero los 4 ranurados (0º, 90º,180º y 270º) los tornillos de fijación quedan en los 45º:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
Video del ranurado:
https://www.youtube.com/watch?v=QF6OhWTjtAY (https://www.youtube.com/watch?v=QF6OhWTjtAY)
Parte de la T:
https://www.youtube.com/watch?v=zJXdvPIhn8w (https://www.youtube.com/watch?v=zJXdvPIhn8w)
-
Los imanes entran bastante ajustaditos:
[ You are not allowed to view attachments ]
Y la pieza acabada:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
-
La parte electronica terminada a falta de instalar:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
Este es el código que estoy utilizando:
// Include the library:
#include <TM1637Display.h>
#include <TimerOne.h>
// Define the connections pins:
#define CLK 4
#define DIO 5
const int hallPin=2;//pin para interrupcion desde sensor
volatile int contador=0;//contador de pulsos
volatile int rpm=0;
volatile bool flag=false;
int valueToShow=0;//valor mostrado en el display
int UltimaMedicionFiltrada=0;//valor de la ultima medicion filtrada
double Medicion=0;//medicion actual del sensor
double w=0.6; //constante de filtrado 0 muy filtrado 1 sin filtrar
// Create display object of type TM1637Display:
TM1637Display display = TM1637Display(CLK, DIO);
// Create array that turns all segments on:
const uint8_t data[] = {0xff, 0xff, 0xff, 0xff};
// Create array that turns all segments off:
const uint8_t blank[] = {0x00, 0x00, 0x00, 0x00};
// You can set the individual segments per digit to spell words or create other symbols:
const uint8_t done[] = {
SEG_B | SEG_C | SEG_D | SEG_E | SEG_G, // d
SEG_A | SEG_B | SEG_C | SEG_D | SEG_E | SEG_F, // O
SEG_C | SEG_E | SEG_G, // n
SEG_A | SEG_D | SEG_E | SEG_F | SEG_G // E
};
// Create degree Celsius symbol:
const uint8_t celsius[] = {
SEG_A | SEG_B | SEG_F | SEG_G, // Circle
SEG_A | SEG_D | SEG_E | SEG_F // C
};
void setup() {
// Clear the display:
//Serial.begin(9600);
display.clear();
delay(1000);
Timer1.initialize(600000); // Dispara cada 600 ms
pinMode(hallPin,INPUT_PULLUP);//entrada señal
Timer1.attachInterrupt(ISR_ShowSpeed); // Activa la interrupcion cada 0.6s
attachInterrupt(digitalPinToInterrupt(hallPin),cuenta,RISING);
display.setBrightness(7);
}
void loop() {
if(flag)//hace el calculo de velocidad y lo muestra
{
Medicion=((rpm*15)/0.6);
valueToShow=Medicion*w+(1-w)*UltimaMedicionFiltrada;//filtro exponencial
UltimaMedicionFiltrada=valueToShow;//almaceno la ultima medicion filtrada
//Serial.println(Medicion);
//Serial.println(UltimaMedicionFiltrada);
//Serial.println(valueToShow);
display.showNumberDec(valueToShow);
flag=false;
}
}
void cuenta()//incrementa el contador
{
contador++;
}
void ISR_ShowSpeed()
{
rpm=contador;
contador=0;
flag=true;
}
Esquema y pcb definitivos:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
Cuando lo monte ya pondre más fotos y comentare si realmente funciona...
-
Virutas..que bien..asi quitas el mono de maquina .brinda
-
Muy bien colocados esos imanes, asi seguro que no se sueltan .bien
A ver que tal funciona...
-
si la verdad es q me ha gustado la forma de encastralos .brinda
-
Y todo montado y funcionando:
[ You are not allowed to view attachments ]
[ You are not allowed to view attachments ]
Un video:
https://youtu.be/8F6P6GixIrk (https://youtu.be/8F6P6GixIrk)
No es un tacometro para tirar cohetes, mas bien de mediocre a malo, pero me he entretenido un buen rato.
Cambiare un poco la configuración para ver si se hace más establ en la lectura.