viernes, 21 de junio de 2019

KIT MOTOR ELECTRICO (PARTE 4): MARCOQ FIRMARE VERSION 0.3.5 BETA


Marcoq sigue haciendo grandes cosas con este motor, en este caso con su nueva versión del configurador 0.3.5 ha implatando mejoras en el firmware, mejoras tanto propias como de la versión del firmware de casainho.

En este ultimo firmware se integran los últimos cambios de casainho y compañía (endless foro) relacionados con la administración del bloqueo de las ruedas, marcoq encontro otra solución alternativa pero considero más apropiado alinearse con Endless.


Una de las mejoras es el modo eMTB, como tienen los motores de las bicicletas electricas, este mood combina el sensor de torque con una cadencia especificada.


El modo eMTB solo funciona con el nivel de asistencia 3, su peculiaridad es "permitir el paso dinamico" desde el nivel de asistencia 2 (TOUR) al nivel de asistencia 4 (TURBO). 

Es posible configurar el valor de cadencia del pedaleo "Cadence for eMTB Max Power" para el cual se requiere asistencia máxima (pero siempre de acuerdo con la presión ejercida sobre los pedales). 

En cuanto a las funciones Offroad / Street y Boost, es posible habilitar y deshabilitar la función eMTB a través de las pantallas OEM, usando el mismo procedimiento pero solo cuando se selecciona el nivel de asistencia 3 (E02 = eMTB habilitado, E01 = eMTB deshabilitado). 

En cuanto a la función Street, cuando se arranca el motor, es posible habilitar la función eMTB de manera predeterminada y cambiar al modo SPORT simplemente realizando el procedimiento mencionado anteriormente (con el nivel 3 seleccionado). 

La implementación de Pas and Soft Start permite un inicio "suave" dentro de un tiempo definido en el campo "Rampa de tiempo de inicio suave", donde el tiempo se expresa en décimas de segundo (30 = 3 segundos). 

Al presionar el botón "Tbl" en el configurador, se abrirá una hoja de Excel en la que podrá evaluar la "pendiente de la rampa" según el parámetro "Factor de arranque suave K" (predeterminado = 0.990), cuanto más alto sea el valor, más la rampa será "lenta", poniendo 0 en Soft Start está deshabilitado.
El parámetro "Rampa de inicio suave" define el tiempo máximo de rampa, después de lo cual el sistema comienza a funcionar a plena capacidad. 

Esta función es útil cuando se comienza con altos niveles de asistencia, preservando efectivamente el desgaste del equipo "Azul". 


Se agrega la posibilidad de adaptar el firmware también a las pantallas XH18 (se apagaba el motor cuando se seleccionaba la opcion display working flag on) ... así que ahora toda la gama de OEM debería ser totalmente compatible con las nuevas implementaciones.


 
Las pantallas OEM, tal como se programaron originalmente, no pueden mostrar la misma información de codigos de eror, por lo que tuve que diferenciar los mensajes según la pantalla seleccionada en el configurador.

PANTALLAS VLCD5 y VLCD6 
errores:
SOBRETEMPERATURA -> E06 (solo si esta instalado el sensor de temperatura)
RUEDA EBIKE BLOQUEADA -> E07
SOBRETENSIÓN -> E08

funciones:
PARAMETROS POR DEFECTO -> E02 (Nivel 0)
MODO STREET HABILITADO -> E03 (Nivel 1)
MODO OFFROAD HABILITADO -> E04 (Nivel 1)
MODO BOOST HABILITADO -> E05 (Nivel 2)
MODO BOOST DESHABILITADO -> E01 (Nivel 2)
MODO EMTB HABILITADO -> E02 (Nivel 3)
MODO EMTB DESHABILITADO -> E01 (Nivel 3)

PANTALLA XH18
errores:
SOBRETEMPERATURA -> E06
RUEDA EBIKE BLOQUEADA -> E04
SOBRETENSIÓN -> E08

funciones:
PARAMETROS POR DEFECTO -> E02 (Nivel 0)
MODO STREET HABILITADO -> E02 (Nivel 1)
MODO OFFROAD HABILITADO -> E03 (Nivel 1)
MODO BOOST HABILITADO -> E03 (Nivel 2)
MODO BOOST DESHABILITADO -> E02 (Nivel 2)
MODO EMTB HABILITADO -> E03 (Nivel 3)
MODO EMTB DESHABILITADO -> E02 (Nivel 3) 

Para seleccionar cada uno de estas opciones tendremos que presionar el boton i durante 2" en cada uno de los niveles de asistencia, para la pantalla XH18 se pulsa el boton power dos veces en cada uno de los niveles.

de esta forma por ejemplo para la pantalla XH18:
  • con el nivel de asistencia 0 seleccionado:  (E02 = DEFAULT ON). Resetea todos los modos a la configuración por defecto
  • con el nivel de asistencia 1 seleccionado:  (E02 =  OFFROAD ON, E03 =  STREET ON). 
  • con el nivel de asistencia 2 seleccionado:  (E03 =  BOOST ON, E02 =  BOOST OFF). 
  • con el nivel de asistencia 3 seleccionado: (E02 = eMTB ON, E01 = eMTB OFF). 


miércoles, 19 de junio de 2019

PS3 HEN

Cuando creiamos que ya la PS3 estaba abandonada en equipo del ps3exploit nos sorprenden con un exploit nuevo, se trata del HEN ( Homebrew ENabler), un exploit para las consolas que no son de CFW.

Esta vulnerabilidad proporciona soporte para ejecutar homebrew y la posibilidad de ejecutar aplicaciones para firmwares modificados (CFW) para aquellas consolas que no pueden instalar un CFW tradicional, como son los modelos PS3 Slim y todas las consolas SuperSlim. 

Si tu consola puede instalar CFW, esta claro que esto no es para ti puesto que el CFW es mas completo que lo que podrias conseguir con ese exploit.

que es lo mas importante que nos permite hacer esta vulnerabilidad:

  • HAN Enabled por defecto!
  • webMAN MOD, multiman integrado en el sistema, posibilidad de gestionar los backups desde el menu XMB....
  • Control ajustable de potencia del ventilador segun temperatura, manual o por sistema...integrado en webMAN
  • Posibilidad de usar FTP para intercambio de archivos PC-PS3...integrado en webMAN
  • Hybrid Firmware Tools (herramientas como las de un CFW pero mas limitadas)
  • Backup managers: Managunz, MULTIMAN, IRISMAN ...
  • PSNPatch y SENENABLER
  • Posibilidad de ejecutar juegos de PS2, PS1, PSP
  • Capaz de manejar archivos ISO.
  • BD/DVD parcheado todas las regiones
  • Syscall deshabilitadas para evitar baneos
  • PS3MAPI support
  • Posiblidad de instalar y gestionar archivos PKG
  • Posiblidad de autoejecutar RAPs y C00 con juegos no licenciados
  • PSN conectividad
  • Todos los procesos ejecutados tras HEN tienen permisos rwx!
Actualmente la ultima version es la 2.2.2.

Al lio, como lo instalamos...

Hay miles de tutoriales por internet, lo mas facil bajo mi punto de vista es lo siguiente:

Tener una llave USB formateada en FAT32, a partir de ahi comprobar el firmware de nuestra consola, si no es OFW 4.84, tenemos que actualizar el firmware de la consola.

  • creamos en carpeta raiz del pendrive una carpeta llamada PS3 y dentro de esta otra llamada UPDATE, y ponemos el siguiente archivo (varia para cada region) pongo el link de la europea:  FIRMWARE OFW 4.82 EU
  • copiamos el archivo descargado "PS3UPDAT.PUP" en la ruta PS3/UPDATE.
  • Insertamos la llave en la PS3 en el usb mas cercano al lector y encedemos la consola
  • Vamos al menu XMB y en Configuración seleccionamos "Actualización del sistema"

  • Luego "Actualizar desde almacenamiento USB". Aceptamos todo y dejamos que el sistema de reinicie

La consola estará actualizada a OFW 4.84.
  • Abrimos el navegador web desde la PS3, borramos cookies  y cache. Salimos del navegador y volvemos a entrar

  • Vamos a la siguiente pagina desde el navegador web:  www.ps3xploit.com/hen/installer
  • El proceso es automático y se instalara el HEN. Si algo falla, borramos cookies/cache y lo volvemos a intentar.


Reiniciamos y ya tenemos HEN en el menu XMB en juegos.



Una vez esta instalado, solo nos queda instalar en webMAN MOD.

  • Nos bajamos de internet en el PC el ultimo webMAN MOD https://github.com/aldostools/webMAN-MOD/releases) y lo ponemos en la carpeta raíz del pendrive.
  • Insertamos el Pendrive en la PS3, iniciamos el HEN, y en el menu de juegos vamos a "Package Manager/Install Package Files/Package Directory" ahí ejecutamos el archivo (webMAN_MOD_1.47.23_Installer.pkg)
  • Una vez instalado ya nos aparece como un juego mas el webMAN MOD installer lo ejecutamos pulsando L1 y manteniendolo hasta que veamos que se reinicia y aparece el logo de sistema. 
  • Ahora cada vez que ejecutemos el HEN nos va a ejecutar las opciones del webMAN MOD.
Dentro de las opciones de webMAN MOD podemos configurar el ventilador para que se active cuando queramos.





lunes, 3 de junio de 2019

KIT MOTOR ELECTRICO (PARTE 3): SENSOR TEMPERATURA


Uno de los problemas del motor TSDZ2 es que por su construcción está diseñado para utilizarse en bicicletas urbanas, no se circula durante cortos periodos de tiempo a altas revoluciones por lo que el calor generado en estas condiciones no es excesivo y se acaba disipando…
Motor Bafang con
disipador en carcasa


Por el diseño del motor y su estanqueidad, este motor no está dotado de grandes disipadores como el bafang. El motor bafang si tiene aletas que disipan el calor a modo de intercambiador con el aire, el TSDZ2 no las tiene, y además deja una amplia cámara de aire entre el motor y la carcasa, lo que no ayuda a disipar el calor…

Por este motivo casainho cambia la forma en que su firmware interpreta la señal del acelerador, y programa una funcion a modo de sensor de temperatura. Para ello usa un sensor LM35 que le da lecturas de temperatura en voltios. Con su funcion el STM8 recoge la lectura de voltios del sensor  y  los interpreta como grados. 

El LM35 es un sensor de temperatura con una precisión calibrada de 1ºC. Su rango de medición abarca desde -55 C hasta 150 C. La salida es lineal y cada grado Celsius equivale a 10 mV.

Para poder instalar el sensor, debemos separar el controlador del motor y soldarlo a la placa del mismo. No es difícil, pero si conlleva un riesgo de liarla si somos descuidados. Además es importante que nos aseguremos que no perdemos la estanqueidad del motor.

El gran "jbalattube" tiene un completo tutorial en youtube con la instalacion del sensor. Por este motivo, en su momento yo no saque muchas fotos, en este post cojo fotos del manual y mias, para que veáis que pasos hay que realizar.

Es aconsejable sacar el motor de la bicicleta, es buen momento para reengrasar los engranajes y comprobar su estado y el de los rodamientos.

PASOS: Lo primero es sacar las bielas, luego el conjunto plato y/o el adaptador para platos, son 5 tornillos allen.



A continuación quitamos la tapa por donde salen los de cables del motor. Son 2 tornillos allen.


Luego quitamos dos tornillos de estrella, con cuidado de no comerles la cabeza, es material malo…estos tornillos sujetan la parte del controlador.






Ahora viene una parte peliaguda, se trata de quitar la silicona que llevan los cables, nos podemos ayudar de un destornillador o de un cuter, con mucho cuidado de no cortar los cables. Sacamos la silicona negra, y ya podemos pasar los cables una vez quitemos la caja del controlador por el otro lado.




Del otro lado, sacamos la carcasa del motor, teniendo cuidado de no perder la junta del mismo.


A continuación tenemos que desconectar los cables de alimentación del motor, primero quitamos el prisionero, y luego los 2 cables que van conectados con clema. La clema con 2 cables del sensor de torque y la clema con los 8 cables del controlador.




Ahora ya podemos extraer la parte del controlador para trabajar la zona del sensor.

Todo el controlador está recubierto de un aislante, tipo silicona de color amarillo. Con cuidado y un cuter quitamos este aislante en la zona donde vamos a soldar.

Vamos a preparar el LM35, este tiene tres patas, tierra (GND), voltaje (Vcc) y E/S (THR). Le soldamos tres cables de colores, y luego le conectamos una clema que nos permita operar en el motor fuera de la carcasa sin retirar el sensor.


Yo preestaño siempre los cables que voy a soldar, así me  ahorro esta tarea a la hora de soldarlos a la placa, también les pongo termo retráctil para evitar cortos.



Vamos a la parte del controlador. Este es el esquema para el motor de 6 cables (sin acelerador). Con acelerador es mas fácil (8 cables) porque los cables del acelerador ya estan soldados a la placa. Sólo hay que cortarlos y empalmarlos a los del sensor:

Para el motor de 6 cables, tenemos que soldar. Retiramos la silicona que rodea los tres puntos y soldamos los cables, si tenemos flux mejor, para no dejar un pegote feo. Añadimos flux a los agujeros y soldamos los cables preestañados, los cables entran bien por los agujeros de la placa.

Aquí se ve como los he soldado yo, luego rellene silicona térmica para asegurar la estanqueidad. aunque este paso no os lo aconsejo, me di cuenta que si nos equivocamos al soldar, retirar esta silicona es complicado, yo no tengo ni idea de como sacar esta silicona térmica...




Ya solo nos queda, pegar el sensor al motor, yo utilice para ello “thermal pad” que se usa para pegar disipadores a chipset en electrónica. 
Con el thermal pad del lado de motor, se pone el chip encima, y se asegura todo con silicona especial para zonas de calor. 

Esta silicona negra también la usaremos para sellar el agujero que hemos dejado en la tapa de motor, una vez pasados los cables.


El montaje es a la inversa que el desmontaje, teniendo cuidado de asegurar bien las clemas con cinta térmica o aislante, y hay que fijarse que los cables y clemas quedan todos conectados y en su correcto orden. Asimismo todas las juntas que ahí tenemos que “untarlas” con grasa o vaselina que no afecte a las juntas.

A la hora de montar la última carcasa, donde hemos quitado la silicona negra, tenemos que rellenar ese agujero otra vez con silicona para asegurar la estanqueidad del motor.

Para configurar todo con el firmware de marcoq (sino no tiene sentido nada de esto), tenemos que activar la pestaña en el configurador java y seleccionar la temperatura mínima y máxima. En la mínima el firmware limita el motor y en la máxima lo apaga.



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.