martes, 19 de mayo de 2020

Controladora Efun Lipo70




En esta entrada voy a tratar de explicar todo y cada uno de los parámetros de las motos con controladora "EFUN 72150" que no es otra que la controladora Sabvoton SVMC72150 que comercializa MQCOM y ala que Efun simplemente les quita la pegatina y ponen su logo.

Por supuesto está misma controladora se usa en motos como la Pusa 90 de 5 kW

Nota importante: No me hago absolutamente responsable de ningún daño material o personal que pueda causar el seguimiento de este tutorial. Toda manipulación de elementos electricos conllevan un grado de peligrosidad directos (shock electrico o descarga) e indirectos averías en el motor o incendios por mala manipulación.


Materiales que vamos a necesitar:

Todo lo dejo en esta carpeta compartida en los dominios de pc-citos, aún así aquí lo tenéis por enlaces:

  • Controladora svmc72150 o de la familia, aunque aquí nos centraremos en la configuración de la 72150 y especialmente orientado a motos como la PUSA90 y la Lipo70. La controladora en cuestión la podéis adquirir en el siguiente enlace por poner un ejemplo: Controladroa Sabvoton 72150
  • Cable para conectarnos a la controladora (el enlace anterior ya incluía el cable para programar), este sería el cable en cuestión,(También hay un adaptador bluetooth que no voy a recomendar porque el software es una castaña y porque no es fiable, creo que es el que usan en el concesionario)
  • Opción de Cable fabricado: Esta es una alternativa al cable anterior, mas fácil de conseguir. Es un convertidor USB-TTL y solo nos haría falta un cable usb ordinario para conectarlo o este otro ya preparado para conectarlo con conexiones Dunop hembras
  • Diagráma: Aquí lo tenéis
  • Manual: Aquí lo podéis descargar
  • Software principal: Este es el software pricipal que se instala en el equipo.
  • Software secundario para acceder a parámetros especiales: Este segundo software solo es un archivo exe que no os funcionará si no tenéis instalado el anterior, ya que este no instala librerías.
  • Driver CH341SER para el chip CH340G
  • Archivo de Exel con los parámetros originales de una moto Lipo70 y los cambios para mejorarla desde mi punto de vista.
  • Como curiosidad también os dejo una hoja para calcular la carga de la batería y una grafica de carga y kilómetros por carga......


Nociones básicas

La controladora de la moto se encarga de gestionar la energía desde la batería hacia el motor basándose en algoritmos programados en su interior en los que somos capaces de grabar los valores de sus condiciones.
Hay valores como velocidad máxima, corriente permitida de consumo desde la batería, corriente entre fases al motor, velocidad marcha atrás, etc.

Todos esos valores los podemos reescribir con un cable, una computadora y el software adecuado.

Los controladora de Sabvoton (pertenecientes a MQCON) en su mayoría tienen disponible un puerto USB en al que podemos conectarnos para leer y reprogramar.

La comunicación con el corazón del controlador se hace vía RS232 pero en la electrónica no dispone de conversor UART integrado. Así que si os conectáis directamente al Puerto USB Hembra no conseguiréis nada si no usais un conversor externo. No se por que no lo integraron en la placa porque vale 20 céntimos..... bueno, si lo sé, para vender el cable a parte.


Preparativos

Para empezar, debéis de isntalar el software principal.
Y dejar en algún lugar el segundo programa

Caso a parte y aunque arriba ya dejé el enlace al cable, también dejé el enlace a un convertidor USB to TLL para fabricarnos nuestro propio cable.

El cable original es así:

Si os fijáis, dice claramente que parte hay que conectar al pc, básicamente porque esa parte es la que contiene el conversor.

Nosotros usaremos este conversor y un pedazo de cable USB que tengamos por casa o el que he puesto en el enlace de arriba que os permite prescindir de soldar etc:



El convertidor va conectado al pc y nos tenemos que asegurar de que el puente está entre VCC y 3V3, lo que hace que el circuito lógico funcione a dicho voltaje, que es al que trabaja la controladora.

Para el otro extremo que conecta a la controladora usaremos este otro cable (o uno reciclado):



Y lo conectaremos al conversor de la siguiente forma
Cable Negro --> GND
Cable Rojo --> No conectar
Cable Amarillo --> TX
Cable Blanco -->RX

El cable USB macho irá directamente a la controladora.


Programación

Para conectaros tenéis que tener acceso al cable usb hembra del que dispone el controlador.
Este suele estar amarrado con una brida junto al controlador.
Pasos para llegar a ella:
  1. Bajar el térmico de 100A bajo el asiento.
  2. Desconectar la batería y extraerla.
  3. Quitar 4 tornillos superiores de la carcasa debajo del asiento y veréis la controladora. en la parte trasera de la moto.
  4. Localizáis el conector USB hembra y lo deslizáis por un lateral de la carcasa (en la Lipo70 llega perfectamente.
  5. Montáis de nuevo todo
  6. Conectáis el conversor al ordenador
  7. Dais con botón derecho a "Mi PC" pincháis en propiedades y luego en administrador de dispositivos, buscáis el apartado "Puertos COM y LPT" y localizáis en que puerto COM se ha colocado el controlador CH340SER y lo anotáis.
  8. Conectais la controladora al pc mediante el cable y encendéis la moto.
  9. Abrís el programa ya instalado previamente (MQCON) y dais a "Communicaction", elegís el puerto y le dais a configurar.
  10. Si el programa comunica veréis de parpadear tanto los led del conversor como los led en la interfaz del software MQCON. Si no es así, puede que los cables TX y RX estén invertidos.

Ahora analicemos las pantallas del software instalado por defecto:

Primero tenemos que presionar en "Communication!" y elegimos el puerto que previamente conocemos y le damos al botón "configure".


Los led's de la interfaz empezarán a parpadear y será cuando se establezca la comunicación, también notaréis de que se rellenan los valores de las casillas en la pantalla principal del programa.
Si esto no ocurre entonces no se ha establecido la comunicación correctamente.

Para modificar los valores de la controladora debemos entrar en el apartado "SET!".

Al hacerlo se os abrirá la ventana "Parameter SET" donde podremos navegar por las distintas pestañas.

En la versión "SabVoton Motor Controller V2.0 (with bluetooth)" tendremos más opciones que las que aparecen en el software por defecto.

En la primera, la "BASIC" tenemos los siguientes apartados relacionados con sobre todo con gestión de la batería.


Pestaña "Basic" del Software "SabVoton Motor Controller V2.0 (with bluetooth)":



Pantalla "BASIC" del software por defecto:




DC LIMIT CURRENT VOLT
Este valor solo está disponible en el software secundario, lanzando el ejecutable "SabVoton Motor Controller V2.0 (with bluetooth).exe".
Si el controlador detecta el voltaje de la batería más bajo que este valor limitará la corriente del motor para reducir el consumo de batería y poder llegar a un punto de carga.
Dicha limitación de corriente viene recogida por la casilla "Limit DC Current" detallada más abajo.
Valor que recomiendo: 69V


LACK VOLT
Si el controlador detecta el voltaje de la batería es más bajo que el ajuste, dejará de funcionar. Generalmente, si la batería es de 72V, la configuración es aproximadamente 60V; Si la batería es de 60V, la configuración es aproximadamente 50V; Si la batería es de 48 V, la configuración es sobre 42V.
Se ha comprobado que a 62V la batería desconecta totalmente en la moto eléctrica Lipo70 y PUSA90.
Valor que recomiendo: 65V (Des esta forma evitamos llegar a los 62V al acelerar y que la moto se apague de golpe, incluyendo luces)

OVER VOLT
Si el controlador detecta que el voltaje de la batería es más alto que este valor, dejará de funcionar. Generalmente, si la batería es de 48v, 60v o 72V, el ajuste es de aproximadamente 95V

DC LIMIT CURRENT (“Rated dc current” en otros programas)
Corriente DC nominal que se puede extraer de la batería de forma continuada.
Según la página de CATL, la batería tiene un ratio de descarga de 2C, por lo que puede ser descargada de forma continua a 104A. Según QS su motor en versión 2 estaría comprendido entre 80-100A
Yo recomiendo 90A pero teniendo en cuenta de que si sois muy agresivos con el acelerador continuamente la batería se calentará más y se degradará más. En ese caso si no sabéis controlaros podéis dejarlo en unos 80A y activar el "Boost Start" mas adelante par que la entrega en la salida sea más intensa durante los primeros segundos saliendo desde 0 RPM

BOOST DC CURRENT (“Max dc current” en otros programas)
Esta es la corriente nominal pico que se le puede exigir a la batería.
Se considera óptimo 150 por el tipo de controladora que es, pero la batería dudo que aguante esos picos continuos.
De todas formas este valor no se usará si no tenemos activada otras opciones que más adelante veremos.
Yo recomiendo dejarlo igual que la casilla anterior, en 90A

LIMIT DC CURRENT
Este campo es responsable de limitar la corriente de DC cuando el voltaje de la batería cae por debajo del valor “DC LIMIT CURRENT VOLT”
Yo recomiendo establecerlo no mucho mas allá de los 25A, puesto que si le damos mas es posible que al acelerar el voltaje caiga por debajo de los umbrales permitidos por la batería y nos corte la corriente.
Si le damos menos nos encontramos con que en llano no llega a 40km/h y cuesta arriba no podremos subir ninguna cuest que tenga una pendiente de unos 20 o 30º, mientras que en 25A sube cuestas de 30º sin mucha dificultad (unos 25 o 30 km/h)

RATED PHASE CURRENT
Esta configuración es de acuerdo con el tipo de controlador; Por ejemplo: la configuración 72250 es sobre 250A; SVMC72150  la configuración es sobre 150A; el ajuste SVMC72100 es de aproximadamente 100A; El ajuste SVMC7280 es de aproximadamente 80A; SVMC7260 el ajuste es de aproximadamente 60A; La configuración de SVMC7245 es no más de 50A

MAX PHASE CURRENT
Cuando el acelerador está en la posición máxima, el controlador entregara la corriente de fase máxima. Esta configuración es de acuerdo con el tipo de controlador; Por ejemplo: 72250 ajuste es no mayor que 550A; la configuración de SVMC72150 no es más que 350A; la configuración de SVMC72100 no es más que
250A; La configuración de SVMC7280 no es más que 200A; La configuración de SVMC7260 no es más que 175A; La configuración de SVMC7245 no es más que
140A

Para motores de 5000W se sugiere corriente de fase máxima entre 196 y 245A en la version 3 de motor. En 350A la moto al pillar un bache acelerando a fondo se apagaba. Ya no lo hace porque tiene algo menos de nervio.
Recomiendo un valor de 320A.

PROTECTED PHASE CURRENT
El controlador dejará de funcionar cuando detectar la corriente de fase real excede el ajuste esa configuración es de acuerdo con el tipo de controlador;
Por ejemplo: 72250 ajuste  no mayor que 650A; la configuración SVMC72150 no es más que 450A; la configuración SVMC72100 no es más que 300A; La configuración de SVMC7280 no es más que 250A; La configuración de SVMC7260 no es más que 225A; La configuración de SVMC7245 no es más que 175A


En la pestaña "TEMP" tenemos los siguientes apartados:


UNWORK TEMPERATURE
Cuando la temperatura del controlador excede el valor, cortará los pulsos al motor y dejará de funcionar. El fabricante recomienda calores alrededor de 90ºC, debería ser más pequeño de 100
Valor recomendado por defecto: 90


REWORK TEMPERATURE
Cuando  controlador entra en modo de protección por temperatura el controlador funcionará de forma limitada hasta que la temperatura esté bajo el valor que aquí se especifica. Se recomienda alrededor de 80, debería ser más pequeño que la temperatura de corte en UNWORK TEMPERATURE

LIMITED CURRENT TEMPERATURE
Cuando la temperatura del controlador excede el valor, limitará la salida de corriente, y el par motor será limitado. Recomendamos alrededor de 70, debe ser más pequeño que la temperatura de REWORK TEMPERATURE


En la pestaña "FUNC" tenemos los siguientes apartados:



ELECTRIC BRAKE DESABLE OR ENABLE
Si habilita el freno eléctrico, cuando el interruptor del freno se activa, el freno electrónico intenta frenar el motor en marcha y cargar la batería. Si desactiva el freno eléctrico, cuando el interruptor del freno se activa, el controlador solo cierra el salida pwm y deja que el motor decelere por sí mismo
Recomiendo tenerlo activado para cargar la batería al frenar y para no gastar pastillas ni discos.

ELECTRIC BRAKE PH CURRENT
Establece la fuerza del freno electrónico, se basa en el peso de la motocicleta y la sensación del conductor. Cuanto mayor sea el valor, más fuerte será el efecto de freno. El fabricante recomienda alrededor de 50A, no debería exceder la corriente de fase máxima.

Según la página de CATL, la batería tiene un ratio de carga maxima de 1,5C, por lo que puede ser cargada de forma continua a 78A. Otros compañeros tiene la pusa configrada a 60A. Aún así, la moto dispone de un fusible de 50A en el interior de la batería en la zona de carga, si llegásemos a dicha corriente nos podría dejar tirados en la carretera al fundir el fusible.
Valor recomendado: 45A (máximo)

BOOST/ 3 SPD
Si el controlador funciona en modo velocidad limitada (Distintos modos de conducción), pertenecerá a uno de los conjuntos de este desplegable, (De fábrica la Lipo70 tiene puenteado el cable rosa con tierra, lo que significa según manual que está configurada para alta velocidad)

Puede estar en:
BOOST: Si se presiona y mantiene presionado el botón de cambio de velocidad durante más de 2 segundos se utilizará el durante 3 segundos aproximadamente el voltaje definido en el apartado BOOST DC CURRENT (“Max dc current” en otros programas)

3 SPEED (BUTTON): Si está en este modo la controladora espera que usemos un pulsador para cambiar de velocidad, así que si presionas durante al menos 1 segundo y sueltas el pulsador la controladora cambiará de velocidad de acuerdo a la siguiente secuencia: 3-2-1-2-3-2-1.....

3 SPEED (SWITCH): Si está en este modo la controladora espera que estés usando un selector de velocidades y funcionará de acuerdo a la velocidad seleccionada en el selector

BOOST START: Con este modo se prescinde de botón  para el modo boost. Se aplicará el modo boost cuando se salga desde 0 RPM y durará unos 3 segundos aprox.

CRUISE
Activa o desactiva el control de crucero. No tenemos botón para ello así que veo una estupidez que esté activado.

REVERSE SPEED LIMIT (ESTE VALOR SE LLAMA “REVERSE CURRENT LIMIT” EN OTROS PROGRAMAS
Limite la velocidad en modo inverso. No limita el par inverso. Rango de valores: 0 ~ 100%
Nota: Según el software instalable hablamos de porcentaje, mientras que en la versión "SabVoton Motor Controller V2.0 (with bluetooth)" se trata este valor como Amperios, me cuadra más que se traten de amperios.
No recomiendo que lo subáis de 12A porque marcha atrás es peligroso.

FLUX WEAKEN ENABLE OR DISABLE
Si está desactivado la velocidad máxima se reducirá aproximadamente 10 ~ 15% y extenderá el kilometraje máximo mucho.
Si está habilitado, la velocidad máxima y la máxima corriente disipativa se mejorará aproximadamente 10 ~ 15% t
El conjunto de fábrica está habilitado pero en las lipo está desactivado por EFUN
No recomiendo activarlo, no son motos de carrera y no merece la pena sacrificar kilómetros por velocidad punta, desde mi punto de vista claro.

FLUX WEAKEN CURRENT
Cuando el valor es inferior a 50, mejorará la velocidad máxima con disipación económica actual, cuando el valor excede de 50, el controlador consumirá mucha más corriente para mejorar la velocidad, y la temperatura del controlador aumentará muy rápido. Rango de valores: no más de 80A, el fabricante de la controladora recomienda unos 50A.
Yo lo dejo como lo tiene EFUN, en 30A, aunque si no está activa la opción de arriba este valor no sirve para nada.

REVERSE CURRENT LIMIT (ESTE VALOR SE LLAMA “REVERSE SPEED LIMIT” EN OTROS PROGRAMAS)
Este valor establece la corriente máxima que se ejerce para ir marcha atrás. Con 10A que venía de fábrica lo veo demasiado flojo de fuerza, con 15 era muy bestia para mi gusto. Así que lo dejé en 12. EN LA VERSIÓN INSTALADA POR DEFECTO DEL SOFTWARE LO TRATAN COMO PORCENTAJE DE VELOCIDAD Y NO COMO AMPERIOS.

REGENERATIVE CHARGE
Si se habilita, el controlador reducirá con motor cuando suelte el acelerador. Si está deshabilitado, el controlador solo cierra la salida pwm  y deja que el motor baje la velocidad cuando se suelta el acelerador.

SLIDE REGENERATIVE CHARGE CURRENT
El valor es válido solo cuando el regenerativo está habilitado. El valor decide la fuerza para frenar el Motor cuando soltamos el acelerador. Se basa en el peso de la motocicleta, motor velocidad y sensación del conductor. Rango: 0A ~ corriente de fase máxima, el fabricante de la controladora recomienda 50A.

Según la página de CATL, la batería tiene un ratio de carga maxima de 1,5C, por lo que puede ser cargada de forma continua a 78A. Otros compañeros tiene la pusa configrada a 60A. Aún así, la moto dispone de un fusible de 50A en el interior de la batería en la zona de carga, si llegásemos a dicha corriente nos podría dejar tirados en la carretera al fundir el fusible.
Valor recomendado: 15A (no recomiendo ponerlo muy alto, porque si en mojado y en curva soltamos el acelerador la rueda trasera se frenaría mucho y podría patinar como si estuviésemos frenando con la maneta de freno....)

SLIDE REGENERATIVE CHARGE SPEED
El valor es válido solo cuando el regenerativo está habilitado. Cuando la velocidad del motor excede el valor, el controlador frenará el motor. Si la velocidad está por debajo del valor, el controlador dejará de frenar el motor. Rango: 1 ~ 1000rpm, recomendamos 10
Yo lo tengo puesto en 20RPM, el motivo es que no quiero que la moto se retenga al bajar pequeñas pendienes o al empujarla..... este valor está muy bien si solo queremos hacer que la moto se frene a partir de cierta velocidad, pero cuidado, tened en cuenta de que cuando baje de dicha velocidad la moto dejará de frenarse y la sensación será distinta, como de mas ligera....


En la pestaña "THROTTLE" tenemos los siguientes apartados:



THROTTLE MIN VOLT
Significa voltaje mínimo válido del acelerador, solo si el voltaje real del acelerador es más alto que este valor, el controlador generará pwm. ¿Cómo establecer el valor? Debe ser 0.3 ~ 0.5V más alto que el valor del acelerador en la interfaz al soltar el acelerador.

THROTTLE MAX VOLT
Debe ser 0.3 ~ 0.5V más bajo que el valor del acelerador en el interfaz cuando el acelerador está en la posición máxima.

ACCELERATE TIME
Si la dirección del motor es 0.
Cuanto más pequeño es el tiempo de aceleración, más rápido se acelera
Si la dirección del motor es 1.
Cuanto más pequeño es el tiempo de aceleración, más rápido se desacelera
Rango de valores: 10 ~ 800
Por defecto está en 200ms.

DECELERATE TIME
Si la dirección del motor es 0.
Cuanto más pequeño es el tiempo de desaceleración, más rápido se desacelera
Si la dirección del motor es 1.
Cuanto más pequeño es el tiempo de desaceleración, más rápido se acelera
Rango de valores: 10 ~ 800
Por defecto está en 300ms

THROTTLE MID VOLT
Voltaje medio del acelerador.
Rango de valores: 2.0~2.5V
Según mis cálculos, la zona media del acelerador estaría comprendida entre el valor mínimo para acelerar y e valor máximo del acelerador.
De todas formas lo dejo como viene de fábrica: 2.80V

THROTTLE MIDDLE PHASE CURRENT CURRENT
Corriente de la fase media del acelerador. El valor distribuye el valor actual de la fase de salida. Cuanto mayor es la corriente media, mayor es el par de salida en la primera mitad/tramo del acelerador. Y viceversa. Rango de valores: 1/3 ~ 2/3 de corriente de fase máxima
Lo dejo como está de fábrica: 131A

THROTTLE MID CURRENT

Nota importante: ESTE VALOR PARECE ESTAR SIENDO CAPTURADO POR EL PROGRAMA INSTALABLE DE FORMA ERRONEA, MEJOR USAR LA VERSIÓN “SabVoton Motor Controller V2.0 (with bluetooth).exe” en el valor de "THROTTLE MIDDLE PHASE CURRENT CURRENT" del apartado anterior.


En la pestaña "MOTOR" tenemos los siguientes apartados:


MOTOR DIRECTION
Solo se puede establecer 0 o 1. Se usa para cambiar la dirección del giro del motor
Por defecto en "0"

MOTOR PN
Según los pares de polos reales del motor. Al parecer los pares de polos del motor son 28.

SPEED LIMIT MODE SELECT

  • Conjunto interno: la velocidad máxima se limitará de acuerdo con la "Velocidad límite del motor establecida"
  • Conjunto externo: si el interruptor de límite de velocidad externo es válido, la velocidad máxima se limitará de acuerdo con el "límite del motor velocidad establecida.
  • "Sin límite: la velocidad se limitará según la marcha en modo 3 spd. 

Nota: Para usar el modo 3 spd, "sin límite" debe ser seleccionado

Por defecto está en "Sin límite"

MOTOR LIMIT SPEED SET
Velocidad límite del motor si se establece el conjunto interno de velocidad limitada en el apartado "Speed limit mode Select"

LOW SPEED SET
En el modo 3 spd (3 velocidades), la velocidad baja será limitada de acuerdo con este porcentaje.

MIDDLE SPEED SET
En el modo 3 spd (3 velocidades), la velocidad media será limitada de acuerdo con este porcentaje.


En la pestaña "DEBUG" tenemos los siguientes apartados:



CURRENT LOOP KP
Según el fabricante, si el conductor siente temblores, tal vez se puede modificar el valor para intentar corregirlo. En general, para un motor de cubo de 10 pulgadas, use 1000, otro tipo de motor uso 300
Está en 300 de fábrica. No lo he tocado.

TEST GIVEN CURRENT
Este valor en Amperios es para hacer girar la rueda en modo test para hacer el cálculo del angulo Hall.
Rango de valores: 10 ~ 30A, generalmente usa 15A para hacer prueba. Si el motor con gran fuerza de reluctancia, solo mejora el valor para hacerlo girar Eventualmente
Yo he probado a hacer la prueba con valores pequeños pero si la rueda tiene rozamiento con los discos puede temblar un poco y no obtendremos un buen resultado. Para obtener mas firmeza en el movimiento he usado normalmente 45A.

CONTROL MODE
Modo normal (normal run) o modo de prueba de de sensor de ángulo (Angle test)

HALL ANGLE TEST
Cuando le de a ejecutar, usará el valor “TEST GIVEN CURRENT” y ejecutará el test de ángulo.
Debe de estar previamente en modo "Angle test" en el apartado "Control mode"

HALL ANGLE
Cuando la interfaz principal indique prueba de ángulo de giro correcto, el ángulo de giro se actualizará después de cambiar a otra pestaña y luego al volver a la pestaña BEBUG. Si conocemos el ángulo del sensor en avance, ingrese el ángulo directamente sin hacer la prueba de ángulo.
De fábrica está en 73 (en mi caso) y tras hacer el test se queda en 64. Según el fabricante el ángulo de giro para mi motor es de 60º

RESET FACTORY SETTING
Si ejecuta el comando, el controlador usará la configuración de fábrica.
Cuidado con esto.

PARAMETER STORE
Si ejecuta el comando, todos los parámetros que haya cambiado se guardarán después del siguiente encendido. Es decir, le dais a OK, esperáis unos segundos y apagamos y encendemos la moto para que los cambios surjan efecto.



Aclaración: Cuando ajustéis un valor de cualquier campo tenéis que dar al OK que está justo a su derecha para que el sofware memorice ese valor en la cola de modificaciones. 

Cuando ya lo hayáis configurado todo, vais a la pestaña "Debug" y presionáis sobre la opción "Parameter Store", esperáis unos segundos, y apagáis y encendéis la moto para que los cambios se hagan efectivos.


En la tabla que tenéis compartida mas arriba podréis ver el orden en el que aparecen los datos, los parámetros que aparecen en cada pestaña, las unidades que maneja, el rango modificable, el valor de fábrica y el valor que yo he dado como óptimo. Fijáos muy bien en el apartado "MQCON Versión instalada por defecto" y el valor "SabVoton Motor Controller V2.0 (with bluetooth).exe " ya que indican con que programas se pueden editar dichas opciones. Procurad hacedlo todo con el programa adecuado ya que parece que alguna versión de software no captura bien los datos y los parametriza en casillas distintas.


Un saludo y cualquier cosa podéis comentarlo.