viernes, 31 de octubre de 2014

Arduino - Hack CAN transceiver TJA1041

En algun momento cuando me compre un stereo doble DIN para mi autito, me venia con una interface CAN o decoder CAN el cual no me funciono por traer un uC STM32 con un programa para OPEL por el cual practicamente despues de mi calentura y recablear todo el stereo y el comando del volante la saque y la deje de lado al no necesitarla la desarme un par de veces pero ni mu, con el tiempo y lleyendo un poco, estaba perdido no entendia nada recurri a la wiki no esta del todo claro para mi pero a partir del 2000 los autos vienen con canbus pero en mi caso no es tan asi..

BUS CAN
http://es.wikipedia.org/wiki/Bus_CAN

de los cuales me entere que es un protocolo automotriz de capa fisica y de enlace de datos, para conectar la ECU a los diferentes sensores actualmente compre un scaner OBD2 y un shield CAN basado en un chip de conversion serie a CAN para arduino, pero dos horas despues me arrepenti jeje ya que desarme la cajita marron por curiosidad y me encontre algo interesante si buscando los datasheet de los chip solo por curiosidad como siempre me encontre el santo grial jeje....












los datasheet son muy importantes para nuestros hack o mod de equipos sin uso alguno ,de los cuales anote y saque datos importantes y me muestran hasta la conexion a un uC.

STM32 - un microcontrolador donde se encuentran seguramente las librerias CAN y vaya a saber que cosa mas de OPEL el cual no reconocia el comando del volante :)

TJA1041 - High speed CAN transceiver
cuando lei esto baje el datasheet y me arrepenti de comprar el shield para arduino pero ya era tarde y esta muy verde esto.

Resumen del datasheet en PDF TJA1041




Pasos para armar nuestro proyecto

1)desarmar cajita un par de tornillos
2)desoldar o con una pistola de calor calentar solo el borde de los pines ya que es SMD sin pines
3)cortar de una tira de pines seis de cada lado poner en una placa experimental y soldar
4)armar el esquema de conexion sacado desde el datasheet
5)conectarlo al auto para obtener los datos en CAN y pasarlo al arduino (no esta probado aun)

6)Para que me sirve esto(no probado aun)

ECU <--------->sensor1<------------->sensorN
              |
              |<--12v CAN H CAN L---->shield CAN <--ttl 5vcc-> arduino ---->LCD
              |--->sacar datos por i2c al arduino a un nuevo disply

En mi caso quiero reemplazar una pantalla amarilla y vieja por una TFT y mostrar mas datos como fallas mas amplias voltajes de baterias etc.....
















Pines a conectar a arduino




1 RX
2 EN
3 STB
4 ERR
5 TX
6 GND
7Vol Bateria 12V
8 wake
9 5 vcc
10 INH
11 CAN L
12 CAN H

Bueno y ahora que saque en claro bueno en mi caso mi auto tiene

mandos del volante tipo: resistivos --->divisor de tension conectado al stereo y fue
TID o MID : usa protocolo I2C (SDA - SDL MRQ)
stereo nuevo salida -->CANBUS (CAN-H CAN-L)

Idea reemplazar la TID o MID con un uC y LCD I2C usar el chip para sacar datos de can a uart como info de volumen y musica con arduino....

 aun no esta claro porque en mi caso solo tengo que reemplazar el display TID no quiero reprogramarlo hay unos tutos muy bueno alemanes.

ECU -->> I2C Display TID (protocolo Triple Informatin Display)

tb del OBD podemos sacar canbus -->USART -->arduino +display

o arduino mas display..



Libreria TID para enviar datos a la TID o MID a traves de I2C

MPGUINO reemplazo de la TID o MID

ya armare algooo...

Sldos..

 Sldos...

miércoles, 29 de octubre de 2014

Arduino - Hack Sony Ericsson T290

Bueno me encontre en un par de blog el uso muy interesante de celulares viejos, puede llegar a ser una herramienta muy potente para automatizacion por lo que tenemos la opcion de enviar y recibir  mensajes y llamadas desde un arduino lo que seria un shiel celular gpr con sim :) en este caso las pruebas fueron realizadas con un sony ericcson T290a que tenia guardado y las pruebas fueron satisfactorias cosas a tener en cuenta hay mucha informacion desentralizada y poco clara, despues de varios intentos me di cuenta de algo muy sencillo primero buscar el PINOUT para la comunicacion.

una pagina muy importante para hackeos hardware es pinout.ru mucha info de pines y fichas :)
 
Pinout.RU



Celular SE T290a - (TTL a 3.3 vcc muy importante saberlo)
Pin 4 TX
Pin 5 RX
Pin 10 GND - del cargador lo tomo como referencia.
pin + alim bateria
pin - alim bateria

en cuanto a la alimentacion para conectarlo directamente a los 5VCC de arduino se puede hacer pero hay que hacer unas modificaciones con respecto al consumo, una ves desarmado el celular en mi caso no tenia bateria por lo cual hay que soldar un par de cables al conector de la bateria, cuando arranca el consumia casi es de 400 mA el cual al conectar al arduino bajaba la corriente y lo desconectaba, asi que se me ocurrio quitar el parlante ya que al inicio arrancaba con musica, hecho esto el consuma bajo a 150 mA aprox. lo conecte a arduino para las pruebas y andubo perfecto planeo alimentarlo desde otra fuente por seguridad.












En cuanto a como hacemos para que envie mensajes, usando los comandos AT reconocidos por los modem ya sea celular - GPS - bluetooth , etc.
En este caso utilize un arduino, se puede usar cualquier microcontrolador openHardware, lo importante y nadie menciona son los niveles de tension en la comunicacion es TTL serie:

* arduino a 5 vcc TTL
* cel SE T290a 3.3 vcc TTL

por lo que en la parte electronica podemos hacer varias cosas

1)A la salida del pin de TR del arduino a 5 vcc lo bajamos a 3.3 o 2.7 vcc con una resistencia o potenciometro hasta 60kohm el cual andubo bien
solo podriamos transmitir datos desde el arduino 5 vcc a el cel 3.3 vcc de manera economica.

arduino TX ------>50kohm-------> cel 3.3 vcc



2)Un problema que note en varios codigos y post es la respuesta del cel o sea si quiero leer no pasa nada y era evidente despues de mirar y mirar que el pin que usemos como RX en arduino funciona a 5 vcc no 3.3 vcc que es lo que entrega el cel... o sea que hago ??
lo que podemos armar es un conversor TTL con dos transistores o comprar un conversor TTL 5 vcc a 3.3 vcc y viceversa por 40ARS$ jeje













con esto ya tendriamos comunicacion bi direccional:

Arduino 5 vcc <---> logic converter <--->cel 3.3vcc

depende si solo queremos enviar comandos AT al celular usamos la resistencia y fue pero si queremos sacar datos del modem GPS etc nos conviene el conversor logico TTL no es dificil hacerlo pero tiene un costo minimo y ya esta armado :)
en cuanto al software pueden usar directamente el serial o la libreria softwareserial y elegir los pines soportados ya depende del uC cantidad de puertos serie y dsipositivos a conectar.








este codigo solo modifica la fecha y la hora pero es el principio podemos mandar mensajes a nuestro celular con android y monitorizar  nuestro hogar, auto, novia , esposa lo que sea jeje


imaginen:

cel android    --->>> cel viejito abandonado y sin uso -->arduino mega o mini -> sensor de gas metano o monoxido en nuestro hogar

cel android --->>> cel viejito abandonado y sin uso -->arduino mega o mini -> control de luces del hogar


yo quiero armar una sonda metereologica por eso arranque con esto algo vamos avanzando.....

AT
AT+CCLK="formato de fecha"


Sldos...