Upload
buithu
View
279
Download
15
Embed Size (px)
Citation preview
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
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
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
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
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...
•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
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
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
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
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
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
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
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
•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
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.
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.
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!
•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.
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.
•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.
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.
•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++.
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.
•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):
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);
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.
•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
[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.
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
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.
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)
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
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
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
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
•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.
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.
•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
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.
•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
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
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.
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.
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.
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!
•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 – –
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
•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.
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
•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.
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
•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.
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.
•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
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.
•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
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
•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.
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
•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.
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
•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)
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.
•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).
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.
•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.
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.
•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.
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.
•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.
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.
•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.
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
•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.
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
•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)
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]
•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)
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
•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).
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
•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).
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)
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
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
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
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]
•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.
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
!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