Blog interesantísimo: JCEngineer!

Publicado en General.
Tags: , , ,

Hola a todos!!! hace ya mucho tiempo que no transito por estos lugares… por suerte o por desgracia, el trabajo, familia y amigos ocupan casi la totalidad de mi tiempo, sin embargo, en este caso he hecho un hueco para compartir con vosotros un blog de un compañero de la universidad, que a mi parecer, resulta muy interesante.

Blog de Juan Carlos: JCEngineer

Lo que me ha gustado, además de su excelente trabajo, es que ha realizado proyectos con ArCan, tiene vídeos ilustrativos muy interesantes y que recomiendo ver.

Entre los vídeos, vemos una presentación de ArCan, me ha encantado!!!




Si nos adentramos en su web, podremos ver como con ayuda de ArCan ha realizado un sistema de diagnosis para el automóvil, en serio, merece la pena verlo. Buen trabajo Juan Carlos!!!

Espero que os resulte tan interesante como a mi, hasta pronto!

Comentarios (0) Mar 12 2014


Usar interrupciones con Arduino.

Publicado en General.

Me he enterado de que en Arduino habían incluido el uso de interrupciones de una forma bastante sencilla.

Arduino, tiene dos fuentes de interrupciones externas, los pines 2 y 3. Eso quiere decir que al producirse un evento(configurable) en alguno de estos pines, se interrumpirá al Atmega y se ejecutará el código asociado a esa interrupción.

Para declarar una interrupción lo haremos en el cuerpo del setup, de la siguiente forma:

/* attachInterrupt(A, B, C)
* A   can be either 0 or 1 for interrupts on pin 2 or 3.
*
* B   Name of a function you want to execute while
* in interrupt A.
*
* C   Trigger mode of the interrupt pin. can be:
*             LOW        a low level trigger
*             CHANGE     a change in level trigger
*             RISING     a rising edge of a level trigger
*             FALLING    a falling edge of a level trigger
*
* In all but the IDLE sleep modes only LOW can be used.
*/

Por ejemplo,

attachInterrupt(0, ArCanInterrupt, FALLING);

El primer parámetro define el uso de la interrupción 0, la que está en el Pin 2. Cuando en el Pin 2 se detecta un flanco de bajada(3º parámetro), es decir, pasa de 1 a 0, entonces ejecutará el código que definamos en ArCanInterrupt().

Por ejemplo,

void ArCanInterrupt()
{
//Almacenamos el mensaje en el buffer_rx
ArCan.get_message_rx_buffer()
}

En las próxima versión de la librería estará incluido el uso de interrupciones.

Consejo: El código que se ejecuta en una interrupción debe ser lo más rápido posible.

Comentarios (0) Mar 15 2011


Interrupciones!

Publicado en General.

El mcp2515, el CanController que monta ArCan, tiene un buffer interno con capacidad para alojar 2 mensajes CAN, si nuestro programa fuera muy lento en ir recogiendo esos mensajes, llegaría un punto en el que empezaríamos a perderlos. Así que solo tenemos dos alternativas, hacer programas muy rápidos, que no siempre será posible, o usar interrupciones.

¿Qué es eso de interrupciones? Una interrupción, como su propio nombre indica, significa eso, interrumpir, sacar al micro de lo que está haciendo y obligarle a atender un evento nuevo, es decir, a procesar la interrupción. Una vez que ha terminado, volverá al punto en el que estaba antes de producirse dicha interrupción como si no hubiese pasado nada.

¿Qué mejora aporta el uso de interrupciones en ArCan? Antes, si llegaban mensajes muy rápidos era posible perder algunos, sin embargo, con el uso de interrupciones lo que podemos hacer es que siempre que llegue un mensaje lo almacenamos en un buffer, así no dejamos que se sature el buffer interno del mcp2515, y cuando podamos los iremos procesando. De esta forma es prácticamente imposible que perdamos información.

Voy a estudiar la forma de usarlas con ArCan… en breve os daré noticias, estad atentos!

Comentarios (0) Mar 13 2011


Librería v1.10

Publicado en General.

Estoy retomando el proyecto, una vez más… y estoy reescribiendo el código de la librería. Me estoy basando en la v1.10 que había publicado hace bastante tiempo.

He estado navegando por mi propio blog y veo que en su momento subí está versión de la librería, mencionando solo la mejora para elegir la velocidad del bus, pero esta no es la única modificación que tiene implementada, la 1.10 tiene cambios sustanciales, no solo es el hecho de poder elegir la velocidad, esta librería tiene la estructura para trabajar usando interrupciones, en lugar de un polling al pin 9, ArCan_INT.

Esta versión es beta y no está probada correctamente por lo que desaconsejo su uso, la mejor opción es basarse en la versión 1.00, que está bastante probada y funciona.

Durante los próximos días estaré trabajando sobre el código de ArCan, podéis seguir los cambios a través de la página del proyecto alojada en Sourceforge, además, por su puesto, desde el blog, donde os mantendré informado.

Un saludo y perdonar las molestias.

Comentarios (0) Mar 12 2011


Nuevo esquemático de ArCan

Publicado en General.

Bueno, tal y como dije estoy trabajando en la nueva versión del Shield, además de alguna que otra sopresa más XD.

Podeis bajaros el Esquemático de ArCan V2.

Los cambios que he realizado son sencillos, y están explicados en el post anterior, además de lo que ya había dicho he decidido añadir un transceiver 485 que nunca está demás. Además esta nueva versión será un poco más económica ya que he eliminado los conectores atornillables que encarecían cada placa unos 4€. Además la shield será algo más chica y supongo que eso también podría abaratar costes.

Otra novedad importante, por sugerencia de IgorR, es el TVS para proteger el circuito de posibles picos en las líneas CAN.

No se si debería añadirle alguna cosilla más, como ya sabeis ha aparecido un competidor a ArCan,  SK Pung. Tiene algunas cosas que para mí son superfluas, pero dependiendo el usuario podría ser determinista. Me gustaría plantearos antes de fabicar la nueva versión varias questiones.

  1. ¿Veis importante el conector para la microSD?
  2. ¿Os parece interesante el conector para el GPS?
  3. ¿Que conector preferiís, DB9 o atornillables?
  4. ¿Os resulta interesante la salida para el display, y el joystick?

Además de todo lo escrito, si teneis alguna sugerencia ruego que participeis en el desarrollo de esta nueva versión del shield.

Comentarios (7) Jul 06 2010


Vídeo para la I ArduinoBarCamp (Medialabs)

Publicado en General.

El Viernes pasado se hizo la primera BarCamp en Medialabs Madrid. Toda la información del evento está recogida en http://arduinobarcamp.jottit.com/ y también podéis ver el hilo en el foro de Arduino.

CoLe me convenció para preparar un video presentando ArCan en la BarCamp, aunque el tiempo estaba muy justo conseguí hacer algo, no con el acabado que me gustaría, pero bueno, espero que os sirva para conocer un poco mejor el proyecto.

Si tenéis alguna duda preguntadme ^^.

PD: El programita del PC está hecho con LabWindows CVI, se que no es gratuito, pero en su momento fue la opción más rápida y sencilla. Ahora estoy aprendiendo Java, así que es posible que rehaga la aplicación para poder compartirla con todos vosotros.

Comentarios (0) Jul 06 2010


De vuelta al trabajo.

Publicado en General.

Hola de nuevo a todos, quería daros la noticia de que he retomado con nuevas fuerzas y entusiasmo el proyecto :). Desde que empecé a comercializarlo, no se cuanto tiempo hace ^^, he vendido un total de 75 unidades, tanto a terreno nacional como importando a países de la Unión Europea, por ejemplo, Rusia, Italia, Inglaterra… Cuando me disponía a fabricar nuevas unidades me replanteé un poco el diseño y he realizado algunos cambios:

  • El cristal lo he cambiado a 20MHz, para conseguir llegar a velocidades CAN de 1Mbs.
  • Los leds que señalizan el estado de los bufferes de recepción los he invertido, antes estaban siempre encendidos y se apagaban cuando tenían un mensaje almacenado. Esto generaba un consumo extra innecesario.
  • Al transceiver, MCP2551, le he cambiado de encapsulado, ahora uso SMD, que es más rápido y barato para el montaje.

Además de los cambios Hardware estoy preparándome para los software 🙂

  • He instalado un servidor Sub-Version en casa para poder llevar un mejor control de la librería y poder mejorarla, sin perder nunca versiones anteriores y facilitándome la búsqueda de posibles fallos. Además si alguien se incorporase algún día al proyecto un control de versiones sería absolutamente necesario, así que ese camino que llevamos andado.
  • Estoy empezando a desarrollar todo usando Eclipse, facilita mucho el trabajo a nivel de librerías para Arduino y ya puesto también es bastante cómodo para crear aplicaciones. He creado un tutorial para el que le interese el tema Arduino+Eclipse. Además usando Eclipse es muy cómodo para trabajar con el Sub-Version.

La idea general es darle una repasada a la librería y buscarle alguna vuelta de tuerca para hacerla más fácil y cómoda para los usuarios. Además para empezar publicaré algunos ejemplos prácticos usando la librería para facilitar en la medida de lo posible su comprensión.

Para terminar dar la noticia que tengo pedido el conector OBD, espero que antes del verano tengamos a Arduino+ArCan sacando estadísticas del coche :).

Tengo algunas preguntas para todos los usuarios,

  1. ¿ Veis importante los conectores atornillables ? si, los que están al borde de la PCB
  2. ¿ Pensáis que sería mejora cambiar el conector CAN por un DB9 o algún otro tipo de conector ?
  3. ¿ Queris sugerir algún cambio en el diseño ? ahora es el momento 🙂

Participar todos y contribuir al proyecto ArCan.

Comentarios (0) Jun 30 2010


Nuevos ejemplos!

Publicado en General.

En la sección de descarga tenéis a vuestra disposición un par de ejemplos de uso de la librería por sugerencia de nervix, si tenéis alguna duda, ya sabéis, a comentar! XD

www.arcanplanet.es/descargas/Ejemplo.rar
www.arcanplanet.es/descargas/Panel_Prueba_Funcionando.rar

Un saludo!

Comentarios (0) Mar 01 2010


Elige velocidad en ArCan!

Publicado en General.

Llevo un tiempo queriendo implementar esta mejora, pero entre unas cosas y otras no he podido. Tan solo he añadido la posibilidad de inicializar ArCan eligiendo una de las 3 velocidades que he implementado,, 125Kbps, 250Kbps y 500Kbps, pero os contaré como lo he hecho por si estáis interesado en alguna otra para vuestra aplicación específica.

Lo primero que debéis conocer es que los registros específicos que se encargan de la velocidad son el CNF1,CNF2 y CNF3, el cálculo en sí es algo complejo y tedioso, es por este motivo que existe un pequeño programita, MBTime, que nos dará los valores correctos que debemos configurar en nuestros registros, lo podéis descargar desde http://www.intrepidsupport.com/mbtime.htm.

El MBTime es muy sencillo de usar, tan solo tenemos que poner la frecuencia del oscilador del MCP2515, en nuestro caso 8MHz y la velocidad que queréis en el bus CAN. Cuando le demos a Generate Report, nos da un informe donde al final vienen los valores de los 3 registros ya mencionados.

En la nueva librería, en la línea 134, encontramos la parte del código donde se configuran los registros CNFx, añadir los valores que deseéis respetando la estructura y listo.

Para que estos cambios tengan efecto hay que recompilar la librería, este paso también es sencillo, en el directorio donde tengáis instalado la aplicación de Arduino, en /hardware/libraries/ArCan debéis borrar el archivo “arcan.o”, luego cargáis de nuevo la aplicación de Arduino y podréis verificar que se ha generado otra vez, pero en este caso ya tiene las modificaciones hechas.

Podéis descargar la nueva versión desde el link ArCan_v110

Un saludo ArCanianos!

Comentarios (2) Nov 13 2009


Estrenamos sitio, www.arcanplanet.es :)

Publicado en General.

Ya está prácticamente acabado el nuevo portal, ArCan Planet, www.arcanplanet.es, espero que sea de vuestro agrado 🙂 . Si tenéis algún problema con el nuevo sitio ruego me lo comentéis.

En él continuaré los contenidos “extras” de ArCan, mejoras e ideas, aunque todas las noticias importantes sobre ArCan serán publicadas en este blog.

También aprovecho para decir que he montado una tienda online en www.arcanplanet.es, podéis acceder a través de este enlace. En ella tendréis a vuestra disposición todos los productos que se vayan creando en el portal. Actualmente solo está disponible la versión completa de ArCan. Para usar la tienda es necesario registrarse en la web. Los métodos de pago son transferencia bancaria y paypal.

En los próximos días espero inaugurar un foro en el que podamos intercambiar opiniones.

Comentarios (0) Jul 29 2009