Go Down

Topic: Acelerómetro como cuentavueltas (Read 7261 times) previous topic - next topic

Humeando

Muy buenas.

Recién registrado en el Foro y lo primero un mínimo de presentación. Lo mio es el diseño mecánico y siempre me ha faltado la vertiente electrónica para poder completar algunos proyectos/ideas que rondan por la cabeza. Arduino me parece ideal para ello así que aquí estoy... Ya tengo mi placa y varias pruebas hechas.

Una de esas ideas tiene que ver con el título. Es posible utilizar un acelerómetro para contar vueltas con precisión? La aplicación en concreto sería para contar las vueltas dadas por la rueda de una bicicleta. Se que para esta aplicación se usan los sensores de efecto Hall y el típico imán. La eliminación de este último es una de mis metas.
Según todo lo que he leído hasta el momento, la respuesta inicial entiendo que es un si. Mi mayor problema no es ser capaz de detectar si un acelerómetro da una vuelta sino si tendría capacidad para contarlas todas a la velocidad que se dan.
A 20km/h una rueda daría entre 2,5 y 3 vueltas por segundo. A 30km/h superaria las 4 vueltas por segundo y rodando a 60km/h (dificil pero no imposible) superaría las 8 vueltas por segundo.

Agradezco de antemano cualquier respuesta y como dije antes, lo mio suele ser la parte mecánica (diseño cad) si puedo ayudar en algo, pues aqui estoy. Ahh, perdón por la parrafada.

XarlyX

Hola Humeando.

De primero Bienvenido Al Foro, para tu planteamiento te voy a cambiar todas las ideas;

dices que quieres usar un par de componentes pero yo te propongo algo muchísimo mas fácil que esto, ojo al dato:

Podrías usar un Microrruptor (o fin de carro) que es esto: http://ersonelectronica.com/images/640-433329331.jpg como funciona?, pues este aparatito es como un botón que cuando se aplica una mínima presión se activa. como meterlo en tu proyecto? pues dejándolo fijo en el cuadro de la bici y en la rueda en un sitio RECTO, poner un palito o algo flexible por que si no cuando des la primera vuelta te quedas sin rueda.

así pensado cuando la rueda que tiene el palo de una vuelta completa dará un click en el microrruptor y seguirá girando. esto vaya lo rápido que vayas siempre dará un click por vuelta este componente lo tienes que conectar en arduino y decirle que cuando el componente esté en LOW (si lo miras desde el punto de que este botón corta la corriente) sume a vueltas +1.
si lo miras desde el punto en que el botón haga HIGH (si la corriente pasa por el cuando se cierra el circuito) pues igual haga vueltas +1.

el palito ese que te he dicho podría ser un muelle (duro) o algo flexible, no se algo de goma o un alambrito, con un clip puede valer.


Humeando

Muchas gracias por la bienvenida y por la respuesta XarlyX.

Te agradezco mucho la idea, pero no me encaja. Me explico.
Lo que busco es que el montaje sea lo mas limpio posible para no tener que hacer ningún tipo de ajuste. Los cuentakilometros de las bicicletas necesitan una aproximación de mm entre el imán y el sensor y tienden a moverse y a perder precisión o directamente no contar. El montar el microrruptor me obligaría a realizar el ajuste correcto para que hiciese contacto y si la idea fuese para una sola bicicleta podría ser, pero lo que tengo en mente es que se pueda utilizar de forma universal, en cualquier bicicleta.
Por otro lado esta el tema estético, que sin ser el mas importante si que hay que tenerlo en cuenta y casi con toda seguridad ademas de no poder hacerlo atractivo visualmente el golpeo del flexible contra el microrruptor produciría ruido.

Te agradezco de nuevo la idea, pero de momento voy a seguir estudiando el acelerómetro o en su defecto algún otro sistema que cumpla con las premisas.

Un saludo.

Naruto128

yo diria que debes usar un giroscopio, ya  que te mide la velocidad angular   angulo/tiempo., mientras que un acelerómetro mide la aceleración lineal.
yo diria  , que con un acelerometro , es imposible hacer lo que tu mencionas.

por otra parte , como conviertes estas lecturas  para medir la velocidad de la bicicleta,
yo tengo entendido que todos los giroscopio te tiran directamente  la velocidad angular, pero como convierto
esta lecturas a la velocidad de la bici ?, y es la velocidad tangencial,
creo la formula seeria   v= r* w   , donde v=velocidad tangencial, r=radio de la bici,  w=velocidad angular,

si estoy equivocado que alguien me corrija.


Humeando

Muchas gracias por la respuesta Naruto128.

La idea que tengo es que con el giroscopio puedo medir la rotación, pero sobre su propio eje. Yo quiero ponerlo en una rueda de bicicleta, pero no sobre el eje de giro sino desplazado de este una distancia considerable lo cual le da al "artilugio" un desplazamiento lineal aunque ese desplazamiento sea en forma de curva. No se si consigo explicarme correctamente aqui se puede entender mejor...
http://blog.bricogeek.com/noticias/tutoriales/tutorial-arduino-acelerometro-3-ejes-adxl335-3g/

He visto otro codigo para hacer un inclinometro a partir de un acelerometro:
http://fuenteabierta.teubi.co/2013/03/inclinometro-digital-con-arduino-uso-de.html

Trato de responder a tu pregunta de como convertir las lecturas. Que alguien me corrija que seguramente hablo a bulto:
El acelerometro me devolvera un voltaje de acuerdo a la posición de sus ejes. Me interesara el voltaje de uno de ellos, el que gire en el sentido de la marcha. Cuando retorne un voltaje similar a una lectura anterior habrá dado una vuelta completa, tendré que estar comparando. Si cuento las vueltas y las multiplico por el desarrollo de la rueda obtendré el valor en mm o metros, como mas me interese y podre reflejarlo donde quiera, en este caso en un lcd.

Yo creo que en concepto puede funcionar y mi mayor duda (que no la única) es si la cantidad de vueltas puede ser excesiva para que un acelerometro las mida con claridad.
Otra opción es usar un acelerometro y un giroscopio combinados, no lo tengo claro, tengo que seguir investigando.

De todas formas, muchas gracias por las aportaciones.


Naruto128

#5
Nov 14, 2013, 06:05 pm Last Edit: Nov 14, 2013, 06:13 pm by Naruto128 Reason: 1
??? :P

tu puedes poner en cualquier parte de la rueda del bici, mientras este sujeto a un punto fijo central "creo"

sino le restas le distancia entre el centro y posicion del giroscopio............. "nose"

bueno que alguien desenrrede esto

por otra parte , el aceletrometro mide aceleracion  gravedad, te tira acelereraciones, que proporcional al voltage que lee.
lo mas que poedes midir es la posicion , pero el aceletrometro debe estar quieto, si lo levantas , te dara otra ñectura

ni hablar cuando este girando el aclerometro te estara tirando la furza g, que esta sujeta .

....................

como puedo implementar agùn filtro para el giroscopio ?, se puede aplicar el filtro kalman ? como ?

Cheyenne

Creo que tu proyecto está equivocado de partida. Los que hay en el mercado lo hacen con sensor magnético y un pequeño imán en la rueda porque así precisamente en la rueda sólo hay que poner un pequeño imán. Con el sistema que propones, ya sea un acelerómetro o giroscopio y suponiendo que se pudiera hacer funcionar, resulta que en la rueda girando tienes que poner el sensor, un Arduino y un sistema inalámbrico para enviar los datos al receptor en el manillar. Por no hablar de la alimentación... O no te he entendido bien o veo el proyecto inviable.
http://cuadricopterodiyarduino.blogspot.com/

Humeando

Gracias por las respuestas.

Es probable que unicamente con el acelerometro no lo pueda hacer. Tiene razon naruto al decir que va a estar tirando constantemente aceleracion y no lo podre medir. De todas formas vere a ver como puedo hacerlo combinandolo con un giroscopio.

Cheyenne, no te equivocas. Yo quiero montar en la rueda, fijo entre dos radios todo el sistema. Quiza sea algo aparatoso, ya habra tiempo de reducirlo.

XarlyX

Pero bueno este proyecto es un CUENTAVUELTAS o un VELOCIMETRO? por que si es lo segundo podrías intentar enterarte de como funciona en los coches y así traspasarlo a tu bicicleta

Humeando

Pues en realidad es un velocímetro para un bicicleta pero no deja de ser un cuentavueltas, a fin de cuentas, los velocímetros tienen que contar las vueltas dadas para traducirlo en unidades de velocidad.
El sistema que conozco para los velocímetros de los coches es el sensor magnético, que es precisamente el que quiero eliminar. Desconozco si existe algún otro sistema que pudiese utilizar. Si alguien lo conoce escucho ideas.

Voy a comprar un acelerometro+gyroscopio, seguramente el MPU 6050
http://www.ebay.com/itm/6DOF-MPU-6050-Accelerometer-Gyroscope-3-Axis-Gyro-Module-3-3V-5V-for-Arduino-DIY-/390620036060?pt=LH_DefaultDomain_2&hash=item5af2c4bbdc

No he podido averiguar el número de lecturas por segundo del acelerómetro, en algún sitio he visto que el giroscopio es capaz de hacer 131 lecturas por segundo. Empezare a hacer pruebas y a ver hasta donde llego.

Muchas gracias por todo.

JRodrigo

Si pones el cachivache muy lejos del eje te vibrara mucho la rueda cuando vayas muy rápido, pero compensando el peso en el otro extremo lo solucionas.

Yo pienso como te han dicho algunos usuarios, con un sensor de efecto hall y un imán de neodimio puedes detectar el giro y no hace falta tenerlo a 1 mm de distancia.

No te tiene que preocupar el numero de medidas por segundo que pueda hacer sino la resolución del mismo, en el mismo anuncio lo pone:

Quote
gyroscope range: + 250, 500, 1000, 2000 °/ s
Acceleration range: ± 2, ± 4, ± 8, ± 16 g


En el momento que la rueda de 5,5 vueltas por segundo (aprox. 33 km/h, si los cálculos no me fallan, con una rueda de 60 cm de diametro) el giroscopio dejara de darte datos fiables, teniendo en cuenta que la información del chino sea correcta  :smiley-sweat:

Un saludo!

donrodrigo

Con un acelerometro no vas poder hacerlo. Cuando pongas el acelerometro en la rueda vas a tener una aceleración centrífuga que será función del radio de giro ( distancia al centro ) y de la velocidad angular. Esta aceleración enmascarara cualquier medición. Pon un tacómetro solidario al eje de giro o un captador hall, es mucho más eficaz.
Un saludo.

XarlyX

oye y un láser te serviría como los de las cintas transportadoras de los comercios? imagínate, hacer que cuando el láser llegue al receptor que marque una vuelta pero claro, como hacer esto ya es otra cosa quizás con un espejo en un punto de la rueda y que cuando llegue a la zona X que el láser rebote ahora hay que saber de esto y para mi solo es una idea y ademas ese láser iría dándole a todo el mundo en la pierna, imagínate que fiesta, aunque si es infrarrojo pues mira ahí tienes otra opción.

Humeando

Muchas gracias a todos por las respuestas. voy por partes.

JRodrigo, ya había pensado en el tema de la descompensación y que algo habria que montar, aun así gracias por recordarmelo.
En el tema del giroscopio, no me había parado a calcularlo, pero tienes toda la razón, según esos datos por encima de 5,5 vueltas empezaran los problemas y una rueda de bicicleta dará mas vueltas.
donrodrigo, creo que tienes toda la razón, pero la pregunta es...¿Hasta que punto? o dicho de otra manera ¿Existe angún sensor que sea capaz de soportarlas?
XarlyX, la idea no es mala. He visto algún montaje hecho con un fotodiodo pero en realidad estamos en el mismo problema, tendría que montar parte del sistema el la rueda y otra parte en una zona fija de la bicicleta y esto es precisamente lo que trato de evitar.
Ya se que el sistema Hall es el utilizado en todos los casos. Yo estoy buscando una alternativa a ello, con la premisa de no tener que montar sistema fijo y móvil. No se si alguien usa bicicleta de montaña habitualmente, pero es muy común el tener que posicionar bien el cuentakilómetros. Por montar y desmontar la rueda para transporte, por apoyarla, por una caída, por roces, etc etc. Estoy tratando de encontrar un sistema que no se desajuste, escucho ideas de todo tipo jejeje, pero el efecto hall esta descartado.

Un saludo.

Humeando

Voy a despejar alguna duda, una vez hechos algunos cálculos que debería haber hecho primero...

El acelerometro en la rueda descartado. Si no he calculado mal, en una rueda de 26" colocando el acelerometro a 250mm del centro y a una velocidad de 60Km/h me salen los nada despreciables 63g. Redondeando. Teniendo en cuenta que el que habia visto tiene una sensibilidad de hasta 16g pues se me queda fuera de rango por mucho y aun estando dentro de rango, habría que ver si es posible o Naruto128 estaba acertado.

Vamos, que queda descartado el acelerómetro. Sigo buscando opciones, si a alguien se le ilumina...

Go Up