88
CAN Tester Prueba, Repara, Analiza, Mapea, Simula y Desentraña Tu Red Rodante Placa Linux V. 2 l Medidor LCR V 3.0 l Registrador de Temperatura Multicanal Veleta de estado sólido l Selector bidireccional de canales estéreo l LEDs programables por puerto serie l Tester de Baterías USB Estándares de Codificación l Clase Magistral de PCB Prototyper  Espectómetro de Audio Frecuencia de Freystedt (1935) www.elektor-magazine.es magazine Noviembre 2013 | 6,50 e

CAN Tester - pdf... · Sharing Electronics Projects ¡Elektorízate! Visita Elektor.LABS es una comunidad online

  • Upload
    buithu

  • View
    281

  • Download
    15

Embed Size (px)

Citation preview

Page 1: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

CANTester

Prueba, Repara, Analiza, Mapea, Simula y Desentraña Tu Red Rodante

Placa Linux V. 2 l Medidor LCR V 3.0 l Registrador de Temperatura Multicanal Veleta de estado sólido l Selector bidireccional de canales estéreo l LEDs programables por puerto serie l Tester de Baterías USB

Estándares de Codificación l Clase Magistral de PCB Prototyper Espectómetro de Audio Frecuencia de Freystedt (1935)

www.elektor-magazine.es magazineNoviembre 2013 | 6,50 e

Page 2: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-projects.com

Sharing Electronics Projects

¡Elektorízate! Visita www.elektor-labs.com

Elektor.LABS es una comunidad online para apasionados de la electrónica. Un lugar donde compartir tus proyectos y tomar partido en aquellos que otros hayan creado. Se trata de un sitio en el cual discutir sobre desarrollos y electró-nica en general.

El equipo de editores e ingenieros de Elektor te ofrecerá su apoyo hasta fi nali-zar satisfactoriamente tus proyectos. Así mismo, te ayudarán a redactar un artículo para ser publicado en Elektor.MAGAZINE, ¡e incluso desarrollar un producto comple-to que puedes vender en Elektor.STORE!

Sharing Electronics Projects Sharing Electronics Projects Sharing Electronics Projects Sharing Electronics Projects

¡Elektorízate! Visita www.elektor-labs.com¡Elektorízate! Visita

elektor labs

Úneteya

Adv Elektor Projects 130823 ES.indd 1 23-08-13 11:55

Page 3: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

Precio: 52,77 €

Precio: 52,77 €

Precio: 27,35 €

Precio: 24,81 €

Precio: 53,98 €

Arduino¡Ahora Disponible en Elektor!

Más información y pedidos en www.elektor.es/arduino

Características Microcontrolador ATmega328 Tensión de Funcionamiento 5V Tensión de Entrada 7-12V(recomendada) Tensión de Entrada (límites) 6-20V Pines de E/S Digitales 14 (6 de ellas con salida

PWM)Canales PWM 6 Pines de Entrada Analógicos 6 Corriente máx. por Pin de E/S 40 mA Corriente máx. por Pin 3.3V 50 mA Memoria Flash 32 KB (0.5 kB utilizados por el Bootloader)SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Frecuencia de Reloj 16 MHz

Características Microcontrolador ATmega32u4 Tensión de Funcionamiento 5V Tensión de Entrada 7-12V (recomendada)Tensión de Entrada (límites) 6-20V Pines de E/S Digitales 20 (7 de ellas con salida

PWM) Canales PWM 7 Pines de Entrada Analógicos 12 Corriente máx. por Pin de E/S 40 mA Corriente máx. por Pin 3.3V 50 mA Memoria Flash 32 KB (8 kB utilizados

por el Bootloader)SRAM 2.5 KB (ATmega32u4) EEPROM 1 KB (ATmega32u4) Frecuencia de Reloj 16 MHz

Características Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Input Voltage PoE (limits) 36-57V Digital I/O Pins 14 (4 de ellas con salida

PWM) Arduino Pins reserved 10 to 13 used for SPI 4 used for SD card 2 W5100 interrupt

(when bridged) Analog Input Pins 6 DC Current per I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (0.5 kB utilizados

por el Bootloader) SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz

ARDUINO UNOLa placa más popular con su micro ATmega328

ARDUINO LEONARDOEspecialmente bueno para aplicaciones USB

ARDUINO ETHERNETTrabajar en red nunca fue tan fácil

Características Microcontrolador ATmega2560 Tensión de Funcionamiento 5V Tensión de Entrada 7-12V (recomendada)Tensión de Entrada (límites) 6-20V Pines de E/S Digitales 54 (15 de ellas con salida

PWM) Pines de Entrada Analógicos 16 Corriente máx. por Pin de E/S 40 mA Corriente máx. por Pin 3.3V 50 mA Corriente máx. por Pin 5V Memoria Flash 256 KB (8 kB utilizados

por el Bootloader) SRAM 8 KB EEPROM 4 KB Frecuencia de Reloj 16 MHz

Características Microcontrolador AT91SAM3X8E Tensión de Funcionamiento 3.3V Tensión de Entrada 7-12V (recomendada)Tensión de Entrada (límites) 6-20V Pines de E/S Digitales 54 (12 de ellas con salida

PWM) Canales PWM 12 Pines de Entrada Analógicos 12 Pines de Salida Analógicos 2 (DAC) Corriente máx. por Pin de E/S 130 mA Corriente máx. por Pin 3.3V 800 mA Corriente máx. por Pin 5V 800 mA Memoria Flash 512 KB (toda disponible

para aplicaciones de usuario)

SRAM 96 KB (dos bancos: 64 kB y 32 kB)

Frecuencia de Reloj 84 MHz

ARDUINO MEGAComo el Uno pero con más memoria y E/S

ARDUINO DUELa potencia de los 32 bits gracias al procesador ARM

Precio: 52,77

www.elektor.es/arduinowww.elektor.es/arduino

10% MENOS para Socios GREEN

www.elektor.es/arduinowww.elektor.es/arduino130917 Arduino adv ES.indd 1 17-09-13 17:06

Page 4: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

4 | noviembre 2013 | www.elektor-magazine.es

mag

azin

e

18 Elektor World•Deja que tu Cerebro lo Piense•Todo Sonrisas•Punto de Lanzamiento del ‘Internet de

las Cosas’ •¡Esto Suena Bien!

Comunidad

20 Veleta de estado sólidoLa medición de la temperatura, presión del aire y humedad ya no es una tarea difícil con los modernos sensores electrónicos. Sin embargo, para medir la dirección y la veloci-dad del viento se requieren todavía converti-dores electromecánicos, cuyos componentes móviles están expuestos a desgaste. Con el método aquí descrito se puede construir una veleta y un anemómetro auténtico con tan sólo algunos componentes.

34 Desarrollando con Linux embebidoMuchas cosas han pasado desde que iniciamos esta serie de artículos sobre Linux. Por ejemplo, ya está disponible

Proyectos

la segunda versión de la placa Linux de Elektor/Gnublin; entre otros, se ha mejo-rado el sistema de archivos de la tarjeta de memoria. Es hora de recordar algunos conceptos básicos. Pero lógicamente lo vamos a hacer de la forma más atractiva para todo usuario: desarrollando nues-tras propias aplicaciones.

43 LEDs programables por puerto serieEste pequeño módulo ha sido diseñado para controlar hasta cinco LEDs en una maqueta mediante el puerto serie del PC. Es posible conectar y direccionar hasta 250 de estos módulos desde un único puerto RS232. ¡Más que suficiente para iluminar una pequeña ciudad!

46 Selector bidireccional de canales estéreoComo consecuencia de una llamada lanzada en la revista hace algún tiempo, en la que se invitaba a nuestros lectores a enviarnos circuitos de su propio diseño, a ser posible, sencillos y más bien sobre temas con menos tratamiento por parte de Elektor, como por ejemplo, el audio, hemos recibido esta propuesta que responde a los dos criterios principales: sin complejidad y al servicio del tratamiento de señales sonoras.

50 Registrador de Temperatura MulticanalEste proyecto nos permite recoger las lecturas de seis temperaturas a lo largo de un período de tiempo completo, con marca de tiempo, todas ellas escritas en un fichero .csv, que se almacena en una tarjeta SD para su procesamiento poste-rior en un ordenador. También es posible el control local mediante una pantalla LCD y un teclado.

56 CAN TesterEl circuito aquí descrito ofrece la posibilidad de realizar todo tipo de experimentos y pruebas con el bus CAN. Además existe la posibilidad de conectar el tester con un bus CAN existente para la monitorización de datos y la búsqueda de errores.

64 Actualización Importante del Medidor LCR 0,05 % Desde la publicación de este proyecto en tres artículos, se han fabricado ya varios centenares de unidades de este instru-mento, para gran satisfacción de sus usuarios y del autor. El autor ha corregi-do dos errores que podrían perturbar el buen funcionamiento del instrumento en ciertas condiciones.

Contenidos Volumen 34 - nº 401

Page 5: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-magazine.es | noviembre 2013 | 5

74 Retronics: Espectrómetro de Audio Frecuencia de Freystedt (1935)La historia de encontrar y restaurar un Espectrómetro Siemens de 1935 extremada-mente raro, un hito en las medidas electroa-cústicas. Editor de la Serie: Jan Buiting.

86 HexadokuEl rompecabezas mensual de Elektor con un toque electrónico.

87 Próximo mes en ElektorUn vistazo a los contenidos de la próxima edición de Elektor.

Magazine

14 Sin límitesAlgunas personas tienen ideas innovado-ras y/o estimulantes, pero no saben cómo traducirlas en circuitos electrónicos que funcionen, mientras que otras carecen de los conocimientos y/o el tiempo para completar un proyecto. A continuación se muestra la selección de los proyectos enviados a Elektor.Labs en busca de una mano amiga para alcanzar la meta. ¿Te animas y nos ayudas?

16 Clase Magistral de PCB PrototyperUna guía para llevar a cabo una aplica-ción avanzada de la fresadora Elektor PCB Prototyper.

28 Estándares de CodificaciónA menudo gastamos una gran cantidad de energía diseñando un circuito ele-gante, bien diseñado y robusto. Hoy día, el cerebro de muchos de estos circuitos es un microcontrolador que necesita un software para funcionar. ¿No es razona-ble entonces esperar un programa bien diseñado y escrito adecuadamente que se complemente con la calidad del trabajo del circuito? Aparentemente así es. Ha-blemos de la cualidad del software.

Labs

40 DesignSpark Trucos y Consejos. Día #5: generando los ficheros de fabricación de una PCBHoy vamos a generar los ficheros Gerber y la información de la BOM (Lista de Materiales) del diseño que hicimos la última vez. DesignSpark tiene un soporte excelente para la generación de este tipo de ficheros una vez que han sido configu-rados adecuadamente.

DesignSpark

8 Noticias y Nuevos ProductosUna selección de las noticias recibidas de la industria electrónica, los laboratorios y las organizaciones.

Industria

80 Forze VI: competir con hidrógenoEL Forze VI pesa solo 880 kilos, alcanza una velocidad máxima de 220 km/h y acelera de 0 a 100 en 4 segundos. El co-razón del coche de carreras es el sistema de celdas de combustible.

Tech The Future

Noviembre 2013Volumen 34 - nº 401

68 Tester de baterías USBEn el día a día de todo electrónico, testear baterías es algo relativamente normal. Exis-ten instrumentos específicos para ello, pero no suelen ser muy asequibles, de modo que aprovechar la capacidad de un PC podía ser una buena idea. Aparte, gracias al cable USB-IO24 que presentamos hace tiempo en Elektor, resultaba bastante sencillo. Sólo faltaba el “interfaz para baterías” que te presentamos en este artículo...

Page 6: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Comunidad

6 | noviembre 2013 | www.elektor-magazine.es

Volumen 34, Número 401, Noviembre 2013Depósito Legal: GU.3-1980 31/12/2006ISSN 0211-397X

Editor:Elektor International Media Spain, s.l.Jerez de los Caballeros, 228042 – Madrid, EspañaTeléfono: +34 91 101 9395Fax: +34 91 101 9396Internet: www.elektor.es

Elektor se publica 10 veces al año con edición doble para Enero/Febrero y Julio/Agosto.

Suscripciones:Elektor International Media Spain, s.l.Apartado de Correos 6201128042 – Madrid, EspañaTeléfono. +34 91 101 9395Internet: www.elektor.es/miembrosEmail: [email protected]

Oficinas Centrales:Elektor International Media b.v.P.O. Box 11 NL-6114-ZG SusterenThe Netherlands.Teléfono: +31 (0)46 4389444,Fax: (+31) 46 4370161

Publicidad: Elektor International Media Spain, s.l.Apartado de Correos 6201128042 – Madrid, EspañaTeléfono. +34 91 101 9395Fax: +34 91 101 9396Internet: www.elektor.esEmail: [email protected] y condiciones de publicidad disponibles bajo petición.

Derechos de autorLos circuitos descritos en esta revista son exclusivamente para uso doméstico. Los derechos de autor de todos los gráficos, fotografías, diseños de circuitos impresos, circuitos integrados programados, discos, CD-ROM’s, portadores de software y los textos de los artículos publicados en nuestros libros y revistas (que no sean anuncios de terceros) están registrados por Elektor International Media BV y no pueden ser reproducidos o difundidos de ninguna forma ni por ningún medio, incluidas fotocopias, escaneos o grabaciones, parcial o totalmente sin la previa autorización escrita del Editor. También será preciso disponer del citado permiso antes de almacenar cualquier parte de esta publicación en sistemas de recuperación de cualquier naturaleza. Los circuitos, dispositivos, componentes, etc., descritos en esta revista pueden estar protegidos bajo patente. El Editor no acepta responsabilidad alguna en ausencia de identificación de la citada patente(s) u otra protección. La presentación de diseños o artículos implica que el Editor está autorizado a modificar los textos y los diseños presentados y a utilizar los contenidos en otras publicaciones y actividades de Elektor International Media. El Editor no garantiza la devolución del material a él enviado.

RenunciaLos precios y descripciones de los productos relacionados con la publicación están sujetos a modificación. Excluidos errores y omisiones. Las opiniones expresadas a lo largo de los distintos artículos, así como el contenido de los mismos, son responsabilidad exclusiva de sus autores. Así mismo, el contenido de los mensajes publicitarios es responsabilidad de los anunciantes.Los precios y descripciones de los elementos relacionados con la publicación están sujetos a cambios. Están excluidos los errores u omisiones.

© Elektor International Media b.v. 2012

El EquipoEditor: Eduardo Corral ([email protected])

Redacción Internacional: Harry Baggen, Thijs Beckers, Jan Buiting, Wisse Hettinga, Denis Meyer, Jens Nickel, Clemens Valens

Equipo de diseño: Thijs Beckers, Ton Giesberts, Luc Lemmens, Jan Visser

Diseño gráfico y preimpresión: Giel Dols, David Márquez, Mart Schroijen

Director online: Daniëlle Mertens

Director de marca: Wisse Hettinga

Director general: Don Akkermans

Yes, we CAN!No hace mucho tiempo eras recibido por óxido, agujeros, suciedad, mugre, setas o excrementos de ratón al retirar un panel o una cubierta de un coche averiado para poder acceder a “la electricidad”. Hoy en día nos vemos obligados a encontrar la electrónica en una caja negra o de tipo desechable. Quitar el óxido o la corrosión es un trabajo duro que realmente ayuda a que el coche vuelva de nuevo a la carretera. Por el contrario, quita una pieza de electrónica razonablemente avanzada de un vehículo construido después del 2000 y serás incapaz incluso de activar el encendido. Los sistemas electrónicos de los vehículos como OBD, ECO y CAN requieren un cambio total de mentalidad en lo referente a los trabajos de repa-ración y mantenimiento. Es innegable que estos sistemas son un enorme éxito y el camino a seguir, pero hay que tener en cuenta que los coches con cero electrónica en su interior salvo la radio son también cada vez más populares.La mejor forma de explorar la ruta y el funcionamiento de un autobús es comprar un billete y ser amable con el conductor. En esta edición presentamos una herramienta debería ayudarte a eliminar los temores sobre los temas relativos al direccionamiento que aparecen relacionados con el bus CAN (¡si los hay!). La herramienta no es sólo analítica, también es educativa ya que permite simular bastantes de los mensajes de los dispositivos CAN en la comodidad de tu laboratorio electrónico, en lugar de tirado en el suelo con el típico mono de trabajo mientras suena Lady Gaga en la radio. La función real de la placa CAN Tester es una de entre cerca de una docena que viene determinada por el firmware que esté ejecutando.Este mes honramos de nuevo vuestros requerimientos de proyectos relacionados con la medición. En este caso gira en torno a la temperatura con nuestro Registrador de Tempera-tura Multicanal, que lee el valor de hasta seis sensores y los almacena en un archivo .csv que podemos abrir en una hoja de cálculo, y de una interesantísima veleta de estado sólido.Además de CAN y medida de temperatura y viento, en las próximas páginas tratamos de audio, Linux embebido, fresado de PCB’s, Modelismo, Codificación, carreras con coches propulsados con hidrógeno, restauración de un espectrómetro de 1935 y el habitual rom-pecabezas hexadoku. Me pregunto si esos 260 CV del Forze VI en la página 80 tendrá los frenos controlados por CAN. ¿Y radio?!Disfruta de esta edición!

Eduardo Corral, Editor de Elektor

Page 7: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-magazine.es | noviembre 2013 | 7

¿No eres patrocinador aún? Ponte en contacto con nosotros en [email protected] (+34 911019395) para reservar tu propio espacio en la próxima edición de nuestra revista

Nuestras redes

Te conectamos conUnited KingdomWisse Hettinga+31 (0)46 [email protected]

USAHugo Vanhaecke+1 [email protected]

GermanyFerdinand te Walvaart+31 46 [email protected]

FranceDenis Meyer+31 46 [email protected]

NetherlandsHarry Baggen+31 46 [email protected]

SpainEduardo Corral+34 91 101 93 [email protected]

ItalyMaurizio del Corso+39 [email protected]

SwedenWisse Hettinga+31 46 [email protected]

BrazilJoão Martins+31 46 [email protected]

PortugalJoão Martins+31 46 [email protected]

IndiaSunil D. Malekar+91 [email protected]

RussiaNataliya Melnikova+7 (965) 395 33 [email protected]

TurkeyZeynep Köksal+90 532 277 48 [email protected]

South AfricaJohan Dijk+27 78 2330 694 / +31 6 109 31 [email protected]

ChinaCees Baay+86 21 6445 [email protected]

Circuit Cellar www.circuitcellar.com . . . . 27 y 79

Eurocircuits www.elektorpcbservice.com . . . .13

National Instruments www.ni.com/es . . . . . . . . . . . . .87

Soclutions www.soclutions.com . . . . . . . . .11

Empresas Colaboradoras

Page 8: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

8 | noviembre 2013 | www.elektor-magazine.es

•Industria

Un software intuitivo, muy potente y gratuito que abre nuevas posibili-dades para la creación de productos revolucionariosRS Components (RS) y Allied Electronics (Allied), marcas comerciales de Electro-components plc (LSE:ECM), el mayor distribuidor de productos y servicios de electrónica y mantenimiento a nivel mun-dial, presenta su nuevo y revolucionario software de diseño en 3D, DesignSpark Mechanical, una herramienta de mode-lado directo disponible de forma gratuita para todo el mundo.Desarrollado en colaboración con Space-Claim, proveedor líder de softwares de modelado en 3D flexibles y asequibles para ingenieros, el nuevo DesignSpark Mechanical es muy intuitivo y fácil de utilizar, lo cual aportará grandes bene-ficios a los ingenieros de diseño en todo el mundo. Disponible en varios idiomas, esta nueva herramienta supone un paso significativo en la evolución del centro de recursos online de la comunidad virtual de ingeniería DesignSpark.La disponibilidad de DesignSpark Mecha-nical supera dos importantes barreras a las que se enfrentan los potenciales usuarios que actualmente no tienen

acceso a una solución de diseño en 3D, pero que se verían enormemente bene-ficiados con el uso del modelado en 3D para desarrollar rápidamente prototipos y productos sofisticados. Los costes pro-hibitivos y una considerable inversión de tiempo para el aprendizaje son los principales obstáculos asociados a las herramientas tradicionales de CAD en 3D. La gratuidad de DesignSpark Mecha-nical no es su única ventaja, sino tam-bién su facilidad de uso, que permite que tanto los ingenieros como las otras personas involucradas en el desarrollo del producto sean capaces de manejar la herramienta y trabajar en conjunto en cuestión de minutos, en lugar de sema-nas o meses.Glenn Jarrett, Responsable Global de Product Marketing en RS Components, ha afirmado: “Con el lanzamiento de DesignSpark Mechanical, ha sido posi-ble que por primera vez en la historia, una herramienta de diseño en 3D de tal nivel de sofisticación esté disponi-ble de forma gratuita. Los ingenieros de todo el mundo adorarán este software de modelado tan intuitivo y flexible. El uso de DesignSpark Mechanical desde una etapa temprana del ciclo de diseño

puede eliminar gran parte del trabajo extra asociado a los procesos de desarrollo de pro-ductos tradicionales. Esta es una iniciativa muy importante que permitirá a los ingenieros lanzar productos innovadores al mercado rápidamente, y el for-mato de salida STL permitirá la exportación directa de los dise-ños a las impresoras de 3D.”Con acceso a los más de 38.000 modelos en 3D disponibles en la librería de online de DesignS-park, DesignSpark Mechanical ofrece a todos los ingenieros la posibilidad de realizar un diseño de principio a fin con una herra-mienta de modelado profesional

totalmente gratuita. RS y Allied también han colaborado con TraceParts, empresa líder mundial en contenidos 3D, para pro-porcionar acceso a los millones de mode-los disponibles en el portal de CAD trace-partsonline.net en formato DesignSpark Mechanical.DesignSpark Mechanical emplea una metodología muy potente denominada “modelado directo”, que es muy dife-rente a la funcionalidad paramétrica tra-dicional que encontramos en los soft-ware de 3D CAD. La herramienta uti-liza funcionalidades muy sencillas que permiten editar y realizar cambios en tiempo real, con lo que tanto ingenieros como demás colaboradores en el pro-yecto pueden crear modelos y experi-mentar con sus ideas y prototipos de forma rápida y sencilla. Todo ello a tra-vés de cuatro herramientas básicas: Pull, Move, Fill y Combine (tirar, mover, rellenar y combinar), además de los conocidos atajos de teclado que utili-zamos en Windows, tales como cortar/pegar, deshacer/rehacer, lo que hace que el software sea muy intuitivo para los nuevos usuarios.

www.designspark.com

RS Components ofrece a todos los ingenieros del mundo la posibilidad de diseñar en 3D con DesignSpark Mechanical

Page 9: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

noticias

www.elektor-magazine.es | noviembre 2013 | 9

Microchip anuncia una nueva familia de microcontroladores, la PIC24FJ128GC010. Esta familia consiste en un sistema analógico en un chip que integra una cadena de señal totalmente analógica, incluyendo al primer convertidor A/D de 16 bit de precisión de Microchip integrado en el chip y un convertidor A/D de 12 bit y 10 Msps, además de un convertidor D/A y amplificadores operaciones dobles. A todo ello se suma la tecnología eXtreme Low Power (XLP) para una mayor autonomía de la batería en aplicaciones portátiles médicas e industriales.

Esta combinación de integración analógica y bajo consumo reduce el coste y el ruido del sistema, además de

mejorar el rendimiento de la señal en aplicaciones como dispositivos portátiles de supervisión médica como medidores de la glucosa en sangre y de la presión sanguínea, así como aplicaciones industriales y dispositivos portátiles de supervisión, como supervisores de tensión y corriente, sensores de gas y redes de sensores de alta velocidad, entre otros. La familia PIC24FJ128GC010 integra un controlador de visualizador LCD que ofrece la capacidad de controlar hasta 472 segmentos con visualizadores que ofrecen una gran

cantidad de información al usuario, como la posibilidad de ofrecer menús alfanuméricos desplegables. El USB integrado ofrece soporte a la descarga de datos clínicos para equipamiento médico y puede funcionar como puerto de servicio/datos para equipamiento industrial. El sensado táctil capacitivo cuenta con el soporte de un periférico mTouch™ integrado.La integración de un convertidor A/D de 16 bit, USB y LCD en un único microcontrolador de bajo consumo

permite aplicaciones en un formato muy pequeña y alimentadas por batería. La familia PIC24FJ128GC010 representa una

significativa reducción de coste frente a una solución multichip, lo cual permite disminuir el ruido, aumentar el rendimiento de señal, disminuir el tamaño de la placa y agilizar el plazo de comercialización.La familia PIC24FJ128GC010 cuenta con el soporte del kit de iniciación para PIC24F Intelligent.Integrated.Analog (DM240015), que se ofrece con un precio especial de lanzamiento de 89,99 dólares por un tiempo limitado. Este kit se centra en la electrónica analógica que integra la familia para conservar la integridad de la señal. Proporciona un 95% de lo que necesitan los diseñadores para desarrollar un prototipo analógico portátil; solo tienen que añadir los sensores.La nueva familia de microcontroladores PIC24FJ128GC010 ya se encuentra disponible para muestreo y producción en volumen. El PIC24FJ128GC010 (128 KB de Flash) y el PIC24FJ64GC010 (64 KB de Flash) se suministran en encapsulados TQFP de 100 patillas y BGA de 121 patillas. El PIC24FJ128GC006 (128 KB de Flash) y el PIC24FJ64GC006 (64 KB de Flash) se suministran en encapsulados TQFP y QFN de 64 patillas.

www.microchip.com

SBC de 3.5” con procesador Intel Core de cuarta generaciónEl ECM-QM87 proporciona mejoras en rendimiento y seguridad a numerosas aplicacionesAvalue Technology Inc, empresa representada en España por Anatronic, S.A., ha introducido el ordenador monotarjeta (SBC) de 3.5” ECM-QM87, que se basa en la familia de procesadores de procesadores Intel Core de cuarta generación y el chipset mobile Intel QM87 Express para ofrecer mejoras en rendimiento, eficiencia y seguridad en numerosas aplicaciones.El ECM-QM87 soporta memoria DDR3 SODIMM de 204 pines con SDRAM

DDR3 1333/1600 de hasta 8 GB y ofrece múltiples I/O, como un RS-232, un RS-232/422/485, dos SATA III, un Mini PCIe para expansión mSATA, seis USB 3.0, dos USB 2.0 y GPI y GPO de 4 bit, entre otras.El nuevo SBC posee Dual Gigabit Ethernet (Intel I210AT Gigabit Ethernet Controller & Intel I217LM Gigabit Ethernet PHY), interface LVDS de 18/24 bit de canal dual y soporte de tres displays con resoluciones de VGA (1920 x 2000 @ 60 Hz) y HDMI (4096 x 2304 @ 24 Hz) y LVDS (1920 x 1200 @ 60 Hz).

Las características se completan con interface de audio Realtek ALC892 con respaldo de códec 7.1-CH HD, tecnología Intel Active Management Technology 9.0 para gestión segura de PC y ACPI 3.0 para mejorar la gestión eléctrica.Los avances en capacidades gráficas y multimedia de los procesadores de cuarta generación son ideales en numerosas aplicaciones, como equipos portátiles, HMI industriales, señalización digital e imagen médica.

www.avalue.com.tw

Microchip presenta el primer microcontrolador PIC® que integra convertidor A/D de 16 bit, convertidor A/D de 10 Msps, convertidor D/A, USB y LCD

Page 10: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

10 | noviembre 2013 | www.elektor-magazine.es

•Industria

Fuente Multiformato de 180 Watios y con un 93% de eficiencia de XP Power

Tecnología de potencia para aplicaciones ecológicas

XP Power, distribuido en España y Portugal por VENCO Electrónica, S.A., anuncia la amplia-ción de la familia de AC/DC GCS, con salidas simples y una gran efi-ciencia (green power), con homologaciones ITE y de seguridad Médicas.Complementando los modelos GCS150 de 150W, El rango de la GCS180 extiende la potencia de salida hasta 180W. Todos los modelos en este rango tienen un consumo de menos de 0.5W sin carga, y una eficiencia típica del 93%. Las series GCS180 están disponibles en múltiples formatos mecánicos, dando al Ingeniero diversas configuraciones posibles para que pueda elegir una que se adapte a su aplicación. Con ventilación por con-vección dan una potencia de hasta 150W,

en un formato industrial estándar, con un PCB de 3” x 5” (127 x 76.2 mm), y una cubierta como opción está disponible. Cuando tenemos venti-lación forzada, es capaz de dar hasta 180W, con tan solo 7 CFM, que puede proveer el equipo del usuario, o utilizar las versiones con ventilador encima o al final de la

fuente. El rango incluye 5 salidas simples de +12, +15, +24, +28 o +48 VDC. Una salida adicional de + 12 V / 0.6 se puede utilizar para alimentar el ventilador que el usuario utilice. Los diseñadores también tie-nen la opción de utilizar una conexión a tie-rra , ya que la fuente está diseñada utilizar con Clase I y Clase II. Con la opción “-R” se puede disponer de un control remoto on/off. Las GCS180 cumplen con los límites de

la Clase B de la EN55011 y EN55022 para emisiones conducidas y los límites de la Clase A para emisiones radiadas sin añadir componentes de filtro extra.Cumpliendo con las normativas de los equipos TI UL/EN60950-1 y la 3ª edi-ción de la normativa Médica EN60601-1, ES60601-1 y CSA22.22 No 60601-1 para la UL, las GCS180 series son adecuadas para un amplio abanico de aplicaciones médicas, industriales y de equipos de comunicaciones. Con una rango de tem-peratura de trabajo de – 40 a + 70ºC, estas Fuentes se pueden utilizar en la mayoría de ambientes. No hay reducción de potencia hasta los + 50ºC.Las Fuentes de alimentación GCS180 están disponibles en el distribuidor local especia-lizado VENCO Electrónica S.A. en España y Portugal, como también en Farnell, ele-ment14, y tienen una garantía de 3 años.

www.xppower.com

La avanzada estructura interna de la nueva familia de transistores desarrolla la mejor resistencia on-state de la indus-tria para aplicaciones de bajo consumo con restricciones de espacio.STMicroelectronics, uno de los mayores fabricantes de semiconductores, ha intro-ducido su última generación de dispo-sitivos de potencia de elevada eficien-cia energética, que pretende reducir el impacto medioambiental de múltiples equipos en telecomunicaciones o sis-tema informáticos, inversores solares, automatización industrial y automoción.Por ejemplo, los nuevos MOSFET STri-pFET™ DeepGATE™ proporcionan la mejor eficiencia de conducción entre los disposi-tivos de 80 y 100 V disponibles en el mer-cado. También contribuyen a aumentar la eficiencia de conmutación. Estos dis-positivos de ST ayudan a simplificar los diseños y reducir el tamaño y el coste de

los equipos al poder cumplir los objetivos de consumo usando menos componentes en encapsulados compactos.El principal avance de la tecnología STri-pFET VII DeepGATE se encuentra en una estructura mejorada de puerta de MOS-FET, que minimiza tanto la resistencia on-state del dispositivo como las capacitancias internas y la carga de puerta para aportar una conmutación más rápida y eficiente.Los nuevos modelos poseen un diseño high avalanche ruggedness para evitar posibles deterioros en condiciones adver-sas, lo que es especialmente idóneo en la industria de la automoción.Estos dispositivos con tecnología STripFET VII DeepGATE, como el STP270N8F7 de 80 V y el STD100N10F7, el STL100N10F7 y el STH310N10F7 de 100 V, se encuen-tran disponibles en una amplia variedad de encapsulados (TO-220, DPAK, Power-FLAT™ 5×6 y H2PAK de 2 y 6-lead).

La nueva generación se une al portfo-lio de soluciones de MOSFET de ST para ofrecer eficiencia, densidad de potencia y diseño rugerizado con los ratios de tensión empleados en muy diversas aplicaciones.La tecnología STripFET VII DeepGATE es ideal en aquellos sistemas que operan con tensiones DC (como 48 V), cada vez más empleadas en telecomunicaciones. Los dispositivos con ratios de 80 o 100 V poseen un “margen de seguridad” para resistir las sobretensiones en un sistema de 48 V. También es idónea en aplicacio-nes de automoción de 12 o 24 V.

www.st.com

Page 11: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

noticias

www.elektor-magazine.es | noviembre 2013 | 11

La captura de sincronización más rápida del sector con memoria pro-funda contribuye a acelerar el lanza-miento de diseños digitales al mercadoAgilent Technologies Inc. ha pre-sentado hoy los analizadores lógicos portátiles Serie 16850. Estos instru-mentos ofrecen la captura de sin-cronización más rápida del sector con memoria profunda para depu-rar sistemas digitales con rapidez. La Serie 16850 también incorpora el único analizador lógico portátil del sector con opciones de son-deo tanto unipolar como diferencial para ayudar a los diseña-dores a lanzar más rápido al mercado sus dispositivos digitales de alta velocidad. En www.agilent.com/find/16850-series_video se puede ver una demostración en vídeo de los nuevos anali-zadores lógicos de Agilent. “A medida que aumentan las velocidades de los sistemas, nuestros clientes necesitan medidas de sincronización de memoria profunda incluso más rápidas en un gran número de canales de entrada, que es justo lo que ofrece la Serie 16850 de analizadores lógicos de Agilent”, dijo Jay Alexander, vice-presidente y director general de la División de Osciloscopios y Protocolos de Agilent. “La combinación de esta capacidad con una amplia variedad de opciones de sondeo permite a los diseñadores de sistemas digitales realizar las depuraciones más rápidas posibles en un gran abanico de aplicaciones”.Los desarrolladores de dispositivos digitales de alta velocidad utilizan analizadores lógicos para acelerar la fase de depuración y validación del diseño de sistemas. Con frecuencia, deben dis-parar medidas sobre indicios de problemas, como una señal de retardo o un indicador de error, cuando la verdadera causa se ha producido mucho antes del momento del disparo. La captura de sincronización de alta velocidad con memoria profunda de la Serie 16850 permite al diseñador retroceder en el tiempo hasta el momento en el que se ha producido la causa del error. La elevada resolución de muestreo de estos instrumentos permite diferenciar los problemas de sincronización de los funcionales, lo que aporta la información necesaria para acortar el proceso de depuración y validación y lanzar productos al mercado con más rapidez.Con una captura de sincronización de periodo de 2,5 GHz y 400 ps en todos los canales de entrada y una capacidad de memoria de hasta 128 megamuestras, la Serie 16850 de analizadores lógicos proporciona una captura de sincronización con memoria profunda hasta un 50% más rápida que cualquier otro analizador lógico portátil del mercado, con el doble de capacidad de memoria.La Serie 16850 de Agilent ofrece una velocidad de datos de estado estándar de 700 Mbps, así como una opción de amplia-

ción a 1.400 Mb/s. Los usuarios pue-den elegir la capacidad de memoria deseada, desde la capacidad estándar de 2 megamuestras hasta la capaci-dad máxima de 128 megamuestras, pasando por una amplia selección de opciones. Las opciones de velocidad de estados y de capacidad de memoria también pueden ampliarse después de la compra inicial.La Serie 16850 de Agilent también ofrece un secuenciador de disparo de

1,4 GHz para realizar el seguimiento de circuitos de alta velocidad y definir condiciones muy específicas sobre las que disparar, con el fin de identificar errores y llegar con rapidez a la causa del fallo.

www.agilent.com

Agilent Technologies presenta sus nuevos analizadores lógicos portátiles

Publicidad

Page 12: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

12 | noviembre 2013 | www.elektor-magazine.es

•Industria

SATELLINE M3-TR3, el radiomodem UHF de 1W de alta sensibilidad más pequeño y ligeroSatel Spain presenta su radiomodem más pequeño (36x57mm) y más ligero (18g), el SATELLINE M3-TR3, operando en la banda UHF entre 403 y 473MHz con 1W de potencia.Este equipo es perfecto para integrar como módulo OEM en máquinas, equipos de medida, vehículos, etc. operando con rangos industriales de funcionamiento y permitiendo grandes alcances gracias a la potencia de 1W y la alta sensibilidad de -116 dBm. Implementa funciones de ahorro de energía por lo que es también apto para su integración en equipos con baterías. Entre las aplicaciones de este

equipo cabe destacar soluciones DGPS (Differencial Global Positioning System) y RTK (Real Time Kinematic) con el

objetivo de ofrecer posicionamiento de alta precisión y en tiempo real en aplicaciones de agricultura, topografía, logística e industria.El equipo es 100% compatible con la gama SATELLINE 3AS y SATELLINE Easy, por lo que permite integrar este nuevo radiomodem en redes preexistentes.Satel Spain ofrece a los integradores soporte técnico para desarrollos hardware que se precisen para la integración de este módulo en sus

equipos.

www.satelspain.com

Publicidad

Regístrate hoy en www.elektor.es/boletin

• Lo último en electrónica y tecnologías de la información

• Videos, trucos, consejos, ofertas y más

• Proyecto exclusivo cada dos semanas, sólo para miembros GREEN

• Elektor tras la escena

• Cada viernes en tu bandeja de entrada

Hazte miembro GRATIS del Elektor.POST

Más información en

www.elektor.es/rf-app s/////rf

La RF & Microwave Toolbox contiene 55 herramientas de cálculo y conversión para RF, microondas y electrónica en general. Ya seas profesional, radio -afi cionado, astrónomo o afi cionado, esta app pone la mayoría de las herramien -tas importantes al alcance de tus dedos.

Destacados:• Amplifi cador en Cascada (NF, Gain,

P1db, OIP2, OIP3)• Convertidor de intensidad de campo y

densidad de potencia (W/m2, V/m, A/m, Tesla, Gauss, dBm, W)

• Calculadora de trazado de PCB (impedancia/dimensiones)

• Atenuador PI y T• Temperatura de Antena (Kelvin)• EMC (EIRP, ERP, dBμV/m)• Diseño de fi ltros (Butterworth, Chebyshev, prototipo)• Y más

Elektor RF & MicrowaveToolbox

,

¡Descarga tu app ahora!

para Android

Page 13: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

powered by Eurocircuits

PCB’sMulticapa Pequeñas series

Prototipos

Más información y pedidos en www.elektorpcbservice.com

Elektor PCB Service de un vistazo:

• 4 servicios específi cos de panel compar-tido y 1 servicio sin agrupamiento

• Servicio gratuito de verifi cación de datos de PCB online

• Calculadora de precios online • Sin pedido mínimo• Sin cargos por fi lmación o puesta

en marcha

Calidad ProfesionalServicio de CalidadPedido Seguro

Entrega a partir de 2 días

laborables

Adv PCB ES 1/1 121213.indd 1 14-12-12 10:47

Page 14: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Labs

14 | noviembre 2013 | www.elektor-magazine.es

Clemens Valens (Elektor.Labs)

Sin límites

Algunas personas tienen ideas innovadoras y/o estimulantes, pero no saben cómo traducirlas en circuitos electrónicos que funcionen, mientras que otras carecen de los conocimientos y/o el tiempo para completar un proyecto. A continuación se muestra la selección de los proyectos enviados a Elektor.Labs en busca de una mano amiga para alcanzar la meta. ¿Te animas y nos ayudas?

Escultura electrónicaEl Posteador Original (OP) ‘snap’ quiere crear una escultura electrónica capaz de producir figuras en 3D moviendo hacia arriba y abajo de forma individual unas cincuenta bolas suje-tas a unas cuerdas. Hay algunos buenos vídeos en YouTube que muestran estos artilugios, basta con buscar “BMW kinetic sculpture” (es decir, “escultura cinética BMW”) o palabras de significado similar. Las cuerdas se pueden enrollar y desenro-llar con motores pequeños pero, ¿cómo controlar las cincuenta cuerdas de forma sincronizada y sin gastar demasiado tiempo o dinero? El peso de todo esto también es un factor importante. El OP está buscando ayuda, ¿tenéis experiencia en un proyecto similar? ¿Estáis familiarizados con la electrónica, los motores y la mecánica? Si es así, ¿por qué no echáis un vistazo en www.elektor-labs.com/node/3450 y publicáis vuestra contribución?Foto: BMW Welt

Cinco proyectos ‘Cool’Webcam Wi-Fi/3G Sin Hilos Externad Solar

www.elektor-labs.com/node/3538

Bluetooth ‘todo lo que puedes comer’ www.elektor-labs.com/node/3032

Controlador PWM para luz de flash www.elektor-labs.com/node/3537

Sniffer RS-485 www.elektor-labs.com/node/3522

Trampa para Ratones que Respeta a los Ratones www.elektor-labs.com/node/3433

Page 15: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

elektor labs

www.elektor-magazine.es | noviembre 2013 | 15

www.elektor-labs.com

Inversor de FrecuenciaSe trata de un proyecto en el que tengo un interés personal, pero nunca

he conseguido construir uno. Como siempre, no soy el único que ha visto el post del OP PappaBaer. Un inversor de frecuencia o, para ser más exactos, un controlador de frecuencia variable (VFD), es un dispositivo que puede controlar la velocidad de rot-

ación de un motor AC, por lo general, de tres fases. Elektor ya publicó un dispositivo de este tipo en 1994/1995. El proyecto tuvo tanto éxito que fue recuperado de nuevo en la sección de Retrónica en 2006, pero nunca se ha visto un sucesor. Los componentes utilizados en el diseño original ahora son difíciles de encontrar o incluso están obsole-

tos, por lo que un rediseño sería bienvenido. Esta vez con el software de código abierto, por supuesto. ¿Alguna vez habéis participado en un proyecto de este tipo? Si es así, por

favor, podéis uniros a nosotros en www.elektor-labs.com/node/3484.Foto: Wikipedia

Luz de Marcha Atrás de RemolqueUna de las mejores cosas de los laboratorios de Elek-tor es la gran diversidad de los proyectos recibidos. Hay un montón de cosas por descubrir gracias a los distintos intereses de los autores. Hace algún tiempo, PLEG54 nos envió un proyecto para desarrollar un adaptador para que vehículos antiguos puedan tirar

de remolques/caravanas modernos que llevan una luz de marcha atrás o luz trasera. La Normativa ECE R48 impone esto. ¿Qué es ECE-R48? Hice algunas investigaciones y descubrí el Foro Mundial para la Armonización de los Reglamentos sobre Vehículos. Se trata de un grupo de trabajo de la División de Transporte Interior de la Comisión Económica de Naciones Uni-das para Europa (UNECE), que tiene asignada la creación de un sistema uniforme de normas en el diseño de vehículos, para facilitar el comercio internacional de transportes terrestres. La normativa R48 hace referencia a la instalación de iluminación y dispositivos de señalización luminosa. Esto significa que la ONU es quien decide qué luces y qué reflectores son necesarios en nuestros coches y remolques y dónde. En cualquier caso, todo esto es muy instructivo pero, la parte realmente interesante, es donde el OP se ha quedado atascado y necesita un poco de ayuda. Lo podéis encontrar en www.elektor-labs.com/node/3360.Foto: Wikipedia

Prueba de Corriente basada en GMRMedir la corriente con un multímetro es fácil, pero hacer lo mismo con un osciloscopio es un poco más complicado. Por

supuesto, puedes comprar sondas de corriente especiales, pero suelen ser caras, motivo por el que el OP RolandSautner decidió diseñar la suya.

Las sondas de corriente, sin excepción, utilizan sensores de efecto Hall y transformado-res de corriente alterna (AC) para medir corrientes DC y AC, pero el OP quería usar otro

método: la magnetorresistencia gigante o GMR. ¿Por qué? Porque tenía por ahí un sensor de campo magnético KMZ51 sin usar y sentía que era una lástima no usarlo. El OP ha avanzado bastante, pero al final se ha encontrado con algunos problemas, principalmente relacionados con la mecánica. ¿Podéis ayudar al OP a transformar su diseño en una sonda práctica? Si Podéis, visitad la página web www.elektor-labs.com/node/3423 y publicad vuestras ideas y sugerencias.Foto: Agilent

Nota: OP son las siglas de Original Poster (Posteador Original) en inglés, es decir, la persona que ha iniciado un proyecto ‘en línea’ o una discusión. Los OPs que quieran tener la oportunidad de

aparecer en la edición impresa de Elektor deben chequear (regularmente) su dirección de correo electrónico que usan para acceder a Elektor.Labs. Este es nuestro único medio de contacto.

Page 16: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

16 | noviembre 2013 | www.elektor-magazine.es

•Labs

1

2

3

El PCB Prototyper de Elektor [1] es una máquina de rutado de placas de circuito impreso (o PCB) diseñada para hacer nuestras propias PCBs, con aislamiento de pistas por debajo de los 100 µm de ancho y con diámetros de taladrado de hasta 0,2 mm (0.008”). Aquí, en los laboratorios de Elektor (en el sótano, para ser precisos), usamos nues-tra propia máquina de fabricación de prototipos de PCBs cuando necesitamos una con urgencia para construir un prototipo, o cuando queremos experimentar con sus formas. Inspirado por nues-tro propio circuito TAPIR [2], comprobamos el potencial de nuestro PCB Prototyper produciendo palcas con formas personalizadas. Después de ‘jugar’ un poco, fuimos capaces de persuadir a la máquina que para que produjese las formas que tenemos en mente. Para nuestra gran sat-isfacción dominamos incluso la fabricación de nuestras propias PCBs multicapa (ver foto).Impacientes por compartir nuestra positiva expe-riencia con vosotros, nuestros estimados lec-

tores y suscrip-

tores, nos vais a permitir guiaros

con imágenes, a través de los pasos que segui-

mos para controlar nuestro PCB Prototyper. Hemos utilizado Eagle

Cadsoft para diseñar un ejemplo de placas de circuito impreso y, el programa asociado, el PCB Module, para controlar el PCB Prototyper. Si, al igual que nosotros, os gustaría “aprender a volar con Eagle”, ¡leed el libro! [3].

(130128)

Enlaces en Internet [1] www.elektor.es/PCBprototyper[2] www.elektor.es/tapir[3] www.elektor.es/eagle

Aurélien Moulin (Aprendiz de los Laboratorios de Elektor)

Clase Magistral de PCB Prototyper

En Eagle, seleccionamos la herramienta ‘wire’ para dibujar líneas o la herramienta ‘arc’ para producir formas redondeadas. Debemos asegurarnos que seleccionamos la capa ‘20 Dimension’ y el ancho a 0. A continuación hacemos el boceto de nuestro diseño.

Hay que verificar que las líneas forman polígonos cerrados, de manera que cada forma delimita un área interior y exterior.

El área verde no forma parte de la PCB y tiene que ser cortada. Las zonas rojo brillante deberán ser cortadas desde dentro de la PCB.Exportamos nuestro diseño usando la función CAM Processor. Seleccionamos GERBER_RS274X y marcamos sólo la capa Dimension. Pulsamos en la opción File para salvar las salidas (dando nombre a la ‘dimensión’) y pulsamos sobre Process Job. Repetimos este proceso para la capa ‘top’ (seleccionamos Top, Pads, y Vias; sin olvidar renombrar nuestro fichero antes de procesar el trabajo). Para crear el fichero de taladrado, en lugar de GERBER_RS274X, seleccionamos EXCELLON y repetimos el proceso. Esto concluye la parte de Eagle.

Page 17: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-magazine.es | noviembre 2013 | 17

clase magistral

4

5

69

8

7

Lanzamos ahora el programa PCB Module y abrimos un nuevo proyecto. Pulsamos sobre Import Layer, seleccionamos nuestra capa ‘top’ y la importamos sobre la capa ‘top’. Importamos una segunda capa y seleccionamos nuestro fichero de dimensiones. Importamos este fichero sobre Board Outline/Cut-outs. También importamos el fichero de taladrado si lo necesitamos.

Podemos intentar corregir esto en Eagle (usando una estructura de hilo o ‘wireframe’ para la forma del carácter), pero esto significa que tenemos que volver a hacer todo nuestro procesado CAM. En lugar de ello, podemos hacer esto rápida y sencillamente: dibujamos un polígono (la herramienta oculta detrás de la pestaña Create) que siga aproximadamente en el centro de las líneas del carácter y los seleccionamos como inline usando la herramienta Inside.

Ahora seleccionamos la herramienta Inside y le aplicamos las dos formas que se tienen que recortar de la PCB. Debemos tener en cuenta que la ‘E’ no está rellena adecuadamente. Esto obliga a hacer algún ajuste fino manual. Cancelamos la última traza (ctrl+z).

Ahora vamos a definir las ‘inlines’ (‘áreas internas’) y ‘outlines’ (‘contornos’) (términos usados en el PCB Module). Pulsar en la pestaña Modify y seleccionar la herramienta Outside.

Colocamos nuestro puntero sobre la forma global. El color cambiará de amarillo a blanco, indicando que el polígono que vamos a seleccionar tiene un contorno. Al pulsar sobre el contorno ya lo tenemos seleccionado.

Ahora necesitamos añadir alguna Break-out tabs. Usamos la herramienta Break-out tabs de la pestaña Create y pulsamos sobre una parte recta de su perímetro. El programa centra automáticamente la zona a extraer. El tamaño por defecto es de 2 mm (0.08’’), que es bastante delgada, pero podemos ajustarla a nuestras necesidades. Un resultado final adecuado debería tener la apariencia de lo que se muestra aquí. Ahora nuestro diseño está listo para las etapas habituales de procesamiento (contorno; lista de herramientas, mecanizado). ¡Feliz rutado!

Page 18: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Community

18 | noviembre 2013 | www.elektor-magazine.es

Compilado por Wisse Hettinga

Elektor World

Deja que tu Cerebro lo Piense...y que el software haga el trabajo. Aquí, en el MOSI (Museum of Science and Industry o Museo de las Ciencias y la Industria), en Manchester, Reino Unido, un grupo de 20 diseñadores de una selección de empresas se reunieron para llevar el nuevo DesignSpark Mechanics al límite. ¡El reto es desarrollar en 48 horas algo del tipo de “salvar la vida” y tenerlo impreso en 3D! No es una tarea fácil para gente que, normalmente, hace más cosas además de salvar el globo, pero cuyas ideas siempre son interesantes. Actualmente estamos lejos de poder decir que las actividades de salvar al mundo del equipo de Elektor están limitaas a prevenir que unas pocas plantas desafortunadas se sequen en el interior de sus oficinas. ¡Ya es un comienzo!

Todo SonrisasLos tipos que veis sonriendo son del equipo de diseñadores de Flowcode. Todos tienen razones para estar feli-ces ya que acaban de finalizar la versión 6 de Flowcode, un nuevo y excitante producto. Donde otros programas de codificación sólo nos permiten ver un LED parpadeando o un nivel de señal, Flowcode 6 nos permite programar y simular un mundo completo 3D. Los típicos diseños de un programa CAD en 3D pueden ser importados y ‘traídos a la vida’. Por ejemplo, podemos tener nuestros diseños de impresión en 3D para simular y trabajar, antes de comenzar la producción real. De esta manera, esta nueva versión de Flowcode nos acorta la separación entre la programación electrónica y la simulación de las acciones del mundo real.El equipo tiene su base en Halifax, Reino Unido, y estoy seguro que podemos esperar más aplica-ciones y desarrollos de ellos en un futuro próximo.Flowcode está disponible en la Tienda de Elektor, visita: www.elektor.es/flowcode

Cada día, cada hora, cada minuto, en todo momento, los diseñadores y aficionados no dejan de idear, ajustar, crear ingeniería inversa y desarrollar nuevos productos electróni-cos. Principalmente como diversión pero, de vez en cuando, lo que resulta divertido se convierte en un ne-gocio serio. Elektor World crea conexiones con algunos de

los eventos y actividades, tanto por diversión como por negocios.

Page 19: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

alrededor del mundo

www.elektor-magazine.es | noviembre 2013 | 19

Punto de Lanzamiento del ‘Internet de las Cosas’ Es una idea atrevida, pero no irrealizable que, algún día, muchos de los dis-

positivos habituales en nuestras vidas tengan sensores integrados que les per-mitirán comunicarse a través de una estructura similar a Internet. Los productos

de gran consumo, desde los coches a las aplicaciones domésticas y otros equi-pos electrónicos, serían capaces de conectarse a este tipo

de redes locales y globales. Las implicaciones para modelos individuales y de negocio son enormes.

De acuerdo a la firma de marketing ABI Research, más de 30.000 millones de dispositivos estarán conectados, sin hilos, a

través de la denominada “Internet de las cosas” (o IoT), allá por el año 2020. Y la revista Circuit Cellar ha recopilado una lista de los

recursos “en línea” que ayudarán a las aplicaciones individuales y de negocios a mantenerse al día con la evolución de la IoT.Independientemente de si estamos buscando un taller en Italia sobre redes de sensores sin hilos, la información de contacto de los innovadores en el campo o detalles sobre nuevas aplicaciones en la IoT o avances en la misma, también podemos encontrar información en línea muy útil sobre las prestaciones en los “recursos del Internet de las Cosas (IoT)” en circuitcellar.com/featured/iot-resources.Y se trata de una lista que se espera que crezca. Si conocéis un recurso que debiera ser añadido, por favor enviad un correo electrónico a CJ Abate y Mary Wilson en la dirección [email protected].

¡Esto Suena Bien!En el dominio de la electrónica de audio, Elektor International Media publica audioXpress, Voice Coil, Loudspeaker Industry Sourcebook, World Tube Directory, libros y más cosas. Estos títulos fueron creados en EEUU por Edward T. Dell (1923-2013) y, durante unos 35 años sirvieron a los constructores de audio ‘Hágaselo Usted Mismo” (o DIY), así como a los que trabajan en la industria del audio, con grandes artículos, proyectos, trucos y tecnologías.Creyendo que el trabajo de los aficionados debería servir como modelo para la industria en lo que respecta a la excelencia del diseño y la calidad de los montajes, Ed Dell lanzó The Audio Amateur en 1970, una revista dedicada exclusivamente a montajes DIY de audio. 10 años después, pensando que aún había suficiente interés en el mercado de los altavoces, Ed lanzó una revista independiente, en 1980, llamada Speaker Builder, mientras una ter-cera publicación, Glass Audio, respondía al interés creciente de los equipos de audio basados en vávulas de vacío.En 1996, la revista Audio Amateur fue renombrada como Audio Electronics y, en el año 2000, las tres revistas fueron agrupadas en una única, con lan-zamiento periódico mensual, llamada audioXpress.En 2011, Ed Dell vendió su compañía a Elektor International Media.Un nuevo equipo editorial, reafirmado por destacados autores de la red Elektor, está trabajando actualmente en el rediseño de la publicación con un formato ampliado, dirigido hacia la comunidad global de ingenieros de audio, cubriendo también los esfuerzos de I+D en la industria en muchas nuevas áreas de aplicación.La revista audioXpress, con aire fresco y nuevo estilo, se presentó en la convención AES de NY (del 17 al 20 de octubre), con un nuevo formato gráfico de impresión y una portada totalmente digital, incluyendo un boletín electrónico regular para los cerca de 30.000 miembros que tiene (en el momento de escribir este artículo). audioXpress ya se está comprometienda con la comunidad global de audio a través de Twitter (@audioXP_editor) y Facebook (facebook.com/audioxpresscommunity). Encon-trarás más en www.audioxpress.com.

Page 20: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

20 | noviembre 2013 | www.elektor-magazine.es

Antes de nada, recordemos la estructura básica de nuestro sistema operativo de Linux embe-bido. El bootloader copia el kernel de la tarjeta SD en la memoria de trabajo y lo inicia. El ker-nel hace de “firmware principal”, proporcionando al sistema operativo algunas funciones como el planificador (scheduler), drivers y demás. Final-mente tenemos el árbol de directorios, en el que se encuentran todas las aplicaciones, datos de usuario, archivos de registro, etc.En el inicio, distintos programas son llamados desde el árbol de directorios. Nuestras propias aplicaciones han de copiarse por lo tanto a este árbol, e integrarse en la rutina de inicio. Si copia-

mos la aplicación a un determinado lugar de la tarjeta SD, lógicamente tendremos que asegurar-nos de que el resto de estructuras se mantienen tal y como estaban.La aplicación puede volcarse a la tarjeta SD bien mediante un PC con Linux, o un lector de tarjetas (figura 1). También es posible conectar la placa Linux por red a un PC y transferir el archivo.

Desarrollando con Linux, para LinuxLa placa Linux de Elektor se suministra con una tarjeta SD que ya incorpora el bootloader, el ker-nel y el sistema de archivos [2]. Pero lógicamente, también puede ocurrir que perdamos la tarjeta

Benedikt Sauter [1] (Alemania)

Desarrollando con Linux embebidoC++ con Eclipse

Muchas cosas han pasado desde que iniciamos esta serie de artículos sobre Linux. Por ejemplo, ya está disponible la segunda versión de la placa Linux de Elektor/Gnublin; entre otros, se ha mejorado el sistema de archivos de la tarjeta de me-moria. Es hora de recordar algunos conceptos básicos. Pero lógicamente lo vamos a hacer de la forma más atractiva para todo usuario: desarrollando nuestras pro-pias aplicaciones.

Page 21: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

C++ con eclipse

www.elektor-magazine.es | noviembre 2013 | 21

o se corrom-

pan los archi-vos. Así mismo, para

los usuarios que tengan la primera versión de la placa tam-

bién puede ser interesante crear una nueva tarjeta de memoria. El motivo es que

el nuevo sistema de archivos es mucho menos vulnerable ante los imprevistos, por ejemplo si hay un corte de corriente (ver el cuadro).Se ha desarrollado una herramienta gráfica para crear nuestras propias tarjetas SD: el “Gnu-blin-Installer” Su funcionamiento se describe en el cuadro de texto.Gnublin-Installer es un ejecutable para PCs con Linux. Pero aunque no fuera necesario utilizarlo, se recomienda utilizar Linux siempre para desa-rrollar aplicaciones de Linux embebido. Por nues-tra parte, recomendamos Ubuntu, ya que la guía desarrollada para la placa se hizo en base a este sistema y hay multitud de guías para principian-tes en Internet.En la tercera parte de la serie Linux [3] ya des-cribimos cómo instalar Ubuntu en un PC. También se muestra cómo utilizar la imagen de Virtual-Box, generada especialmente por el autor para los lectores de Elektor, y que puede descargarse gratis [3]. Si ejecutamos Linux en una máquina virtual ni siquiera hará falta instalar el propio sistema operativo.

Primera pruebaPara refrescar la memoria, repetiremos algu-nos pasos ya descritos en el curso de Linux embebido, necesarios para probar la placa (y posiblemente también la nueva tarjeta SD). Tras conectar la placa a un puerto USB del PC (figura 2) ésta tendrá alimentación y se encen-derá automáticamente.

Ahora en el PC con Linux ejecutamos una consola (el prompt o línea de comandos) e iniciamos el

programa terminal Picocom con la siguiente instrucción:

sudo picocom -b 115200 /dev/ttyUSB0

El PC se conectará con la placa mediante el cable USB y el chip puente CP2102.

Si utilizamos un PC en Windows con Vir-tual Box, habrá que ajustar el programa de

modo que las señales del CP2102 pasen hacia “dentro” del sistema operativo Linux que hace de invitado.

Para una primera prueba tendremos que hacer boot de nuevo (pulsando en reset); el proceso del “booting” se mostrará en el monitor del PC. Al final aparecerá la línea de comandos de Gnu-blin, aquí habrá que introducir “root”. Los prin-cipiantes deben familiarizarse con los comandos

Figura 2.Conexión con el PC, por USB y Wi-Fi.

Figura 1.Lector de tarjetas micro SD.

Page 22: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

22 | noviembre 2013 | www.elektor-magazine.es

El entorno de desarrolloPara desarrollar nuestras propias aplicaciones, primero tendremos que instalar en el PC un com-pilador y un entorno de desarrollo. Abrimos la consola e introducimos el siguiente comando:

wget http://gnublin.org/downloads/eldk-eglibc-i686-arm-toolchain-qte-5.2.1.tar.bz2

Tras finalizar la descarga, descomprimimos el archivo directamente en el sistema de archivos del PC de desarrollo:

sudo tar xjf eldk-eglibc-i686-arm-toolchain-qte-5.2.1.tar.bz2 -C /

Este comando extrae el contenido del archivo tar y copia el Cross-Compiler en el directorio /opt/eldk-5.2.1/, una tarea que puede llevar cierto tiempo. La instrucción necesita privilegios de root, pues el archivo se descomprime en “/”. Quien utilice la máquina virtual preparada específica-mente para este curso tendrá que proporcionar la contraseña “elektor”.

En los próximos pasos descargaremos la versión más actual de Eclipse, “Juno” [5]. Ésta es la única que incorpora las “cdt tools” (y no la rela-tivamente reciente versión “Kepler”), un set de herramientas adicionales de Eclipse para desa-rrollar programas en C/C++. Podemos utilizar la versión para Linux de 32 o 64 bits (figura 3).Al finalizar la descarga veremos un archivo tar.gz en el directorio de descargas de Ubuntu. Pode-mos descomprimir este archivo en el directorio raíz mediante el siguiente comando:

cd ~/Downloads

tar -vxzf eclipse-cpp-juno-SR2-linux-gtk.tar.gz -C ~/

Para iniciar Eclipse cómodamente desde la con-sola, tendremos que modificar en su directorio raíz el archivo “.bashrc”. Abrimos el archivo con el editor nano:

nano ~/.bashrc

Y añadimos el siguiente comando en una nueva línea:

export PATH=$PATH:~/eclipse

más típicos en Linux, como cd, mkdir y cat. Para comprobar que hemos hecho algo útil, podemos encender y apagar el LED de la placa, como se describe en la parte 2 de la serie de artículos sobre Linux [4].Finalmente dejamos la placa en “hold”, sin tocarla. Tras desconectarla del PC con Linux el programa terminal se cerrará automáticamente y veremos nuevamente la línea de comandos del PC.

Figura 3.Descargando el entorno de desarrollo Eclipse.

Figura 4.Aquí seleccionamos dónde se encuentran nuestros propios proyectos.

Figura 5.Nuestro primer proyecto en C++.

Page 23: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

C++ con eclipse

www.elektor-magazine.es | noviembre 2013 | 23

Hemos de importar ambos archivos, “gnublin.cpp” y “gnublin.h” en el proyecto de Eclipse. Al hacerlo se creará una copia de los archivos en el directorio del proyecto. Para ello, hacemos click con el botón derecho del ratón en el directorio src del proyecto (a la izquierda, en el “Project Explorer”). En el menú, seleccionamos “Import”, “General” y “File System”. En la ventana que apa-rezca (ver figura 7) primero elegimos el direc-torio desde el que se importarán los archivos, en nuestro caso es “gnublin-api”. De los archivos de dicho directorio, seleccionamos tanto “gnublin.cpp” como “gnublin.h”.Para actualizar la API más adelante, en la consola y situados en el directorio local “gnublin-api”, hemos de introducir el siguiente comando:

git pull

Conexión de redEn la ventana del código fuente introducimos el programa principal del listado 1. Posteriormente

Posteriormente guardamos el archivo con Ctrl+O y lo cerramos con Ctrl+X. Ahora es recomendable cerrar la consola de Ubuntu y volverla a abrir.Llegados a este punto, para iniciar Eclipse sim-plemente introducimos:

eclipse

Tras el inicio se nos preguntará inmediatamente por el directorio de trabajo en el que queremos guardar nuestros proyectos. El directorio por defecto suele funcionar en la mayoría de los casos (figura 4).

Nuestro primer proyectoEmpezaremos con una pequeña aplicación. Para ello, hacemos click en el menú principal de Eclipse, en Archivo → Nuevo → Proyecto en C++ y seleccionamos Ejecutable → programa Hello World C++, así como “Cross GCC” (véase la figura 5). Llamaremos a nuestro primer pro-yecto “RelayDemo”.

Posteriormente se abrirá la ventana mostrada en la figura 6; aquí se introduce el siguiente directorio de Cross-Compiler:

Prefix: arm-linux-gnueabi-Pfad: /opt/eldk-5.2.1/armv5te/sysroots/i686-eldk-linux/usr/bin/armv5te-linux-gnueabi

En el siguiente paso integraremos la librería de Gnublin-C++ en nuestro proyecto, con la cual puede accederse fácilmente a los periféricos de la placa Linux y otras placas de expansión [2]. Para ello lo mejor es descargar el directorio completo en “Git”, que se trata de una copia del archivo de software. Más tarde, podemos descargar actua-lizaciones fácilmente.

Primero hay que instalar la última versión del software de control de Git:

sudo apt-get install git

Ahora elegimos el directorio en el que deseamos guardar el código fuente de la API C++. Después lo descargamos de Internet:

git clone https://github.com/embeddedprojects/gnublin-api

Figura 6.Especificamos Cross-Compiler para nuestro sistema de Linux embebido.

Figura 7.Los archivos gnublin.cpp y gnublin.h incluyen funciones capaces de simplificar en gran medida el desarrollo de nuestros proyectos.

Page 24: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

24 | noviembre 2013 | www.elektor-magazine.es

gnublin-wlan -s namenetzwerk -k wlanpasswort -t dhcp

El nombre de la red y la contraseña han de introducirse sin espacios ni caracteres especiales.

Si queremos que la conexión de red se establezca automáticamente en el siguiente reinicio, tendre-mos que crear una entrada en el archivo “/etc/rc.local”. Para ello abrimos el archivo con nano y añadimos dicho comando antes de la instrucción “exit0” (ver la figura 8).

Ahora realicemos un test para ver si la placa está conectada correctamente, como hicimos en artículos anteriores haciendo ping a un servidor externo:

ping www.google.de

Si no tenemos éxito utilizando la herramienta gnublin-wlan (como ocurrió con el WLAN para invitados en la central de Elektor, cifrado por WPA), tendremos que referirnos a la wiki de Gnublin, en la sección “para principiantes del terminal” [8].

Abrir la consola SSHUna vez conectados a la red, comprobamos la dirección IP de la placa introduciendo ifconfig.Ahora queremos conectarnos al exterior desde la placa utilizando SSH, a través de la red del PC. Habrá que asignar una contraseña una vez.En la placa Linux se hace mediante el comando:

passwd

Posteriormente introducimos dos veces la misma contraseña. Una vez listos, podemos conec-tar la placa al PC de desarrollo (en lugar de 192.168.0.190 habrá que introducir la dirección IP de la placa):

ssh [email protected]

Luego tendremos que teclear “yes” y confirmar el fingerprint de la placa. Finalmente, con la contraseña recién asignada ya podremos eje-cutar comandos en la placa desde la consola de Linux.

se compila el programa haciendo click en el icono en el que aparece un pequeño martillo. En la ven-tana de estado podemos ver si la compilación se realizado con éxito. Así mismo se mostrarán los posibles errores o warnings.En el directorio ~/workspace/RelayDemo/Debug se encuentra el archivo RelayDemo. Se trata del ejecutable que debe estar en la placa Linux. Lógi-camente podemos introducir la tarjeta SD en un lector en nuestro PC y transferir la aplicación manualmente. Pero para programas grandes, que normalmente requieren muchas pruebas y con-tinuos cambios, podríamos acabar convirtiéndo-nos en un disc-jockey de tarjetas SD (poniéndola y quitándola todo el rato). Sin duda es mucho mejor transferir el programa por la red.

Antes de nada hay que establecer la conexión de red en la placa Linux. Puede hacerse mediante un cable RJ45, como describimos en la anterior entrega [6]; para más información también con-viene consultar este enlace [7].Más fácil aún resulta por Wi-Fi, sirviéndonos de uno de los adaptadores WLAN recomendados [8], por ejemplo el Asus WL-167g V3 (ver la figura 2).Primero hay que establecer la conexión con la placa mediante picocom y ejecutar el siguiente programa en ella:

Listado 1: demo con relé.

#include "gnublin.h"

int main (int argc, char **argv) gnublin_gpio gpio;

gpio.pinMode(18,OUTPUT);

while(1)

gpio.digitalWrite(18,HIGH);

sleep(2);

gpio.digitalWrite(18,LOW);

sleep(2);

Page 25: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

C++ con eclipse

www.elektor-magazine.es | noviembre 2013 | 25

Ahora podremos oír el relé de la placa abriéndose y cerrándose cada segundo.Si no queremos tener que introducir la contra-seña SSH cada vez que volquemos el programa, es posible definir una clave única entre el PC de desarrollo y la placa Linux. El procedimiento se explica en [9].

AutoarranqueHay dos formas para lograr que la aplicación se ejecute automáticamente tras un reinicio. La

Transfiriendo el programaAhora, en el PC de desarrollo, nos dirigimos al directorio en el cual se ha compilado el programa...

cd ~/workspace/RelayDemo/Debug

...y copiamos de aquí el ejecutable a la placa Linux mediante el comando...

scp RelayDemo [email protected]:/root

...que requiere la contraseña SSH dada. A partir de ahora podremos encontrar el ejecutable en el sistema de archivos de la placa Linux.

Ahora volvemos a conectar con la placa desde la consola y nos dirigimos al directorio en el que se halla nuestro programa:

cd /root

Ejecutamos el programa con:

./RelayDemo

Figura 8.En el archivo “/etc/rc.local” pueden especificarse llamadas a programas, que se ejecutarán en el próximo reinicio.

Creando nuestras propias tarjetas SDPara crear una nueva tarjeta SD lo mejor es utilizar la herramienta “Gnublin-Installer”. Sólo necesitaremos un PC con Linux en el cual instalar el software, conexión a Internet (para descargar los archivos de imagen necesarios) y un lector de tarjetas SD.También puede utilizarse una máquina virtual en lugar de un PC con Linux. En cualquier caso la distribución debería ser Ubuntu o Debian.Primero nos dirigimos a la página web [11] y descargamos el paquete correspondiente, “amd64” (para sistemas operativos de 64 bits) o bien “x386” (para sistemas de 32 bits). Tras hacer doble click en el que hayamos elegido debería iniciarse el sistema de gestión de paquetes.Una vez instalado Gnublin-Installer, podemos iniciar la consola con privilegios de root (tras haber introducido la tarjeta SD en el lector):

sudo gnublin-installer

Ahora seleccionamos la tarjeta SD en la lista de “Select-Device”, y de las opciones marcamos “fetch from http://gnublin.org”. Más tarde aquí podremos especificar nuestras propias imágenes.Tras hacer click en “Apply” habrá que esperar un poco, dependiendo de la velocidad de escritura de nuestra tarjeta SD. Podemos ver cómo se desarrolla el proceso en la ventana de logging.

Page 26: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

26 | noviembre 2013 | www.elektor-magazine.es

kill Prozess-ID

...se finaliza el proceso (ver figura 9).La forma complicada se basa en un script de start y stop. Después será posible ejecutar y cerrar el programa en cualquier momento cómodamente desde la línea de comandos. El procedimiento se explica en la wiki [10].

(130298)

Enlaces de Internet

[1] [email protected]

[2] www.elektor.es/gnublin

[3] www.elektor.es/120180

[4] www.elektor.es/120146

[5] http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/junosr2

[6] www.elektor.es/130124

[7] http://en.gnublin.org/index.php/GNUBLIN-LAN

[8] http://en.gnublin.org/index.php/WLAN

[9] http://en.gnublin.org/index.php/Ssh_administration

[10] http://en.gnublin.org/index.php/Application_autostart

[11] http://en.gnublin.org/index.php/Gnublin_Installer

rápida, no tan “limpia”, y otra algo más compleja, pero también más elegante.La forma fácil consiste en incorporar el comando para llamar al programa en el archivo “/etc/rc.lo-cal”, tras la línea “exit 0” (como se muestra en la herramienta gnublin-wlan). Ya que el programa debe iniciarse en segundo plano, añadimos un “ampersand” al final de la línea de comando:

/root/RelayDemo &

Es importante nombrar el directorio absoluto del programa (y no el relativo). Para cerrar el pro-grama tendremos que encontrar la ID del pro-ceso. Durante la ejecución, podemos averiguarlo mediante...

ps ax

...en la consola. Aparecerá una lista en la que podremos ver en algún lugar el programa Relay-Demo. Al principio de cada línea hay un número, se trata de la ID de proceso correspondiente con el programa en cuestión.Con...

¡Se acabaron los errores en el sistema de archivos!Como todo programa, una aplicación de Linux debe ejecutarse desde la memoria flash de forma segura, incluso ante imprevistos como un corte de tensión. En las primeras versiones de la placa Linux de Elektor se utilizaba “ext2” como sistema de archivos, que no es muy seguro en caso de fallo de la alimentación. La nueva versión de la placa Linux de Elektor incorpora el sistema de archivos “ext4”. En caso de que haya

un corte accidental, o si desconectamos la alimentación de la placa sin desactivarla, el sistema se iniciará como si fuera la primera vez.

A los usuarios con tarjetas SD viejas se les recomienda crear una nueva con Gnublin-Installer (ver cuadro). El procedimiento sirve para todas las placas Linux de Elektor, ya tengan 8 MB o 32.

Figura 9.Mediante la ID de proceso podemos identificar una aplicación en segundo plano para cerrarla.

Page 27: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

We’re celebrating a new look — and the next 25 years.

25% off CirCuit Cellar Whether it’s programming advice or design applications,

you can rely on Circuit Cellar for solutions to all your

electronics challenges. Raspberry Pi, embedded Linux,

low-power design, memory footprint reduction and

more! Become a member, and see how the hottest new

technologies are put to the test.

www.circuitcellar.com/sepN13J o i n t o d a y !

Naamloos-9 1 28-08-13 09:43

Page 28: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

28 | noviembre 2013 | www.elektor-magazine.es

•Labs

Es un hecho muy bien conocido: los errores matan a gente y los errores de programación no son una excepción. Todos los años muere gente debido a errores de programas. Algunos accidentes fata-les de avión, helicóptero y coches pueden ser atribuidos a problemas en el software. El mal funcionamiento del ‘firmware’ interno de los dis-positivos médicos crea víctimas de manera regu-lar. Los edificios se convierten en humo debido a errores de programa, y algunas personas son asesinadas a machetazos. El software erróneo puede incluso hundir barcos. Creedme, he visto que eso sucede.Un segmento de programa que hace un trabajo significativo libre de errores no existe. De acuerdo con Wikipedia, el Centro de Tecnología de Seguridad Software (Software Assurance Technology Centre) de la NASA, ha conseguido producir programas con menos de 0,1 errores por cada 1000 líneas de código, un valor que se considera extremadamente bueno. Las organizaciones comerciales no tienen tiempo ni dinero para alcanzar este nivel de cali-dad. Aparentemente, Microsoft alcanza la cifra de 0,5 errores por cada 1000 líneas de código cuando lanza un nuevo producto, con lo que, si pensamos que Windows XP fue compilado con 45 millones de líneas de código, nos da que contenía más de 22.500 errores cuando salió al mercado. Se estima que los programas escritos en la industria para uso interno tienen rangos de errores de entre 5 a 50 errores por cada 1000 líneas de código.Los defectos de los programas (un término más oficial para los ‘bugs’ o errores) tienen muchos y variados orígenes, desde malas comprensio-nes y problemas complejos hasta programación completamente descuidada. Contrariamente a la creencia popular, hacer un buen programa no es nada fácil y exige una precisión y cuidados

extremos. Por cada línea de código que se tiene que escribir se requieren al menos tres cosas: Una buena comprensión del problema y de la

solución que la línea de código se supone que implementa.

La capacidad de expresar esta solución correcta-mente en el lenguaje de programación disponible.

No realizar ningún error de escritura mientras introducimos el código.

A menudo, el primer punto es la parte más dura, especialmente para los proyectos largos. Éste es el motivo por el que los arquitectos de sistemas muy habilidosos y unas buenas especificaciones, son esenciales para el éxito de un proyecto.El segundo punto también es difícil e implica la elección de un lenguaje de programación (no cualquier lenguaje es adecuado para cualquier situación) y expresar el razonamiento lógico en un lenguaje no natural sin cometer errores.El tercer punto parece irrelevante, pero realmente es bastante duro de conseguir. Es muy fácil que se nos olvide un corchete o un paréntesis, inter-cambiar dos símbolos o escribir erróneamente un carácter. Es sólo aquí donde las herramientas de programación comienzan a ayudar al desarrolla-dor y sólo remarcando los errores de sintaxis y, puede que, los problemas de compatibilidad y otros conflictos entre los objetos de datos.Para reducir el riesgo de creación de futuros defectos debidos a nuestras líneas de código, podemos añadir a esta lista: Asegurarse de que el código está escrito de

una forma clara y entendible. Añadir comentarios (y mantenerlos al día) que

expliquen el razonamiento detrás de cada línea de código.

Adherirse a un estándar de codificación.

Clemens Valens (Elektor.Labs)

Estándares de CodificaciónMejora tu circuito con un software mejor

A menudo gastamos una gran cantidad de energía diseñando un circuito elegante, bien diseñado y robusto. Hoy día, el cerebro de muchos de estos circuitos es un microcontrolador que necesita un software para funcionar. ¿No es razonable entonces esperar un programa bien diseñado y escrito adecuadamente que se complemente con la calidad del trabajo del circuito? Aparentemente así es. Hablemos de la cualidad del software.

Page 29: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-magazine.es | noviembre 2013 | 29

estándares de codificación

Características excluidas explícitamente del lenguaje que pueden ocultar errores de codificaciónEn C y C++ es ilegal hacer uso del operador de asignación ‘=’ en expresiones Booleanas. Por ejemplo, la siguiente expresión es legal:

if (sample=get_sample()) sample += 2;

Esta línea de código sumara 2 a sample si sam-ple no es igual a 0. ¿Por qué? Bien, primero hacemos llamada a la función get_sample() y el valor que nos devuelve es asignado a la variable sample. A continuación, la sentencia Booleana if verificará si la condición entre sus paréntesis es verdad o falsa. En C/C++, falso es igual a 0 y verdadero es igual a no falso. Por lo tanto, si sample no es cero, la condición se considera que es verdadera y la suma se ejecutará. Pero puede que el programador entienda esto otro:

if (sample==get_sample()) sample += 2;

La diferencia, un carácter ‘=’ adicional, es sutil. En C/C++, la secuencia “==” significa “es igual a”. Así pues, se sumara 2 al valor variable sam-ple solo si el valor de sample es igual al valor devuelto por la función get_sample(). Clara-mente, este no es el mismo comportamiento que el caso anterior.

El item 4 hace referencia al uso de nombres com-prensibles para las funciones y variables. Aunque ello suponga escribir más, un nombre de variable como “aceleracion” es mucho más explícito que “acel” o tan sólo “a”.El ítem 5 suele ser ignorado por muchos pro-gramadores. No porque no sean conscientes de la ayuda de los comentarios de los lenguajes de programación que usaban, sino porque son dema-siado perezosos para usarlos. El último punto es muy importante. Muchos programadores afi-cionados ni siquiera conocen remotamente los estándares de codificación, mientras que algunos programadores profesionales si los conocen, pero no no los utilizan.

Pero, ¿qué es la codificación estándar?La mayoría de las empresas que producen sof-tware tienen reglas propias o convenciones de cómo deben de escribir el código sus desarrolla-dores. En Internet podemos encontrar estándares de codificación para muchos proyectos de código abierto como GNU [1] o Linux. Sin embargo, la mayoría de las veces estas reglas están limitadas al formato del código fuente y su objetivo es el de crear un código fuente uniforme que puede ser mantenido más fácilmente. Como sólo afec-tan principalmente a la apariencia del código, es mejor hablar de un estilo de codificación o programación.Un estándar de codificación real no es un con-junto de reglas que hagan que nuestro programa parezca más bonito; es un conjunto de reglas para reducir los errores de programación. Tam-bién puede ser usado para conseguir cumplir con un estándar de regulación. Como en la actualidad C y C++ son los lenguajes de programación pre-valentes, la mayoría de los estándares de codifi-cación hacen referencia a C/C++. La ventaja de cumplir con un estándar es que podemos utilizar herramientas de análisis estático para comprobar la semántica de nuestro código, en lugar de sólo la sintaxis, algo que nos ayuda a identificar posibles problemas que un compilador no puede encontrar.Así pues, ¿qué tipo de reglas podemos esperar de un estándar de codificación? Aquí tenemos algunos ejemplos:

Error del Año 2000, Y2K o del Milenio (1999)Debido a la práctica de abreviar la cifra de cuatro dígitos del año en dos dígitos, muchos programas corrían el riesgo de calcular erróneamente las fechas después de 1999. Se hicieron enormes esfuerzos para evitar que este error pudiese ser desastroso. Se ha estimado que el coste mundial fue de unos 425 mil millones de dólares, pero al final no sucedió nada serio. Algo similar podría suceder el 19 de enero de 2038 cuando se desborde el contador de segundos de UNIX.

$425.000.000.000

Windows XP fue compilado con 45 millones de líneas de código: en su entrega contenía más de 22.500 ‘bugs’ (errores)

Page 30: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

30 | noviembre 2013 | www.elektor-magazine.es

•Labs

indefinido del programa. De nuevo, algunos com-piladores pueden detectar este problema, pero sólo si los avisos están activados. La única solu-ción es prohibir el uso de punteros no inicializa-das. Como los punteros son peligrosos, algunos otros lenguajes de programación los prohíben.Los punteros están relacionados estrechamente con el desbordamiento de los ‘buffers’, el número tres de la CWE/SANS de 2011, la lista de los 25 errores de programación más peligrosos (que trata principalmente con problemas de seguri-dad del código).[2]

int* p_some_pointer;p_some_pointer = address_of_data_object;p_some_pointer[34] = 3;

Aunque en el fragmento de código anterior el puntero se inicializa antes de usarlo, queda en el aire una cuestión: ¿es válido el índice 34? Si no, se trata de un error de desbordamiento de ‘buffer’.

Escribiendo código robusto En C/C++ las variables de un tipo pueden ser asignadas a variables de otro tipo, siempre y cuando el nuevo tipo de dato tenga la misma o mejor precisión. Por ejemplo, el asignar una variable entera a una variable en coma flotante no producirá ningún aviso. Pero, sin embargo, si hacemos el mismo proceso en sentido inverso, se puede generar un aviso. Esto significa que, por ejemplo, un carácter representado por un valor de 8 bits puede ser sumado a un valor de coma flotante de 32 bits. Es el compilador el que se encarga de la conversión. Para evitar sumar peras con manzanas, un estándar de codifica-ción prohibirá al programador mezclar tipos de datos, a menos que se proporcione una asigna-ción de tipo explícita (cambiando el tipo de dato por otro), como se muestra aquí:

float a = 3.14;int b = (int)a;

Elimina código no usado o imposible Normalmente, todas las líneas de código de un programa tienen una función. Sin embargo, puede suceder que, debido a un error de programación, una o más partes de un programa no puedan ser ejecutadas porque el camino de ejecución hacia esas partes se ha acortado. Tomemos este ‘sketch’ de Arduino:

¿Es éste un error de programación o es algo inten-cionado? Imposible de saber. Algunos compilado-res pueden advertir de este problema, pero sólo si están activados los avisos (‘warning’). Éste es el motivo de por qué un estándar de codificación prohíbe este tipo de características del lenguaje

Usar sólo expresiones de puntero inicializadas Éste es un obstáculo clásico y la causa de innu-merables errores (‘bugs’). Cuando no se inicia-liza un puntero a un objeto de datos (es decir, un puntero “salvaje”), el puntero puede apuntar a cualquier parte de la memoria. El uso de este tipo de punteros producirá un comportamiento

Vuelo 501 del Ariane 5 (1996)Una pérdida completa de la informa-ción de guía remota e inclinación, 30 segundos después del despegue, debido a errores en la especificación en el diseño en el software del sistema inercial de referencia, provocó la desintegración de la lanzadera del satélite. El origen del accidente fue un valor de 64 bits en coma flotante que no coincidía con un entero con signo de 16 bits, lo que pro-vocó el desbordamiento. El valor ines-

peradamente alto fue calculado por un algoritmo diseñado para el Ariane 4. Las pérdidas económicas se estima-ron en unos 400 millones de dólares.$400.000.000

División en coma flotante en el Pentium de Intel (1993)Un error de diseño en el nuevo modelo de procesador Pentium de Intel provocaba pequeños errores cuando se dividían números en coma flotante dentro de un rango específico. Aunque el fallo (‘bug’) afectó a unos pocos usuarios, se convirtió en una

pesadilla de relaciones públicas y, finalmente, un coste a Intel de unos 650 millones de dólares.$650.000.000

Page 31: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-magazine.es | noviembre 2013 | 31

estándares de codificación

será la complejidad de la función. Esta regla de complejidad es difícil de estimar para una per-sona, por lo que lo mejor es dejar que una herra-mienta lo haga por nosotros.

Estilo Aunque anteriormente he dicho que el propó-sito de un estándar de codificación no es el de

void setup(void) int a = -1; unsigned int b = 1; if (a<b) a += 2; Serial.begin(115200); Serial.println(a);

void loop(void)

¿Qué valor se mostrará en pantalla para la varia-ble a? ¡–1! ¿Por qué? Porque, en C/C++, si en una comparación uno de los valores es de tipo unsigned, el otro valor será “cambiado” también, de manera transparente al programador, al tipo unsigned. Pero un entero de 16 bits (como en Arduino) que almacena un valor de ‘-1’ (es decir, 0xffff en notación en “complemento a 2”, el modo en que los valores negativos son representados por la mayoría de los procesadores) es idéntico a nivel de bit a un entero sin signo que almacena el dato 65.535 (0xffff). Como 65.535 es mucho mayor que 1, la condición siempre se evaluará como falsa y la suma nunca será ejecutada: es irrealizable o imposible. El hacer requerimientos para que el pro-gramador elimine el código imposible le obligará (a él o a ella), bien a volver a diseñar el algoritmo o bien, a simplificar el programa. Recordemos que “menos código significa menos errores).Se puede hacer que este ejemplo cumpla con el estándar de codificación, bien eliminando la sen-tencia ‘if’, o bien aplicando la regla de escribir datos robustos en la variable b, es decir, añadiendo una conversión del tipo de variable, de forma tem-poral, que la convierta en entero con signo:

if (a<(int)b) a += 2;

Pon límites a la complejidad Las funciones largas tienden a ser complejas y esto hace que sean más difíciles de comprender y de verificar. Por esta razón, un estándar de codi-ficación puede prohibir que una función o método contenga más de, pongamos, 200 líneas de código.Las herramientas de verificación de un estándar de codificación pueden usar otra métrica para medir la complejidad. Un ejemplo es la comple-jidad cíclica o condicional, que mide el número de caminos independientes que hay a través de una función. Cuantos más caminos haya, mayor

Estándares de codificación populares Sin contar con los estándares locales, hoy día los estándares de codificación más extendidos (en orden de popularidad) son:

MISRA C (y C++) — creado por la Motor Industry Software Reliability Association (o Asociación de Confiabilidad Software de la Industria del Motor) para proporcionar asistencia a la industria de la automoción en la aplicación y creación, dentro de los sistemas de los vehículos, de programas fiables y seguros. Hay que pagar una pequeña tarifa para conseguir el estándar.http://www.misra.org.uk/

CERT C++ (y C) — esta iniciativa, del Instituto de Ingeniería Software de la Universidad Carnegie Mellon (Software Engineering Institute of the Carnegie Mellon University) estriba en eliminar las prácticas de codificación no seguras que probablemente deriven en vulnerabilidades que pueden ser explotadas por entidades maliciosas. https://www.cert.org/ (destacar el uso del protocolo http secure, ‘https’.

En cualquier caso, CERT es segura).

HICPP — High Integrity C++ (o C++ de Alta Integración), puesto disponible gratuitamente por PRQA, que proporciona los principios de guía para el mantenimiento, la portabilidad, la legibilidad y la seguridad colocando restricciones en el estándar del lenguaje C++ ISO, con el fin de limitar la flexibilidad que permite.http://www.codingstandard.com

JSF AV++ — El Joint Strike Fighter Air Vehicle C++ Coding Standard (Estándar de Codificación C++ del Strike Fighter Air Vehicle ) de Lockheed Martin, disponible gratuitamente, está pensado para ayudar a los programadores a desarrollar código que no contenga defectos que pudieran llevar fallos catastróficos que se traducirían en daños significativos en los individuos y/o el equipamiento. (No confundir con los daños significativos a los individuos y/o los equipos provocados por programas militares que funcionan perfectamente bien, es decir, pensados para ese fin). http://www.jsf.mil/downloads/documents/JSF_AV_C++_Coding_Stan-

dards_Rev_C.doc

Aquí podemos encontrar una larga lista de herramientas de análisis de estabilidad para distintos lenguajes de programación:http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis

Page 32: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

32 | noviembre 2013 | www.elektor-magazine.es

•Labs

Todas las identificaciones tendrán, al menos, dos espacios y se verán consistentes dentro del mismo fichero de código fuente.

La sentencia que forma el cuerpo de una senten-cia if, else if, else, while, do-while o for, deberá estar siempre incluida entre corchetes, incluso si los corchetes forman un bloque vacío.

Los corchetes (“”) que contienen un blo-que, serán colocados en la misma columna, en líneas separadas, directamente antes y des-pués del bloque.

Muchos programadores no siguen estas reglas, mien-tras que algunos editores de programación también lo hacen insertando automáticamente tabulaciones. Por cierto, ¿por qué evitar las tabulaciones? Porque estro-pean el formato del código fuente cuando dos o más personas no usan la misma distancia de tabulación.

Hábitos Los compiladores C/C++ vienen con una gran colección de las llamadas librerías estándar. Muchos programadores confían en la disponibi-lidad y fiabilidad de estas librerías y las usan por costumbre. Por desgracia, gran número de estas funciones incluidas en estas librerías pueden exhi-bir una plataforma específica, sin especificar, sin definir, con una implementación definida, o cual-quier otro tipo de comportamiento mal definido.Aquí tenemos algunas reglas que prohíben el uso de algunas funciones y librerías populares: El indicador de error errno no debería ser usado. La librería <locale.h> y la función setlocale

no deberían ser usadas. La herramienta que maneja la señal de <sig-

nal.h> no debería ser usada. La librería de entrada/salida <stdio.h> no debe-

ría ser usada. Las funciones atof, atoi y atol, de la librería

<stdlib.h> no deberían ser usadas. Las funciones abort, exit, getenv y system de

la librería <stdlib.h> no deberían ser usadas. Las funciones de manejo del tiempo de la libre-

ría <time.h> no deberían ser usadas.

Hay que resaltar la prohibición del uso de la librería de entrada/salida <stdio.h>. Sí, esto supone que debemos crear nuestra propia fun-ción printf.

hacer que nuestro código tenga una apariencia bonita, el código puede incluir reglas de estilo que hagan que el código sea más fácil de leer. Un código fuente fácil de leer hace que también sea más fácil identificar posibles defectos poten-ciales. Algunos ejemplos de estas normas son: Las líneas de código se mantendrán a una lon-

gitud de 120 caracteres como máximo. Cada expresión o sentencia estará en una línea

separada. Se deben de evitar las tabulaciones.

Error en el Misil Patriot (1991) Durante la primera Guerra del Golfo, un sistema de misiles Patriot de EEUU falló al interceptar un misil SCUD iraquí que llegaba, dejando 28 soldados muertos e hiriendo a unas 100 personas más. La causa fue un error de redondeo en los cálculos

de tiempo hechos por el programa,

haciendo que ignorase algunos de los objetivos que llegaban.

Terapia de Radiación Mortal (1985-1987, 2000)Debido a un error de software, el dispositivo médico de terapia de radiación Therac-25, haría un error de cálculo en la dosis de radiación que debería administrar. Algunos pacientes recibieron hasta 100 veces la

dosis establecida, llegando a matar al menos a tres de ellos. Un error similar se detectó en la ciudad de Panamá en el año

2000, donde el programa que planificaba la terapia proporcionada a diferentes dosis

dependiendo del orden en el que se introducían los datos. Este error mató al menos a cinco pacientes.

Los errores de software matan personas

28 muertos,

100 heridos

al menos 5 muertos,

muchos heridos

Page 33: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

www.elektor-magazine.es | noviembre 2013 | 33

estándares de codificación

Al final tú decidesLas reglas de diseño de ejemplo listadas más arriba (cogidas todas de los estándares de codifica-ción real), pueden parecer severas, pero no están “escritas en piedra” (es decir, se pueden cambiar). La mayoría de las reglas de los estándares de codificación permiten excepciones. Otras reglas se pueden debatir y nos toca a nosotros decidir si queremos respetarlas o no. En Internet pode-mos encontrar discusiones filosóficas adicionales sobre ciertas reglas que muestran que algunas incluso están abiertas a la interpretación. Incluso un estándar de codificación está sujeto a errores.

(130271-I)

[1] Estándar de Codificación GNU: http://www.gnu.org/prep/standards/standards.html

[2] Lista de los 25 errores de programación más peligrosos: http://cwe.mitre.org/top25/

Hay dos formas de construir un diseño software: Una es hacerlo tan sencillo que obviamente no haya errores y la otra es hacerlo tan complicado que no haya deficiencias obvias.— C.A.R. Hoare, The 1980 ACM Turing Award Lecture

Diseña Simula Descarga

Crea sistemas electrónicos complejos en minutos utilizando Flowcode 6

Más información y pedidos en www.elektor.es/flowcode

Novedades en la versión 6:• Librería de componentes ampliada• Simulación mejorada• Nuevas funciones de test• Entorno de diseño 3D• Compatibilidad con instrumentación

de otros fabricantes• Panel de control para el interfaz de

usuario• ¡Y mucho más!

Flowcode es uno de los lenguajes de programación gráfico más avanzados del mundo para micro-controladores (PIC, AVR, ARM y dsPIC/PIC24). La gran ventaja de Flowcode es que permite a aquellos que tienen poca experiencia crear siste-mas electrónicos complejos en minutos. El interfaz gráfico de desarrollo de Flowcode permite a los usuarios construir un sistema electrónico completo en pantalla, desarrollar un programa basado en diagramas de flujo estándar, simular el sistema y generar el código hexadecimal para microcontro-ladores PIC, AVR, ARM y dsPIC/PIC24.

Publicidad

Page 34: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

34 | noviembre 2013 | www.elektor-magazine.es

En los años anteriores han aparecido frecuente-mente en Elektor proyectos para medir y registrar datos meteorológicos. Con la ayuda de la elec-trónica moderna, pequeña y barata, la medición de la temperatura, presión del aire y la hume-dad ya no es difícil. Sobre todo porque muchas placas con sensores vienen equipadas con un interfaz I2C fácil de configurar y de leer con un pequeño microcontrolador. Pero para completar una estación meteorológica también nos gustaría poder medir la dirección y velocidad del viento, entre otras cosas.

Método alternativo de mediciónLa manera mecánica habitual de medir la direc-ción y velocidad del viento es con una veleta y un anemómetro. La posición de la veleta se deter-mina con un potenciómetro o un descodificador rotativo incremental. La velocidad se mide con-tando los pulsos de rotación por unidad de tiempo o con el eje del anemómetro propulsando una dinamo y midiendo la corriente de éste.Para los electrónicos, la fabricación de este tipo de instrumentos es bastante complicada; gene-ralmente no disponen del conocimiento y la habi-

Bas Schmidt (Holanda)

Veleta de estado sólidoMedir el desplazamiento del calor mediante tres termistores

La medición de la temperatura, presión del aire y humedad ya no es una tarea difícil con los modernos sensores electrónicos. Sin embargo, para medir la dirección y la velocidad del viento se requieren todavía convertidores electromecánicos, cuyos componentes móviles están expuestos a desgaste. Con el método aquí descrito se puede construir una veleta y un anemómetro auténtico con tan sólo algunos componentes.

Page 35: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

veleta

www.elektor-magazine.es | noviembre 2013 | 35

lidad mecánica necesarios, ni tampoco de las herramientas precisas. ¡Tampoco hay que olvi-dar que se trata de instrumentos expuestos a la intemperie! Piensa en lluvia, granizo, nieve, pero también en arena, polvo, hojas y telarañas. Lo que queremos es una alternativa electrónica con una construcción mecánica sencilla.

Si miramos de reojo la teoría de control, encon-tramos una posible solución en forma de medi-dores térmicos de flujo de masa. Estos se aplican para medir cantidades de aire o gas en tubos. El principio de la medición es que el cabezal de medición contiene un pequeño elemento calefac-tor cuyo calor es transportado por el aire o gas que se mide un poco más adelante en el cabezal de medición con un termómetro preciso.Así, la solución para una medición de 360 grados, es colocar un pequeño elemento calefactor sobre un disco con tres sensores de temperatura a su alrededor colocados en un ángulo de 120 gra-dos (ver foto del prototipo del autor, figura 1).

HardwareUn transistor tipo 2N2219A montado en el centro de una placa redonda genera el calor en este pro-totipo. Alrededor y cerca de él montamos tres ter-mistores (Hygrosens CON-TS-NTC-204, se puede adquirir en Conrad, nº 502369, entre otros).Una regla de la teoría del control es que la dis-tancia entre el borde del disco y el termistor debe ser cinco veces mayor que la distancia entre ter-mistor y el transistor. Con esto los remolinos se atenúan suficientemente. Después del montaje de todos los componentes puedes aplicar a todo el montaje dos capas de pintura (negra) para protegerla de la corrosión.La parte mecánica más importante es la ‘tapa’ que hay encima del disco con el transistor y los termistores. Esta tapa en forma de disco está recubierta de papel aluminio y refleja el calor ascendente, de modo que éste se quede dentro de la ranura entre los dos discos.Como alternativa, se puede intentar colocar el cabezal de medición boca abajo; el calor queda suspenso contra la placa que tiene el transistor y los termistores montados encima.Se optó por el transistor tipo 2N2219A porque tiene un encapsulado TO39 metálico redondo (un encapsulado TO3 hubiera sido mejor por su diámetro, sin embargo la placa inferior de forma oval genera un desprendimiento de calor no-uni-forme). Una tensión de alimentación de tan sólo

3,3 V proporciona una mala amplificación eléc-trica, pero genera mucho calor. Mediante una resistencia de 4,7 kΩ entre una entrada digi-tal y la base del transistor, el transistor disipa unos 0,5 W, que – según resulta en la práctica – genera un aumento de la temperatura de unos 30 ºC por encima de la temperatura ambien-tal. Esta forma una ‘nube de calor’ dentro de la ranura que el viento deforma. Los termistores detectan esta deformación. Cada termistor está puesto en serie con una resistencia de 180 kΩ. Groso modo, entre el termistor y la resistencia se encuentra la mitad de la tensión de alimen-tación que se conduce a las entradas analógicas del microprocesador. En la práctica no resultó ser necesaria una mayor amplificación de la señal. Podemos ver el esquema de todo el ‘circuito’ en la figura 2. Mediciones prácticas muestran que en esta con-figuración los termistores detectan más o menos el 20% del calor producido.En el diseño de la placa del ‘circuito’ mostrado en la figura 3, el transistor y los termistores están montados en la cara de los componentes.

K11 23 45 67 8

R2

NTC-

R4

180k

1%

R1

R1 ... R3 = TS-NTC-204

NTC-

R5

180k

1%

R3

NTC-

R6

180k

1%

T1

2N2219ASH

R74k7

1%

R8

*

C1

100n

120635 - 11

Figura 1.El primer prototipo consistía en un disco de madera.

Figura 2.El esquema es especialmente sencillo. Con R8 se puede ajustar la intensidad del transistor si el factor de amplificación se desvía demasiado.

Page 36: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

36 | noviembre 2013 | www.elektor-magazine.es

Dirección del vientoDespués de que el transistor se haya calentado (la salida digital puesta a nivel alto), se ejecu-tan doce mediciones con un intervalo de cinco segundo. El µC mbed convierte las tensiones medidas de 0,0...3,3 V en valores de 0,00...1,00. Cuando aumenta la temperatura, sube la ten-sión de salida. De los tres valores de medición se determina el mayor (max) y de éste valor se resta los demás valores medidos. Los valo-res resultantes son vectores que apuntan en la dirección del viento.Los vectores parten de un punto cero común. Este punto cero también es el punto cero de un sistema de ejes X e Y. A uno de los termis-tores se le asigna la dirección norte la cual se corresponde con el eje Y. Luego se convierten los tres vectores (uno tiene una longitud de 0) a un valor X e Y. Esto se hace con ayuda de fun-ciones trigonométricas. Debido a la colocación de los termistores en un ángulo de 120 grados basta con una multiplicación con seno (30 gra-

Ten cuidado de montarlos medio centímetro por encima de la superficie de la placa. El conec-tor SMD para la interconexión con el mbed u otra placa de medición se monta junto con las resistencias y condensador SMD en la cara de cobre. De esta manera no hay partes sobre-salientes en la cara de medición que puedan influir negativamente en el flujo del viento. Se ha colocado una resistencia en el circuito emisor del transistor para ajustar con ella la intensidad. En el prototipo hemos montado un puente en este lugar.

SoftwareEl autor diseñó el software de medición sobre un microcontrolador mbed tipo NXPLPC1768. Está disponible en [1], igual que el software que Elektor desarrolló para el registrador del clima USB de septiembre de 2011 que se des-cribirá más adelante. Para la explicación del método del cálculo es útil tener presente el listado mbed.

(C)Elektor120635-1 V1.0

(C)Elektor120635-1 V1.0

T1

R1

R2

R3

(C)Elektor120635-1 V1.0

R4

R5R6

R7

K1

C1

R8

Figura 3.La placa redonda de la veleta. El conector se monta en la cara del cobre.

Lista de materialesR1...R3 = NTC 200 kΩ, Hygrosens CON-TS-NTC-204

(número Conrad 502369)R4,R5,R6 = 180 kΩ (SMD 0805)R7 = 4k7 (SMD 0805)

R8 = 0 Ω, ver texto (SMD 0603)C1 = 100 nF (SMD 0805)T1 = 2N2219A (TO-39)K1 = conector SMD de 2x4, paso 2,54 mmPlaca 120635-1, ver [1]

www.elekt

orpcbservice.com

Page 37: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

veleta

www.elektor-magazine.es | noviembre 2013 | 37

tal a nivel bajo) y una con un sensor ‘caliente’ (salida digital a nivel alto). Cuanto más calor se mide en el periodo ‘caliente’ (con respecto a un periodo ‘frio’), más calor se queda en el cabe-zal de medición y más flojo sopla el viento. Para la conversión del valor así calculado a la escala Beaufort la función división resultó proporcionar un resultado satisfactorio.

Prueba y calibraciónSe probó un prototipo en campo abierto en la isla Frisia Ameland. Durante este periodo el viento

dos) o coseno (30 grados). Los valores son fijos: 0,500 y 0,866. La conversión de los vectores a valores X e Y se realiza multiplicándolos con el valor correcto seleccionado (vigilar bien el + y - correcto). Después se pueden sumar fácilmente los tres valores X e Y, obteniendo los valores X e Y del vector resultante.Al final de 12 mediciones se calcula un único vector resultante sumando todos los valores X e Y. Estos van en las variables v_x_s e v_y_s del programa mbed.Dependiendo de si los valores v_x_s e v_y_s son positivos o negativos podemos determinar de qué cuadrante (de norte a este, este a sur, sur a oeste y oeste a norte) del círculo viene el viento. Se utiliza la función arcotangente para determinar el ángulo dentro del cuadrante. La figura 4 lo repre-senta gráficamente. Introduciendo valores iniciales de cálculo de 4, 8, 12 y 16, obtenemos un valor de cálculo de entre 0 y 15. Cada valor apunta a un sector de 22,5 grados del círculo. Girando en la dirección del reloj, el sector 0 es nornordeste y sector 15 es nornoroeste. Estos valores de los sectores se utilizan como índices a un string de texto con la descripción de la dirección del viento. Cada una de las ocho direcciones está grabada dos veces, de modo que el resultado final es N, NE, E, SE, S, SO, O o NO.

Velocidad del vientoEs evidente que podemos utilizar el vector resul-tante calculado de la dirección del viento también para la velocidad del viento. Para eso no utiliza-mos el ángulo sino la longitud del vector, que se puede calcular fácilmente de la raíz cuadrada de (v_x_s * v_x_s + v_y_s * v_y_s).En la práctica esto resultó funcionar bien para velocidades del viento entre 1 y 4 Beaufort (ver la escala Beaufort, tabla 1). Pero a partir de 5 Beaufort y superior pasa algo extraño. La supo-sición de que un vector resultante más largo significa un viento más fuerte ya no vale. Un viento tan fuerte sopla tanto calor de la ranura del cabezal de medición que la diferencia entre los valores analógicos empieza a reducirse. Esto no supone ningún problema para la dirección del viento, pero para cada longitud calculada puede haber dos soluciones: un viento suave o fuerte.Así que hemos optado por otro enfoque: Toma como única medición las tres mediciones de los termistores juntas para medir el calor total del cabezal de medición. Realiza dos sesiones de medición – una con un sensor ‘frio’ (salida digi-

NTC

Vectorresultante

Ejemplo:Dirección del viento: NE

NTC

120635 - 12

30° 30°

NTC

N

Figura 4.Representación gráfica del cálculo de la dirección del viento.

Figura 5.Después de montar todos los componentes se coloca sobre la parte superior un disco con el mismo tamaño revestido de papel aluminio a una distancia de unos 2 cm. Aquí se ha utilizado un disco de plexiglás como.

Page 38: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

38 | noviembre 2013 | www.elektor-magazine.es

Coloca el cabezal de medición en un entorno sin viento (dentro de casa – no empieces a correr o jadear durante la medición) y observa los valo-res. Los valores pueden diferenciarse entre sí en unos 0,02 V. Probando un poco con diferentes valores Corr se consigue bastante rápido.

Configuración del B_numerator y el B_offsetSe introduce la diferencia (variable vv) entre una medición fría (variable vk) y una medición caliente (variable vh) para la fórmula de conversión a la escala Beaufort (B_numerator / vv + B_offset).Igual que en el procedimiento de la calibración de los termistores, se puede determinar el valor del B_numerator haciendo una medición en casa – en un entorno sin viento. Las líneas 44 y 65 del programa mbed imprimen los valores vk y vh. Anota los últimos valores de un ciclo de medi-ción de cinco minutos y réstalos (vv= vh – vk). Repite este ciclo de pruebas varias veces y toma la media de los valores calculados. Esto será el B_numerator. Los calculadores astutos recono-

sopló en varias direcciones y la intensidad del viento varió entre 1 y 8 Beaufort. La dirección y la velocidad teórica del viento fueron consul-tadas en sitios web de tiempo meteorológico en internet. Con eso se tenía que tener en cuenta que en la práctica la dirección y la velocidad del viento podían desviarse de los datos predichos dentro de unos minutos o segundos.

Calibración de los termistoresSegún el fabricante Hygrosens puedes intercam-biar los termistores sin ninguna calibración. Pero puede ser necesario calibrarlos una única vez entre sí como consecuencia de pequeñas desvia-ciones en la distancia de los termistores con res-pecto al transistor y otras tolerancias mecánicas.Para eso se han introducido en el programa mbed tres valores de corrección (#define Corr_v1, Corr_v2, Corr_v3). Para poder encontrar estos valores pequeños (uno siempre es 0,000), se quitan los símbolos de comentario (//) de las líneas 44 y 65 de este programa. El programa imprime los valo-res analógicos medidos como tensiones medidas.

Tabla 1. Escala Beaufort

intensidad denominaciónvelocidad en km/h

velocidad en m/s

efectos en tierra

0 calma 0-1 0-0,2 Calma, el humo asciende verticalmente1 ventolina 1-5 0,3-1,5 El humo indica la dirección del viento

2 Flojito (brisa muy débil) 6-11 1,6-3,3 Se caen las hojas de los árboles, empiezan a moverse los molinos de

los campos

3 Flojo (brisa ligera) 12-19 3,4-5,4 Se agitan las hojas, ondean las banderas

4Bonancible

(brisa moderada)

20-28 5,5-7,9 Se levanta polvo y papeles, se agitan las copas de los árboles

5 Fresquito (brisa fresca) 29-38 8,0-10,7 Pequeños movimientos de los árboles, superficie de los lagos

ondulada

6 Fresco (brisa fuerte) 39-49 10,8-13,8 Se mueven las ramas de los árboles, dificultad para mantener abierto

el paraguas.

7 Frescachón (viento fuerte) 50-61 13,9-17,1 Se mueven los árboles grandes, dificultad para caminar contra el

viento

8 Temporal (viento duro) 62-74 17,2-20,7 Se quiebran las copas de los árboles, circulación de personas muy

dificultosa

9 Temporal fuerte (muy duro) 75-88 20,8-24,4 Daños en árboles, imposible andar contra el viento

10 Temporal duro (temporal) 89-102 24,5-28,4 Árboles arrancados, daños en la estructura de las construcciones

11Temporal muy duro (Borrasca)

103-117 28,5-32,6 Destrucción en todas partes, lluvias muy intensas, inundaciones muy altas

12Temporal

huracanado (Huracán)

>117 >32,7 Voladura de autos, árboles, casas, techos y personas. Puede generar un huracán o un tifón

Fuente: Wikipedia ES

Page 39: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

veleta

www.elektor-magazine.es | noviembre 2013 | 39

tiempo, así que requerirá que se experimente un poquito (depende de la construcción total del módulo sensor). Durante este periodo pue-des ver cuánto tiempo le queda a esta fase (‘Count down xxx’).Después realiza 12 mediciones con cinco segundos de pausa entre ellas con el tran-sistor desconectado. Los valores de medición aparecen en el display, pero es aconsejable conectar el circuito a un PC a través de un BOB (convertidor USB/RS232) y mostrar los valores de medición en la pantalla a través de un programa terminal. Los números aparecen entonces en forma de tabla, que es más claro que en el LCD.A continuación viene la fase en la cual sí está conectado el calefactor, empezando con tres minutos de calentamiento (otra vez con ‘Count down’ en el LCD). Luego se realizan otra vez doce mediciones cada cinco segundos, que se muestran de nuevo en el LCD o la pantalla. Para finalizar se calculan la dirección y la velocidad del viento partiendo de los 24 valores de medición. Estos se muestran en el LCD y en el PC, primero la dirección del viento (‘Direction:’) y luego la velocidad (‘Speed’).

(120635)

Queremos agradecer a Petrus Bitbyter el diseño de la placa.

Enlaces Web:

[1] www.elektor.es/120635

[2] www.elektor-projects.com/project/wind-direction-and-speed-instrument-120635-i.12480.html

cerán que con esto el viento nunca podrá llegar por debajo de 1 Beaufort, pero bueno, entonces la velocidad del viento se encontrará entre 0 y 0,2 metros por segundo. Y así tampoco hace falta saberlo de forma tan precisa.Fijamos B_offset un poco más arriba o abajo dependiendo de nuestra propia estimación de la intensidad exacta del viento. Ten en cuenta tam-bién que a la hora de que mbed imprima un valor Beaufort como ‘%1.0f’ las cifras que hay detrás de la coma son omitidas. Si se configura el valor de B_offset en +0,5, significa que imprime un 3 en vez de un 2 con un valor calculado de 2,6.

FirmwarePara una aplicación práctica se combinó la veleta en el laboratorio de Elektor con el regis-trador de clima USB publicado en septiembre de 2011 (número 375). También se escribió firmware para esta combinación. Aquí (aún) no se registran los datos de la veleta en la memoria EEPROM, como fue en el diseño ori-ginal. El código fuente de 120635-11 está dis-ponible como descarga gratuita y las rutinas se pueden modificar fácilmente para añadir las funcionalidades de grabar y leer datos. El controlador preprogramado se puede adquirir con referencia 120635-41.En la tabla 2 vienen mencionados con qué terminales del procesador se tienen que conec-tar las señales del conector de 10 vías en la placa. Lo mejor es soldar unos hilos aislados a los terminales en cuestión y conectarlos en el otro lado con un conector (hembra) de 2x5 que pueda ser insertado en el conector por la cara inferior de la placa redonda.Se leen los valores de medición de los tres termistores, se convierten y se muestran en el display. El Atmega168 se encarga además de la conexión y desconexión del ‘calefactor’ de la forma en que se describe en el ejemplo mbed.Después de la inicialización lo primero que aparece es el título y los derechos de autor en el LCD. Luego se inicia la medición, que eje-cuta continuamente el mismo ciclo. Primero empieza un periodo de unos 5 minutos donde el transistor del módulo sensor está desconec-tado, que sirve para dar tiempo suficiente a que se enfríe. Durante la pruebas en el labora-torio resultó que se requiere bastante tiempo antes de que los termistores devuelvan un valor estable de medición en ‘la fase fría de medición’. Quizás cinco minutos sea demasiado

Tabla 2. Datos de conexionado del conector K1 con el microcontrolador en el registrador de clima USB

Connector veleta ATmega168 en registrador de clima

pin 1 (+UB) +UB

pin 2 (emisor T1) no usado

pin 3 (base T1) pin 13 (PD7)

pin 4 (NTC1) pin 25 (ADC2/PC2)

pin 5 (NTC3) pin 23 (ADC0/PC0)

pin 6 (GND) GND

pin 7 (NTC2) pin 24 (ADC1/PC1)

pin 8 (NC) NC

Page 40: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

40 | noviembre 2013 | www.elektor-magazine.es

Salidas Gerber Los ficheros Gerber son un formato de fichero necesario para un fabricante de placas de cir-cuito impreso (PCB) para fabricar realmente un diseño. Pensemos en ello como un simple formato de vectores de imagen de la PCB que utiliza dife-rentes ‘pinceles’ (aperturas). Los ficheros Gerber son conocidos comúnmente como los ficheros de dibujo porque son usados por un foto-plot-

ter como parte del proceso de fabricación de la placa del circuito. DesignSpark puede generar los ficheros Gerber desde la ventana “Output Manufacturing Plots”, que se abre al acceder a la opción de menú “Output->Manufacturing Plots”. En nuestro caso necesitamos la capa de cobre ‘top’ (cara superior), la máscara de soldadura ‘top’, la serigrafía ‘top, la capa de cobre ‘bottom’ (cara inferior), la máscara de soldadura ‘bottom’, los datos de taladrado e imprimir la Drill Ident Drawing, tal y como se muestra en la Figura 1.Pulsando sobre el botón ‘Options’ abrimos la ventana de Opciones donde podemos modificar todas las configuraciones de los ficheros Gerber, el fichero de taladrado y las salidas en PDF. A mí, personalmente, me gusta usar el formato RS-274-X para la información de apertura inte-grada en los ficheros Gerber y exportar todo en métrica, con cuatro decimales de precisión, tal y como se muestra en la Figura 2.Pulsando sobre el botón RS-274-X ajustaremos las opciones listadas para habilitar la tabla de apertu-ras interna y, pulsando sobre el botón RS-274-D, se deshabilitan todas las opciones de salida.

Neil Gruending (Canadá)

DesignSpark Trucos y ConsejosDía #5: generando los ficherosde fabricación de una PCB

Figura 1.Datos a ser incluidos en el fichero Gerber de salida.

Hoy vamos a generar los ficheros Ger-ber y la información de la BOM (Lista de Materiales) del diseño que hicimos la última vez. DesignSpark tiene un soporte excelente para la generación de este tipo de ficheros una vez que han sido configurados adecuadamente.

Page 41: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

trucos y consejos

www.elektor-magazine.es | noviembre 2013 | 41

Los fabricantes de placas de circuito también necesitan el fichero de taladrado o NC (es decir, de control numérico) para saber dónde se tienen que realizar los taladros en la placa del circuito. Existen varios formatos de salida diferentes pero yo, personalmente, prefiero utilizar el formato de métrica Excellon, con cuatro decimales de precisión, tal y como se muestra en la Figura 3.Ahora que ya hemos configurado los dispositivos de salida, necesitamos añadir el perfil externo de la placa a todos los planos generados de manera que los fabricantes de placas de circuito puedan alinear todas las capas diferentes en la fabrica-ción de la PCB. Esto lo hacemos pulsando sobre la pestaña Layers para cada plano de la ventana Output Manufacturing Plots, y pulsando dos veces con el ratón sobre “[Board Outline]” de manera que se muestre una “Y” en la columna Selected.Una vez que hemos añadido el perfil externo a todos los planos de las diferentes capas, pulsamos sobre el botón Run para generar todos los fiche-ros de salida. Finalizada la fase de generación de estos ficheros, DesignSpark mostrará un informe detallado sobre la aplicación de Windows Note-pad, que deberemos analizar para asegurarnos de que no hemos cometido ningún error. Todos los ficheros Gerber deben de tener una extensión .GBR, mientras que los ficheros de taladrado tienen una extensión .DRL. Yo siempre cargo los ficheros Gerber y los ficheros de taladrado en un visuali-zador Gerber de otro fabricante, como ViewMate [1], sólo para estar seguro de que no hay ningún error. Por ejemplo, mientras escribía este artículo, he seleccionado accidentalmente algunos factores de escalado incorrectos en la salida Gerber que se hacen obvios en el visualizador Gerber y que son muy sencillos de detectar y corregir.

Lista de MaterialesUna Lista de Materiales (Bill of Materials o BOM) presenta toda la información de los componentes de un diseño para que éste pueda ser fabricado. DesignSpark incluye la posibilidad de generar BOMs como parte de sus prestaciones de infor-mes (Reports), en el menú Output, tal y como se muestra en la Figura 4.El informe de Bill Of Material que incorpora gene-rará una BOM con los siguientes campos: Ref Name (o Nombre de Ref.): es el nombre

que se le da a la referencia del componente. Qty (o cantidad): es el número de componen-

tes para esta posición, siempre es 1. Component: campo del nombre del componente.

Value (Valor): campo con el valor del componente. Package (Encapsulado): tipo de huella de PCB

que tiene el componente. Manufacturer (Fabricante): campo del fabri-

cante del componente.

Figura 3.La precisión de 4 decimales se define también para los datos NC de taladrado.

Figura 4.Seleccionando la BOM (Lista de Materiales) como un informe.

Figura 2.Seleccionando la métrica con una precisión de 4 decimales.

Page 42: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

42 | noviembre 2013 | www.elektor-magazine.es

tener que contarlas manualmente en la lista de materiales (o BOM). Por desgracia, DesignSpark no puede agrupar los componentes en una BOM y mostrar su designación de referencia en el mismo informe, lo que significa que tendremos que crear dos BOMs personalizadas: una es la que está agru-pada por compradores y la otra con la designación de referencia, para todo el conjunto.El primer paso es crear un nuevo informe pul-sando sobre el botón New. A continuación se nos muestra una ventana de diálogo donde podemos dar el nombre del informe y, a continuación, podremos editar el contenido del informe. Todo esto tiene la apariencia de la Figura 5.Lo que aquí está sucediendo es que la primera línea del informe tendrá el texto “Component Report” (“Informe del Componente”), seguido por la cabe-cera de informe estándar de DesignSpark, una línea en blanco y, después, la lista de todos los compo-nentes. La parte que tenemos que evitar es la lista de componentes o Component List. Para la BOM de compras he editado las columnas del informe para que sean: Qty, Description, Manufacturer 1, Manufacturer 1 Part Number, Manufacturer 2, Manufacturer 2 Part Number, Manufacturer 3 y Manufacturer 3 Part Number. La lista de materiales del conjunto es la misma que la lista de materiales de compras, excepto que ésta última incluye los identificadores de la referencia, o Ref Names en DesignSpark. La Figura 6 la configuración que he usado para las listas de materiales del conjunto. Para añadir columnas a nuestro informe persona-lizado, como Manufacturer 1, tenemos que ele-gir la opción Value de la ventana del menú des-plegable Field. Esto habilitará la casilla Values donde podremos seleccionar uno o más campos de componentes para ser usados en la columna. El campo Caption (Subtítulo) estará en la columna que encabeza el informe final. También es impor-tante sacar los informes de la BOM del fichero de la PCB y no del esquema eléctrico, para estar segu-ros de que la BOM está adecuadamente rellena.

ConclusiónHoy hemos generado los ficheros Gerber y la BOM de nuestro diseño DesignSpark, lo que permite que pueda ser fabricado. La próxima vez nos ocuparemos de algunas de las herramientas “en línea” que se integran en DesignSpark.

(130240)

Referencias en Internet

1. www.pentalogix.com/viewmate.php

MPN: campo para la referencia del fabricante del componente.

RS Part Number: campo para la referencia de RS del componente.

Description: campo para la descripción del componente.

La BOM por defecto no está mal, si sólo tenemos una referencia por componente, pero a mí me gusta asociar referencias de componentes alternativas a un mismo componente, de manera que en mis BOMs tenga toda esta información disponible de forma automática. También me gusta ver todas las apariciones del mismo componente agrupa-das, en lugar de una línea por cada componente. Por ejemplo, creo que es mejor saber que hay dos resistencias de 1 K (kΩ) en un diseño, en lugar de

Figura 5.Editando las opciones para el generador de la BOM.

Figura 6.Un camino para crear la BOM.

Page 43: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

modelismo

www.elektor-magazine.es | noviembre 2013 | 43

Toda maqueta ferroviaria ha de incluir edificios (iluminados). Y lógicamente, la iluminación no debe ser estática, sino dinámica y cambiante según “juguemos” con ella. En algunas ventanas hay luz, en otras no... en esta de aquí se enciende una lámpara, y en aquella otra se apaga. ¡Igual que en la realidad!

Ahorrar, ahorrar y seguir ahorrandoYa que el circuito no es que tenga que realizar una tarea demasiado complicada, y está pensado para construirse a gran escala, tiene bastante sentido reducir al máximo los costes de los componentes y las limitaciones de espacio. De hecho, como puede verse en la figura 1, apenas consta de un pequeño microcontrolador de 8 bits con un regulador de tensión. El microcontrolador utili-zado es un PIC12F675P de Microchip, disponible en encapsulado DIP de 8 pines y por menos de 1 €. Cuenta con una memoria de programa de

1 kB, una pequeña EEPROM de 128 bytes, así como un timer/comparador (necesario para la comunicación serie). En la EEPROM se alma-cena la dirección del módulo. Todos los pines (excepto los de alimentación) pueden definirse como entradas/salidas, y para generar el reloj se utiliza el oscilador interno. En [1] puede

consultarse la hoja de datos del controlador.Los cinco LEDs se conectan mediante las cle-mas K1 y K2 de la placa con las I/Os GP0, GP1, GP2, GP4 y GP5. El cátodo común de los LEDs está conectado en el pin 3 de K2. Las resisten-cias de 1 kΩ limitan la corriente por los LEDs. En realidad el valor depende un poco del color y el fabricante. La tensión en conducción está entre 1,9 y 2,5 V, y la corriente resultante está por lo tanto entre 2 y 2,5 mA. Como puede verse, es posible utilizar LEDs de baja corriente, pues a plena potencia consumen unos 2 mA.Los LEDs se encienden y apagan a través del puerto serie (pin 1 de K3). Básicamente se trata de un RS232, pero sólo se utiliza una línea de datos (RxD). Aquí pueden conectarse otros módu-los en paralelo. Ya que en el puerto RS232 de un PC normalmente se trabaja con +/-12 V, el nivel de la señal ha de limitarse a +5 V para el PIC. Para solucionarlo se ha implementado el conversor de nivel formado por D1 y T1.

Kurt Zerzawy (Suiza)

LEDs programables por puerto serie

Iluminación para maquetas de casas

Este pequeño módulo ha sido diseñado para controlar hasta cinco LEDs en una maqueta mediante el puerto serie del PC. Es posible conectar y direccionar hasta 250 de estos módulos desde un único puerto RS232.

¡Más que suficiente para iluminar una pequeña ciudad!

Page 44: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

44 | noviembre 2013 | www.elektor-magazine.es

Un regulador 78L05 se encarga de estabilizar la tensión, y es capaz de suministrar un máximo de 100 mA. Lógicamente está rodeado de los “sos-pechosos habituales”, como son el condensador electrolítico C4 y los dos condensadores de 100 nF, C1 y C2. El circuito se alimenta con una tensión de entre 8 y 12 V (no es necesario que sea muy estable). Lo más sencillo es utilizar un adaptador conectado en K3. Ya que la corriente máxima con-sumida por módulo es de unos 15 mA, si quere-mos conectar muchos módulos conviene utilizar una fuente de alimentación “de verdad”. También podemos servirnos de una fuente de 5 V en lugar del regulador de tensión de la tarjeta, que habrá que retirar y sustituir por un puente de cable.En JP1 puede conectarse un programador. Esto sólo es necesario en caso de que no hayamos pro-gramado el PIC primero por nuestra cuenta (o lo hayamos comprado ya programado). Sin embargo, para cambiar la dirección del componente no hace falta. La asignación de pines de JP1 se corresponde con el famoso programador ISP Pickit2 [2], como se muestra en la tabla 1. Tendremos que decidir si durante la programación alimentamos al PIC mediante Pickit2 o directamente con el módulo, ¡pero no con ambos a la vez!

Protocolo a seguirEl puerto serie no sólo se utiliza para conectar los LEDs, sino también para establecer las direcciones de los módulos. De hecho, es bastante simple.

Si el componente no tiene dirección, al encen-derse iluminará brevemente los cinco LEDs. Cuando se le asigne una dirección, activará los LEDs siguiendo una secuencia, uno tras otro: uno, dos, tres, cuatro y cinco. Los módulos se contro-lan mediante el puerto RS232 a 9600 baudios, sin paridad, 1 bit de stop. Hay que configurar estos valores en nuestro programa terminal. En HyperTerminal (Windows) se hace en Archivo → Propiedades → Configuración.

Direccionamiento del móduloPara guardar una dirección en la EEPROM interna del PIC hay que realizar los pasos siguientes:

‘H’: Casa (“House”)‘F’: Byte alto de la dirección hexadecimal: F para

componentes sin programar‘F’: Byte bajo de la dirección hexadecimal: F para

componentes sin programar

K21

2

3

K11

2

3

K33

2

1

JP11 2 3 4 5 6

R31k

R41k

R51k

R21k

R61k

R8

0R

R90R

PIC12F675P

GP5/CLKIN

GP3/MCLR

GP2/AN2GP4/AN3

GP0/AN0GP1/AN1

IC1VDD

VSS

7

1

2

8

4

56

3

78L05IC2

R7

10k

C1

100n

C2

100n

C4

100u25V

T1

BC548D1

BAT85

R1100k

C3

100p

130136 - 11

VCC/

MCLR

VDD

targ

etVS

S (G

ND)

ICSP

DAT/

PGD

ICSP

CLK/

PGC

Auxil

iary

12345

6789

+8...12V

RxD

GND

GND

RS232

SUB D9

Figura 1.Sencillo circuito del módulo de control de LEDs.

Tabla 1. Adaptador para programador JP1

JP1 PIC12F675 Señal

Pin 1 Pin 4: GP3/MCLR Vpp

Pin 2 Pin 1: VDD + 5 V

Pin 3 Pin 8: VSS GND

Pin 4 Pin 7: GP0/AN0/icspdat Data I/O

Pin 5 Pin 6: GP1/AN1/icspclock CLK

Pin 6 – –

Page 45: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

modelismo

www.elektor-magazine.es | noviembre 2013 | 45

nentes convencionales (through-hole), de modo que en el montaje no debería surgir ningún pro-blema. Conviene utilizar un zócalo para el con-trolador. Las resistencias de 0 Ω R8 y R9 sólo se utilizan debido al diseño del circuito, y lógica-mente pueden sustituirse por puentes de cable.Todos los módulos se conectan en paralelo. Gra-cias a R1 la corriente que circula desde el puerto RS232 es muy pequeña, de modo que aunque situemos muchos módulos en paralelo esto no supone un problema. La línea RxD se encuentra en el pin 3 del conector D-sub de 9 pines del PC. La masa del RS232 está en el pin 5, y es la misma que la de la fuente de alimentación.El controlador programado está disponible en Elektor con la referencia 130136-41. Lógica-mente también podemos programarlo por nues-tra cuenta, algo especialmente útil si queremos fabricar un gran número de módulos. El sof-tware puede descargarse gratis en [3]. En el paquete de descarga se incluyen también los archivos de CAD, diseñados con el software gra-tuito DesignSpark.

(130136)

Enlaces de Internet

[1] ww1.microchip.com/downloads/en/ DeviceDoc/41190G.pdf

[2] www.microchip.com/pickit2

[3] www.elektor.es/130136

‘P’: Comando P para programar‘a’‘a’‘5’: Código de seguridad para evitar una progra-

mación no deseada‘5’: Código de seguridad para evitar una progra-

mación no deseada‘x’: Byte alto de la dirección hexadecimal a pro-

gramar, x = 0-9, A-F‘y’: Byte bajo de la dirección hexadecimal a pro-

gramar, y = 0-9, A-F‘CR’: Retorno de carro (intro) para terminar

En el terminal introducimos “HFFPaa55”. El com-ponente responderá encendiendo todos los LEDs. Después añadimos la dirección deseada (xy) y enviamos el retorno de carro “CR” (es decir, pul-samos intro). Ahora los LEDs se apagarán. En el siguiente reinicio, la dirección estará programada. La dirección del módulo puede modificarse rea-lizando la misma secuencia.Ejemplo: para programar con la dirección 23h un módulo que no ha sido previamente progra-mado, tendremos que introducir “HFFPaa5523” y pulsar “ENTER”.

Patrón de funcionamiento de los LEDsAhora para controlar un módulo...

‘H’: Casa (“House”)‘x’: Byte alto de la dirección hexadecimal de la

casa a controlar, x = 0-9, A-F ‘y’: Byte bajo de la dirección hexadecimal de la

casa a controlar, y = 0-9, A-F‘S’: Comando S para introducir (set)‘a’: Byte alto de los LEDs a encender, 0-1‘b’: Byte bajo de los LEDs a encender, 0-9, A-F‘CR’: Retorno de carro (intro) para terminar

En definitiva, para introducir los datos: “HxySab” y “ENTER”, siendo xy la dirección del módulo, e introduciendo después de S el valor hexadecimal de los LEDs a encender. Con el rango de 00h a 1Fh pueden introducirse las 32 posibles combi-naciones para los cinco LEDs.

Ejemplo: para activar los LEDs 3 y 5 del módulo 12, introducimos “H12S14” y pulsamos “ENTER” en el terminal.

Montaje modularLa figura 2 muestra la placa de uno de los módu-los, disponible en Elektor. Sólo se utilizan compo-

Lista de materialesResistencias:R1 = 100 kΩR2 a R6 = 1 kΩR7 = 10 kΩR8, R9 = 0 Ω

Condensadores:C1, C2 = 100 nFC3 = 100 pFC4 = 100 µF, 25 V (Rubycon

25YXF100MEFC6.3X11)

Semiconductores:D1 = BAT85T1 = BC548IC1 = PIC12F675-I/P (Microchip), pro-

gramado 130136-41IC2 = 78L05

Varios:JP1 = conector tipo pin-header de 1x6

pines

K1 a K3 = clema de tornillos para mon-taje sobre placa, 3 conexiones

Placa 130136-1 [3]

-OI

(C) E

lekt

or13

0236

-1

R1

R2

R3R4R5

R6

R7C1

C2

C3

C4

IC1

IC2

T1

JP1

K2

K3

K1R8

D1

R9

Figura 2. Sólo se usan componentes convencionales: todo en su sitio.

www.elekt

orpcbservice.com

Page 46: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

46 | noviembre 2013 | www.elektor-magazine.es

En la era del microcontrolador para todo, un mon-taje como este podría parecer bastante simple, incluso demasiado simple, pero tiene el mérito innegable de que ¡no asustará a los que se inician en la electrónica! Además, este montaje se presta a todo tipo de modificaciones, principalmente para extender sus posibilidades o para adaptarlo a nece-sidades particulares. Una buena ocasión para los principiantes de aventurarse más allá de los temas trillados, partiendo de un circuito que funciona.La idea nació en mi casa a partir de una nece-sidad práctica: la renovación de un conmutador defectuoso de mi amplificador, un problema muy conocido y, a menudo, espinoso. Estos selec-tores de canales múltiples rara vez son mode-los corrientes y, por lo tanto, un difíciles o casi imposibles de encontrar. Con el pequeño mon-taje que propongo, se puede reducir también

el cableado de los hilos de audio (incluso los blindados), con el fin de simplificar el trabajo y evitar sobre todo la multiplicación de fuentes de posibles perturbaciones.

Aficionados a los micros, seguid vuestro camino El esquema de la Figura 1 es una versión modi-ficada y mejorada en el laboratorio de Elektor y, posteriormente rediseñada, de acuerdo al formato gráfico de la revista. Mi versión inicial había sido diseñada con la ayuda del programa DesignSpark PCB. A la izquierda, cuatro botones pulsadores (uno por canal), S1 a S4, están asociados a cua-tro diodos (D1 a D4) que forman una función lógica OR. La salida de este operador (ana)lógico es el punto común de los cuatro cátodos. Dicho punto pasa a nivel alto cuando se acciona uno de

Olivier Croiset (Reyrieux)

Selector bidireccionalbidireccional

de canales estéreo1 ª 4 ó 4 ª 1

Como consecuencia de una llamada* lanzada en la revista hace algún tiempo, en la que se invitaba a nuestros lecto-res a enviarnos circuitos de su propio diseño, a ser posible, sencillos y más bien sobre temas con menos tratamiento por parte de Elektor, como por ejemplo, el audio, hemos recibido esta propuesta que responde a los dos criterios principales: sin complejidad y al servicio del tratamiento de señales sonoras.

* Esta llamada aún es válida: damos la bienvenida a vuestros aportes originales en la revista. Dejadlos en línea en nuestra página comunitariawww.elektor-labs.com; contactaremos con los autores de las propuestas seleccionadas por la redacción con el fin de crear un contrato de publicación.

Page 47: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

audio

www.elektor-magazine.es | noviembre 2013 | 47

TR1

EI3022022 (230V)

230V(115V )

F1

0A5 F(1A F) D11

D12

D9

D10C3

1000u25V

C1

100n

C2

10u25V

LM7805IC1

9V

R22

560R

74HC175

IC2

CLRCLK

13

12 10

1415

11

1Q1Q2Q2Q

4Q4Q

3Q3Q

1D

2D

4D

3D

16

67324

5

1

8

9

R23

100k

R17

1k

C4

1u63V

C5

10p

R24100k

S1

R13

1k

S2

R14

1k

S3

R15

1k

S4

R16

1k

D2

D1

D3

D4

4x 1N4148

R21k2

T1

BC237

RE1.A

RE1 ...RE4 = MEDER ElectronicDIP05-2A72-21D

2

6

R6

390R

D5

R31k2

T2

BC237

RE2.A

2

6

R8

390R

D6

R41k2

T3

BC237

RE3.A

2

6

R10

390R

D7

R51k2

T4

BC237

RE4.A

2

6

R12

390R

D8

4x1N4004

D1 ... D4 =

Left1

R1100R

RE1.B

1 7

Right1

R7100R

RE1.C

14 8

Left2

R9100R

RE2.B

1 7

Right2

R11100R

RE2.C

14 8

Left3

R18100R

RE3.B

1 7

Right3

R19100R

RE3.C

14 8

Left4

R20100R

RE4.B

1 7

Right4

R21100R

RE4.C

14 8

LeftOut

RightOut

D13

120316 - 11

Figura 1. El esquema eléctrico del selector de canales no es unidireccional: concebido para cuatro entradas estéreo y una salida, también puede ser utilizado en sentido inverso.

un accesorio de audio sencillo, accesible también a los principiantes

Page 48: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

48 | noviembre 2013 | www.elektor-magazine.es

A la izquierda tenemos cuatro vías estereofó-nicas, izquierda y derecha (Left 1 a 4 y Right 1 a 4), y, a la derecha, una salida estereofónica (LeftOut y RightOut).Debemos señalar que si hablamos aquí de entrada y de salida, es por pura convención, el circuito también puede ser usado sin problemas a la inversa, de manera que una entrada (LeftOut y RightOut) se comunica con las cuatro entradas (Left 1 a 4 y Right 1 a 4).En vuestra opinión, ¿qué pasaría si se pulsa sobre dos botones al mismo tiempo? Nada, ya que la salida de los biestables solo adopta el nivel lógico de su entrada D en el momento del cambio de nivel o del flanco ascendente sobre la entrada CLK. De manera que, una vez que se ha pulsado sobre un botón sin soltarlo, esta entrada CLK se mantiene a nivel alto. Sin flanco ascendente, los biestables no cambian.Durante el encendido, la entrada CLR/ de los cuatro biestables se mantiene a nivel bajo durante el tiempo que el condensador C4 se carga a través de R23. De esta manera, se fuerza que las salidas Q de los biestables a permanecer a nivel bajo, cualquiera que sea el nivel sobre la entrada D. Así pues, durante el arranque, los cuatro relés siempre están inactivos. Sólo el LED testigo D13 se enciende.Entre las variantes posibles de un circuito de este tipo, notaréis que, según la salida, Q o Q/, del biestable que usemos para controlar el transistor, podemos activar tan sólo uno de los relés, tal y como lo hacemos aquí, o todos los relés salvo

los pulsadores. La salida controla la entrada de reloj (CLK) común a los cuatro biestables tipo D integrados en IC2, un 74HC175. Cada vez que la entrada CLK pasa a nivel alto, la salida Q de los biestables adopta el nivel lógico presente en ese momento sobre su entrada de datos D (ter-minales 4, 5, 12 y 13 de IC2). Cuando se suelta el botón pulsador, la entrada CLK (terminal 9) vuelve rápidamente a su nivel lógico bajo. Sin embargo, no sucede nada, ya que sólo los flancos ascendentes sobre la entrada CLK son tenidos en cuenta por los biestables.El hecho de pulsar sobre uno de los selectores de canal, S1 a S4, tiene también el efecto de hacer pasar a nivel alto la entrada D de la báscula corres-pondiente. Es este mismo nivel alto el que se adopta en la salida Q correspondiente (terminales 2, 7, 10 y 15). Ahora ya estamos en la parte derecha del esquema eléctrico. La salida Q de la báscula activada controla, a su vez, uno de los transistores T1 a T4, el cual comienza a conducir y provoca la activación del relé Re1 a Re4 montado en el cir-cuito de su colector. Es así como se selecciona una de las vías de la señal de audio (parte inferior del esquema de la Figura 1). El LED correspondiente a la vía activa (D5 a D8) se enciende.El diodo bidireccional dibujado a la izquierda de cada relé no es un componente discreto, se trata de un elemento incorporado al componente. Su función es la de proteger el transistor del pico de tensión que aparece sobre la bobina interna del relé cuando éste vuelve a su posición.

Figura 2.Se distinguen las dos salidas con el uso de dos tomas negras para las vías G y D, mientras que las vías D de las cuatro entradas utilizan un conector rojo. Grupo: a destacar como se han montado los LED indicadores: cada uno de ellos se mantiene bien derecho utilizando el separador cilíndrico sobre el que está montado.

Page 49: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

audio

www.elektor-magazine.es | noviembre 2013 | 49

inicial no ha sido mantenida por el laboratorio, estoy orgulloso de que mi pequeño esquema haya sido publicado y, además, como un artículo “normal”, ¡yo que pensaba que sólo ocuparía media página en uno de los números de verano!El circuito está alimentado aquí por la tensión de red, con un transformador para el que se han respetado, por un lado las distancias de segu-ridad y, por el otro, la separación con las pistas de señal. Si, en cualquier caso, sobre este último punto, nuestros lectores tienen unas exigencias más severas que las nuestras y que la presencia del transformador les es molesta, es posible lle-varlo fuera del circuito impreso o incluso no llegar a montarlo y alimentar el circuito con una pila.

(120316)

uno. Esta última opción no ha sido incorporada sobre el circuito impreso de la forma en que se ha propuesto aquí.

Selección, trampa de sonidosPara facilitar la realización de este conmutador de canales estereofónicos, el laboratorio de Elektor ha rediseñado un solo circuito impreso (magnífico) con Design Spark, mientras que yo había previsto dos placas diferentes. Esto me permitía alejar los relés y las entradas/salidas de los botones y de los LEDs, a los que estarían conectados a través de un cable plano. En este caso, se obtiene algo parecido a un control a distancia. Hay que pensarlo bien: tanto una opción como la otra presentan sus inconve-nientes. En todo caso, incluso si mi configuración

Figura 3.Diseño del circuito impreso del selector de canales estereofónico. No es necesario un radiador para regulador IC1, pero hay sitio para colocar uno.

Lista de componentesResistencias (1/4 W, 1%):R1, R7, R9, R11, R18 a R21 = 100 ΩR2 a R5 = 1,2 kΩR6, R8, R10, R12 = 390 ΩR13 a R17 = 1 kΩR22 = 560 ΩR23, R24 = 100 kΩ

Condensadores:C1 = 0,1 µF, 100 V, cerámico.C2 = 10 µF, 100 V electrolítico.C3 = 1000 µF, 25 V electrolítico.C4 = 1µF, 63 V electrolítico.C5 = 10pF, 100 V, cerámico.

Semiconductores:D1 a D4 = 1N4148D5 a D8, D13 = LED 5 mm amarilloD9 a D12 = 1N4004

Varios:F1 = 500 mA rápidoTR1 = transformador de 9 V, 2 VAS1 a S4 = pulsador abierto en reposoIC1 = LM7805CTIC2 = CD74HC175ERe1 a Re4 = relés DIL para montar en placa (por

ejemplo, MEDER DIP05-2A72-21D)K1 a K10 = conector RCA acodado para montar en placa

Page 50: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

50 | noviembre 2013 | www.elektor-magazine.es

Los principales componentes que encontramos en este proyecto son el Sensor de Tempera-tura Digital DS18S20, el Reloj de Tiempo Real RTC-DS1338 y el microcontrolador PIC18F4520. Debido a la resolución de temperatura del sen-sor de ± 0,5 °C y al tiempo mínimo de registro de 1 segundo, este registrador es especialmente adecuado para la monitorización medioambiental, como la temperatura local por encima del suelo, a seis intervalos de altura establecidos.

Los sensoresEn primer lugar, podemos usar un máximo de seis sensores de temperatura DS18S20 para capturar un número igual de temperaturas en localizaciones remotas. Si nuestra aplicación tan sólo requiere dos o tres sensores, esto también es posible.

Mirando en el esquema eléctrico de la Figura 1, los sensores remotos están conectados a los conec-tores K3 a K8 de tres terminales, usando un sis-tema de 1-Hilo (el cual, realmente, se compone de tres hilos). De manera opuesta a como se ha hecho en proyectos anteriores, como nuestro Ther-mo-Snake [1], aquí, el DS18S20 se usa en modo estándar de 1-Hilo, en lugar de en modo “alimen-tación parásita”. En lugar de estar conectado a una línea común o “Bus”, cada sensor DS18S20 tiene su propia línea de puerto del PIC, RA0-RA5, y una red de resistencias asociada (R22/R28 y siguientes) conectada a su línea DQ (dato de entrada/salida).Aunque el DS18S20 es un componente de 1-Hilo, cada dispositivo producido por Dallas Semiconduc-tors tiene un identificador único de 64 bits almace-nado en su memoria ROM. El dispositivo envía men-sajes usando el formato ilustrado en la Figura 2.

Ihab F. Riad (Sudán) (un lugar caliente)

Registrador de Temperatura MulticanalEste proyecto nos permite recoger las lecturas de seis temperaturas a lo largo de un período de tiempo completo, con marca de tiempo, todas ellas escritas en un fichero .csv, que se almacena en una tarjeta SD para su procesamiento posterior en un ordenador. También es posible el control local mediante una pantalla LCD y un teclado.

Características•Máximo seis sensores de temperatura

DS18S20 de 1-Hilo.•Basado en un PIC18F4520.• Intervalo mínimo de registro de datos de

1 segundo.•Escribe los datos en un fichero .csv con

registro de tiempo, dentro de una tarjeta SD/MMC.

•Control local con pantalla LCD y teclado.•RTC en la propia placa.

Page 51: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

registrador de temperatura multicanal

www.elektor-magazine.es | noviembre 2013 | 51

Dentro del esquema eléctricoVolviendo a la Figura 1, el circuito integrado RTC IC1 proporciona la marca de tiempo para el dato recogido por el microprocesador, usando las líneas SDA y SCL del bus I2C. El DS1338 tiene su tradicional cristal de cuarzo de 32,768 kHz y trabaja con una pila de botón de 3,0 V (BT1) sin alimentación en la placa, o con 3,3 V cuando la placa está alimentada. Se utiliza un teclado numérico comercial, con matriz de 4x4, sobre las líneas del puerto del microcontrolador RD0–RD7 y en el conector Kb1, que se emplea para establecer la fecha y hora y el intervalo de recogida de datos. El teclado se utiliza también para iniciar y detener la recogida de datos. Una pantalla LCD de 2 líneas de 16 caracteres (2x16), del tipo DOGM162 (¿qué hay en el nombre?) muestra la fecha y hora actual así como la tem-

peratura instantánea de uno de los sensores. La función de retroiluminación (BL) de la pantalla LCD está controlada por T1, que responde a los niveles de control suministrados por el micro-controlador PIC en la línea del puerto RE2. Una tarjeta SD/MMC conectada al conector ‘Card1’ almacenar los datos recogidos. Todos los accesos de lectura/escritura y de control de la tarjeta SD se realizan a través de cinco líneas del puerto RC del microcontrolador. La tarjeta se puede retirar y los ficheros internos almacenados se pueden leer en un PC para su procesamiento en nues-tros programas favoritos de estadística y repre-sentación gráfica, capaces de procesar ficheros .csv. Una gran cantidad de gráficos coloreados hacen maravillas en la audiencia, en particular sobre CFOs, CEOs, CCOs, CYOs, CXYZOs y otras personas no iniciadas en la electrónica.

X11

X22

Vbat

3

GND

4SDA 5

SCL 6

OUT 7VCC

8

IC1DS1338Z

-33+

R3 100R

X1

32.768kHz

X2

8MHzC8

22p

RC7/RX/DT1

OSC1

30

OSC2

31

VSS

6

VDD

28

MCLR/VPP18

VSS

29

RB5/PGM15

VDD

7

RC6/TX/CK44

RB0/INT08

RB1/INT19

RB2/INT210

RC2/CCP136

RC5/SDO43

RC3/SCK/SCL37

RC4/SDI/SDA42

RB6/PGC16

RB7/PGD17

RD2/PSP240

RD3/PSP341

RD4/PSP42

RD5/PSP53

RD6/PSP64

RD7/PSP75

RB3/CCP211

RB414

RA3/AN3/VREF+22

RA2/AN221

RA1/AN120

RA0/AN019

RA423

RA524

RE025

RE126

RE227

RD038

RD139

RC032

RC135

NC12

NC13

NC33

NC34

IC2

PIC18F4520

C9

22p

Kb1

CS

CS

DO

DO

DI

DI

CLK

CLK

RSV8

NC1

CS2

DI3

Vdd4

CLK5

Vss6

DO7

CD9

CD110

Card1

SD Card

CD

CD

3V3

C2

100n

C3

100n

C7

100n

C1

100n

SDA

SDASCL

SCL

R15

1k

D1

R16

1k

D2

K8

1 3

2

IC3AP1117E33G-13

C10

10u

C11

22u

Keypad4 x 4

LoggingCD

1-Wire

R1

10k

R2

10k

3V3

BT1

CR2032

K1

3V3

A1+

1

C1-

2

C2-

19

A2+

20CA

P1N

21CA

P1P

22PS

B23

VOUT

24VI

N25

VDD

26VS

S27

D728

D629

D530

D431

D332

D233

D134

D035

E36

R/W

37CS

B38

RS39

RESE

T40

16 x 2

LCD1DOGM162

3V3

C4

1u

C5

470n

EERS

RS D4 D5 D6 D7

D4D5D6D7

R18

1R5

R19

1R5

3V3

T1

BC850

R2018kBL

BL

R9

8k2

R10

8k2

R11

8k2

R128k

2

K2

C6

100n

R21

10k

R27

56k

K7

1-WireK6

1-WireK5

1-WireK4

3V3

1-WireR22 1k K3

R4 100RR5 100RR6 100RR7 100RR8 100RR13 100RR14 100R

1-Wire

R29

10k

R30

10k

R31

10k

R32

10k

R28

10k

R23 1kR24 1kR25 1kR26 1kR17 1k

CD

3V3

120637 - 11

R33

10k

Figura 1.Esquema eléctrico del Registrador de Temperatura Multicanal. Además de la vuestra, también y algo de inteligencia en el PIC18F4520.

Page 52: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

52 | noviembre 2013 | www.elektor-magazine.es

Volviendo al circuito, el conector K1 es la pasa-rela al PICKit de Microchip.Se han incluido dos LEDs: D2, que muestra la actividad de recogida de datos, y D1, que mues-tra la detección de la tarjeta.La tensión de alimentación de 3,3 V para el circuito completo la suministra un regulador de baja caída de tensión, IC3. La tensión de entrada máxima será de unos 18 V (pero no la sobrepases) y la mínima, de unos 4,6 V. Cuatro pilas secas AA de 1,5 voltios nos durarán mucho tiempo.

Aplicaciones y cómo se desarrollóLa primera unidad fue construida por el autor para supervisar la variación de temperatura en diferen-tes puntos en una losa de forjado concreta, justo después de meter la mezcla en el molde y durante su endurecimiento. Era para un estudiante de Inge-niería Mecánica. En aquel momento, la unidad era bastante primitiva, con sólo el teclado numérico y la pantalla LCD. El registro de datos se hizo a mano cada pocas horas durante un par de días.

La configuración de los fusibles internos permiten que el microcontrolador se sincronice con un reloj externo con cristal de cuarzo de 8 MHz, X2. Con el PLL interno habilitado, el CLK real del PIC es de 32 MHz. El cristal está acompañado por el par de con-densadores cerámicos de carga correspondientes de 22 pF. Una o dos palabras sobre estos peque-ños componentes aparentemente insignificantes: si colocamos componentes incorrectos aquí nos encontraremos con que pueden pasar cosas gra-ciosas. Como les ha sucedido a algunos expertos y otros gurús de la programación en C o C ++ que colocaron componentes “similares” en el circuito de “elector” y, posteriormente, pasaron horas en la depuración del código, a la vez que creaban largos hilos en el foro desde California hasta el MIT de Bos-ton y a través del océano hasta nuestro laboratorio de Limbricht, todo porque el microprocesador está trabajando a una velocidad que es bastante dife-rente a lo que el diseñador planeó. La conclusión: coloca los condensadores del cristal erróneos y el oscilador de nuestro PIC no funcionará.

8-BIT CRC 48-BIT NÚMERO DE SERIE 8-BIT CÓDIGO DE FAMILIA (28h) BSM BSM BSLBSL BSL MSB

DS18S20

DQ

GND VDD

Figura 2.Formato de mensajes de 1-Hilo y distribución de terminales del sensor de temperatura DS18S20 de 1-Hilo de Dallas.

Petit FAFT Fs (Pequeña FAT Fs)El Sistema de Ficheros PetitFAT File System (Petit FATFs) está escrito cumpliendo con los estándares y completamente independiente de la capa de E/S de disco. Puede ser incorporado en un pequeño microcontrolador con una pequeña cantidad de memoria, incluso si el tamaño de la RAM es menor que el tamaño de un sector. Las prestaciones de la ‘Petit FatFs’ incluyen: Consumo de memoria RAM muy pequeño (área de trabajo de 44 bytes + algo de pila). Tamaño de código muy pequeño (2-4 Kbytes). Soporta FAT32; Único volumen y único fichero. Función de escritura de fichero con algunas restricciones.

En términos de Interfaz de Aplicación, la Petit FATFs proporciona las siguientes funciones: (monta/desmonta un Volumen); pf_open (abre un archivo); pf_read (lee un archivo); pf_write (escribe un archivo); pf_lseek (mueve el puntero de lectura/escritura); pf_opendir (abre un directorio); y pf_readdir (lee un ítem de un directorio).La Petit FATFs es completamente independiente de la capa de E/S, de ahí que requiera ciertas funciones de la capa inferior para leer el disco físico. El módulo de E/S de bajo nivel del disco no forma parte del módulo PetitFatFs y debe ser proporcionado por el usuario. Los controladores de muestra, llamados disk_initialize, disk_readp (parcial) y disk_writep (parcial) también están disponibles en la referencia [4].

Application

RAM Petit FatFs

Low level disk I/O(SD, ATA, USB, NAND)

Stream

Page 53: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

registrador de temperatura multicanal

www.elektor-magazine.es | noviembre 2013 | 53

archivo o ajustar el tamaño de un archivo. Al principio de una nueva sesión de registro, este archivo se abre y se sobre-escribe, comenzando desde el primer registro del fichero original. Por lo tanto, si la nueva sesión contiene menos mues-tras que la anterior, algunos valores de medida permanecerán en su lugar. Así pues, se reco-mienda usar nuestro PC para escribir un archivo nuevo en blanco en la tarjeta SD, antes de ini-ciar una nueva operación de registro de datos. Este archivo vacío está incluido con la descarga de software gratuito desde la página web de Elektor en [3]. Pero también se puede crear con el ‘scratch’, ver [4]. De cualquier manera, para crear un nuevo archivo de registro escribiremos:

fsutil file createnew\<[driveletter>:<file size in bytes>

el tamaño por defecto de nuestro fichero es de 5 MB, pero podemos adaptar el tamaño a nues-tro gusto.En términos de valores medidos que aparecen en la pantalla LCD, T(emp).0 es el sensor cableado a K8 (el más cercano a la pantalla), T1 a K7, y así sucesivamente hasta T7 que va a K3, en la parte inferior de la placa.Se escribe una nueva línea/registro en el fichero TempLog.csv por cada nueva medida. Las colum-nas 1 y 2 contienen la fecha y hora, respectiva-

Un miembro de www.elektor-labs.com sugirió colocar cuatro sensores en una varilla, en inter-valos de unos 33 cm, por encima del suelo y dos sensores en la tierra. Esto nos daría una buena idea de las temperaturas en el jardín.El código original fue escrito usando PIC MIKROC de Mikroelektronika. Las pruebas y la depuración fueron realizadas con la ayuda de una placa de desarrollo Easypic6 de Mikroelektronika, con su módulo RTC2 y su tarjeta MMC/SD. La configu-ración de prueba original del autor se puede ver en la Figura 3. Cuando tratábamos el proyecto para su publicación aquí, los Laboratorios de Ele-ktor desarrollaron un nuevo software usando su entorno MPLAB X de Microchip y el compilador C18.La tarjeta de SD se lee y escribe usando Petit FatFs, un subconjunto del módulo FatFs para microcontroladores de 8 bits (ver apartado correspondiente).El protocolo de 1-Hilo fue implementado con la ayuda de una librería para C18 que podemos encontrar en [2].Todos los ficheros de código fuente del PIC para el proyecto han sido comprimidos en un archivo .zip que podemos descargar gratuitamente en [3].

El archivo de registroEl registrador de temperaturas espera encontrar un archivo llamado TempLog.csv en la tarjeta de SD. El registrador es incapaz de crear un nuevo

Figura 3.Así fue desarrollado el proyecto en casa del autor, usando un sistema de desarrollo EasyPIC6 de Mikroelektronika y algunos añadidos.

Page 54: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

54 | noviembre 2013 | www.elektor-magazine.es

En el fichero Onewire.c: ow_reset, ow_write_byte, ow_read_byte, ow_read_bit, ow_get_temperature.

En el fichero mmc.c: disk_initialize, init_spi.

¿Todo hecho? Entonces, envía tus resultados a la comunidad en www.elektor-labs.com.

MontajeEn la Figura 4 se muestra la tarjeta del circuito diseñada por los Laboratorios de Elektor para el proyecto, junto con su lista de componentes. La forma y dimensiones globales de la tarjeta vienen definidas por la pantalla LCD y el teclado instala-dos sobre la misma. Etchers@home: los ficheros .pdf de la placa están en la referencia [3]. Además de un buen número conectores tipo ‘pinheaders’

mente. En las siguientes columnas aparecen las temperaturas medidas en el orden (ver párrafo anterior) de los sensores conectados. Por ejemplo, si sólo hay un sensor conectado, su valor de salida aparece en la tercera columna, sin tener en cuenta el conector al que está cableado o conectado.

Si lo piensas, puedesprobar a cambiar la frecuencia de 8 MHz pre-sente en el oscilador del microcontrolador. Puedes hacerlo si quieres - nos tenemos que enfrentar en términos de retardos que tendrás que reajustar:

En el fichero Globals.c: adaptar delay_ms, delay_us, setup_io (SSPADD).

En el fichero LCD.c: adaptar XLCDdelay15ms, …4ms, …100us, …500ns, XLCDdelay.

En el fichero SW_I2C.c: todas las funciones.

Funciones ClaveEl teclado es, básicamente, un modelo del tipo DTMF (de telefonía), que con los números del 0 al 9 y las letras de la A a la D, el símbolo ‘almohadilla’ (#) y un asterisco (*). Las funciones clave están resumidas más abajo. Las teclas pulsadas no producen sonidos DTMF.

A: Ajusta el intervalo de recogida de datos. 0-9: cambia el número (avanza automáticamente).D: Sale del menú de configuración. Atención, después de cada unidad (hora, minutos, segundos), la unidad sólo se actualiza, no reinicia.

B: Inicio/Detención de registro de datos (un LED indica ‘registro de datos’ en progreso).

C: Configuración de Reloj 0-9: Cambia el número (avanza automáticamente).D: Sale del menú de configuración.Atención, después de cada unidad (hora, minutos, segundos), la unidad sólo se actualiza, no reinicia.

0 – 5: Selecciona el sensor a ser visualizado en la pantalla LCD.

Códigos de Pantalla:

Al Inicio:

C L K : wd wd d d mo mo y y

R E/U S/N h h mi mi s s

Home (x = número de sensor):

T x : wd wd d d mo mo y y

(-) T T . T h h mi mi s s

Establecimiento de hora:

S e T wd wd d d mo mo y y

t i m e h H mi mi s s

Ajuste de la recogida de datos:

S e t l o g i n t e r v a l

h : h h m : m m s : s s

Page 55: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

registrador de temperatura multicanal

www.elektor-magazine.es | noviembre 2013 | 55

Referencias en Internet

[1] Thermo-Snake, Elektor de Junio de 2008, www.elektor.es/070122

[2] Protocolo de 1-Hilo: http://psychoul.com/electronics/1-wire-onewire-c18-library-2

[3] www.elektor.es/120637

[4] Crear un fichero de tamaño xx: http://windowsitpro.com/systems-management/how-can-i-create-file-certain-size-windows-xp-and-later

[5] Pequeña FAT Fs: http://elm-chan.org/fsw/ff/00index_p.html

de 2,54 mm de separación entre terminales, de una pila tipo botón y una tira de terminales de 2,54 mm de separación, con terminales tornea-dos, la mayoría de los componentes de la placa son SMD. De todos ellos, el microcontrolador PIC es el más complicado de montar, pero trabajando de forma tranquila y precisa se puede hacer sin problemas. Los métodos para soldar a mano con éxito estos componentes multi-terminales ya han sido descritos muchas veces. El teclado numérico se monta sobre cuatro separadores de 15-20 mm para salvar el clip del alojamiento para la pila.Para finalizar, la pantalla LCD es un dispositivo frá-gil y se debe manejar y montar con sumo cuidado.

(120637)

LISTA DE COMPONENTESResistencias(SMD 0805)R1,R2,R21,R28,R29,R30,R31,R32,R33 = 10kΩ 5%

125mWR3,R4,R5,R6,R7,R8,R13,R14 = 100Ω 5% 125mWR9,R10,R11,R12 = 8.2kΩ 5% 125mWR15,R16,R17,R22,R23,R24,R25,R26 = 1kΩ 5% 125mWR18,R19 = 1.5Ω 5% 100mWR20 = 18kΩ 5% 125mWR27 = 56kΩ 5% 125mW

Condensadores(SMD 0805)C1,C2,C3,C6,C7 = 100nF 50V 20% C4 = 1µF 16V C5 = 470nF 25VC8,C9 = 22pF 50V 5%C10 = 10µF C11 = 22µF 10V

SemiconductoresD1,D2 = LED, 3mm, baja corrienteT1 = BC850, NPN 45V transistor, SOT-23IC1 = DS1338Z33+, reloj de tiempo real (o RTC),

SOIC8IC2 = PIC18F4520-I/PT, 8-bit MCU, programado, Ele-

ktor Store # 120637-41IC3 = AP1117E33G, LDO regulador, 3,3V, SOT223IC4,IC5,IC6,IC7,IC8,IC9 = DS18S20, sensor de tem-

peratura de 1-Hilo, TO92 (fuera de la placa)

VariosKb1 = MCAK1604NBWB, teclado, 4x4 array, Multicomp.X1 = Cristal de cuarzo de 32,768 kHz, 12,5pF

de carga, 20ppm, 4,1x1,5mm, Abracon ABS09-32.768KHZ-T.

X2 = Cristal de cuarzo de 8 MHz, 18pF de carga, 20ppm, 5x3,2mm, Abracon ABM3-8.000MHZ-D2Y-T.

Card1 = conector uSD (micro SD), Hirose DM3AT-SF-PEJM5(40).

BT1 = CR2032, con alojamiento de pila para montaje en placa.

LCD1 = DOGM162W-A, pantalla LCD de 2x16 caracteres.Retroiluminación EA LED55x31-G

K1 = conector tipo ‘pinheader’ de 6 terminales, ángu-lo recto, paso 2.54 mm.

K2 = conector tipo ‘pinheader’ de 2 terminales, ángu-lo recto, paso 2.54 mm.

K3,K4,K5,K6,K7,K8 = conector tipo ‘pinheader’ o zo-calo de 3 terminales, ángulo recto, paso 2.54 mm.

Tira de zócalo de paso 2.54 mm, terminales tronea-dos, para montaje LCD y teclado.

Placa de circuito impreso ref. 120637

Figura 4.La placa de circuito impreso diseñada para el proyecto contiene principalmente componentes SMD.

www.elekt

orpcbservice.com

Page 56: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

56 | noviembre 2013 | www.elektor-magazine.es

Actualmente los vehículos modernos

(coches, camiones, motos, vehículos de agricultura, etc.) se han convertido en redes ambu-lantes (móviles). En estos vehículos varias unida-des de control están interconectadas a través de una red e intercambian datos a través de ella. Así es cómo se encargan de que las diferentes tareas en estos vehículos funcionen de forma óptima. Muchos fabricantes de coches utilizan el bus CAN (Controller Area Network) para ello. Aquí las unidades de control están interconectadas a través de 2 hilos trenzados para formar así la red CAN. Estos hilos se denominan CAN High y

CAN Low. Puede haber varias redes CAN en un único vehículo.CAN es un sistema que funciona de forma muy segura en un entorno con interferencias. Pero debido de la complejidad de las redes CAN a veces es difícil remediar los fallos.Esa es una de las razones por la cual se desarrolló el CAN-tester aquí descrito; la otra razón es que este CAN-tester se puede utilizar perfectamente para adquirir cono-cimientos sobre el bus CAN y ofrece la posibilidad de experimentar con software de circuitos CAN. El CAN-tester que presentamos consta

de 2 placas idénticas (placa A y placa B) que vienen equipadas solamente con un software diferente. Cada placa se puede equipar con un LCD de 4x20 caracteres. Las placas se comuni-can entre sí según el protocolo CAN.También se pueden conectar estas placas a un bus CAN existente.

El CAN-tester ofrece varias posibilidades (con las mismas placas):• Configuración de prueba con las pla-

cas A y B, para ID de 29 bits y/o 11 bits (automáticamente)

• MostrarlosdatosCANenelLCD(porejemplofreno de mano, número de kms recorridos, etc.)

• VerlosdatosatravésdeHyperterminal

Hugo Stiers (Bélgica)

CAN-testerCon amplias opciones

El circuito aquí descrito ofrece la posibilidad de realizar todo tipo de experimentos y pruebas con el bus CAN. Además existe la posibilidad de conectar el tester con un bus CAN existente para la monitorización de datos y la búsqueda de errores.

Page 57: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

CAN-tester

www.elektor-magazine.es | noviembre 2013 | 57

• FuncionalidaddepruebaconpulsadoresyLED• Simulacióndemensajes.

En este artículo se describirán todas estas posibilidades.

El hardwareEmpezamos con una pequeña descripción del hardware utilizado. La figura 1 muestra una placa, la otra tiene un diseño idéntico.El circuito consta de los siguientes componentes:- ATmega8515: microcontrolador de 8 bits (IC1)- SJA1000: controlador del protocolo CAN (IC4)- PCA82C250: transceptor CAN (IC3)- MAX232: transceptor RS232 (IC2, para la comu-

nicación con el PC)- LCD de 4 x 20 caracteres (LCD1)

El SJA1000 es un procesador bitstream que dispone de un buffer de envío y de recep-

ción. El ATmega8515 lo controla y lo inicializa. El ATmega8515 provee al buffer de envío del SJA1000 de mensajes y lee el buffer de recepción. El SJA1000 está conectado con el ATmega8515 a través de un bus de 8 bits multiplexado de direccionamiento/datos (PA0...PA7).El SJA tiene además 4 señales de control: CS (chip select), ALE (address latch enable), RD (read) y WR (write). CS (chip select) tiene que estar a nivel bajo cuando el ATmega8515 comuni-que con el SJA1000. La señal ALE tiene que estar a nivel alto cuando el bus contenga una direc-ción y un nivel bajo para datos. Se utilizan las señales RD y WR para determinar si el comando que va a la memoria del SJA1000 se trata de un comando de lectura o de escritura.

Aquí no se utiliza la salida interrupt (INT) del SJA1000. Con el terminal MODE del SJA1000 se indica si el microcontrolador conectado es del

Figura 1.El esquema del CAN-tester. Los ingredientes principales son un microcontrolador, un controlador de protocolo CAN y un transceptor CAN.

PB0 (OC0/T0)1

PB1 (T1)2

PB2 (AIN0)3

PB3 (AIN1)4

PB4 (SS)5

PB5 (MOSI)6

PB6 (MISO)7

PB7 (SCK)8

RESET9

PD0 (RXD)10

PD1 (TDX)11

PD2 (INT0)12

PD3 (INT1)13

PD4 (XCK)14

PD5 (OC1A)15

PD6 (WR)16

PD7 (RD)17

XTAL

218

XTAL

119

GND

20

PC0 (A8)21

PC1 (A9)22

PC2 (A10)23

PC3 (A11)24

PC4 (A12)25

PC5 (A13)26

PC6 (A14)27

PC7 (A15)28

PE2 (OC1B)29

PE1 (ALE)30

PE0 (ICP/INT2)31

PA7 (AD7)32

PA6 (AD6)33

PA5 (AD5)34

PA4 (AD4)35

PA3 (AD3)36

PA2 (AD2)37

PA1 (AD1)38

PA0 (AD0)39VC

C40

IC1

ATmega8515-16PC

C1+1 VD

D2

C1-3

C2+4

C2-5

VEE

6

T2OUT7

R2IN8

R2OUT9

T2IN10

T1IN11

R1OUT12

R1IN13

T1OUT14

GND15

VCC16

IC2

MAX232ACPE

1 23 45

MISO VCC

GND6MOSI

RESET

K2

X1

8 MHz

S1 S2 S3 S4

C1

22p

C2

22p

C3

22p

C4

22p

C5

1u

C6

1u

C7

1u

C8

1u

C9

1u

1

2

3

4

5

6

7

8

9

11

10

K7

SUB D9

GND

2

TXD1

VCC

3

RXD4VREF5

CANL 6CANH

CANL

CANH

7

RS8

IC3

PCA82C250Y

AD61

AD72

ALE3

CS4

RD5

WR6

CLKOUT7

VSS18

XTAL

19

XTAL

210

MODE11 VD

D312

TX013

TX114

VSS315

INT16

RST17

VDD2

18

RX019

RX120

VSS221

VDD1

22

AD023

AD124

AD225

AD326

AD427

AD528

IC4

SJA1000T

X2

16 MHz

VCC

GND

12

3 K3

12

3 K4

12

3 K5

12

3 K6

GND

VCC

RS

E

DB4DB5DB6DB7

6BDSCK7BD DB5

RESET

RESET

PD0PD1PD2PD3PD4PD5PD6PD7PD2

PD3

PD4

PD5

S5

RESET

PA0PA1PA2PA3PA4PA5PA6PA7

PE1

PC7

PD1

PD0

K9

VSS

1VD

D2

VL3

RS4

R/W

5E

6D0

7D1

8D2

9D3

10D4

11D5

12D6

13D7

14LE

D+A

15LE

D-C

16

LCD1

LCD20X4

RSEDB4

DB5

DB6

DB7

P1

10k

GND

D4D3D2D1

D5D6

R8

1k

R5

1k

R6

1k

R7

1k

R3

120R

R9

120R

R10

120R

R4

10k

R2

1k

R1

1k

R11

10kR12

330R

VCC

GND

GND

VCC VCC

GND

VCC

GND

PA1PA2PA3PA4PA5PA6PA7

PA0

VCC

PE1

PC7PD7

GND

PD6

VCC

12 K8

GND

12

K10

RESET

VCC

ISP120195 - 11

GND

PWR INCA

N BU

S

K1

Page 58: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

58 | noviembre 2013 | www.elektor-magazine.es

El software consta de 7 partes:1. Primero se asigna una dirección a los registros

del SJA1000 (después de todo el ATmega8515 ve al SJA1000 como memoria RAM externa).

2. El identificador (29 bits) se convierte en un ‘Long’ (4 bytes), un identificador de 11 bits se convertirá en una ‘Word’ (2 bytes).

3. El bucle ‘Do Loop’ contiene las acciones que el programa tiene que ejecutar. Ahí dentro se llaman a las subrutinas Transcantest1, Transcntest2 y Receivecantest1.

4. La subrutina ‘Initsja’ inicializa el SJA1000, ahí dentro se encuentra, entre otras cosas, la configuración de la velocidad de transmisión.

5. Las subrutinas Transcantest1 y Transcantest2 se encargan de que se envíen las tramas de datos (mensajes).

6. La subrutina Receivecantest1 se encarga de la recepción de las tramas de datos. En esta subrutina viene también lo que se tiene que hacer con los datos recibidos (procesamiento por el ATmega8515).

7. Representación de los datos en la LCD (modo de 4 bits).

Aquí la velocidad de transmisión está configurada a 250 kbits/s (como en el estándar J1939). Se puede configurar el software para otras velocidades de bits teniendo en cuenta la frecuencia de reloj del SJA1000 (16 MHz). En internet puedes encontrar varios ‘bitrate calculators’ de SJA1000 que proporcio-nan los valores de los registros (tmg_0 en tmg_1).Puedes encontrar más explicación de cómo fun-ciona el software en las hojas de datos y en las notas de aplicación del SJA1000 (en lo que con-cierne a los registros de este integrado).El software contiene comentarios que explican determinadas líneas del programa.En un documento Word separado que se puede descargar en [1] encontrarás un resumen en inglés sobre las posibilidades del software dis-ponible con alguna explicación.

ConstrucciónEn la figura 2 vemos la placa que se diseñó para el CAN-tester. Está provista de componentes en las dos caras. Casi todos los componentes se montan en la cara de componentes. En la cara de la soldadura van los LED D1...D6, los pulsa-dores S1...S4 y el conector de 16 vías para la LCD. El circuito fue originalmente diseñado para integrados con terminales de taladro pasante, sin embargo dos de los integrados utilizados ahora

tipo Intel o del tipo Motorola. En este CAN-tes-ter es Intel, por eso el terminal 11 de IC4 está conectado a VCC.El ATmega8615 ve el SJA1000 como una amplia-ción de su memoria (externa). Por eso hay que marcar la casilla ‘EXTERNAL ACCESS ENABLE’ en los settings del compilador de Bascom (ver recuadro ‘configuración de programación’).EL transceptor PCA82C250 se encarga de que los datos que recibe del SJA1000 a través de TXD (nivel TTL) sean puestos de forma diferencial (como diferencia de tensión) sobre el bus CAN (CanH y CanL) (con los hilos Can-High y Can-Low como cable de par trenzado, terminado con 2 resistencias de 120 Ω). El transceptor convierte los datos diferenciales recibidos en una señal de nivel TTL, que pasa al SJA1000 a través del terminal RXD.El Atmega8515 funciona a una frecuencia de reloj de 8 MHZ, el SJA a 16 MHz. La velocidad de la conexión con el PC es de 57600 baudios. La placa está equipada con 4 puentes (K3...K6), con los que puedes seleccionar si se conectan LED o pulsadores al puerto D del ATmega8515.El display se utiliza en modo de 4 bits y está conectado al puerto B del microcontrolador. Con P1 se puede ajustar el contraste.El MAX232 es un viejo conocido; se encarga de la adaptación entre las señales de 5 V de la placa y las señales de 12 V del bus RS232.Con K9 se puede activar la resistencia de termi-nación del bus CAN.Además hay un conector ISP de 6 vías para poder programar el microcontrolador en la placa. Aquí puedes conectar, por ejemplo, un programador STK500.Todo el circuito se alimenta con 5 V. Para eso se puede utilizar un adaptador de red con una tensión de salida estabilizada o una pila de 9 V con un estabilizador externo. El consumo es muy poco, una pila sería suficiente para experimentos de poca duración.

El softwareEl software está escrito en BASCOM (versión de demostración). El ATmega8515 se programó con el STK500 (Atmel). La base de este software viene de las muestras de BASCOM (third party Lawicel). Este software contiene el mínimo nece-sario para poder enviar y recibir tramas de datos (mensajes) y configura el SJA1000 en modo PELI-CAN. En este modo se pueden enviar y recibir identificadores de 11 y 29 bits.

Page 59: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

CAN-tester

www.elektor-magazine.es | noviembre 2013 | 59

(ver también la documentación adicional dispo-nible de forma gratuita en [1]).Para la conexión con el PC hay un conector sub D9. Si es necesario, puedes conectarle un cable adaptador USB/RS232 para la comunicación con un ordenador moderno.Como es habitual, todo el firmware se encuen-tra también en el sitio web de Elektor [1] como descarga gratuita.

sólo se venden en versión SMD: el PCA82C250 (IC3) y el SJA1000T (IC4). Para poder utilizarlos en la placa existente, hemos utilizado pequeñas placas adaptadoras (disponible en [2], entre otros sitios). Los compradores del controlador prepro-gramado recibirán dos placas adaptadoras, de modo que puedan utilizarlas directamente.No se requiere del LCD en todas las configura-ciones de prueba. Depende del software utilizado

Lista de materiales (por placa)Resistencias:R1,R2,R5..R8 = 1 kΩR4,R11 = 10 kΩR3,R9,R10 = 120 ΩR12 = 330 ΩP1 = potenciómetro de ajuste de 10 kΩ (por ejemplo

Bourns 3386P-1-103LF, número Farnell. 9355030)

Condensadores:C1..C4 = 22 pFC5...C9 = 1 µF/63 V radial

Semiconductores:D1..D6 = LED rojo, 3 mmIC1 = ATmega8515-16PC (programado, nº 120195-

42a para placa A y nº 120195-42b para placa B)IC2 = MAX232ACPEIC3 = PCA82C250 (DIP de 8 terminales) o

PCA82C250T (SO8, se requiere placa adaptadora)IC4 = SJA1000 (DIP de 28 terminales) o SJA1000T

(SO28, se requiere placa adaptadora)

Varios:X1 = cristal de cuarzo de 8 MHzX2 = cristal de cuarzo de 16 MHzLCD1 = LCD con 4x20 caracteres (número Elektor

120061-73)K1 = conector de 16 vías, paso 2,54 mmK2 = conector de 2x3 vías, paso 2,54 mmK3..K6 = tira de 3 pines, paso 2,54 mm, con puenteK7 = conector hembra sub D acodado para montaje

en placaK8,K10 = clema de 2 vías, paso 5,08 mmK9 = tira de 2 pines, paso 2,54 mm, con puenteS1..S5 = pulsador NA en miniatura (por ejemplo.

TE Connectivity 3-1437565-0, número Farnell 2060813)

Placa 120195-I, ver [1]

+

1

+

1

c

2

6

C9

9

5

P1

R11

-C4

+

C8

C5

IC2

K6

++

C6

5

K5

C7

K7

K4

IC1

K26

R12

R8R5

X2

CAN

L

R10

K10

R2 R1

K9

C2

CA

NH

+

RESET

S5

C3

IC4

ISP

LCD_CONT

X1

C1

R3

R9

K3

R4

R7R6

K8

IC3

Elektor120195-I

+

+

+ ++ +

Figura 2.La placa contiene componentes en ambas caras: En una cara los LED, los pulsadores y el display, en la otra cara van el resto de los componentes.

www.elekt

orpcbservice.com

Page 60: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

60 | noviembre 2013 | www.elektor-magazine.es

Para cada aplicación se requiere otro firmware. Para no complicarlo demasiado, Elektor suministra sólo los controladores preprogamados de la apli-cación 4 descrita más adelante (120195-42a y b).

Aplicaciones con el CAN-testerAquí describimos brevemente diferentes aplica-ciones, donde mencionamos siempre la versión del firmware necesario.

Aplicación 1: Las placas A y B intercambian automáticamente mensajesFirmware: 120195-40a (placa A sin LCD)120195-40b (placa B sin LCD)120195-41a (placa A con LCD)120195-41b (placa B con LCD)

Aquí ambas placas intercambian mensajes con ID de 29 bits. Con cada mensaje se envían 8 bytes de datos, de los que sólo se utilizan un único byte de datos.La placa A envía mensajes que sólo van destina-dos a la placa B y la placa B envía mensajes que sólo van destinados a la placa A. Así se reciben también los mensajes: La placa A recibe sólo mensajes de la placa B y viceversa.El byte de datos enviado llega al puerto D del microcontrolador y se muestra en ambas placas mediante 4 LED que se encienden/apagan en pare-jas. Con esto se señala que entre ambas placas hay presente un tráfico de datos continuamente. Esto también indica que el cableado está bien. Con esta función sólo se puede comprobar el cableado de la red CAN. Se puede conectar en cual-quier sitio del cableado de la red. Las placas (A y B) se deben colocar en el lugar donde se encuentra el cableado que se quiere comprobar. Ten en cuenta aquí posibles resistencias de terminación dentro de la red CAN (desconectarlas si es necesario), cada placa tiene una resistencia de terminación de 120 Ω que se puede conectar y desconectar con el puente K9 (la impedancia del bus es de 60 Ω).

Con esta configuración se puede comprobar:• desconexióndeCanH• desconexióndeCanL• CanHyCanLintercambiados• CanHyCanLcortocircuitado• Humedaddentrodeloscables(conectoresen

el agua)

Los LED dejan de parpadear de inmediato si estos fallos se manifiestan o están presentes. Cuando

Configuración de programación

En BASCOM hay que marcar en el compilador: OPTIONS/Compiler/C ‘External Access Enable’.La configuración de AVR studio 4 junto con el STK500 es como sigue:

En AVR Studio se deben configurar los fusibles de la siguiente manera:

•Boot Flash section size = 128 Boot start address =$0F80; BOOTZ = 11•Brown-out detection level at VCC = 2,7V; (BODLEVEL = 1)•Ext. Crystal/Resonator High Freq.; Start-up time:16K

CK+64ms;(CKSL = 1111 SUT = 11)

Page 61: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

CAN-tester

www.elektor-magazine.es | noviembre 2013 | 61

120195-44b (placa con LCD, número de kms recorridos)120195-45a (placa con LCD, acelerador)

En esta aplicación el CAN-tester sólo recibe men-sajes. Se muestran en un lenguaje claro en la LCD de 4 x 20 caracteres.Los 3 ejemplos son:a) estado del freno de mano de un camión.b) el número de kms recorridos.c) la posición del acelerador.

Estos ejemplos muestran cómo convertir los datos recibidos en un resultado legible con la ayuda de algunas operaciones.Esto también se puede utilizar para diagnóstico, si quieres ver, por ejemplo, un sensor determi-nado durante un viaje de prueba.En esta aplicación se conecta el CAN-tester con la red de un vehículo donde se envía este tipo de mensajes.

el fallo haya desaparecido, los LED vuelven a parpadear. Así obtienes una indicación visual en caso de fallo. Se pueden localizar fallos que se produzcan de forma ocasional moviendo el cableado y los conectores y mirando al mismo tiempo al CAN-tester.El CAN-tester funciona de forma óptima en una red no activa, ahí el bus CAN está completamente disponible para el CAN-tester. También funciona en una red activa, pero los LED empezarán a parpadear más lentamente porque en este caso se encuentra también otro tráfico de datos en el bus. Si los LED parpadean quiere decir que se envían y reciben los mensajes de las placas entre el resto de los mensajes.

Aplicación 2: un único CAN-tester con LCD (freno de mano, número de kms recorri-dos etc.)Firmware: 120195-44a (placa con LCD, freno de mano)

¡Piensa en la seguridad!¡Siempre hay que saber bien lo que uno está haciendo! Cuando el CAN-tester está conectado a un vehículo e introduzcas mensajes (tramas de datos) en la red, puede dar a lugar que se arranquen automáticamente los motores, los vehículos empiecen a moverse solos, los motores puedan girar con más o menos revoluciones, etc. Tómate el tiempo necesario para trabajar de forma segura, no pongas tu vida o la de otra persona en peligro. Sigue cuidadosamente las instrucciones del fabricante del vehículo. Y lee las instrucciones de SEGURIDAD.

Page 62: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

62 | noviembre 2013 | www.elektor-magazine.es

La placa A solo recibe mensajes de la placa B, que constan de 1 byte de datos con el identifi-cador 0C1F1315(H). El byte de datos recibido contiene la información de lo que tienen que hacer todos los LED.

Placa B:Se envía un mensaje pulsando y soltando uno o ambos pulsadores. El mensaje enviado hace que en la placa A encienda o apague uno o ambos LED (pulsando se enciende el LED, soltando se apaga el LED). Aquí sólo se envía 1 byte de datos, con el identificador 0C1F1315(H).La placa B sólo recibe mensajes de la placa A, que constan de 1 byte de datos con el identifi-cador 0C1F134A(H). El byte de datos recibido contiene la información de lo que tienen que hacer todos los LED.

En la recepción de los mensajes, el identificador tiene que coincidir con el que viene mencionado en el software, sino no se colocan los datos en el puerto D. La placa A sólo acepta datos de la placa B y viceversa. La LCD muestra el estado de los pulsadores y de los LED.En esta aplicación se puede utilizar el CAN-tester de distintas maneras, por ejemplo para probar el cableado de una red CAN. Durante el manejo de los pulsadores de la placa A, los LED de la placa B tienen que seguir estos pulsadores y viceversa.

Esta configuración y software también han sido probados en una red activa (donde están presen-tes otros mensajes). Ciertamente funciona, pero mucho más lentamente (vigila siempre bien que identificadores vas a utilizar, ya que no pueden ser los mismos que aquellos de la red activa).También en esta aplicación funciona el CAN-tes-ter de forma óptima en el cableado cuya red no está activa.

Aplicación 5: El CAN-tester como simulador de mensajesFirmware: 120195-43a (placa A con LCD, ver documentación adicional 120195-W).120195-43b1 (placa B con LCD, ver documen-tación adicional 120195-W).

Con este firmware es posible la simulación de mensajes; en una placa programas mensajes y utilizas la otra para mostrarlos en la LCD o verlos a través de Hyperterminal. Estos mensajes se pueden colocar automáticamente en el bus CAN

Si no dispones de un vehículo, puedes simular también estos mensajes utilizando otra placa. Para la simulación de mensajes puedes utilizar el Tiny-CAN View (ver ‘Comunicarse con CAN’, Elektor de septiembre de 2008) o el explora-dor CAN (ver Elektor de febrero de 2008) entre otras cosas.

Aplicación 3: Ver los datos a través de hyperterminal (velocidad en baudios = 57600)Esto se puede hacer con todos los firmwaresEl CAN-tester dispone de un MAX232 para la comunicación con el PC. El software está escrito de tal manera que se puede ver el contenido de los mensajes etc. en un PC a través de un puerto serie. Esto se puede hacer tanto para el trans-misor como para el receptor.También se pueden guardar los datos recibidos (a través del programa Hyperterminal). Pueden ser todos los mensajes o sólo aquellos en los que se está interesado. Tú mismo puedes especificarlo en el software. Por ejemplo, en cada programa está grabado el número de software que en ese momento se encuentra en el microcontrolador. Eso es útil cuando utilizas varios controladores (con distinto firmware), conectando el PC se ve directamente qué programa está grabando.

Aplicación 4: CAN-tester con pulsadores y LEDFirmware: 120195-42a (placa A con LCD)120195-42b (placa B con o sin LCD)Para esta aplicación se necesitan 2 placas (Placa A y Placa B).Los mensajes tienen identificadores de 29 bits y la velocidad es de 250 Kbits/s (protocolo J1939).Utilizamos 2 pulsadores y dos LED. Para esto coloca los puentes en los sitios correctos:Puertos D4 y D5 conectados a los pulsadores (puentes K5:1-2 y K6:1-2).Puertos D2 Y D3 conectados a los LED (puentes K3:2-3 y K4:2-3).Ambas placas (A y B) pueden enviar y recibir mensajes.

Placa A:Se envía un mensaje pulsando y soltando uno o ambos pulsadores. El mensaje enviado hace que en la placa B se encienda o se apague uno o ambos LED (pulsado se enciende el LED, soltando se apaga el LED). Aquí solo se envía 1 byte de datos, con el identificador 0C1F134A(H).

Page 63: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

CAN-tester

www.elektor-magazine.es | noviembre 2013 | 63

prueba como son el Tiny CAN View o el explora-dor CAN de Elektor. Mucha suerte con las prue-bas y experimentos.

(120195)

Enlaces web

[1] www.elektor.es/120195

[2] www.futurlec.com/SMD_Adapters.shtml

[3] www.fms-standard.com/down_load/fms_do-cument_ver02.00vers_11_11_2010.pdf

con una frecuencia de repetición determinada (repetition time). También se pueden enviar en el momento de manejar los pulsadores.Firmware 120195-43a: enviar mensajes; fir-mware 120195-43b1: recibir mensajes.Para ver ejemplos y explicación de los mensa-jes, ver [3]También aquí se pueden comprobar las placas (para mostrar datos en la LCD) con el Tiny-CAN View o el explorador Can.

FinalmenteEl CAN-tester siempre tiene que estar conec-tado a otra placa, un vehículo u otro aparato de

Figura 3.La configuración de prueba según la aplicación 4. Una pila de 9 V con un estabilizador 7805 se encarga de la alimentación.

Page 64: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

64 | noviembre 2013 | www.elektor-magazine.es

Los dos puntos dignos de atención son, por una parte, el hecho de que el instrumento parece col-garse cuando realiza medidas de baja resistencia (< 1 Ω) y, por otra parte, la imposibilidad de rea-lizar los Trim (Ajustes). Estos problemas ya han sido comentados por el autor en los foros [2] [3], pero no está de más el publicarlos también aquí.Con respecto a la medida de resistencias por debajo de 1 Ω, con el fin de obtener una ten-sión consecuente, el programa interno (firmware) ajusta al máximo la ganancia para la medida “tensión”:

Rango 1 (Rsense de 100 Ω y ganancia del PGA103 de 100).

Ganancia de la amplificación final próxima al máximo (segmento E o F).

Por desgracia, la tensión de desfase de entrada también se amplifica bastante, con lo que su compensación no se asegura plenamente con el esquema eléctrico publicado en marzo de 2013. De aquí se obtiene un posible desbordamiento permanente de la tensión máxima a la entrada del conversor analógico/digital.Este fenómeno errático no es sistemático y depende bastante de la tensión de offset acu-mulada por parte de U6 y de U4 y del valor de la resistencia (o de la inductancia), de bajo valor, medida. ¡Esto por un lado¡Además, cuando no tenemos ningún componente conectado en el proceso “TRIM – OPEN-CIRCUIT”, también se produce el hecho de que la ganan-cia para la medida “corriente” es máxima a la frecuencia de 100 Hz (o 120 Hz):

Rango 8 (Rsense de 100 kΩ y ganancia del PGA103 de 100).

Ganancia de la amplificación final próxima al máximo (segmento E o F).

En ese momento, el circuito de medida “corriente” es muy sensible a las señales parásitas captadas por los cables de medida, particularmente las de la tensión de red (50 Hz o 60 Hz). El resultado de la medida es tan inestable que el firmware no acepta presentarlo en pantalla y no llega a validar el proceso de TRIM. ¡Esto por el otro!

2 problemas, 2 solucionesDependiendo de si somos adeptos al soldador o no, existen dos soluciones: Intervención sobre el equipo (la mejor solu-

ción), para modificar el esquema eléctrico de la compensación de la tensión de desfase de la entrada, junto con la actualización del firmware (V. 3.0.0) y del programa AU2011 (V. 3.0.0). La modificación del circuito será detectada automáticamente por el programa, durante el encendido del mismo, por medio de la presencia de una resistencia sobre la línea del puerto P2.2 (LCD_SI) (ver Figura 1).

La actualización con las mismas versiones del firmware (V. 3.0.0) y del programa AU2011 (V 3.0.0), sin la modificación del circuito.

Importante: La actualización del programa a la versión 3.0.0. debe hacerse en cualquier caso. La nueva versión es igual de compati-ble con la versión de equipo anterior que con la versión modificada descrita más abajo.

Modificación de componentesDe acuerdo a como se concibió en su origen, la compensación de la tensión de desfase a la entrada se realiza por la inyección de una corriente en la entrada de U6. Por desgracia, el resultado es muy dependiente de la resistencia (en continua) del DUT (es decir, el componente bajo prueba).El nuevo esquema eléctrico (ver Figura 1) aplica la tensión de corrección a nivel de la salida de U5

Jean-Jacques Aubry (Ollioules)

Actualización Importante delMedidor LCR 0,05 % Desde la publicación de este proyecto en tres artículos [1], se han fabricado ya varios centenares de unidades de este instrumento, para gran satisfacción de sus usuarios y del autor. El autor ha corregido dos errores que podrían perturbar el buen funcionamiento del instrumento en ciertas condiciones.

Page 65: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

medidor lcr 0,05 %

www.elektor-magazine.es | noviembre 2013 | 65

(INA128), con lo que la impedancia del DUT ya no tiene influencia. Además, esto también per-mite separar la compensación para las medidas “corriente” y “tensión”. Para ello, el terminal 5 de U5 ya no está conectado a la masa analógica, sino que, a través de una resistencia de bajo valor, lo está a una tensión ajustable por programa.

La modificación conlleva cuatro etapas: Retirar R34 con el fin de desactivar la vieja

compensación. R42 y C35 ya no sirven para nada y también pueden ser retirados.

Sustituir R46 por una resistencia (preferente-mente, de encapsulado 0805) de 10 Ω. También podemos soldar la resistencia de 10 Ω direc-

Y1

C38

33p

C39

33p R500R

R51

4k7

R12

4k7

R53

470R

D6J17C48

100n

C47

100n

100nRESET

EXT_REF

DAC_SDIDAC_CLKDAC_CSR_SEL_A0R_SEL_A1GAIN_A0GAIN_A1

TIMER_4VBGAP0

R4710k

R45

39k

R46

10R

–5VA

R95

10k

UI_SEL

VDD +5VA

1 23 45 67 89 10

11 1213 14

J16

P1.7/AIN2.7P1.6/AIN2.6P1.5/AIN2.5P1.4/AIN2.4P1.3/AIN2.3P1.2/AIN2.2P1.1/AIN2.1

P1.0/AIN2.0

C8051F061

VRGND0VRGND1

VBGAP0

XTAL1 XTAL2

AIN0GAIN1G

VREF0

AGND

AGND

AGND

DGND

DGND

DGND

AIN0

AGND

DAC0

P2.7

P2.5P2.6

P2.4P2.3P2.2P2.1P2.0

P0.7P0.6P0.5P0.4P0.3P0.2

20 2119 22 27 39 54

14

13

11

1516

17

24252829303132

33

34

3635

3738414243

4445464748

6

3

4

LCD_CSLCD_RES

BKL_CLCD_A0

LCD_SCLLCD_SI

L1L2L4

LED

BKL_CLCD_CSLCD_A0LCD_SI

L2

LCD_RESLCD_SCL

LEDL1L4

BKL_AVDD

J11

HD

J10

HS

J13

LS

J12

LD

R36

100R

R37

100R

J22J21

C25150p 5%

NPO

C23 0805NC

J9

C221n5 5%

NPO

C21 0805NC

J8

C1815n 5%

NPO

C17 0805NC

J7

C1647n 5%

NPOJ6

C1547n 5%

NPO

C1447n 5%

C1315n 5%

NPO

NPO

R191R

R17NC

J3

R1610R

R15NC

J2

J1

R24

100R

R1810k

0.05%R201k

0.05%

R21100R

0.05%R22100k

0.05%

+5VA

–5VA

C20

100n

C12

100n

R2356R

R2556R

R26100R

C19

150p5%

NPO

74HCT4053

U8

GND VEE

VCC

EN

1213

15

14X0X1

Y0Y1

Z0Z1

10

11

16

2

3

6

4

1

5

X

Y

Z

B

A

9C

8 7

74HCT4052

U3

VCC

VEEGND EN

12

10

X0

16

1314 X115 X211 X3

Y0Y1Y2Y3

A

6

B 9

X

1524

Y 3

78

+5VA

–5VA

D11 2

3

BAV199

U4.C

9

10

8

AV+

R27100R

D21 2

3

BAV199R29100R 4

31U6

5

2OPA354

C28100n

C242u2

C31100n

C322u2

AV+

–2V5

R28

10R

D312

3

BAV199

–5VA

U4.D

13

12

14

DBVT

R34820k

R42100k

C35

100n

TP6

D41 2

3

BAV199

U4.A

2

3

1

+5VA

–5VA

R40100R

D51 2

3

BAV199

U4.B

6

5

7

R44100R

U14

31

5

2

OPA725DBVT

+5VA C2

100n

C10

100n–5VA

R2

820k

R8

16k

C9

4u7

C3

4u7

R_SEL_A0

R_SEL_A1

IC411

4

C33

100n

C36

100n

+5VA

–5VA

IC4 = TLC2274

INA128UU5

REF

+VS

–VS

RG

RG

VO

2

31

8

6

5

7

4

R93

100k

R32

100k

R35

56R

R41

56R

UI_SEL C34

100n

–5VA

+5VA

C27

100n

R31750R

C30

1n55%

NPO

J19

+5V

GND

D–D+

1234

USB-BL3

FB

L2

FB

C84

33p

C83

33p

C82

10n

C78

100n

FT235RL

3V3OUT

RXLEDTXLED

SLEEP

RESET

USBDPUSBDM

VCCIO

TXDEN

PWRNTEST

U19

OSCO

AGND

OSCI

DCDDSR

RXDRTSTXD

CTS

DTR

VCC

GND GND GND

2728

25

2223

12

26

1011

14

19

17

1516

20

13

RI

18 21

4

9

5312

6

7

TP3

TP5

TP4

J14

J5J4

R110R

R4

10k

R10

10k

R61k8

R956R

C1

100n

C11

100n

VDD

TP2

R11

8k2

R125k6

C7

47n5%

NPO

R58k2

R13

8k2

R145k6

C57

4n75%

NPO

R38k2

PWRN

TIMER_2

TIMER_4

R38

56R

4

12

R39

56R

GAIN

_A0

GAIN

_A1

R43

2R2

M1

MGND

R_SEL_A0R_SEL_A1

00

10kR18

00

00

00

R21 R20 R22100R 1k 100k

SINUS_TRIM

INPUT_TRIM

UI_SEL UI

00 0

GAIN_A0GAIN_A1 1

1

1

10

0

100

*

FL_10kHz

MAX7404

U2SHDN

GND

ESA

OUT

CLKCOM

VDD

OS

IN

7 4

3

5

6

2

81

TP1

01

* J17 SET FOR FIRMWARE UPDATEAT POWER-ON

Figura 1.Esquema eléctrico parcial con las correcciones a realizar para mejorar el medidor LCR.

Page 66: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

66 | noviembre 2013 | www.elektor-magazine.es

de estropear U5. Por lo tanto, recomendamos cortar adecuadamente las pistas (visibles) entre U5.5 y C27, U5.5 y C34 y U5.5 y la pista al lado de J14 (ver Figura 2). A continuación, tenemos que reestablecer las conexiones de C27 y C34 con la pista de la masa analógica, a través de pequeños trozos de hilo (ver Figura 3). Ade-más, hay que establecer también otro cortocir-cuito, con otro trozo de hilo, entre el terminal 5 de U5 y el punto común de R45, R46 y R47.

Soldar una resistencia de entre 4,7 kΩ y 10 kΩ entre los terminales 9 y 11 de J17, en la cara opuesta a la del circuito impreso (ver Figura 4). La presencia de esta resistencia permitirá al fir-mware detectar el circuito modificado.

Nuevos programas [4]La versión firmware 3.0.0 (LCR3A_firmware_V300.hex) se encarga de gestionar el nuevo esquema eléctrico del circuito de compensación de la tensión de desfase de la entrada, siempre y cuando se detecte una resistencia conectada a masa en el terminal 9 de J17.Esto se traduce en una nueva reorganización de los menús del programa AU2011, el cual también pasa a la versión 3.0.0: el menú inicial Input_off-set adjustement... se sustituye por dos menús: Input_offset_U adjustement… y Input_offset_I adjustement…, el primero con un cortocircuito a la entrada y el segundo con un circuito abierto. Para los usuarios que no quieran (o puedan) efectuar la modificación del circuito, la solución consiste en limitar la ganancia global del rango 1. De igual forma, podemos efectuar una limita-ción similar en el rango 8 si el entorno está muy perturbado e impide efectuar correctamente la compensación TRIM – OPEN-CIRCUIT.

La solución de limitación de la ganancia es válida tanto si el instrumento ha sido modificado o no.El valor máximo inicial será de 5 para un instrumento no modificado y de un máximo de 15 (segmento F) para un instrumento modificado. Por supuesto, se sobreentiende que las modificaciones de los valores han sido almacenados en la memoria del instru-mento, al igual a como se ha hecho con los otros ajustes/opciones de la ventana de Preferencias. De todo esto se deriva la presencia de dos menús en modo autónomo y la modificación de la ventana de las preferencias en modo PC cuando la opción menus de calibrage accessibles (menús de calibra-ción accesibles) está marcada (ver Figuras 5 y 6).

tamente sobre la resistencia de 680 Ω que ya está en esa posición.

La tercera modificación es la más delicada: es necesario aislar de sus conexiones actuales el terminal 5 de U5 y conectarlo en el punto común de R45, R46 y R47. Se puede hacer desoldando y levantando el terminal 5, pero no lo aconse-jamos, ya que no debemos correr el riesgo

Figura 2.Modificación del circuito de compensación de la tensión de desfase alrededor de U5.

Figura 4.Esta resistencia indica al firmware que el circuito ha sido modificado conforme a las indicaciones de las Figuras 1 a 3.

Figura 3.¡No intentéis desoldar el terminal 5 de U5! Puede pasar lo peor. Es mejor trabajar con el cúter para aislar el terminal y establecer la conexión correcta con un hilo.

Page 67: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

medidor lcr 0,05 %

www.elektor-magazine.es | noviembre 2013 | 67

con 4 conectores BNC (TONGHUI TH26001A o HAMEG HZ181), es totalmente preferible al uso de una pinza Kelvin.

(130307)

Enlaces en Internet

[1] Medidor LCR del 0,05%

1ª parte Elektor nº 393, marzo de 2013 www.elektor.es/110758

2ª parte Elektor nº 394, abril de 2013 www.elektor.es/130022

3ª parte Elektor nº 395, mayo de 2013 www.elektor.es/130093

[2] www.elektor.fr/forumLCR

[3] www.elektor.com/forum/elektor-forums/fields-of-interest/test-measure-ment.1543743.lynkx

[4] www.elektor.es/130093

Se han efectuado otras modificaciones para aumen-tar la comodidad de uso, como la aparición del menú “Port/Close the port”, muy práctico si inicial-mente se ha seleccionado un puerto erróneo. Así, basta con seleccionar el puerto correcto y pulsar sobre el botón “Open port” de la ventana principal.

Medida de impedancias elevadasAntes del muestreo, las señales “tensión” y “corriente” son amplificadas sin ningún filtrado de baja frecuencia. Sólo es posible disminuir la influencia de las señales parásitas captadas por el dispositivo de medida después de la digitali-zación, al efectuar la medida durante un número entero de períodos de la tensión de red y efec-tuando la media de varias medidas.Esto quiere decir que es posible que la señal apli-cada al conversor analógico/digital (CAD) sobre-pase, durante cortos periodos de tiempo, el mar-gen de entrada de este CAD e invalide la medida.Así pues, hay que tener un cuidado especial para la medida de impedancias elevadas, cuando el medidor LCR se ajusta para el rango 7 y, sobre todo, para el rango 8. Es el caso de TRIM CIRCUIT-OUVERT.

Colocaremos la electrónica en una caja metá-lica (para las bajas frecuencias es preferible el hierro al aluminio), toda ella conectada a masa (tierra). Tenemos que tener cuidado si utilizamos el medidor LCR en modo autónomo, con una alimentación USB, o en modo PC, con un ordenador portátil: en estos casos la cone-xión a masa (tierra) no está establecida, por lo que nos toca a nosotros hacerla. En efecto, el conector USB de una alimentación por este bus, no tiene terminal de tierra de protección que permita conectar la caja del medidor LCR a la tierra de la red eléctrica. ¡Un ordenador portátil con batería tampoco está conectado a tierra!

Reduciremos, tanto como sea posible, la lon-gitud de los cables de medida y alejaremos los cables de la tensión de red. Para proteger el instrumento y los cables de medida de las radiaciones de la tensión de red, intercalaremos una placa metálica (a ser posible de hierro), conectada a tierra, de una superficie suficiente.

Si la perturbación existe todavía, reduciremos la ganancia de la cadena de medida en el rango 8 (Max DACIndex I en modo autónomo).

Para concluir, debemos precisar que el uso ha mostrado que la solución de una caja de medida

Figura 6.Opción ‘menus de calibrage accessibles’ en las preferencias en modo PC.

Figure 6. L’option menus de calibrage accessibles dans les préférences en mode PC.

Figura 5.Dos nuevos menús en modo autónomo.

Page 68: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

68 | noviembre 2013 | www.elektor-magazine.es

El cable USB-IO24 [1] publicado en la edición de Diciembre de 2012 se trata de una solución universal para medir y controlar dispositivos externos fácilmente desde el PC. A Joachim Schröder se le ocurrió diseñar una especie de interfaz para baterías con el que poder testearlas de forma elegante con el PC. Presentó su desarrollo en el portal de Elektor.LABS [2], donde recibió buenas críticas y el apoyo de otros usuarios. Con el apoyo de Tim Uiterwijk del laboratorio de Elektor, el proyecto fue debidamente verificado y ahora publicado.

El cableEl término “cable” no hace justicia en absoluto al proyecto descrito en [1], dadas las posibilidades que realmente ofrece. Pero por otra parte este nombre encaja de maravilla, pues como muestra

la figura 1, (casi) toda la electrónica se alberga en el propio conector D-sub de 25 pines. En la práctica lo que tenemos es un cable de interfaz universal que por un lado es un USB y puede conectarse a un PC, y por el otro un conector apto para cualquier hardware externo.Lo atractivo de esta solución es que permite controlar dispositivos externos y/o realizar mediciones que no tienen por qué ser necesarias a diario. De esta manera, no tendremos que conectar cada vez un cable distinto al PC, ni necesitaremos un puerto COM virtual para cada aparato conectado. En definitiva, tanto nuestra mesa de trabajo como el sistema operativo estarán más ordenados. Aparte, escribir software para este cable es muy sencillo. En el cuadro “cable USB-IO24” se muestra un resumen de todo lo que puede hacerse con él. Además, parte

Joachim Schröder (Alemania) y Tim Uiterwijk (Holanda)

Tester de baterías USBComprobando bateríascon el cable USB-IO24

En el día a día de todo electrónico, testear baterías es algo relativamente normal. Existen instrumentos específi-cos para ello, pero no suelen ser muy asequibles, de modo que aprovechar la capacidad de un PC podía ser una bue-na idea. Aparte, gracias al cable USB-IO24 que presentamos hace tiempo en Elektor, resultaba bastante sencillo. Sólo faltaba el “interfaz para baterías” que te presentamos en este artículo...

Figura 1.Interior del cable USB-IO24 publicado en Elektor, en diciembre de 2012.

Page 69: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

tester de baterías USB

www.elektor-magazine.es | noviembre 2013 | 69

de él podemos construirlo por nuestra cuenta: en la página del producto [1] puede encargarse la placa de circuito impreso, el microcontrolador programado o una placa ya lista, montada y probada. El cable USB para el proyecto (con un conversor USB/serie integrado, del tipo FT232R) es también muy fácil de conseguir en distintos distribuidores.La estructura básica del cable USB-IO24: el cable de FTDI con conector USB se encarga de convertir los datos serie que proceden del conector D-sub, que a su vez está conectado al hardware externo del cual estemos leyendo datos o controlando; éste cuenta con todo lo necesario para ello: entradas/salidas digitales, entradas analógicas, salidas PWM, etc. Sólo necesitaremos unos cuantos componentes más para poder desarrollar una gran variedad de proyectos “inteligentes”.

Interfaz para bateríasPara probar una batería hay que medir algunos parámetros importantes. Desde un punto de vista meramente eléctrico, habrá que medir al menos la corriente de descarga y la tensión de la batería. Aparte, no sólo interesa medir la corriente de descarga, sino también ser capaz de fijarla y “regularla”. Ya que al descargarse una batería parte de la energía se transforma en calor, también es conveniente disponer al

menos de un disipador pasivo. No obstante, en este caso necesitaremos un ventilador regulado. En total se miden dos señales analógicas (corriente y tensión), y se generan otras dos “cuasianalógicas” (para la corriente y la velocidad de giro del ventilador) en el cable USB-IO24.La tarea del circuito conectado al cable consiste en adaptar los valores medidos de corriente y tensión de la batería, de modo que sean compatibles con el rango de medida de las entradas analógicas del cable USB-IO24. Aparte, también adapta las señales de salida PWM, logrando que la corriente y la velocidad de giro del ventilador sean ajustables.El circuito de la figura 2, desarrollado por Joachim Schröder, se encarga del proceso de ajuste (o “interfacing”) de estas señales:

Características:•Medida de la capacidad y resistencia

interna•Dispone de un procedimiento para

recuperación de baterías•Apto para baterías de plomo y ácido de

12 V•Corriente máxima de descarga: 8 A•Circuito sencillo, gracias al uso del cable

USB-IO24

Cable USB-IO24El cable presentado en la edición de diciembre de 2012 consiste en una placa de dos caras, especialmente diseñada para que quepa en un conector D-sub de 25 pines. Está equipada con un microcontrolador R8C/25 de Renesas, que en este diseño se encarga de recibir y devolver datos serie, estando todas las señales típicas, tanto analógicas como digitales, disponibles en los pines del conector, y de esta manera es posible controlar hardware externo y leer datos entrantes. En el otro extremo del cable tenemos uno de los conocidos chips “USB/TTL” de FTDI. Este integrado adapta la comunicación USB a señales serie compatibles TTL, y en los sistemas operativos Windows más actuales se instala un driver automáticamente que utiliza un puerto COM virtual, gracias al cual programar nuestro propio software es bastante simple. El extremo USB del cable está listo, por lo que el montaje se limita a la pequeña placa en la carcasa del conector D-sub y a conectarla debidamente con el USB listo de fabrica.

El cable USB-IO24 dispone de hasta 24 pines de E/S digitales o hasta 8 entradas analógicas, salidas PWM y señales para servos de RC, cada una con resolución de 10 bits, así como 4 entradas con contadores de 16 bits. El artículo correspondiente [1] está disponible en PDF y explica todo el montaje, funcionamiento y programación del proyecto, así como varios ejemplos de aplicaciones, incluyendo códigos de demostración. Es recomendable echarle un vistazo para ver exactamente de lo que es capaz.

Page 70: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

70 | noviembre 2013 | www.elektor-magazine.es

de 5 V, es operado a través de R4 mediante la salida PWM en el pin 15 de K1. La corriente media de descarga se regula gracias al factor de servicio de la señal PWM. De la misma manera, la corriente media del ventilador y su velocidad de giro se controla con T2. R7 se ha implementado por seguridad, en caso de que no haya nada conectado en K1, ya que con T1 saturado la corriente por una batería de automóvil podría alcanzar los 30 A, provocando unas pérdidas de unos 400 W en total entre R8, R9 y T1, algo que desde luego no aguantaría mucho tiempo. Por el ventilador no circula demasiada corriente, por lo que no se necesita una resistencia limitadora en la puerta (gate) de T2.El conector pinheader adicional K2 aúna las cuatro señales utilizadas en este circuito y la masa. Aquí podemos conectar o bien un multímetro o un osciloscopio, y observar si se comporta como esperamos. En realidad K2 no es estrictamente necesario, y si queremos es posible de él.

MontajeSe ha desarrollado una placa específica (figura 3) para este tester de baterías, cuyos

Primero se adapta la tensión de la batería conectada entre los terminales K4 y K5 del cable plano, mediante el divisor formado por R2, R3 y R6, a valores compatibles con las entradas analógicas del cable. Según el rango de medida de 0 a 5 V obtenemos una tensión máxima de 50 V en las clemas. Gracias a la resolución de 10 bits el circuito es capaz de detectar variaciones de hasta 50 mV. Este rango de medida es más que suficiente para baterías de coche de 12 V. También es apto para las típicas baterías de bicicletas eléctricas, cuya tensión nominal suele ser de 36 V. Es posible mejorar la resolución y reducir la tensión máxima ajustando el divisor de tensión según nuestros requerimientos. Para medir la corriente se comprueba la caída de tensión en el shunt R9. Ya que la corriente de la batería no es continua, sino que está controlada por PWM, es necesario suavizar el rizado que aparece en R9 gracias al filtro paso bajo formado por R5 y C1 (cuya frecuencia de corte es de 16 Hz), antes de dirigirse a la entrada del ADC en el pin 2 de K1.El MOSFET de nivel lógico T1, que puede controlarse directamente con señales lógicas

T2

IRLIZ44NPBF

K3

1

R1270R

R4270R

R51k

R2

8k2

R3

820R

R6

1k

R7

10k

C1

10u16V

T1

IRLIZ44NPBF

K7

12V

K6

K9

K8

K4

K5

V+

V-

K1

10111213

1415161718 PWM_FAN

PWM_ACCU

ADC_CURRENT

ADC_VOLTAGE

19202122232425

123456789

SUB D25

K2

123456

0R33

0R1

130019 - 11

FAN

M

R9

R8

Figura 2.Aparte del cable USB-IO24 sólo se necesitan unos pocos componentes más para completar el tester de baterías controlado por PC.

Page 71: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

tester de baterías USB

www.elektor-magazine.es | noviembre 2013 | 71

archivos de diseño pueden descargarse gratis en la página del artículo [3]. Gracias a los pocos componentes utilizados el montaje es bastante simple y apenas hay nada que comentar al respecto. Únicamente hemos de tener en cuenta el disipador. En el prototipo se atornilló la placa completa a un viejo disipador de CPU, equipado posteriormente con un ventilador adecuado (véase la figura 4).A través del ventilador no circula demasiada corriente y para T2 no necesitaremos disipador. Pero no ocurre lo mismo en el caso de T1, para el cual sí habrá que utilizarlo. Por este motivo T1 se sitúa en la cara posterior de la placa, de modo que podamos doblar sus patillas y soldarlo por arriba tras atornillarlo al disipador (ver la figura 5). Bajo T1 se aplica una capa de silicona térmica, después colocamos un tornillo M3 con un separador, doblamos las patillas del componente, y lo soldamos. Luego se atornilla tanto T1 como la placa.La potencia disipada total es el principal motivo por el cual no pueden manejarse corrientes de descarga mayores, sobre todo si R8 y R9 son resistencias de carga “normales” de 5 W. Tomando una corriente máxima de descarga de 8 A, las pérdidas en R8 estarían por encima de los 20 W. En R9 podríamos esperar unos 6,4 W. Por ello, en el prototipo se utilizaron resistencias de potencia con encapsulado metálico (véase

Figura 3.Placa con los componentes necesarios, aparte del cable USB-IO24.

Figura 4.Prototipo del tester de baterías. Tanto la propia placa, como T1, R8 y R9 están atornillados a un viejo disipador para CPU.

Lista de materialesResistencias:R1, R4 = 270 Ω, ¼ WR2 = 8k2, ¼ WR3 = 820 Ω, ¼ WR5, R6 = 1 kΩ, ¼ WR7 = 10 kΩ, ¼ WR8 = 0,33 Ω/50 W*R9 = 0,1 Ω/25 W*

Condensadores:C1 = 10 µF/16 V, electrolítico, montaje vertical,

RM 1/10’’

Semiconductores:T1, T2 = IRLIZ44NPBF

Varios:K1 = conector D-sub macho de 25 pines, para

montaje sobre placaK2 = conector tipo pin-header de 6 pines (2x3),

RM 1/10’’*K3 = conector tipo pin-header de 2 pines, RM 1/1’’K4 a K9 = conector de cable plano de 6,3 mm, verti-

cal, para montaje sobre placa

Placa 130019-1 [3]Cable USB-IO24

* Ver texto.

113

1425

M25 R1

R2

R3

R4

R5

R6

R7

C1

K1K3

K4K5

K6

K7

K8

K9

K2

T2

Figura 5.T1 se atornilla con un separador al disipador, por debajo de la placa (flecha azul).

www.elekt

orpcbservice.com

Page 72: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Proyectos

72 | noviembre 2013 | www.elektor-magazine.es

corriente de descarga máxima de 8 A. En el peor de los casos, la potencia máxima total disipada estaría un poco por encima de los 100 W. Tras fijar tanto la corriente de descarga deseada como una tensión entre bornes realista, hacemos clic en “Start”, y se iniciará la medida. El software fijará entonces la corriente especificada, y supervisará la tensión y corriente real. Finalmente mostrará la capacidad de la batería. La tensión de descarga se representa en una gráfica en función del tiempo. Una vez alcanzada la tensión final de la batería, el proceso de medida se dará por completado.Aparte de la capacidad, otro parámetro relevante que se mide es la resistencia interna. Para ello, primero hay que medir la tensión de la carga “antes”. Después se fija el PWM al valor 1.023 y por lo tanto a la máxima corriente (con una batería de 12 V equivale a unos 30 A). Ahora vuelven a medirse tensión y corriente. Luego se mide la tensión de la batería en vacío („después“). La resistencia interna se calcula según la siguiente fórmula:

Ri = ((Uvor + Unach) / 2 – ULast) / ILast

Ya no queda ningún parámetro capaz de proporcionar más datos útiles, pero sí queda una función interesante para “refrescar” baterías. Cada 10 s se genera un gran pulso de corriente, que puede ayudar a recuperar baterías de plomo y ácido, y evitar que se sulfaten. El valor del pulso de corriente puede ajustarse a modo de valor del PWM.

Más...Tanto el circuito como el software están diseñados para baterías de plomo y ácido con una tensión nominal de 12 V y una corriente de carga máxima de 8 A. El circuito también sirve para baterías con tensiones y corrientes de descarga mayores, sin necesidad de cambiar nada. Sin embargo, hemos de tener en cuenta la potencia disipada y si fuera necesario utilizar un sistema de refrigeración mejor. Para modificar el software y adaptar los rangos de medida será necesario consultar el artículo sobre el cable USB-IO24.Con 0,1 Ω para R9 la corriente máxima medible en teoría es de 50 A. Ya que la corriente circula en total también por R8, R9 y T1, y no sólo por la batería, la tensión máxima final será mayor de lo esperado. En caso de que R8 esté a tope de carga (50 W) el límite estaría en unos 12 A, pero incluso con una batería de 12 V hará falta

la lista de materiales) que pueden atornillarse fácilmente al lateral del disipador.

Pruebas y funcionamientoTras montar la placa, revisarla y atornillarla al disipador, ya podemos conectar el cable USB-IO24 al PC, y en el otro extremo al módulo del tester de baterías. Al conectarlo por primera vez, se instalará en Windows el driver necesario para el cable USB, pero en las versiones modernas, y si tenemos conexión a Internet esto no llevará más que un par de clics. Para probar el tester necesitaremos el siguiente software en nuestro PC, pero tanto el código fuente como el ejecutable “KapTester.exe” pueden descargarse de forma gratuita en [3].La figura 6 muestra una captura de pantalla de KapTester en funcionamiento, con una batería de 12 V conectada. Primero conviene probar con tensiones pequeñas en las entradas analógicas en K2, de 0 a 5 V. KapTester mostrará ahora la tensión del pin 4 multiplicada por diez, y para la corriente, mostrará 10 A por cada voltio medido en pin 6. Luego hay que comprobar con un multímetro que en los pines 1 y 3 tenemos la tensión correspondiente generada por PWM. Con los valores 166 a 1.023 en el PWM pueden ajustarse tensiones de entre 0,8 y 5 V. Si la lectura del multímetro no es estable, al igual que se hizo en el circuito, podemos utilizar un filtro paso bajo formado por una resistencia de 1 kΩ y un condensador de 10 µF.Si todo está correcto, ahora ya puede conectarse una batería. La primera vez se recomienda no conectar la batería directamente, sino por seguridad en serie con una bombilla de automóvil de entre 20 y 55 W in Serie. Si algo sale mal, sólo sacrificaremos una bombilla.El circuito, con los valores dados y utilizando un disipador de CPU, está diseñado para soportar una

Figura 6.Captura de pantalla del software para el tester de baterías.

Page 73: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

tester de baterías USB

www.elektor-magazine.es | noviembre 2013 | 73

Por ello, si queremos adaptar el circuito y el software a nuestras propias necesidades, primero tendremos que saber exactamente lo que queremos. Como se ha dicho varias veces, es muy importante prestar atención a la potencia disipada. Sin embargo, para baterías de plomo y ácido de 12 V, sólo habrá que soldar un poco. Ni siquiera programar, pues el ejecutable está listo para su uso.

(130019)

Enlaces de Internet:

[1] www.elektor.es/120296

[2] www.elektor-projects.com/project/battery-tester-with-usb-io-24-cable-130019-i.12920.html

[3] www.elektor.es/130019

un disipador mejor. Si fuera necesario también habrá que pensar en resistencias que soporten mayor potencia y en aumentar el ancho de las pistas en la placa. El FET seleccionado para T1, conduciendo 20 A estará al límite de sus fuerzas.Si queremos testear baterías para bicicletas eléctricas, lo normal es que se trate de ejemplares de litio, cuya tensión nominal es de 24 o 36 V. Para este propósito, el circuito puede utilizarse directamente pero con una excepción. Es cierto que el rango de medida abarca hasta 50 V, pero no es esa la excepción, sino el ventilador. Hemos de seleccionar un ventilador apto para la tensión a la que estemos trabajando, bien conectarlo con resistencias en serie, o utilizar un ventilador estándar de 12 V pero operando con una fuente de tensión adicional, y no directamente de la batería. El tester no funciona con baterías de 48 V, no sólo porque el rango de medida sería insuficiente, sino también porque ni T1 ni T2 serían capaces de trabajar a esa tensión.

Designing Tube Amplifiersconcepto, implementación y evaluación

Este libro (en inglés) trata los amplificadores de válvulas desde un punto de vista más que teórico. Se centra principalmente en la fase de diseño, cuando se trata de tomar decisiones acerca del propósito y los requisitos del amplificador, y plantea las siguientes cuestiones: ¿qué relación tienen éstos con los criterios tanto subjetivos como objetivos? ¿Qué circuitos suenan mejor y por qué? ¿Si queremos diseñar y sacar al mercado un amplificador, qué problemas cabe esperar? ¿Cual es el alcance y significado de las medidas? ¿Aún tienen sentido, o han perdido relevancia? ¡El experto Menno van der Veen nos lo explica todo detalladamente!

188 páginas • ISBN 978-1-907920-22-6 34,50€

SUPERVENTAS

Más informacíon y pedidos en www.elektor.es/dta

-10% paramiembrosGREEN

Publicidad

Page 74: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Magazine

74 | noviembre 2013 | www.elektor-magazine.es

Un filtro de paso banda montado delante de un oscilógrAFo de lazo multicanal (en alemán: Schlei-fenoszillograph), permitió la grabación en para-lelo de múltiples rangos de frecuencia. Aunque los intentos de una estimación visual en tiempo real seguían siendo problemáticos.En 1934, Erich Freystedt en Siemens y el Labora-torio Central de Halske mejoraron el proceso por

medio 27 filtros paralelos de tercera de octava, que cubrían el rango de audición humana de 30-18.000 Hz (“análisis con ancho de banda relativo cons-tante”). Mirando en la Figura 1, después de la rectificación y el almacenamiento de corta dura-ción en los condensadores, las señales de salida de filtro son muestreadas de forma continua por un conjunto de interruptores accionado por motor

Dr. Götz Corinth (Alemania)

Espectómetro de Audio Frecuencia de Freystedt (1935)Restauración de un histórico de la tecnología de medición electro-acústicaEn contraposición al tiempo que consumen los métodos mecánicos, ópticos y gráficos/matemáticos, la ingeniería electrónica de mediados de la década de 1930 trajo nuevas posibilidades en el análisis del sonido. Los circuitos de filtrado permiten que frecuencias individuales y bandas de frecuencia puedan ser resaltadas o suprimidas. El método de “búsqueda de frecuencia” permite conseguir una resolución más elevada con ancho de banda absoluto constan-te, pero a expensas de la velocidad del análisis.

Figura 1.Diagrama de bloques (parcial) del Espectómetro de Audio-Frecuencia. A destacar la cámara de fotos, ‘P’. Fichero de la Oficina de Patentes de USA # 2.159.790, mayo 1939; Z. Tech. Phys. 16 (1935), p. 294 (Freystedt)

Page 75: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

XXL

www.elektor-magazine.es | noviembre 2013 | 75

y, posteriormente, son aplicadas a las placas de deflexión vertical de un tubo de rayos catódicos (CRT), en la que los niveles de señal aparecen como columnas. De forma síncrona, se aplica un nivel de tensión DC adecuado a las placas de deflexión horizontal. La imagen resultante en el oscilógrAFo representa una línea espectral. Cada línea representa la tensión de pico obtenida del filtrado “tercera octava”, teniendo muy en cuenta las propiedades eléctricas de los condensadores y de los filtros (ver Figura 2). Dependiendo de la velocidad de muestreo se genera una especie de imagen actualizada continuamente de dicho espectro que, además, su señal en el dominio en el tiempo también puede ser registrada.

¿Dónde está el Espectrómetro?Tenía la vaga esperanza, pero no totalmente infundada, de que un instrumento de este tipo formase parte de una colección privada en Rüsse-lsheim, Alemania. ¿Rüsselsheim? ¿Errm … Opel? (más tarde General Motors Eerope, Ed.) ¿Qué? ¿Pruebas de Ruido en los motores de los coches? En realidad, se confirmó la sospecha: este espec-trómetro fue construido en 1937 y parecía estar bastante bien conservado, al menos el exterior.Las valiosas 200 libras (85 kg) del Espectróme-

tro de AF fueron transportadas al laboratorio de electrónica del autor con dificultad.

¿Dónde está la documentación? En cuanto a la documentación, al principio sólo había dos publicaciones originales de Siemens y de ATM Scientific Publications. Más tarde, se contactó con un coleccionista holandés a través de la División Técnica Acústica del PTB (Physika-lisch-Technische Bundesanstalt). Estaba dispuesto y capacitado para proporcionarnos la documenta-ción original de Siemens. Los documentos conte-nían también una indicación del precio del equipo en 1938: 5.500 RM (Reichsmark). Según la Ofi-cina Federal de Estadística de Alemania, esta cantidad sería unos 35.000 $ ó 25.000 €, con referencia al año 2000.

Figura 2.Esquema eléctrico detallado del instrumento del Espectroscopio (de la documentación de fábrica Rel beschr 745 g (compañía Siemens & Halske , 1936) Traducción de Schwere Wörter: Eingang = Entrada; Verstärker = Amplificador; Übersteurungsschutz = Protección Overdrive, Bandpaß = paso de banda; Gleichrichter = Rectificador; Braunsche Röhre = Tubo de Rayos Catódicos; Netzteil = Fuente de Alimentación; Schaltung = Circuito.

Retronics is a monthly section covering vintage electronics including legendary Elektor designs. Contributions, suggestions and requests are welcome; please telegraph [email protected]

Page 76: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Magazine

76 | noviembre 2013 | www.elektor-magazine.es

(AF) del instrumento parecía estar en funciona-miento en cierta medida.El transformador de alta tensión tuvo que ser rebobinado dos veces hasta que se mantuvo fun-cionando en el circuito. Una empresa especiali-zada de Holanda revisó el tubo de rayos catódicos, dotándolo de un nuevo cañón de electrones y una nueva pantalla. La sección de AF del instrumento fue comprobada a fondo y los componentes con aspecto poco fiable fueron sustituidos.Fue necesario el reajuste de muchos de los fil-tros, así como una mano de obra intensiva (ver Figura 4). Aquí, los condensadores presentaron un aumento de capacidad (probablemente debido a las pérdidas del papel aislante durante un período de casi 70 años), usando el sencillo truco de conec-tar unas pequeñas capacidades adicionales en paralelo. Dos bancos de década de condensadores y un generador de barrido controlado por ordena-dor (“wobbulador”) permitieron que las curvas de la banda de paso resultante se pudiesen estable-cer de nuevo (ver Figura 5). Los rectificadores de cuprita “Sirutor” (Cu2O, un mineral de menor importancia del cobre), colocados entre el filtro y

Comprobación Eléctrica, investigación, restauraciónLos primeros intentos cautelosos: el motor que maneja los interruptores de los dos conjuntos de los 27 conmutadores (ver Figura 3), estaba bloqueado; no había alta tensión (HT) en el tubo de rayos catódicos de 7 pulgadas (18 cm) (“Braun’sche Röhre”) con deflexión asimétrica. Por desgracia, este tubo era ya inutilizable debido a la corrosión de los cables que estaban machaca-dos en la base. Sólo la parte de audio frecuencia

Figura 3.Motor de arranque y engranaje del árbol de conmutación de levas que comprende 54 conjuntos de resortes (fotografía original)

Figura 4.Respuesta en frecuencia del filtro antes de la restauración del equipo. (grabación original)

Figura 5.Respuesta en frecuencia del filtro después de la re-calibración. (grabación original)

Page 77: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

XXL

www.elektor-magazine.es | noviembre 2013 | 77

un estroboscopio con lo que, por primera vez, apareció un espectro en un osciloscopio externo.Después de la restauración de las piezas eléc-tricas, el exterior fue reconstruido repintando

los condensadores de almacenamiento, resultaron estar completamente intactos.Para poder utilizar el “nuevo CRT en una carcasa antigua” las opciones de configuración de las ten-siones auxiliares del tubo tenían que ser revisadas, lo que, en la práctica, se tradujo en una pequeña placa de circuito impreso con unos potenciómetros montados en la misma, para su montaje posterior en el interior del instrumento. Para evitar excesi-vas alteraciones en componentes históricos de un equipo, nos olvidamos del método estrictamente correcto de aplicación de tensiones simétricas al CRT por medio de un circuito controlador de “push-pull”. La inclinación trapezoidal y el astigmatismo del CRT resultó ser tolerable con deflexiones no demasiado elevadas (ver Figura 6).

Trabajo mecánicoEl motor se montó con nuevos casquillos de coji-nete (fabricado en casa en un torno de precisión) y los 54 conjuntos de muelles se ajustaron usando

Figura 6.Instantánea de la pantalla de una tensión senoidal distorsionada. (grabación original)

powered by Eurocircuits

25% de descuento en las PCBs nuevas de Elektor

¡Aprovéchate ahora: Elektor PCB Service ofrece siempre un descuento durante los 90 días posteriores al lanzamiento

de las nuevas placas de Elektor!

En www.elektor.es/pcb encontrarás todas las PCBs de Elektor

Publicidad

Page 78: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Magazine

78 | noviembre 2013 | www.elektor-magazine.es

la caja, dando una capa de metal niquelado a los componentes y poniendo nuevos letras sobre/y alrededor de los controles (ver Figura 7).

De Vuelta a casaEl resultado de todo el trabajo de restauración durante muchos fines de semana nos aseguró finalmente que una pieza monumental de tecno-logía de medida electroacústica estaba de nuevo operativa. El instrumento terminado fue analizado por el autor en 2007 en una presentación durante el Congreso a la Sociedad Alemana para la Acús-tica y, después, consignado como un préstamo (gratis), de forma permanente, a la colección histórica del fabricante original, Siemens, Munich.

Elektorizado en 1984Las ediciones de marzo, abril y mayo de 1984 de la revista Elektor (con un precio de unos 2,5 € por 95 páginas) contenían un artículo, dividido en 3 partes, que describía un “analizador en tiempo real” (sic), que puede ser considerado como la versión de “Estado-Sólido-Total” (‘All-Solid-State’) y “Más Prestaciones” (‘Performance-Plus’) del boa-tanchor de Siemens de 1935 que se ha descrito aquí, aunque este instrumento no fue mencionado en 1984. En los buenos años ochenta, el proyecto DIY de Elektor contenía grandes cantidades de componentes discretos (como las cerca de 250 resistencias de precisión), media docena de placas de circuito densamente ‘pobladas’, montadas sobre una placa base, una buena fuente de alimenta-ción y una colorida lectura de 330 diodos LEDs. También se incluía un generador de ruido rosa. El prototipo de laboratorio del analizador en tiempo real de 1984 probablemente terminó en la basura durante los preparativos del traslado de las ofici-nas de Elektor desde Beek a la Casa de Elektor, en Limbricht, en 2008. Todo lo que tenemos hoy son los artículos originales. No hay que preocuparse: treinta años después hemos sacado felízmente el Analizador de Audio de 2010 o el equivalente sobre un PC portátil. Son sólo 500 KB de descarga. Alguno de vosotros tenéis núcleos ARM, DSPs y sistemas de altavoces ocultos que convierten un coche del montón, como en un Opel Kadett A, en un Ferrari, al menos en lo que a calidad del sonido se refiere. Vuestro redactor no pudo resistirse a despedirse con la Figura 8: su mejor intento de mostrar la apariencia del instrumento de Elektor de 1984. A los propietarios de un analizador en tiempo real de Elektor de 1984, por favor telegrAFíadme.

(130204)

Figura 7. Vista del espectrómetro de audio-frecuencia a la finalización de los trabajos de restauración. Se retira la carcasa para mostrar el banco de filtros de 27-secciones y el conjunto de contacto del motor de arranque. Se necesitaron componentes modernos multicolores para adaptar electrónicamente la pantalla CRT al circuito original. (foto original)

Figura 8. Prototipo acabado del analizador en tiempo real de Elektor, fotogrAFiado en una página de la revista Elektor de mayo de 1984. (Reproducción del original por el propietario de los derechos de autor).

Page 79: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

SPONSORED BY

@circuitcellar @editor_cc circuitcellar

Each week, you’ll find a new snippet of

source code that contains one error.

If you can find the error, you could be a winner!

Follow Circuit Cellar on Facebook and

Twitter for information about each

week’s challenge, prizes, and winners

announcements.

For complete details, visit circuitcellar.com/cc_weekly_code_challenge

>>>

sample code only

Naamloos-1 1 02-08-13 07:23

Page 80: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Tech The Future

80 | noviembre 2013 | www.elektor-magazine.es

El simbolismo de la localidad encaja bien den-tro del objetivo del equipo Forze. La tecnología aeronáutica, que acaba de cumplir un siglo, ha cambiado radicalmente el mundo haciendo que ahora podamos estar en menos de 24 horas en el otro lado del planeta. También los estudiantes esperan contribuir a una revolución impulsada por la tecnología con su coche de carreras a hidrógeno, pero en el campo de la energía limpia.El Forze VI pesa 880 kilos, alcanza una velocidad máxima de 220 km/h y acelera de 0 a 100 en 4 segundos. El corazón del coche es el sistema de celdas de combustible donde el hidrógeno reac-ciona con el oxígeno y se convierte en electricidad y agua. La energía eléctrica producida propulsa dos motores eléctricos, cada uno con una poten-cia de 190 KW (260 CV). Con sus dos depósitos que contienen juntos 3 kilos de hidrógeno bajo una presión de 350 bar, el coche puede correr al máximo durante un periodo de 30 minutos.

Durabilidad con un factor ‘cool’Edgar van Os, fundador del equipo Forze, cuenta al público congregado en el hangar 2, qué es lo que mueve a los estudiantes a dedicar a veces 80 horas a la semana al proyecto. “Queremos mostrar que la energía duradera también puede ser ‘cool’. La durabilidad siempre se presenta de forma negativa. ‘Apaga la luz, baja la calefacción.’ Nuestro enfoque de predicar la durabilidad combinada con las carreras de coches fue innovador. Por eso también prestamos mucha atención a la apariencia del coche. No es un vehículo típico de un empollón de la universidad, ya que con eso no llegas al gran público.”En 2007 Van Os empezó por cuenta propia el equipo Forze H2 sin la ayuda de sponsors o pro-fesores. El objetivo era la construcción de un kart que pudiese participar en la competición Formula Zero de 2008. Esta primera serie de competiciones de celdas de combustible se creó para promocionar las tecnologías de emisión cero

Tessel Renzenbrink (redacción de Elektor TTF)

Forze VI: competir con hidrógenoEl 9 de septiembre se mostró al público el Forze VI, uno de los primeros coches de carreras funcionando a hidrógeno, en el antiguo aeropuerto de Valkenburg de Katwijk (Holanda). El coche se construyó componente a componente por 70 estudiantes de la Universidad Politécnica de Delft (Holanda).

Page 81: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

competir con hidrógeno

www.elektor-magazine.es | noviembre 2013 | 81

‘desde la fuente hasta la rueda’. El Forze I competió con cinco equipos universita-rios y consiguió el primer puesto.Desde entonces el Forze ha experimen-tado varios desarrollos evolutivos, donde cada equipo construye basándose en el conocimiento de sus predecesores. En 2010 se comenzó el desarrollo de una celda de combustible propia para susti-tuir a las celdas que vienen preparadas utilizadas hasta entonces. Esta se instaló por primera vez en el Forze IV, al mismo tiempo se cambió del kart a un pequeño coche de carreras. Y ahora con el Forze VI el equipo entrega por primera vez un coche de carreras de tamaño real.

HidrógenoDespués de la introducción de Van Os, el Dr. Bernard Dam, profesor de química de la universidad de Delft, dio una pequeña clase sobre la utilidad de los sistemas de hidrógeno. “El calentamiento de la tierra es un hecho científico. Por eso es impor-tante reducir entre un 80 a un 90 por cien la emisión de CO2 en 2050 en compara-ción con el nivel de 1990. Aquí la movili-dad juega un papel importante. Es difícil la reducción de emisiones en la industria, por eso hay que buscar una solución en el transporte y el entorno de la construcción (oficinas, casas, tiendas, etc.).”En este momento se presta mucha aten-ción al desarrollo de coches eléctricos equipados con baterías. Si la electricidad se genera con fuentes de energía renova-bles, se producen coches de emisión cero. Una ventaja adicional es que el parque automovilístico puede servir como sistema distribuido de almacenamiento. La energía eólica y solar suministran una producción fluctuante, por eso se necesitan crear faci-lidades para almacenar energía.“Pero”, dice el profesor, “no está claro si en el futuro habrá baterías asequibles con las que se pueda conducir mil kiló-metros.” La popularidad de los coches eléctricos sufre todavía de range anxiety: el miedo a quedarse tirado en la carre-tera con una batería agotada. Un coche híbrido de hidrógeno puede ofrecer una solución utilizando la celda de combus-tible como range extender.

El Dr. Dam trabaja con sus colegas en un método para producir en el futuro hidró-geno duradero y barato. En este momento la mayoría del hidrógeno se obtiene del gas natural. Este proceso que todavía libera CO2 y gas natural, es una fuente finita. El método que Dam investiga se denomina water splitting. Aquí se sumerge en agua una celda foto electroquímica para luego exponerla a la luz solar. La reac-ción química que surge, descompone el agua en sus componentes constituyen-tes: hidrógeno y oxígeno. Recientemente los investigadores han conseguido un hito alcanzando una eficiencia del 4,9%. Esto quiere decir, que casi el 5% de la energía solar se convierte en hidrógeno. Dentro de tres años piensan alcanzar el objetivo de una eficiencia del 10%, que haría que la técnica fuese comercialmente rentable.

AguaCuando el hidrógeno dentro de la celda de combustible reacciona con el oxígeno, lo único que deriva es agua pura. El Forze VI produce un litro de agua por minuto. Puedes almacenar el agua en el coche o verterla sobre el firme. Ninguna de estas soluciones es ideal: la primera hace que el coche sea cada vez más pesado y la segunda hace enfurecer a los demás usua-rios de la carretera. Por eso los de Delft pensaron en una alternativa innovadora. Utilizan agua para enfriar el sistema de frenado, que hace que el agua se evapore. También se convierte la energía cinética que surge durante el frenado en energía eléctrica y es reconducida en el sistema.Los estudiantes han entregado con el Forze VI un coche de carreras completo que se va a enfrentar a los coches de gasolina. En la temporada de carreras de 2013-2014 el VI entrará 25 veces en acción. Uno de los momentos más culminantes será el intento de romper el record de Zandvoort (Holanda) de la vuelta más rápida de vehículos eléc-tricos. En este momento el record está a nombre del Tesla Roadster. En el famoso circuito alemán Nürburgring el equipo Forze espera mostrarse como los constructores del coche de hidrógeno más rápido que haya conducido en el Nordschleife.

(130203)

Page 82: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

1

2

3

4

5

1

2 3

4

•Store

82 | noviembre 2013 | www.elektor-magazine.es

Dominar Los Microcontroladores Con La Ayuda De Arduino

Mastering MicrocontrollersEl objetivo de este libro (en inglés) no es solamente introducirte en el Mundo de Arduino, sino ayudarte también a salir victorioso y continuar tu experiencia de aprendizaje de programación por ti mismo. En este libro la teoría se pone en práctica en una placa Arduino utilizando el entorno de programación Arduino. Completando este entretenido y divertido curso, serás capaz de programar cualquier microcontrolador, utilizando y dominando E/S, memoria, interrupciones, comunicaciones (serie, I²C, SPI, 1-wire, SMBus), convertidores A/D, y mucho más. !Este será tu primer libro sobre microcontroladores con un final feliz!348 páginas • ISBN 978-1-907920-23-3 • 39,95 €

Más de 75.000 componentesCD Elektor’s Components Database 7

Este CD-ROM te permite acceder fácilmente a los da-tos sobre más de 75.000 componentes. Consta de ocho bases de datos que comprenden circuitos inte-grados, transistores, diodos y optpacopla dores. In-cluye once aplicaciones de cálculo de, por ejemplo,

resistencia serie de diodos zener, reguladores de ten-sión y AMV’s. ECD facilita el acceso a los datos unos de 11.100 circuitos integrados, 37.000 transistores, FET, tiristores y triacs, 25.100 diodos y 2.000 op to acopladores. Todas las aplicaciones son totalmente interactivas, permitiendo al usuario añadir, editar y completar los datos de los componentes.ISBN 978-90-5381-298-3 • 29,50 €

LabWorX 2Mastering Surface Mount Technology

LabWorX es una colección de libros (en inglés) cada uno de los cuales trata un tema particular de la electrónica. Este segundo volumen, Mastering Surface Mount Tech-nology (Dominando la Tecnología de Montaje Superficial), te introduce en un curso intensivo de técnicas, consejos y conocimientos para introducir la Tecnología de Montaje Superficial en tu flujo de trabajo. Incluso si tienes presu-puesto también puedes poner en marcha tus diseños con avanzados componentes de pequeño tamaño. Además de explicar la metodología y equipamiento, se presta aten-ción a la tecnología de los componentes y a las técnicas de soldadura. Varios proyectos te introducen paso a paso en el manejo de componentes de montaje superficial y las técnicas necesarias para realizar montajes SMT satisfacto-

riamente. Se revelan muchos consejos y trucos prácticos para poner la tecnología de montaje superficial al alcance de todos sin arruinarse.282 páginas • ISBN 978-1-907920-12-7 • 34,50 €

Placa de expansión LinuxUnidad de control Linux

Esta placa de ampliación fue desarrollada para impulsar nuestra de artículos sobre Linux Embebido y la correspondiente placa GNUblin. Tiene un display, botones, un reloj de tiempo real y 16 GPIOs. Devotos de Linux, ir calentando vuestros soldadores. ¡En la “placa de expansión Linux” encontraremos todo lo necesario para controlar varios proyectos!Módulo SMD - Placa montada y comprobada + LCD1, X1, K1..K4, BZ1, BT1 para montarArt.# 120596-91 • 34,95 €

Presentación en vídeo de 140 minutos y másDVD Feedback in Audio Amplifiers

En esta clase magistral tratamos algunos aspectos de la realimentación en los amplificadores de audio. El objetivo de esta Masterclass (en inglés), aunque no completamente exenta de matemáticas, es propor-

¡Pide también el Kit de Componentes asociado!

www.elektor.es/labworx

Oferta por tiempo limitado para socios GREEN

5 € DE DESCUENTO Y ENVĺO GRATUITOwww.elektor.es/noviembre

Page 83: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

6

7

8

9

5

6

7

9

8

Libros, CD-ROMs, DVDs, Kits y Módulos

www.elektor-magazine.es | noviembre 2013 | 83

cionar una visión y comprensión de los temas involu-crados. El presentador, Jan Didden, proporciona una visión clara de los beneficios que pueden obtenerse de la realimentación y su hermana, la corrección de errores; pero también de sus limitaciones y desven-tajas. ¡Recomendado para diseñadores y buenos afi-cionados al audio!ISBN 978-907920-16-5 • 29,95 €

Placa Linux de ElektorSimplificando Linux Embebido

A día de hoy se puede encontrar Linux corriendo en todo tipo de dispositivos, incluso en máquinas de café. Muchos entusiastas de la electrónica estarán ansiosos de usar Linux como base de un proyecto para micro-controlador, pero la aparente complejidad del sistema operativo y el alto precio de las placas de desarrollo han sido hasta ahora un obstáculo. Elektor resuelve ambos problemas con un curso para principiantes acompañado por una tarjeta compacta y barata. Esta tarjeta incluye todo lo necesario en un proyecto embe bido actual: un interfaz USB, una conexión para tarje-tas SD y varias opciones más de expansión!Placa montada y comprobadaArt.# 120026-91 • 64,95 €

Aprendiendo a volar con EagleEagle V6 Getting Started Guide

Ya seas un entusiasta de la electrónica o un profesional de la ingeniería, este libro facilita al lector una introducción al uso del paquete de software de diseño EAGLE PCB de CadSoft. EAGLE es un paquete de software para el diseño eficiente de placas de circuito impreso asequible, potente y fácil de usar. Ofrece la misma funcionalidad y potencia a todos los usuarios por un coste menor que el de sus competidores. Después de leer este libro al tiempo que se practica con varios ejemplos, y se completan los proyectos, el lector debe sentirse capaz de afrontar retos más complejos.208 pages • ISBN 978-1-907920-20-2 • 34,50 €

Tarjetas sin Contacto y MIFARE en AplicaciónRFID

MIFARE es la tecnología RFID más ampliamente utilizada, y este libro (en inglés) facilita una amplia y práctica introducción al ella. Entre otras cosas, los capítulos iniciales tratan los fundamentos físicos, los estándares relevantes, el diseño de antenas RFID, consideraciones de seguridad y criptografía. Se describe en detalle el diseño completo del hardware y el software de un lector. El firmware del lector y el software para PC asociado soportan la programación

con cualquier lenguaje .NET. El programa para PC desarrollado especialmente, “Smart Card Magic.NET”, es un sencillo entorno de desarrollo que soporta el envío de comandos a una tarjeta al hacer clic con un ratón, y también tiene a habilidad de crear scripts C#. Alternativamente, se pueden seguir todos los ejemplos utilizando Visual Studio 2010 Express Edition. Finalmente, se presentan la mayoría de los estándars API para lectores de tarjetas inteligentes.484 páginas • ISBN 978-1-907920-14-1 • 49,90 €

Sin hilos, sin botonesElektorcardioscopio Android

Instructivo, fascinante y útil para todo el mundo: ¡realiza tus propios electrocardiogramas en tu smartphone o tableta con Android! Este proyecto combina de forma genial un interfaz con un PIC, con una elegante solución de software. Nuestro interfaz de ECG es ta disponible bajo la formula de un modulo listo para su uso, que solo tenemos que completar con cuatro electrodos y una aplicacion Android para telefono o tableta. Entre este terminal y el interfaz no hay una comunicacion con hilos, sino !una comunicacion Bluetooth!Placa montada y comprobadaArt.# 120107-91 • € 118,40

Page 84: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

10

11

12

13

14

10

12

1413

12

11

•Store

84 | noviembre 2013 | www.elektor-magazine.es

Programación paso a pasoAndroid Apps

Este libro (en inglés) es una introducción a la programación de apps para dispositivos Android. El funcionamiento del sistema Android se explica paso a paso, con el objetivo de mostrar como se pueden programar aplicaciones personales. Se presenta una amplia variedad de aplicaciones basadas en buen número de ejemplos prácticos, desde programas de matemática simple, lectura de sensores y datos GPS, hasta programación avanzada para aplicaciones de Internet. Además de escribir aplicaciones en el lenguaje de programación Java, este libro explica también cómo se pueden programar aplicaciones empleando Javascript o scripts PHP. Cuando se trata de personalizar tu smartphone no deberías sentirte limitado por las aplicaciones que haya en la plataforma, ya que crear tus propias apps y programar dispositivos Android es más fácil de lo que piensas.244 páginas • ISBN 978-1-907920-15-8 • 39,95 €

Diseña tu propio integradoPlaca FPGA de Elektor

Uno de los componentes más polifacéticos y complejos de la electrónica actual es sin duda la FPGA, un laberinto de puertos y circuitos con la que se puede configurar tu propio circuito digital en un integrado, como si fuese de verdad tu propio chip. En esta serie mostramos cómo

cualquier electrónico puede iniciarse fácilmente en este tipo de lógica programada, con la ayuda de una placa FPGA de pruebas diseñada en el laboratorio de Elektor. ¿Miedo a las FPGA? Que va, ¡ya no con la ayuda de la placa FPGA de Elektor!Módulo montada y comprobadaArt.# 120099-91 • 59,95 €

Lectura ideal para estudiantes y ingenierosPractical Digital Signal Processing using Microcontrollers

Este libro (en inglés) sobre procesador de señales digitales (Digital Signal Processing o DSP) refleja la creciente importancia de las señales discretas en el tiempo y su uso habitual en los sistemas basados en microcontrolador. El autor presenta la teoría básica de DSP con un mínimo tratamiento matemático y enseña al lector como diseñar e implementar algoritmos DSP empleando populares microcontroladores PIC. La aproximación del autor es práctica y el libro está respaldado con muchos ejemplos prácticos y comprobados y con programas para los microcontroladores. El libro es la lectura ideal para estudiantes de todos los niveles y para ingenieros en ejercicio que quieran diseñar y desarrollar sistemas inteligentes basados en DSP.428 páginas • ISBN 978-1-907920-21-9 • 49,90 €

Los Secretos del Sonido y TecnologíaElectric Guitar

¿Qué sería hoy del rock y el pop sin las guitarras y los bajos eléctricos? Estos instrumentos han marcado el ritmo durante más de cuarenta años. Su sonido fundamental ha estado determinado durante mucho tiempo por sus componentes electrónicos. Pero ¿cómo funcionan realmente? Casi nadie es capaz de explicarle esto a un auténtico músico sin formación técnica. Este libro (en inglés) responde muchas preguntas sencillamente, de una forma fácilmente entendible. El autor es un profesional experimentado de la electrónica y músico activo. Realmente ha probado en la práctica todo lo que se describe aquí.287 páginas • ISBN 978-1-907920-13-4 • 34,50 €

Todos los artículos del año 2012DVD Elektor 2012

El DVD-ROM “volumen anual” se encuentra entre los productos más populares de Elektor. Este DVD contiene todos los artículos editoriales publicados en el Volumen 2012 de las publicaciones en español, inglés, holandés, francés y alemán de la revista Elektor. Con el programa Adobe Reader suministrado, los artículos se presentan con el mismo diseño con el que originalmente los encontramos en la revista. Los DVD/CD-ROMs cuentan con un potente motor de búsqueda

Page 85: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

15

16

17

18

15

16

17

18

Libros, CD-ROMs, DVDs, Kits y Módulos

www.elektor-magazine.es | noviembre 2013 | 85

y dan la posibilidad de editar los diseños de las PCBs con un programa gráfico u obtener una copia impresa a resolución de impresora.ISBN 978-90-5381-273-0 • 27,50 €

120 revistas de Elektor en españolDVD Elektor desde 1998 a 2007

Este DVD-ROM contiene la colección completa de la re-vista de electrónica Elek tor editada en España entre los años 1998-2007. Las ediciones de Elektor, que as-cienden a un total de 120 revistas publicadas durante esos 10 años, están en formato PDF y orde-nadas cro-nológicamente por fecha de publicación (año/mes). El DVD contiene más de 2100 artículos imprimibles con alta calidad. Puedes abrir un documento PDF seleccio-nando el año de publicación y luego la edición deseada.ISBN 978-90-5381-241-9 • 59,00 €

El lujo de la precisión al alcance de todosMedidor LCR 0,05 %

La remarcable precisión de este aparato y su asom-brosa comodidad de uso son el resultado de un cuida-doso estudio. Funciona tan bien, detrás de su fachada depurada, que casi olvidaremos las sutilezas de las técnicas de medida usadas en el mismo. Para nuestros

lectores apasionados de las medidas, es la ocasión de soñar y de disfrutar. Si como a nosotros nos ocurre, los prodigios de las técnicas modernas ponen a nues-tro alcance el poder maravillarnos, venid a ‘tocar’ las partes más pequeñas del voltio.Módulo Medidor LCR + módulo LCDArt.# 110758-93 • 254,00 €

10 interesantes leccionesPIC Microcontroller Programming

En este libro (en inglés) aprenderemos a programar un microcontrolador utilizando JAL, un lenguaje para micros PIC gratuito, pero increíblemente potente, que goza de gran popularidad en el mundo del modelismo. Empeza-remos literalmente desde un boceto, hasta ir afianzan-do poco a poco nuestros conocimientos. No se necesita formación previa: cualquiera puede iniciarse con este libro. Una vez superadas todas las lecciones, es decir, tras haber completado todos los ejercicios, nos sentire-mos seguros para codificar nuestros propios programas para microcontroladores PIC, así como para entender programas escritos por otras personas. El software que acompaña a este libro puede descargarse gratuitamen-te, incluyendo el lenguaje de programación JAL.284 páginas • ISBN 978-907920-17-2 • 34,50 €

80 cuentos de la electrónica del pasadoRetronics

Este libro (en inglés) es una recopilación de 80 entregas de Retrónica publicadas entre 2004 y 2012. Las historias abarcan equipos de prueba clásicos, ordenadores prehistóricos, componentes ya olvidados, los proyecto de Elektor que alcanzaron un gran éxito, todo ello con el propósito de hacer que los ingenieros sonrían, se sienten, se opongan, babeen o experimenten el tufillo de la nostalgia.Aunque muy diferentes en la material, todos los cuentos del libro se relatan con entusiasmo personal, porque Retrónica trata del sentimiento en la ingeniería electrónica, construcción y reparación, ya sea una reminiscencia de un osciloscopio Tektronix de 1960 con señora de la limpieza como característica, o una caja PanSanitor de 1928 de dudoso uso médico.193 páginas • ISBN 978-1-907920-18-9 • 29,95 €

Más Información en la página web de Elektor: www.elektor.es/storeElektor International Media Spain, S.L.Apartado de Correos 6201128042 Madrid – EspañaTel.: +34 91 101 93 95Fax: +34 91 101 93 96Email: [email protected]

Page 86: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

•Magazine

86 | noviembre 2013 | www.elektor-magazine.es

Los empleados de Elektor International Media, sus empresas subsidiarias y/o editoriales asociadas no podrán participar en este concurso.

5 6 9 E 8 1 B F 4 2 C 0 A 7 D 38 F 4 A 9 2 5 C D 3 7 E B 0 6 1B C 0 7 6 A D 3 5 F 1 8 9 2 4 E1 2 D 3 4 7 0 E 6 9 A B 8 F C 52 E B 8 7 F 3 4 C 0 6 9 D 1 5 A3 5 F D A 6 9 0 7 1 4 2 C 8 E B6 0 1 4 B 5 C D E 8 F A 2 3 7 97 9 A C 2 8 E 1 B D 3 5 F 4 0 6F 7 2 0 5 9 1 8 A B D 4 E 6 3 C4 1 5 B C D 6 7 8 E 2 3 0 9 A FA D 3 6 E B F 2 9 7 0 C 1 5 8 4C 8 E 9 3 0 4 A 1 6 5 F 7 B 2 D9 4 6 F D C 7 5 2 A 8 1 3 E B 0D 3 7 2 F E A B 0 5 9 6 4 C 1 8E A C 1 0 3 8 6 F 4 B 7 5 D 9 20 B 8 5 1 4 2 9 3 C E D 6 A F 7

Hexadoku Un rompecabezas con un toque electrónico

El Hexadoku utiliza los números hexadecimales de 0 a F. Rellena el diagrama de 16 × 16 casillas de modo que todos los números hexadecimales de 0 a F (es decir, 0…9, A…F) aparezcan una sola vez en cada fila, en cada columna y en el recuadro de 4 × 4 (marcados con líneas en negrita). Ya hay

algunos números rellenos en el crucigrama, que determinan su situación inicial. Entre todas las soluciones correctas reci-bidas, sorteamos cada mes un gran premio y tres premios de consolación. Para ello, debes enviarnos los números de las casillas en gris.

¡Resuelve el Hexadoku y gana!Las soluciones correctas recibidas de los lectores de Elektor participan automáticamente en el sorteo de un bono de Eurocircuits, valorado en 100 € y tres bonos de 50 € para libros Elektor. ¡Esperamos que estos premios animen a todos nuestros lectores a participar!

¡Participa!Facilítanos tus datos personales y la solución (los números en las casillas grises) antes del 1 de diciembre de 2013 rellenando el formulario que encontrarás en www.elektor.com/hexadoku.

Ganadores del sorteoLa solución del Hexadoku de Septiembre de 2013 es: 569E8.

El Bono de Eurocircuits de 100 € es para: Emil Cugini (Suiza). Y los 3 Bonos para libros Elektor de 50 € son para: Arno Habermann (Holanda), Richard Fleischmann (USA) y Arun Annaji (India).

¡Enhorabuena a todos!

Aquí tienes un nuevo ejemplar de nuestro popular Hexadoku, el rompecabezas de 16 por 16 que seguro te mantendrá ocupado por unas horas. El Hexadoku no es solo para ingenieros electrónicos, ¡también es para tus familiares y amigos! Encuentra la solución en las casillas grises, envíanoslas online, y entrarás automáticamente en el sorteo de uno de los cuatro bonos.

Page 87: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

Placa de Extensión FPGA Desde que la publicamos en Diciembre de 2012, miles de lectores han utilizado la placa FPGA de Elektor para profundizar en las la posibilidades de la lógica programable. Esta minúscula placa no tiene ninguna circuitería periférica, pero se reconduce con la presentación de una placa de expansión que contiene un amplio conjunto de componentes periféricos como son un LCD, varios botones y LEDs, un convertidor A/D, un sensor de color RGB, un sensor de temperatura y un módulo GPS.

Comprobador de Red Local InteligenteLa localización de errores en una red Ethernet doméstica o en la oficina no siempre es fácil. En esos casos un Comprobador de Red resulta útil. El diseño es compacto y se compone principalmente de un solo microcontrolador y un conector Ethernet. Tres LEDs en la placa muestran si hay un cable de conexión correcto disponible. Lo mismo para para para la presencia de un pasarela de Internet, y si realmente estás conectado a Internet. ¡Una buena alternativa a los analizadores de red comerciales!

DSP Entry-Level BoardSi quieres iniciarte en los DSP puedes estar perdido sobre dónde empezar y que procesador y que software elegir. Esta placa ofrece una sencilla y asequible oportunidad de acceso al mundo de los DSP. La placa ha sido diseñada en torno al ADAU1701 de Analog Devices. Además del DSP contiene unos pocos componentes más, incluyendo seis conectores RCA para dos entradas y cuatro salidas de audio, y cuatro potenciómetros para controlar de niveles de señal de salida.

PRÓXIMO MES EN ELEKTOR

Los títulos y contenidos de la revista están sujetos a cambios; por favor comprueba el contenido en la sección Revista en www.elektor.es.

Todo un laboratorio de electrónica en un solo dispositivo USBCon NI myDAQ, tu ordenador se convierte en el instrumento. Al instalar el controlador de hardware NI ELVISmx dispondrás de: Multímetro Digital, Osciloscopio, Generador de Funciones, Analizador Bode, Analizador de Señales Dinámicas, Generador de Forma de Onda Arbitraria, Generador de Salidas Digitales y Lector de Señales Digitales.

Ocho instrumentos de ingeniería para trabajar como y donde tu quieras.

¡NI myDAQ por solo 149 Euros!(incluyendo licencias de estudiante de LabVIEW y Multisim)

Contenido del paquete: Dispositivo NI myDAQ, DVD de instalación que contiene NI ELVISmx y NI DAQmx, así como las versiones para estu-diante de LabVIEW y Multisim con sus licencias correspondientes, Cable USB, Puntas de prueba para el multímetro, Cable de audio (3,5 mm), Conector de tornillos con destornillador NI, Tarjeta informativa de iniciación, Tarjeta infor-mativa de programas de ejemplo de TI, Bandeja de almacenamiento reutilizable.

¡Atención! Para poder adquirirl NI myDAQ deberás acreditar tu condición de estudiante.

Más información y pedidos en: www.elektor.es/myDAQ

Page 88: CAN Tester -  pdf... ·  Sharing Electronics Projects ¡Elektorízate! Visita  Elektor.LABS es una comunidad online

!Hazte socio GREEN ahora!

Hazte socio GREEN ahora en www.elektor.es/miembro

Elektor pasa a ser Digital

Como miembro GREEN obtendrás:• 8 ediciones estándar digitales de Elektor• 2 ediciones especiales digitales

(enero/febrero y julio/agosto)• Un mínimo del 10% de descuento en

todos los artículos de Elektor.STORE• Acceso completo a Elektor.LABS• Acceso completo a Elektor.MAGAZINE;

el archivo online de Elektor• Recibir Elektor.POST en tu cuenta de email

(incluyendo 25 proyectos extra cada año)• Tu propia tarjeta GREEN CARD de socio

ecológico

OFERTA ESPECIALPrecio normal: 92 €

Ahora un año por solo 50 €¡y si eres menor de 25 años* pagarás solo 25 €!

* Deberás facilitarnos algún documento que acredite tu edad.

50 €

ecológico

Adv Green membership ES 130118.indd 1 03-06-13 14:36