Menú horizontal

Este blog lo escriben exclusivamente voluntarios

¿Echas de menos un tema? Pídelo o escríbelo tú y enviálo a enbici@espormadrid.es y te lo publicamos en un par de días.

Si quieres colaborar sin escribir o si te ha gustado un artículo, puedes invitar a una caña a quien escribe, que siempre hace ilusión.


lunes, 6 de junio de 2022

Cómo hacer una bici radiocontrol. Capítulo 1: Como hackear el pedalier de la E-ST 500 del Decathlon

Hace ya unos meses, se me ocurrió que podía ser interesante tratar de hacer una bici de radiocontrol. Era parte de mi carta (con cosas raras de bici) a los reyes magos

Después de unos cuántos experimentos y conseguir que CASI funcione bien, voy a ir publicando algunos de los desarrollos que he ido haciendo, por si alguien le sirven de algo.

¡Aquí está la bici corriendo sola!


bici radiocontrol en marcha


La idea inicial era conseguir manejar una bici con un mando a distancia típico de radiocontrol. Acelerar, que guarde el equilibrio, girar de forma controlada y frenar. En este momento, la bici acelera, guarda (mas o menos) el equilibrio y frena. Pero no gira. Tiene instalado un sistema estupendo para que gire, pero no gira. 

Mientras se resuelve esto del giro, voy a ir contando distinas partes del sistema, como si fuesen capítulos. En este primero contaré cómo conseguir que la bici eléctrica E-ST 500 del decathlon se crea que tiene a alguien sentado encima y dando pedales. Así el controlador le dará potencia al motor y la bici se pondrá en marcha en cuanto se lo digas con el mando. 

El mando a distancia será como un acelerador a distancia. Normalmente el pedalier comprueba que estés dando pedales hacia delante y mide la fuerza que haces con el pedal izquierdo. De acuerdo a eso, le da potencia al motor. Aquí contaré cómo he conseguido engañarle.

Ojo que, normalmente, cuando se habla de hackear una bici eléctrica, lo que se busca el eliminar la limitación legal a 25 km/h. En este caso no. La limitación de velocidad seguirá siendo la misma. Cuando la bici llegue a 25 km/h, el motor dejará de empujar y cuando baje de velocidad, seguirá empujando. Lo que sí engaña al sistema es que no será necesario girar el pedalier. Ni siquiera será necesario estar cerca de la bici.

Es un hackeo un poquito historiado. Para poner un acelerador y ahorrarte el dar pedales, creo que no merece la pena (aparte de que sería ilegal montar con esto por la calle) Pero si quieres jugar con un arduino y con una ebike, tiene unas cuantas cosas interesantes. Conviene saber un poco de electrónica y arduino, pero nada complicado ni caro. A pesar del aspecto de los equipos electrónicos añadidos (receptor de radio, arduino, controlador motor dirección y filtro).  

Viendo la foto, mete un poco de miedo. Así soy de desordenado.


El resumen es:

  • Se envia la señal a la bici desde una radio de radiocontrol
  • Se recibe la señal con el receptor de esa radio instalado en la bici
  • El arduino lee la señal que ese receptor le daría a un servo
  • Con esa señal, el arduino interpreta y calcula lo que debería dar el pedalier en esa situación (reposo, pedaleo suave, pedaleo fuerte)
  • El arduino genera esa señal y la envía al controlador
  • El controlador lee la señal, entiende lo que quiere el ciclista y alimenta el motor según la orden recibida

¿Por qué se usa la E-ST 500 del deca?¿se podría hacer con otra bici eléctrica?

He usado esa bici eléctrica porque es la que tengo. Es una bici sólida, sencilla y barata para lo que ofrece. Tiene el motor en el buje trasero y (más o menos) la ayuda depende de la fuerza que hagas con el pedalier.

Aquí en la foto puedes ver la bici con todos sus equipos montados: 

  • Batería 12 v para equipos rc y control de dirección (verde)
  • Receptor radio, arduino, control motor dirección y lío de cables. (triángulo blanco)
  • Dirección y cosas que tendré que rehacer
  • Servofreno (que está pero no se ve)

e bike E-ST500 decathlon radiocontrol

Seguro que algo parecido se podría hacer con casi cualquier otra bici eléctrica, pero lo he hecho con esta. De hecho, como no funciona todo bien, cambiaré de bici para este tema del radiocontrol, pero eso es otra historia que contaré en su momento. 

La radio de radiocontrol.

Las típicas son radios con una emisora grande que tiene un par de joysticks y un receptor muy pequeño con varios conectores. Uno para las pilas y el resto para los servos. Estos son motorcitos con una pieza que gira de forma proporcional al joystick correspondiente en la emisora.

En la foto puedes ver la radio que usé. Tiene más años que muchos de los que leeis estas cosas, pero la señal que emite el receptor de radio hacia los servos sigue teniendo el mismo tipo de pulsos y es muy estándar.


Estas radios tienen mucho más alcance y precisión en el movimiento que cualquier wifi. Lo típico es que los servos muevan algo (como los alerones de un avión) o controlen un motor. En este caso, como lo que queremos es algo más complejo, la señal que recibiría un servo se la metemos al arduino para que la lea y calcule lo que generaría el pedalier en ese caso. Para que el controlador se crea que el ciclista está haciendo eso con el pedalier.

El pedalier de la E-ST 500 del deca.

Tengo que reconocer que al principio ni me creía que el pedalier fuese capaz de leer la fuerza que se le aplica para darle la información al controlador. Pero lo hace. Y de una forma muy ingeniosa. Luego lo que hace el controlador para pasarlo a potencia para el motor no es lo más fino del mundo, pero funciona.

Llegué a pensar en bloquear el piñón para que se moviese el pedalier y eso engañase al controlador. Pero el par que haces con el pedal izquierdo sí que se usa en realidad. Sin eso, el controlador no activa el motor.

Decathlon no facilita nada de información de cómo funciona el pedalier. Ni siquiera facilita información sobre un conector libre, de dos hilos (rojo y negro) que tienen en su cajita de control (ya os digo que es para una luz de 6v y que se maneja con la luz del marcador). El pedalier es como este de thun pero con un conector diferente.

Tampoco facilitan información sobre el controlador. De hecho lo tienen relleno de plástico para protegerlo de humedad, de golpes y de cotillas. Así dificultan mucho que cualquiera (por ejemplo yo) intentemos toquetear o intervenir en la electrónica. No hay problema. No hay que tocarlo.

El sitio para intervenir es el conector. 

Entre el pedalier y el controlador hay un conector. Si encuentras un cable con el mismo conector en los extremos, lo metes entre medias y ya podrás trastear a ver qué es lo que pasa por ese cable. Encontré este cable tipo M8 de 6 pines en Aliexpress. No es exactamente igual (hay que quitarle una especie de tuerca de protección), pero encaja y funciona en los dos extremos.

conector M8 6 pin ebike decathlon e-st500


El cable tiene seis hilos.

Para ver lo que tenía cada uno de ellos pelé un trozo en el centro del cable comprado. Así evité cargarme el cable en la parte del pedalier y en la del controlador. Mirando lo que había en cada hilo, en seguida se encuentran la alimentación permanente (+5V y 0) y el resto.



Los 6 hilos son los siguientes:

  • Alimentación +5V
  • Tierra 0V
  • Señal escalones 0-5v de un pedal
  • Señal escalones 0-5v del otro pedal
  • señal senoidal, alrededor de 2,5v (constante en reposo)  entre 0,5 y 4,5v con su amplitud máxima, que refleja el par ejercido
  • hilo libre

Para ver qué hilo es de cada cosa. usé un oscilo sencillito que tengo y no tengo claro cómo se podría mirar de otra forma. Una vez que se identifican los hilos, se corta el cable y se elimina el lado que va hacia el pedalier.

El arduino

El arduino es un controlador que se programa en C y permite hacer un montón de tareas electrónicas. Para este tema utilicé un arduino Nano, alimentado a 12V desde una entrada que permite esa tensión.

Voy a dejar aquí el programa por si alguien le quiere echar un vistazo. Está escrito en el C de arduino y hace lo siguiente:

  • Define variables y pines de entrada y salida
  • Tiene un bucle infinito (loop) que lee la radio, saca gráficos o texto de variables por el puerto serie al ordenador y genera las salidas para el controlador.
  • La lectura de la radio es tan sencilla como la instrucción pulseIn, aunque al ir creciendo el programa, no siempre lee bien y conviene filtrar un poco
  • La función pedalea() genera los escalones que indican la dirección de pedalada y una señal senoidal para el controlador. Todo dependiendo del valor que se lea desde la radio. 

Si alguien con una cierta idea de arduino quiere reproducir el esquema, no tendrá dificultad en identificar los pines desde el programa.

El pin de salida da una señal en pwm (modulación en ancho de pulso) pero es muy fácil filtrarla con un condensador y una resistencia y sacar una señal senoidal buena. En las primeras pruebas, no saqué bien la señal (saqué una cuadrada normal de 0-5v) y, aunque el motor funcionaba, la pantalla de la bici indicaba "ERROR 70". Con lo que hay aquí sí que funciona bien y permite apreciar bastante bien cómo sale la potencia del motor en función de lo que le indiques con la radio.

La forma de acelerar es sacar la señal cuadrada de ambos pedales y hacer que la salida de par pase de constante a senoidal, con amplitud variable según el par. La velocidad del pedalier da igual (dentro de un orden) ya que lo que mira el controlador es la amplitud de la señal. La velocidad en el programa está fijada a 60 pedaladas por minuto.

En la foto se ve la salida del arduino que simula el par, leída por el oscilo, mientras "acelero" con la radio.



El resultado 

El motor funciona muy bien. Casi demasiado bien. Aunque no le des mucha caña al "acelerador", la bici se pone en seguida a su velocidad máxima. La bici pesa, pero está pensada para tener 80 kilos encima o más y con todo el cacharreo que puse, la bici corre como si no le pesase nada.

El equilibrio lo guarda porque las bicis son auto estables. Si sueltas una bici con velocidad, no se cae. Intentaba que torciese desplazando el peso de una batería adicional pero debe ser que pesa poco para el peso completo de la bici y no hace caso. 

En este video explican el tema del equilibrio, aunque aquí me he limitado a contar la parte de darle potencia a la rueda, para que no haga falta la cuesta abajo.


Ya contaré cómo va la cosa.

El freno sí que funciona bien con un servo manejado desde la radio. Ya lo enseñaré.

Siguientes pasos

Visto el resultado, el siguiente paso evidente (si tengo tiempo y ganas de seguir jugando a esto) sería usar un peso móvil mucho más grande o una bici más pequeña y que pese menos. Creo que es más sensata la segunda opción: bici pequeña. Pero habrá que motorizarla y parte de la gracia es no gastar dinero. Interesante.

Es curioso, la cantidad de cosas que se pueden hacer alrededor de una bici, incluso sin montar en bici. 

-¿Y montando?  

-¡Más cosas aún y mejores!, por supuesto!!

Pasadlo bien!


No hay comentarios :

Publicar un comentario