jueves, 30 de mayo de 2019

KIT MOTOR ELECTRICO (PARTE 2): CAMBIANDO FIRMWARE CON EL STLINV2





Vamos al lío.

Para cambiar el firmware de serie del controlador del motor con el nuevo necesitamos acceder a su chip, para ello usaremos la entrada del sensor de velocidad al motor.

Aquí hay dos motores distintos, los que tienen acelerador (Throttle) y los que no, los primeros llevan un cable con un conector de 8 pines y los segundos de 6 pines.

De estos 8/6 pines nosotros necesitaremos solo 4.

El conector que sale del motor es una entrada hembra pero no lleva un conector estándar, lleva un conector Higo mini tipo A que no se vende en Europa, por lo que para poder conectarnos podemos optar por estas opciones:

  • Cortar el conector Higo y cambiarlo por un conector estanco estándar de 8/6 pines (habría que cambiar también el conector Higo del sensor de velocidad)
  • Conseguir un conector HIGO en el mundo (cosa que parece imposible)
  • Comprar un nuevo sensor de velocidad y cortar el conector
  • Comprar un alargador de cable o un adaptador de 8 a 6+2
  • Usar punteras de cable de 0,5mm y conectarlas 1 a 1.
De todas las opciones la más económica es el adaptador que adapta el conector Higo de 8 pines a 6 pines y a 2 pines.

NOTA: El cable adaptador para poder ponerle luces no sirve, solo trae 2 cables.

El color de los cables que necesitamos y su orden para conectarlos a los pines del programador es el siguiente:

  • cable morado - pin RST
  • cable naranja - pin GND
  • cable negro - pin SWIM
  • cable marrón-  pin S VCC / 5V

Una vez conseguido el cable y adaptado a nuestras necesidades, necesitamos el interface que nos permita comunicarnos con el controlador, el chipset es el STM8 y para programarlos existe en el mercado el programador STLinkV2, este programador permite a través de la conexión USB de un PC con Windows/Linux comunicarse con el controlador y acceder al firmware para cambiarlo o editarlo. Hay en el mercado clones de este programador a precios ridículos.



Es importante que a la hora de hacernos el conector casero no pongamos cables de más de 10cm, si necesitamos mas longitud se aconseja usar un alargador de USB.








Ahora tenemos que descárganos el firmware que seleccionemos:
  • Firmware de marcoq para pantallas de serie (VLCD5, VLCD6 y XH18)
  • Firmware de casainho para pantalla KT-LCD 3 (en este caso hay que instalar también el firmware en la pantalla y adaptar el cable al conector del motor) ver tutorial aqui
Tanto el firmware de marcoq com el de casainho es propiedad de ellos y lo han cedido para su uso sin fines comerciales para todos los usuarios particulares del motor TSDZ2, desde aqui mi mas sincero agradeciemiento a ambos.

Yo solo explicare el firmware de marcoq puesto que es el que he probado.
El firmware de marcoq viene con un configurador en java, por lo que tendremos que tener instalado en nuestro sistema lo siguiente:
  • Una version de Java funcional
  • Compilador de C para pequeños dispositivos, SDCC
  • Windows 64 bits, para 32 bits debemos reemplazar un archivo en el zip de marcoq, concretamente el archivo sh.exe ubicado en la ruta .. \ tools \ cygwin \ bin \ por el archivo zsh.exe de estas utilidades, se reemplaza con el mismo nombre sh.exe.
  • Software STVP de las herramientas ST Tool
Todos los instamos en la raíz de nuestra unidad principal C:\, sin carpetas por el medio.

Empezamos con la programación. 

Se quita la conexión de la batería al motor y nos aseguramos que se descargan los condensadores encendiendo la pantalla, toda la programación se hace sin alimentación de la batería, el STLinkV2 suministrara al chip la energía necesaria.

La primera vez es bueno que realizacemos una copia de seguridad del firmware del sistema, para ello abrimos el STVP y conectamos el PC al controlador del motor con el programador STLinkV2 y nuestro cable.

Una vez abierto el STVP de las herramientas ST Tool vamos a configurar el interface, elegimos en configuración la opción ST-LINK y ahí la opción SWIN y dentro de todos los controladores el que pone STM8S105x6 (daría igual el x4 pero este da menos fallos)

Una vez configurado vemos tres pestañas:
  • Program memory: es el firmware en bruto, el core del motor, en teoría el mismo para cada motor
  • Data memory: son las distintas opciones configurables para cada motor
  • Option byte: es la parte del firmware que tiene los protocolos de comunicación
En esta pestaña vamos a seleccionar una a una y a pinchar el icono que aparece un chipset en verde,se selecciona y se le da a file-save, asi en cada pestaña, al final tenemos que tener tres archivos grabados el Program memory, el Data memory y el Option byte.



Ya podemos cerrar el programa ST Tool .


Abrimos el configurador java de marcoq

Este configurador lo hace todo automáticamente, únicamente tenemos que seleccionar ciertas opciones que podemos cambiar libremente.

Vamos a ver que podemos modificar nosotros a mano en el configurador java de marcoq

Dentro de esta opción podemos configurar:
  • el tipo de display que tenemos VLCD5/6 (esto solo es para mostrar bien el nivel de batería)
  • si tenemos acelerador o sensores de freno
  • si queremos usar el botón de luces por defecto del display
  • si queremos introducir en el configurador el perímetro de la rueda o usar el de por defecto del display

  • si queremos configurar el modo de asistencia a pie o usar la de por defecto del display
  • si queremos configurar el modo de asistencia a pie con posibilidad de dejarla funcionando sin mantener pulsado el botón (con el display XH18 no he conseguido que funcione, se supone que con el nivel 1 seleccionado al pulsar el mando hacia abajo se tendria que quedar activado, a mi se me apaga) 
corrijo el comentario, hay que poner en la casilla walk assit off delay el tiempo que queremos que dure la asistencia...yo lo dejaba por defecto 2" y se paraba a los 2" marcoq pone 60"

  • si queremos mantener o no encendido siempre el display o que se desconecte tras no mostrar actividad en un periodo de 5 min.
  • si queremos usar la ultima versión de firmware beta
  • si queremos desconectar la resistencia del motor al pedalear hacia atrás
  • si queremos activar la protección de temperatura del motor (es necesario tener el sensor instalado)

  • si queremos configurar el modo calle o usar el de por defecto del display
  • si queremos usar el modo boost y como lo queremos configurar si por cadencia o por velocidad.


Ahora tenemos otros campos que debemos configurarlos en sus pestañas respectivas del configurador
BATERIA:

En este caso debemos introducir manualmente:

  • watios y amperios que tiene nuestra batería (Max Battery Power y Max battery current source). 
  • La disposición de celdas nuestra bateria (Battery Cells number), en este caso 10.
  • El valor de corte del motor (Battery Low Voltage cut-off) que esta en 29v por defecto para baterías de 36v. 

El resto de valores son valores estándar para celdas de 196.


MOTOR
En esta pestaña seleccionamos la batería que alimenta a nuestro motor, 36v o 48v.

THOTTLE
Se deja por defecto esta pestaña, si tienes acelerador le puedes cambiar los valores máximos que entrega el motor al pulsar los botones del acelerador

TORQUE SENSOR

Por defecto se deja en 0,637, si se toca este valor se modifica el factor de torque y se consigue que el motor interprete mas o menos potencia al pisar el pedal


PAS
numero de imanes máximos que se pueden poner en la rueda trasera, este numero se configura mejor en el display por lo que no se toca

PEDAL ASSIST: 

Y llegamos a la mejor parte, esta la opción que configura la potencia máxima que entrega el motor en cada uno de los niveles de asistencia. Va de 10 a 500%, de esta forma podemos configurar el motor a nuestro gusto. En esta pantalla se usa el last code beta, que es un firmware que entrega mucha potencia, de ahí los valores tan bajos. 


Aqui otra pantalla que trae por defecto.

Lo normal que suelo poner para montaña son valores de 30/60/90/120 mas o menos, mas de 300 no tiene sentido porque el motor no entrega tanto.

Una vez configurado y conectado el cable con el STLINKV2 solo nos queda darle a conpile y luego a program, el propio programa detecta el software STVP, borra los valores del motor y carga los nuevos valores program data, data memory y option byte.  

si marcamos la casilla save file.ini podemos dejar grabada nuestra configuracion en la casilla experimental settings.



Si queremos cambiar las opciones directamente en el STVP podemos hacerlo en la pestaña DATA MEMORY




La asignación de memoria va del 0x004000 al 0x00401F, Pero entendamos que esta opciones hay que ponerlos en valores hexadecimal y nosotros los calculamos en decimal.

Concretamente de los valores de cada una de las direcciones de memoria


una vez cambiados estos valores se le da al icono con el chipset en rojo para grabarlos en el controlador.

miércoles, 29 de mayo de 2019

KIT MOTOR ELECTRICO (PARTE 1): MOTOR TSDZ2


KIT MOTOR ELECTRICO TSDZ2 (PARTE 1)

Motor TSDZ2

El motor TSDZ2 es un motor central con sensor de par de 250W -350W - 500W - 750W de potencia nominal, ideal para bicicletas de paseo y montaña. Su sensor de par lo hace ser muy eficiente en cualquier recorrido, unido a pantallas de dimensiones generosas iluminadas y con una lectura muy completa hacen de este modesto kit un competidor muy atractivo de los famosos motores que incorporan todos los fabricantes de ebike.

Especificaciones:
  • Motor 250w-350w-500w -750W
  • Máximo par. 50N.m para el 250W. 60N.m para el 350W y 80N.m para el 500w.
  • Voltaje 36V para el 250W y el 350W y Voltaje 48V para el 500W y el 750W
  • Velocidad máxima 25km/h ampliable.
  • Peso 3.4kilos
  • Para cajas de pedalier de 68mm y 73mm.
  • Plato suministrado 42D. Posibilidad de montar adaptador de platos (minimo plato 34D)
  • Posiblidad de montar cableado de luces, con activación de las mismas desde la pantalla del kit, el voltaje de esta Salida de luces es de 6V.
En breve publicare un tutorial de como monte este motor en una TREK REMEDY pero este sera un breve tutorial para explicar dos cosas,
  1. Instalación de un firmware "open source" distinto al original 
  2. Instalación del sensor de temperatura.

Comenzamos por el firmware, el motor TSDZ2 posee un controlador programable STM8S105C4 al que es posible modificarle el firmware de serie. 

¿Por qué cambiar a este firmware abierto?:

Por estos motivos: (extraído de https://github.com/OpenSource-EBike-firmware/TSDZ2_wiki/wiki)


Display

  • Posibilidad de montar dos pantallas, las de serie que usan el mismo protocolo que el firmware de marcoq (VLCD5, VLCD6 y XH18) o las basadas en la serie Kunteng (KT-LCD3) que usan el firmware de casanhino con otro protocolo de funcionamiento, Estas ultimas son capaces de mostrar más información que las de serie (wattios, temperatura…) a la vez que permiten configurar ciertos parámetros “al vuelo” sin necesidad de conectar el programador.
Displays de serie
Motor
  • Control motor
El algoritmo de control del motor (FOC) logra el mejor par de motor posible en comparación con el uso de la corriente del motor. Los usuarios informan que el motor tiene un par de torsión más alto y que sus baterías duran un rango de disparo largo / más alto.

  • Control de potencia del motor
Control de la potencia del motor y no de la corriente del motor, que mantiene el nivel de asistencia de potencia del motor cuando la batería tiene menos carga / menos voltaje.
  • Control de rampa actual
Control de rampa actual, la aceleración se puede configurar en la pantalla. Los usuarios pueden cambiar el escalón de la rampa y luego pueden ayudar a mejorar la vida útil de los engranajes de plástico, etc. Los usuarios pueden decidir tener una respuesta de par muy rápida del motor y una más baja para mejorar la vida útil de las piezas del motor, o tal vez la rampa de corriente de la batería, o por razones de seguridad con bajo par, etc.
    Display KT-LCD3
  • Corriente máxima del motor
El usuario puede configurar la corriente máxima de la batería que el motor extrae de la batería (opción en el display KT-LCD3 o programable), desde 1 hasta 18 amperios. Esto puede ser útil, por ejemplo, para limitar la corriente de la batería de una batería pequeña y así mantenerlo en un rango seguro que extienda la vida útil de la batería.
  • Potencia máxima del motor
El usuario puede configurar la potencia máxima del motor, en vatios, que el motor extrae de la batería (opción en el display KT-LCD3 o programable). Esto puede ser útil, por ejemplo, para limitar el uso de energía de la batería cuando realiza viajes largos y desea garantizar que llegue a su destino.

Batería
  • Amplia gama de voltajes de batería: batería de 24 V hasta 52 V (7S hasta 14S)
  • Los usuarios pueden elegir (opción en el display KT-LCD3 o programable) para usar una batería de 7 celdas hasta 14 celdas (puede haber cualquier número en ese intervalo).
  • Batería de baja tensión de corte
  • Los usuarios pueden elegir el voltaje de corte bajo de la batería (opción en el display KT-LCD3 o programable) y de esta manera optimizar el rango de la batería y / o la vida útil de la batería.
  • Bateria SOC y resistencia
  • La pantalla KT-LCD3 indica el SOC de la batería en función del voltaje de la batería y tiene en cuenta el valor de resistencia de la batería (opción solo en el display KT-LCD3) para evitar fluctuaciones cuando el motor está extrayendo la corriente de la batería.
Sensor de temperatura.
  • La instalación del sensor de temperatura del motor es opcional. La ventaja de instalar el sensor de temperatura del motor es evitar el daño / pérdida de torsión permanentes por el desmagnetizado debido al sobrecalentamiento. Este motor no se autoventila, con lo que es fácil que la temperatura de funcionamiento ande entorno a los 75-80°. Si tu motor esta configurado a  48v y 250W es probable que sufras menos calentamiento que uno configurado a 500W o 750W.
  • El display KT-LCD3 con el firmware de casainho muestra la temperatura del motor y reduce linealmente la corriente del motor mientras la temperatura del motor aumenta. El display de serie con el firmware de marcoq hace lo mismo pero no muestra la temperatura del motor si el fallo E008.

martes, 28 de mayo de 2019

KIT MOTOR ELECTRICO: MI BICI

Como uno ya es un viejuno y no se ve con fuerzas para disfrutar del todo del monte con la bici, sumado a que cada vez tengo menos tiempo libre, me plantee hace un año cambiarme al mundo eléctrico.

Tenia dos opciones, o comprar una eléctrica o electrificar la mía.
La primera opción después de mucho bichear la descarte por el tema económico, no por que no pudiera si no por que para el uso que le doy ahora a la bici (fines de semana y un poco mas en verano) no me parecía una buena inversión gastarme 4000 euros...

Asi que empece a mirar los kits eléctricos, hay mucho donde elegir distinguiendo dos tipos de kits, los que van integrados en el buje de la rueda, bien sea delante o detrás, y los que se ubican en la parte central, en el pedalier.

Para montaña los primeros tienen el problema del calentamiento, están diseñados para ventilarse aprovechando la velocidad y diseñados para funcionar a altas rpm, en montaña que en muchos casos vas al tran tran, estos motores se fuerzan al rodar a bajas rpm y con el calentamiento acaban "quemándose".

Otra desventaja es el reparto del peso, el peso se ubica en la rueda, casi 4 kilos detrás o delante que hacen que la bici sea menos manejable. También la potencia estos motores la entregan directamente a la rueda, haciendo que el pedaleo sea menos natural. Y por ejemplo en el motor de buje delantero la potencia parte de delante haciendo que sea distinta su conducción.

Los que van el pedalier tienen la ventaja de repartir bien el peso, y tirar de la rueda de forma natural, pues mueven el eje donde se ubican los platos, la desventaja es que la altura del pedalier al suelo se reduce teniendo menos paso por piedra...

De este tipo de motores hay dos tipos los que asisten "continuamente" al pedaleo usando un sensor de paso, es decir si detecta movimiento sigue asistiendo a una velocidad programada.
El otro tipo son los que asisten según la potencia que se infrinja al pedal, estos son llamados de sensor de torque, si el sensor detecta fuerza en el pedal asiste a una velocidad programada.

Motor Bafang BB02
Motor TSDZ2


Estos últimos son los que mas se parecen a una ebike comercial, y es por ello que me decante por instalar el TSDZ2 que es por ahora el motor que en relación calidad precio mejor me pareció.

Hay muchas versiones de motor pero realmente lo que determina la version es el controlador que llevan es decir, un controlador limita los amperios a los que trabaja el motor. En Europa el limite de motores para las ebikes esta en 250W, pero las baterías de estas ebike son de 36v y sus controladores están limitados a 15A, entonces...36v x 15A = 540 watios, esto implicaría que superan el limite legal... los fabricantes se acojen a que esos 540 watios es la potencia máxima,  los 250 watios es la potencia continua, es decir la potencia a la que ese motor trabaja habitualmente, si se supera esta potencia se quemaría el motor....La contradiccion viene porque a mayor voltaje de bateria mas watios a menos amperios, con lo que el motor se calentaria menos...en fin una ley absurda. Si a limitar velocidad pero en cuanto a limitar watios es una norma copiada del código de circulación.

Así que lo que realmente mide la potencia es la programación del controlador (que limita los amperios que da para que no se queme el motor) y la bateria, estas pueden ser de 36/48/52v las primeras son las mas baratas, pero por contra las que pesan mas.

Para la bateria tenia claro que iba a utilizar una de 36v y 15A en caja de batería para el tubo diagonal, alguna tipo hailong shark o similar. Con esto y el controlador a 15A me da potencia máxima suficiente para lo que quiera.

Una vez elegido el motor empece a mirar como encajar la bateria en el cuadro...y aquí mi problema...porque en mi cuadro no entraba la batería en el tubo diagonal...asi que tendría que ponerla en el horizontal...













Al final viendo que esto iba a ser una chapuza, me fui por el camino de el medio y compre un cuadro de segunda mano con espacio.

Vi este en un foro que sigo muy bien de precio y me enamore, estaba tirado de precio, pero tirado porque tenia soldado el basculante...yo como soy asi de arriesgado y me fio de la gente me lance a por el. Una vez adquirido ya lo pintaria...



Soldaduras en el basculante


El problema es que al pintarlo me dijeron que tenia otra fisura en el brazo superior del basculante...el comprador se porto y lo apañamos en un taller de aquí que trabajan aluminio, al final soldadura a prueba de bombas...(1 año ya sin problemas y toco madera)


Comprobando que la batería encaja en el cuadro nuevo.

 De esta forma procedí a montar todo, la batería va anclada en el tubo diagonal para ello solo añadí un agujero mas a los que 2 del portabotellin con un remache roscado M5.

Un problema de estos motores es que si cambias el plato de origen por el adaptador y un plato distinto al 42, la linea de la cadena empeora de 51mm a 56/61mm (rígida/doble) con lo que olvidaros de montar un casete 10v 11/46, cruzaríais en exceso la cadena es mejor quitar piñones y jugar con las velocidades del motor. Yo monto un 10v 11/36 pero quitándole un piñón , así mejoro la linea de la cadena.

Ademas le quite unos centímetros al motor por su parte interior para evitar que el plato toque con el basculante. (si no tendría que alejar el plato añadiendo una arandela al pedalier, pero esto empeoraría la linea de cadena)


de esta forma tenemos este montaje:

El motor TSDZ2 para una bici doble necesita un anclaje extra puesto que el anclaje original se fija sobre el triangulo trasero, en una rígida no hay problema pero en una doble este se mueve, así que no queda otra que poner un anclaje al cuadro como el de la foto. De nuevo dos remaches roscados M5 en el tubo diagonal y una brida metálica aseguran la pieza al cuadro.

Lo vende KITSEMTB

Anclaje original en bicicleta rigida



                                                                            Anclaje en bicicleta doble


Para evitar las piedras que por el pedalier mas bajo puedan golpear al motor instale un protector para el motor cortesía de KITSEMTB


Al final tenemos este montaje que es el que llevo ahora y con el que estoy muy contento: