el_lector_2011_07_08_no_373_374

Share Embed Donate


Short Description

Descripción: el_lector_2011_07...

Description

63414

[Analógico • Digital O • Microcontroladores & Embebido • Audio • Test & Medida ]

Ñ o E S I D nic E D GUÍAectró el



Julio/Agosto 2011

N.º 373/374

8,50 e

www.elektor.es

Generador de Proyectos

Más de 70 páginas de pequeños circuitos, ideas de diseño, curiosidades y consejos

ISSN 0211-397X 00373

Personal Download for I © Elektor 9 770211 397008

63414

Lo que decida medir, nosotros tenemos la solución.

Desde aplicaciones sencillas hasta las más complejas, ninguna herramienta puede soportar sus medidas de manera más efectiva que la plataforma de adquisición de datos de National Instruments. Cualquier necesidad que tenga como presupuesto disponible, el número de canales, o los requisitos de rendimiento, el alto rendimiento E/S y la y la habilidad de mejorar la productividad a través de software puede conquistar cualquier reto. Esta combinación puede ayudarle a equilibrar el rendimiento y la inversión para proporcionar una precisión escalable y siempre fiable. Adquisición de datos de National Instruments: diseñado para rendimiento.

>>

Explore la plataforma de adquisición de datos de NI en ni.com/daq/esa

National Instruments Spain S.L. ■ Europa Empresarial ■ c/Rozabella, 2 - edificio Berlin ■ 1a planta ■ 28230 Las Rozas (Madrid) ■ España ■ Tel: +34 91 640 00 85 ó 93 582 0251 Fax. +34 91 640 05 33 ó 93 582 4370 ■ CIF: B-80021462 Inscrita en el Registro Mercantil de Madrid, Folio, 115, Tomo 1181, Hoja N°22335, Inscrip. 1a ■ Sociedad Unipersonal S.L.

Personal Download for I © Elektor

©2011 National Instruments. Todos los derechos reservados. National Instruments, NI y ni.com son marcas registradas de National Instruments. Los nombres de los otros productos y las razones sociales mencionadas son marcas registradas o nombres comerciales de sus respectivas compañías. 3487

91 640 0085 ó 93 582 0251

63414

Personal Download for I © Elektor

63414

Páginas que generan proyectos Aquí la tienes – la recopilación anual que hace Elektor de pequeños proyectos, ideas y trucos de diseño, a los que hemos añadido “trivialidades” por primera vez este año. Esta edición es formalmente conocida como “Circuitos del Verano” aunque desde el año pasado la hemos rebautizado como “Generador de Proyectos”. Si es esta la primera vez que ves este formato de Elektor, te podemos asegurar que ha sido así desde 1981, sin que ninguno de nuestros competidores haya intentado imitarlo. Si, no solo es inusual en términos de duración, dos meses (julio y agosto), si no que tiene distinto tamaño (120 páginas en vez de 80) y cobertura (muchos proyectos en desarrollo en lugar de todos perfectamente terminados y listos para reproducir). Ahora que lo pienso, el número de artículos publicados en todas las ediciones de Julio/Agosto ronda los 3.500. Y aquí la tienes: la edición de Elektor que más se vende en el año; un preciado tesoro para todos aquellos de vosotros que buscáis ideas a la hora de diseñar, modificar o investigar ciertas partes de un circuito, o simplemente queréis poneros al día en los enfoques de diseño de la Tercera Vía (es decir, fuera de los caminos usuales). Cada uno de los pequeños artículos que hay entre las páginas 14 y 97 te está pidiendo que lo mejores, rediseñes, analices o incorpores a tus diseños – ayudándote a generar tu propio proyecto y, quizá, publicarlo en Elektor. Como cada año, el personal del nuestro laboratorio y el equipo editorial se dejaron las pestañas para tenerlo todo a tiempo, y finalmente lo lograron. Para complementar el compendio de pequeños artículos, hemos añadido algunos otros de los que publicamos normalmente. La edición “Generador de Proyectos” ha sido tradicionalmente el lugar donde los lectores tienen la oportunidad de presentar sus pequeños proyectos (sobre todo en sus propias palabras) a los miembros de la comu-

nidad electrónica, felizmente acompañados por algunas aportaciones del laboratorio de Elektor. En los últimos años, aquellos que consiguieron publicar sus contribuciones consiguieron un pequeño presente. Este año todos ellos recibirán una placa de desarrollo de microcontrolador LPCXpresso amablemente patrocinada por NXP. En la página 50 encontrarás un artículo que describe cómo empezar con esta potente plataforma de desarrollo basada en un procesador ARM. Disfruta leyendo esta edición extra-gruesa y cuéntame cuántos de estos proyectos te han ayudado a generar los tuyos. Eduardo Corral, Editor

Más Colofón 6 FAT Pequeño 98 Ganadores del Desafío NXP 59 Hexamurai 110 Hexley Ball gana el primer concurso mbed 63 104 Milkymist SoC National Instruments - Elektor 12 Próximo Número 116 Noticias Locales 8 Tienda de Elektor 112

COMPENDIO GENERADOR DE PROYECTOS 2011

Audio, Video y Fotografía Adaptador de alto nivel de audio Amplificador de 40 W «sabor años 60» Conmutador de vídeo para el interfono Flash esclavo para la fotografía submarina Igualando HEXFETs Limitador de tensión para amplificadores de guitarra Preamplificador, mezclador y controlador de línea de guitarra eléctrica

65 44 67 15 84 79 91

Casa y Jardín Anticongelante para conducto de agua socarex con cinta para valla eléctrica 32 Detector de nivel de agua 21 El sensor de movimiento más barato 86 Electrónica para bombas controladas por nivel 54 Interruptor crepuscular 19 Interruptor de red automático para segundas residencias 36 Pequeñas lámparas con elevado consumo en standby 95 Temporizador de 2-4-6 horas 52 Timbre en cadena 65 Timbre WAV 76

Fuentes de Alimentación, Baterías y Cargadores Alimentación flotante para equipo eléctrico de panel 18 Cargador USB a pedales 77

Personal Download for I © Elektor

63414

Volumen 32 Julio y Agosto 2011 n.º 373/374

SUMARIO Convertidor DC/DC con el LT1376 25 El LM2931-5.0 también es un generador de ruido aleatorio 56 Fuente de alimentación ininterrumpida para el router 93 Fuente de corriente ajustable hasta 0 mA 21 Fuente de corriente para carga conectada a masa 69 66 Generador de alta tensión Regulador de energía para convector eléctrico de apoyo 47 Regulador LDO ajustable 89 Regulador para un generador de corriente trifásica 82 Sistema de alimentación con aislamiento de alta tensión 96

Hobby, Juegos y Modelismo Cable caliente Controlador de robot para Arduino Nano Divisor de cuentarrevoluciones Indicador de descarga para baterías Lámpara solar RGB Luz de bicicleta con 24 LED y cero-IC Luz de soldadura para maquetas de trenes Reloj en Morse Semáforo para modelismo Temporizador para “jogging” Temporizador para tiempos muy largos

45 14 67 68 48 26 70 53 31 83 56

Microcontroladores ATM18 – Anti-gritón 78 ATM18 – Tres termómetros, un solo hilo 52 ATtiny15 como oscilador de MHz 55 Comenzando con nuestra placa gratuita LPCXpresso 50 Contenedor de tiempo 49 Conversor de nivel RS232 con aislamiento 58 El R8C/13 sabe hablar CAN 90 La Caza del LED 20 Más líneas de puerto para el R8C/13 64 Mini-Placa de experimentación para ATtiny45 29 Programador SCAP-AVR 72 Sceptre - Control de una pantalla táctil como Arduino 24 “Shields” para Arduino 69 Sonda de desbloqueo para µC AVR 37 Unidad de interfaz I2C 80

Ordenadores, Software e Internet Lector de tarjetas MicroSD Mejora para hub USB Números de puertos COM predeterminados

70 51 86

Radio (RF) Dipmeter minimalista Receptor de radio de onda larga Seguidor de emisor Audion

38 85 19

Test y Medida Comprobador de baterías 34 Detector de fallo de toma de tierra 45 Detector láser de altura 30 Filtro de medición para clase D 74 Indicador de temperatura de aceite para moto de 125 cc 39 Oscilador triangular con convertidor de seno 84 Probador universal para componentes de tres terminales 16 Sencillo generador y probador de onda cuadrada 71 Sonda de tensión variable 38 Tester de infrarrojos 95

Electrónica Variada e Ideas de Diseño Algunos relés estáticos de CC 92 Electrónica Variada e Ideas de Diseño 81 Filtrado para relés de 12 V 30 Generador de caos 46 Generador de diente de sierra NPN 22 Laminado antisoldadura casero 88 Luz secuencial analógica con LEDs 97 Mini-intermitente 35 48 Multi-intermitente de LEDs Oscilador en anillo 87 Pelacables de bajo coste 18 Placa de pruebas Elex 57 Placa multiconector para PIC10F2xx (SOT23-6) 82 Protección antirrobo para el OBD 51 Reconstrucción del principio del tren de levitación magnética 28 Relé estático de arranque de 70 A 40 Sensor de efecto Hall experimental 36 Silbato para Ronja 94

Personal Download for I © Elektor

63414

Elektor International Media es una plataforma multimedia e interactiva para todos aquellos interesados en la electrónica. Desde los profesionales apasionados por su trabajo a los aficionados con ambiciones profesionales. Desde los principiantes a los expertos, desde los estudiantes a los profesores. Información, educación, inspiración y entretenimiento. Analógico y digital; práctico y teórico; software y hardware.

[Analógico • Digital O • Microcontroladores & Embebido • Audio • Test & Medida ]

ISEÑ DE D ico GUÍAectrón el

N.º 373/374

Julio/Agosto 2011

8,50 e

www.elektor.es

Generador de Proyectos

Más de 70 páginas de pequeños circuitos, ideas de diseño, curiosidades y consejos

ISSN 0211-397X 00373

9 770211 397008

[Analógico • Digital O • Microcontroladores & Embebido • Audio • Test & Medida ] ISEÑ DE D ico GUÍA ctrón ele Julio/Agosto 2011

N.º 373/374

8,50 e

www.elektor.es

• Microcontroladores & Embebido • Audio • Test & Medida ] [Analógico • Digital SP n o D ació ✚ Protocolo USB desmitificado Cursntinu N.º 372

Junio 2011

6,50 e

co

www.elektor.es

Generador de Proyectos

& Embebido • Audio • Test & Medida ] [Analógico • Digital 2 • Microcontroladores al

n X51 1 ca DMlador de ✚

Regu

N.º 371

Mayo 2011

6,50 e

Diseño profesional de paneles frontales gratuito

www.elektor.es

Robot Proton de Elektor

Detector de Radiación

Una plataforma versátil para aprendizaje y experimentación

Medida de los Rayos Gamma con un Fotodiodo

Desarrollando Apps para Android Curso de Audio DSP

Con PC, placa Beagle, teléfono o tablet

Más de 70 páginas de pequeños circuitos, ideas de diseño, curiosidades y consejos

✚ Retrónica: La destacable prehistoria del LED ✚ Flowcode RC5: Añade control remoto a tus proyectos

ISSN 0211-397X

ISSN 0211-397X

00373

00372

Avance rápido en el procesado de señales de audio ¿Cómo son de útiles las aplicaciones de electrónica para tablets y smartphones? ✚ Tarjeta gráfica VGA para micros

ANALÓGICO • digital MICROCONTROLADORES & EMBEBIDO audio • test & MEDIDA

ISSN 0211-397X 00371

✚ Sistema de micrófono para conferencias 9 770211 397008

Número 373/374, Julio/Agosto 2011

9 770211 397008

9 770211 397008

ISSN 0211-397X

Elektor Electronics Worldwide, es una edición que tiene por objetivo inspirar a sus lectores a que utilice la electrónica a todo nivel, presentado proyectos y desarrollos electrónicos y tecnología de la información.

6

Elektor se publica también en Inglés, Francés, Alemán y Holandés. Junto con las ediciones franquiciadas, la revista está en circulación en más de 50 países.

Jefe de Redacción internacional: Wisse Hettinga Redacción Elektor España: Eduardo Corral ([email protected])

Edita: Elektor International Media Spain, S.L., Apartado de Correos 73, 08870 Sitges (Barcelona), España. Tel.: +34 938 110 551, Fax: +34 933 969 358 Web: www.elektor.es E-mail: [email protected]

Redacción Internacional: Harry Baggen, Thijs Beckers, Jan Buiting, Guy Raedersdorf, Clemens Valens, Ernst Krempelsauer y Jens Nickel

La revista está disponible en kioscos, librerías y tiendas de electrónica, o mediante suscripción. Elektor se publica 11 veces al año con una edición doble para los meses de Julio y Agosto.

Laboratorio: Antoine Authier (Responsable), Ton Knipa, Ton Giesberts, Luc Lemmens, Daniel Rodrigues, Jan Visser y Christian Vossen

Personal Download for I © Elektor

Cartas del lector: [email protected] Director Internacional: Paul Snakkers Publicidad: Susanna Esclusa ([email protected]) Marketing: Carlo van Nistelrooy Atención al Cliente: Carlo van Nistelrooy Suscripciones: Elektor International Media Spain, S.L., Apartado de Correos 62011, 28042 Madrid, España Tel.: +34 91 101 93 95, Fax: +34 91 101 93 96 Internet: www.elektor.es E-Mail: [email protected]

7/8-2011

elektor

63414

El Robot Proton de Elektor Una plataforma versátil para aprendizaje y experimentación Elektor presenta con el Proton una plataforma polifacética de robótica apta para estudiantes, aficionados y profesionales. El robot puede funcionar con diferentes familias de microcontroladores y ofrece una amplia selección en todo tipo de sensores y actuadores. ¡No dejes escapar esta oportunidad e invierte en una combinación única de conocimiento y placer! Características • • • • • • • • • • • • • •

Sensor US de distancia 8 LED para la boca Altavoz piezoeléctrico 8 LED en el cuerpo 3 sensores IR de distancia Módulo controlador de motor 3 sensores de línea Ojos LED 2 Fototransistores 2 Servomotores LCD Pulsador de color rojo y negro Módulo de audio Dispositivo de agarre

N

vo e u

Pedidos Puedes pedir el robot ensamblado y comprobado pero también como un kit completo para ensamblarlo tú mismo. Kit completo: Cuerpo + Cabeza + Audio + Pinza + Placa de control PIC o AVR a elegir 1.249,00 € Robot ensamblado y comprobado: Cuerpo + Cabeza + Audio + Pinza + Placa de control PIC o AVR a elegir 1.699,00 €

Más información, video demo y pedidos en

www.elektor.es/proton Maquetación: David Márquez Imprime: Senefelder Misset – Doetinchem, The Netherlands Distribución en España: S.G.E.L. Depósito Legal GU.3-1980 ISSN 0211 – 397X 31 de Diciembre de 2006 P.V.P. en Canarias: Precio de cubierta más sobre tasa aérea de 0,15 euros.

elektor

7/8-2011

ELEK ES1107 Proton Robot s7.inddSec1:7 Sec1:7

Derechos de autor Los 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

Personal Download for I © Elektor

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. Renuncia Los 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. © Elektor International Media BV 2008

7

25-05-2011 10:35:44

63414

NOTICIAS

Tarjeta Pico-ITX versátil con capacidades multimedia en el formato más compacto

Memoria RFID de alta densidad para facilitar las tareas de mantenimiento

La placa VIA EPIA-P830 ofrece un excelente rendimiento HD sobre HDMI, y dos slots MiniPCIe para mejorar las opciones de conectividad y crear una de las soluciones más inteligentes de la industria. VIA Technologies, Inc., empresa representada en España por Anatronic, S.A., anuncia la disponibilidad de su placa VIA EPIA-P830 Pico-ITX destinada a aplicaciones embebidas avanzadas, portátiles y conectadas a redes. La placa VIA EPIA-P830 se distingue por incluir el procesador VIA Nano E-Series y el procesador de sistema multimedia (MSP) VIA VX900 más reciente, con soporte adicional para dos módulos Mini-PCIe que proporcionan una gran cantidad de opciones de 3G y conectividad inalámbrica. La nueva tarjeta extiende el formato Pico-ITX al usar placas de expansión de bajo perfil para proporcionar un acceso fácil ‘on-board’ a VGA, RJ45 y dos puertos USB, y dos slots MiniPCie ideales para acomodar una amplia gama de módulos Mini-PCIe. Con unas dimensiones de apenas 10 x 7,2 cm, la placa ultra compacta VIA EPIA-P830 incorpora un procesador VIA Nano E-Series a 1.2 GHz y soporta hasta 4 GB de memoria de sistema DDR3 800/1066 SODIMM. El procesador de sistemas multimedia “todo en uno” VIA VX900, altamente integrado, dota de una aceleración por hardware de los códecs de vídeo HD más reciente en resoluciones de pantalla de hasta 1080p con un uso muy reducido de la CPU. Además, el núcleo gráfico integrado 3D VIA Chrome9™ HCM cuenta con soporte completo para DirectX 9.0 y un motor 2D de 128 bit con funciones de rotación por hardware. Esta tarjeta madre usa una placa adicional de I/O especialmente desarrollada que completa el puerto HDMI nativo para añadir un puerto VGA, un puerto Gigabit LAN y dos puertos USB 2.0. El códec de audio VIA Vinyl HD proporciona audio de seis canales con funciones DTS y respaldo S/PDIF. El almacenamiento se proporciona mediante dos puertos SATA. Los cabezales de pin en placa ofrecen soporte para una pantalla LVDS de un canal, cinco puertos USB 2.0 adicionales, un conector LPC, un conector SMBus, soporte para PS/2, tomas de audio, LVDS, cuatro pares de DIO y dos puertos UART. También se incluye un conector de corriente continua (DC-in). La plataforma integrada definitiva - VIA Nano E-Series y VIA VX900 La plataforma de microprocesador más reciente de VIA ha sido diseñada a la medida de las aplicaciones integradas, una potente combinación que abarca el procesador VIA Nano E-Series optimizado y el procesador de sistema multimedia VIA VX900 más reciente. Estos procesadores integrados de la representada de Anatronic disponen de soporte de duración extendida hasta siete años y ofrecen el diseño de microprocesador de bajo consumo más atractivo del sector. El VIA Nano E-Series ofrece procesamiento ‘out-of-order’ de 64 bit que satisface las necesidades actuales de rendimiento bruto, a la vez que se mantiene dentro de estrictos parámetros de bajo consumo y reducido calentamiento. El MSP VIA VX900, por su parte, añade soporte para memoria DDR3, audio HD, conectividad de pantalla avanzada y un descodificador de vídeo HD por hardware de alto rendimiento con motor de vídeo. El VIA ChromotionHD 2.0 proporciona filtrado avanzado y post-procesamiento puntero para realizar una decodificación extremadamente uniforme de MPEG-4/AVC, H.264, MPEG-2, VC-1 y WMV-HD, lo cual permite una reproducción impecable de los títulos multimedia más demandados a resoluciones de hasta 1080p sin elevar la carga de trabajo de la CPU.

Ayuda a incrementar el almacenamiento de datos y a reducir el coste de producción de equipos en sanidad, aviación, logística, petroquímica, construcción y fabricación. STMicroelectronics, compañía líder en circuitos integrados (IC’s) de comunicación y de memoria, ha ampliado su catálogo de dispositivos RFID con la introducción del chip LRiS64K para permitir a los equipos de soporte técnico responder con información detallada, como el historial de mantenimiento, y acelerar y simplificar los registros y archivos de los clientes externos e internos. El nuevo chip combina circuitería RFID con una gran capacidad EEPROM no volátil de 64 Kbit para almacenar numerosos datos, como detalles del fabricante e historial de actualizaciones y actuaciones. Esta innovadora memoria RFID también se caracteriza por la integración exclusiva de funciones inalámbricas (ratio de 53 kbps), almacenamiento de datos, retención segura y fiabilidad a largo plazo. Por lo tanto, los profesionales de mantenimiento para equipos médicos e industriales, controladores de automoción o módulos de aviación con un dispositivo LRi64K pueden acceder a la información más importante, directamente o a través de un lector RFID. Este almacenamiento ‘on-board’ elimina la necesidad de recuperar grabaciones o acceder a bases de datos online. Además, la historia de servicio de la unidad se puede actualizar en la memoria LRiS64K durante inspecciones o arreglos posteriores. Todas estas características ahorran tiempo y costes MRO (Mantenimiento – Reparación – Operaciones) en muy diversos sectores, destacando, sanidad, aviación, logística, petroquímico, construcción y fabricación. El LRiS64K es un dispositivo de 13.56 MHz ‘long-range’ que, basado en los estándares ISO 15693 e ISO 18000-3 modo 1, puede trabajar con otros modelos del mismo rango. Su condensador de sintonización simplifica la conexión a una antena externa. Las características del LRiS64K se completan con retención de datos durante más de cuarenta años y resistencia a más de un millón de ciclos de escritura / borrado, UID de 64 bit, protección ‘multi-password’ y tiempo típico de programación de 5.75 ms.

www.anatronic.es

www.st.com

8

Personal Download for I © Elektor

7/8-2011

elektor

63414

NOTICIAS

NI lanza el módulo de sincronización PXI Express de más altas prestaciones del mercado y el controlador remoto PXI Express más rápido del mercado Los nuevos productos de NI amplían las capacidades y prestaciones de la plataforma PXI para los sistemas multichasis National Instruments ha presentado dos productos PXI Express que amplían las prestaciones y capacidades de la plataforma, especialmente para los sistemas multichasis. El módulo de sincronización NI PXIe-6674T es el de mayores prestaciones en cuanto a temporización y sincronización del mercado y el controlador NI PXIe-PCIe8388 es el primer controlador remoto del mercado con una velocidad de transmisión de datos de 8 GB/s en cada dirección. Los ingenieros pueden utilizar los nuevos productos para crear sistemas PXI Express de altas prestaciones con sincronización ajustada y elevada velocidad de transmisión de datos. “NI trabajó con la Alianza de Sistemas PXI (PXI Systems Alliance) para lanzar la plataforma PXI en 1997 y continúa siendo un líder en potenciar sus prestaciones con la introducción de estos nuevos productos PXI Express”, dijo Eric Starkloff, vicepresidente de marketing de producto de NI. “El nuevo módulo de sincronización es el primero del mercado en facilitar el acceso a la avanzadas características de temporización y sincronización de PXI Express permitiendo un mejor enrutamiento de las señales de reloj y disparo trigger y la obtención de una excelente sincronización en la plataforma PXI. El nuevo controlador remoto realiza la interfaz con los sistemas PXI Express utilizando el enlace cableado PCI Express que es más rápido duplicando las prestaciones del procesamiento de datos para las aplicaciones de alta velocidad de transmisión de datos.” El módulo de sincronización NI PXIe-6674T desbloquea las capacidades más avanzadas de temporización y sincronización de los sistemas PXI Express. Genera y enruta los relojes y triggers entre los dispositivos dentro de un chasis PXI Express. También puede enrutar externamente señales a otros chasis PXI y PXI Express de terceros. El módulo de sincronización puede generar dos tipos de señales de reloj. El primero es un reloj muy estable de 10 MHz basado en una referencia de oscilador OCXO (Oven-Controlled Crystal Oscillator) de precisión con una exactitud de 50 ppb. El segundo es un reloj de hasta 1 GHz con una resolución de 1 μHz que proviene del circuito de generación de un reloj de síntesis digital directa (DDS). También dispone de enrutamiento avanzado de señales de disparo y temporización mediante las líneas diferenciales en estrella PXIe_DSTAR que ofrecen desajustes menores de 500 ps y retardos de 10 ns. El kit NI PXIe-PCIe8388 utiliza un enlace x16 Gen 2 PCI Express que proporciona un rendimiento sostenido de más de 8 GB/s en cada dirección. Los ingenieros pueden utilizar el controlador remoto NI PXIe-PCIe8388 para controlar sistemas PXI Express desde un slot x16 Gen 2 PCI Express de un controlador montado en rack de NI. Por ejemplo, el controlador remoto funciona con el nuevo NI RMC-8354 (que cuenta con un procesador Intel® Core™ i7) a través de un enlace cableado de PCI Express de banda ancha y total elektor

7/8-2011

transparencia. Gracias a este nivel de prestaciones en el procesamiento de datos, este controlador remoto es ocho veces más rápido que los actuales controladores remotos de la compañía. El controlador remoto cuenta también con un puerto de salida para crear sistemas multichasis de alto rendimiento mediante la conexión a otros chasis PXI Express, así como a otros chasis con las unidades de procesamiento gráfico de propósito general (GP-GPU) para obtener una mayor capacidad de tratamiento de la información. Ambos nuevos productos funcionan con el software de NI, como es el caso del entorno gráfico de desarrollo NI LabVIEW y el hardware de NI, como el caso de los instrumentos modulares. www.ni.com Publicidad

Llevando sus altavoces a un nivel superior

Visite nuestra web para más información sobre nuestro nuevo programa DISTRIBUIDOR EUROPEO

[email protected]

Personal Download for I © Elektor

tel. +31 (0)595 49 17 48 fax +31 (0)595 49 19 46

www.moreleurope.com

9

63414

NOTICIAS

Vicor añade a su oferta convertidores de bus de alta potencia con un amplio rango de entrada

Vicor anuncia las últimas incorporaciones a las series IBC 050 e IBC 048 de Convertidores de Bus Intermedio (Intermediate Bus Converters) VI BRICK™. La nueva familia está formada ya por más de 12 modelos, en formatos de octavo y cuarto de brick, que suministran entre 300W y 750W. Los productos IBC 048 e IBC 050, que ofrecen una equivalencia funcional pin to pin con los convertidores industriales estándar, permiten que los diseñadores consiguen importantes aumentos en la densidad de potencia no sólo gracias a los mayores niveles de potencia, sino también al espacio liberado en la placa de circuito impreso por

la menor necesidad de componentes pasivos externos. El modelo más reciente, presentado en PCIM, es el IB050Q096T70N1-00, un sustituto de alojamiento abierto para convertidores de bus intermedio de tipo estándar caracterizado por su alta potencia y un factor de conversión 5:1. Funciona con un amplio rango de tensiones de entrada de 36 a 60V para niveles de potencia de hasta 750W, un aislamiento de 2250VCC entre entrada y salida y un pico de eficiencia superior al 98%. El IB050Q096T70N1-00 suministra una tensión de bus de salida de 7 a 12V, mientras que otros productos de la familia con un factor de conversión 4:1 suministran de 8,7 a 15V. La familia incluye convertidores con un rango de entrada estándar de 38 a 55V (IBC 048) así como el tipo IBC 050 con un amplio rango de entrada. En todos los casos los módulos son conformes a ETSI EN300 132-2 para aplicaciones de telecomunicaciones de 48V y su mayor nivel de aislamiento entre entrada y salida cumple los estándares IEEE 802.3 Power-

over-Ethernet (PoE). Los Convertidores de Bus IBC 048 y 050 VI BRICK™ utilizan la tecnología Sine Amplitude Converter (Convertidor de Amplitud de Seno) de Vicor con una frecuencia de conmutación de 1MHz, una respuesta a transitorios 10 veces más rápida, una enorme reducción de las emisiones de armónicos y la eliminación de los voluminosos condensadores externos de almacenamiento. El IB050Q096T70N1-00 también elimina la necesidad de los costosos disipadores de calor. La potencia máxima está disponible con una temperatura ambiente de 55°C y con un caudal de aire de sólo 200LFM (pies lineales/min). El formato estándar de cuarto de brick del producto, con unas dimensiones de 58,4 x 36,8 mm, tiene un perfil de sólo 10,5 mm. Otros dispositivos de la familia con potencias de salida de 300W y 500W se suministran en un formato de octavo de brick con unas dimensiones de 58,4 x 22,9 mm y un perfil aún menor de sólo 9,5 mm. La sección transversal muy reducida de estos productos genera una mínima pérdida de aire en refrigeración, lo cual contribuye a una refrigeración efectiva de los componentes situados a continuación. www.vicoreurope.com

IC driver LED de bajo consumo Las unidades ZLED7012 y ZLED7022 son ideales para dispositivos móviles y sistemas de navegación en encapsulados ultra pequeños. VELOREL, S.L. presenta novedades en la familia ZLED de soluciones de control LED de ZMDI con la introducción de dos nuevos IC de baja tensión para dispositivos portátiles alimentados por batería. El ZLED7012 y el ZLED7022 incorporan convertidores DC / DC con bomba de carga de frecuencia constante y mínimo ruido (tecnología sin inductor de baja EMI) que pueden dirigir hasta cuatro (ZLED7012) o seis (ZLED7022) series de LED. Los nuevos IC se presentan en un encapsulado UTQFN ultra pequeño (2 x 2 mm) de 12 pines y solo requieren tres componentes externos para operar, contribuyendo así a reducir la lista de materiales (BoM). Capaces de trabajar eficientemente con fuentes de tensión de DC de 2.8 a 5.5 V, los IC driver son ideales para pequeñas aplicaciones de iluminación LED alimentadas 10

por batería, como teléfonos móviles, PDA, GPS y sistemas de navegación. Los nuevos modelos ZLED también se pueden emplear para iluminar marcos digitales de foto-

Personal Download for I © Elektor

grafías y en numerosos entornos industriales y de consumo con requerimientos de bajo consumo. Gracias a la entrada digital de control de pulso (PCC), los diseñadores pueden activar y desactivar los LED y establecer el nivel de corriente (en un rango de 1.8 a 20 mA por canal LED). Esto permite una gestión eficiente en tiempo real de los LED a través de microcontroladores o sistemas de control. Las características se completan con circuitería ‘soft-start’ para proteger ante elevación de corriente durante el encendido, modo ‘shutdown’ que reduce el consumo de corriente inactiva a 1 μA, y rango de temperatura operativa de -40 a +85 °C. www.velorel.es 7/8-2011

elektor

63414

NOTICIAS

Microchip y Digilent presentan la primera plataforma de desarrollo para microcontroladores de 32 bit compatible con Arduino Microchip anuncia la primera plataforma de desarrollo de código abierto basada en un microcontrolador de 32 bit compatible con el hardware y software Arduino™. La plataforma chipKIT™, que ha sido diseñada y fabricada por Digilent, un Microchip Authorized Design Partner, es la primera y única solución de 32 bit para Arduino que permite a aficionados y docentes una forma sencilla y económica de integrar la electrónica en sus proyectos aunque no posean conocimientos de ingeniería electrónica.

modificaciones en las bibliotecas estándar de Arduino para ofrecer soporte a las tarjetas chipKIT y a las tarjetas Arduino tradicionales. Todo este trabajo ha sido beneficioso a su vez para la comunidad Arduino de código abierto. Con la excepción de un pequeño número de tarjetas de conexión que trabajan a 5V, la inmensa mayoría de aplicaciones de hardware y software para Arduino ya existentes son totalmente compatibles con la plataforma chipKIT sin necesidad de introducir modificación alguna. La tarjeta de desarrollo chipKIT Uno32™ (referencia TDGL002) tiene un precio de 26,95 dólares, es clónica de la tarjeta Arduino Uno e incorpora 128 KB de memoria de programa Flash así como 16 KB de RAM y dos periféricos I2C, dos SPI y dos UART. La tarjeta de desarrollo chipKIT Max32™ (referencia TDGL003) tiene un precio de 49,50 dólares, es clónica de la tarjeta Arduino Mega e incorpora 512 KB de memoria de programa Flash así como 128 KB de RAM, comunicación mediante USB, CAN y Ethernet, además de cinco periféricos I2C, cuatro SPI y seis UART. Las dos tarjetas chipKIT y el código de código abierto correspondiente se encuentran ya disponibles, mientras que la disponibilidad de chipKIT Network e I/O Shields está prevista para Junio 2011. www.microchip.com Publicidad

Las tarjetas y el software chipKIT proporcionan un mayor nivel de prestaciones y funcionalidad que cualquier otra solución para Arduino disponible en el mercado. Con un precio inicial de tan sólo 26,95 dólares por unidad, docentes y aficionados pueden multiplicar por cuatro las prestaciones de cualquier otra solución existente para Arduino y disponer de proyectos en funcionamiento en cuestión de minutos. La plataforma consta de dos tarjetas de desarrollo basadas en PIC32 y un software de código abierto totalmente compatible con el lenguaje de programación y el entorno de desarrollo Arduino. El hardware chipKIT es compatible con las tarjetas de conexión (shields) y las aplicaciones para Arduino ya existentes y se puede desarrollar mediante el Arduino IDE y los recursos existentes, como ejemplos de código, bibliotecas, referencias y clases de formación. Esta solución de sencillo manejo y bajo coste ofrece soporte al desarrollo de proyectos por parte de aficionados y docentes de disciplinas tan variadas como la ingeniería mecánica, la informática o incluso el arte. Las tarjetas chipKIT basadas en PIC32 ofrecen unas prestaciones de 80 MHz, hasta 512 KB de Flash y 128 KB de RAM. Incorporan periféricos para conectividad, entre ellos Ethernet, CAN y USB (Full-Speed Host, Dispositivo y OTG), así como periféricos como varios temporizadores, un convertidor A/D de 1 MSPS y 16 canales, dos comparadores y múltiples interfaces I2C™, SPI y UART. El chipKIT integra el microcontrolador PIC32 de Microchip, que es el microcontrolador de 32 bit con las mayores prestaciones dentro de su categoría gracias al núcleo MIPS32® M4K® de MIPS Technologies, Inc. En el diseño del software se ha asegurado su máximo nivel de compatibilidad con las tarjetas de conexión, las aplicaciones y el material de formación para Arduino ya existentes. El entorno de programación Arduino se ha visto modificado y ampliado, de forma que ya ofrece soporte a las tarjetas chipKIT basadas en PIC32, así como a las tarjetas Arduino tradicionales. También se han introducido elektor

7/8-2011

Personal Download for I © Elektor

11

63414

ELEKTOR

NI myDAQ distribuido Un versátil y asequible laboratorio National Instruments para los

Todo un laboratorio de electrónica en un solo dispositivo USB Con NI myDAQ, tu ordenador se convierte en el instrumento. Al instalar el controlador de hardware NI ELVISmx dispondrás de ocho instrumentos de ingeniería para trabajar como y donde tu quieras. Œ    Ž      ‘  ’ 

Alimentación y conexión al PC - USB Alimentación ±15 V y 5 V 8 Entradas/Salidas digitales 1 Contador 2 Canales E/S analógicos 200 ks/s Entrada/Salida de Audio, 3.5 mm Multímetro Digital integrado

Œ  Ž

  ‘ ’ “



Personal Download for I © Elektor

 Ž   ‘

Alto: 147 mm Ancho: 89 mm Espesor: 23 mm Peso: 173 g

Œ ’

Œ  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 “  Lector de Señales Digitales

63414

en España por Elektor electrónico portátil creado por estudiantes de electrónica National Instruments y Elektor han llegado a un acuerdo para la distribución en España del producto NI myDAQ a través de la red comercial de la revista. Podemos definirlo como un mini-laboratorio móvil de alta calidad que, conectado a un ordenador portátil con el software adecuado, permite a los estudiantes de electrónica experimentar, realizar sus prácticas y crear sus propios proyectos donde quieran y cuando quieran, liberándolos de la necesidad de hacerlo en un horario o en un laboratorio determinado, pudiendo reforzar sus conocimientos y completar sus trabajos tanto en su centro de enseñanza como en cualquier otro lugar y momento que ellos deseen.

Ahora puedes comprar tu NI myDAQ en Elektor ¡Todo lo que necesitas para ampliar y llevar a la práctica tus conocimientos de electrónica en un solo producto!

¡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 estudiante 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 informativa de programas de ejemplo de TI, Bandeja de almacenamiento reutilizable.

Más información y pedidos en:

www.elektor.es/myDAQ

¡Atención! Para poder adquirir NI myDAQ deberás acreditar tu condición de estudiante.

Personal Download for I © Elektor

63414

Controlador de robot para Arduino Nano François Auger (Francia)

14

+5V DERECHO

+5V

4k7

R5 P1

DERECHO 250R

1

K1

D1

GL

IC1 IS471F GND

VO

IR

4

C1 330n

2

R8 2k2

1 VCC

S1

R7 2k2

+5V

3

DERECHO C4 330n

+5V

P2

CENTRAL

R2

R1 220R

1M

250R

VT935G

K3

D2 1 VCC

GL

IC2 IS471F GND

VO

IR

4

C2 330n

2

R9 2k2

Señal sensor IR derecho

1

Señal interruptor derecho

2

Señal sensor LDR derecho

3

Señal sensor IR central

4 5

3

6

+5V

Señal sensor LDR izquierdo 7 Señal interruptor izquierdo

IZQUIERDO

Señal sensor IR izquierdo

C5

+5V

P3 250R

1 VCC

GL

IC3 IS471F GND

VO

4 2

IR

11 12 13

1M

D3

9 10

330n R4 220R R3

IZQUIERDO

8

VT935G

3

14 15 16 17 18 19 20 21 22 23 24 25 G2

C3 330n

G1

SUB-D25 R11 2k2

+5V R10

IZQUIERDO

2k2

R6 4k7

Este montaje está pensado para ser montado delante del robot móvil BOE-Bot presentado en [1]. Aunque nada nos impide utilizar este montaje con cualquier microcontrolador, ha sido concebido para ser conectado a la placa soporte para Arduino Nano [2]. Esta placa soporte posee unas dimensiones que le permiten ser montada sobre este robot y puede ser conectada a dos servomotores que aseguran la propulsión del robot, gracias a unos conectadores previstos con este fin. El montaje presentado aquí permite a un robot móvil percibir informaciones sobre su entorno inmediato, con la ayuda de dos micro-contactos (sensores de fin de carrera), dos fotorresistencias y tres sensores de proximidad infrarrojos. Esto permitirá al microcontrolador controlar correctamente al robot, enviando comandos adaptados a los servomotores. El circuito interfaz de tres sensores infrarrojo es clásico y ya ha sido utilizado en [3]. Los potenciómetros P1, P2 y P3 permiten ajustar la corriente que alimenta a los diodos emisores, es decir, la distancia máxima a la que el sensor logrará detectar la presencia de un obstáculo. Las resistencias de 2,2 k Ω sirven para proteger al microcontrolador contra cortocircuitos accidentales que podrían producirse si el terminal del microcontrolador es configurado como salida y genera un nivel lógico diferente del generado por el sensor. Los micro-contactos permiten detectar la presencia de un obstáculo en el trayecto y, por lo tanto, evitar colisiones. Ellos fuerzan al terminal de entrada del microcontrolador a nivel bajo. Las dos fotorresistencias permiten hacer el seguimiento de la pista reflectante, para obligar al robot a que siga una trayectoria marcada en el suelo. Estas fotorresistencias están conectadas de tal modo que es posible hacer la medida de su resistencia con la ayuda de una sola entrada/salida lógica: al principio, el terminal del microcontrolador está configurado como salida y colocado a nivel lógico alto, para descargar el condensador. Luego, el terminal es configurado como entrada, lo que lo coloca en alta impedancia. El condensador se carga a través de la fotorresistencia, con lo que el terminal pasa nivel lógico 1 a nivel lógico cero, al cabo de un tiempo proporcional al producto RC. Así pues, midiendo el tiempo que tarda el terminal para pasar de 1 a 0, logramos medir el valor de la fotorresistencia y, en consecuencia, la intensidad luminosa que recibe. Una placa de extensión suplementaria, que contiene una zona para prototipos rápidos,

1

K2 S2 100395 - 11

facilita la conexión entre la placa soporte para Arduino Nano y los circuitos suplementarios (brújula electrónica, reloj de tiempo real, coprocesador matemático, acelerómetro utilizado como inclinómetro…). En la página de Internet del artículo [4], encontraremos algunos programas (sketches) de prueba, así como el esquema para la placa de extensión suplementaria.

Personal Download for I © Elektor

Liens internet [1] Curso de programación de Basic Stamp, Elektor, de septiembre a diciembre de 1999. [2] www.elektor.es/100396 [3] Basic-buggy, Elektor, abril de 1999. [4] www.elektor.es/100395

(100395)

7/8-2011

elektor

63414

Flash esclavo +3V3

T1

TH1

R6 1k

S1

C1

1

MAN/TTL

T2

2

68n

2N2222

3 4

VDD GP5

GP0

IC1 GP4

GP1

PIC12F675 GP3/MCLR

GP2

VSS R5

8

1k

R3 10k

R2 470k

10k

R1

FUJI FLASH

7 6 5 D1 R4 1k

BPW34

100584 - 11

para la fotografía submarina Daniel Savel (Francia) Este montaje, inspirado en numerosos montajes descritos en la “nube” (Internet), utiliza un módulo flash recuperado de una cámara de fotos desechable de la marca Fuji. Su número guía [1] en el aire se sitúa alrededor de 14, que se convierte en 6 en el agua. No hay ajuste de la potencia de disparo. El flash utilizado por el autor, que está más bien destinado a la foto submarina, lo ha instalado en la caja de una vieja cámara de fotos Nikon Coolpix 7900, pero no es necesario decir que este montaje se presta perfectamente a la fotografía terrestre. El módulo flash es alimentado por una pila de 1,5 V y consume en torno a 30 ó 40 mA, una vez que el condensador está cargado. La parte lógica utiliza un microcontrolador PIC12F675, alimentado por una pila de botón CR2016 de 3 V. Su consumo es irrisorio: sólo unos mA durante los 200 ms de trabajo de cada disparo y, posteriormente, unos 600 nA cuando el micro está en reposo el resto del tiempo. No hay pues interruptor de encendido/apagado. El disparo en el módulo flash Fuji se hace por un contacto físico, cerrado en el momento elektor 7/8-2011

oportuno por el obturador de la cámara. Para nuestro uso, deberemos insertar en su lugar un tiristor MCR100-8 con una resistencia de 1 kΩ en serie con el disparador. Podemos montar estos dos componentes directamente sobre el módulo Fuji. Existe un número importante de placas electrónicas para flash en las cámaras desechables que se parecen mucho y deberíamos poder

adaptar, sin problema, el módulo lógico a una de estas placas recuperadas. Tendremos que tener cuidado con las tensiones y pensar en unir las masas de la placa lógica y de la placa flash. En Internet podemos encontrar muchos esquemas eléctricos de estas placas, por lo que será fácil encontrar el que mejor se adapte al que tenemos en nuestra mano. El programa [2] gestiona los modos manual, pseudo TTL (Through The Lens, a través del objetivo) y sleep (dormido).

Personal Download for I © Elektor

El modo manual permite el disparo inmediato en el primer disparo recibido. El modo pseudo TTL permite evitar la dificultad de que el número de pre-disparos emitidos por una cámara de fotos depende del modelo y hasta puede variar entre dos fotos. Por este motivo, el programa espera una duración fija de unos 100 ms después del primer predisparo, antes de tratar de detectar el disparo útil. El LED D1 se enciende cuando el micro “detecta” un pre-disparo, pero aún no ha detectado el disparo efectivo después de los 100 ms de espera. La luz aportada por este flash esclavo no está integrada en la medida hecha por la cámara de fotos y se añade a la del flash principal. Por este motivo, este modo se llama pseudo TTL. Podríamos contemplar un funcionamiento puramente TTL o, por lo menos, permitir un ajuste de potencia. El problema es el de conseguir un transistor muy específico, del tipo 25AAJ8 u otro, difícil de encontrar. (100584)

Enlaces en Internet [1] http://fr.wikipedia.org/wiki/ Flash_photographique [2] www.elektor.es/100584 15

63414

Probador universal para componentes de tres terminales Georges Treels (Francia) La mayoría de los componentes activos de tres terminales pueden ser probados en estática con la ayuda de un simple ohmetro. Pero, cuando se trata de probar una gran cantidad de este tipo de componentes, el procedimiento se hace rápidamente cansado. Esta observación explica la idea de combinar en un solo equipo la facilidad y la rapidez de pruebas para este tipo de componentes. El instrumento presentado aquí permite probar los transistores bipolares NPN y PNP, los transistores FET o MOSFET de canal N o de canal P, los transistores UJT, los triacs y los tiristores. Las pruebas son no destructivas, cualquiera que sea el componente. Un conector universal permite la prueba de todo tipo de encapsulado, incluso los SMD (en cierta medida). El equipo permite pasar de un tipo de componente a otro en un instante. No utiliza un conmutador multipolo, ya que es demasiado caro y difícil de encontrar.

He aquí cómo realizar un instrumento polivalente a un precio irrisorio. IC1 es un cuádruple interruptor CMOS 4066 que nos va a permitir la conmutación de los transistores bipolares y de los FET. Los LED D1 a D4 nos informan sobre el estado del componente bajo prueba, por medio de una pulsación sobre el botón “Test” («Prueba»). El 4066 solo acepta trabajar con unos pocos miliamperios, que no son suficientes para otros componentes a probar, de aquí la utilidad del relé RE1. Este relé de 12 V dispone de dos contactos trabajo-reposo. El primero alimenta el circuito de prueba del transistor UJT, mientras que el segundo alimenta el circuito de prueba de los triacs y tiristores. Numerosas pruebas han mostrado que, para probar los transistores UJT, es mejor hacerlo en funcional o dinámica, con la ayuda de un oscilador de relajación. La red R11/C1 fija la frecuencia del oscilador alrededor de 2 Hz. Sobre el terminal B1 del UJT tenemos un bonito diente de sierra, poco interesante aquí. En cambio, el terminal B2 proporciona bellos pulsos, pero muy cortos. IC2, cableado como monoestable, va a alargar estos pulsos con el fin de que sean bien visibles en el LED D5.

El segundo contacto de trabajo del relé va a controlar la puerta del tiristor o triac. El valor de R18 es un buen compromiso para aceptar diferentes corrientes de puerta de este tipo de componentes. La resistencia R17 es importante ya que la corriente de mantenimiento debe ser bastante elevada para un triac: 250 mA es un buen valor de compromiso. El LED D6 nos informa del buen estado del componente pero, atención: la prueba debe ser validada con un corte breve de alimentación para poder reinicializar el triac. En la página de Internet de este artículo [1], encontraremos los ficheros CAD (placa y panel frontal) del autor, así como fotos de su realización. En su prototipo, los LED y el pulsador «Test» están cableados por la cara de cobre de la placa. Los seis conectores hembra para los componentes a probar provienen de la recuperación de otros montajes, pero en el mercado existen numerosas referencias disponibles (con paso estándar). Las pinzas de cocodrilo del cable de medida deben ser tan pequeñas como sea posible para las pruebas de los componentes SMD. (100942)

Relés en Internet [1] www.elektor.es/100942

+12V D1

R4

IC1.C

6

R2

R6

8

D2

100k

R12

R11

8

UJT

TR

7

IC2

DIS

555

THR 1

OUT

C2

4u7

100n

R14

N FET

10 T3

IC1.D

12

R17

R10 11

D4

THYRISTOR TH1 RE1

D6 R16 620R

100k

R7

D5

5

C3

47R

4

4u7

620R

5

T4

3

620R

IC1.B

R13 100R

100k

R8 3

P FET

1000u

4

CV

C1

100n

R

2

6

R9

C4

R15

T5

D3

C5

620R

T1

R1 10k

47k

2

9

1k

NPN

100k

13

IC1 7

620R

IC1.A

14

IC1 = 4066

T2

R5 10k

620R

TEST

R3

1

PNP

100k

S1

TRIAC TRI1

R18 150R

100942 - 11

16

Personal Download for I © Elektor

7/8-2011

elektor

63414

Microcontrollers

¡Los Microcontroladores de 8 bit Más Conocidos! El Mejor Soporte al Cliente.

Digital Signal Controllers Analog Memory

La familia de microcontroladores de 8 bit más conocida del mundo cuenta con el mejor soporte al cliente y el plazo medio de entrega más corto del mercado. Con más de 400 versiones diferentes, hay un microcontrolador PIC® de 8 bit para cada diseño. La familia de 8 bit de Microchip incluye ahora microcontroladores con el formato más reducido, periféricos exclusivos y un rendimiento de hasta 16 MIPS. La compatibilidad de patillas y de código asegura una sencilla migración para toda la familia de 8 bit para diseños de hasta 16 bit y el IDE MPLAB® de Microchip, totalmente gratuito, ofrece soporte a TODOS los microcontroladores de 8, 16 y 32 bit de Microchip, ¡desde 6 hasta 100 patillas!

Soporte 24/7 • Sólo Microchip ofrece soporte total 24/7



• Mayor equipo de soporte de Ingenieros de Aplicación de Campo • Mayor equipo de soporte de Ingenieros de Aplicación para el Cliente

Now&Tomorrow... Now&Tomorrow... Con más de 7.000 Millones de microcontroladores PIC suministrados en todo el mundo y un aumento de la inversión en el desarrollo de productos y el soporte al cliente, puede confiar en • Mayor Soporte a la Formación que Microchip estará listo para atenderle, especialmente en momentos difíciles. mediante los Centros Regionales El soporte completo empieza con el Selector Avanzado de Dispositivos de Microchip Now&Tomorrow... de Formación (RTC) Now&Tomorrow...

(Microchip Advanced Part Selector, MAPS) y se extiende por todo el ciclo de diseño con herramientas de desarrollo gratuitas o de bajo coste, formación on-line y regional, así como soporte técnico 24/7. Microchip es el único suministrador en ofrecer USB, LCD, CAN, Ethernet y sensado Táctil Capacitivo al mercado de 8 bit.

YOU

Now&Tomorrow...

Now&Tomorrow... Now&Tomorrow... ¡Para el mejor soporte y disponibilidad de producto, piense en Microchip!

Now&Tomorrow... Now&Tomorrow... www.microchip.com/8bit Personal Download for I © Elektoren EE.UU. y en otros países. Las restantes marcas pertenecen a sus respectivas compañías. El nombre y el logo de Microchip, el logo de Microchip, MPLAB y PIC son marcas registradas de Microchip Technology Incorporated © 2010, Microchip Technology Incorporated. Todos los Derechos Reservados. ME249B-Spa/07.10

63414

Pelacables de bajo coste Luc Lemmens (Laboratorio de Elektor) Hay muchos métodos y herramientas para eliminar el aislante de un cable eléctrico. Algunos utilizan sus dientes, pueden servir también pelacables de todas clases y medidas, tijeras, alicates de corte o un cuchillo fuerte, pero con cables finos la mayoría de las herramientas fallan: Basta con estirar un poco el aislamiento o dañar el núcleo de metal para tener que acortar el cable y tener que volver a intentarlo. Tanto la pregunta como la respuesta a este problema vinieron de un sitio inesperado: en el mundo de las casas de muñecas o miniaturas se utilizan bombillas minúsculas con cables flexibles muy finos. El suministrador de esta iluminación vende también una ‘herramienta de pelar’, ¡que en el mundo de la electrónica se llama simplemente ‘pinza de cocodrilo’! En las prácticas del laboratorio las utilizamos como pinzas de prueba, o como pinzas de la denominada ‘tercera mano’. También se venden unos juegos de cables de prueba muy baratos que tienen a ambos extremos una pinza de cocodrilo. Estos parecen ser perfectamente aptos sin ninguna adaptación para eliminar el aislante sin ningún esfuerzo y sin dañar al hilo conductor. En este caso se

cumple además que las versiones más baratas son las mejores, la elasticidad tiene que ser preferiblemente la mínima posible. Sí es importante que los dientes encajen bien en el extremo, ya que si no la pinza no es apta para cables finos. Su uso requiere un poco de habilidad: coloca bien el cable en la pinza y presiona con la fuerza justa sobre el dedo pulgar y el dedo índice sobre la boca hasta ‘cortar’ el aislante para después poder quitarlo. Hay que experimentar un poco dependiendo del tipo de cable y el grosor del aislante, pero todo el mundo con un poco de ‘tacto’ coge rápidamente el tranquillo. Por supuesto que empezamos a experimentar

directamente para ver si esta herramienta es apta para otro tipo de aislamiento problemático. Los cables planos son también victimas agradecidas y dóciles, los hilos individuales se pelan correctamente en un pispás casi sin ningún esfuerzo. En algunos clips de pilas de 9V los cables de conexión son bastante rígidos y el aislante es grueso en comparación con el hilo – a menudo tampoco es la tarea favorita de los pelacables normales – y también aquí la pinza de cocodrilo hace un trabajo excelente. Aunque no ha sido diseñada para esta labor, ¡cumple perfectamente con su cometido como pelacables! (110283)

Alimentación flotante para equipo eléctrico de panel

+10V...+15V

C7 100n R1 100k

Georges Treels (Francia) Hoy día, encontramos en el mercado numerosos voltímetros digitales a precio interesante. Además de una gran impedancia de entrada, presentan las ventajas de ser precisos, polivalentes, poco voluminosos y bastante «elegantes”. La otra cara es que, generalmente, existen en dos versiones:

IC1.A 1

1

14

3

IC1.B 1

4

IC1.C 2

5

1

IC1.E 6

IC1 = 40106

IC1.D 9 C1

1 7

1n

12 C2

C3

1u

1u

D1

18

11

1 IC1.F

8

•  L a “no muy cara” que necesita la separación galvánica de la tensión de alimentación y de la tensión a medir. •  L a “más cara” (¡cuenta con el doble!) que acepta una masa común. Si se considera el bajo consumo de estos módulos (alrededor del mA), es sencillo y

10

IC2 LM78L08

D2

4x 1N4148 D4

13

1

D3

C4

C5

C6

4u7 25V

100n

100n

110402 - 11

rentable el pensar en un pequeño circuito que nos permita el aislamiento galvánico

Personal Download for I © Elektor

de este tipo de material. IC1 es un séxtuple disparador (“trigger”) inversor CMOS, del 7/8-2011

elektor

63414

tipo 40106. Su primer elemento, IC1.A, está cableado como oscilador (gracias a R1 y C1), a una frecuencia de unos 10 kHz. IC1.B invierte la señal para, después, atacar los elementos IC1.C - IC1.D e IC1.E - IC1.F, en oposición de fase. La señal es tomada a través de C2 y C3, rectificada por un puente de diodos, filtrada

por C4 y C5, y estabilizada por IC2 y C5 a un valor de 8 V. La tensión de alimentación, desacoplada por C7, es poco crítica y está entre 10 y 15 V. Difícil de hacer de forma más simple… El conjunto del montaje se sitúa sobre una placa de simple cara de 24,3 x 27,94 mm, fácil de instalar en la

parte trasera de la mayoría de los módulos visualizadores. La documentación de serigrafía y la placa de circuito impreso está disponible en [1]. (110402)

Enlaces en Internet [1] www.elektor.es/110402

Interruptor crepuscular Theo de Wijs (Tailandia)

D1

R3

D3

R4

D1...D4 = 1N4148

K1

LDR

C1

1N4148

220R 0W5

RE1

470n 400V

D5

12V 1W

T2 C2 T1

R2

100u 25V

C4 D2

D4

BC547

2k2

P1

47u 16V 25k

BC547 R5 33R

R1

D6

10k

En cualquier ferretería se puede comprar un interruptor crepuscular para una lámpara exterior, pero un aficionado a la electrónica lo construiría él mismo con algunos componentes de los que dispusiera. El circuito que presentamos aquí no requiere de ningún transformador de red, utiliza una resistencia capacitiva en serie en forma de C1 conectada directamente con la tensión de red a través de la resistencia R1 que limita la corriente al conectarse. D1...D4 rectifican la tensión alterna para que D5 y C2 se encarguen después de la limitación de la tensión y el alisamiento respectivamente. La detección luminosa se hace mediante fotorresistencia (R3). La resistencia de la fotorresistencia es alta si hay poca o ninguna luz. Entonces la tensión en la base de T1 está a nivel bajo y el transistor bloquea. En ese caso se abre T2 a través de R4 y se mantiene accionado el relé, de modo que la lámpara exterior esté encendida. Si la fotorresistencia recibe suficiente luz, la tensión en la base de T1 sube y esta se abre. T2 deja de recibir corriente de base y el

110063 - 11

relé se desconecta. Puedes ajustar la sensibilidad con el potenciómetro. C4 hace que haya un poco de histéresis, de modo que el circuito no conmute de forma intermitente alrededor del punto de conmutación. Hay que construir todo el circuito en una caja aislada debido a la conexión directa con la

tensión de red. Los valores de los componentes no son muy críticos. Asegúrate de optar por un relé Re1 con una corriente de accionamiento pequeña (como máximo unas decenas de miliamperios). El autor utilizó en el prototipo un JJM1-12V de Panasonic. (110063)

Seguidor de emisor Audion Burkhard Kainka (Alemania) Un Audion de onda corta con tan sólo dos transistores y una batería de 1,5 V; esta es la forma ideal para iniciarse en la transmisión de onda corta. El circuito puede conectarse, por ejemplo, a un altavoz activo de PC y ofrece una potencia de recepción bastante convincente. Una peculiaridad es que el propio circuito del Audion funciona con el transistor PNP BC558C elektor 7/8-2011

en el modo colector (seguidor de emisor). Su principio de funcionamiento radica en la capacidad interna base-emisor del transistor, de unos pocos picofaradios. Debido a ellos aparece un divisor de tensión capacitivo, de modo que el transistor funciona como oscilador de tres puntos. Sólo necesita una pequeña corriente de emisor para empezar a oscilar. Mediante el potenciómetro podemos ajustar el Audion para recepción de AM, de

Personal Download for I © Elektor

modo que deje de oscilar (justo después de la aplicación como oscilador), de CW (telegrafía y transferencia de pulsos) y de SSB. El acoplamiento y amplificación de la señal BF se hace mediante un segundo transistor. La señal en el conector de salida K1 tiene un nivel adecuado a la línea y una impedancia de salida de aproximadamente 1 kΩ. Pueden utilizarse alternativamente ambas conexiones de la antena, ANT1 y ANT2. 19

63414

E s impor t ante una buena toma de tie rra en el circuito. Entonces bastará con un pequeño cable de antena de poco más de unos metros en Ant1 para poder escuchar numerosas emisoras de radio. Para la recepción en larga distancia es preferible utilizar una antena externa, por ejemplo un cable de unos diez metros de largo completamente estirado. En tal caso debemos utilizar la conexión Ant2. Esta entrada tiene un acoplamiento muy escaso para evitar que el resonador se amortigüe demasiado y anule la realimentación. En resumen: cuanto más larga sea la antena, más pequeño podremos poner el condensador de acoplamiento C1.

R2 10k

ANT2

P1

R1

R4

1k

C1

1k

ANT1

1...30p

10k

C5 T1 L1

100n

C2

23 100p

7

C3

C4

47p

10n

K1

C6

R3 100k T2

100n BT1

1V5

BC558C

BC548C

110199 - 11

(110199)

La Caza del LED muestra el uso del juego y las reglas, que son explicadas por uno de los autores, está disponible en Youtube [1]. La electrónica de ‘La Caza del LED’ consiste en un microcontrolador ATtiny2313, un zumbador, dos botones (L y R), ocho LEDs y 3 pilas de litio de 3 V tipo botón. K1 es el conector debugWIRE que, según Atmel, permite “la depuración completa del producto acabado (en combinación con AVR Studio)”. El zumbador es controlado en una configuración en puente para conseguir un nivel de sonido ade-

Alexander, Friedrich y Klaus diez Hagen (Alemania) La caza del LED es un juego que dispara uno de ocho LEDs al azar, los LEDs están colocados en fila. Si el LED del extremo derecho o izquierdo se enciende y se pulsa al mismo tiempo el botón correspondiente (L o R), se genera un sonido. A continuación, los LEDs se encienden individualmente, en secuencia y, después, comienzan a ‘saltar’ más rápido. Las pulsaciones incorrectas del botón “Left” o “Right” hacen que se genere un sonido bajo. El LED ‘erróneo’ parpadea rápidamente y el salto del LED se vuelve a hacer más lento para una nueva ronda. Si no se pulsa ningún botón durante 60 segundos, el juego de ‘La Caza del LED’ se apaga automáticamente. El vídeo que

cuado. Los cuatro diodos D9–D12 son necesarios para evitar falsos reinicios si se usa un zumbador con un buen nivel de inductancia. También podemos considerar usar un pequeño altavoz de alta impedancia (> 32 Ω) en vez del zumbador. El juego de ‘La caza del LED’ usa el temporizador de 16 bites del ATtiny para generar un intervalo de espera que activa el modo ‘reposo’ del micro, con una corriente de reposo de sólo 200 nA. El proyecto fue diseñado usando C en AVRstudio4, LabCenter

+VCC

D11

1

D12 D9...D12 =

1N4148

K1

*

BT1

2

3V 20

3

VCC 4 5 2 3 6 7

BZ1

8 9 11

IC1

PA1(XTAL2)

(RESET\dW)PA2

PA0(XTAL1) (AIN0/PCINT0)PB0 PD0(RXD)

(AIN1/PCINT1)PB1

PD1(TXD)

(OC0A/PCINT2)PB2

PD2(CKOUT/XCK/INT (OC1A/PCINT3)PB3 PD3(INT1)

(OC1B/PCINT4)PB4

PD4(T0)

(MOSI/DI/SDA/PCINT5)PB5

PD5(OCB0/T1) PD6(ICP)

(MISO/DO/PCINT6)PB6 (UCSK/SCL/PCINT7)PB7

CR2430

1 12 13 14 15 16 17 18 19

ATTINY2313 D9

D10

GND 10

S1

L

S2

D1

D2

D3

D4

D5

D6

D7

D8

R 110336 - 11

20

Personal Download for I © Elektor

7/8-2011

elektor

63414

Proteus VSM y Ares para la PCB. El programa del proyecto está disponible para su descarga gratuita en [2]. La PCB de los autores, presentada aquí, ha sido diseñada en una sola cara para reducir el coste. El archivo de diseño de la PCB está en la página Web de Elektor para el proyecto, en [2]. Se ha diseñado una tapa para la parte oculta de la placa, para impedir que los dedos húmedos (¡sudorosos!), puedan causar falsos contactos. Podemos conseguir la tapa ya

fabricada en www.shapeways.com, usando el archivo gratuito de SketchUp Google, que también podemos encontrar en el fichero 110336-1.zip en [2]. Para el entorno de ‘campanas & silbidos’, los autores planean ampliar el juego con un intérprete RingTone (RTTTL). Esto permitirá reproducir tintineos agradables para, por ejemplo, celebrar la pulsación del botón correcto o aumentar los latidos por minuto como cuando el jugador alcanza niveles de juego

más altos. Lamentablemente el programa necesario, más grande, supera los 2 KB de la capacidad de la memoria flash del ATtiny2313 y necesitaremos un ATtiny4313 para actualizar el juego usando la misma PCB. (110336)

[1] www.youtube.com/ watch?v=P2D1VtV8NhY [2] www.elektor.es/110336

Fuente de corriente ajustable hasta 0 mA Jürgen Okroy (Alemania) IC2 LM7812

+Ub +20V

IC1 LM7815 C1 100u 30V R3 1k5

IC3 7

2

A

B

3

CA3140

P1 C

4

6

R1 510R

BC547B

10k log

R4 1k5

La solución más simple para diseñar una fuente de corriente constante ajustable es utilizar reguladores de tensión conectados según el circuito adecuado, como por ejemplo el que podemos encontrar en la hoja de datos del LM317. Sin embargo, la corriente no puede hacerse del todo cero. En el circuito aquí presentado sí es posible hacerlo. Utilizando dos reguladores de tensión fijos con distintas tensiones de salida logramos que el operacional trabaje en todo su margen de funcionamiento. El primer regulador de tensión suministra 15 V para servir de alimentación al operacional, y a la vez como referencia para el divisor de tensión (R3/P1/R4). Mediante P1 ajustamos el valor deseado, que se encuentra en la entrada no inversora del operacional (IC3/pin3). El operacional regula con T1 la corriente a la salida (del colector de T1 a masa), de modo que en el emisor de T1 y por lo tanto también en la otra entrada del operacional se tiene la misma tensión (valor actual) según indica el terminal móvil de

100935 - 11

P1 (valor de referencia). La condición para esto es, lógicamente, que a la salida esté conectada una carga por la cual pueda fluir corriente a masa. El rango de ajuste de la tensión en P1 está determinado por los valores del divisor de ten-

sión formado por R3/P1/R4. Teniendo la mínima tensión en el terminal móvil de P1 fluirá la máxima corriente constante, que a su vez depende del valor de la resistencia R2. El circuito se ha dimensionado de modo que la R2 corriente constante con R2 = 100 Ω * sea ajustable entre 0 y 100 mA, y con R2 = 330 Ω entre 0 y 30 mA. Siendo meticulosos con los cálculos haría falta un rango de tensión T1 en el terminal móvil de P1 de 2 V (corriente máxima con 10 V en R2) a 12 V (corriente mínima con 0 V en R2). Ya que el valor de corriente se ajusta considerando la tolerancia del ±10% en el potenciómetro, el rango de tensión ajustable en P1 se ha dimensionado ligeramente mayor, con 1k5 para R3 y R4 (calculando de 1,73 V a 13,27 V). Ya qu e s e t r at a d e ma nt e n e r la corriente constante y no la tensión, lógicamente en la salida ésta cambia en función de la corriente. Según se eleva la corriente la caída de tensión en R2 (I x R2) es mayor, siendo correspondientemente menor la tensión a la salida. (100935)

Detector de nivel de agua André Thiriot (Francia) Para vigilar el llenado de una bañera, de una cisterna o de una piscina, o incluso para señalar el desbordamiento de un pozo negro, presentamos aquí un detector de nivel de agua muy simple, construido alrededor de una cuádruple puerta NAND CMOS CD4011. elektor 7/8-2011

Las puertas IC1.A e IC1.B están cableadas como multivibrador aestable. La frecuencia del oscilador viene determinada por los componentes C1, R2 y el potenciómetro P1. La resistencia R1 fija la tensión de reposo de la entrada de la puerta IC1.A a bajo nivel lógico, lo que bloquea, por defecto, el fun-

Personal Download for I © Elektor

cionamiento del oscilador en ausencia de agua. En caso de presencia de agua entre los electrodos e+ y e-, la entrada de IC1.A es llevada a un nivel lógico alto, lo que valida el funcionamiento del oscilador. A la señal en salida de la puerta IC1.B se le da forma por medio de IC1.C, para obtener una señal rec21

63414

S1

TR1 14 7

e+ e-

1

IC1.A

2

14

4x 1V5 IC1

&

R1

7

3

IC1.B

5

&

6

4

8 9

IC1.C &

10

12 13

T1

IC1.D &

PKM28

11

IRF530

R2 1k

BT1

Bz1

*

IC1

1VA5

IC1 = CD4011

10M

tangular. La puerta IC1.D invierte la señal para que el transistor T1 esté bloqueado en ausencia de agua, lo que evita el paso de corriente en el primario del transformador TR1 cuando el sistema está en reposo. El transformador TR1 (el autor utilizó un modelo de 12 V/230 V y 1,5 VA), montado como elevador de tensión (es decir, el lado de 12 V sobre T1), realiza una amplificación de la señal presente sobre el drenador de T1. El secundario del transformador ataca el transductor piezoeléctrico BZ1 (timbre piezoeléctrico, por ejemplo, Murata, 28 indica el diámetro) que restituye la señal acústica. Con el fin de optimizar el rendimiento acústico del conjunto, procuraremos, ajustando P1, ajustar la frecuencia del oscilador a la frecuencia de resonancia del transductor piezoeléctrico. Este ajuste debe hacerse “a oído”. El montaje electrónico y las pilas pueden ser encapsuladas en una caja de recuperación (por ejemplo una caja de forma ovoide que se encuentra en los huevos sorpresa gigantes de chocolate). Los electrodos, constituidos

C1 P1 47k

10n

110037 - 11

por hilos simples rígidos de cobre, atraviesan la caja y la impermeabilidad se garantiza con resina epoxi.

Enlaces en Internet [1] www.elektor.es/110037

(110037)

Generador de diente de sierra NPN Burkhard Kainka (Alemania)

22

+12V

10k

R1

T1

C1 100n

BC547B 110195 - 11

1

BT1 D1

9V 27k

En los libros de texto antiguos quizá se recuerde cómo realizar un oscilador de diente de sierra mediante una lámpara de neón y un condensador. El circuito mostrado en la figura 1 se trata de sencillo generador de diente de sierra que funciona mediante el mismo principio, aunque con un transistor NPN en lugar de una lámpara de neón, y a una tensión mucho más baja. Cualquiera puede probarlo, es muy simple. ¿Pero cómo? El autor aclara el funcionamiento del circuito en adelante: El transistor NPN funciona de forma inversa (el emisor es positivo respecto del colector), en este caso tenemos una curva característica negativa entre emisor y colector. El diodo base-emisor produce a 9 V el llamado “efecto avalancha”. Además, los portadores de carga atraviesan la capa de barrera tan rápido que son capaces de liberar a otros portadores de la malla. El número de portadores de carga se incrementa como una avalancha, y de ahí la corriente generada. Este efecto es exactamente el mismo que el de un diodo Zener de 9 V. No obstante, la resistencia interna de dicho diodo sigue siendo positiva. En este caso se trata de un transistor funcionando a la inversa. El emisor y el colector intercambian los roles, especialmente se debe

R1

C1 100u 25V T1

BT2

BC547B

9V

2

110195 - 12

Personal Download for I © Elektor

a la estructura simétrica del transistor que también pueda funcionar a la inversa. Podemos medir una ganancia en corriente de 3 a 10. El funcionamiento del transistor se basa en que los portadores de carga atraviesan la fina base y de dirigen a la capa de barrera. Y ahora viene lo bueno: es en esta capa donde se da de verdad el efecto avalancha. Todavía hay portadores de carga suficientes para liberar a otros portadores de la red, o sea, una avalancha al cuadrado. Con que la avalancha ocurra una vez ya es suficiente para que aparezca una pequeña tensión y ésta siga en marcha. La corriente de colector amplifica el efecto avalancha, obteniendo al final una curva característica negativa. La corriente de descarga es lo suficientemente fuerte como para hacer funcionar un LED (véase la figura 2). Sin embargo, esto requiere siempre una tensión mayor de 9 V. El circuito funciona muy bien con dos pilas de 9 V descargadas casi por completo. El LED parpadea durante bastante tiempo y exprime al máximo cada gota de energía de la batería. La frecuencia del parpadeo se incrementa según disminuye la tensión de batería. La resistencia de carga se ha colocado entre las baterías por motivos puramente mecánicos, para simplificar al máximo la estructura. (110195)

7/8-2011

elektor

63414

Personal Download for I © Elektor

63414

Sceptre – Control de una pantalla táctil como Arduino Clemens Valens (Redacción Francia) En internet encontramos fácilmente, y por poco dinero, pantallas táctiles resistivas de recambio para la consola de juegos Nintendo DS. Durante el diseño del Sceptre, ya se planteó la cuestión de utilizarlo con una pantalla táctil y esa es la razón por la que hay un espacio entre los conectores K6 y K7 (para pasar los hilos de conexión). Se prevén muchas cosas cuando se diseña una placa, pero no todas llegan a realizarse nece-

GND

1

DPOS

2

DNEG

3

5V

4

PIN1

5

PIN2

6

PIN3

7

PIN4

8

PIN5

9

PIN6

10

PIN7

11

3V3

12

PIN8

13

PIN9

14

GND

15

PIN10 16 PIN11 17 PIN12 18 PIN13 19 PIN14 20 PIN15 21 PIN16 22 PIN17 23 PIN18 24 PIN19 25 PIN20 26 PIN21 27 PIN22 28 59 60

el lugar donde se pulsa sobre la pantalla. Se alimentan los potenciómetros, uno tras otro, y se miden las tensiones en sus cursores. Dos medidas, X e Y, bastan para localizar la posición (x, y) pulsada. En realidad, cada potenciómetro tiene dos cursores, que son los contactos de otro potenciómetro. Cuando damos tensión al potenciómetro X, medimos la tensión sobre uno de los dos contactos del potenciómetro Y, y viceversa. Los puertos que controlan los potenciómetros X e Y cambian, pues, constantemente de función cuando se

GND

GND

DPOS

P1.19/TRACEPKT3

DNEG

3V3

+5V

MOD1

VREF

P0.21/PWM5/AD1.6/CAP1.3 P0.22/AD1.7/CAP0.0/MAT0.0

P1.27/TDO

P1.18/TRACEPKT2

P1.28/TDI

P0.25/AD0.4/AOUT

P0.23/VBUS

P1.17/TRACEPKT1

RESET

P0.28/AD0.1/CAP0.2/MAT0.2

P1.29/TCK

P0.29/AD0.2/CAP0.3/MAT0.3

P0.20/MAT1.3/SSEL1/EINT3

3V3

P0.19/MAT1.2/MOSI1/CAP1.2

P0.30/AD0.3/EINT3/CAP0.0

P0.18/CAP1.3/MISO1/MAT1.3

P1.16/TRACEPKT0

SCEPTRE

P1.30/TMS P1.20/TRACESYNC

GND P0.31/UP_LED/CONNECT

P0.17/CAP1.2/SCK1/MAT1.2

P0.0/TXD0/PWM1

P0.16/EINT0/MAT0.2/CAP0.2

P1.31/TRST

P0.15/RI1/EINT2/AD1.5

P0.1/RXD0/PWM3/EINT0

P1.21/PIPESTAT0

P0.2/SCL0/CAP0.0

P0.14/DCD1/EINT1/SDA1

P1.26/RTCK

P1.22/PIPESTAT1

P0.3/SDA0/MAT0.0/EINT1

P0.13/DTR1/MAT1.1/AD1.4

P0.4/SCK0/CAP0.1/AD0.6

P0.12/DSR1/MAT1.0/AD1.3

P1.25/EXTIN0

P0.11/CTS1/CAP1.1/SCL1

P0.5/MISO0/MAT0.1/AD0.7

P1.23/PIPESTAT2

P0.6/MOSI0/CAP0.2/AD1.0

P0.10/RTS1/CAP1.0/AD1.2

P0.7/SSEL0/PWM2/EINT2

P0.9/RXD1/PWM6/EINT3

P1.24/TRACECLK

P0.8/TXD1/PWM4/AD1.1

PWRSWC

VBAT

PWRSWH

GND

55 GND 54 PIN45

res A/D AD1.4 a AD1.7), Conectar la pantalla al Sceptre no es difícil. Podemos utilizar el pequeño conector especial de Nintendo DS (que podemos encontrar en Internet), pero también es posible soldar los hilos directamente sobre el cable flexible de la pantalla, después de haber rascado un poco el barniz, allí donde el cable flexible es más ancho. Ahora pasemos a la programación del modo Arduino. Para comenzar, renombramos los puertos utilizables del Sceptre para obtener los pines, 45

R1 150R

53 3V3 52 VREF 51 PIN44

Y1

50 PIN43

X1

49 PIN42

Y0

48 RESET

X0

MOD2

47 PIN41 46 PIN40 45 PIN39 44 PIN38 43 PIN37

D1

42 PIN36 41 PIN35 40 PIN34 39 PIN33 38 PIN32

Nintendo DS touchpad

37 PIN31 36 PIN30 35 PIN29 34 PIN28 33 PIN27 32 PIN26 31 PIN25 30 PIN24 29 PIN23 56 57 100609 - 11

sariamente. Así, una de las que fueron previstas fue una biblioteca para programar el Sceptre como un Arduino, es decir, con un sketch, un loop y con pines (terminales de entradasalida) reconfigurables. Entonces, ¿por qué no controlar la pantalla táctil como un Arduino y así matar dos pájaros de un tiro? Eso es precisamente lo que hacemos aquí. Una pantalla táctil resistiva, básicamente, sólo son dos potenciómetros X e Y, cuyas posiciones de los cursores son determinadas por 24

controla una pantalla táctil. En un momento dado son salidas configuradas para aplicar una tensión sobre el potenciómetro y, un momento después, son entradas analógicas configuradas para medir una tensión. Para controlar una pantalla táctil resistiva con solamente cuatro puertos, hacen falta pues puertos reconfigurables. Sobre el Sceptre, para controlar una pantalla táctil, se ha previsto utilizar los puertos P0.13, P0.15, P0.21 y P0.22 (que también ofrecen los converso-

Personal Download for I © Elektor

en total. Luego, hemos construido un cuadro con las correspondencias entre los terminales y sus funciones posibles, lo que nos permite saber si un cierto terminal (pin) es utilizable para una cierta función. Por ejemplo, el PIN4 es utilizable como entrada digital, salida digital, salida analógica (¡una verdadera!) y entrada analógica. Ahora, en el programa, es posible declarar una salida digital con pinMode (PIN37, OUTPUT) y, si PIN37 puede realizar ese papel, será una salida digi7/8-2011

elektor

63414

pinMode(PIN2,INPUT); pinMode(PIN1,OUTPUT); pinMode(PIN29,OUTPUT); digitalWrite(PIN29,HIGH); digitalWrite(PIN1,LOW); valeur = analogRead (PIN33);

// // // // // //

Y0 entrada digital X0 salida digital X1 salida digital X1 a nivel alto X0 a nivel bajo Leer la tensión en el “curseur “ Y1

tal. A continuación, la función d ig it alWrite (PIN37, HIGH) permite poner un nivel alto en PIN37, mientras que la función digitalWrite (PIN37, LOW) le aplica un nivel bajo. Para la parte analógica, como en Arduino, un terminal se convierte en entrada (salida) analógica (si es posible, por supuesto) en cuanto se la va a leer (o escribir). Controlar ahora la pantalla táctil es sencillo. Después, repita estas instrucciones pero permutando PIN1 con PIN2 y PIN29 con PIN33, para obtener la otra parte de la coordenada.

Hay que señalar incluso leyendo solo una única entrada analógica (Y1), el otro terminal del potenciómetro (Y0) debe estar desconectado la pantalla para no influenciar en la medida. Por este motivo se ha declarado como entrada digital. Las salidas analógicas para el Arduino, es decir, las salidas MLI de 490 Hz, también han sido implementadas. Para comunicarse con un ordenador como Arduino, disponemos de las funciones S e ri a l _ b e g i n , S e ri a l _ w rit e y

Serial _ write _ int. La diferencia de anotación con relación a Arduino es debida al hecho de que la biblioteca Arduino para el Sceptre está programada en C y no en C ++. Para simular un sketch Arduino, se hace primero llamada a la función setu p, desde main, después main llamará periódicamente a la función loop desde un bucle sin fin. Inspeccionaremos el fichero sketch.c [1] para ver cómo de próximo está el resultado de un verdadero sketch Arduino. Los códigos fuentes (app _ touchpad) y la biblioteca sceptre actualizada están disponibles en [1]. (100609)

Enlaces en internet [1] www.elektor.es/100609

Convertidor DC/DC con el LT1376 D3

SS25 C1

JP1

3 2 1

100n

1

F1

2

VIN

BOOST

VSW

IC1

1A

BIAS 5

Albert Bitzer (Alemania)

elektor 7/8-2011

VC

6

8

FB

C8

C3

C2

100u 40V

100n

100n

K1

L1

2

22uH

1

4 7

R2

+5V

D1

5k R3

D2

C5

R1

C4

3k3

1k

Si estamos en contra de tener que utilizar disipadores, lo mejor es servirnos un regulador con tensión de salida ajustable. El convertidor que presentamos aquí admite tensiones de entrada de 7,5 V a 25 V y suministra una corriente de salida de hasta 1,5 A. En su tensión de salida mínima de 3,3 V también funciona con hasta 5 V en la entrada. El circuito se ha realizado con el integrado LT1376 y se basa principalmente en el ejemplo de aplicación típico de la hoja de datos de Linear Technology [1]. El valor mínimo y la corriente máxima que soporta la bobina de choque L1 determinan la corriente de salida máxima necesaria. Hasta 0,6 A basta que sea de 5 μH, hasta 1 A debería ser como mínimo de 10 μH, y para una corriente máxima de 1,5 A son necesarios por lo menos 20 μH. En el circuito, L1 se ha dimensionado con 22 μH. La tensión de salida máxima posible depende de la que dispongamos a la entrada, y de esta depende la corriente de salida, que puede consultarse en el datasheet. El margen de

LT1376 SHDN GND

3

SS25

470u 25V

100n 110286 - 11

ajuste de P1 en cada caso es suficientemente amplio como para poder fijarla entre 3,3 V y 14,5 V. Con los valores dados en el circuito se obtienen los siguientes valores típicos: UIN

UOUT

IOUT (max.)

5 V

3,3 V

1,5 A

8 – 10 V

5 V

1,4 A

12 – 18 V

10 V

1,3 A

La corriente de salida máxima también depende de la calidad de la bobina L1 y del condensador electrolítico C5. Aparte de la inductancia L1 también hay que tener en cuenta su valor en corriente continua, así como el de su resistencia. La corriente

Personal Download for I © Elektor

de carga ha de ser al menos el doble que la deseada a la salida y la resistencia en corriente continua lo más baja posible. El condensador electrolítico ha de tener una baja ESR. Para el montaje del circuito el autor ha diseñado una pequeña tarjeta cuyas medidas son 31 mm x 52 mm, la cual permite colocar incluso un portafusibles. Tanto el diseño de la placa como el archivo del esquema pueden descargarse gratuitamente [2] en formato Eagle. (110286)

[1] www.linear.com/product/LT1376 (Hoja de datos) [2] www.elektor.es/110286 (Descargas) 25

63414

Luz de bicicleta con 24 LED y cero-IC Ian Field (Reino Unido) +1V5

12T 0.5mm

Ø 17.76mm

Ø 9.16mm

R1 12T 0.5mm

BT1 1V5

470R FLASH RATE

26

C1

D1

P1 T1

1N4007

DI1

35V 47u

DB3 BD433

110164 - 11

adecuadamente. La parte que, con la mayor probabilidad, podía causar dificultad es el núcleo toroide de ferrita. El usado aquí tiene un diámetro interior y externo de 9,16 mm y 17,76 mm, respectivamente, y un grosor de 6,63 mm. Fue recuperado de una placa madre de ordenador. Pregunte en la tienda de ordenadores más próxima por una vieja placa madre que no funcione, para recuperar componentes. Eléctricamente, el circuito ha sido hecho tan sencillo como ha sido posible - un oscilador de bloqueo estándar. ¡El problema es que tenemos que bobinar 60 vueltas del cable muy delgado en un toroide! El hilo para bobinar fue recuperado de un adaptador de tensión de 6 voltios. Realizaremos primero el bobinado de las doce primeras vueltas (con hilo de 0,5 mm/AWG24). El bobinado de las 60 vueltas es más fácil si bobinamos la mitad en un sentido y la otra mitad en el otro. Así que, cortaremos, aproximadamente, un metro del hilo fino (de 0,1 mm/AWG38) y lo pasamos por el toroide, luego sostenemos los dos extremos y dejamos que el peso del núcleo

60T 0.11mm

h = 6.63mm

180R

Las luces de pulsos de LED para ciclistas son muy atractivas y mucho más visibles que la luz estándar, por lo que decidí hacer una provisión del resto de elementos que no tenía. El objetivo era usar solo componentes usados y/o reciclados baratos. Con un precio de unos 6 €, el elemento más caro era la luz delantera de 24 LED, con imán y enganche retráctil. El diac DB3 podía ser menos fácil a encontrar: uno lo conseguí de una bombilla CFL de Philips de 18 vatios. No compre los modelos de menor potencia que podemos encontrar en los modelos de 8 W y 11 W de Philips ya que, normalmente, no tienen un diac DB3. El prototipo se construyó, al principio, con un transistor 2SD1266 que, después, fue sustituido por el BD433, más común. Se trata de un componente TO126, que debía ser enfriado

encuentre el punto medio del hilo. Sujetamos la primera mitad de hilo (por su punto medio) y bobinamos 30 vueltas (sujeta el otro extremo a una batería AA y déjalo colgar por un lado, de manera que no se mezcle con el extremo que estamos bobinando). Cuando hayamos bobinado 30 vueltas, liberamos el otro extremo y realizamos las otras 30 vueltas hasta hacer un total de 60. Para el bobinado del colector y de la base, la manera más fácil de evitar que estén en fase ambos bobinados es hacer las 12 primeras vueltas y, después, hacer un lazo y enroscarlo fuertemente hacia atrás, al núcleo, antes de hacer el segundo bloque de 12 vueltas. La toma central es la conexión de +1,5 V de alimentación y, como los dos bobinados son idénticos, cualquier extremo puede ser conectado a la base o al colector (ya que sólo deja en fase al secundario). Si el circuito sólo parpadea unas pocas veces por minuto, invertiremos los terminales y nuestra luz de bicicleta ya debe parpadear de forma normal. También podemos girar el potenciómetro de 470 Ω hasta que el parpadeo sea lo suficientemente rápido. La resistencia de 180 Ω debe proteger el transistor de una corriente excesivamente baja. En el lado del secundario, los pulsos son rectificados por un diodo UF4007 para cargar un condensador electrolítico. Cada vez la tensión del condensador alcanza, aproximadamente,

Personal Download for I © Elektor

24 x LED

32 V, el diac dispara y “vuelca” la carga en los 24 LEDs conectados en paralelo. El diac DB3 lleva los pulsos de 2 A, que son suficientes para controlar los LEDs. El condensador electrolítico de 47 µF fue seleccionado de modo empírico para un buen pulso de destello. Aumentando este valor hasta los 100 µF conseguiríamos unos pulsos realmente intensos pero, ¡por cuánto tiempo! Como una idea posterior, mientras la luz de pulsos es muy visible a otros usuarios de la carretera en zonas bien iluminadas, no es tan buena para ver realmente por donde vamos en vías para bicicletas, lejos de las carreteras y farolas de la calle. La solución obvia es un segundo potenciómetro para la velocidad de destello y un interruptor de conmutación. Así, la unidad puede ser ajustada a una velocidad de destello que no esté lejos de la persistencia de visión. Un interruptor que nos permita cambiar a la velocidad de destello máxima hará más fácil circular, incluso en una vía para bicicletas con oscuridad total. Junto con el recordatorio habitual sobre el tipo de homologación y las leyes de circulación de algunos países, los lectores deben ser advertidos de que la velocidad de destello más rápida puede irritar (¡hasta confundir!) a los otros conductores y sólo debería ser usada en áreas no iluminadas, lejos de la carretera. También merece la pena indicar que la velocidad de destello máxima supone un mayor desgaste sobre los componentes, especialmente en la batería. (110164)

7/8-2011

elektor

63414

toda prot

ección es

poca...

Interfaces salida a relé, mosfet, triac

Interfaces optocoplados con aislamiento eléctrico entrada - salida. Permiten señales de control por niveles TTL o CMOS. (Entrada de 3 a 24 V. D.C.). Según modelo con salidas mediante relés, transistores Mosfet o Triacs.

Personal Download for I © Elektor

más ás información en www.cebek.com

[email protected]

63414

Reconstrucción del principio del tren de levitación magnética G. van Zeijts (Holanda)

28

ejemplo, el STA401A, el STA405A, el MP4101 y el MP4105. Como estos Darlington 4 en 1 requieren pocos componentes adicionales, es fácil trabajar con ellos. Pero sin duda también servirán los estándares Darlington. Todas las bobinas utilizadas (bobinas de relés potentes) tienen una resistencia de 12 ohmios y se utilizan con una tensión de 12 voltios continua. Los LED de indicación funcionan a una tensión de 5V con una resistencia en serie de 270 ohmios y se iluminan en el momento que se acciona la bobina correspondiente. El programa está escrito en Visual Basic 5 y funciona perfectamente bajo Windows XP. Se puede descargar de forma gratuita a tra-

vés de [2]. El firmware se ha provisto de la cantidad máxima de documentación. Con un sencillo interfaz se controlan las bobinas a través del puerto paralelo. Hay que añadir el módulo INPOUTV4.bas al proyecto. Este módulo permite utilizar el puerto paralelo en Windows XP para el control externo desde Visual Basic. Hay que colocar el fichero Inpout32.dll en la carpeta C:\Windows\System32. En el momento de iniciarse el programa muestra dos partes: •  ‘ For Operation’ Para el uso normal. Da la opción de elegir con qué cantidad de bobinas quieres trabajar.

12VDC 5VDC

R2

D1

L4

D2

D7

270R

270R

270R L1

R10

R8

LPT L5

D8

D4

D9

LPT

LPT

R7

2

1k5

R4

3

4

MP4101

5

6

7

1k5

R1 1k5

Cualquier técnico se preguntará cómo funciona el tren de levitación magnética [1] cuando lea un artículo sobre él. Entonces llegará a descubrir que es una construcción bastante ingeniosa, que consta de muchos imanes y bobinas y un circuito inteligente para que el tren se eleve y se mueva. Sin embargo, el principio fundamental es muy sencillo y consta de bobinas que atraen o repelen metal u otra bobina y para eso desplazan alguna cosa. Me parecía interesante reconstruir este principio. Para la construcción mecánica se ha doblado en redondo un tubo tranparente de nylon (diámetro interno 10 mm) puesto en forma ovalada con una conexión sin apenas junta. Esta forma ovalada tiene una parte colocada hasta un máximo de 30 mm más alta que la otra parte. En el tubo hay una bola con un diámetro de 8 mm, que procede de un rodamiento. En la parte inferior, casi por debajo de todo, se ha colocado la ‘bobina de arranque’ (Holding coil) y muy próxima a ésta las bobinas L1...L5 en sucesión. Antes de arrancar, se acciona la bobina de arranque para ‘capturar’ la bola, obteniendo así una posición de arranque bien reproducible. La bobina de arranque se desactiva en el momento que la bola se queda inmóvil y se acciona L1, para que se mueva rápidamente hacia L1. Después se accionan brevemente las bobinas L2...L5 en los momentos adecuados, por lo que la bola obtiene cada vez más velocidad y rueda por toda la forma ovalada. La temporización del encendido y apagado de las bobinas determina el resultado. El desafío de todo el conjunto fue la correcta temporización de los accionamientos de las bobinas. El esquema de la electrónica de control y el interfaz es muy sencillo y consta de un transistor NPN Darlington a cada paso entre el puerto paralelo del PC y la bobina. En mi construcción he utilizado una versión de transistor donde hay cuatro transistores Darlington ubicados en un único encapsulado, en este caso en el número de modelo MP4101. Este ‘transistor de potencia 4 en 1’ aparecía frecuentemente en impresoras matriciales (a todo esto anticuadas), tal y como se tiraban y siguen tirandose en los puntos limpios. Conocidos modelos ‘4 en 1’ son, por

8

9

2

4x NPN Darlington

1

Personal Download for I © Elektor

10

3

4

MP4101

5

6

7

8

9

4x NPN Darlington

1

10 100336 - 11

7/8-2011

elektor

63414

•  ‘ For Adjustments’ Con eso puedes averiguar la temporización de forma empírica, dependiendo de la velocidad del ordenador utilizado y la construcción del tren. Hay que determinar cuándo debe accionarse cada bobina. En ese mismo momento se desactiva la bobina anterior. Esta temporización se realiza en el programa ‘simplemente contando’. Por supuesto que se podía haber hecho también con temporizadores. En ambos casos Windows XP perturba que la

temporización permanezca constante, porque Windows tiene la característica de reservar tiempo para hacer otras cosas (como es el control del interfaz del teclado) durante la ejecución de un programa de usuario. Visual Basic con el módulo Ports.bas y Ports.dll disponía en Windows 95/98 del comando RealTime True/False, para evitar que esto ocurriese durante la ejecución de un programa de usuario. Con esto era mucho más fácil obtener una buena temporización, ya que se impedía que Windows hiciera cosas pro-

pias. Por desgracia, esto ya no es posible en Windows XP, porque el usuario puede acceder cada vez menos a los puertos de forma directa... (100336)

Weblink: [1] http://es.wikipedia.org/wiki/ Tren_de_levitación_magnética [2] www.elektor.es/100336

Mini-Placa de experimentación para ATtiny45 Claude Frayssinet, F6HYT (Francia)

elektor 7/8-2011

VCC

IC2 78L05

S1

D1

1N4007

BT1

R1

1V5

K3

680R

1V5 1V5

LED1

D2

C1

C2

1N4007

220n

220n

8V...12V

K1

C3

IC1

* 1

7

18p

3

*

6

18p

4

*

5

J1

DIL8

*

*

8

2

VCC

K2

22n

*

VCC PROG

K4

*

R2 P1

10k

680R

Esta pequeña maqueta de desarrollo, muy simple, ha sido diseñada para hacer pruebas en los microcontroladores AVR de 8 terminales de la casa Atmel. Todo circuito de ocho terminales, alimentado por los terminales 8 (+5 V) y 4 (0 V), puede ser usado, verificando, por supuesto, que los terminales de programación son idénticos a los del ATtiny45, para el que ha sido realizada esta maqueta. Los ocho terminales del circuito han sido sacados sobre dos filas de “espadines” y sobre dos clemas de tornillo (K1 y K2), con un paso de 5,08 mm. Hay tres modos posibles de alimentar la placa: por una alimentación externa de 8 a 12 V (15 V), a través de un conector de alimentación estándar; por una alimentación de 5 V, por la conexión SPI (ISP) del programador (si el puente está presente); o por tres pilas de 1,5 V, a través de un interruptor. Sin la presencia de pilas, hay un espacio disponible para realización de prototipos. El LED indica la presencia de la tensión de alimentación. Para los experimentos hay tres herramientas presentes en la placa. Primero una sonda lógica sencilla, con un LED y su resistencia de limitación de corriente; a continuación, una resistencia ajustable entre Vcc y masa, que permite tener una tensión variable para los convertidores A/D y, por último, un pulsador que, al pulsarlo, dará un cero lógico. El conector ISP K4 en el esquema tiene seis contactos, en su placa del autor ha utilizado uno del tipo HE10 de diez contactos, normalizado para la programación de los programas en el microcontrolador. Está previsto el uso de dos condensadores SMD de 18 pF para un oscilador de cuarzo. No

SPI S2

LED2

110034 - 11

afectan al funcionamiento del circuito si no se monta el cristal. Su conexión, poco ortodoxa (uno a masa y el otro a +5 V), ha permitido simplificar un poco el diseño de la placa. Los diodos 1N4007 pueden ser, bien de taladro pasante o bien SMD, así como las resistencias y ciertos condensadores de desacoplo. Una impresión de la serigrafía sobre papel adhesivo transparente, con una impresora

Personal Download for I © Elektor

de chorro de tinta, da un acabado muy limpio y, al mismo tiempo, extremadamente resistente. El dibujo de la placa, la serigrafía y las fotos están disponibles en [1]. (110034)

Enlaces en Internet [1] www.elektor.es/110034 29

63414

Detector láser de altura Cyriel Mabilde (B)

IC1, IC2 = TLC274CD

14

D1

IC2

11

11

C11 220n

R7 100k

R4

R16

1M

D3

C1 220n

*

6 2 3

IC1.A

1

C4 220n

5

D5

IC1.B

7

3 2 8 12 6

R5 100k

D4

R6

CX

VDD

AST RST OSC

RCC RX

Q

IC3 CD4047

+T

Q

RET –T

AST

VSS

+4V5

4 9

T1

13

R20 100k

10

11

10

5

9

R17

1M

220n

*

6

3

IC2.A

1

220n

5

+4V5

IC2.B

7

D13

3 2 8 12

R10

CX

VDD

AST RST OSC

RCC RX

Q

IC4

R24

220n

9 13

R21 100k

10

R19

CD4047 +T

Q

RET –T

4

AST

VSS

LEVEL OK

220R

1

T2

C14

14

6 R9

8

T3

100k

220n

R11 100k

R8

C6

IC2.C

+4V5

C12

2

R23

+4V5

220n

C2

D12 MOVE UP

7

C5 TOP SENSORS

BZ1

14 1

3k3

D2

SENSOR

1

IC1

+4V5

1M

MIDDLE D6

0V

4

100k

0V

100u 16V

4

R1

1M

+VCC

+4V5 C10

R2

+VCC

+VBATT

220R

+4V5

11 5

7

3k3

Por varias decenas de euros puedes comprarte un láser giratorio, que resulta muy útil para colocar objetos a la misma altura en un espacio o en un jardín. Para distancias más largas y uso exterior, un láser giratorio no es generalmente muy visible, entonces el detector de láser aquí descrito puede prestar un buen servicio. El detector funciona perfectamente hasta una distancia de 50 metros y contiene exclusivamente compontes estándar. Puedes colocar el instrumento (en forma de caja) encima del objeto (por ejemplo, un poste o una viga) e indicar mediante tres LED y un zumbador si hay que colocar el objeto más alto o más bajo.

C7

+4V5

1/

CD4044 Quad RS-Latch 4

C13

D7 D8

R18

1M

15 220n

R15 100k

R12

D9

R-mono

110284 - 12

D10

220n

13 9 10

IC1.C

8

C8 220n

R3

Se han utilizado LED con encapsulado transparente como sensores y con una lente incorporada (parte superior abobada). Las zonas de detección superior e inferior utilizan cada una cinco LED y dos operacionales (IC1.A/B y IC1.C/D) que controlan los LED ‘Move-up’ y ‘Move-down’ respectivamente. El LED de detección del medio controla igualmente el LED ‘OK’ a través de dos operacionales (IC2.A/B). Los flancos positivos de los operacionales disparan tres monoestables aparte del tipo CD4047. Si quieres, puedes sustituirlos por el circuito dibujado dentro de la línea discontinua (1/4 de un latch RS cuádruple CD4044; en este caso las señales de salida

12

IC1.D

14

*

3 2 8 12 6

R13 100k

D11

C3

1M

R14 3k3

+VCC

220n

14 1

CX

VDD

AST RST OSC

RCC RX

IC5

Q

CD4047 +T

Q

RET –T

VSS

AST

+4V5

4 9

T4

13

R22 100k

10

BS170

13

D14

R25

12

11 5

MOVE DOWN

220R

220n BOTTOM SENSORS

IC2.D

14

7

C9 220n

T1...T4 = BS170 D

S G

son invertidas y hay que sustituir los MOSFET tipo N BS170 por unos del tipo P). El tiempo del monoestable se tiene que elegir de tal forma que sea más largo que las revoluciones del láser (por ejemplo, con dos revoluciones el tiempo el monoestable tiene que ser más de 500 ms, para que así el zumbador suene continuamente). La mayoría de los láseres tienen el número de revoluciones regulable, de modo que también lo debes poder utili-

110284 - 11

zar. Para los tiempos inferiores y superiores del monoestable optamos por un zumbido largo y corto respectivamente que se diferencia claramente en duración (t = 2,48·RC). Los tres MOSFET T1, T2 y T4 están configurados como puerto OR para controlar el zumbador común. El cuarto MOSFET T3 controla el LED OK. Se puede alimentar todo el circuito con un portapilas de tres pilas tipo AA. (110284)

Filtrado para relés de 12 V Jürgen Okroy (Alemania) Cuando queremos analizar el flanco de subida en una señal que conmuta (por ejemplo en un 30

relé de 12 V) para darle utilidad en un sistema lógico, no siempre es del todo posible. Los sistemas lógicos exigen unas características

Personal Download for I © Elektor

determinadas a las señales de control, y los filtrados de los flip-flop RS utilizados comúnmente no garantizan una seguridad absoluta 7/8-2011

elektor

63414

+12V...+15V

S1 R3

1k1

3k3

R1

4 6 THR OUT

C2 1u

IC1

7

DIS

NE555

T1

R4 5k6

BC557

2 TR R2

5

1

56k

5k6

*

C1

R5 7V5

+5V

R7 330R

D1

CV

R6

D2

5k6

3

8

R

5V0 100252 - 11

ante las perturbaciones. Si no disponemos de una tensión adicional a 5 V, lo ideal para mejorar la señal es servirnos de un timer integrado 555. El circuito mostrado retiene el primer pico del f lanco de subida de una señal

durante unos pocos milisegundos, dependiendo del valor del condensador C1. Así, el margen que resulta crítico permanece ajeno a las perturbaciones. Con un valor de C1 = 1 μF este lapso es de aproximadamente 2 ms y con 2,2  μF de unos 4 ms.

Es más, al devolver la señal a 0 V también mejora la pendiente en el flanco de bajada, con lo que la forma de ésta es casi perfectamente rectangular. (100252)

Semáforo para modelismo Michael Gaus (Alemania) Quien quiera dar una apariencia más real a las calles en su maqueta, aquí encontrará el circuito para controlar los semáforos debidamente. Con escasos componentes, es capaz de regular y conmutar de forma realista dos de ellos. Cada semáforo consta de tres LEDs (rojo, amarillo y verde), cuyos ánodos están conectados en común. Los semáforos podemos diseñarlos por nuestra cuenta o comprarlos ya montados [1]. Un microcontrolador AVR del tipo ATtiny13 se encarga de las respectivas fases. Ya que el software se encarga de los semáforos uno después tras otro (multiplexando), a este circuito le basta con tres resistencias en serie para los LEDs y cinco entradas del microcontrolador. Los semáforos pueden funcionar en dos modos distintos. Si se cierra el jumper JP1, el semáforo incluirá una fase rojo-ámbar, como ocurre por ejemplo en Alemania o el Reino Unido. Si JP1 está abierto, esta fase se omite y el semáforo pasará directamente de rojo elektor 7/8-2011

+5V D1

1

(+4V5)

C1 D2 100n

R1

IC1

270R

D3

R2 270R D4 R3 270R

D5

5 6 7 2 3

8 VCC

PB0/PCINT0/AIN0/OC0A/MOSI PB1/PCINT1/AIN1/OC0B/INT0/MISO PB2/PCINT2/SCK/ADC1/T0 PB3/PCINT3/CLKI/ADC3 PB4/PCINT4/ADC2 PB5/PCINT5/RST/ADC0/DW

JP1

GND D6

4

1

ATTINY13

2

MODE 110203 - 11

de interrupciones salta cada 5 ms alternativamente para cada semáforo, y según el esquema de color actual correspondiente. Los bits de fusible que vienen configurados de fábrica en el ATtiny13 son aptos para este circuito, de modo que no tendremos que reconfigurarlos. El software para el microcontrolador puede descargarse en [2]. El código fuente se ha generado con la versión de evaluación del compilador de C CodeVision AVR, el cual es gratuito para uso privado y sin propósitos comerciales. El tamaño del código está limitado a 4 KB, pero es más que suficiente para esta aplicación [3]. (110203)

a verde (al igual que en España o EEUU, por ejemplo). Así pueden realizarse dos sucesiones de colores diferentes. Como reloj se utiliza el oscilador interno del ATtiny13 con un pre-divisor de 8, con lo que obtenemos una frecuencia de 1,2 MHz. El multiplexado se controla por la parte del software mediante un temporizador, cuya rutina

Personal Download for I © Elektor

Enlaces [1] www.conrad.de/ce/de/product/210630/ [2] www.elektor.es/110203 [3] www.hpinfotech.ro/html/download.htm 31

63414

Anticongelante para conducto de agua socarex

D3

1N4148 R1

R4

R5 15k

R3

R2

2 /m T1

4 1 3 C1 1u

D4

+5V HYST

IC1 LT1172

OUT

5

R6 1k

VTEMP

GND 2

5V1 T2

D2

1N4148

con tan sólo alimentarla con una tensión de seguridad (menos de 50 VCA), sin peligro para nosotros ni para los animales. Tenemos pues P = V ² / R = R x I ² = 2 con P en W/m, R en Ω/m y V en V/m. Si L es la longitud total en metros, y como V TOTALE < 50 VAC, tenemos que R < 1250 / L² [Ω/m] y necesitaremos I > L / 25 [A]. Sabiendo que para 2 W/m, V = √ (2R) y que I = √ (2/R), sabemos calcular todo. 32

IRFR3607

IRFR3607

110189 - 11

Las resistencias R2 a R5 (SMD 1206) han sido previstas para soportar, en términos de disipación, el rango de tensión propuesto, garantizando 3 mA en el diodo zéner pero, si la tensión se reduce, su valor debe disminuir proporcionalmente. El terminal HYST del LM26 ha sido conectado a 5 V para seleccionar 2 °C de histéresis. El condensador C1 se ha elegido con un valor para cumplir con la CISS de

Personal Download for I © Elektor

los MOSFET, el cual debe ser suficiente para garantizar la carga sin pérdida significativa de tensión de rejilla (aquí, de 5 V). Sobre la placa [1], se ha extraído el sensor para evitar que los 0,6 W disipados por R2 a R5, así como la potencia disipada por los transistores, perturbe el funcionamiento del sensor. Los planos de cobre dan uniformidad a la temperatura alrededor del sensor. La placa será recubierta con cuatro capas de barniz transparente para darle un aislamiento medioambiental importante, ya que será montada en el exterior. La cinta también debe ser preparada, lo que, tal vez, sea la fase más fastidiosa. Generalmente, la instalación necesitará un conductor para el retorno de la corriente; a menos que no decidamos doblar la potencia realizando la ida y la vuelta con la cinta, o de reducir la corriente en un factor √2. Por otra parte, habrá que descoser los extremos de la cinta para realizar las conexiones sin errores. La cinta utilizada tiene 2 cm de ancho, para dar fuerza al hilo de retorno, así como para aislar completamente la cinta en el paso por los codos y las “T” metálicas con, por ejemplo, cinta adhesiva de 5 cm de ancho y disponible en todas las tiendas de bricolaje. Lo más costoso: la ganancia de temperatura. El soldador, los terminales para cable y los racores es lo que necesitamos para finalizar el conexionado. A continuación, aún falta fijar la cinta al tubo. Si disponemos de abrevaderos automáticos, podemos pensar en hacer un lazo bajo el cuenco para calentarlo también, no debemos olvidarnos de colocar correctamente el “climatube”.

12V...48V

D1

15k

Las cintas para vallas eléctricas existen bajo diferentes calidades, formas y características. Generalmente están hechas por un entrelazado de hilos de polietileno, nailon u otra materia sintética, con varios conductores de hilo inoxidable, cobre u otro conductor de diámetro relativamente pequeño (de 1 a varias décimas de mm de diámetro). Para información, un hilo inoxidable largo de 1 m tiene una resistencia del orden de 23 Ω, para un diámetro de 0,2 mm y, por lo tanto, de 5,75 Ω para un diámetro de 0,4 mm. La resistencia lineal de una cinta puede variar, pues, desde algunos miliohmios a varios ohmios por metro, en función del número de conductores, sus diámetros y la naturaleza de los mismos. ¡Calmémonos, no tendremos que hacer cálculos!, sólo tendremos que medirlo, si no viene especificado por el fabricante. Ensayos rudimentarios muestran que una cinta de 2 Ω/m, recorrida por una corriente de 1 A, eleva cerca de 15 °C la temperatura dentro de un panel “climatube”. Así pues, teóricamente, para soportar desde los -15 °C, tendría que disipar 2 W/m en el “climatube”. Con lo que un simple transformador de 50 VA ya permite cubrir, con toda facilidad, 25 m de tubo socarex (polietileno, que es aislante). Como hemos elegido la resistencia lineal, podemos realizar una cinta calefactora de una longitud determinada,

15k

Piedra Vignisse (Francia)

Sin embargo, tendremos en cuenta el no utilizar una corriente susceptible de perturbar la medida de temperatura, ya que, un calentamiento demasiado importante de los transistores de control podría falsificar el funcionamiento del montaje. El ejemplo que sigue soporta 2 A sin problemas. La realización está basada en el uso, por una parte, de dos transistores de potencia MOSFET, del tipo IRFR3607 (R DS () de 9 m Ω, V DS (max) = 75 V) y, por otra parte, del LM26CIMHHD, un termostato que se activa a 0 °C (salida “push-pull”, histéresis de 2 °C, ultra bajo consumo de 40 µA máximo bajo 5 V, con encapsulado SOT223). Un diodo LED indicará la presencia de la tensión de alimentación, mientras que otro podría ser colocado en paralelo sobre la cinta.

15k

con cinta para valla eléctrica

Finalmente, colocaremos nuestra placa en el exterior, a una altura de unos 2 m y, preferentemente, en horizontal, para una mejor eficacia. Procediendo de este modo, el tubo será calentado antes de sea alcanzado por la helada. (110189)

Lazos internet [1] www.elektor.es/110189 7/8-2011

elektor

63414

b a = ) . . . (a+b+c ) . . . c + b b + + a + (a c = a + ) c + (a+b)+c = (b (Vo)

R= V/ I

R O J E M A R R A Z I SIN P

2 R 1+

R

Aprender electrónica mucho más fácil Mini-Laboratorios para programación Picaxe y para Electrónica Convencional. Herramientas completas con documentación y prácticas para un rendimiento óptimo y rápido de alumno y profesor. Cada mini-laboratorio permite experimentar y conocer en profundidad los distintos conceptos, sin montajes ni documentación adicional, aprovechando al máximo el factor tiempo disponible.

Programación Picaxe.

Electrónica Convencional.

EDU-020 Picaxe educacional Leds

EDU-001 EDU-002 EDU-003 EDU-004 EDU-005 EDU-006 EDU-007 EDU-008 EDU-009 EDU-010 EDU-011 EDU-012 EDU-013 EDU-014 EDU-015

EDU-021 Picaxe educacional Zumbador EDU-022 Picaxe educacional Motor EDU-023 Picaxe educacional Luz

Personal Download for I © Elektor www.cebek.com

[email protected] / 933.313.342

Educacional de Leds Educacional de Diodos y Zéners Educacional de las Resistencias Educacional de la Soldadura

“Caja de Resistencias” de Puentes Rectificadores del NPN y PNP de Displays led de Fuente de Alimentación del Relé electromecánico de Puertas Lógicas del Álgebra de Boole del 555 Monoestable del 555 Biestable del Comparador 741

Educacional Educacional Educacional Educacional Educacional Educacional Educacional Educacional Educacional Educacional

63414

Comprobador de baterías LCD1

150A 60mV

2

LM336

4

R10 10k

1% MF

1% MF

10R

R11

C4

C5

100n

470u

C2

S1

10u Tant.

C3

IC4

10u Tant.

R12

MCLR AN1 AN0 RA2

D7

D5

D4

D3

D6

RB8

RB6

RB5

RB4

RB3

RB2

RB1

RB0

17 21 22 23 24 25 26 27 28

VDD

IC6 PIC16F873

VSS VSS

9

20 8 19

10 R14 X1

4MHz 110154 - 11

79L05

1k

8 7

33k

R13

6 2

4 R

-5V

DIS

IC5 ICM7555 THR

OUT

TR

C7

3

C6 100u

CV 1

1n

5 C8

D1

2x BAT85 D2

10n

Dieter Kohtz (Alemania) El circuito aquí presentado comprueba la corriente de carga y descarga de una batería, supervisando de este modo su estado. Según los valores de corriente obtenidos en función del tiempo se muestra el consumo correspondiente. Ciertamente, la medida de la tensión de la batería no es necesaria para saber el estado de la carga, pero aparece como un producto derivado de ella. La corriente fluye desde o hacia la batería en el circuito a través de una resistencia de shunt de 0,4 mΩ. La batería a monitorizar alimenta también al circuito de medida. Ya que el operacional TLC271 en esta aplicación se ha conectado como amplificador diferencial, necesita alimentación dual, mediante el timer CMOS ICM7555 conectado como oscilador se ha diseñado una llamada bomba de diodos. La alimentación dual del operacional de ±5 V se 34

1 3

39k

R9

IC3 6

4

D2

+5V

OSC2

8

10 11 12 13 14

270R

5

TLC271

3

1% MF

7

9

OSC1

R8 1% MF 1k6

8

10k

18

IC2

7

P1

1% MF

RC7

2

1k6

RShunt

1

6

R4

50k R7

D1

5

E

4

D0

R/W

3

10k

R3

2

RC6

1% MF

P2

R2

10k

R1

150k

10u Tant.

10k

BT1

G1

R5

39k 1% MF

24k

R6 C1

1

RS

+5V

7805

VDD

+5V

IC1

VO

+12V

VSS

LC Display 1 x 16

C9

C10

1000u

100n

hace mediante reguladores de tensión fijos. Los 5 V positivos también alimentan el resto del circuito incluyendo el LCD. El amplificador de instrumentación para la corriente se utiliza para llevar a cabo el siguiente proceso: una corriente de entre +150 A y -150 A produce en el shunt una caída de tensión de entre +60 mV y -60 mV. Para adaptarlos al conversor A/D interno (ADC) de 10 bits del microcontrolador hemos de ajustar la ganancia de modo que ±150 A correspondan en el ADC a ±300 bits. Según la referencia de tensión de 5,00 V esto corresponde a ±1,466 V. Así, la ganancia necesaria que se obtiene es de 1466/ 60 = 24,43, que puede conseguirse fácilmente con resistencias de película metálica. La referencia en tensión conectada en el operacional junto con el LM336 acaba resultando en una tensión de salida de la mitad de dicha referencia = 2,5 V.

Personal Download for I © Elektor

Pueden obtenerse variaciones en torno a este valor ajustando el balance de offset del operacional. Para registrar la tensión de la batería, cuyo valor nominal ronda los 12 V, se ha añadido un divisor de tensión al segundo ADC, que con una tensión de 15 V genera 4,888 V, lo cual corresponde a 1000 bits en el ADC. Este divisor también puede hacerse con resistencias de película metálica fácilmente. Los resultados de la medida se muestran en un LCD de una línea. C o m o m i c r o co n t r o la d o r s e u t i l i z a u n PIC16F873A, cuyo firmware realiza las siguientes tareas: 1. Medir la tensión y corriente en intervalos regulares. 2. Sumar los valores de la energía según el tiempo, con el fin de determinar el consumo. 7/8-2011

elektor

63414

3. Guardar los resultados obtenidos del consumo en la EEPROM interna. 4. Representación opcional de la corriente, tensión y el consumo. La parte principal del programa codificado en ensamblador consta de cuatro bucles de 45 ms, 225 ms, 1125 ms y 72 s de duración. Dentro del bucle controlado por TMR0 de 45 ms no ocurre nada; únicamente transcurre ese tiempo exacto. Tras cada 225 ms se activa un botón. El propósito de éste es el muestreo cíclico de la representación del consumo combinando los resultados de corriente y tensión. En el tercer bucle, o sea, cada 1125 ms, se mide la corriente y la tensión. En cada llamada se inicia la conversión A/D para poder mostrar los resultados obtenidos. Cada valor de medida de la corriente junto con su signo se almacena en una memoria. El bucle de 1125 ms se ejecuta 64 veces, de modo que cada 72 segundos

tenemos almacenada la suma de 64 medidas de corriente. Tras 72 segundos se calcula la media de la corriente dividiendo la suma entre 64. Este intervalo de 72 segundos se ha establecido por la siguiente razón: la tarea principal del circuito es integrar la corriente en función del tiempo. En un sistema digital esto no puede hacerse de forma continua, sino que se necesitan intervalos de tiempo. En la medida de la corriente 1 bit corresponde a 0,5 A. Si los valores medios de la corriente se suman en intervalos de tiempo de 72 s = 0,02 h, obtenemos una equivalencia para el consumo de 1 bit = 0,01 Ah. El programa considera el hecho de que en el proceso de carga la corriente no está a plena capacidad, con lo que dicha corriente de carga si es positiva se multiplica por un factor de 0,7. El prototipo del circuito se ha montado sobre una tarjeta perforada de tiras. Éste se calibra sin tener la batería conectada (o sea, que en

el shunt tenemos 0 V). En el modo de medida de la corriente en el display la ponemos a cero mediante el potenciómetro de offset P2. Así compensamos tanto el posible offset de IC2 como las variaciones en los 2,5 V de la tensión de referencia de IC3. Antes hemos de ajustar el contraste del display con P1. El software para el microcontrolador (tanto hexadecimal como en código fuente) puede descargarse gratuitamente de la web de Elektor [1]. Un último detalle importante: las primeras seis celdas de la EEPROM interna han de ponerse a cero al programar el PIC, pues el programa lee los valores del consumo desde la EEPROM inmediatamente después de conectar la tensión de alimentación. (110154)

[1] www.elektor.es/110154 (descarga del software)

Mini-intermitente Frank de Leuw (Alemania)

elektor 7/8-2011

D1 R1

R1 22k

D1

1M

Este intermitente de LEDs consta únicamente de cinco componentes y es apto para personas que quieren introducirse en la electrónica. Además, su funcionamiento puede comprenderse fácilmente: Tras conectar la pila de 9 V se carga el condensador C1 mediante la resistencia de 1 MΩ R1. El condensador está conectado directamente con el emisor del transistor PNP (BC557). La base de este transistor está conectada mediante el LED con la tensión de la pila de 9 V, y debido a la caída en el LED, su tensión es menor que la de la pila. Con un LED rojo, esta caída de tensión (la llamada tensión de flujo en el sentido de conducción del diodo) es de aproximadamente 1,6 V, la tensión en la base será entonces: 9 V – 1,6 V = 7,4 V. Si ahora la tensión en el condensador supera la de base-emisor del transistor PNP, aparecerá una pequeña corriente y éste empezará a conducir, con lo que finalmente circulará corriente del emisor al colector. Ya que el colector del transistor PNP está conectado con la base del segundo transistor (del tipo NPN), en este aparece también una (pequeña) corriente de base, comenzando a conducir. El colector del transistor NPN está conectado

LS1

BT1

BT1 T1

BC557

C1 1u

T1

9V

BC557

T2

C1

BC547 110213 - 11

a su vez directamente con la base del PNP. Ambos transistores se regulan entre sí, con lo que pasan rápidamente a controlarse mutuamente. A esto se le conoce como efecto avalancha o de tiristor. Ambos transistores en conducción cortocircuitan el condensador descargándolo casi por completo. Además, el transistor NPN en este tiempo permite circular una corriente (relativamente alta) a través del LED, con lo que brilla brevemente.

Personal Download for I © Elektor

100n

9V

T2

BC547 110213 - 12

Si el condensador está descargado, los transistores entran en corte nuevamente, con lo que el proceso se repite otra vez. Con el dimensionamiento dado (C1 = 1 µF, R1 = 1 MΩ) el LED parpadea brevemente cada 2 segundos, más o menos. El circuito empieza a parpadear aproximadamente a partir de los 2 V, y su consumo es tan reducido que el circuito puede funcionar durante más de un mes con una pila de 9 V. También pueden utilizarse pilas de 9 V viejas, casi ya descargadas, para utili35

63414

zar este parpadeo durante largo tiempo. El intermitente de LEDs puede modificarse fácilmente para obtener un metrónomo o generador de tonos, conectando, como se muestra en el esquema del circuito, un pequeño altavoz de 8 Ω en serie con el

LED. Si el altavoz chisporrotea o silva, eso depende de los valores del condensador C1 y la resistencia R1. Según el dimensionamiento dado anteriormente, el LED parpadea cada dos segundos, mientras que en el altavoz suenan crujidos.

Este crujido se convertirá en un silbido si utilizamos frecuencias de reloj más altas en el circuito. Para ello se necesitan valores pequeños en C1 y R1. En el segundo esquema del circuito se especifican 22 kΩ para R1 y 100 nF para C1. (110213)

Interruptor de red automático para segundas residencias

N

S

230V

Imán

S2 Interruptor Reed S1

Stefan Hoffmann (Alemania) Los aparatos conectados en una casa (de vacaciones) a la cual no se va mucho, o está vacía durante largas temporadas están consumiendo energía innecesariamente y pueden suponer un peligro de incendio. Casi todos nos conocemos eso de llevar conduciendo unos cuantos kilómetros y empezar a preguntarnos: ¿seguro que he apagado la cafetera? ¿y la luz? ¿y la cocina?

RE1

9V

12VDC, DPCO

110157 - 11

En las habitaciones de hotel suele haber un interruptor tras la puerta, que activa la corriente sólo tras insertar la tarjeta que sirve como llave de acceso (con un chip, banda magnética o código). Con el circuito aquí presentado ofrecemos algo parecido, de modo que pueda desconectarse la luz y otros aparatos cuando dejamos la vivienda. La solución es tremendamente simple:

230V

En el marco de la puerta principal se sitúa un interruptor de lengüeta, que mediante un imán se encuentra activo si la puerta está cerrada. Para activar la alimentación de la casa de vacaciones hará falta pulsar el botón S1 brevemente. El relé RE1 se activa y cierra el circuito de los aparatos conectados a 230 V en la vivienda. Mediante un segundo con-

tacto del relé y el interruptor de lengüeta cerrado, el relé permanece energizado incluso tras soltar el botón (circuito auto-mantenido). Una vez se abre la puerta, el interruptor de lengüeta también se abre desconectando el circuito auto-mantenido, con lo que el relé se desactiva. ¡Los aparatos se desconectarán automáticamente en el momento de abandonar la casa! El circuito ha sido diseñado ante todo para pequeñas casas de verano, con este principio puede ponerse en práctica perfectamente. La regla básica en todo montaje con tensión de red: ¡Atención, peligro de muerte! El montaje y conexión del circuito ha de ser llevada a cabo por un electricista cualificado bajo las medidas estipuladas en la normativa VDE. ¡Esto, naturalmente, significa también que el relé utilizado debe ser apto para trabajar a tensión de red y ha de estar debidamente dimensionado! (110157)

Sensor de efecto Hall experimental Burkhard Kainka (Alemania) Naturalmente los sensores de efecto Hall pueden comprarse, pero es mucho más interesante construir uno nosotros mismos. En teoría sólo basta con utilizar una lámina lo más fina posible, el largo y el ancho no importan. Podríamos probar con cobre, ya que es un material que laminado resulta fácil de tratar. Sin embargo, pensándolo bien no sería la mejor opción, ya que tiene una constante de 36

Hall muy pequeña. Pero actualmente existen imanes extremadamente fuertes, con lo que podemos lograr un sensor Hall también si trabajamos con cobre. Se trata de tener la mayor ganancia posible. La amplificación de la tensión en el circuito mostrado está determinada por la relación entre ambas resistencias de desacoplamiento del primer operacional. Según los valores dados (2M2 y 330 Ω) obtenemos una ganancia de factor

Personal Download for I © Elektor

6.667. Después está el circuito en puente para el medidor. El potenciómetro se utiliza para el ajuste fino. Gracias a él podemos fijar un punto de cero muy preciso y medir en el rango de los milivoltios, e incluso tener tensiones de Hall inferiores a un microvoltio. Finalmente, de esta manera puede medirse la densidad de flujo en un imán. El cobre tiene una constante de Hall de AH = -5,3·10 -11 m3/C. El grosor de la lámina de 7/8-2011

elektor

63414

cobre es d = 35 µm. Por lo tanto, la tensión de Hall equivale a: UH = AH·I·B/d

C2 100n

IC1 = LM358

R4 2M2 3

BT1

R3 R2 100k

C1 100n

2

330k

P1

5 1

IC1.A

6

8

IC1.B

7

4

M1

100k R5

V

330R

Para B = 1 T e I = 1 A obtenemos una tensión de Hall de U H = 1,5 µV. Con la ganancia total de 6.667 proporciona unos 10 mV. El circuito tiene una precisión de 10 mV por Tesla. Pero no resulta tan simple ajustar el punto de cero con P1. El amplificador tiene su propia alimentación gracias a una pila de 9 V (BT1). Para las mediciones, conectamos una fuente de laboratorio con corriente de salida ajustable (BT2) al sensor Hall (la lámina de cobre) y fijamos una corriente por el sensor de 1 A exacto. Ahora hemos de reajustar nuevamente el punto de cero. Finalmente, colocamos un imán de neodimio bajo el sensor. La tensión de salida del circuito pasará a ser ahora de unos cuantos milivoltios. Pero existen multitud de efectos paralelos que pueden alterar los resultados de la medida. Cada movimiento del imán genera una tensión inducida en los cables conductores, que ya es considerablemente mayor que la tensión de Hall. Tras mover el imán hemos de esperar un poco hasta que el valor de la medida se haya estabilizado otra vez. Aparte,

100k

R1

Superficie Cobre 1A BT2 110196 - 11

con tensiones de medida pequeñas aparecen problemas derivados de tensiones originadas por las diferencias de temperatura. Si es posi-

ble, hemos de intentar no mover ni siquiera el aire... (110196)

Sonda de desbloqueo para µC AVR

470R

3k

47k

mar nuestro microcontrolador IC1.A IC1.B IC1.C 500kHz Atmel es cuando ¡los proble3 4 5 6 1 2 1 1 1 mas comienzan! A menudo, el problema es debido a una mala R1 R2 C1 programación de los ‘fuses bits’. 220p Es aquí donde la sonda de des50V VCC bloqueo entra en acción… IC1 = 74HC04 Una vez hemos alimentado IC1.D el conjunto, basta con aplicar 9 8 K1 1 R3 la punta de contacto con una 1 2 mano sobre la entrada XTAL1 IC1.E 3 4 14 C2 C3 del microcontrolador y, a con11 10 5 6 1 IC1 8 tinuación, con la otra mano, la 100n 10u 7 D1 7 50V 16V 9 10 IC1.F programación del componente 13 12 con nuestro programa favo1 rito. Y ya lo tenemos, ¡nuestro 110374 - 11 microcontrolador salvado! La electrónica es de lo más simple, cuyo fin es una reproducción sencilla y accesible. Dicha electrónica consiste según la marca del circuito integrado, la freen un oscilador, que genera trenes de pulsos de cuencia de unos 500 kHz puede variar en torno unos 500 kHz, realizado con uno 74HC04. Este a los ±50 kHz. Esto no influye en nada en el funmontaje funciona también con un 74HC14 pero, cionamiento de la sonda.

P. Rondane (Francia) «AVR device not responding» (¡el dispositivgo AVR no responde!). Cuándo aparece este mensaje desalentador en el momento de prograelektor 7/8-2011

Personal Download for I © Elektor

37

63414

La placa de desbloqueo está conectada por un cable plano, acabado por dos conectores HE10/10 hembra. La distribución de terminales del conector HE10/10 es idéntica a la utilizada en la mayoría de los montajes pero, claro está, está adaptada a un conexionado HE10/06. El primer conector está unido a la placa a des-

El diseño de la placa (en Eagle) está disponible en [1].

bloquear, lo que permite alimentar la electrónica. El segundo conector está conectado al programador ISP (compatible STK200). El contacto, a nivel del cuarzo, se hace por una aguja, lo que asegura el contacto incluso a través de una placa barnizada. No es necesario desoldar el cuarzo para esta manipulación.

(110374)

Enlaces en Internet [1] www.elektor.es/110374

Dipmeter minimalista Burkhard Kainka (Alemania)

•  ¿ Un indicador para mostrar los dips? No hace falta, el osciloscopio puede encargarse de esta tarea. •  ¿Una gran escala de frecuencia? Tampoco es necesaria, podemos conectar un frecuencímetro. •  ¿Bobinas intercambiables? Por tercera vez, no hacen falta, pueden intercambiarse mediante un jumper.

L1

*

T3

T1

Osciloscopio

BF240

L2

BF240

BF240

R1

265p

C3

BF240

10uH C1

BT1

T4

C2

2k2

R2

100n

R3

Frecuencímetro

100n

1V5

330R

JP1

T2

2k2

Todo radioaficionado que se precie cuenta desde principio con un dipmeter en su arsenal. Hoy en día casi todos podemos permitirnos un osciloscopio, con lo que el dipmeter ha perdido importancia y en breve posiblemente pase a la historia. Realmente es una pena, porque rara vez nos encontramos con algo tan sumamente simple como un dipmeter. Quien esté interesado (de nuevo) en él, podrá montar éste por su cuenta rápidamente y sin ningún circuito adicional. Como es lógico, aparece una interesante pregunta: ¿qué necesitamos en realidad?

110198 - 11

La bobina sensora L1 consta de diez espiras arrolladas alrededor de una batería AA. Gracias a ella obtenemos un rango de 6 MHz a 30 MHz. Sin el jumper JP 1 tenemos una inductancia fija de 10 µH en serie. En este caso, el rango de medida de la frecuencia es de 2,5 MHz a 10 MHz. En la medida mantenemos un resonador cerca de la bobina sensora. Después si gira-

mos lentamente el condensador variable C1 sabremos la frecuencia de resonancia cuando la amplitud del oscilador disminuya ligeramente. Dicha frecuencia puede leerse directamente mediante el osciloscopio. Si es necesario que la medida de la frecuencia sea muy precisa, podemos conectar adicionalmente un frecuencímetro en la segunda salida. (110198)

Sonda de tensión variable Gerd Haller y Michael Gaus (Alemania) En la comprobación de circuitos a menudo hace falta poder suministrar un nivel de señal determinado, como por ejemplo un nivel lógico a la entrada de un circuito digital o una tensión de referencia para una entrada analógica. La sonda de tensión variable aquí presentada cumple este objetivo a la perfección. 38

Pueden seleccionarse entre niveles de señal fijos de 0 V, 2,5 V, 3,3 V, 4,096 V y 5 V. Además también puede ajustarse una tensión de salida variable de entre 2,9 V y 7,3 V mediante un potenciómetro. La tensión se genera primero en el componente de referencia REF192, el cual suministra 2,5 V. Mediante las resistencias conectadas al

Personal Download for I © Elektor

operacional puede variarse la ganancia y con ello modificar la tensión de salida. Para conmutar el nivel de señal deseado se utiliza un contador decimal del tipo 4017. El control de la entrada del reloj se hace mediante un pulsador conectado a una red RC y un comparador Schmitt-Trigger para filtrar los rebotes en el contacto. Cada vez que se pulsa el botón el 4017 avanza una etapa y activa un FET que 7/8-2011

elektor

63414

+9V

S2

+9V

+9V 6

POWER

100n

4

5 6

10u 25V

V+

IC2.B

IC3 3

4

&

SLEEP

OUT

100n 3

REF192 4

IC2 = 4093 Tant

9

100n

+9V

12

16

1

15

IC2.A

2

&

3

14

13

CTRDIV10/ DEC

0

IC1

2

CT=0

&

3

+

4 5

C1 100n

1

6

13

7

4017

8 9

J1 16k R8

IC2.C 10

&

R12

IC2.D 11

&

R13

3 2

R10

R9

J2

R14

GND

R11 P1

4 7

100k

10 1 5 6 9 11 12

D1

D2

D3

0V

2V5

3V3

D4

D5

D6

4V096

5V

2V9... 7V3

T2

T3

T4

T5

2N7002

2N7002

2N7002

2N7002

R3 3k3

CT 5

BCX56/16 R7

100n

3k

100k

R2

S1

8

T1

R5 100R

1k

47k

C5

1u 16V

47k

R1

2

R4

C2

1

IC4.A

1k

C8

R6

IC4 = AD823

6

GND

+9V

7

IC4.B

10R

2

5

8k2

IC4

100n

7

C7

16k

IC2

9V

8

C6

C3

24k

14

C4

1k

BT1

8

110342 - 11

conmuta la tensión de salida correspondiente. Aparte, cada salida del 4017 dispone de un LED mediante el cual muestra el nivel de señal que está activo en ese momento. La salida 6 del contador está conectada al pin de Reset, de modo que el contador se reinicia cada seis etapas.

Si el nivel de señal ha de ser 0 V, la fuente de la tensión de referencia se desconecta mediante el pin de shutdown, con lo que con una resistencia de pulldown de 1 K se pone efectivamente a 0 V. La tensión de alimentación del circuito se obtiene de una pila o batería de 9 V. El resto

se ha integrado en una pequeña cubierta de plástico a modo de lápiz. Ahora ya puede suministrarse la señal con el nivel deseado mediante una sonda. Para poner en común las masas puede utilizarse un cable con una clema conectada a la del circuito que va a comprobarse. (110342)

Indicador de temperatura de aceite para moto de 125 cc Georges Treels (Francia) Muchas motos asiáticas están equipadas con una motorización del tipo GY6. Estas mecánicas, ya antiguas, son robustas y económicas, pero si se desea «aumentar» un poco la potencia restituida (kits llamados «Racing», mejor gestión del avance, etc.), nos encontramos rápidamente enfrentados al problema de la temperatura del motor y la colocación de un disipador térmico (a menudo llamado sin razón elektor 7/8-2011

«radiador») en la circulación del aceite se hace imperativa. Sin embargo, en estas condiciones es más tranquilizador para el usuario disponer permanentemente de una indicación clara y fiable de la temperatura del lubricante. He aquí el pliego de condiciones establecido del indicador térmico deseado: • ninguna parte móvil (ningún galvanómetro, pues), ¡porque eso vibra mucho en una moto! • precio tan bajo como sea posible (en torno a 15 €). • s onda de medida robusta (a evitar NTC y otros sensores exóticos).

Personal Download for I © Elektor

• rango de temperatura de 50 a 140 °C. • advertencia sonora y visual en caso de temperatura peligrosa. • volumen pequeño. • estanco. Comencemos por el sensor. Se trata de un termopar de tipo K, igual a los que usan regularmente los fabricantes de multímetros. Fácilmente disponibles y bastante baratos, son robustos y su linealidad es excelente en el rango de medidas que nos interesa. El rango de medida se extiende entonces de 2 mV a 5,7 mV para diez puntos de medida. 39

63414

+12V

IC2 7808

D1

1N4148 C1

C2

C4

100n

10u

10u

100n

R5

8

IC3

C7

1k

C3

100n

4

T1

R10 10k

BC557

R7

3

1k

C5 100u R6

R1 6 2

TEMP

IC3.A

5

IC3.B

7 R8

IC3 = LM358

R3

C6

L9 L8 L7 L6

SIG

LM3914

4

R9

L10

IC1

RHI

7

L5

REFOUT

L4

RLO

L3 L2

8

L1

REFADJ

10

D11

11

D10

12

D9

13

D8

14

D7

15

D6

16

D5

17

D4

18

D3

1

D2

100R

R4 BZ1

1k

10R

R2

MODE

5

36R

3

1

9 6

470R

220k

1k

La salida positiva del termopar ataca la entrada no-inversora de IC3.A, cableado como amplificador no inversor. Su ganancia, de 221, viene determinada por R1 y R2. IC3 es un LM358, elegido por sus buenas características bajo una alimentación mono-tensión. IC3.B está cableado como seguidor, con objeto de no dejarle alimentado con sus «terminales al aire». La salida de IC3.B está conectada al terminal 5 de IC1, un LM3914. Este circuito integrado, muy corriente, es un controlador para un visualizador de LED. Podemos elegir que funcione en modo Point o Bar, según el cableado del terminal 9. Conectado al positivo de la alimentación, el visualizador estará en modo Bar. El terminal 8, conectado a masa, fija el fondo de escala a 1,25 V. R3 determina la intensidad media que circula por los LEDs. El terminal 4, a través del puente divisor R7 / R8+R9, fija el “offset” a 0,35 V. La colocación en serie de R8 y R9 evita la utilización de resistencias de precisión. Según la nota de aplicación del LM3914, R4, R5, R6 y C5 activan el parpadeo del conjunto del visualizador, cuando se enciende D10 (130 °C). Simultáneamente, a través de R10 y T1, el zumbador (activo) va a advertir al usuario del recalentamiento. El condensador C6 evita oscilaciones no deseadas de la referencia en modo «parpadeo». IC2 es un clásico regulador 7808 y los conden-

2

10u

100940 - 11

sadores C1 a C4 filtran las alimentaciones. ¡No los podemos omitir! D1 protege el montaje contra toda inversión de polaridad. El autor diseñó dos placas que hay que montar a modo de “sándwich” (documentación CAD que hay que descargar de [1]). En la descarga encontraremos también un documento con unas fotos del montaje. No debe-

mos olvidar el arma total en materia de electrónica de abordo: la cola térmica. Mejor que la resina (reversible) y lucha eficaz contra las vibraciones. (100940)

Enlaces internet [1] www.elektor.es/100940

Relé estático de arranque de 70 A Georges Treels (Francia)

40

+BATT

+BATT R3

*

1k

S1

A

220R

B S2

D2

T1

R1 1

IC1 4N28

2 R2

6

5

P600D

*

C1 1000u

D1

20V

4 D3

C2 100k

Los relés de arranque para moto son, en general, poco costosos en su versión electromecánica, pero la otra cara de la moneda es que son poco fiables. La resistencia de contacto aumenta a lo largo del tiempo, la bobina puede romperse por las vibraciones y, a veces, los contactos de potencia quedan soldados. Una solución es la sustitución por un relé estático. En modo CC se impone el uso de un transistor MOSFET. Como sucede a menudo en los sistemas de los coches, el polo negativo de la alimentación está conectado a masa, lo que obliga a la utilización de MOSFET de canal P. La corriente que hay que conmutar es relativamente importante, entre 55 y 100 A (según la cilindrada y la compresión), por lo que necesitamos un transistor con una RDS(on) muy baja, capaz de soportar una IDS importante.

*

100n

P600D

M M

100941 - 11

El arranque lo forma un motor CC de escobillas que genera un buen número de picos de

Personal Download for I © Elektor

tensión, bastante destructivos para el dispositivo de control, de donde la necesidad 7/8-2011

elektor

63414

de una buena protección lo es todo. El examen de los esquemas eléctricos de diversas motos revela que el freno de seguridad (que se activa primero) proporciona +12 V, pero el contactor de arranque (que se activa a continuación) está conectado a masa. Una solución simple es la de utilizar un fotoacoplador. Señalemos de paso que esta técnica permite utilizar este montaje en una gran multitud de otras aplicaciones. Por último, el montaje debe ser «Plug ‘n’ Play», es decir. utilizable con el conector de origen, lo que limita las dimensiones finales del montaje a 50 x 50 mm. La realización de una placa capaz «trabajar» con una corriente de 70 A necesita de unos cálculos. La resistencia de una pista de cobre de un espesor E de 35 µm (0,035 mm), con una longitud L y una anchura l, es de 1,7 x 10 -5x L / (E x l) Ω (E, L y l en mm, T = 25 °C). La colocación de los componentes nos permite pistas de 15,25 x 44 mm, así que cada pista representa 1,4 mΩ, es decir, 0,7 mΩ si se utiliza una placa de dobla cara. Bajo 75 A,

la caída total de tensión será de unos 100 mV y la potencia disipada de 7,5 W. El transistor MOSFET SUP75P03-07-E3 de Vishay Siliconix (Farnell ref. 1794812) ofrece una RDS(on) de 7 mΩ bajo 75 A, es decir, 3,5 mΩ si se ponen dos en paralelo. En ese caso, la caída de tensión es de 0,263 V y la potencia disipada por cada transistor, de cerca de 10 W. Al final, nos reencontramos con una caída de tensión global de unos 360 mV y una disipación total de cerca de 27,5 W. A h o r a p as e m os al es q u e ma. L a p a r te izquierda (todo lo que hay en el rectángulo punteado) corresponde al cableado de origen de la mayoría de las motos chinas. R1 fija la corriente del LED del fotoacoplador 4N28, a unos 25 mA y R2 polariza la base del fototransistor. El colector del fototransistor está conectado directamente a los drenadores de ambos MOSFET T1, cableados en paralelo. En reposo, los transistores están bloqueados por R3, pero pasan a conducción cuando se pulsa simultáneamente en los dos pulsadores S1 y S2, gracias a D3 y a la baja impedancia del ini-

ciador de arranque. Una vez arrancado, es la carga de C2 la que asegura la conservación del funcionamiento. C1, D1, C2, D2 y D3 protegen el montaje contra señales parásitas producidas por una carga que es cualquier cosa menos resistiva pura. Las pruebas y las medidas han sido efectuadas sobre una moto con motor GY6, tipo CJ12M. El consumo medio era de 53 A : 49 A en punto muerto bajo (compresión mínima) contra los 57 A en punto muerto alto (compresión máxima). La caída de tensión medida en los extremos del montaje era rigurosamente idéntica al cálculo teórico. Después de tres horas de prueba, en tandas de un arranque cada cinco minutos, no se percibió ningún calentamiento. (100941)

Enlaces en Internet [1] www.elektor.es/100941

Publicidad

Elektor OSPV Open Source Personal Vehicle El vehículo autobalanceado Elektor OSPV está basado en la misma idea y tecnología que el exitoso ElektorWheelie. En el diseño hay sólo una diferencia: ¡es para uso interior! Se conduce fácilmente, es ligero y plegable, hecho en código libre y además tiene un bonito aspecto. En primera instancia el OSPV está pensado para el desplazamiento de personas, pero... no hace falta que siga siendo así. Podrías inventar otras aplicaciones que varían desde una carretilla eléctrica hasta una útil ayuda para las compras. Esta es la ventaja del código abierto.

Especificaciones principales:

• • • • • • • •

Dimensiones: 120 x 47 x 47 cm Peso: 25 kg Carga máxima: 90 kg Motores: DC 2 x 200 W Ruedas: PU, 14 cm de diámetro Transmisión: correa dentada HDT Velocidad máxima: 15km/h Radio de acción: 8 km El kit incluye de motores de tracción DC de 200 vatios, dos baterías AGM plomo-ácido de 12 V, cargador de batería, dos ruedas de Poliuretano de 14 cm, carcasa, palanca de control y placa de control con placa de sensores completamente montadas y comprobadas.

Art.# 110320-91 • 1095,00 €* *IVA Incl., gastos de envío y descuento promocional excl. (Hasta el 1 de Agosto de 2011).

po limitado !

¡ Oferta por tiem

ENTO 100 € DE DESCU to 2011 de Pide antes del 1

Agos

Más información y pedidos en www.elektor.es/ospv elektor 7/8-2011

Personal Download for I © Elektor

41

63414

Desarrollando y aprend Flowcode es uno de los lenguajes de programación gráfico más avanzados del mundo para microcontroladores (PIC, AVR, ARM y, ahora también, dsPIC/ PIC24). La gran ventaja de Flowcode es que permite a aquellos con poca o nula experiencia en programación crear sistemas electrónicos complejos en minutos.

NUEVO

www.elektor.es/flowcode

… para electrónica Los E-blocks son pequeñas placas de circuito que contienen cada una de ellas bloques de electrónica que se pueden encontrar típicamente en sistemas electrónicos o embebidos. Hay una gama de más de 40 circuitos independientes; de sencillas placas de LED a placas más complejas como programadores de dispositivos, Bluetooth y TCP/IP. Los E-blocks se pueden agrupar para formar una amplia variedad de sistemas que pueden ser utilizados para la enseñanza/aprendizaje de electrónica y la realización rápida de prototipos de sistemas electrónicos complejos. Están disponibles diferentes gamas de software complementario, currículo, sensores e información de aplicaciones.

… para control industrial El MIAC (Matrix Industrial Automotive Controller) es una unidad de control de grado industrial que se puede utilizar para controlar una amplia gama de diferentes sistemas electrónicos incluyendo la detección, monitorización y automoción. Internamente el MIAC se basa en un potente dispositivo PICmicro de la serie 18 que se conecta directamente al puerto USB y se puede programar con Flowcode, C o Ensamblador. Con la unidad se suministra Flowcode 4. MIAC se suministra con interfaz industrial bus CAN estándar que permite conectar en red varios MIAC.

Flowkit La nueva herramienta Flowkit proporciona la depuración en circuito (In Circuit Debug o ICD) para una serie de aplicaciones Flowcode para proyectos con PIC y AVR: • Arranca, para, pausa o ejecuta paso a paso tus programas Flowcode en tiempo real • Monitoriza el estado de las variables en tu programa • Altera el valor de las variables • Depura en circuito tus proyectos FormulaPersonal Flowcode, ECIO yfor MIAC Download I © Elektor

diendo con Flowcode 4 63414

Nuevas características en Flowcode 4 Flowcode 4 incorpora nuevas características que facilitan el desarrollo incluyendo: • Creador de paneles • Depuración en circuito • Redes virtuales • Personalización del Código C • Icono Conmutador • Coma Flotante

• Funciones adicionales para strings • Soporte de Watchdog timer • Nuevo interfaz de usuario • Nuevos componentes • Rápido desarrollo USB

… para robótica Formula Flowcode es un vehículo robot de bajo coste que se emplea para enseñar y aprender robótica además de facilitar una plataforma para competir en certámenes de robótica. Entre las especificaciones del buggy Formula Flowcode están la programación directa con USB, sensores para seguimiento de líneas, sensores de distancia, 8 LED en la placa, sensor de sonido, altavoz y puerto de expansión E-blocks. El buggy es adecuado para una amplia gama de ejercicios de robótica, desde el simple seguimiento de una línea a la resolución completa de un laberinto. La expansión mediante E-blocks permite añadir displays, conexiones con Bluetooth o Zigbee y GPS.

… para proyectos USB Los dispositivos ECIO son potentes microcontroladores programables con 28 o 40 pines con formatos DIL estándar (0.6”). Se basan en los microcontroladores PIC serie 18 y en los ARM serie 7. El ECIO es perfecto para su uso doméstico por los estudiantes, inclusión en proyectos y montar sistemas embebidos completamente integrados. El ECIO se puede programar con Flowcode, C o Ensamblador y las nuevas rutinas USB en Flowcode permiten un desarrollo ultra rápido de proyectos USB incluyendo HID USB, esclavos USB y bus serie USB (solo PIC). El ECIO se puede incorporar en tus propias placas para dotar a tus proyectos de la capacidad de ser programados mediante USB.

Más información, productos y descargas gratuitas disponibles en

www.elektor.es/eblocks Personal Download for I © Elektor

63414

Amplificador de 40 W “sabor años 60” Joseph Kreutz (Alemania)

44

F1 R1

R8

1A6 slow

820R

82k

VPP

1W

820R

220k

47u 100V

R9

R7

1%

2k2

R11 100R

1W T2

BD139

T4

C6

100n

100u 100V

R13

TIP3055

R6

4k7

1%

R5

C4 100p

T3

BD139

R10

10R T7

BD140

R14

TIP3055

68R

1k

C3 220u 100V

1%

R19

5W

6R8

47k

T5

R12 100R

P1 R4

R18

1N4007

1%

R3

4700u 100V

R17

C9

0R33

BC 560C

C10

R15

D1

39R 100n

R16

68R

T1

220u 100V

5W

1k5 C1

220n

0R33

68R

P2 10T

C8

T6

BD139

C5

C7

4k7

R2

C2

270k

100n

5W

110332 - 11

VPP F1

TR1 R20

C13

6k8

C11 2x 24V; 1x 48V

A principios de los años 60, RCA introducía en el mercado un transistor legendario: el 2N3055. Con un par de ellos podíamos construir amplificadores audio, capaces de proporcionar 40 W eficaces sobre una carga de 8 Ω. El montaje que presentamos aquí se inspira directamente en el espíritu de esta época. Contando sólo con siete componentes activos por canal, su sencillez se adapta a los criterios de diseño vigentes en aquella época. El amplificador propuesto aquí proporciona 45 W sobre 8 Ω, con una tensión de entrada de 0,5 Veff. La señal de entrada es aplicada a la base de T1, cuyo emisor recibe, a través del divisor R5 y R6, una señal de realimentación tomada de la salida. La corriente de colector de T1, proporcional a la diferencia entre estas señales, es aplicada sobre la base de T2. Este transistor, que proporciona la ganancia de tensión del amplificador, es alimentado por las resistencias R8 y R9. Manteniendo una tensión casi constante a los extremos de R9, el condensador C6 produce un efecto de “bootstrap”: R9 proporciona, pues, una corriente independiente de la tensión de salida en la banda de frecuencias de audio. Los transistores T4, T5, T6 y T7 constituyen la etapa de potencia de simetría casi complementaria. A principios de los años 60, no existía ningún transistor de potencia PNP con características similares a las del 2N3055. El truco y astucia de los ingenieros de la época fue, pues, paliar esta falta con un par de Sziklay, que contenía un controlador PNP y un elemento de potencia NPN, de ahí la idea de la simetría casi complementaria tal como lo ilustra el esquema de la figura. El diodo D1 da simetría a la etapa de salida y contribuye, por lo tanto, a reducir su distorsión. El transistor T3 tiene como función el polarizar y estabilizar el punto de funcionamiento de la etapa de potencia, a la que debe estar acoplado térmicamente. Este amplificador está alimentado por una tensión asimétrica de unos 65 V, de acuerdo a los usos de la época. Así pues, su carga debe estar acoplada a la etapa de potencia por el condensador C10 de 4700 µF, el cual ofrece también una cierta protección en caso de avería de los transistores de salida. El amplificador está desprovisto de limitación de la corriente de salida. Esta laguna no es forzosamente prohibitiva, pero implica un mínimo de prudencia. Además, el fusible lento de 1,6 A, en serie con la alimentación, limitará los daños en caso de producirse este problema. La alimentación consta de un transformador, un puente rectificador, cuatro pequeños condensadores y un condensador electrolítico de

S1

100n

100n

C15

C12

C14

4700u 100V

100n

100n

B1 3A 125V

D2

120VA 110332 - 12

Resultados de la medida sobre la carga resistiva de 8,2 Ω (valores dados a título indicativo) THD Banda de paso Tensión máx. de salida

0,08 % principalmente armónico 3 a 1400 Hz ; nivel de salida 3 V. 29 Hz (-3 dB) a más de 100 kHz (-0,5 dB) ; 3 Veff de salida. 100 kHz a -3 dB con nivel de referencia de 18 V a 1.0 kHz 19,5 V al límite de la saturación.

4700 µF. Es suficiente para dos canales de un amplificador estereofónico. Instalado en la parte delantera del amplificador, el diodo LED1 indicará su encendido. El montaje no presenta ninguna dificultad particular. Los transistores T3, T4 y T5 serán instalados sobre pequeños radiadores para encapsulado TO126, cuya resistencia térmica no

Personal Download for I © Elektor

excederá los 20 K/W. En cuanto a los transistores T2, T6 y T7, estarán instalados sobre un radiador común que presentará una resistencia térmica máxima de 2 K/W, utilizando hojas aislantes y pasta termoconductora. Antes de su conexión a la tensión de alimentación, el potenciómetro P2 será ajustado a su resistencia máxima, se reemplazará el fusi7/8-2011

elektor

63414

ble, provisionalmente, por una resistencia de 47 Ω y 5 W, y se conectará un voltímetro en los extremos de R17. Ahora, conectaremos el amplificador a la tensión de alimentación. El voltímetro deberá indicar 0 V. Seguidamente, P2 será ajustado prudentemente hasta obtener una lectura de 15 mV, lo que corresponde a una corriente de reposo de 50 mA. Quitaremos ahora la tensión de alimentación del amplificador y sustituiremos la resistencia por el fusible. Volveremos a verificar la tensión en los

extremos de R17 y ajustaremos P2 para volver a tener los 15 mV especificados. Divertido de montar, sin pretensiones y requiriendo tan sólo unos pocos medios, este amplificador presenta calidades de audio muy agradables. Las medidas de distorsión dan resultados muy aceptables, incluso si no producen números con una cantidad impresionante de ceros después de la coma. Y no olvidemos también que se trata de explorar las técnicas de los años 60.

El autor ha diseñado dos placas, una para el amplificador y otra para la alimentación. La información de planos de montaje y serigrafía está disponible en [1], en formato PDF, gerber y documentación CAD Easy-PC. (110332)

Enlaces en Internet [1] www.elektor.es/110332

Detector de fallo de toma de tierra 68k

R1

LA1

*

Neon

C1 4n 400V 110218 - 11

Marco Mertz (Bélgica) Viéndose impresionado con los accidentes por fallo en la toma de tierra, el autor elaboró minuciosamente este pequeño montaje. Los forman tres elementos: la bombilla de neón y su resistencia de origen, recuperados de un conmutador de una regleta de enchufes, por ejemplo, y un pequeño condensador (clase Y), recuperado sobre de la electrónica de una bombilla a bajo consumo. Una capacidad más

grande aumenta la luminosidad del neón. Todo ello por menos de 2 €. El neón se enciende únicamente en presencia de una toma de tierra efectiva. Y, en casa del autor, esto funciona incluso con fase o neutro invertidos. En nuestro laboratorio tuvimos algunos problemas, descritos en el número de junio [1], ya que el circuito era sensible a la posición de la fase con respecto al neutro.

El detector de fallo de toma de tierra puede, pues, servir también como detector de fase. Todo se integra fácilmente en un enchufe de tensión de red, donde el autor ha protegido el neón con una pequeña tapa transparente. (110218)

Lien internet [1] www.elektor.fr/110396

Cable caliente Andreas Binner (Alemania) En el juego del “cable caliente” hemos de guiar un aro de metal a través de un circuito de cable doblado sin que ambos lleguen a tocarse. La electrónica en este juego normalmente se limita a delatar que ha habido contacto, mediante una señal acústica. El circuito aquí presentado hace más interesante este elektor 7/8-2011

juego añadiendo funciones adicionales, como por ejemplo poder establecer la duración y añadir un tic constante durante el juego. Dos timers integrados del tipo NE555 se encargan de estas funciones. IC1 funciona como mono-estable y regula el tiempo estipulado para el juego, que puede ajustarse

Personal Download for I © Elektor

con P1. IC2 está conectado como multivibrador para los tics y el sonido que indica que ha habido contacto entre el cable y el aro. Si el mono-estable está inactivo, la salida de IC1 (pin 3) se pone a nivel bajo. T1 funciona como inversor. D2 está en el sentido de conducción, y junto con R8 y R4 forman un circuito en paralelo, el cual se encarga del 45

63414

P1

R8

R3

R4

*

10k

1k

R6 10k

LS1

S2

4M7

ON

D1, D2 = 1N4148

8Ω 0W2

R2 4

2 6 S1

ACTIVE

4

DIS

IC1 OUT

TR

NE555N

D2

3

C3 22u 16V

5 C5 10n

6

GND 1

R9

2

BC547

THR CV

R5

33k D1

7

T1

R7

330k

7

8 VCC

R

1k

680k

sonido generado por IC2. R4 ha de dimensionarse bastante mayor que R8. R8 determina el comportamiento de IC2, produciéndose un sonido grave. Si el mono-estable está activo, la señal de nivel alto en la salida de IC1 se invierte mediante T1. D2 no conduce, con lo que R8 no actúa en absoluto. Ahora, para IC2 sí tiene sentido que R4 sea mayor. En este caso la proporción entre R4 y R5, así como el dimensionamiento de C4 determinan la duración de los pulsos y las pausas en el multivibrador, haciendo que los tics y las pausas entre ellos tomen más o menos tiempo. En realidad, el que se produzca o no un sonido depende del potencial en el pin 4 de IC2. Si la tensión de alimentación es de 9 V, inicialmente el mono-estable estará activo y C1 sin tensión. El pin 4 de IC2 (reset) estará por lo tanto a nivel bajo y no se producirá ningún sonido. IC1 puede activarse por la entrada de disparo brevemente mediante un botón que vaya a masa (inicio del juego). C1 se carga a través de D1 e IC2 se encarga de los tics. La duración de los pulsos del mono-estable determina el tiempo de juego, puede ajustarse mediante P1. Si el tiempo de juego se ha terminado o si se ha conectado a masa la entrada de reset de IC1 (ha habido contacto entre el aro y el cable), el mono-estable pasa

DIS

100u 16V

IC2

BT1

3

OUT

TR

NE555N

9V

THR CV

*

C1

C2

8 VCC

R

GND

5 C6

C4

22u 16V

1

10n 110100 - 11

a estado de inactividad. Esto hace que IC2 genere el sonido grave. A la vez se cierra D1, con lo que C1 se descarga a través de la elevada resistencia R9. Una vez que la tensión ha desaparecido tras varios segundos, dejará de sonar y el circuito está listo otra vez para la siguiente ronda. El circuito ha de montarse primero en una tarjeta de prototipo para llevar a cabo los

primeros tests, y poder ajustar tanto los tiempos como el sonido. Una vez que todo esté correctamente dimensionado podemos pasarlo a una tarjeta definitiva. Para el montaje mecánico el autor se ha servido de un trozo de madera laminada como base. El “cable caliente” se monta sobre dicha lámina y debajo se conecta toda la electrónica necesaria. (110100)

Generador de caos

46

Personal Download for I © Elektor

+6V...+15V R1

C6

X

Y

Z

25V

R2

R3

10k T1

BC548B

R4

10k

10k

C2

C3

C4

1n

1n

1n

P1

R6 12k

10u

T2

100k R5

C5

10k

El circuito aquí mostrado es una variación caótica de un oscilador de cambio de fase clásico. Lo gracioso de él, es que es sencillo y barato. Además sólo se necesita una única tensión de alimentación y ningún componente es realmente crítico. Sin los componentes que hay dentro de la

línea de puntos, el circuito oscila de forma estable y hay un seno (deformado) en el colector de T1. Las tres etapas RC se encargan de que haya un total de 180 grados de cambio de fase, de modo que se pueda mantener una oscilación – junto con el cambio de fase de 180 grados de T1. Con la adición de componentes extras dentro de la línea de puntos, aparece una imagen completamente diferente. Cuando aumente la amplitud durante el arranque del oscilador, T2 empezará a conducir en un momento determinado. Esto hace que la resistencia R6 se una al bucle de realimentación y altere la relación de fase, por lo que el circuito tendrá que afanarse en encontrar un nuevo equilibrio. Puedes conseguir que haya caos bajo circunstancias adecuadas; el circuito no encuentra ninguna situación estable, sino una serie de situaciones inestables que se encuentran muy próximas las unas de las otras.

2k7

Lars Keuninckx, Vrije Universiteit Brussel (Bélgica)

BC548B

1n8 110107 - 11

7/8-2011

elektor

63414

Estas ‘órbitas’ forman el denominado ‘attractor’ que se puede mostrar fácilmente en un oscilador en modo XY: Canal 1 en X, AC, 0,5 V/div Canal 2 en Y, AC, 20 mV/div Vcc: 6...16 V Jugando con el potenciómetro P1 y la tensión de alimentación, puedes forzar al circuito a

salir de una oscilación estable y pasar al caos a través de la duplicación del periodo, lo que genera unas bonitas imágenes (ver foto). Modificando P1, R6, C5 y la tensión de alimentación puedes influir mucho en la forma del attractor. El circuito contiene cuatro elementos que almacenan energía, por eso el espacio de fase es en cuatro dimensiones. Lo que vemos en la pantalla del osciloscopio es en realidad una

proyección 2D de un attractor en un espacio 4D. Puedes mostrar otras proyecciones conectando, por ejemplo, los puntos Y y Z en vez de los puntos X e Y. (110107)

Regulador de energía D1

F1

TR1

250mA

f = 1 / (0,693 x P1 x C6) = 0,0654 Hz

elektor 7/8-2011

+12V

230V

C1

C2

C3

C4

1000u 25V

100n

100u 25V

10n

D2

2VA2

F2

10A

+12V

1k

R4

1

D5

IC3

R5 68R

6

MOC3021 P1

8

100k

D4 6 2

R DIS

IC2 NE555

THR

2

4

R3

OUT

1

3

IC4

R6

N MOC3021

1

5

R2

C6

C5

220u 25V

10n

2

4

RL

2000W

68R 6

TR CV

K1 TRI1

BT139600 D6

1k

7

D3

4

En función de la posición del cursor del potenciómetro P1, la relación de ciclo D de la señal proporcionada a la salida (terminal 3) del circuito integrado IC2, cambia de valor: •  S  i el cursor está situado a mitad de recorrido del potenciómetro P1, la relación de ciclo D vale 0,5; •  Si el cursor es llevado a la tensión de +12 V, la señal en salida de IC2 es nula y D = 0; •  Si la posición del cursor es llevada a la tensión de C6, la salida de IC2 proporciona una tensión constante de cerca de 11 V y D = 1.

K2

R1

47k

En otoño o en primavera, el clima puede ser tal que podemos desear economizar deteniendo el sistema principal de calefacción de nuestra vivienda, aprovechando un calentamiento complementario de apoyo basado en uno o varios convectores eléctricos. A pesar del uso de estos convectores eléctricos, cuyo consumo energético no es nada despreciable, es posible reducir dicho consumo intercalando entre la tensión de red y los convectores eléctricos mencionados, un regulador de energía que va a actuar sobre el consumo energético efectivo de los convectores. El esquema electrónico descansa en la puesta en marcha de emblemático circuito integrado NE555, utilizado aquí como aestable, con una relación de ciclo variable (D = thigh/ T), pero a una frecuencia de funcionamiento fija, dada por:

B1

12V

230V

Gérard Guiheneuf (Francia)

P

IC1 7812

1k

para convector eléctrico de apoyo

TRI2

230V

BT139600

T1

2N2222 110185 - 11

A través del transistor T1, IC2 controla dos fototriacs MOC3021 (IC3 e IC4) que constituyen el interfaz de aislamiento galvánico entre la parte de “control” del esquema y la parte de “potencia” del esquema que está conectada directamente a la tensión de red. Cada fototriac controla un triac de potencia (TRI1 y TRI2). Estos dos triacs están conectados en paralelo y comparten la alimenta-

Personal Download for I © Elektor

ción del convector (RL): un triac restituye la parte alterna positiva mientras que otro triac aplica la parte alterna negativa. El sobredimensionamiento de los triacs (intensidad eficaz nominal elevada: 16 A), combinado con su montaje en paralelo y la alternancia de sus conmutaciones, pretende reducir el calentamiento de ambos componentes y reducir el volumen de disipadores térmicos a montar. 47

63414

Experimentalmente, esta solución da lugar a un calentamiento débil de los disipadores térmicos cuando el regulador está alimentando permanentemente (relación de ciclo D = 1) un convector, cuya potencia nominal es de 2.000 W. En cuanto a la energía consumida por el convector, precedido de su regulador, basta con aplicar la fórmula simple de W = P x t x D, donde:

 : Energía eléctrica consumida en vatios•  W hora (Wh) •  P : Potencia nominal del convector, en vatios (W) •  t: Tiempo de funcionamiento del conjunto convector y regulador, en horas (h) •  D: Relación de ciclo fijada por el ajuste del potenciómetro P1

Ejemplo: para una relación de ciclo D de 0,5 y un tiempo de funcionamiento de una hora, el convector de 2.000 W va a consumir 1 kWh. (110185)

Enlaces en Internet [1] www.elektor.es/110185

Lámpara solar RGB Marcel Ochsendorf (Alemania) Esta lámpara solar de lujo utiliza una batería y célula procedentes de otra lámpara del mismo tipo reciclada, que incorporaba cuatro baterías (con 4,8 V de tensión nominal). El circuito puede utilizarse con cualquier tensión dentro de ese rango y consume una corriente de tan sólo unos 20 mA. Con una batería de 4,5 V dispondremos de un tiempo de funcionamiento de unos cinco días. El circuito consta de un micro controlador ATtiny de Atmel, que regula direc tamente mediante tres puertos un LED rojo, amarillo y azul, y por supuesto las resistencias correspondientes para limitar la corriente de éstos. Dicho microcontrolador se encarga de los LEDs uno tras otro, obteniendo una luz RGB secuencial. También

de luminosidad nos servimos de la célula solar de una lámpara estropeada (realmente sólo estaba mal la batería). C1 La potencia de la célula solar es D3 R3 totalmente irrelevante, ya que el 8 470R microcontrolador únicamente evaVCC IC1 lúa la tensión de ésta mediante el 2 5 D2 PB3/CLKI/ADC3 PB0/AIN0/OC0A R2 conversor A/D interno en PB4. Si 3 6 PB4/ADC2 PB1/AIN1/CC0B/INT 470R 1 7 utilizamos un microcontrolador PB5/RST/ADC0 PB2/ADC1/T0 ATTINY13 ya programado (disponible en la D1 GND R1 tienda Elektor, artículo nº 100581BT1 BT1 470R 4 4V5 SOLAR 41) el proyecto es perfectamente apto para principiantes. El autor ha desarrollado el firmware con Flowcode. Tanto el código 100581 - 11 fuente como el hexadecimal pueden descargarse gratis desde la página de proyecto de Elek tor enciende los LEDs según la oscuridad o clari- www.elektor.es/100581. (100581) dad (en este caso los apaga). Como sensor V+

Multi-intermitente de LEDs Burkhard Kainka (Alemania) El primer circuito de la figura 1 muestra un intermitente de LEDs para funcionar directamente desde la red con seis canales: los seis LEDs parpadean de forma totalmente asíncrona, con lo que en conjunto obtenemos un patrón caótico. Al mismo tiempo, debido a su reducido consumo de tan sólo 0,2 W, el circuito también sirve como lámpara intermitente económica. En Internet 48

puede verse un pequeño video [1] del intermitente en acción. El diseño es utilizado por el autor en esta edición de Elektor en los circuitos con flipflops NPN. Cada uno de los seis flip-flops NPN conectados en serie obtiene la misma corriente de carga. Variando las capacidades de los condensadores electrolíticos influimos en la frecuencia del parpadeo y la luminosidad. Aparte, el circuito parpadea más lenta-

Personal Download for I © Elektor

mente si utilizamos un valor mayor de 100 k para la resistencia de carga R1 o colocamos una resistencia adicional (en la propia línea del circuito). Un inconveniente del circuito es el peligro que supone el hecho de estar conectado directamente a la red, a 230 V. Esto hace que sea peligroso tocar cualquier parte del circuito. Por ello, es imprescindible introducir el circuito en una carcasa de plástico ais7/8-2011

elektor

63414

T1

T2

D3

T3

D4

C2

C3

1N4007

100u 16V

47u 16V

100u 16V

110V...250V

D1

T6

T1

C6

C5

C4

C1

47u 16V

100u 16V

47u 16V

100u 16V

D7

T5

D6

D2

D3

12V...24V

100k 0W5

R3

BT1

T1...T6 = BC548A

R1

R2

10k

C1

10k

R1 D1

10k

D2

T4

C2

T2

100u 16V

C3

T3

100u 16V

T1...T3 = BC548A

D5

110193 - 12

110193 - 11

1

2

lada, equipada con un cable adecuado (véase advertencia de seguridad en Elektor y [2]). Para evitar un peligro de este tipo, la figura 2 muestra una versión del circuito diseñada para funcionar a baja tensión, en un margen

de 12 a 24 V. Los flip-flops NPN aquí están conectados en paralelo con la tensión de alimentación. De este modo también pueden construirse largas cadenas de intermitentes. (110193)

Enlaces: [1] www.youtube.com/user/ bkelektronik#p/u/6/lqr-YTf3b9U [2] www.elektor.es/sicherheit

Contenedor de tiempo Jochen Brüning (Alemania)

elektor 7/8-2011

1 BT1

3

8

VBAT

VCC

X1

SDA

IC1

X1

SCL 3V

2 32.768MHz

DS1307 X2

SQW

R2 10k

R1 10k

En algunas aplicaciones de los microcontroladores, por ejemplo aquellas que incluyen funciones de logging o tracking, generalmente hace falta la hora actual e incluso también la fecha muchas veces. Un reloj en tiempo real (Real Time Clock, RTC) con backup por batería como el integrado RTC DS1307 se encarga de suministrar tal información. Este componente puede integrarse en el circuito con algunos componentes adicionales mínimos. Además, los requisitos en cuanto a programación son bastante reducidos, existiendo ya módulos, funciones intrínsecas, archivos de cabecera o librerías para muchos de los entornos de programación más comunes. En la red también podemos encontrar numerosos programas de ejemplo. Hasta aquí ningún problema, salvo que el reloj tiene que funcionar desde el principio durante un número determinado de años, y gracias a la batería de backup incluso cuando el sistema esté desconectado. En este caso excepcional hemos de tomar ciertas precauciones. Por un lado en el programa, y por otro también en el hardware, ya que aparte de un botón para configurarlo y un display, no deberíamos necesitar nada más.

5 6 7

GND 4

Personal Download for I © Elektor

C1 100n 110285 - 11

El “contenedor de tiempo” aquí presentado soluciona este problema, ya que realiza la función de integrado RTC con la batería y cuarzo disponibles en un periférico en forma de módulo conectable. Para ello utilizamos el circuito mostrado, construido en una pequeña tarjeta (perforada). Aparte del integrado, el cuarzo y la batería, se necesita un condensador de desacoplo (C1), dos resistencias (opcionales) para las salidas en colector abierto del integrado, así como un zócalo para éste con patillas extra largas (también puede consistir en dos conectores de pines). El nuevo circuito RTC (ver la foto) ahora es portátil y puede “reemplazarse” de un circuito a otro, sin que perdamos el tiempo configurado. Los únicos requerimientos son utilizar el zócalo adecuado y cablearlo debidamente en cada VCC circuito. La principal ventaja es que en el nuevo circuito sólo tendremos que realizar la función de lectura del SDA tiempo. Los controles del reloj pueSCL den separarse también, integrándolos en la propia tarjeta perforada conectable con el circuito al completo. Tras el (primer) ajuste, el “contenedor de tiempo” con la hora en GND marcha puede colocarse en cualquier otro destino, ¡basta con conectarlo! (110285)

49

63414

Comenzando con nuestra placa gratuita LPCXpresso Clemens Valens (Francia) Si estáis entre los autores que han participado en esta edición de Elektor con uno o varios artículos, sabed que habéis sido (o seréis) premiados con un pequeño, pero bastante potente, regalo que os ofrece amablemente NXP. Así pues, ¿cuál es exac-

tamente es e r e gal o y qu é podemos hacer con él? LPCXpresso: un desarrollo conjunto de NXP (ellos lo propusieron) [1], Embedded Artists (hardware) [2] y Code Red Technologies (software) [3]; es una plataforma de creación de prototipos barata para los nuevos microcontroladores ARM Cortex-M0 y -M3 de NXP. Aunque son bastante pequeños, estos CIs son lo suficientemente potentes como para contener procesadores de 32 bits con memoria flash y RAM, además de muchos periféricos potentes y útiles. El controlador se monta sobre una mitad de una PCI azul, larga y delgada, junto con un cristal de cuarzo y un LED, con espacio disponible para (¡mbed compatible!) conectores de extensión e incluso una modesta zona para prototipos. La otra mitad de la placa, realmente, algo menos, es una zona de programación/depuración que se conecta con el PC por medio de un conector mini-USB. La zona soporte puede ser separada del controlador una vez que nuestra aplicación está lista, cortando la placa en dos (¡algo que está lejos de ser fácil de hacer aquí!). Existen varios modelos de estas placas que sólo se diferencian en el microcontrolador montado. Elektor proporciona placas que tienen un dispositivo LPC1114 Cortex-Mo con 32 KB de memoria flash, 8 KB de memoria RAM, UART, SPI, I²C, CAD y temporizadores. Señalar que la UART es capaz de trabajar con RS-485, lo que hace a esta placa muy útil para aplicaciones de ElektorBus. Sin embargo, LPCXpresso es más que una placa azul y delgada, ya que incluye herra50

mientas de desarrollo software gratuitas para Linux y Windows (‘incluir’ no es realmente el término correcto a usar ya que tenemos que descargar todo esto, nosotros mismos, por Internet). Las herramientas software vienen en un agradable paquete de un entorno de desarrollo integrado basado en Eclipse, con su potente editor y el compilador GCC, junto con la “suite” de “linkado” y depuración para el ARM. Simplemente tendremos que correr el ejecutable descargado para instalar las herramientas. Este proceso también instalará muchos ejemplos de código que podemos probar. Tendremos que crear una cuenta antes de descargar todo, así como registrar el software después de la instalación pero, una vez que hemos introducido los números de serie recibidos por correo electrónico, estaremos listos para comenzar. El proceso de registro soporta las actualizaciones, por lo que sólo tendremos que pasar por él una vez. La LPC Xpresso tarda un poco en arrancar, pero cuando está finalmente lista nos ofrece un menú de acceso rápido llamado ‘Start here’, que contiene las funciones más importantes (y algunas más) que usaremos a menudo, como “new project” (nuevo proyecto), “build & debug” (construir y depurar). Aquí también encontraremos una opción para importar proyectos ejemplo. Hacemos ‘clic’

Personal Download for I © Elektor

en este enlace para abrir el diálogo de Impor tación, después hacemos ‘clic’ en Browse… y ‘navegamos’ hasta el fichero LPCXpresso1114.zip, en la carpeta examples/NXP/ LPC1000/LPX11xx. Seleccionamos el archivo zip y pulsamos sobre Abrir (“Open”), seguido de “Next” (Siguiente). Ahora marcamos los ejemplos que queremos importar (aconsejo marcar todos) y hacemos ‘clic’ en “Finish” (Acabar). Si no lo hemos desmarcado, ya tendremos un proyecto llamado LPCXpresso1114_blinky. Es el más fácil para probar y ver si todo funciona bien. Si lo seleccionamos, podemos construirlo desde el menú ‘Start here’. También podemos construir todos los proyectos con un simple ‘clic’, pero esto lleva algo más de tiempo. Así pues, construimos el proyecto y observamos los mensajes que aparecen en la ventana ‘Console’; no debería haber ningún mensaje de error o advertencia. Si por la razón que sea tenemos un error o una advertencia, hacemos ‘clic’ en la pestaña “Problems” (“Problemas”) para obtener más información. Un doble clic en una línea en esta ventana nos llevará al código con problemas. Después de una “construcción” del código correcta, podemos correr el programa en nuestra placa LPCXpresso. Conectamos la placa al PC y pulsamos en Debug ‘LPCXpresso1114_blinky’. Hay que señalar que, para que esto funcione, deberemos haber instalado primero los controladores de LPC-Link (localizados en la subcarpeta Drivers\LPCLink\ del directorio de instalación de LPCXpresso). El IDE ejecutará el controlador LPCLink, cargará el ejecutable en la placa y saltará 7/8-2011

elektor

63414

a la primera instrucción del programa ‘main’. El fichero fuente C que contiene esta sentencia se abre automáticamente en el IDE. Ahora, hacemos ‘clic’ en el botón Resume (el pequeño triángulo verde, o presionamos F8, o desde el menú Run) para permitir que el programa se ejecute. El pequeño LED rojo, cerca del procesador, comenzará a parpadear a una frecuencia de 1 Hz. Si conseguimos esto sin problemas (y, francamente, no veo por qué no puede ser así), estamos conectados y funcionando. ¡Ya podemos comenzar a escribir nuestras propias aplicaciones!

Si conseguís realizar un proyecto interesante, por favor no dudéis en enviárnoslo, estaremos encantados de evaluarlo y publicarlo en Elektor. (Y, tal vez, conseguiréis otra LPCXpresso, etc. etc., lo que me recuerda que no conseguí una placa aunque yo escribiera este artículo…) Para aquellos que no os habéis hecho con una placa LPCXpresso gratuita, podéis comprar una en la mayoría de los principales proveedores de componentes o directamente en [2].

Enlaces en Internet [1] http://ics.nxp.com/lpcxpresso/ [2] www.embeddedartists.com/products/ lpcxpresso/ [3] http://lpcxpresso.code-red-tech.com/ LPCXpresso/Home [4] http://elektorembedded.blogspot.com

(110448)

Mejora para hub USB Kurt Bohnen (Alemania) Los hubs USB que se alimentan directamente del PC pueden causar problemas cuando conectamos dispositivos con altos consumos energéticos. Esto ocurre principalmente en cables USB largos y finos, en los cuales hay una gran caída de tensión. Quien aún así no quiera deshacerse de su viejo hub USB, con este pequeño circuito dispondrá de una fuente de alimentación externa. Se separa la línea de alimentación a 5 V del cable USB en el hub y se suelda un diodo (D1) en el

sentido en que conduzca. Posteriormente en el cátodo de dicho diodo se conecta la toma de 5 V de la fuente de alimentación externa. D1 evita que cualquier corriente de la fuente pueda dirigirse de nuevo al PC.

+5VUSB

+5VHUB

D1

1N5400

K1

(100474)

5V 2A GNDUSB

3 2 1

GNDHUB 100474 - 11

Protección antirrobo para el OBD Florian Schäffer (Alemania) Los vehículos modernos, tanto coches como camiones, incluyen un sistema antirrobo integrado para inmovilizarlos. Sin embargo, los ladrones también se adaptan a los tiempos que corren. Los antirrobos modernos disponen de un sistema electrónico para desactivar el inmovilizador con la marcha, y volverlo a activar otra vez con una llave de fábrica. En muchos casos la conexión para desactivar dicho inmovilizador se hace mediante el puerto OBD-2 estándar. Ciertamente el protocolo OBD-2 por sí mismo no ofrece acceso al sistema antirrobo, pero está abierto a que los fabricantes lo utilicen para otras tareas, tanto mediante los pines de señal normales del OBD-2 como otras conexiones generalmente no utilizadas de este conector. En ese caso podríamos decir que existe la posibilidad de violar el sistema elektor 7/8-2011

OBD

ISO-K

ISO-K

S1

CAN-H GND GND

ISO-L J1850+

8

16

7

15 ISO-L

6

14

5

13

4

12

3

11

2

10

1

9

VCC

CAN-L

J1850-

110287 - 11

antirrobo de forma electrónica. Sin embargo, los lectores de Elektor estarán al tanto de cómo proteger de los ladrones formados en

Personal Download for I © Elektor

materias tecnológicas un vehículo de varios miles de Euros, por unos pocos de ellos. La idea es increíblemente simple: si desconectamos las señales del conector OBD, podemos garantizar que no funcionará ninguna herramienta malintencionada. Para ello, hemos de seccionar las líneas de la señal en el propio conector (que se encuentra en la cabina, alrededor del sitio del conductor) mediante un interruptor. Éste ha de estar lo más inaccesible posible (oculto). En funcionamiento normal el interruptor garantiza que las líneas de señal del conector OBD estén separadas. Si quiere iniciar un diagnóstico del vehículo o llevar el coche al taller, simplemente habilitamos otra vez el conector OBD activando el interruptor. En la imagen de ejemplo mostrada sólo se seccionan las líneas ISO-K y L. Sin embargo, lo más recomendable es seccionar todas las 51

63414

líneas, ya que no sabemos cuales de ellas controlan el dispositivo de inmovilización. Sólo hemos de mantener las conexiones de masa en el pin 4 y 5, así como la tensión de batería en el pin 16. De este modo nos asegu-

ramos que nuestra medida sea efectiva contra todos los protocolos existentes (como el bus CAN) y que no funcionará bajo ninguna circunstancia por muy preparado que esté el ladrón. Si el sistema de desactivación es ali-

mentado con tensión por el propio ladrón, aún así, “inexplicablemente” no podrá establecerse la comunicación con la electrónica del vehículo. (110287)

Temporizador de 2-4-6 horas Philippe Schmied (Suiza) 1 1

2 2

ON 4

3

6 5 4

R4

R5 4k7

4k7

R1

Cuando tengamos que elegir un relé para utilizar con este montaje, deberemos pensar en la corriente máxima de 25 mA que el micro puede pro1 porcionar en su salida. OptareVDD R2 mos por un relé estático mejor. GP1/AN1/VREF K2 330R 1 IC1 Encontraremos varios ejemplos R3 7 GP2/T0CKI/INT/AN2 GP0/AN0 330R en este mismo número. GP3/MCLR El programa ha sido escrito en PIC12F675 RELAY VSS GP5/OSC1 GP4/OSC2 Flowcode y el proyecto está 8 2 3 X1 disponible en [1]. Para los que no disponen de Flowcode, el C1 C2 proyecto incluye también un 4MHz 15p 15p fichero en C y en ensamblador, así como un fichero HEX. El 110219 - 11 microcontrolador pre-programado (un PIC12F675 en encapsulado DIL8), está disponible en la tienda de GP3 Duración Elektor, bajo la referencia 110219-41. VCC

S1

4k7

He aquí un montaje simple, realizado para controlar un relé estático durante una duración seleccionable entre dos, cuatro o seis K1 horas. E ste dispositivo com 1 pleta un montaje del autor para controlar una calefacción a distanCONTROL cia, por medio de un teléfono. El motivo del circuito es el de evitar el riesgo de que la calefacción permanezca funcionando más allá de una cierta duración (en el entorno de una segunda vivienda) si, en caso de problema, no hay nadie para pararla o volverla a poner en funcionamiento cuando no hay helada. Un pulso de un segundo (o más), sobre el terminal 6 del microcontrolador activa el temporizador y la salida se activa. Cuando ha transcurrido el tiempo seleccionado, el microcontrolador desactiva la salida. La duración se selecciona por los micro-interruptores conectados a los puertos GP2 y GP3:

GP2 0

0

0h

0

1

2h

1

0

4h

1

1

6h

(110219)

Enlaces en Internet [1] www.elektor.es/110219

ATM18 – Tres termómetros, un solo hilo Grégory Ester (Francia) En este montaje, un ATM18 [1] controla la comunicación y representa la unidad maestra, mientras que los sensores DS18S20 son las unidades esclavas. Los DS18S20 responden a las órdenes del maestro reenviándole la temperatura que miden. Nuestro montaje permite medir temperaturas que irán desde -55 °C a +125 °C, con una resolución de 9 bits y una precisión de ±0,5 52

°C de -10 °C a +85 °C. No obstante, la resolución puede ser mejorada por medio de un cálculo que abordaremos más adelante y que es explotado en el micro-programa escrito en BASCOM-AVR [2]. Los sensores toman la alimentación del bus (modo parasite power, es decir, alimentación parásita) aprovechando los numerosos instantes en que éste último se encuentra a nivel lógico alto, proporcionando una corriente de

Personal Download for I © Elektor

unos pocos mA. Sabiendo que la mayoría de ellos consumen menos de 100 µA, habrá que vigilar el número total de componentes presentes sobre este bus. Sin embargo, siempre es posible alimentar localmente ciertos componentes de la casa Dallas, aplicando una tensión permanente de 3 a 5,5 V. Cada componente “1-Wire” posee una clave única 64 bits que lo identifica. Los 8 bits de menor peso de esta clave contienen el iden7/8-2011

elektor

63414

A continuación, son ejecutados los comandos CCh + 44 h, que ordenan a todos los sensores efectuar la conversión de temperatura, con lo que los scratchpad son actualizados automáticamente con los nuevos valores, con un total de nueve octetos por scratchpad. Seguidamente, nos podemos dirigir a cada sensor, de forma individual, solicitándole información, gracias a su identificador único, seguido del comando BEh. Así, cada vez, podemos rellenar una tabla con el contenido de los nueve octetos del scratchpad del sensor en cuestión.

HYPERTERMINAL GND

+5V

RX

3

PD1

4k7

R1 GND

tificador de la familia. El código 10h corresponde a la familia de los sensores DS18S20, lo que permite diferenciar por tipo sensores “1-Wire” de diferente familia que pueden encontrarse sobre el mismo bus. El scratchpad es una memoria interna del DS18S20 que contiene los datos que nos serán útiles para calcular la temperatura medida. En un primer momento, el programa calcula el número de sensores presentes en el bus y coloca en la memoria, en una tabla, los identificadores únicos que son enviados, del octeto de mayor peso al octeto de menor peso, hacia el hyperterminal.

1

3

VDD

DS18S20 GND DQ

1

3

VDD

DS18S20 GND DQ

2

ATM18

VDD

DS18S20

1

GND DQ

2

2

PD5

DS1820

110398 - 11 VDD

GND DQ

La temperatura puede ser negativa y es, en ese momento, cuando pasamos a usar el complemento a 2 para expresar el resultado presente en la memoria del sensor. El noveno bit corresponde a las decenas. Podemos calcular una temperatura, con resolución superior a 9 bits, utilizando los datos count remain y count per C, octetos 6 y 7 del scratchpad. El número count per C es rellenado en fábrica con el valor 16 (10h). El valor temp read se obtiene separando el bit de 0,5 °C (bit 0 del octeto de menor peso). De esta forma, la

temperatura puede ser calculada de forma más precisa, según la ecuación: T = temp read – 0,25 + (count per C–count remain) / count per C Es este valor calculado el que es enviado hacia el hyperterminal para cada uno de tres sensores. (110398)

Enlaces en Internet [1] www.elektor.es/atm18 [2] www.elektor.es/110398

Reloj en Morse Ralf Beesner (Alemania) Esto sí que es tener estilo: el circuito de reloj presentado no sólo da la hora en código Morse, ¡sino que se controla por completo mediante un solo botón en Morse! Tiene hasta alarma. Al diseñarlo nos percatamos de que no hacía falta un cuarzo a 32 kHz ni un Atmega con modo especial de bajo consumo para reloj. Incluso si utilizamos un cuarzo estándar de 3,6864 MHz y un ATtiny45, el consumo en su modo de espera entra dentro de los límites aceptables para el funcionamiento con baterías. En funcionamiento normal, esto son 0,2 mA, lo cual equivale más o menos a 1,8 Ah en un año. El cuarzo ha de conectarse en el ATtiny45 en las entradas PB3 y PB4. El zumbador en PB0; para el contacto de la línea y el punto sólo nos quedamos con PB1 y PB2. Aparte del microcontrolador, el cuarzo, el zumbador y los dos botones, lo único que falta es un condensador elektor 7/8-2011

+3V

C2 220n S2

8 6

S1

7 1

RA

PB1

PB0

IC1 PB2

PB4

ATTINY45

RESET

PB3

5 3 2

P1 10k X1

3.6864MHz

BZ1

4

RB

110170 - 11

para la tensión de alimentación y un potenciómetro de ajuste para el altavoz. El cuarzo funciona con las capacidades recomendadas en la hoja de datos (de 12 a 22 pF). El oscilador todavía resuena de manera estable, la frecuencia es sólo algunas centenas de Hz por encima. Sin embargo esto es absolutamente

Personal Download for I © Elektor

preferible, ya que así el reloj siempre será ligeramente más rápido, lo cual puede regularse con facilidad mediante software (introduciendo pequeños intervalos de espera). El reset rara vez es necesario. En la imagen del prototipo podemos verlo a modo de micropulsador, en el esquema del circuito y la tar53

63414

jeta recomendada por el autor [1] se ha implementado un contacto específico para ello. La tensión de alimentación de 3 V se obtiene de dos pilas AA. La tarjeta se ha diseñado de modo que puedan atornillarse en la parte de atrás dos portapilas. El reloj se controla por completo mediante códigos en Morse. Tras meter las pilas el reloj marcará las 0 horas. Estará activa la alerta de los cuartos (en adelante llamada “gong”). Están disponibles las siguientes instrucciones (de un carácter): ? Z T G C M W A E K

Listado de instrucciones Fijar el tiempo Preguntar el tiempo Gong (percusión) on/off Chequeo: salida del estado del gong, estado de la alarma, y demás Ajustar la velocidad del Morse Fijar la alarma Alarma on/off Detener la alarma (esto se ejecuta pulsando el botón del punto) Ajustar los segundos de la corrección (de 1 a 9 s) (velocidad del reloj)

Las instrucciones para ajustar el tiempo requieren un número de cuatro cifras (sin

espacios ni marcas entre caracteres). Las instrucciones del tipo on/off requieren un “1” o un “0”, y la velocidad del código Morse se da mediante un número de dos cifras. Una vez introducidos los números, éstos se repiten. Si no se trata de números, sino de otros caracteres, salta automáticamente el mensaje “RPT” (repeat). Si el número de caracteres es menor del esperado, tras un tiempo de espera también se emite “RPT”. En ambos casos el reloj vuelve al modo de espera, lo cual significa que tendremos que introducir la instrucción de nuevo antes de volver a dar el/los número/s. En la subrutina de la velocidad del código Morse se comprueba adicionalmente que dicha velocidad entre dentro de la lógica (entre 10 y 30 WPM). Si no es el caso, salta el mensaje “RPT” y la velocidad se fija de nuevo a 20 WPM, con lo que el reloj sigue siendo manejable. En el software actual no se comprueba a fondo la lógica, y es posible introducir entradas de tiempo como “1299”. Los caracteres se repiten con cada entrada, y el usuario ha de ver que tengan sentido. Sólo se muestra el mensaje “RPT” con entradas de tiempo mayores de 2359. Tanto el software como el código fuente pueden descargarse como siempre de la página

de Elektor [1]. La parte más importante del programa es la rutina de interrupciones, que el timer dispara cada segundo. Va sumando segundos y los convierte a minutos. Al terminar un día (1440 min.), los minutos en el programa principal se ponen otra vez a cero. El programa principal sólo invoca brevemente al cálculo del tiempo y al muestreo de los botones, y hasta la próxima interrupción permanece en modo de espera. Para que el reloj reaccione sin demora a la hora de pulsar los botones, para PB1 y PB2 se activan las “Pin Change Interrupts” (interrupciones de cambio en el pin). Lamentablemente, debido al cuarzo que sería necesario, no podemos utilizar el modo de “powerdown” (en él, se desactivan casi todos los bloques funcionales del microcontrolador mediante una sola entrada en el registro). En el modo de espera la mayoría de ellos apenas consumen energía; hemos de desconectarlos individualmente. El autor ha utilizado los registros PRR y DIDR0, sin embargo, existen otras muchas posibilidades a la hora de ahorrar energía. (110170)

[1] www.elektor.es/110170

Electrónica para bombas controladas por nivel Guntram Liebsch (Alemania) Mediante el circuito aquí mostrado puede d e s c o n e c t a r s e u n a b o m b a a u n n i ve l deseado, y volverla a encender posteriormente con otro nivel distinto. El autor ha estado barajando distintas posibilidades. Las bombas comerciales con interruptores de flotador no eran la solución, pues utilizarlas supone un peligro dada su gran capacidad de succión. Aquí presentamos el método más fiable. La diferencia de nivel, y con ello la cantidad de agua definida que ha de bombearse, se obtiene de la distancia entre dos electrodos en un circuito muy simple, que el autor ha utilizado en su cuarto de bombas (dentro de la bodega) durante unos 10 años, con el fin de mantener las variaciones oca54

sionales en el nivel del agua bajo un cierto margen. Aparte, el circuito puede utilizarse en dos situaciones: 1. Para mantener el agua residual de un pozo negro bajo un cierto nivel inferior al límite. Una diferencia en el nivel de unos 2 cm (= 3 litros) será bombeada fuera. Debido a que la diferencia de nivel es muy pequeña no hay peligro de inundaciones bajo la casa que puedan desplazar el terreno. 2. Si hay que vaciar la caldera del sótano, por ejemplo para cambiarle una pieza, se bombea el agua a un tanque auxiliar y de ahí gracias a un regulador con bomba directamente al jardín, sin que tengamos que supervisar este proceso.

Personal Download for I © Elektor

El circuito se ha mantenido lo más simple posible para que sea lo más robusto posible. Las puertas de IC2A y IC2B forman una etapa biestable conectada mediante dos electrodos; y todo ello con un sólo integrado CMOS, realmente asequible. Como elemento conmutador se utiliza un relé que puede activar bombas tanto de 12 V como las convencionales de 230 V. El autor se sirve de ambas: una de 12 V como bomba principal, y otra normal en caso de fallo, que sólo se activa con un mayor nivel; por otra parte, decir que este fallo no se ha dado nunca. El sistema de 12 V está alimentado mediante una batería de coche (12 V/70 Ah), que se recargar regularmente. En el circuito pueden verse dos relés, y de hecho la tarjeta ofrece la posibilidad de montar dos distintos. No obstante, en este caso sólo se utiliza uno. 7/8-2011

elektor

63414

IC1 78L05Z 47R

D1

12

12V

14

IC2

C1 22n

7

11

&

RE1

1N4004

351

220R

R2

2

IC2.B

IC2.A 3

&

K2

R5 RE2

T1 1

1

R3

R4

100k

K3

IC2.D

100k

13

D2

D3

220R

R1

4

&

V23127B

6 5

IC2.C 10

IC2 = 4011N

&

VN10KM K1

8

1

9

EL3 EL2

C2 1u

EL1

MAX MIN

GND

100673 - 11

Los tres electrodos consisten en cables de instalación de cobre (NYM), con una sección entre 1,5 y 2 mm y extremos aislados. EL1 sirve de masa, EL2 marca el nivel de desconexión (inferior) y EL3 el nivel superior de bombeo. Las distintas conmutaciones se dan al fluir corrientes de EL1 a EL2 y EL3, lo cual ocu-

rre cuando los electrodos entran en contacto con el agua. Este flujo de corriente también provoca electrólisis, por lo que el autor cambia los electrodos más o menos una vez al año. El electrodo EL1 (masa), tiene su extremo aislado, con lo que dura aproximadamente el doble que los otros dos electrodos.

Si se utiliza una bomba a 230 V hemos de estar muy atentos a respetar el aislamiento galvánico de la fuente de alimentación, utilizar un relé adecuado y aislar con total seguridad todas las líneas que lleven 230 V. ¡Los circuitos con tensiones de red sólo deben ser instalados por expertos formados en este campo! (100673)

ATtiny15 como oscilador de MHz Andreas Grün (Alemania) Los electrónicos ya lo saben: para un circuito a veces hace falta un reloj de 1 o 2 MHz (en el caso del autor, se trataba del juego del Pong con un viejo AY3-8500). A menudo no tenemos a mano un cuarzo de la frecuencia exacta, con lo que podemos montar un oscilador RC; ya hay suficientes circuitos al respecto. Nos faltaba el condensador adecuado, y también el potenciómetro necesario. Uff, y todavía queda ajustar la frecuencia... pero rápidamente pensamos en una solución que optimiza recursos, espacio y costes. Si no se trata de conseguir una frecuencia absolutamente exacta, la alternativa más rápida es utilizar un ATtiny15, que no necesita componentes adicionales. Con un precio de alrededor de 1 Euro, esta solución no resulta más cara que un oscilador convencional. Y la ventaja es que podemos calcular la frecuencia independientemente de los valores y tolerancias de los componentes. elektor 7/8-2011

+5V

1 PB5

VCC 8

2 PB4

PB2 7

3 PB3

PB1 6

4 GND

PB0 5

ATTiny15

110365 - 11

El oscilador RC interno del controlador puede calibrarse con precisión a 1,6 MHz; el timer 1 interno funciona mediante el PLL integrado a 25,6 MHz [2]. Dividiendo este reloj, con un programa mínimo el ATtiny puede obtener frecuencias de entre más o menos 50 kHz y 12 MHz en un pin de salida, en el cual la frecuencia deseada es ligeramente mayor que la

Personal Download for I © Elektor

real. El límite superior lógico se alcanza fácilmente en 2 MHz. En este caso podemos ver una desviación del 15 %. Como puede verse en la imagen, el circuito no podía ser más simple. Al conectar la alimentación dispondremos de la señal en el pin 6 (PB1). El programa de ejemplo consta únicamente de 15 líneas en ensamblador. Se explica así mismo mediante los comentarios. El código puede descargarse de la web de Elektor [1]. El programa sólo inicializa el timer, y al final general la señal independientemente de la CPU. Por ello, ésta puede ponerse en modo sleep para ahorrar energía. Ya que aproximadamente el 99 % de la memoria de programa está vacía, el controlador puede utilizarse para otras tareas. Quien necesite algo más preciso, puede ajustar la frecuencia de salida mediante el byte de calibración en el registro OSCCAL (aquí puede variarse el reloj de la CPU entre ciertos valores). En la hoja de datos, Atmel recomienda 55

63414

no fijar la frecuencia a más de 1,75 MHz, pues en caso contrario no se garantiza que el timer pueda funcionar correctamente. En lugar de un ATtiny15 también puede utilizarse alternativamente su sucesor el ATtiny45. Su timer 1 puede fijarse mediante

el fusible CKSEL en un modo compatible con el ATtiny15 [3]. Después, tras adaptar el programa podremos generar frecuencias más altas (o más precisas), ya que el PLL del ATtiny45 funciona a 64 MHz. (110365)

[1] www.elektor.es/110365 [2] www.atmel.com/dyn/resources/prod_ documents/doc1187.pdf [3] www.atmel.com/dyn/resources/prod_ documents/doc2586.pdf

Temporizador para tiempos muy largos Dirk Visser (Holanda) Con un sencillo temporizador mecánico (a la venta por un par de euros en una ferretería) se puede conmutar un aparato una o varias veces al día. Las aplicaciones son infinitas: lámparas dentro y fuera de casa, iluminación de pajareras y acuarios, bambas sumergibles, cargadores de baterías, etcétera. Quien necesite tiempos más largos que el periodo estándar de 24 horas, puede utilizar sencillamente dos temporizadores, donde el segundo se conecte encima del primero (ver foto). Para determinar lo que podemos hacer con ellos, tenemos que determinar primero cuantas veces tiene que conmutar. El primer temporizador tiene, por ejemplo, 48 pestañas, que significa que el tiempo mínimo de conmutación es de 30 minutos por 24 horas. El segundo temporizador gira entonces 30 minutos por 24 horas y requiere, por lo tanto, 48 días para completar el ciclo completo. Puedes conectar un aparato al segundo temporizador como, por ejemplo, un cargador para lámparas de buceo. Para evitar que el tiempo de conmutación del segundo temporizador sea mayor de 24 horas, es importante que el tiempo de con-

30 min

24 h

t

mutación del segundo temporizador sea más corto que el del primero. En caso de que el ciclo de conmutación de 1 vez por 48 días sea demasiado corto, puedes conectar incluso un tercer temporizador. El ciclo máximo de conmutación del tercer temporizador es de 1 x por 2304 días (1 x por cerca de 6,5 años).

110200 - 11

En la foto puedes ver que el segundo temporizador puede bloquear las pestañas del primero si se conecta ‘al derecho’ uno encima del otro. Este problema se puede evitar girando el segundo temporizador 180 grados en relación al primero. (110200)

El LM2931-5.0 también es un generador de ruido aleatorio Petre Tzvetanov Petrov (Bulgaria) Los reguladores de tensión de baja caída de salida, de la serie LM2931, no sólo son útiles para alimentar sistemas con microcon56

trolador; también pueden funcionar como generadores de ruido (prácticamente) aleatorio de baja frecuencia. El ruido aleatorio podría ser usado en un sistema para que un CAD (convertidor análogo/digital) produzca números aleatorios; o para que un puerto digital, deliberadamente, ‘pierda la cabeza’ según el nivel del ruido aplicado al mismo; o

Personal Download for I © Elektor

para otros objetivos que vosotros, los programadores inteligentes, podéis tener en mente. La tensión de salida de un LM2931A-5.0 está entre 5,19 V y 4,81 V. El mismo parámetro para el LM2931-5.0 está especificado entre 4,75 V y 5,25 V. El sufijo ‘Z’ indica un encapsulado TO-92. Ambos CIs también sumi7/8-2011

elektor

63414

dor es relativamente baja y la señal de salida podría ser usada directamente para controlar la entrada de 1N4004 IC1 un CAD. La ganancia del amplificaLM29312-5.0 D3 dor transistorizado puede ser adapV 1N4004 CC tada a los requisitos del diseño, prinC3 C4 cipalmente, con la resistencia R3. Los componentes D3, C5 y C6 22u 22u 16V 16V reducen el impacto de la carga J1 J2 R1 (típicamente un sistema microD2 C1 C5 C2 C6 controlador) en el ruido visto por 22u 220u 150n 150n 1N4004 16V 16V la entrada del amplificador. Los puentes J1 y J2 seleccionan la C7 capacidad de carga mínima entre R3 22u 16V D3 y la salida del regulador, para T2 R2 conseguir un compromiso entre R4 un funcionamiento estable del 220R V NOISE T1 VN1 regulador, por un lado, y una ten2x sión ruido de salida máxima, por el BC549C C8 VN2 R5 otro. Los puentes son montados o 680k soldados en la fase final, cuando el 22u R7 R6 16V equipo es probado. Aunque el circuito también trabaja con otros reguladores de tensión, 100826 - 11 como el 78L05, hay que recordar que puede haber niveles de ruido mucho más bajos, obligando a El ruido de salida del CI regulador es bifurcado aumentar la ganancia de amplificador de por C7 y R2 y amplificado más de 200 veces por forma considerable. (100826) T1 y T2. La resistencia de salida del amplificaD1

VDC

1k

10k

El esquema eléctrico muestra una fuente de alimentación que proporciona una tensión de salida entre 4,5 V y 5,5 V y una corriente máxima de salida de entre 80 y 100 mA. El diodo D2 eleva la tensión de salida del CI LM2931Z-5.0 en unos 0,6 V – 0,7 V. El diodo D3 elimina (aproximadamente) el aumento de tensión producido por D2. Siguiendo con los diodos, D1 protege el regulador de tensión contra inversiones de polaridad.

220R

5k6

10k

nistran, como valor típico, 0,5 mVrms de ruido de salida, a través de un condensador de 100 µF, dentro del rango de frecuencia de 10 Hz a 100 kHz. Cuando se amplifica en más de 200 veces, podemos obtener a su salida una tensión de ruido típica de 100 mV, la cual debería ser suficiente disparar, de forma aleatoria, algunos bits en un CAD de 10 bits, con un bit de menor peso (LSB) equivalente a 0,5 mV. Estos bits podrían ser usados individualmente o colectivamente ‘construir’ números aleatorios más grandes.

Placa de pruebas Elex Luc Lemmens (Laboratorio de Elektor) La revista Elex fue la hermana pequeña de Elektor desde 1983 hasta 1993. En Elex se explicaba la electrónica de forma fácil y graciosa. Muchos lectores actuales de Elektor empezaron previamente con Elex. Y también ahora existe una demanda de artículos de esta revista, el DVD con todos los artículos de Elex sigue siendo actual. Hace ya unos 18 años que la revista desapareció del mercado. ¿Ha desaparecido Elex completamente? No, se sigue resistiendo un pequeño producto que hace que la vida de un electrónico sea siempre más agradable. Las placas Elex se introdujeron con la primera aparielektor 7/8-2011

E/S E/S señal

E/S señal C1

Alimentación (4x) Masa

C2

E/S 110446 - 11

Personal Download for I © Elektor

ción de esta revista en Holanda. Elex tenía que tener muchos circuitos pequeños con un umbral bajo. Las placas impresas terminadas no se ajustaron a ese concepto, ya que eran demasiado caras y los lectores tendrían que comprar una placa nueva para cada proyecto. Entonces surgió la idea de construir una placa universal. La idea principal está inspirada en la famosa placa de pruebas de VERO, que era una placa euro llena de tiras de cobre en una dirección. En nuestra opinión, se podría haber hecho de forma más inteligente, las placas tendrían que ser más pequeñas para bajar el precio y las tiras de la alimentación tendrían que estar ‘preestablecidas’. En la imagen pue57

63414

des ver que con dos puentes pequeños se puede proveer de alimentación un integrado a partir de la masa y de la alimentación. Hay dos tiras extendidas a lo largo y por debajo del integrado, en principio servían para llevar las señales de entrada y salida, pero son perfectamente aptas como tiras de alimentación. Las tiras de masa, alimentación, alimenta-

ción no utilizada y de señal, se pueden interconectar libremente con el lado a contraveta que sirve en principio de E/S, con o sin conector. Estás placas de pruebas son también perfectamente aptas para diseños discretos con transistores. Estas prácticas placas se venden aún en la tienda de Elektor con los nombres de Elex-

1, -2 y -4 (simple, doble y cuádruple respectivamente). En esta edición de verano se han provisto algunos proyectos con un diseño de placa Elex, para demostrar lo fácil que es construir un circuito pequeño en la placa. (110446)

Conversor de nivel RS232 con aislamiento Uwe Hunstock (Alemania)

58

VCC IC1 = MC14011B IC2 = ILD223

R4 470R

R3 470R

1

IC2.A

8 5 6

K2

2

TXD

7

IC1.A 1 2

4 3

3

IC2.B

6

2 1

R2

14 3

&

8 9

7 12

1k

Este circuito convierte el nivel UART-TTL a RS232, estando ambas conexiones aisladas galvánicamente. Ya existen integrados de Maxim y de otros fabricantes para esto, pero estos chips suelen ser bastante caros. La tasa de transferencia en el circuito está limitada a 4800 baudios, en nuestro laboratorio sólo podemos alcanzar unos 2800. El motivo es el tiempo de conmutación del optoacoplador (según la hoja de datos T_on = 15 µs y T_off = 30 µs). Puede ser interesante experimentar un poco más con el valor de R4. Gracias al optoacoplador podemos dividir el circuito en dos partes totalmente aisladas una de la otra, alimentadas exteriormente. La parte derecha del circuito se alimenta con las líneas DTR/DSR del puerto RS232 (pin 7 y pin 2 en K1). Por ello, estas señales de protocolo ya no se utilizarán más en el dispositivo conectado, sino que estarán permanentemente a +12 V. Sin embargo, no basta con una alimentación que sólo tenga tensión positiva, pues en esta parte también necesitamos generar niveles negativos. El truco está en bloquear la línea TxD del puerto RS232 (mediante D2), que con el dispositivo desconectado se mantiene a -12 V. Ya que la línea TxD al enviar datos naturalmente se pone a nivel alto, necesitamos servirnos de C1 para garantizar la alimentación. Cuando se envían datos por el puerto RS232, la línea TxD (pin 5 en K1) controla directamente el diodo emisor del optoacoplador a través de la resistencia en serie R1. Pero si tenemos en el pin 5 -12 V, ha de limitarse la tensión negativa en el diodo emisor con D1, ya que la tensión inversa máxima especificada en la hoja de datos es de 6 V. Cuando se envía a través del puerto serie TTL, el transistor receptor controla un driver en el optoacoplador, que en este caso se ha implementado con cuatro puertas NAND. Las cuatro puertas están conectadas como inversor;

13

IC1.B 4

&

K1

IC1.C 10

& IC1.D

11

&

TTL_5V

1

2

3

4

5

6

7

8

9

10

RS232_V24 4

RXD

C2

5 D2

R1 1k5 D1

1N4148

100n

1N4148 C1 22u 25V 100704 - 11

como puede identificarse fácilmente, esta inversión se ha mantenido en el circuito. Las tres puertas están en paralelo para obtener una corriente de salida mayor. IC1 se alimenta a una tensión nominal de +/-12 V (a través de los pines 14 y 7), la cual disminuye con D2 y cuya carga es, por ejemplo, R1. No obstante, ha de utilizarse una variante CMOS cuya tensión de alimentación pueda alcanzar los 18 V. Aparte de las puertas NAND, en principio pueden utilizarse otros tipos de componentes lógicos, si éstos pueden ser conectados como drivers. También puede utilizarse una única puerta CMOS, por ejemplo del tipo TC4S81. Si no tenemos algo así en nuestro cajón de sastre, no hay problema en montar el circuito con una puerta NAND 4011 cuádruple.

ket SUB-D9 de 9 pines. He aquí la tabla de asignación:

K1

SUB-D9

1

1

DCD (=nivel alto)

2

6

DSR (=nivel alto)

3

2

RXD

4

7

RTS (no utilizado)

5

3

TXD

6

8

CTS (no utilizado)

7

4

DTR (=nivel alto)

8

9

no utilizado

9

5

GND

10

Significado

no utilizado

Podemos conectar K1 (5x2 pines) mediante un cable plano con terminales IDC con el soc-

Personal Download for I © Elektor

(100704)

7/8-2011

elektor

63414

Desafío de Diseño NXP mbed

Ganadores Muchos desafíos de diseño piden a los participantes agitar juntos algunos componentes, hacer parpadear unos LEDs, y escribir un poco de código para intentar conseguir un premio. El Desafío de Diseño NXP mbed de 2010, publicado por Elektor y Circuit Cellar, era diferente. Estaba gestionado con el objetivo último de animar a los diseñadores de todo el mundo a ayudar a hacer los diseños embebidos para que fuesen más accesibles, productivos y orientados a la comunidad. La revolución de la construcción rápida de prototipos comenzó, un tiempo atrás, en septiembre de 2010, cuando los diseñadores de diversos lugares, como Estados Unidos, Alemania, Australia, India, y Taiwán, comenzaron a trabajar con sus placas de creación de prototipos mbed LPC1768 de NXP. El reto era usar la placa, el compilador mbed en línea ‘Cloud’ (Internet), y los recursos de la comunidad mbed para desarrollar e innovar aplicaciones basadas en estos circuitos y/o programas.

El período de suscripción al proyecto se terminó el 28 de febrero de 2011. A partir de ese momento los jueces comenzaron a seleccionar los proyectos por su mérito técnico, originalidad, utilidad, rentabilidad y optimización de diseño. Oficialmente, se anunciaron los resultados finales de los jueces en la Conferencia de Sistemas Embebido (CES) de 2011 que se celebró en Silicon Valley. ¡Felicitaciones a todos los ganadores!

Primer Premio (VI)sualizador: Una Carga Electrónica Elegante El innovador (VI)sualizador basado en mbed, es un instrumento de laboratorio para obtener un perfil de los dispositivos de entrega de energía solares, químicos, y alimentados por tensión de rejilla. El diseño nos permite examinar la capacidad de entrega de tensión (V) y corriente (I) de una fuente de energía. También podemos usarlo para una gran variedad de otras ideas: calcular la resistencia de carga sobre la que una célula solar entrega su máxima energía; medir y capturar la capacidad, en amperios/hora, de una batería; o, usando cargas pulsantes, probar con precisión la regulación de la tensión de fuentes de alimentación convencionales. El módulo mbed del diseño acepta datos de entrada de interfaces locales y remotos, controla la corriente de carga deseada y supervisa las condiciones de funcionamiento. Hexley Ball Estados Unidos [email protected]

Para entrar a ver el proyecto completo, visitad: www.circuitcellar.com/nxpmbeddesignchallenge

elektor

7/8-2011

Personal Download for I © Elektor

59

63414

Desafío de Diseño NXP mbed

Segundo Premio mbos: Un Sistema Operativo de Tiempo Real para mbed El objetivo de este interesante proyecto era el de mejorar el entorno mbed con un sistema operativo de tiempo real. Diseñado especialmente para mbed, el ‘mbos’ es un verdadero RTOS preventivo multitarea, además de ser escalable para soportar prácticamente cualquier proyecto desarrollado en la plataforma LPC1768. Este rápido RTOS nos permite “afinar” el desarrollo de aplicaciones, tanto sencillas como de complejas. Por ejemplo, es bastante simple para una aplicación de una o dos tareas, pero también puede trabajar con hasta 100 tareas. Andrew Levido Australia [email protected]

Para entrar a ver el proyecto completo, visitad: www.circuitcellar.com/nxpmbeddesignchallenge

Tercer Premio Cortador de Panel CNC Podemos usar un sistema basado en mbed para controlar una fresadora de tres ejes para cortar paneles para equipos electrónicos. Una alternativa elegante a un programa de ordenador es el regulador autónomo, que nos permite controlar una fresadora, bien de forma manual o bien automática (siguiendo un “script”), sin necesidad tener de atestar la zona de trabajo con un ordenador. El diseño controla tres motores ‘paso a paso’. Dentro del controlador hay una fuente de alimentación y una placa de circuito impreso, que contiene el módulo mbed NXP, más la circuitería de interfaz necesaria y una ranura para una tarjeta SD. James Koehler Canadá [email protected]

60

Personal Download for I © Elektor

7/8-2011

elektor

63414

Desafío de Diseño NXP mbed

Para entrar a ver el proyecto completo, visitad: www.circuitcellar.com/nxpmbeddesignchallenge

Mención honorífica “Capturadores” (“Grabber”) QRSS QRSS es usado por radioaficionados para transmitir código Morse lento desde transmisores de baja potencia y recibirlo en ‘capturadores’ especiales. Este proyecto creativo presenta un mbed en el corazón de un receptor QRSS, que es un receptor de RF que puede digitalizar un pequeño ancho de banda de las señales de RF y enviarlo a un servidor para procesarlas en una imagen de espectro para la presentación, en tiempo real, en una página web. Clayton Gumbrell Australia [email protected]

Mención honorífica Probador CA (Corriente Alterna) La seguridad es la máxima prioridad cuando se trabaja con electrónica y circuitos. El Probador CA es una fuente de alimentación de tensión variable aislada que incluye un circuito interruptor (“breaker”) electrónico para probar y reparar equipos. Un controlador mbed muestra la tensión y la corriente, y controla el punto de disparo del circuito “breaker” y su tiempo de respuesta. Este diseño inventivo también puede mostrar el factor de potencia, VA, y VAR. Kevin Gorga Estados Unidos [email protected]

elektor

7/8-2011

Personal Download for I © Elektor

61

63414

Desafío de Diseño NXP mbed

Mención honorífica Liberia para Controlador LCD de STN Cuando la construcción rápida de prototipos es un requisito, la integración de una pantalla gráfica LCD en un diseño puede ser un problema. Esto nos puede costar tiempo y dinero, especialmente porque, en los programas, las librerías de calidad son escasas. Este útil proyecto soluciona este problema eliminando la necesidad de un controlador LCD externo, implementando la rutina de control en el programa. El entorno mbed se comunica directamente con los CIs controladores de pantallas LCD y proporciona refrescos de imagen en 60 Hz o más. La librería soporta pantallas LCD monocromas y de color y también incluye soporte experimental para pantallas de exploración duales. Matt Bommicino Estados Unidos [email protected]

Mención honorífica menbed: Una Librería de Sistemas de Menú Universal La ‘menbed’ es una librería universal de sistemas de menú para la placa de prototipos mbed. Esta librería nos permite desarrollar rápidamente un sistema de menús fácil de usar, para interactuar con cualquier otra aplicación software que se esté ejecutando sobre mbed. Las útiles interacciones incluyen la observación de las variables de estado internas o valores analógicos, cambio de parámetros de programa y la llamada a funciones arbitrarias. La jerarquía de menú es totalmente personalizable y puede, incluso, ser cambiada dinámicamente. Kyle Gilpin Estados Unidos [email protected]

Mención honorífica Medidor de Red mbed: Una pantalla de Reloj de Pared de la Red de Tráfico en Tiempo real Podemos monitorizar la red de datos con el Medidor de Red basado en mbed. El diseño inteligente de reloj de pared muestra datos de tráfico Ethernet en tiempo real con tres sintonizadores analógicos cómodos de leer. El medidor muestra las velocidades de transferencia de datos entrantes y salientes, así como la cuota de uso del ancho de banda de la red. La velocidad de actualización para el medidor “in” y “out” es de dos veces por segundo. La velocidad de actualización del medidor de “cuota” es de una vez cada 8 segundos. Bruce Lightner United States of America

62

[email protected]

Personal Download for I © Elektor

7/8-2011

elektor

63414

DESAFÍO DE DISEÑO MBED NXP

Hexley Ball gana el primer concurso mbed Simon Ford (Reino Unido) Como, probablemente, ya hayáis visto, el ganador ha sido una carga electrónica inteligente; un nombre modesto para una hazaña técnica de ingeniería. El producto acabado es una mezcla ecléctica de electrónica digital y analógica, diseño mecánico y diseño web, todo ello “empaquetado” para proporcionar un producto innovador y totalmente profesional. Sin mencionar la completa reseña técnica que fue presentada con ella; muy importante para Circuit Cellar/Elektor como editores conjuntos. Un verdadero ejemplo de cómo debe hacerse.

Tuve la suerte de conocer Hexley en la feria ESC de Silicon Valley, de 2011, donde se anunciaron los resultados y en la que NXP le había invitado para mostrar su diseño. Fue maravilloso tener allí, en persona, al creador de ese diseño para hacerme una descripción, si no de todas, sí de parte de las impresionantes prestaciones del equipo. Utiliza, prácticamente, cada interfaz del mbed para proporcionar niveles asombrosos de funcionalidad. Con la descripción de cada prestación, mi apreciación de la cantidad de ingeniería que había detrás iba creciendo, así como mi sorpresa de saber lo que podía esconderse detrás del título de “carga electrónica”. Ésta habrá sido, probablemente, la respuesta más grande que Circuit Cellar/Elektor nunca antes han tenido en un concurso de diseño patrocinado y soportado por elementos hardware, ¡hecho adecuadamente para todo aquel que ha participado! Yo creía que podríamos ver algunos proyectos buenos, pero seguramente no esperábamos un volumen y diversidad tan grande. Desde controladores de máquina CNC a herramientas de Radioaficionados, controladores iPod para hogares controlados por iPhone, controladores de robots para inyecciones robóticas, filtros de audio de tiempo real para detectores de murciélagos, toda una verdadera mezcla de proyectos. ¡Tengo ganas de ver algunas informaciones que aparecerán en futuros artículos de Circuit Cellar/Elektor y en el sitio web mbed, que inspirarán a otros y les ayudan a aprovechar todo el trabajo duro que habéis puesto todos!

Durante los últimos meses también he tenido el placer de encontrarme con algunos de nuestros lectores, en presentaciones y ferias, que también han expuesto sobre mbed para este concurso. ¡Bienvenidos a mbed! Mientras algunas conversaciones comenzaban con: “Yo iba a entrar, pero no encontré nada sobre lo que escribir”, el resto de las conversaciones destacaron la cantidad de nuevas cosas que se estaban construyendo, las nuevas ideas exploradas, y el entusiasmo general para usar esta moderna tecnología de microcontroladores. Es maravilloso ver la cantidad de gente tan experta e innovadora que forma la comunidad mbed, lo que nos anima a trabajar mucho para asegurarnos que nuestros lectores/ usuarios puedan ser aún más productivos. Después de la larga feria ESC, se me ofreció la posibilidad de que Hexley me llevase al aeropuerto; una gran oportunidad de charlar. ¡Creo que en aquel paseo de 45 minutos hemos podido dar forma algún tipo de gira de “banco de trabajo” en los EE.UU! ¡Si logramos reunir todo esto, tal vez veamos a algunos de nuestros lectores allí! Felicitaciones de nuevo, otra vez, y gracias a cada uno de los participantes. Espero que hayáis disfrutado del desafío. (110477) Simon Ford, co-creador de mbed, es un ingeniero de una larga vida en el mundo de la electrónica y los ordenadores. Trabaja en ARM y, antes de comenzar con mbed, fue director técnico de la arquitectura ARMv7/NEON, que podemos encontrar actualmente en la mayoría de los teléfonos inteligentes.

www.circuitcellar.com/nxpmbeddesignchallenge elektor

7/8-2011

Personal Download for I © Elektor

63

63414

Más líneas de puerto para el R8C/13 Hermann Nieder (Alemania)

La comunicación entre el PC y el circuito representado puede hacerse por ejemplo mediante un programa terminal. Resulta algo más cómoda mediante el programa para PC del autor (en VisualBasic 5), que utiliza la librería RSCOM.DLL de Burkhard Kainka, que puede descargarse de esta web [5]. Tanto el software de PC como el firmware para el controlador pueden encontrarse como siempre en la página de Elektor [6]. Por mera simplicidad, en el software se han configurado los puertos A, B y C de IC1 como salidas, y A, B y C del segundo módulo de puertos como entradas. Al activar la tensión de alimentación ambos módulos disparan un 64

+5V

R3

PC

BC547

R1

MOD1

T1 1

27k

2

S1 10k

R2

3 4

RESET

GND

5 6

+5V

+5V

7

2

1

P1.7

8

WR

4

3

P1.6

9

RD

6

5

P1.5

10

CS_I

8

7

P1.4

11

A1

10

9

P1.3

12

A0

12

11

P1.2

13

14

13

P1.1

14

16

15

P1.0

15 16

K1

RXD1 CNVSS

P0.1

RESET

P0.2

XOUT

P0.3

VSS

MODE

XIN

P0.4

VCC

P0.5

P1.7

P0.6

P1.6

R8C/13

31 30 29

IVCC

TXD0/P1.4

P3.0

P1.3

AVSS

P1.2

P3.1

P1.1

AVCC

P1.0

P3.2

P4.5

P3.3

T2

R4 100k

BC557

28 27 26

S2

25

MODE

24

P0.7

RXD0/P1.5

+5V

+5V

32

TXD1

23 22 21 20 19 18 17

+5V R3

C1 1u 16V

D2

IC3 = 74HC14

35

R1

+5V IC3.A 1

26 VCC

PA0 PA1

RESET

PA2 PA3 PA4

K2

PA5

2

1 D0

D0

34

WR

4

3 D1

D1

33

RD

6

5 D2

D2

32

CS_I

8

7 D3

D3

31

A1

10

9 D4

D4

30

A0

12

11 D5

D5

29

14

13 D6

D6

28

16

15 D7

D7

27

D0 D1

IC1

PA6 PA7

D2

PB0

D3

PB1

D4

PB2

D5

82C55

PB3

D6

PB4

D7

PB5 PB6 PB7

IC3.C 1

PC0 36

IC3.D 1

5 6 8 9

PC1 WR

PC2

RD

PC3

CS

PC4

A1

PC5

A0

PC6 GND 7

C2

3k3

R4

+5V

PC7

4 3

D1

1u 16V

26 VCC 35

R2

2 1

PA2 PA3

40 39 38

IC3.B 1

PA4 PA5 D0

34

D1

33

18

D2

32

19

D3

31

20

D4

30

21

D5

29

22

D6

28

23

D7

27

37

24

D0 D1

IC2

PA6 PA7

D2

PB0

D3

PB1

D4

PB2

D5

82C55

PB3

D6

PB4

D7

PB5 PB6

25

PB7

14

PC0

15 16

36

17

5

13

6

12

8

11

9

10

PA0 PA1

RESET

1k

TXD

10k

4k7

R5

1k

Los pines P1.0 a P1.7 del R8C/13 están conectados con las entradas de datos de los componentes nombrados arriba. P3.0 y P3.1 se encargan del direccionamiento de los respectivos puertos. Mediante el pin P3.2 puede seleccionarse el componente con la línea de chip-select /CS. La señal se encuentra directamente en el primer módulo de puertos, y en el segundo está invertida. La comunicación entre PC y R8C (a 9600 Baudios) está codificada de la siguiente forma: el primer byte indica si los datos en un puerto han de escribirse o leerse (1 para escritura, 2 para lectura). El segundo byte incluye la dirección del puerto, pudiendo configurar las direcciones 0 a 3 para el primer módulo, y de 4 a 7 para el segundo. Los bytes de control de la expansión de puertos pueden enviarse mediante las direcciones 3 y 7; encontraremos más detalles en la hoja de datos [4]. En la escritura el tercer byte muestra el patrón de bits que debe de seguirse. En la lectura este patrón del R8C se envía al PC.

RXD

3k3

El famoso módulo procesador del proyecto Elektor R8C [1][2] se programa con gran facilidad y puede utilizarse para tareas de control en multitud de aplicaciones distintas. En las aplicaciones grandes siempre vendrían bien algunas líneas de puerto más. Por ello, aquí presentamos esta sencilla expansión de puertos, en el cual se utilizan dos módulos de puertos 82C55. En total dispondremos de seis puertos de 8 pines cada uno; los puertos pueden configurarse tanto como entradas como salidas. Para la comunicación con el PC mediante el RS232 se utiliza el “sistema minimalista” de la edición de Elektor de Diciembre de 2005 [1]. Gracias al práctico cable USB/TTL [3], en el nuevo cableado podemos ahorrarnos los transistores T1 y T2.

PC1 WR

PC2

RD

PC3

CS

PC4

A1

PC5

A0

PC6 GND

PC7

4 3 2 1 40 39 38 37 18 19 20 21 22 23 24 25 14 15 16 17 13 12 11 10

7

IC3.E 1 110301 - 11

pulso de reset, y sus puertos se configuran como entradas. Tras abrir un puerto COM, en el programa de PC presionamos el botón “preparar 8255_1 y

Personal Download for I © Elektor

8255_2”. Ahora el PC envía sólo los bytes 1, 3 y 128 al R8C/13, lo cual hace que IC1 configure de nuevo todos los puertos como salidas. Ahora, mediante ocho casillas por puerto 7/8-2011

elektor

63414

podemos seleccionar los bits individuales por cada puerto A, B o C que deben activarse o desactivarse. El valor decimal correspondiente del patrón de bits se muestra siempre a la derecha. Finalmente, tras pulsar el botón “Send” se inicia la transferencia de cada byte al microcontrolador, que a su vez controla IC1.

El muestreo de los pines de entrada (puertos A, B y C) de IC2 se lleva a cabo mediante un pooling constante el programa del PC. El estado de los pines se muestra por colores y adicionalmente se visualiza el valor decimal. Naturalmente, el software de PC es sólo el punto de partida, ¡también son posibles otras muchas ampliaciones y adaptaciones!

[1] www.elektor.es/050179-2 [2] www.elektor.es/r8c [3] www.elektor.es/080213 [4] http://www.intersil.com/data/fn/ fn2969.pdf [5] www.b-kainka.de/pcmessfaq.htm [6] www.elektor.es/110301

(110301)

Timbre en cadena A. René Bosch (Holanda) IC1

*

7805

B1

6...9V

El problema: Los vecinos tienen exactamente el mismo timbre que tú (una matraca de 50 Hz). Por eso no siempre se sabe bien dónde llaman a la puerta. Para evitar esta confusión, el autor ha sustituido el timbre existente por uno inalámbrico, lo que supone una solución barata para los precios que hay actualmente. Sólo hace falta que la conexión del timbre antiguo active también el timbre inalámbrico. Abre la caja del timbre inalámbrico y busca los contactos que se cierran al pulsarlo con un polímetro. Estos son los contactos para la salida del relé (ver esquema). El esquema habla por sí solo. En cuanto se activa el pulsador del timbre existente y esta señal lo activa,

D1

RE1

C1

B80C1000

47u 16V

1N4148

*

5V

100451 - 11

un rectificador de onda completa rectifica dicha señal y un 7805 lo estabiliza a 5 V. Con esto se acciona directamente el relé y se cierra el interruptor del timbre inalámbrico. Así,

con un potente Big Ben, el timbre anuncia que alguien está llamando a la puerta. ¡Y ahora a esperar que los vecinos no lean este artículo! (100415)

Adaptador de alto nivel de audio Jörg Ehrig (Alemania) El problema para el cual se diseñó este sencillo circuito surgió de la instalación de un equipo de sonido para un Audi A3. La radio tenía cuatro salidas para altavoces y una salida de línea para un subwoofer. Sin embargo, el A3 ya trae de fábrica un amplificador para los altavoces traseros y el subwoofer ya integrado en el maletero. Por ese motivo, para los altavoces traseros la radio original de Audi sólo tiene salidas de línea. Para reemplazar la radio de Audi sin elektor 7/8-2011

cambiar la instalación de amplificadores descrita, en la nueva radio tendremos que convertir las salidas amplificadas para los altavoces traseros en salidas de línea. La mayoría de adaptadores disponibles comercialmente incluyen pequeños transformadores para el aislamiento galvánico. Éstos generan desplazamientos de fase y distorsiones de mayor o menor intensidad que el autor quería evitar. El resultado puede verse en el circuito mostrado, de un sencillo adaptador sin transformador.

Personal Download for I © Elektor

Las salidas de la mayoría de radios tienen una etapa diferencial push-pull (conexión en puente). No existe salida de masa, sino únicamente salidas con la fase desplazada 180°. Si combinamos una de estas salidas con una resistencia de 100 Ω, obtendremos un punto de masa virtual. La masa resultante es relativamente estable, pues tiene una resistencia interna de tan sólo unos 25 Ω. Cada etapa de salida se carga posteriormente con 200 Ω, lo cual con una potencia de salida de 50 W a 4 Ω tan sólo genera unos 0,5 W de pérdidas por 65

63414

resistencia. Por ello, debería bastar con resistencias de 1 W, especialmente si tenemos en cuenta que la música normal tiene un factor de pico de aproximadamente 5 como mínimo. Incluso si apareciese un pequeño offset en la masa virtual esto no sería un problema, ya que la mayoría de amplificadores tienen entradas diferenciales o al menos masas de potencial flotante a la entrada. Para adaptar el nivel de las señales al de línea, hemos de reducirlas en cada caso mediante un divisor de tensión. Los potenciómetros multivuelta son especialmente aptos para ello. El autor ha utilizado dos potenciómetros de ajuste lineales de 10 kΩ, para reducir la tensión de salida

de 12 VSS a entre 2 y 3 V, lo cual es perfectamente apto como nivel de entrada del amplificador. El ajuste de los potenciómetros ha de hacerse mientras se escucha, fijando el nivel deseado de los altavoces traseros. Para el montaje no hace falta ninguna tarjeta. Las resistencias de 1 W caben bien entre las conexiones de los potenciómetros multivuelta, con lo que el circuito puede montarse bien sin soporte alguno y aislarlo en macarrón termorretráctil. Ya que el circuito no ocupa apenas espacio y su instalación garantiza total flexibilidad, puede colocarse tras la propia radio.

R1 100R

L1

1

R2

L2

P1

100R

10k

2 R3 100R

R1

P2 10k

3

R4

R2

100R

110304 - 11

(110304)

Generador de alta tensión S1

2x 1N4007

9V

C3

100n

3 13 C2

1u 16V

100n

4 2

47k

1

R4

E1

4u7 16V

8

BS170

R19

2k2 C2

DTC E2

11

BS170

T2

10

C10

1IN+

R2

CT

GND

5

7

C1

R18

R1

VREF

1IN-

T1

9

TL494

OC

10k

R5 2k2

C7

14

CIN

C1

100n 400V

2k2

RT 6 R3

D3

2x 1N4007 C5

C6

10u 16V

47u 16V

P2 10k C11

D4

R11 100n 600V

22k

R6

C8

IC1

2IN-

R17

TR1

2M

15

R14

2IN+

100n 400V

*

VCC

2M

C9

16

100n 600V

2M

5k

1k

1k

R9

12

R8 1M

33k

R7

P1

R16 D2

42k3

R15 1k

C4

2M

R10

D1

2M

BT1

22n

R12 200R 110438 - 11

Jac Hettema (Holanda) Este generador de alta tensión fue diseñado con el objetivo de probar las protecciones de descarga del ferrocarril. Estas protecciones se utilizan para evitar que las partes metálicas exteriores lleven una tensión demasiado elevada. Si esto ocurriese, comenzaría a fluir una corriente muy alta (kiloamperios), la protección se fundiría, y formaría un cortocircuito que pondría las partes metálicas a tierra. 66

Esto ocurre, por ejemplo, cuando cae un rayo sobre la catenaria y los postes del ferrocarril. Este generador crea una alta tensión de 1.000 V, pero limita la corriente de salida a varios miliamperios. Con esto se pueden comprobar las protecciones sin que se cortocircuiten. Se han utilizado componentes normales, un regulador de ancho de pulsos del tipo TL494, algunos FET o transistores bipolares de conmutación, un transformador sencillo de unos

Personal Download for I © Elektor

1,4 VA y un multiplicador de tensión. Con P1 se configura la corriente máxima y con P2 la tensión de salida. La utilización de un multiplicador de tensión tiene la ventaja de que la tensión de trabajo de los condensadores de alisamiento puede ser más baja, de modo que son más fáciles de encontrar en el mercado. Se ha optado por el TL494, porque este circuito sigue funcio7/8-2011

elektor

63414

nando a unos 7 V, o sea sigue funcionando cuando las pilas están casi gastadas. Utiliza 6 pilas tipo C para mantener un poco el peso bajo control. Se usa el transformador de red Tr1 de 230 V/2x4 V al revés. Esto significa que el devanado de 4 V tiene que soportar el doble de tensión, pero eso se puede permitir ya que la frecuencia es mucho más alta (unos kilohercios) que los 50 Hz para los que el transformador ha sido diseñado. La versión final se ha equipado de una indicación de la tensión de salida con la que se puede controlar la tensión de ruptura. He aquí un poco de información de fondo desde el punto de vista histórico.

En el pasado se ingenió otro sistema para eso. Cada poste de alta tensión llevaba una protección y no era visible cual de las protecciones se había cortocircuitado debido a la elevada corriente de descarga. Como se trataba de corrientes muy elevadas, el señor Van Ark inventó una solución. Utilizó un tubito de cristal lleno de un líquido con una materia pigmentada de color rojo y una bola de hierro. En el momento en que surgía una corriente de descarga, la bola de hierro subía hacia arriba debido al fuerte campo magnético y con esto se mezclaba la materia pigmentada con el líquido. Esto era visible durante por lo menos 24 horas. Después de un chubasco tormentoso se pudo ver bien

por dónde pasó la corriente de descarga, sólo hizo falta pasar por todos estos tubitos y mirar bien. Sin embargo, esto no funcionó del todo tal y como se esperaba. Como generalmente tardaba mucho en surgir aquella descarga, la materia pigmentada se espesaba demasiado, de manera que cuando surgía finalmente, la materia pigmentada ya no se mezclaba con el líquido y (por desgracia) no se veía nada. Así que se ha dejado de utilizar y se ha incluido en la historia (del ferrocarril) con el nombre ‘las bolas de Van Ark’. (110438)

Divisor de cuentarrevoluciones Sjabbo van Timmeren (Holanda)

+6V...+12V R2

C1 R4 10k R6 T1

R3

10k

10k

R1

10k

10k

El autor es piloto de carreras de clase clásica en el Campeonato Nacional Abierto (ONK) del Club de Motoristas Holandés (KNMV). Recientemente modificó el distribuidor (1 chispa por cada 2 revoluciones) de su motor (un motor de 1 cilindro de 4 tiempos, tipo BSA Goldstar 500 cc) por un encendido electrónico (1 chispa por cada revolución, por lo tanto el doble del número de pulsos). Después de esta modificación, el cuentarrevoluciones dejó de indicar las revoluciones correctas. Un nuevo cuentarrevoluciones apto para encendido electrónico (por ejemplo

100n 100n D2

D1

C2

D3

2x 1N4148

BC547

R5

LED/ 1N4148

10k R7 10k

T2

BC547

el de Krober) es muy caro (cerca de 175 euros). Por eso se buscó en algunas ediciones de verano de Elektor, ¡tenía que poder encontrar una solución electrónica! La encontró rápidamente en forma de monoestable. El circuito que aquí se representa surgió tras varias adaptaciones, con las que el cuentarrevoluciones vuelve a indicar las revoluciones correctas. Problema solucionado por 5 euros, ahorrando así 170 euros y ¡además pasando un buen el rato haciendo arreglos! (100312)

100312 - 11

Conmutador de vídeo para el interfono Jacob Gestman Geradts (Francia) Actualmente existen muchos interfonos equipados con cámara de vídeo, no son sólo para escuchar sino también para ver quien está esperando en la puerta. Sin embargo la lente de la cámara está, por excelencia, en un lugar donde la gente se apoya durante la conversación, así que, en este caso, no se puede ver mucho de la imagen de vídeo. Una solución no es la instalación de una sino de dos cámaelektor 7/8-2011

ras en la calle, preferiblemente con suficiente espacio entre sí. Mostrando alternadamente las dos imágenes, puedes ver lo que ocurre en la puerta, por lo menos la mitad de tiempo. Gracias a este conmutador de vídeo que hay que instalar en la calle, no demasiado lejos de las dos cámaras, puede bastar con un único monitor en casa y no hace faltar tirar cables de vídeo adicionales. Para esto el esquema no contiene sólo un conmutador de vídeo,

Personal Download for I © Elektor

sino también un amplificador de video utilizado muchas veces con éxito en Elektor, del que se puede ajustar el brillo y el contraste por separado. La razón para este añadido es que la distancia entre calle y casa puede llegar a ser bastante grande y de esta manera puedes compensar las pérdidas correspondientes del cable. La parte conmutada está construida con el famoso integrado 4066, del que los interrup67

63414

+12V R5

C3

1k

4k7

C2 1u 25V

100n

IC2.B

R6 14

1k

R1

IC2

IC2 = CD4066

7

3

5 8 7

100k

R2 2 6

T2

4 R

VID1

4

DIS

IC2.C

IC1 TR

OUT

3

8

R4

BC550

1N4148

P1 C7

10n

VID

R7 75R

D1

1u 25V

6

BC560

T1

C6

9

4k7

4k7

C4

C5

2

IC2.D

5 R3

15u 25V

1

1u 25V

VID2 10

THR CV

C1

13

12

NE555

1

11

IC2.A

P2

5k

5k

100n 100587 - 11

tores IC2.A e IC2.D transmiten por turnos una de las dos señales de vídeo, ya que reciben a través de los interruptores IC2.B e IC2.C dos señales de control que están en fases opuestas la una de la otra.

El ritmo con el que se conmutan las señales de vídeo, se genera en un ‘viejo amigo’ 555 que muestra la imagen de cada cámara durante 2 segundos alternadamente con el dimensionado actual.

Por supuesto que puedes utilizar el circuito en muchos otros sitios, por ejemplo, allí donde tenga que haber dos cámaras y sólo haya disponible un cable de vídeo. (100587)

Indicador de descarga para baterías

68

(LM431) fijamos una tensión UZ, que es aproximadamente 0,5 V menor que la tensión de descarga, con la R3 que el LED D2 ha de iluminarse. Este ajuste corresponde con el Ue T1 valor de la resistencia R1. Como se R4 4k7 muestra en el esquema, se ha utiK1 R6 T2 lizado un potenciómetro (R1.A) 1 BT1 en serie con una resistencia (R1.B). 2 2x BC556B Según los valores dados (10 k para el potenciómetro y la resistencia) D2 R puede fijarse una tensión de desR1 R carga más o menos entre 5,5 V y D1 * R5 R7 8 V. Para valores mayores o meno1% R1 R1.A res tendríamos que aumentar o disUz R2 10k minuir R1.B en consecuencia. Uref LM431 Una vez ajustada la U Z deseada TL431 R1.B KA431 1% podemos medir la resistencia resulR1 tante (R1.A + R1.B) y sustituirla por 100330 - 11 una resistencia R1 fija de este valor. Con la batería de 6 células dada en plo, con una batería de seis células la tensión el ejemplo, en el emisor de T1 tenemos una total sería de 7,2 V. En cuanto a la tensión de tensión de 7,2 V. En su base hay 6 V, corresdescarga, asumimos que sea más o menos de pondientes a la tensión de descarga, menos 1 V por célula, o sea que con seis células unos el valor fijado para UZ, o sea 5,5 V (6 V – 0,5 V). 6 V. Aparte, en el diodo Zener ajustable D1 En caso de que debido a la tensión de la bateVCC

330R

10k

100k

220k

470R

Este pequeño circuito fue diseñado para supervisar la batería de la maqueta de un aerodeslizador (hovercraft). El impulso se genera en este modelo mediante un propulsor de aire eléctrico. Para evitar la descarga completa de la batería utilizada, la maqueta dispone de un LED que se encarga de señalizar cuando se alcanza la tensión de descarga de ésta. El circuito puede construirse con unos pocos componentes, para no afectar al peso del modelo. Dispone de tan sólo dos puntos de conexión, en los cuales se mide la tensión a supervisar, a la vez que sirve como alimentación del propio circuito. Lo mejor es conectar el indicador de descarga no directamente a la batería, sino a los contactos del motor. El circuito es apto para tensiones nominales de batería de entre 4,8 V y 9,6 V (de 4 a 8 células, con una tensión por célula de 1,2 V). Por ejem-

10k

Wolfgang Fritz (Alemania)

Personal Download for I © Elektor

7/8-2011

elektor

63414

ría se superen los 0,5  V en UZ , T1 entra en conducción, llevando a T2 al corte, con lo que el LED D2 no estará iluminado. Si la tensión de la batería es inferior a 6 V (UZ + 0,5 V), T1 entra en corte, de modo que T2 conduce y el LED D2 se ilumina. Para que la conmutación sea lo suficientemente estable, mediante R6 obtenemos cierta histéresis, pudiendo variar los valores

de la resistencia entre 100 k y 220 k en caso de necesitarlo. El consumo de corriente propio del circuito es menor a 5 mA (medido con una tensión de batería de 7,2 V). Si el LED está encendido se incrementa en 10 mA (corriente del LED), es decir, asciende a 15 mA. En lugar del diodo Zener ajustable, también puede utilizarse un Zener normal cuyo valor sea

menor en 0,5 V a la tensión de descarga que queremos supervisar. En ese caso prescindimos de las resistencias R1 y R2. En D2 también podemos servirnos de un LED que parpadee (si la resistencia en serie R7). Los que prefieran una alarma acústica simplemente han de sustituir D2 y R7 por un zumbador de corriente continua con su correspondiente alimentación. (100330)

Fuente de corriente para carga conectada a masa la carga está conectada a una masa virtual; pero aún así, es potencialmente útil.

Stephen Bernhoeft (Reino Unido) La creación de una fuente de corriente (a diferencia de un sumidero de corriente) para controlar una carga conectada a masa puede ser un poco complicado. Es verdad que el circuito sugerido hace algo de trampa, ya que

En el circuito están implicados dos lazos de control: el amplificador operacional A1, que mantiene el terminal ‘frío’ de la carga conec tado a la masa vir tual; y A 2, que establece una corriente de I = -V1/R1, la cual también pasa por la carga RL.

RL 100R

R1 1k

A1

A2 V1 0V25 DC

(100934)

100934 - 11

“Shields” para Arduino

BOTTOM VIEW

Michael Gaus (Alemania) La plataforma de microcontrolador Arduino es bastante popular. Probablemente uno de elektor 7/8-2011

los motivos principales sea la gran oferta de tarjetas conectables (“shields”), que contienen hardware adicional y pueden intercam-

Personal Download for I © Elektor

110092 - 11

biarse rápidamente unas por otras. Estos “shields” podemos montarlos por nuestra cuenta con unos pocos componentes. Ya 69

63414

que los conectores correspondientes a las tarjetas de Arduino “Uno”, “Duemilanove” y “Diecimila” se encuentran en el mismo sitio y se encargan de lo mismo, estos “shields” caseros pueden utilizarse en las tres tarjetas controladoras. En cuanto al hardware, sólo necesitamos una tarjeta perforada, así como conectores de 2,54 mm entre pines. Puede verse la posición correcta de los pines en la imagen (vistas en la cara posterior de la tarjeta).

Para el montaje lo mejor es colocar primero los pines en el conector de la tarjeta de Arduino. Ahora metemos los pines en la tarjeta perforada, guardando cierta distancia entre la cara posterior de la tarjeta y el plástico de los pines; después nos tocará soldarlos. Ya que la distancia de los conectores de la tarjeta Arduino no se corresponde con la medida estándar de los de 2,54 mm, habrá que cortar los pines ligeramente.

Si ahora le damos la vuelta a la tarjeta, podremos soldar los nodos de los pines en la cara posterior de la tarjeta perforada. En la foto puede verse un “shield” montado de esta manera. En la cara superior de la tarjeta pueden colocarse los componentes del circuito adicional, y soldarlos por la cara posterior. En este caso los componentes de patillas son ideales para conectarlos directamente con los pines. (110092)

Luz de soldadura para maquetas de trenes Erhard Stark (Alemania)

2

IC1 8

C1

+5VDC

GP0 GP1

GP3/MCLR

PIC10F200

100n

GP2

J1

VSS 7

5 4 3 R1

D1

R2 100R

VDD

100R

Quien posee su propia maqueta de tren y quiere tener en cuenta todos los detalles, sin duda necesitará una luz que simule una soldadura de arco. Este proyecto muestra cómo hace falta poco más que un microcontrolador y el software apropiado. En el circuito que presentamos se utiliza un microcontrolador PIC10F200, que ilumina alternativamente los LEDs D1 y D2 con distintas frecuencias. Para que el efecto del parpadeo de la soldadura sea lo más parecido posible, los LEDs deben colocarse uno al lado de otro. La conexión y desconexión del electrodo se simula mediante breves interrupciones en el parpadeo.

D2

Para apagar la luz, el circuito ha de separarse de la tensión de alimentación, o conectar el pin 8 (GP3) a masa. Esto último puede hacerse elegantemente mediante J1. Con el jumper abierto, la luz de soldadura estará activa. El software del microcontrolador puede descargarse gratuitamente en [1]. La configuración del PIC está ya integrada en el archivo ASM, sin embargo, también puede hacerse manualmente poniendo a 0 todos los bits de configuración. (110085)

[1] www.elektor.es/110085 110085 - 11

Lector de tarjetas MicroSD Albert Bitzer (Alemania) En muchos circuitos con microcontroladores se utilizan lectores de tarjetas SD. Existen multitud de librerías de programación y numerosos ejemplos de aplicación al respecto en Internet. No obstante, en algunos proyectos –como en los de modelismo– un lector de tarjetas SD no es lo suficientemente compacto. Como solución a este problema, aquí proponemos utilizar una tarjeta MicroSD [1], que es más pequeña. La marca Hirose [2] dispone de lectores de tarjetas aptos en su cartera de pro70

Personal Download for I © Elektor

HIROSE DM3A

K1 SW1 DO GND CLK VDD DI CSX GND

8

RESERVED

7

GND

GND

GND

GND

DO

6

GND

5

CLK

4

VDD

3

DI

2

CSX

1

NC

SW1

VSS

C1 100n 110044 - 11

7/8-2011

elektor

63414

ductos, que pueden adquirirse por ejemplo en Farnell [3], HBE [3a] o Digikey [4]. El DM3 está disponible en tres versiones: el DM3A del tipo push-push, el DM3C, una ligera variante, y el DM3D, con el diseño estándar. El lector de tarjetas puede montarse bien incluso con un soldador normal. Para que un aficionado a la electrónica en miniatura lo tenga todavía más fácil, el autor ha creado una pequeña librería en Eagle que incluye las

tres versiones. El archivo Zip puede descargarse de la página de Elektor [5]. También se incluye una tarjeta a modo de adaptador o de experimentos para añadir pines a las conexiones del lector DM3A, que puede conectarse fácilmente a un microcontrolador (por ejemplo en una tarjeta perforada).

[1] www.sdcard.org/developers/tech/ sdcard#microsd [2] www.hirose.de [3] http://de.farnell.com [3a] www.hbe-shop.de [4] http://dkc1.digikey.com/se/en/tod/ Hirose/DM3/DM3.html [5] www.elektor.es/110044 (110044)

Sencillo generador y probador de onda cuadrada 47R D2, D3, D5 =

1N4001

+VEE

R10

D2 C9

C10

100n

470u 25V

C6 470u

D4

GND 25V C7

S1

S2

S3

3

S4

7

IC1 TBA820M

1

5

8

22R

R5

470u 25V

4 P1

15k 220k

R4

D3

C8

R7

220n C2

C3

C4

C5

10n 63V

100n 63V

1u 63V

10u 25V

100u 25V

R1

C11

R12 22R

D1

OUT3 OUT4

P2

470R R8

S6

OUT5

3R3

C1

OUT1 OUT2

R6

1W

4k7

R2

K2

C12

300R

150R

R9 47p

30R

2

S5

2R2

R11

6

5k1

Este generador y probador de onda cuadrada está basado en el circuito integrado (CI) amplificador de audio TBA820M. Ha sido presentado como una idea de diseño para poder hacer un refinamiento adicional y optimización de valores componentes por medio de experimentos. El circuito tiene cinco rangos de frecuencia que cubren desde < 0,1 Hz hasta > 70 kHz. Será muy útil para probar cables, equipos de comunicación, interfaces eléctricos, altavoces, auriculares, bombillas, transformadores, LEDs, acopladores, inductores, zumbadores, equipos de ultrasonido, etc. o dondequiera que necesitemos una señal en el rango de menos de 0,1 Hz hasta más allá de los 25 kHz, con posibilidad de control de frecuencia, amplitud y capacidad. Por ejemplo, el control de cargas capacitivas o inductivas de gran valor no es ningún problema, ni suministrar hasta un vatio de potencia de salida. Los rangos de frecuencia del generador son seleccionados con los conmutadores S1–S4. Para poder usar un conmutador DIP con cuatro posiciones, el condensador más pequeño, C1, está siempre conectado, pero no hay ninguna objeción a añadir un quinto interruptor. Con un valor de C1 de unos 10 nF y una resistencia total de 15 kΩ entre los terminales 5 y 3 del CI TBA820M, la frecuencia de salida máxima es del orden de 70 a 100 kHz. Sin embargo, con la idea en mente de poder hacer un montaje, se recomienda limitar la frecuencia por debajo de los 50 kHz. D5 y R11 proporcionan un camino de descarga y una resistencia de protección para los condensadores más grandes. El interruptor S5 permite que la componente DC del TBA820M elektor 7/8-2011

R3

D5

4k7

Petre Tzvetanov Petrov (Bulgaria)

K1

47u 25V

GND 100763 - 11

sea bloqueada o pasada a las salidas del generador. S6 deberá estar cerrado cuando se esté trabajando con cargas reactivas elevadas, para eliminar las oscilaciones de alta frecuencia no deseadas. El potenciómetro P1 controla la frecuencia de la señal de salida. OUT1 es la salida principal protegida con la resistencia R9. Esta resistencia se utiliza para probar circuitos no conocidos donde podrían estar presentes grandes capacidades o inductancias, o para circuitos en los que ellos mismos presentan unos pocos voltios. La resistencia R9 puede ser dimensionada para satisfacer los requisitos de la aplicación y puede tomar valores entre 22 y 100 ohmios, con una disipación de entre 0,5 y 2 vatios. OUT2 es la salida directa del circuito integrado. Esta salida se emplea para probar altavoces, transformadores, líneas que sepamos

Personal Download for I © Elektor

que no tienen ninguna tensión en sus extremos, etc. La potencia de salida depende de la fuente de alimentación y es de, aproximadamente, 2 W sobre 8Ω, con VEE = 12 V. La carga afecta a la frecuencia y la amplitud de la señal OUT2, en pequeño grado, pero esto no afecta en la mayoría de las aplicaciones. OUT3 es una salida controlada por nivel que utiliza el potenciómetro P2. Esta salida está protegida por R12 que toma un valor de entre 22 y 220 Ω, según la aplicación. La salida es usada para probar auriculares, líneas de audio, pequeños altavoces, transformadores, amplificadores, zumbadores, LEDs, etc. Las salidas OUT4 y OUT5 son usadas principalmente para probar amplificadores, líneas y auriculares, pero seguro que encontramos muchas otras aplicaciones. La amplitud de 71

63414

OUT4 es una décima parte de OUT2 y la amplitud de OUT5 es la 1/100 (centésima) parte. Todas las salidas están protegidas contra cortocircuitos a masa. Los diodos D2 y D3 proporcionan una protección de baja-tensión y de sobre-tensión en cada salida. El “slew rate” de la señal de salida del generador, sin carga adicional, es de más de 20 V/μs y depende ligeramente de la marca del

TBA802M usado y del método de conexionado (PCB o cableado libre). R2 y P1, juntos, presentan un rango de resistencia que va desde 15 kΩ a, aproximadamente, 250 kΩ. Aunque el generador trabaje con un potenciómetro de 1 MΩ, hay una pequeña ventaja de la que aprovecharse, debido a las altas capacidades e inductancias parásitas y al ruido. Por otra parte, un potenciómetro lineal adicio-

nal, con un valor equivalente al 5-10 % del de P1, podría colocarse en serie con P1 para conseguir una mejor precisión en el ajuste de la frecuencia. La tensión de alimentación del generador es relativamente amplia: de 4–16 VDC (conexión VEE). El componente está perfectamente capacitado para funcionar con una batería de coche de 12 voltios, con una tensión típica de unos 13,2 V. (100763)

Programador SCAP-AVR Michael Gaus (Alemania)

72

Personal Download for I © Elektor

1 MISO

3 SCK

5 RESET

2

MOSI 4

GND 6

He aquí una llamada de ejemplo para AVRA muchos principiantes en los AVRs les gusDUDE, para programar con el archivo hexadeK1 taría montarse de forma asequible su procimal test.hex la memoria flash del ATmega8 1 pio programador, sin embargo, a menudo mediante el SCAP conectado en el COM1 (gra6 2 7 R2 nos topamos con el problema del huevo y la cias al parámetro por línea de comandos -p m8): K2 3 22k 8 ISP 4 gallina: 22k 9 5 avrdude -P com1 -p m8 -c scap -i R1 El programador AVR que vamos a cons300 -U flash:w:test.hex:i truir utiliza por su cuenta un controlador SUB D9 AVR, que naturalmente ha de ser prograEl retardo para el reloj en SCK ha de fijarse mado previamente con un firmware, para 110087 - 11 mediante el comando por línea “-i 300” a lo cual sin embargo hace falta primero un 300 µs. Esta programación tarda relativaprogramador... Aquí entra en juego el SCAP (Serial Cheap AVR corresponde con el conector estándar ISP de mente bastante tiempo. Dependiendo del puerto (el tradicional RS232 o bien el conProgrammer): un programador AVR muy sim- 6 pines de Atmel. ple con el mínimo número de componentes y Una herramienta de programación universal- versor USB-RS232) el valor puede reducirse conexión con el PC mediante el puerto RS232, mente conocida, que es perfecta para confi- hasta 50, con lo que la programación será o si nos servimos de un conversor USB-RS232, gurar fácilmente el control del SCAP, es el más rápida. Bueno, realmente cuando el SCAP famoso software de código abierto AVRDUDE soluciona el problema del huevo y la gallina, también mediante el puerto USB. El circuito incorpora un conector SUB-D de 9 (véase [1] y [2]). En el archivo de configuración poco importa que la programación se tome algo más de tiempo. pines (K1), que se conecta en el puerto serie avrdude.conf se incluye la siguiente sección: del PC (RS232 o conversor USB-RS232). Ya que este cir# -------------------------------------------------------------------------------cuito incorpora diodos de # Serial Cheap AVR Programmer (SCAP) protección preexistentes # reset=rts sck=dtr mosi=txd miso=dcd internamente en el AVR en programmer los pines de I/O a VCC y GND, id = "scap"; las resistencias R1 y R2 han desc = "Serial Cheap AVR Programmer, reset=rts sck=dtr mosi=txd miso=dcd"; de encargarse de limitar la type = serbb; corriente. En cualquier caso, reset = 7; la corriente que circule por sck = 4; mosi = 3; los diodos ha de ser menor de miso = 1; 1 mA. El puerto RS232 sumi; nistra niveles de hasta ±15 V. # -------------------------------------------------------------------------------A -15 V el diodo de protección interno del AVR a GND limita (110087) la tensión en el pin de I/O a un valor mayor de Al programador se le otorga el nombre “scap”, -0,7 V. A +15 V dicho diodo interno del AVR y puede seleccionarse mediante el parámetro a VCC limita esta tensión a un valor inferior a de la línea de comandos “-c scap”. VCC + 0,7 V. El motivo de estas resistencias de El pin de reset ha de definirse en AVRDUDE, en Enlaces: relativo alto valor R1 y R2 es que la recarga de el circuito se ha fijado a GND. En caso de que [1] AVRDUDE: las capacidades internas en los pones del AVR AVRDUDE no detecte tener conexión con el www.nongnu.org/avrdude/ tarda más que las señales push-pull directas, AVR, entonces ha de apagarse y encenderse con lo que la frecuencia de la línea del reloj brevemente la tensión de alimentación del [2] AVRDUDE Versión para Windows: www.mikrocontroller.net/ SCK no ha de ser demasiado grande para evi- AVR programado, para que este lleve a cabo tar interferencias. La asignación de K2 se un reset. attachment/69851/avrdude-5.10.zip 7/8-2011

elektor

63414

¡Suscríbete ahora a la revista americana líder en el campo de los microcontroladores y los sistemas embebidos! Elige la suscripción que desees en www.elektor.com/cc-subs

12 ediciones al año por solo Digital: 38$ Impreso: 63$ Digital + Impreso: 90$

Personal Download for I © Elektor

63414

Filtro de medición para clase D Ton Giesberts (Laboratorio de Elektor) Este filtro es una versión mejorada del que ya publicamos hace seis años (Passive 9th-order Elliptical Filter, Julio 2005, [1]). Fue diseñado para poder hacer mediciones al amplificador clase T (ClariTy, Junio 2004, [2]). La precisión de nuestros aparatos de medición disminuye si hay gran presencia de componentes de frecuencia que están por encima de 200 kHz. De ahí la necesidad de filtrarlos con un filtro de corte muy pronunciado. El empeño en este diseño es la creación de un filtro con poca distorsión a 20 kHz y que pueda soportar tensiones elevadas, apto para las etapas finales clase D más potentes. Los va-

R1

1k

R2 59R0

7W

C1 0

C7

C11

C15

120p C4

680p C8

1n C12

270p C16

6p8 L1 1mH15

120p L2 689uH

120p L3 557uH

220p L4 802uH

C2

C5

1n

1n

C6 270p

C9

C13

C10

680p 180p

1n

K2 R3 1k

K1

C3

C14

C17

0

C18

680p 0

7W

C19

P1 100R

5p...57p

100540 - 11

lores teóricos son iguales a los del esquema original y el esquema casi no ha cambiado. La mejoría más importante está en la realización práctica de las bobinas. Estas son ahora bastante más grandes y con una rendija de aire, lo que favorece la distorsión. En la cantidad indicada de espiras de cada bobina, se ha partido del valor teórico del factor de inductividad del material del núcleo (AL). Quien disponga de un medidor L preciso, puede medir la bobina antes de soldarla en la

placa. Hacer que las bobinas tengan el valor exacto no siempre será posible, porque hay que hacer una media espira como mínimo. Mide la bobina después de poner las espiras y calcula el valor AL real con la fórmula: AL = L/N2, donde L significa la inducción medida y N el número de espiras. Después puedes calcular de nuevo la cantidad de espiras que mejor se

+3

+6

+0

+0

-3

-6

-6

-12

-9

-18

-12

-24

-15

-30

d B -18 r

d B -36 r

A

A

-21 -24

74

-48 -54

-30

-60

-33

-66

-36

-72

-39

A

-42

-27

-42 20

aproxima. Si necesitas menos espiras, puedes simplemente quitarlas. Si necesitas más, puedes conectar una nueva espira a un terminal y conectarla a un tercer terminal. Mira bien el diseño de la placa (se puede descargar de forma gratuita en [3]) para ver entre qué terminales hay que conectar la bobina. Ambos lados de los soportes de las bobinas tienen seis conexiones en una fila. Tres terminales de un lado están interconectados con tres terminales del otro lado. Lo más práctico

-78 50

100

200

500

1k

2k

Hz

5k

10k

20k

50k

100k 200k 100540 - 12

B

-84 100k

Personal Download for I © Elektor

200k

300k

Hz

400k

500k

600k

700k 800k

1M

100540 - 13

7/8-2011

elektor

63414

es conectar los finales del hilo de la bobina con los dos primeros terminales, terminales 1 y 12. Si se requiere una espira adicional para corregir el valor de inducción, puedes conectarla entre el primer terminal y el segundo (o el undécimo y duodécimo). Entonces puedes cortar el primer terminal hasta la base de plástico (duodécimo) en la que el hilo estaba conectado al principio, de modo que ya no pueda hacer contacto con la placa. De esta manera, corregimos tres de las cuatro bobinas que creamos para nuestro prototipo. Los valores medidos para L1...L4 son en nuestro caso: 1,16 mH, 689 µH, 555 µH y 816 µH.

Puedes ver la gráfica de respuesta en frecuencia de la banda de paso en la figura A. La amplitud sólo ha perdido 0,17 dB a 20 kHz (en comparación con la de 1 kHz) y 39 dB a 204 kHz. Si comparamos esta gráfica con la gráfica de respuesta en frecuencia B del artículo de julio 2005, podemos ver que el rizado hasta 180 kHz es más bajo. La causa de esto hay que buscarla en el factor Q más bajo de las bobinas ahora utilizadas, de modo que la curva se desvía un poco del rizado teórico propio de los filtros elípticos. Puedes ver la gráfica de respuesta en frecuencia de la banda de paso y la banda de bloqueo en la figura B. Las frecuencias de la

banda de bloqueo se atenúan más de 60 dB con la excepción de un bultito alrededor de los 800 kHz. El bultito se atribuye a todo tipo de tolerancias, también a las de los condensadores de 1%. Hemos probado el filtro con la tensión de salida máxima de nuestro analizador, 13 V. Puedes ver la distorsión del filtro a esta tensión en la figura C. La curva es más o menos igual que el límite inferior de nuestro analizador. En el futuro queremos desarrollar un amplificador especial capaz de proporcionar 70 Veff a 20 kHz con una distorsión extremadamente baja. Entonces volveremos con una curva en la cual trazamos la tensión

Lista de materiales Resistencias: R1,R3 = 1 k, 5%, 7 W (Tyco Electronics ER581K0JT) R2 = 59Ω, 1%, 0W6* P1 = 100Ω, 10%, 0W5 potenciómetro de ajuste de 24 vueltas (Vishay Spectrol M64W101KB40)

Condensadores: C1,C14,C18 = no utilizado C2,C5,C11,C13 = 1 nF, 1%, 500 V, plata mica (Cornell Dubilier CD19FD102FO3F) C3,C8,C12 = 120 pF, 1%, 500 V, plata mica (Cornell Dubilier CD15FD121FO3F) C4 = 6p8, 1%, 500 V, plata mica (Cornell Dubilier CD15CD(6.8)DO3F) C6,C15 = 270 pF, 1%, 500 V, plata mica (Cornell Dubilier CD15FD271FO3F) C7,C9,C17 = 680 pF, 1%, 500 V, plata mica (Cornell Dubilier CD19FD681FO3F) C10 = 180 pF, 1%, 500 V, plata mica (Cornell Dubilier CD15FD181FO3F) C16 = 220 pF, 1%, 500 V, plata mica (Cornell Dubilier CD15FD221FO3F) C19 = 5/57 pF, 250 V, condensador de ajuste PTFE (Vishay BCcomponents BFC2 809 08003)

Bobinas: L1 = 1m15, 85 espiras de 0,8 mm de hilo de cobre esmaltado* L2 = 689 µH, 65.5 espiras de 0,8 mm de hilo de cobre esmaltado * L3 = 557 µH, 59 espiras de 0,8 mm de hilo de cobre esmaltado * L4 = 802 µH, 71 espiras de 0,8 mm de hilo de cobre esmaltado *

Varios: K1,K2 = Conector BNC acodado para placa impresa, 75 Ω (Tyco Electronics 1-1478032-0) Arandela de seguridad, BNC / TNC (Tyco Electronics 1-1634817-0) Tuerca, BNC / TNC (Tyco Electronics 1-1634816-0) L1...L4 = RM14 juego de núcleos, 160nH (AL) N41 (Epcos B65887E160A41), por ejemplo RS #212-6772

elektor 7/8-2011

RM14 soporte de bobina de 12 terminales (Epcos B65888C1512T1), por ejemplo RS #212-6839 RM 14 abrazadera, muelle de acero inoxidable (Epcos B65888A2002X, 2 por bobina), por ejemplo RS #647-9323

Personal Download for I © Elektor

RM 14 placa aislante, base (Epcos B65888B2005X), por ejemplo RS #180-121 0,8 mm hilo de cobre lacado (Pro Power ECW0.80) * ver texto

75

63414

de entrada contra la distorsión. 10 La distorsión a 1 kHz y un ancho 5 de banda de 22 kHz es menor del 2 1 0,00018%. La distorsión + ruido 0.5 (THD+N) aumenta algo a unos 0.2 0,00028% con un ancho de banda 0.1 de 80 kHz. La distorsión alcanza 0.05 % 0.02 cerca del 0,0004% a un ancho de 0.01 banda de 20 kHz y 80 kHz. 0.005 Como el filtro soporta ahora ten0.002 siones más altas, se ha empleado 0.001 0.0005 resistencias de potencia. Parti0.0002 mos de 70 Veff en 1 kΩ (unos 5 W; 0.0001 20 las resistencias descritas en la lista de materiales son de 7 W). La C resistencia de entrada está compuesta por una resistencia de potencia y una resistencia más pequeña. Aconsejamos medir R1 y calcular R2. Juntas tienen que tener el valor de 1060 Ω. En nuestro prototipo hemos sustituido R2 por una resistencia de 73,2 Ω como compensación a la tolerancia de R1. Con P1 (multivuelta) en la salida puedes ajustar la atenuación a exactamente dos veces

de aire con diferentes tamaños, pero también hay núcleos de aire sin rendija. Nosotros optamos por la rendija de aire más grande (valor AL más pequeño). Por eso hay que colocar más espiras y puedes ajustar mejor la bobina al valor teórico. Otra ventaja de la rendija de aire es que la tolerancia del factor de inducción (AL) sólo alcanza +/-3%. ¡Sin la rendija de aire alcanzaría +30/-20%! (100540) 50

100

200

500

Hz

1k

2k

5k

10k

a una frecuencia de 1 kHz. Con C19 puedes compensar la capacidad parasitaria (utilidad más teórica que práctica) del cable en la entrada del analizador. Cuando reconstruyas este filtro, hay que prestar mucha atención al pedir el juego de núcleos correcto (ver el número de tipo en la lista de materiales). Hay versiones de rendijas

20k

100540 - 14

Enlaces Web: [1] www.elektor.com/044042 [2] www.elektor.com/030217 [3] www.elektor.es/100540

Timbre WAV Michael Gaus (Alemania) Este timbre electrónico con el ATmega328P es en realidad un pequeño reproductor WAV, que se activa mediante el pulsador del timbre y reproduce un breve archivo WAV con la unidad PWM integrada. De este modo podemos tener en nuestro timbre tonos individuales al igual que ocurre en los teléfonos móviles, que podemos cargar por nuestra cuenta. Los archivos WAV se almacenan en la memoria flash que incorpora el microcontrolador, no se necesita una memoria adicional. Para apañárnoslas con el mínimo número posible de componentes, hemos prescindido del filtro paso bajo en la salida PWM del controlador AVR. En lugar de eso, se ha conectado un pequeño altavoz directamente a través de un condensador electrolítico y una resistencia en serie. Hemos de advertir que no puede conectarse ningún amplificador ni altavoz activo sin el filtro paso bajo necesario, ya que podrían dañarse con la señal PWM sin filtrar. Inmediatamente después de conectar la alimentación, el sonido almacenado en el tim76

+5V

LP2950CZ-5.0 IC2

C2

14 15

1u 16V

16 17

BT1

18 C3

9V

100n

19 23 24 25 26 27 28

20

7

AVCC

VCC PC6(RESET)

PB0(ICP1)

1

PB1(OC1A) PB2(SS/OC1B) PB3(MOSI/OC2)

PD0(RXD)

IC1

PB4(MISO)

PD1(TXD)

PB5(SCK)

PD2(INT0)

ATMEGA328P PD3(INT1) (DIP)

PC0(ADC0)

PD4(XCK/T0)

PC1(ADC1)

PD5(T1)

PC2(ADC2)

PD6(AIN0)

PC3(ADC3)

PD7(AIN1)

PC4(ADC4/SDA) PC5(ADC5/SCL) GND XTAL1 22

9

AREF XTAL2 10

GND

2 3 4 5 6 11 12

P1

13

C1

100R

21 S1

100u 16V LS1

8 8 110080 - 11

bre se reproducirá y el controlador AVR pasará al modo standby de bajo consumo. Al pulsar

Personal Download for I © Elektor

el botón, sale de este modo standby e inicia la reproducción del archivo WAV. 7/8-2011

elektor

63414

Los archivos WAV deben tener el siguiente formato: RIFF-WAVE Format/PCM, 8 bits, mono y con muestreo de 8 kHz. La memoria flash del ATmega328 es de 32 KB. Se ha reservado 1 KB para el firmware (o sea, 1024 Bytes), con lo que el archivo WAV puede tener un tamaño máximo de 31744 bytes. Esto corresponde a un tiempo total de reproducción de casi 4 segundos. El firmware se almacena en el área de 0x00000x03FF, a partir de 0x0400 empieza los datos en WAV. Si el archivo WAV no se encuentra en el formato PCM nombrado arriba, podemos convertirlo mediante la herramienta freeware Audacity [1]. Abrimos el archivo en Audacity y abajo a la izquierda seleccionamos en “tasa de proyecto” 8000 Hz. Además, también podemos marcar y cortar las partes del archivo WAV que queramos, para determinar por ejemplo cuando empieza y cuando acaba. Para convertir los archivos de formato estéreo a mono, hacemos clic en el cuadro con el nombre del archivo y seleccionamos “dividir pistas estéreo”. Después podemos por ejemplo eliminar el canal derecho haciendo clic en la X, y seleccionando en el canal izquierdo la pequeña flecha de “mono”. En “editar” => “configuración” hemos de fijar el “formato de

archivo” como “WAV (Microsoft 8 bit PCM)” sin comprimir. Para guardar el archivo, seleccionamos el área deseada y en “archivo” pinchamos en “exportar a WAV”. Ahora ya deberíamos tener el archivo en el formato correcto. En el explorador de Windows hacemos clic derecho sobre el archivo, después en “propiedades” y en “resumen” podremos chequear el formato otra vez. Para pasar el archivo WAV a hexadecimal a la hora de programar el ATmega328P, hemos utilizado la herramienta “hex2bin” [2]. Ésta convierte los archivos WAV binarios a formato Intelhex e inserta los datos hexadecimales que contienen el código del AVR. Así, se genera un hexadecimal que contiene tanto el firmware como el archivo WAV, con el cual se programa el ATmega328P. La rutina de conversión completa se inicia mediante el archivo de batch “convert.bat”. El firmware lee de la cabecera del WAV el tamaño de los datos y los reproduce según la longitud correcta. El hexadecimal ya listo consiste en el firmware con un archivo WAV. En el archivo ZIP se encuentra un WAV que incluye el sonido de un gong (“dingdong”), con el nombre “tuergong.hex”. Éste ya puede programarse direc-

tamente en el ATmega328P. No obstante, en el subdirectorio “firmware/default” se incluye el archivo “code.hex” que consta únicamente del firmware (es decir, sin el WAV integrado). Hemos de utilizarlo a la hora de integrar nuestro propio archivo WAV, sirviéndonos de la rutina de batch (anteriormente nombrada) para integrar el hexadecimal. El código para el ATmega328P se ha generado en AVR-Studio mediante el compilador en C gratuito WINAVR. El proyecto completo, archivo hexadecimal incuido, está disponible en la carpeta “firmware” del archivo ZIP (que puede descargarse en [3]). Hemos de programar los bits de fusibles de la AVR de la siguiente forma: Low-Fuse: 0xE2, High-Fuse: 0xD9, ExtendedFuse: 0xFF (110080)

Enlaces: [1] http://audacity.sourceforge.net [2] http://hex2bin.sourceforge.net [3] www.elektor.es/110080

Cargador USB a pedales Von Werner Wille (D)

La tensión alterna que suministra la dinamo de la bicicleta es conver tida a continua mediante un puente rectificador (D1-D4) y un condensador de carga (C1). Para el rectificador se utilizan diodos Schottky, ya que su caída de tensión es alrededor de la mitad de la de un diodo de silicio normal (unos 0,3 V en lugar de 0,75 V por diodo a 1 A). Esto también es necesario debido a que el regulador LT1076-CT5 utilizado requiere unos 8 V para suministrar a la salida 5 V, y alimentar o recargar los dispositivos móviles conectados en el puerto USB. El condensador C1 se carga elektor 7/8-2011

+UUSB

* LT1076-CT5 D1

D3

C C1

3

D2

D4

1000u 35V

L1

4

IC1

5

FB

100uH

1

K2 1

2 1k5

Quien pasea a menudo en bicicleta quizás ha pensado alguna vez en cargar sus dispositivos móviles como el teléfono o el navegador con la “corriente de abordo” de la dinamo. Como muestra el circuito aquí presentado, gracias al uso de un regulador integrado la parte electrónica no resulta demasiado compleja.

C3

R1

C2 33n

D5

470u 16V

2 3 4

+5V D– D+ GND

USB-A

K1 D1...D5 = SB540 G1

100676 - 11

6V/3W

mediante el puente rectificador a la tensión de pico de alterna, que particularmente en

Personal Download for I © Elektor

una dinamo de eje suele ser de unos 10 V. Una vez cargado, lógicamente su tensión media 77

63414

es menor, pero para el LT1076-CT5 sigue siendo suficiente, al menos si utilizamos diodos Schottky para el rectificador y 1000 μF (o incluso más) para C1. El LT1076-CT5 es un convertidor reductor integrado de 2 A, cuya tensión de salida se fija internamente a 5 V si conectamos su pin de realimentación FB (el pin 1 del integrado) directamente con la tensión de salida del condensador electrolítico C3. Ya que se trata de un regulador, C3 ha de ser de baja ESR (por

ejemplo la serie FC de Panasonic). La conexión del integrado se corresponde con el circuito de aplicación estándar descrito en la hoja de datos [1] de Linear Technology. La inductancia de 100 μH utilizada para L1 ha de soportar un mínimo de 1 A en DC (DC-R pequeña, de unos 0,3 Ω). El circuito puede montarse fácilmente en una tarjeta perforada. Como cable USB a la salida se ha utilizado un alargador dividido en dos, soldando el puerto USB a ambos pines de

salida de la tarjeta. Naturalmente hemos de estar atentos a la polaridad correcta. Para protegerlo de las inclemencias del tiempo, tras soldar la tarjeta lo mejor es fijar el cable (por ejemplo con un clip de sujeción) y recubrir la entrada y la salida con resina. 100676

[1] www.linear.com/product/LT1076-5

ATM18 – Anti-gritón Grégory Ester (Francia)

78

MIC

L

R

L R

R1

GND

10k

GND

K1

PC0

R

ATM18

L P1 2k2 LIN

R2

GND

2k2

Cuando se desea adquirir una buena obra técnica, tendemos a limitar los criterios de la búsqueda a la familia a la cual pertenece el microcontrolador (el AVR de Atmel, por ejemplo), y al lenguaje de programación al que estamos acostumbrados a usar, BASCOM-AVR, por citar sólo éste. Pues bien, ¡estamos equivocados! A la lectura del estreno del libro de Bert van Dam, llamado «50 nuevas aplicaciones de microcontroladores PIC» [1], podríamos pensar que los montajes que abordan, de manera sistemática y muy detallada, la programación de los PIC 16/18 en lenguaje JAL, son incompatibles con nuestras costumbres. O, nos gustaría realizar todas estas aplicaciones sin tener que adentrarnos en un nuevo lenguaje y sin invertir en un nuevo programador. Entonces, ¿por qué no inspirarse en las ideas del autor manteniéndonos fieles a nuestras costumbres? ¡Sería una pena privarnos de una buena realización en concordancia! La descripción del montaje «Anti-gritón» cuya cuestión es aquí introducida por estas palabras: «¿Nunca ha soñado con un medio no violento de alejar estos grupos de gente grosera y ruidosa que no paran de detenerse bajo su ventana apacible? […] Si somos adolescentes, este proyecto nos permitirá realizar una señal secreta e inaudible para los adultos!» El sonido muy agudo, de 16 kHz, que vamos a generar será desagradable, sobre todo entre los adolescentes y niños para los cuales el

GND 110397 - 11

oído es todavía «nuevo”. Una placa ATM18 [2] y un zumbador conectado a PC0 del ATM18, en serie con una resistencia de 100 Ω, son los ingredientes principales. Lo “aderezamos” todo con un pequeño programa, escrito en BASCOM-AVR, y obtendremos nuestro repelente de gritones. El zumbador piezoeléctrico posee una membrana conectada a un cristal. Vamos a utilizar un terminal de nuestro microcontrolador para hacer vibrar la membrana a una cierta frecuencia y, así, emitir un sonido que se va a hacer insoportable.

Personal Download for I © Elektor

Para producir una señal cuadrada a una frecuencia definida, vamos a utilizar el temporizador timer0. Con cada pulso recibido, se incrementa el temporizador timer0 y se genera una interrupción cuando el registro se desborda. El registro que contiene el estado del contador es accesible en escritura, con lo que es posible fijar un valor inicial de precarga que modificará la frecuencia de desbordamiento. El desbordamiento vuelve a colocar el contador a cero, en la rutina de interrupción, con lo que habrá que cargar cada vez el registro con el valor de inicio. La frecuencia del cristal de cuarzo es de 16 MHz. Demasiado elevada, por lo que vamos a utilizar un predivisor. Con una pre-división de 8 y si, a cada desbordamiento de timer0, invertimos la salida PC0, la fórmula F =16 x10 6/8 /preload_ value / 2 nos permitirá obtener directamente la frecuencia sonora en función al valor de precarga (preload_ value). En teoría, el valor de 62 nos permite la generación de una frecuencia de 16,1 kHz. Las tareas inherentes al funcionamiento del microcontrolador toman su tiempo, por lo que se genera una señal diferente entre la teoría y la realidad. En la práctica se midió una frecuencia de 16,1 kHz para un valor preload_value de 55. ¿Cómo probar este montaje si somos un adulto de más de 30 años?, ya que, en ese caso, nuestro oído corre el peligro de no ser sensible al sonido emitido. Pues bien, con el 7/8-2011

elektor

63414

analizador de espectro software propuesto gratuitamente por Bert van Dam. Cuando se es viejo, hay que estar equipado con el equipo adecuado… dirán algunos. El montaje propuesto por Bert permite bajar la tensión máxima de la entrada de micrófono de la placa de sonido de 5 V a unos 0,9 V. Atención, un mal cableado podría provocar daños irreversibles en su PC. Después de haber descargado y descomprimido el fichero disponible gratuitamente [1], copiaremos y pegaremos el fichero VBRUN300.DLL del directorio Señal Generator, en el directorio Frequency Analyser. El micrófono de su PC debe estar activado y su control de volumen ajustado al máximo.

Antes de alimentar el montaje, ajustaremos el potenciómetro P1 del interfaz de protección a cero. Pulsaremos dos veces sobre el fichero ejecutable Analyser.exe y, después, un clic sobre Run para arrancar el programa. Gire el botón del potenciómetro hasta que aparezca un pico de la señal. Haga clic con el ratón cerca de la cresta para desplazar la línea azul. El pequeño trazo rojo en la captura de pantalla va a buscar la señal más fuerte situada en las proximidades de la línea azul. Los valores son visibles abajo, a la derecha, al lado del botón Stop. Una vez acabado este proyecto, haced como Bert, esperad a que sus niños vengan a visitarle a su despacho, ponga inocentemente el circuito bajo tensión y espere… Las reac-

ciones no se hacen esperar y el veredicto no tiene apelación, ¡nuestro repulsivo funciona! ¡Adiós a los niños, papá aún tiene algo de trabajo! Hay que señalar que, en ciertos países, el uso de un dispositivo de este tipo está prohibido. (110397)

Enlaces en Internet [1] www.elektor.fr/extra/livre50-nouvelles-applications-amicrocontroleur.1542238.lynkx [2] www.elektor.es/atm18 [3] www.elektor.es/110397

Limitador de tensión para amplificadores

En los amplificadores de guitarra con etapas de salida integradas como el TDA7293 (100 vatios) o el LM3886 (68 vatios) a veces ocurre que dichos integrados se estropean debido a la alta tensión de funcionamiento en reposo. Obviamente los transformadores están dimensionados demasiado justos, con lo que si tenemos tensiones de red más altas de lo normal puede darse este problema. Sin embargo, con nuestro margen la tensión de red puede ser de hasta 253 V (230 V ±10 %). Ya que cambiar el transformador sería más costoso, el autor ha diseñado otra solución electrónica relativamente simple como protección ante sobretensiones: un limitador de tensión para la alimentación simétrica del amplificador. El circuito utiliza el principio clásico de un estabilizador de tensión con un diodo Zener en la base del transistor. Sin embargo, aquí se utiliza un MOSFET de potencia en lugar de un transistor bipolar. Ya que el circuito se ha diseñado de forma simétrica para disponer de alimentación positiva y negativa, en adelante se describe sólo la parte positiva. La tensión de entrada (50 V como máximo) alimenta a través de R3 los diodos Zener D1, D2, D3 conectados en serie. La corriente a través de éstos está limitada por R3 a unos 5 mA. elektor 7/8-2011

Personal Download for I © Elektor

IRFP240

+VIN

R3 2k2

560R

Alfred Rosenkränzer (Alemania)

La conexión en serie de los diodos Zener tiene la ventaja de que las pérdidas de potencia se reparten, aparte, si elegimos los diodos adecuadamente podemos alcanzar la tensión deseada con facilidad. La suma de las tensiones de los diodos (según el dimensionamiento dado son 39 V) ha de ser mayor en el margen de la de puerta-fuente, que la tensión de salida deseada (limitada). Aparte, C1 suaviza la tensión de los diodos Zener. Así, el circuito no sólo se encarga de limitar la tensión, sino también de reducir el rizado de la alimentación (proporcionalmente). La puerta del HEXFET se regula a través de R1. La oscilación del FET se evita gracias a C4. Sin carga, la tensión de salida es algo mayor de lo esperado. Con una carga pequeña, la cual ya existe con la corriente de standby de la etapa de salida, volvemos al valor deseado. El circuito no consiste en una regulación para la tensión de salida, si no únicamente en su estabilización. La función en la parte negativa de la alimentación es idéntica excepto por la polaridad inversa de la tensión, y por ello este motivo ha de utilizarse un MOSFET canal P. Hemos de tener en cuenta que la tensión de puerta-fuente de este HEXFET tiene tolerancias relativamente altas, y pueden aparecer diferencias de unos cuantos voltios. Esto puede compensarse eligiendo bien las tensiones y corrientes de los diodos Zener, que generalmente no suelen ser demasiado críticas, ya que el principal objetivo es evitar una tensión de funcionamiento demasiado alta.

+VOUT

T1

R1

D1

BZX84-12 D2

BZX84-12

C1

C4

10u

100n

C3

C2

10u

100n

D3

BZX84-15 D6

BZX84-15 D5

BZX84-12 D4

BZX84-12 2k2 R4 560R

de guitarra

–VIN

R2

T2

IRFP9240

110083 - 11

–VOUT

Los HEXFETs han de tener una disipación de calor adecuada, si es posible mediante el propio disipador del amplificador, y si no mediante un disipador independiente (basta con uno de 2,5 K/W). (110083)

79

63414

Unidad de interfaz I2C LCD1 +5V

DB2

7

8

9

10 11 12 13 14 15 16

100n

SCL

C1

+5V

14

SDA

SDA

P1 10k

15

13 1 2 3

2

SDA

P0

SCL

P1

IC1

INT

P2 P3

PCF8574

13 1

16 VDD

A0

15 14

100n

SCL

C1

LEDC

DB1

6

LEDA

DB0

5

DB7

E

4

DB6

R/W

3

DB5

RS

2

+5V DB4

VO

1

DB3

VCC

+5V

VSS

LC DISPLAY

P4 P5

A1

P6

A2

P7

4

3

5

16 VDD

Key-Pad

SDA

P0

SCL

P1

IC1

INT A0

P2 P3

PCF8574

P4 P5

A1

P6

A2

P7

1

4 5

S1

6 7 9

4

2 S5

3 S3

3 S6

11 12

5

4 S7

GND

6

1 S4

10

2 S2

5 S8

6 S9

8

7

GND

9

6

10 11 12

7

GND 8

7

8

9

S10

S11

S12

*

0

# 110079 - 12

GND 110079 - 11

Joachim Dombrowa (Alemania) En muchos proyectos de microcontroladores se utiliza un LCD y a menudo también botones. Generalmente esto requiere muchos pines de puerto del controlador, y luego para el resto de la aplicación (con o sin funciones alternativas) ya no disponemos de más. Los circuitos aquí presentados para un LCD compatible HD44780 y un teclado numérico utilizan el bus I2C, que sólo requiere dos pines de puerto del controlador, SCL y SDA. Ambos circuitos pueden ir naturalmente en la misma carcasa y son controlados mediante estas dos líneas de datos, ofreciendo un compacto panel de funcionamiento al usuario. Además, este planteamiento permite la separación por módulos, ya que esta unidad pasa a ser intercambiable para otras muchas tareas con controladores. Lo importante es que el controlador soporte el bus I2C. Un ejemplo aquí es el ATmega88, que se utilizó por ejemplo en el proyecto ATM18 o en la tarjeta experimental del ElektorBus. El núcleo de los circuitos lo forma una expansión de I/O PCF8574 [1] (atención, el PCF8574 está disponible en dos versiones idénticas en funciones, que cubren rangos de direccionamiento I2C distintos; ¡hemos de consultar la hoja de datos!). La expansión de puertos funciona como slave, mientras que el controlador de la aplicación hace de master. En el protocolo I2C el master en la escritura envía primero las direc80

Código 1 void LcdPanel_InitEN (byte nData) { // nData = Portpins P2,P4..P7 // Bit 3 = 0 (EN=0) Twi_WriteByte(0x40, nData); AppDelay_10us(50); // Bit 3 = 1 (EN=1) Twi_WriteByte(0x40, nData | 0x08); AppDelay_10us(50); // Bit 3 = 0 (EN=0) Twi_WriteByte(0x40, nData); AppDelay_10us(50); }

Código 2 void LcdPanel_SendCmd (byte nCmd) { byte nNib; // High-Nibble nNib = nCmd & 0xf0; Twi_WriteByte(0x40, nNib); // Enable-Puls LcdPanel_InitEN(nNib); // Low-Nibble nNib = (nCmd & 0x0f) 20 W). En segundo lugar, ofrecen poco o ningún aviso sonoro en caso de olvido de apagado. Así, como estas máquinas no están equipadas con un detector de retorno al eje, muchos usuarios se olvidan de cortar el intermitente. La solución simple de dos diodos y de un zum-

V+

C2

C3

100n

470u

4u7

IC2

IC2 = 4093A

7

0R1

3 2

6

1 2

IC2.A &

R4 3 220k

5

IC2.B

D3

4

&

6

T1

R6 47k

9 11

1N4148

4

IC3

5 6

!G 10

2N2222

R5

CT

RX CX

3 4

CT=0

+

7 8 9 11

RCX

CD4060

12 13

7 5 4 6 14 13 15 1 2 3

10k

P1

7

741

CTR14

100n 12

R8

1N4148

IC1

10W

16

C4

100k

D2

R1

SHUNT

R7

14

C1

1k

470R

R2

8

100k D1

T3

V+

FE6A IRF9Z34

BZ1

elektor 7/8-2011

GND

COM

+ BATT

T2

R9 10k

2N2222

Personal Download for I © Elektor

IC2.D 11

&

12 13

IC2.C 10

&

8 9 100939 - 11

81

63414

y T2, el zumbador (“buzzer”) es activado al ritmo del intermitente. En la descarga que acompaña este artículo [1], encontraremos el dibujo de una placa hecho por el autor y también unas fotos de su realización. La anchura de la placa está basada en el diámetro interior de un tubo de PVC de

32 mm, es decir, el diámetro estándar de las centrales habituales. La longitud está sujeta a las necesidades de “rutado” de la placa, pero muy por debajo de las cotas a respetar en la mayoría de las motocicletas. Debemos pensar en estañar las pistas que soporten una corriente importante. El MOS-

FET no necesita un radiador. ¡Debemos fijar la placa en el tubo con la ayuda de la cola térmica sin pegar el potenciómetro P1! (100939)

Enlaces en Internet [1] www.elektor.es/100939

Placa multiconector para PIC10F2xx (SOT23-6) Luc Lemmens (Laboratorio de Elektor) K2

5

IC1

VDD

K1

VSS

1 GP0/ICSPDAT 3 GP1/ICSPCLK 4 GP2/T0CKI 6 GP3/MCLR/VPP

2

Hay toda clase y medidas de Microcontroladores. Incluso para las tareas más sencillas es muy tentador emplear un integrado como este. Para estas tareas existen microcontroladores muy pequeños y baratos, como es la serie PIC10F2xx de Microchip. Por sus pequeñas dimensiones y dado que los terminales de los puertos pueden suministrar y drenar hasta 25 mA, estos controladores son perfectamente aptos para controlar LED de efectos luminosos en miniatura. Pueden seguir haciendo su tarea, incluso con una tensión de tan sólo 2 V, así que se pueden utilizar con una alimentación de pilas (de botón). Pero sus pequeñas dimensiones tienen también algunas desventajas. En primer lugar, los terminales del integrado son tan pequeños que soldarlos no es realmente una tarea fácil y tampoco se pueden utilizar en una placa de pruebas o de un prototipo. En realidad sólo son ‘programables en circuito’, de modo que se necesita siempre un conector adicional para la programación (un zócalo ZIF para un programador sería carísimo – si existiese).

PIC10F2xxx

K3 110442 - 11

La placa que presentamos aquí sirve para trabajar más fácilmente con la serie PIC10F2xx de Microchip en el encapsulado SOT23-6, sin que todo sea tan grande como la versión DIL

del mismo integrado, que se podría haber utilizado. Aunque todo es más fácil con pasta de soldar y un soldador de aire caliente, este integrado de 6 patas también se puede soldar con una soldadora normal en la placa representada. El estaño sobrante se elimina con una trenza para desoldar. Todos los terminales están disponibles a través del conector SIL K1 con un paso de 100 mil, que encaja perfectamente en las placas de pruebas y de prototipo para el diseño de un prototipo. Además, este conector encaja en los programadores PICkit2 y -3 uno a uno. Al lado de los terminales del integrado hay unos islotes más grandes que pueden servir de conexión para cables, resistencias, LED, etc. Cuando se haya terminado completamente el prototipo y el software, puedes serrar/limar la parte de la placa que hay fuera de estos islotes, de modo que sea más fácil de instalar en una caja en miniatura. (110442)

Regulador para un generador de corriente trifásica Jac Hettema (NL) Este regulador fue diseñado para un generador con una tensión de salida elevada. Este tipo de generadores se utiliza en algunos barcos y vehículos de emergencia. Lo que se trata aquí es una versión adaptada de un genera82

dor normal que se emplea en coches. El devanado de campo está conectado a la tensión de a bordo de 12 (ó 24) V, mientras que el devanado de generador está hecho para 230 V. Esta tensión de 230 V se tiene que mantener estable mediante el devanado de campo de 12 V. Aunque para eso se puede utilizar perfectamente un estabilizador conmutado, aquí se optó por un diseño con el tradicional 723.

Personal Download for I © Elektor

El generador es un ejemplar trifásico cuyo devanado de campo funciona a 12 VDC. El consumo del devanado de campo y el número de revoluciones determinan la tensión de salida. Como esta tensión es relativamente alta, se suministra a través de optoacopladores al 723, el cual se utiliza, por lo demás, en una configuración estándar. Su salida controla dos 2N3055 puestos en paralelo a través del dri7/8-2011

elektor

63414

IC1

R8

6

100R

1

2

TLP620

4

BD136

R3 150k 1

IC2

6

R5 150k 1

T

R6 150k

2

TLP620

IC3

TLP620

4

P1

5

10k

6

VREF

VC

IC4

VO LIMIT

R11

10 2

R12

+IN

LM723-2

4

R10

BT1

0R56

2

11

VCC

6 R4 150k

2x 2N3055 R9

12

S

T3

0R1

R2 150k

T2

1k

R

T1

0R1

R1 150k

-IN

SENSE VEE

COM

7

13

12V

3

4 L1

R7

C1

C3

C2

D1

4u7 16V

1u

1n

1N4007

*

1k

ver T1, que proporcionan la corriente para el devanado de campo. En el prototipo se han utilizado optoacopladores TLP620. Son aptos para tensiones alternas porque llevan en su entrada dos LED puestos en antiparalelo. Con ellos el regulador funciona bastante bien, la tensión de salida queda dentro de los límites establecidos en un amplio alcance de número de revoluciones. Sin embargo, en este tipo de optoacoplador la sensibilidad de los dos LED internos puede ser diferente, porque en el proceso de fabricación es complicado crear la misma distancia entre ambos LED y el transistor. Para una regulación más precisa se puede utilizar mejor dos optoacopladores por fase, cuyas entradas estén puestas en antiparalelo y las salidas simplemente puestas en paralelo. Si por debajo y en el medio de cada optoacoplador haces un corte con la sierra en la placa, creas suficiente aislante entre los lados primarios y secundarios. En vez de un BD136 para T1 puedes utilizar también un TIP32 o algo parecido. Para T2 y T3 utiliza preferiblemente versiones con un encapsulado de plástico, por lo tanto no el encapsulado TO3.

110441 - 11

(110441)

Temporizador para “jogging” R9 R1

150R

BZ1

150R

BT1

150R

VCC PA0

SEC 2 3 5

4V5

R2

1

D9

4

IC1

PA1

PB0/X1

PA2

PB1/X2

PA3

PB2

PA4

PB3

PA5

ATTINY44

PA6 PA7

GND 14

13 12 11 10 9 8 7 6

R3 150R R4 150R R5 150R R6 150R R7 150R R8 150R

D1 D2 D3 D4 D5 D6 D7 D8 110160 - 11

Stefan Hoffmann (Alemania) Hacer ejercicio físico con regularidad es muy importante, sobre todo para compensar todo el tiempo que nos pasamos sentados frente a la mesa del laboratorio. El “jogging” es uno de los deportes más populares y efectivos. elektor 7/8-2011

Sin embargo, requiere un entrenamiento regular y sistemático. El temporizador de “jogging” aquí presentado emite un sonido mediante un zumbador piezoeléctrico cada diez minutos, y gracias a ocho LEDs indica cuantos bloques de diez minutos

Personal Download for I © Elektor

hemos estado entrenando. Así, el corredor electrónico se ahorrará tener que comprar uno de esos caros relojes especiales para esto. Al principio del entrenamiento, encendemos el dispositivo y simplemente lo metemos en el bolsillo. Gracias a la señal acústica no tenemos 83

63414

que andar mirando el reloj, y podemos concentrarnos plenamente en la carrera. Si fuera necesario, podemos mirar cada cierto tiempo el indicador y saber cuántos intervalos de 10 minutos han transcurrido. El circuito se ha diseñado con un pequeño microcontrolador Atmel ATtiny44 y está programado en BASCOM. Tras encenderlo se ejecuta un breve test de funcionamiento

del zumbador y los LEDs. Mediante una interrupción del timer los LEDs parpadean cada segundo, con lo que podemos comprobar en cualquier momento si el circuito está funcionando. Aparte, otro timer lleva la cuenta total. Cada diez minutos saltará la señal del zumbador electrónico y se encenderá un LED adicional. El código fuente en BASCOM está disponible

como siempre [1] y puede modificarse con facilidad. La versión demo de BASCOM es más que suficiente para este propósito. (110160)

[1] www.elektor.es/110160 (descarga del software)

Oscilador triangular con convertidor de seno Jac Hettema (Holanda) +15V

R9

4k7

100n

R12 10k

2 3

9

IC1.A

1 10

IC1.C

8

1k

R1 500k

R6

22k

R4

+15V

11

R5

R7

5k

2k2

IC1

R13 100k

R16

P3 100k

P2

330R

4

+15V

T2

R15 10k

2x BC238BP

T1

K1

14

10k

R3

IC1.D

R10

R14

-15V

330R

R2

10k

7

2k2

IC1.B

8k2

5

13

R11

6

12

R8

-15V

27k

En este circuito se genera una tensión triangular con dos operacionales del TL074 (IC1.A y B), cuya frecuencia se puede regular ampliamente con la ayuda de P1. A continuación va el amplificador diferencial con T1 y T2, el cual está dimensionado de tal forma que convierte la tensión triangular a una tensión seno bastante aproximada. La distorsión mínima se configura con P2.

P1

82k

Se tuvo que renovar un diseño existente del control de un sensor LVDT (Linear Variable Differential Transformer) donde se empleaba el 8038 como oscilador regulable de seno. La sustitución del 8038 por un 2206 podía haber sido la solución, pero ese integrado no era apto para la tensión de alimentación utilizada. Por eso se buscó un sustituto que constara de componentes normales y por lo tanto estuvieran siempre disponibles.

C1

4k7

Este diseño surgió como sustitución parcial del famoso integrado 8038 que ya no se fabrica, y por lo tanto es casi imposible de adquirir.

IC1 = TL074

110431 - 11

-15V

A través del tercer operacional IC1.C, configurado como restador, se obtiene la tensión seno, para que el IC1.D sirva después de buf-

fer. P3 se puede ajustar de forma que desaparezca el offset de la salida. (110431)

Igualando HEXFETs Alfred Rosenkränzer (Alemania) En las etapas de salida de audio con muchos HEXFETs, rápidamente salta a la vista que las pérdidas en potencia no se distribuyen uniformemente entre cada uno de los tran84

sistores. Esto radica en la fuerte tensión de puerta-fuente (“gate-source”), que puede variar, por ejemplo en el IRFP240 (así como en el IRFP9240) entre 2 y 4 V. Hay que evitar a toda costa las resistencias en el área de los 0,22 Ω en los circuitos amplificadores comu-

Personal Download for I © Elektor

nes (véase extracto del circuito), ya que no dan buen resultado. Una de las posibilidades a la hora de solucionar el problema es “elegir” la tensión de puerta-fuente de los transistores utilizados lo mejor posible. Para el montaje de proto7/8-2011

elektor

63414

T6

MJE250

T6

15k

10n

R23 330R

R2

T8

R11 330R

T2

R3 330R

R18

200R 52%

C9

R27

IRFP9240

C8 T4

T1

47p

C7

2x BF822

47p

R17

T2

R3 330R

R18

C9 100n

IRFP9240

P1 48% 200R

100R

C7

R21

R2

IRFP9240

R26

47p

T8

R11 330R

100R

IRFP9240

R13

P2

100n

IRFP240

R12

0R22

820R R17

R6

8R

70%

0R22

R13 0R22

500R

T10 R23 330R

IRFP240

2R7

0R22

1k P2

T7 R10 330R

IRFP240 R21 0R22

IRFP240 R12

R6

R25

T10

100R

T7 R10 330R

P3 50%

0R22

10n

200R

2R7

R16

8R

15k

R24

0R22

C6

MJE250

R16

100R

1N4148

0R22

120R

D3

1N4148

D3

C6

120R

R7

120R

R1

R7

120R

R1

C8 T4

R9

T1

47p

120R

2x BF822 R9 120R

110168 - 11

110168 - 12

tipos o la producción de una serie reducida esto significa que a parte de los componentes de prueba adicionales, tendremos que encargar más transistores de los que realmente necesitamos.

La idea de circuito aquí presentado se desarrolla gracias a potenciómetros auxiliares, que compensan las diferencias en las tensiones de puerta de los pares de transistores, como se ha comprobado en la simu-

lación con Simetrix. El segundo extracto del circuito muestra las modificaciones pertinentes. (110168)

Receptor de radio de onda larga Burkhard Kainka (Alemania)

elektor 7/8-2011

R2

R3 10k

ANT1

10k

IC1

C3

BC557

T1

2

100n

3

6

LM386 4

R1

L1

C1

C2

C4

470uH

100n

100u 25V

100u 25V

10k

Desde los orígenes de la radio-transmisión, lógicamente siempre se ha trabajado con emisores de radio, y de ahí el nombre. El espectro emitido era relativamente ancho y se extendía en el rango de la onda larga. Por supuesto, el receptor correspondiente tenía también un ancho de banda muy grande. Generalmente se trataba de detectores de recepción sin amplificación adicional. Hoy en día, al pulsar un interruptor de la luz salta una chispa y podemos escuchar el chasquido de la onda de radio, lo cual ocurre en un ancho de banda que va desde la onda larga a la alta frecuencia. Sucede lo mismo con los contactos en cables, los arcos eléctricos de alta tensión, los transformadores estropea-

5

C5 100u 25V

BT1

6V...9V LS1 8Ω

110197 - 11

dos, así como en motores o contactos mal apantallados de toda índole. Sin embargo,

Personal Download for I © Elektor

podemos solucionar esto con un receptor adecuado. Nuestros intentos con radios nor85

63414

males no han tenido éxito, dado su reducido ancho de banda y omiten parcialmente los pulsos de ruido. Tras varias consideraciones, la mejor solución es un receptor de audio de banda ancha. Los requerimientos son totalmente distintos que los de un receptor de radio normal: dicho receptor ha de tener el mayor ancho de banda posible en el rango de la onda larga.

Otra consideración más: Ya que los paquetes de onda de una radio individual son extremadamente cortos, el receptor ha de integrarlos en un pulso más largo, cuyo espectro esté bien situado en el rango audible. Para el circuito: la etapa de audio en el circuito del colector es un resonador sin amortiguar. Para que no se produzcan resonancias es necesario hacer un amortiguamiento adi-

cional con una resistencia de 10 kΩ añadida a posteriori. Mediante el osciloscopio podemos ver si los impulsos en el emisor del BC557 están acotados. La amplitud es suficiente para controlar el amplificador de salida dentro de unos márgenes. De un pulso de entrada de 1 µs obtenemos más o menos un impulso BF de 1 ms para el altavoz. (110197)

El sensor de movimiento más barato Antonio Gendrau (España) VCC D1

560k

SENSOR

R2

R5

2 C1

3

10n

6

7

4

R3 160R

R2

8

LM311 1

2M2

R1

5

470R

IC1

220k

El sensor RS-455-3671, usado en el proyecto de Luz Trasera Automática de Bicicleta, publicado en la edición de julio/agosto de 2010, puede ser sustituido por un sensor de movimiento que no cuesta nada, en lugar de uno que cuesta unos 5 €, aproximadamente. El sustituto es un dispositivo casero, construido con componentes que podemos encontrar fácilmente en el taller de cualquier aficionado a la electrónica. Efectivamente, el circuito trabaja como una resistencia variable, dependiente de la fuerza de aceleración a la que se somete el dispositivo. Un prototipo presentó una resistencia de 200 kΩ, sin movimiento, y de 190 kΩ bajando, aproximadamente, 1cm. El montaje es fácil. Cortamos una pieza de tubo de cobre de, aproximadamente, 10 mm. Tomamos una pieza de espuma conductora, del tipo usado para proteger los circuitos integrados. Cortamos una pieza rectangular de 10 x 50 mm. La enrollamos firmemente hasta que pueda ser encajada en el cilindro de cobre. Seguidamente, insertamos un hilo conductor por el centro del cilindro, lo doblamos y (opcionalmente) añadimos una

100588 - 11

hoja protectora de plástico por cada lado. Este es el primer contacto. Finalmente, soldamos un hilo delgado al cilindro de cobre. Este es el segundo contacto. La resistencia de la espuma depende de la presión. Por consiguiente, cuando el dispositivo se mueve debido a una fuerza externa, la inercia del cilindro provoca una variación de presión en la espuma, causando un pequeño cambio de resistencia entre el conductor inte-

rior y el cilindro. Por todo ello, es importante asegurarse de que la vibración de cilindro no se ve limitada, en ningún caso, por el hilo conectado o la placa de circuito impreso. El circuito comparador mostrado aquí es capaz de detectar el cambio de resistencia del sensor de espuma/hilo/cobre propuesto, lo que permite detectar el movimiento de un vehículo para una alarma u otros propósitos. (100588)

Números de puertos COM predeterminados Michael Gaus (Alemania) El famoso chip conversor USB-UART FT232R de F TDI se utiliza a menudo en muchos proyectos que necesitan un puerto USB. Si queremos utilizar varias tarjetas con este componente en el mismo PC, sucede algo realmente molesto. El ordenador asigna al chip una numeración (la identificación 86

del USB) distinta de la de los puertos COM. Entonces, en el sof t ware de PC tendre mos que configurar cada vez el número de puerto que utilizaremos para cada tarjeta. Sería mucho más práctico si a cada FT232R en el mismo puerto USB de un PC se le adjudicase siempre el mismo número de puerto COM. Afortunadamente, ¡podemos ponerle remedio!

Personal Download for I © Elektor

El citado conversor USB, aparte de la identificación del fabricante (VID) y la de producto (PID), viene de fábrica con un número de serie grabado en la EEPROM on-chip [1]. Cuando Windows reconoce un nuevo VID, PID o número de serie, inicia la famosa rutina de “nuevo hardware encontrado” y le asigna automáticamente un número nuevo de puerto COM. 7/8-2011

elektor

63414

Mediante la práctica herramienta “FT_Prog” (que puede descargarse gratis en la página del fabricante [2]) el FT232R puede reconfigurarse de forma fácil, de modo que no se utilice el número de serie en la numeración [3]. Así es como funciona:

el mismo PC, podemos hacer que todos los puertos COM libres funcionen como uno sólo. Esto puede saltarse creando una nueva entrada en el registro de Windows (lo cual no es demasiado complejo). En el registro HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\UsbFlags\ h em os de cr ear una entrada d el tip o REG_BINARY de nombre “IgnoreHWSerNum04036001” y fijar su valor a 01. Ahora, a cada FT232Rs de fábrica siempre se le asignará el mismo número de puerto COM (virtual) según el puerto USB físico.

1. Conectamos el FT232R al puerto USB. Como buen FT232R de fábrica, el número de serie estará “enabled”, se le asignará el siguiente número de puerto COM libre. 2. Iniciamos la herramienta “FT_PROG”. Atención: ni el programa terminal, ni ninguna otra aplicación del usuario debe abrir el puerto COM virtual que utilice cada FT232R. 3. En “Devices”, hacemos clic en “Scan and Parse”. 4. Hacemos clic en “USB String Descriptors” y deseleccionamos la casilla de “Serial Number Enabled”. 5. Ahora, en “File”, clic en “Save As Template” (guardar la configuración). 6. En “Devices”, hacemos clic en “Program”, y luego otra vez en “Program”.

(110207)

[1] www.ftdichip.com/Documents/ AppNotes/AN_123_How%20COM%20 Ports_Are%20Allocated%20on%20 Driver_Installation.pdf

para que el FT232R del USB pueda ser numerado de nuevo. Ahora, al FT232R se le asigna el número de puerto COM correspondiente al puerto USB físico.

[2] www.ftdichip.com/Support/Utilities. htm

Un inconveniente de este método es que a cada FT232R recién salido de la fábrica, primero tenemos que adjudicarle un puerto COM. Si desea conectar muchos FT232R en

Después, tras programar satisfactoriamente el dispositivo, hacemos clic en “Cycle Ports”,

[3] www.ftdichip.com/Support/ Documents/AppNotes/AN_124_User_ Guide_For_FT_PROG.pdf

Oscilador en anillo Burkhard Kainka (Alemania) +Ub

elektor 7/8-2011

R5

R7 2k2

2k2

R4 2k2

2k2

R3 2k2

R2 2k2

R1

2k2

R6 T1

T2

T3

T4

T5

BC548A

BC548A

BC548A

BC548A

BC548A

1

T6

BC548A

110192 - 11

1800 1600

f [kHz]

El oscilador en anillo consiste en varias etapas amplificadoras inversoras de transistores, una tras otra, en la que la salida de la última etapa se conecta con la entrada de la primera. Pueden utilizar se tres, cinco, siete o nueve etapas. En realidad sólo es necesario que se trate de un número impar. L a ven taja de este circuito radica en que no necesita condensador. Por ello, los osciladores de este tipo suelen incluirse en circuitos integrados, como por ejemplo microcontroladores. En principio se trata de un amplificador realimentado que oscila debido a la alta ganancia total. En el circuito mostrado en la figura 1 se utilizan cinco etapas. Con el fin de no influir en el anillo se utiliza una etapa de buffer para desaco-

1400 1200 1000 800 600 400 200 0

2

0

2

Ub [V]

Personal Download for I © Elektor

6

4 110192 - 12

plar la señal del oscilador. Todas las resistencias del circuito tienen un valor de 2k2 y todos los transistores son del tipo BC548A. La frecuencia generada por el oscilador ronda aproximadamente 1 MHz y depende en cierta medida de la tensión de alimentación (ver la figura 2). Se alcanza el máximo de 1650 kHz con alimentación a 3 V. El oscilador en anillo puede considerarse como un oscilador secuencial en el amplio sentido de la palabra. El tiempo de transferencia de la señal a través de las cinco etapas es de la mitad del periodo de oscilación, o sea, a 1,65 MHz son 300 ns. Por lo tanto, el paso por cada etapa tiene una duración de 60 ns. Con tensiones de funcionamiento más altas el retardo entre etapas es algo mayor, ya que los transistores entran en saturación de forma más brusca. (110192)

87

63414

Laminado antisoldadura casero Uwe Hofmann (Alemania) El uso de lacado antisoldadura o de un laminado no sólo dota a una tarjeta de una apariencia más profesional, sino también evita la aparición de puentes indeseados. Este artículo muestra cómo aplicar con medios simples una capa de este tipo también a nuestros propios circuitos. Al contrario que ocurre con un laminador, que puede alcanzar temperaturas de unos 130°C, en este caso no hace falta nada excepto el material que utilizamos normalmente para fabricar tarjetas. Un sólo requisito: necesitamos el correspondiente diseño para insoladora. Esto ya lo tenemos si diseñamos la tarjeta en un programa de diseño o nos han suministrado los archivos con los esquemas. En el diseño impreso para la insoladora sólo vemos los puntos de soldadura que tendremos posteriormente. Si se trata de una tarjeta de doble cara, tendremos ambas. Tras la fase de ataque químico, retiramos los restos del baño fotosensible de la tarjeta y la limpiamos. Aparte, lo mejor es utilizar un limpiador antigrasa doméstico y un estropajo. ¡La capa de cobre no debe tocarse más con los dedos! La tarjeta limpia y seca se introduce en el baño que hemos preparado anteriormente. Tras 3 minutos podemos dar por terminado el baño, así que lavamos y secamos la tarjeta una vez más. Eliminamos los posibles restos con el laminador precalentado, de dos a tres veces. Esto es importante para evitar la separación posterior del laminado. Ahora cor tamos un trozo de lámina del tamaño de la tarjeta y quitamos el folio protector de la cara de abajo. Ya que esto requiere de bastante maña, podemos ayudarnos con dos trocitos de cinta adhesiva, y así tener más superficie para sujetar el folio. ¡No se preocupe, automáticamente se despegará sólo el folio de abajo! Después presionamos la lámina en la parte superior de la tarjeta, separando el resto de la tarjeta de ésta mediante un trozo de papel, de modo que no se pegue todo completamente (ver imagen). En caso contrario podrían formarse arrugas. Ahora, al meter la tarjeta en el laminador sujetamos el papel fuertemente, para que 88

Personal Download for I © Elektor

se separe el laminado y la parte del circuito impreso que no va a ser cubierta (véase la imagen). Ahora hemos de pasar la tarjeta dos o tres veces por el laminador, hasta que la lámina se haya fijado bien. Posteriormente utilizamos la capa antisoldadura. La colocamos lo mejor posible en la tarjeta y la fijamos con cinta adhesiva. Para la siguiente insolación, hay que considerar que debemos tenerla aproximadamente la mitad del tiempo que cuando la tenemos bajo la exposición a los rayos UV con los productos fotosensibles. Si fuera necesario deberíamos hacer algunas pruebas previas. Tras la insolación debemos dejar la tarjeta en reposo durante al menos 30 minutos, para que el laminado se polimerice. Tras pasar este tiempo, habremos producido un circuito impreso según el mismo método utilizado por los fabricantes de tarjetas. Como alternativa más económica también podemos utilizar sosa cáustica de una droguería. Químicamente se trata de hidróxido de sodio. El baño ha de supervisarse cuidadosamente y debe estar a una temperatura de unos 35°C. Antes del proceso hemos de retirar el folio protector superior de la lámina (aquí no es necesario el truco de la cinta adhesiva). El laminado debería estar terminado en 2 o 3 minutos. Durante el proceso, opcionalmente podemos retirar los restos del laminado de los pads. Así aceleraremos el tratamiento y tendremos un mejor control al final. Una vez terminado el proceso, la tarjeta se limpia y seca con una toalla. Ahora mismo la capa del laminado estará suave y pulida. Para hacerla aún más resistente, podemos tenerla durante unos 45 minutos en exposición a rayos UV. Después la tenemos otros 45 minutos en un horno de convección. Para terminar, la cortamos a medida y realizamos los taladros. En los circuitos impresos de doble cara, tendremos que laminar, tratar y exponer a los rayos UV una sola cara. Después tocan los mismos pasos para la otra cara. Sólo la introducimos en el horno al terminar la tarjeta entera. Como referencia de los productos químicos y materiales necesarios, el autor recomienda la tienda online de Octamex (www.octamex.de). (110217)

7/8-2011

elektor

63414

Regulador LDO ajustable  e integra un filtrado de •  S salida sobre la placa (C1 y C4). El circuito impreso [1] es una placa de doble cara. El BD136 está colocado en la cara opuesta de los otros componentes, es decir, sobre la cara cobre. Con un aislante, es posible añadir un pequeño radiador para asegurar el enfriamiento del transistor de potencia. Sin embargo, si el regulador es utilizado en condiciones de baja tensión, no es útil equipar este componente con un radiador. La placa puede ser colocada en el lugar de un regulador clásico. JP1 ofrece un conexionado compatible.

El libro 303 Circuits de Elektor (Edición en inglés de 1988) contiene el esquema de un regulador de baja tensión hecho de componentes recuperados (LDO de low-dropout), discretos. El autor aportó unas modificaciones para que fuese regulable y diseñó una pequeña placa que alojaba todos los componentes SMD. Solamente el transistor de potencia es un modelo «antiguo», con verdaderos terminales. Con relación al circuito de origen, se han aportado las siguientes modificaciones:

(110288)

Enlaces en Internet [1] www.elektor.es/110288

T1

BD136 T2

R1

D1

2k2

ZUMT720

R9 1k5

1N4148 R8 3k9

T4

1k

R2 C3 T3

100p

2x ZUMT619

5V < Vout < 16V Vout = Vin (1+R1/R5) 2

R3 4k7

2x ZUMT619

T6

C5 3

JP1

2

100n

Vref 2V5

8

D2

R7

TL431

R6 2

3

1

P1 5k

1

Iref = Vbe T6/R7

JP2 C_R

2V5 < Vin < 8V

6

7

C2

R5

C1

C4

10u 25V

100n

2k2

T5

100R

 l diodo zéner de 4V7 ha sido reemplazado •  E por un regulador puente (“shunt”) TL431, conocido por su estabilidad y programable por un potenciómetro de 5 kΩ, lo que permite así una tensión de salida de 5 a 16 V. •  La resistencia de 390 Ω ha sido reemplazada por un espejo de corriente, compuesto por los transistores T5 y T6, y cuya regulación es asegurada por R3 y TL431. La corriente de cátodo de éste último, para obtener 5 V a la salida del regulador, es de 1,7 mA, suficiente para una buena regulación. La documentación técnica prevé 1 mA para una regulación óptima. •  La etapa de salida está compuesta de dos transistores PNP, T2 y T1, montados en configuración Darlington. La polarización de la base de T1 está asegurada por R9, con lo que tenemos una mejor regulación de salida cuando la corriente de salida aumenta sobre una carga baja. •  D1 es un MELF4148 en lugar de un AA119. •  Para asegurar el arranque de la tensión de alimentación, R1 (100 kΩ) del circuito de origen, pasa a valer 3,9 kΩ (R8).

rie). VINO = 9 V, VINO min = 8,20 V.

2k2

Michel Defrance (Francia)

elektor 7/8-2011

El procedimiento de ajuste es simple: retiramos el puente JP2, a continuación, midiendo con un multímetro la tensión en el terminal 2 de JP2, ajustamos la tensión de salida con P1 al valor deseado. Acabado el ajuste: volvemos a poner el puente sobre JP2. Hay que señalar que la tensión de entrada debe ser superior en 1 V a la tensión de salida. Los transistores utilizados no son críticos, el válido cualquier modelo. Y, evidentemente, es posible realizar el regulador con componentes no SMD, tales como los BC547, para los NPN, y los BC557, para los PNP. La tabla muestra algunas medidas sobre un ajuste de una tensión de salida de 7,39 V (escogida para controlar dos LED blancos en se-

1u 10V

C_S 1 110288 - 11

Carga [Ω]

VOUT [V]

Error [V]

680

7,39

0

10

390

7,37

0,02

18,8

220

7,37

0,02

33,5

100

7,35

0,04

73,5

33

7,31

0,08

220

10

7,20

0,19

720

Personal Download for I © Elektor

I [mA]

89

63414

El R8C/13 sabe hablar CAN Hermann Nieder (Alemania)

El autor ha codificado un programa para PC en VisualBasic 5, mediante el cual pueden recibirse y enviarse instrucciones CAN. El programa utiliza la librería de funciones RSCOM. DLL de Burkhard Kainka, y puede descargarse en esta página [6]. El firmware para el controlador están basados en parte en rutinas de para la R8C ya publicadas en Elektor. El software de PC y el firmware para la controladora pueden descargarse gratuitamente de la página del proyecto [7]. La comunicación mediante RS232 entre PC y R8C se desarrolla a 9600 baudios. En la comunicación por CAN podemos elegir la tasa de 90

RXD

+5V

R3

R5

BC547

R1 27k

MOD1

T1 1

10k

TXD

10k

4k7

PC

2

S1

R2

3 4

RESET

GND

5

+5V

+5V +5V R6 56k

La pequeña tarjeta de procesador del gran proyecto de Elektor-R8C ahora goza de cierta popularidad [1][2]. Y no injustificadamente, ya que resulta muy simple de utilizar en nuestras propias aplicaciones con controladores. Y aquí mostramos... ¡que también puede con el CAN! En la Elektor de Diciembre de 2005 [1] se presentó un “sistema minimalista”, con el cual programar el controlador a través de un puerto RS232. Aquí se utiliza ese mismo circuito mínimo, y para su programación (gracias al bootloader integrado en la R8C) y comunicación con el PC se utiliza RS232. También funciona con un cable USB/TTL, gracias al cual podemos ahorrarnos los transistores T1 y T2. Para la comunicación CAN basta con la tarjeta de puerto CAN de la Elektor 11/1999 [3]. Para el funcionamiento utiliza un controlador CAN SJA1000 de Philips, que incorpora un transceptor CAN PCA82C250. El conector de 2x8 pines mostrado en el esquema se conecta directamente en K3 del bus del puerto CAN. Con algo de habilidad y un cable plano (¡corto!) también puede hacerse un adaptador para el “Puerto de bus CAN para PC” (Elektor 6/2000), equipado con un conector SUB-D de 25 pines [4]. El controlador CAN se sirve de 32 registros [5]. Para escribir desde la R8C un registro del SJA1000, primero necesitamos la dirección del puerto P1. Después la ALU se configura para hacerse cargo de este byte. Finalmente el byte de datos se entrega mediante el puerto P1. Finalmente configuramos /WR de 1 a 0, para transferir el byte de datos al registro seleccionado previamente. Al leer un registro debe transferirse primero la dirección al controlador CAN. Ahora el puerto P1 del R8C estará preparado para la lectura. Activando y desactivando /RD se lee el byte de la dirección de registro deseada.

1u

7

2

1

P1.7

WR

4

3

P1.6

9

RD

6

5

P1.5

10

CS

8

7

P1.4

11

ALE

10

9

P1.3

12

12

11

P1.2

13

14

13

P1.1

14

16

15

P1.0

15

RST C1

6 8

16

K1

RXD1

TXD1

CNVSS

P0.1

RESET

P0.2

XOUT

P0.3

VSS

MODE

XIN

P0.4

VCC

P0.5

P1.7

P0.6

P1.6

R8C/13

P0.7

RXD0/P1.5

IVCC

TXD0/P1.4

P3.0

P1.3

AVSS

P1.2

P3.1

P1.1

AVCC

P1.0

P3.2

P4.5

P3.3

32 31

T2

R4 100k

30 29

BC557

28 27 26

S2

25

MODE

24 23 22 21 20 19 18 17

110302 - 11

transferencia, entre 20 kbit/s o 50 kbit/s. Esto se fija durante la inicialización, si pulsamos el botón correspondiente en el cuadro de VisualBasic. En la inicialización se lista el contenido de los registros 0 a 31 del SJA1000. Tras recibir un paquete de datos, las etiquetas muestran aparte del listado, los registros 20 y 21 (los primeros dos bytes del buffer de recepción). Aparte, también se muestra aquí el identificador del paquete, así como el bit de RTR, que distingue entre las “CAN-RemoteFrames” de las “Frames” de datos. El identificador del emisor puede cambiarse introduciendo un valor en el cuadro de texto mostrado. Además, podemos activar o desactivar el bit de RTR marcando una casilla. Estas entradas se aceptarán al pulsar el botón “identifier”. Adicionalmente se muestra el contenido de los registros 10 y 11 (los dos primeros bytes del buffer de envío), así como el estado del bit RTR con las etiquetas. Al pulsar el botón para refrescar la representación del contenido de los registros, estaremos seguros de que se han aceptado los cambios deseados. De igual forma también puede cambiarse el contenido de los registros directamente. Por añadidura, están disponibles los dos boto-

Personal Download for I © Elektor

nes para cada modo de reset del SJA1000. Mediante otro botón ordenamos al controlador CAN que inicie el envío. Otro botón más sirve para vaciar el buffer de recepción. El autor ya ha realizado multitud de experimentos por su cuenta. Si disponemos de dos tarjetas R8C/13 y dos puertos de bus CAN podemos llamar al programa del PC dos veces (o ejecutarlo en dos PCs distintos), de modo que podamos “conversar” a través del CAN, lo cual se visualiza perfectamente en el software. (110302)

[1] www.elektor.es/050179-2 [2] www.elektor.es/r8c [3] www.elektor.es/990066-2 [4] www.elektor.es/000039 [5] www.nxp.com/documents/data_sheet/ SJA1000.pdf [6] www.b-kainka.de/pcmessfaq.htm [7] www.elektor.es/110302

7/8-2011

elektor

63414

Preamplificador, mezclador y controlador 720k

R2

K1

R1 1k

100n

*

P1

C2

720k

K2

470u

220p

680u 25V

2u2

1N4148

R17 220k

10k

R7

*

P2

C4

R8 30k

47u

2u2

8

3

7

5

C13

6

K3

100n

*

P3

C6

R12 30k

R24 91k

R13 1k

R15

C14 22u

P6

R23 600R R22

K7

*

P4

4k7 C8

R16 30k

2u2 4k7

T1...T4 = BC549C, BC550C

vada. Los modelos BC549C y BC550C y los venerables BC109C son totalmente adecuados para este propósito, mientras que el BC546C, el BC547C y el BC548C también pueden ser tenidos en cuenta. La señal almacenada en cada pastilla es ajustada con un potenciómetro y enviada al circuito suma del mezclador. El siguiente elemento activo es un amplificador operacional de audio del tipo NE5534 o NE5534A (IC1), que proporciona la cantidad requerida de la señal almacenada en un buffer. El 5534 (A) tiene un bajo ruido, una baja distorsión y una alta ganancia. Este componente puede controlar una línea de 600 Ω cuando sea necesario, pero la carga preferida está por encima de los 2 kΩ. Su amplificación es ajustable entre 3 y 10, con el potenciómetro de realimentación P5. Para valores más altos de la ganancia se alcanzan algunos límites en el nivel y distorsión de la señal de salida, algo que también puede ser un efecto secundario deseado. La amplitud máxima no distorsionada de la señal de salida depende de la tensión de alimentación. Si se necesita una ganancia más elevada, podemos incrementar el valor de P5 hasta los 470 kΩ. La salida K7 tiene un potenciómetro de control de volumen (P6), que podría ser omitido si no va a ser usado o no es requerido. Ambas

Personal Download for I © Elektor

P5

4k7

T4

C7 100n

K6

R20

56k

720k

K4

R21 600R

220k

2u2

R14

L4

4

NE5534(A)

T3

R11 1M

L3

1

22u

56k

720k

R10

C5

R19

IC1

4k7

2

R9 1k

P7

C11

100n

K5

R18

D1

4k7

T2

C3

1M

L2

R5 1k

C12

R4 30k

R6

1M

Según su diseño, una guitarra eléctrica puede tener entre uno y seis elementos de pastilla (“pickup”). Las guitarras (acústicas) clásicas también podrían beneficiarse de una o varias pastillas “actualizadas”. Cada pastilla tiene un sonido específico según el tipo de sensor y la posición en el instrumento. Cuando una guitarra tiene más de una pastilla éstas pueden ser conectadas juntas, con o sin componentes adicionales. Sin embargo, es preferible que la señal de cada pastilla sea almacenada en un “buffer” de forma individual. Estas señales “almacenadas” y, posiblemente, amplificadas, deberían ser ajustadas en nivel con el fin de producir el efecto deseable (o ‘sonido’). Después, pueden ser mezcladas y enviadas a la siguiente etapa del equipo de procesamiento de audio. La mayoría de los guitarristas estarán de acuerdo en que los elementos de las pastilla no pueden trabajar con cables más largos de, aproximadamente, 2 m, sin el riesgo de una degradación significativa de la señal. Las pastillas de guitarra típicas requieren una resistencia de carga de unos 50 kΩ y, a veces, valores superiores a 200 kΩ, por lo que, a menudo, se inserta un preamplificador/buffer, cuya función principal no es la de aumentar la ganancia, sino la de permitir el conexionado de cables de entre 3 y 10 m, lo que representa una capacidad de entre 90 y 180 pF/m. En el circuito mostrado aquí, cada pastilla tiene su propio buffer de entrada, con un transistor configurado como seguidor de emisor. Cada etapa tiene una ganancia ligeramente inferior a la unidad. Esto no es un problema, ya que la mayor parte de las pastillas proporcionan niveles de señal importantes, típicamente, por encima de los 200 mVpp. La resistencia de entrada de la primera etapa supera los 200 kΩ, valor que es adecuado para la mayoría de las pastillas inductivas del mercado. Si necesitamos una resistencia de entrada de mayor valor, las resistencias de 1 MΩ, marcadas con asteriscos, pueden ser omitidas y las de 720 kΩ pueden ser aumentadas hasta los 1,2 – 1,5 MΩ. Esto elevará la resistencia de entrada de la etapa a, aproximadamente, 500 kΩ. Para asegurar a la salida de la primera etapa una señal no deformada lo más alta posible, la tensión colector-emisor (VCE) de T1-T4 debería ser, aproximadamente, la mitad de la tensión de alimentación. Es importante que el primer transistor del buffer tenga un ruido bajo y una ganancia DC eleelektor 7/8-2011

R3 1M

Petre Tzvetanov Petrov (Bulgaria)

T1

C1

C10

10k

L1

C9

10k

de línea de guitarra eléctrica

110307 - 11

salidas, K6 y K7, son capaces de trabajar con cargas de 600 Ω, incluyendo auriculares de alta impedancia. El circuito es simple de probar y de ajustar: 1. comprobar que en T1-T4 su VCE es, aproximadamente, la mitad de la tensión de alimentación; 2. sin señal de entrada, ajustamos el potenciómetro P7 a, aproximadamente, la mitad de la tensión de alimentación, en la salida de IC1. Si no se requiere un ajuste preciso del “offset” de salida del amplificador operacional, P7 puede ser omitido y R17 se conecta a la unión de R18 y R19. La tensión de alimentación debe estar entre 12 V y 24 V. Es posible hacer trabajar al circuito con una tensión de 9 V, pero esta tensión de alimentación más baja limitará la amplitud de salida y la ganancia. El consumo de corriente típico, con una pila de 9 V, es de 10 mA. Dos pilas de 9 V conectadas en serie es la solución preferida. La amplitud de salida no distorsionada es de hasta 6 Vpp con una alimentación de 12 V y con cargas de 2 kΩ en las salidas. La banda de frecuencias de la unidad excede los 20 Hz - 20 kHz. Para esta aplicación se comprobó que la distorsión y el ruido eran insignificantes. (110307)

91

63414

Algunos relés estáticos de CC Georges Treels (Francia)

+12V

92

1k R2 220R 1

D1

C1 47u 35V

D2

T1

IC1 4N28

5V0

2

6

R3

P600D

5

*

C2 470u 25V

4

100k

R1 100R

B1 DF04

5V...24V /

RL

C3

D3

100n

P600D 100938 - 11

+12V R6

1k R1 100R

B1 DF04

5V...24V /

R2 220R 1

D1

D2

100n

P600D

5

R5

T1

C2

1k

C1

IC1 4N28

RL

C3

1k

R4

5V0

2

6

R3

470u 25V

*

T2

4

100k

47u 35V

D3

2N2222

P600D 100938 - 12

+12V 5 R1 P1

IC1.A 1

10k

IC1.B

14

&

2 S1

8

3

IC1.C

12

2u2 16V

11

&

D2

C2

P600D

470u 25V

*

IC1.D

13

C1

T1

10

&

9

7

4

&

6

100k

Los buenos y viejos relés electromecánicos son relativamente costosos en cuanto la intensidad con la que hay que trabajar es importante y que los retardos de conmutación deben ser cortos. Una solución es la de pasar a los relés estáticos. En modo CC, los MOSFET ofrecen una solución muy interesante y los diferentes fabricantes proponen hoy día componentes, por menos de cinco euros, con prestaciones asombrosas, tanto en lo referente a la corriente como a la baja RDS(on). Su montaje es relativamente sencillo, tanto en modo monoestable como en biestable, entonces, ¿por qué privarse de ellos? Los siguientes esquemas nos van a permitir conmutaciones de 10 a 60 A (incluso más, si se adoptan configuraciones con MOSFET en paralelo), con tiempos de conmutación muy cortos. Se presentan varias configuraciones, tanto monoestables como biestables, capaces de conmutar una carga que, por un lado bien está conectada a masa (high side switching) o bien a positivo (low side switching). Las configuraciones monoestables ofrecen además un aislamiento galvánico y pueden ser controladas por señales de 5 a 24 V, CC o CA. Los relés estáticos biestables son controlados por un simple botón-pulsador y un poco de circuitería lógica. Comencemos con los relés estáticos monoestables. El puente de Graetz B1 autoriza cualquier polaridad de entrada, en caso de una señal de control CC y rectifica la señal en caso de una señal de control CA. El conjunto de R1, R2, D1 limita la corriente en el LED del fotoacoplador IC1. La base del fototransistor, incluido en IC1, está conectada a masa a través de R3, mientras que el emisor está conectado directamente a masa. En el caso de una carga conectada a masa la “rejilla” de T1, un MOSFET de canal P, está controlada directamente por el colector de IC1. Si la carga está conectada a positivo, la rejilla de T1, un MOSFET canal N esta vez, está controlada por T2, que invierte la salida de IC1. C2, C3, D2, y D3 protegen al MOSFET en el caso de cargas que no sean resistivas puras. Las dos configuraciones biestables utilizan las mismas etapas de potencia que los monoestables con MOSFET N para las cargas conectadas a positivo y un MOSFET P para las cargas conectadas a masa. IC1.A está cableado como báscula simple: con el cursor de P1 en límite de conmutación, la salida de IC1.A cambiará con cada pulsación del pulsador S1. R1 y C1 evitan las oscilaciones

R4

IC1 = 4093

C3

D1

100n

P600D

RL

100938 - 13

+12V R1 100k P1 1 10k

8

IC1.A

2

&

3

9

IC1.B

14

6

&

5

S1

7

2u2 16V

Personal Download for I © Elektor

&

10

C3

D2

100n

P600D

T1

4 12 13

C1

IC1.C

C2

IC1.D &

11

*

RL

470u 25V D1

IC1 = 4093 P600D 100938 - 14

7/8-2011

elektor

63414

rápidas que aparecen al pulsar S1. Las puertas B, C y D de IC1 controlan directamente la rejilla del MOSFET P en el caso de una carga conectada a la masa. IC1.B invierte la salida de IC1.A cuando hay que controlar un MOSFET N (carga conectada a positivo). En ambas configuraciones, cuando se da alimentación, el relé quedará inac tivo (seguridad).

Corriente MOSFET N

MOSFET P

10 A

IRFZ24

IRF9540

30 A

IRFZ44

IRF5210

60 A

IRF2804

SUP75P03-07

relés, deberemos poner cuidado con las corrientes transitorias elevadas que pueden circular por las pistas de la placa. Por ejemplo, por tres SUP75P03-07 cableados en paralelo pueden «pasar» ¡más de 200 A! Así pues, deberemos tener en mente que una pista de una placa, con una capa de cobre de un espesor de 35 µm (es decir, espesor estándar) tiene una resistencia de 48 x 10 -5 x L / l Ω, con L (longitud) y l (anchura) a mm.

una baja RDS(on) (calentamiento) y una buena característica dv/dt, en caso de carga «sucia». Atención con las VDS. Incluso si la mayoría de estos transistores soportan una tensión de 60 V, éste no es el caso de ni de los fotoacopladores, ni de los transistores bipolares utilizados. Si diseñamos una placa para este tipo de

En lo referente a los MOSFET, la tabla muestra algunas referencias posibles. La lista está lejos de ser exhaustiva y regularmente aparecen nuevos modelos en el mercado. Es prioritaria

(100938)

Enlaces en internet [1] www.elektor.es/100938

Fuente de alimentación ininterrumpida para el router K2

Voltage Converter

D2

K4

T2

1M T1

10k 8

D6 G2

START

1N4148

C2

1

3

IC1.A

100n

1N4148

R6 10k

5V6 P1

2

100k

IRF3205

1n 3

4A

IC2

OUT

555

100k

R11

THR DIS TR

6

C1 100n

7

13V8

1

220p

12V6

K6

R4

R5A 10M P2

IC1.B

100k 6 R8

4

5V6

R10 10M

R9

C3

C4

47u 25V

220u 25V

D4

10k

S2

R7

5 7 C5

K5

IC1 = LM393

2

CV 5

BT1

G1

8

R

100k

4

C6

100k

> 11V8 F1

Battery Charger

Power Supply

100k

D5

18V

100k

K7

K1 R3

R5 10M

D7

K3

Router

R2

47k

BC547B R12

D1

V+ = Vpower supply - 1V2 R1

S1

D3

3x 1N400X

STOP

5V6 110071 - 11

Jan Lichtenbelt y Anne Offereins(NL) Puede ser interesante que en caso de caída de la red eléctrica, el router del teléfono/Internet siga funcionando un tiempo más, por ejemplo, para el sistema de alarma. En ese momento una fuente de alimentación ininterrumpida tiene que relevar a la fuente del elektor 7/8-2011

router. La versión aquí descrita consta de una batería de plomo de 12 V en combinación con un convertidor que puede suministrar una tensión desde 15 a 30 V. También lleva incorporado una protección que evita que la batería se descargue demasiado. La fuente de alimentación ininterrumpida se conecta en el

Personal Download for I © Elektor

momento que desaparece la tensión de la red eléctrica. El circuito consta de 4 partes: el circuito de la fuente de alimentación ininterrumpida con una parte de detección que vigila si el adaptador de red provee la tensión para el router, el circuito de la batería con un circuito de vigi93

63414

lancia que se encarga de que la tensión de la batería no caiga por debajo de 11,8 V, un interruptor FET entre la batería y el convertidor de tensión y un duplicador de tensión (en el marco de líneas de puntos). Partimos primero de la situación de que no existe el doblador de tensión con tensiones de router superiores a 20 V. Las salidas 1 y 7 de los comparadores IC1.A y B están interconectados directamente con la puerta del FET (G1 interconectado con G2). La tensión sobre K1 se encarga normalmente de la tensión del router. El router está conectado a K3. En esta situación la tensión en el terminal 2 del comparador de tensión IC1.A tiene que ser mayor de 5,6 V. Entonces la salida (terminal 1) se encuentra a nivel bajo y el FET no conduce. Si desaparece la tensión externa sobre K1, la tensión en el terminal 2 del IC1.A baja y el terminal 1 cambia a nivel alto, de modo que el FET empieza a conducir. Entonces, la batería y el convertidor de tensión se encargan de alimentar el router. La batería se descargará lentamente. Para evitar que la tensión de la batería caiga por debajo de 11,8 V, la salida del segundo comparador (terminal 7) cambia a nivel bajo en el momento que la tensión cae demasiado y

el FET se desconecta. La tensión de la batería puede aumentar bastante en el momento de la desconexión de la corriente. Se ha añadido C3 para evitar que la batería vuelva a conectarse. S1 permite arrancar sin una fuente de alimentación externa en K1 y el condensador electrolítico se encarga de que los comparadores sigan funcionando correctamente con desconexiones breves de las tensiones de alimentación a través de K1 y K2. Por razones de seguridad, se han añadido el botón parada de emergencia S2 y el fusible F1. El convertidor de tensión tiene un consumo elevado en el momento de arrancar, de modo que hay que dimensionar F1 bastante ampliamente. En caso de que la tensión del router esté por debajo de los 19 V, el nivel ‘alto’ de la tensión de salida de los comparadores es demasiado baja como para alcanzar una tensión puertafuente de 4,5...5 V. Después de todo, la tensión fuente será igual a la tensión de la batería que recargándose continuamente es de 13,8 V. La puerta tiene que tener como mínimo una tensión de 18,3...18,8 V. Esto no será posible o será complicado con una tensión de router por debajo de 19 V. Para estas situaciones se ha añadido el duplicador de tensión con la

ayuda del famoso temporizador 555 (versión CMOS). La frecuencia del oscilador (IC2) es de unos 40 kHz. Esta tensión alterna se suma con C6, D5 y D6 a la tensión de alimentación conmutada que provee T2. Los comparadores conmutan este último y el reset del temporizador al mismo tiempo. Un diodo zener de 18 V (D7) protege la unión puerta/fuente del FET contra tensiones demasiado altas. Ten cuidado de no sobrepasar la tensión de alimentación máxima permitida del 555. Se pueden adquirir versiones de 16 y 18 V de este integrado. El convertidor de tensión utilizado es una fuente de alimentación de un portátil utilizada en coches con 12 V y una tensión de salida a elegir, 0,5 A mínimo. La mayoría de los convertidores pueden suministrar esto fácilmente. La batería de plomo tiene que estar conectada a un buen cargador, que mantenga bien una batería sin carga durante un tiempo prolongado. Para eso se han describió varias soluciones en Elektor. Ajusta P1 a unos 7 V. Conecta una fuente de alimentación de laboratorio en el lugar de la batería para ajustar P2 a un punto de conmutación de 11,8 V. (110071)

Silbato para Ronja Stefan Hoffmann (Alemania) S1

Ronja es la perra del autor, un cruce de Beagle, a la que siempre hay que llamar una y otra vez. De aquí vino la idea de un silbato electrónico para perros, que permitiera alternar entre dos sonidos en el margen de la alta frecuencia. Un silbato para perros de este tipo tiene varias ventajas sobre los tradicionales:

El silbato para perros consiste en dos timers integrados 555 (o uno sólo del tipo 556), conectados a modo de multivibrador astable. El primer 555 modula con su frecuencia 94

2k2

2k2 R2

9V

2 6

1N4148

DIS

7 R4

IC1 OUT

TR

5

47k

7 D1

R5

4

3

2

NE555

THR

GND 1

C1 220u 25V

6 R6

D2

C2

TEST

22n

4

8

CV VCC R DIS

IC2 OUT

TR

3

NE555

THR

GND

S2

330R

BT1

8

CV VCC R

2k2

5

2k2

•  P  odemos llamar a nuestro compañero a distancia, sin necesidad de tener siquiera que silbar. •  Ya que los sonidos en alta frecuencia son difícilmente audibles para las personas (mayores), no molestaremos a nadie con gritos o silbidos altos. Es sabido que los perros oyen mejor, aparte de sonidos más agudos, hasta de 40 kHz. •  Ya que emite dos sonidos alternativos, el perro puede diferenciar ambas señales de otros silbidos que puedan aparecer.

R3

R1

ON

1

BZ1

C3 100n 110152 - 11

de aproximadamente 1,5 Hz la frecuencia del segundo, con lo cual se envían pulsos distintos cada 0,7 segundos de dos frecuencias distintas mediante el zumbador piezoeléctrico. Si el volumen del zumbador no fuese sufi-

Personal Download for I © Elektor

ciente, podemos utilizar un pequeño amplificador de transistores. El circuito sólo consume energía cuando está activo, es decir, al pulsar S1. Un LED verde opcional sirve como indicador del funciona7/8-2011

elektor

63414

miento. Si pulsamos S2 se reduce la frecuencia, con lo que podremos escuchar (mejor) si funciona correctamente. Ambos 555 funcionan como multivibradores astables. En IC1, determinan la frecuencia R1, R2 y C1. El diodo D1 produce un factor de servicio casi simétrico, ya que C1 se carga a través R1 y sólo se descarga a través de R2. En IC2, el condensador C2 se carga sin diodo a través de R3 y R4, y se descarga únicamente

a través de R4. La frecuencia ronda los 10 kHz (con C2 = 22 nF) o aproximadamente 1,8 kHz, cuando se pulsa S2 y se conecta en paralelo el condensador C3. También podemos utilizar una frecuencia muy alta, de unos 22 kHz (con C2 = 10 nF), que sólo puedan oír los perros (y algunos animales más). Con C2 = 15 nF es de unos 15 kHz. IC1 modula mediante R5 la frecuencia transmitida por IC2.

El LED verde D2 está conectado con la resistencia en serie R6 a la salida IC1 y parpadea por lo tanto a dicha frecuencia. El volumen generado por el zumbador piezoeléctrico a 10 kHz (C2 = 22 nF) es suficiente para escucharlo bastante bien. Si aún así fuese muy bajo, quizá sería mejor utilizar un altavoz más efectivo (como una bocina piezoeléctrica). (110152)

Pequeñas lámparas con elevado consumo en standby

sumo energético con la lámpara apagada de 13 W! Desenroscando la bombilla estábamos en las mismas, seguía mostrando 13 W. Con la bombilla enroscada la medida para la primera etapa del dimmer daba 18 W, en la segunda 23 W y finalmente en la tercera, a máxima luminosidad, 28 W. ¡El consumo con una luminosidad del 0% era ya el 52% de la potencia de la bombilla! Uno se pregunta cómo es posible que algo así llegue al mercado. A 20 céntimos/kWh, el consumo energético en standby excede en menos de seis meses el precio final de la lámpara, y al año, con 113,88 KWh, ¡supera los 20 €! Conclusión: merece la pena una mejora del conector a la red, por ejemplo con una regleta que permita desconectar la lámpara totalmente, al menos durante el día. En dispositivos sin interruptor hemos de prestar atención al consumo en standby, ¡preferiblemente antes de comprarlos!

Leo Szumylowycz (Alemania) En una conocida distribuidora hace poco se ofrecían lámparas de mesa con un regualdor sensor de 3 etapas, en distintos diseños. Lógicamente, su primera aplicación práctica es como lámpara de mesilla: no tiene la típica cuerdecita que tendremos que buscar en la oscuridad, o en su defecto botón alguno. Simplemente tocamos la estructura de la lámpara, y se hará la luz. Tras adquirir varios ejemplares, que venían equipados con bombillas de 25 W (E14), se puso a prueba su funcionamiento y resultaron ir bastante bien. Sin embargo, al medir el consumo en standby especificado por el fabricante o importador, nos llevamos una sorpresa: ¡nuestro medidor mostraba un con-

(110062)

Tester de infrarrojos Georg Schmülling (Alemania) ¿A quién no le ha pasado esto alguna vez?: al pulsar un botón del mando a distancia, el aparato no funciona y empezamos a preguntarnos a qué se debe. Resulta imposible comprobar a primera vista si los LEDs infrarrojos están funcionando o no. He aquí un pequeño dispositivo que prueba de forma rápida y sencilla el funcionamiento básico elektor 7/8-2011

de un control remoto. El circuito consiste principalmente en una etapa amplificadora Darlington con tres transistores, siendo el primero de ellos un fototransistor de infrarrojos (IR). Para entornos con luz natural el circuito es muy poco sensible. El transistor IR se controla mediante una luz infrarroja constante (no modulada) (la luz que incide genera la corriente de base del tran-

Personal Download for I © Elektor

sistor), con lo que posteriormente fluye una corriente continua constante a través de R3 y R2. El divisor de tensión formado por estas dos resistencias (bastante grandes) hace que las siguientes etapas Darlington con T1 y T2 no puedan regular la corriente que circula. Con una baja tensión de alimentación de 3 V, la tensión en R2 permanece también bajo la de umbral de la etapa Darlington de 95

63414

T3

En especial hemos de hacer hincapié en la baja corriente de standby del circuito, inferior a 500 nA, con lo que aún sin desconectarlo, la batería garantiza una larga duración.

10R

R1

BT1

SFH903 R3

R2

3V

T1

100n

La elección de los componentes no es crítica. Para T3 puede utilizarse casi cualquier fototransistor IR, y para T1 y T2 bastan todos los pequeños transistores estándar de señal NPN. Para su montaje el autor ha desarrollado una tarjeta y los archivos de datos (GBR y HPGL) pueden descargarse gratuitamente [1] de la web de Elektor.

D2

1M

C1

C2 100n

BC547

220k

unos 1,2 V (2 x U BE) cuando el fototransistor está en conducción. Algo totalmente distinto ocurre cuando el fototransistor recibe una señal IR modulada en pulsos, enviada desde un LED infrarrojo en un mando a distancia: esta señal de pulsos con una frecuencia de 35 a 40 kHz pasa mediante el condensador C1 directamente y sin atenuación a la base de la etapa Darlington, y es amplificada en ésta, de modo que el LED se ilumina, indicando que el control remoto funciona correctamente. El condensador C2 integra la señal de pulsos amplificada, con lo que el LED también emite breves parpadeos visibles según la señal infrarroja modulada.

T2

CR2032

BC547

110088

110088 - 11

[1] www.elektor.es/110088

Sistema de alimentación con aislamiento de alta tensión 1

Motor Control

C5

96

MOTOR 50W

1

M2

+30V

3

NMH1215S DC-DC

GND

2

4

IC4

VIN

GND

2

4

1 C10

IC1

VIN GND

10u 16V

+5V

3 C11

2

D3

R4

1A

10u 16V

VOUT

-9V

3

GS2TX-9 DC-DC

10u 16V

50mA

C4

VOUT

GND

10u 16V

MOTOR 30W

VOUT

121MR6-05-2 DC-DC

C9

M1

IC5

GND

10u 16V

200mA

C13

GND 4

10u 16V

IC3

D5

C1

1A

1A

1A

4700u 16V

ADJ

1A5

R1

6V

R6 100R

100R

D4

+9V

100R

D1

LM317T

8

C6 6 5 7

D7

D8

C2

C8

1A

1A

1A

4700u 16V

1u

R5

C3

C12

100u 16V

2200u 16V

R2 100R

D6

D2

VCC

1n

100R

A veces, durante el diseño de sistemas de medición, aparecen situaciones particulares. Fue así como el autor tuvo que realizar un sistema para el registro de vibraciones y tensiones mecánicas que surgieron en un sensor de corriente funcionando a una tensión de 25 kVAC. Uno de los problemas más grandes de este proyecto resultó ser la alimentación de este sistema de medición. No se podía utilizar pilas o baterías debido a que el consumo era de unos 30 W, y el sistema tenía que poder funcionar durante varias horas continuas. Una idea lógica era la utilización de un transformador de aislamiento, pero... 25 kVAC significaba un valor pico de casi 40 kV, encima de eso había que añadir un margen de seguridad. ¡Además, todo lo que estuviese conectado a la línea de alta tensión tenía que ser a prueba de caídas de rayos! Esto significa que el aislamiento tiene que poder resistir una tensión de prueba de 150 KV, una tarea difícil para todo el material aislante. Después de una intensa búsqueda no se encontró ningún proveedor para un transformador de unos 50 W, 230 V primario y unos 12 V secundario, con un aislamiento de 25 kVAC. Por eso se utilizó un sistema dinámico que, por desgracia, es más sensible al desgaste. Este sistema consta de un motor trifásico de 50 W que propulsa un generador de 30 W (un

VIN

C7 1n

TR

IC2

SWO

MOD TC

TWO

3

IR

4

LM566CN GND 1

R3 100R

Jac Hettema (Holanda)

110440 - 11

servomotor trifásico utilizado como generador) a través de un eje aislante, que suministra la energía para el registrador de datos y el resto de la electrónica.

Personal Download for I © Elektor

Como se utilizó un generador trifásico, la tensión surgida después de la rectificación de onda completa con D1, D4...D8 fue bastante buena, también porque el número de revolu7/8-2011

elektor

63414

ciones del generador era bastante elevado. Por eso la fuente de alimentación secundaria podía mantenerse bastante sencilla. IC3, un LM317T, estabiliza la tensión principal de

9 VDC. De ahí se crean, con la ayuda de pequeños módulos DC/DC (IC1, IC4, IC5) las tensiones de +5 V, + 30 V y – 9 V, que son necesarias para las diferentes partes del circuito. Final-

mente, IC2 (LM566, un oscilador controlado por tensión) hace que parpadee el LED D2 si hay tensión de alimentación. (110440)

Luz secuencial analógica con LEDs Burkhard Kainka (Alemania)

T2

R3 33k

D1

C1

C2

47u 16V

1k C3

1k

R12

1k C5

47u 16V

D5

T7

C6

47u 16V

D7

D6

R18

D8

47u 16V

T1...T9 = BC548A

1k

1k T8

C8

6V...24V

47u 16V

R16

R15 33k

BT1

T6

R11 33k

47u 16V

R14

D3

47u 16V

T5

R9 33k

D4

C4

R13 33k

D2

R10

1k T4

T3

R5 33k

47u 16V

R8

R7 33k

R6

1k

1k T1

R1 33k

C7

www.youtube.com/user/ bkelektronik#p/u/1/-U_vAx_EK_M

R4

R2

1k

El circuito mostrado consta de nueve etapas inversoras de transistores con un LED entre emisor y masa, en los cuales la salida de la última etapa está conectada con la entrada de la primera. El principio es similar al utilizado en el otro artículo del autor en esta edición de Elektor, el oscilador de anillo. No obstante, en este caso las etapas individuales tienen retardos adicionales, construidos en cada caso mediante una resistencia de 33 kΩ y un condensador electrolítico de 47 μF. El circuito funciona con cualquier número de etapas que queramos, en este caso (como puede verse) con nueve LEDs. Este circuito se mantiene oscilante de fo r ma m u y s ó lida y s o r p r e n d e p o r su compor t amiento al parpadear. Si sólo utilizamos dos LEDs parece una especie de parpadeo alternativo. Esencialmente, uno siempre ve un LED encendido junto a otro apagado. Pero en una rápida secuencia la cosa cambia. Una perturbación se transmite durante toda la secuencia. En un video de Youtube puede ver cómo sucede esto:

T9

R17 33k C9

D9

47u 16V

110194 - 11

(110194)

Publicidad

The European reference for PCB prototypes & small series

www.eurocircuits.com elektor 7/8-2011

Personal Download for I © Elektor

97

63414

PROGRAMACIÓN

FAT Pequeño

Bibliotecas para sistema de ficheros FAT de código abierto para aplicaciones embebidas Stephen Bernhoeft (Rusia)

De hecho, el sistema de ficheros FAT se ha convertido en el sistema de ficheros leíble universalmente. Existe un cierto número de implementaciones de código abierto de arquitectura neutral. Antes de usar una solución, corresponde a los desarrolladores comprender correctamente como funciona actualmente el sistema de Tabla de Asignación de Ficheros (FAT). Antes de elegir una solución, ¡lean esto! La idea central Una Tabla de Asignación de Ficheros (File Allocation Table o FAT) agrupa una colección de listas enlazadas. Existe una lista asociada con cada fichero y cada elemento de la lista sucesiva describe dónde encontrar la siguiente parte de un fichero y dónde encontrar el siguiente elemento de la lista. La lista es lo más sencillo que se pueda concebir. Cada elemento está formado sólo de un puntero al siguiente elemento, es decir, no existen datos explícitos en la FAT. Una vez que sabemos que no hay datos explícitos en la FAT entonces, ¿cómo puede sernos útil? La respuesta es que el dato está implícito. Cada valor no-reservado de una cadena FAT tiene dos significados: uno es el del puntero al siguiente elemento de la lista y el otro es el puntero al fichero de datos. Una FAT se puede considerar como una matriz (ver Figura 1). Supongamos que partimos del valor de FAT[x] a partir del cual podemos encontrar el siguiente elemento. Por ejemplo, si la cadena FAT para un fichero determinado comienza en FAT[3], que contiene el valor ‘14’ (0xE), el siguiente elemento de la lista es FAT[14]. Ahora, FAT[14] podría albergar el valor ‘4’, de manera que el siguiente elemento sería FAT[4]. Si FAT[x] contiene el valor reservado ‘EOC’ (End Of Cluster, es decir, Fin de Clúster), nos indica que estamos al final de esta cadena. Las dos primeras entradas de la FAT (FAT[0], FAT[1]), están reservadas. Ninguna entrada de la FAT puede nunca apuntar a estas dos primeras entradas. La primera, FAT[0], aloja un campo heredado, el “media byte”. La segunda, FAT[1], es usada por el sistema operativo para grabar un apagado “limpio” o “sucio”. Una consecuencia importante de esto es que: cuando es interpretada como un número de “clúster”,

a una entrada de la FAT se le debe restar primero dos unidades de su valor marcado. Es decir, si una entrada de la FAT es 14, entonces el número de “clúster” es de (14–2) = 12 (0xC). Así pues, la entrada FAT[14] de la Figura 1 también apunta al “clúster” 14 – 2 =12, el cual contiene la primera parte del fichero de datos real y FAT[11] apunta al “clúster” 11 – 2 = 9, que contiene la parte final del fichero de datos real. Esto puede ser considerado la base del sistema FAT, aunque se deben añadir muchos más detalles extras para describir una implementación real.

Punto de entrada FAT ¿Cómo se navega por la FAT? La idea es comenzar con el directorio raíz. Un directorio es un único fichero que contiene una serie de entradas de 32 bytes (esto es verdad tanto para FAT16 como para FAT32). Cada entrada de 32 bytes contiene una estructura que describe otro fichero o directorio. La entrada incluye el tiempo de creación, los atributos del fichero y un “puntero en el interior de la FAT”. El modo en que inicialmente se localiza el directorio raíz difiere del sistema FAT16 al FAT32. Con FAT16 calculamos la localización y tamaño del directorio raíz usando el “Registro de Volumen de Arranque” (Volume Boot Record o VBR). En FAT32 el VBR proporciona el índice de inicio de la cadena FAT o del fichero del directorio raíz, es decir, un fichero de directorio raíz FAT32 puede crecer sin ataduras. En ambos casos también podemos trabajar con la FAT propiamente dicha, comenzando usando la información del VBR. El primer elemento FAT en una cadena FAT no se encuentra en la FAT propiamente dicha, sino que se encuentra en una entrada de direc-

FAT usa el formato “little endian”

98

Personal Download for I © Elektor

7/8-2011

elektor

63414

PROGRAMACIÓN

Medio VBR

FAT32

FAT16

MyFile

cadena FAT

[MBR opcional]

txt 20

Sub0 modbus

0003

10 c 20

Archivo Raiz del Directorio FAT Cadena FAT típica para un archivo

X

0

X

1

0000

2

000E

000B

4

0000

5

0000

8

0000

9

0000

C

0000

D

3

0000

6

0000

7

0000

A

FFFF

B

0004

E

0000

F

0003-2 = 0001 Primer cluster del archivo

000E-2 = 000C 000B-2 = 0009 Último cluster del archivo

Cluster de sectores

Cluster de sectores

Cluster de sectores

0004-2 = 0002

Cluster de sectores

(Primer sector @0001)

(Primer sector @000C)

(Primer sector @0002)

(Primer sector @0009)

100569 - 11

Figura 1. Vista general del sistema de ficheros FAT y de la organización de los datos. (0xFFFF es el final del ejemplo de cadena FAT). Los dispositivos particionados con este sistema contienen un Master Boot Record (MBR, o Registro de Arranque Maestro), no localizado en la partición, que contienen la tabla de partición primaria. Cada entrada de esta tabla nos dice el tipo de partición (FAT, OS/2, Linux, etc.), el sector de inicio y el número de sectores de la partición. torio. La única excepción a esta regla es el campo BPB_RootClus del VBR FAT32, el cual contiene el primer elemento FAT de la cadena FAT para el directorio raíz. El espacio del disco está dividido en clústeres de sectores físicos contiguos. Como el tamaño del clúster es conocido y los clústeres están compuestos de sectores contiguos, la FAT sólo necesita el sector de comienzo de un clúster dado. El tamaño del sector es, normalmente, de 512 bytes aunque el sistema FAT soporta tamaños de sectores de 512, 1024, 2048 y 4096 bytes. ¿Cuál es el propósito del clúster? Es el de mantener el número de regiones FAT direccionables en un valor aceptable: con un tamaño de clúster de 1, un fichero grande podría tener una cadena FAT demasiado larga; un elemento para cada sector lógico ocupado por el fichero. Con un tamaño de clúster de 64, sólo necesitamos una única entrada FAT para cada 64 sectores lógicos, con la desventaja de que un fichero que utiliza 65 sectores lógicos (bloques) desperdiciará 63 sectores lógicos.

Bibliotecas FAT de código abierto En la Red podemos encontrar disponibles muchas implementaciones FAT, tanto comerciales como gratuitas, y algunas de ellas forman elektor

7/8-2011

parte de un proyecto más grande. Así pues, decidimos concentrarnos en las bibliotecas FAT de plataformas independientes de código abierto. Los requerimientos mínimos para las pruebas fueron: • Acceso a los ficheros del directorio raíz. • Crear/Abrir/Leer/Escribir/Recortar; • Soporte FAT32 (para máxima compatibilidad con los dispositivos). • ANSI C (C90 preferentemente). También tenemos una preferencia adicional: • No hay obligación de publicar el código de usuario. En otras palabras, idealmente, deberíamos ser libres de utilizar el código que quisiésemos. ¿Es esto incongruente con el espíritu de código abierto? No necesariamente: Puedo no tener problemas en compartir el código de un módulo (como el de una biblioteca FAT), pero puede ser un suicidio comercial compartir el código de una aplicación completa, como la de un nuevo producto bajo prueba. Para ayudar a las pruebas se ha desarrollado una “utilidad de prueba de bibliotecas” (‘library test suite’). Dicha utilidad tiene un interfaz similar al DOS (ver Figura 2), permitiendo al usuario comprobar, de manera interactiva, la biblioteca utilizando comandos similares al DOS, a través de un emulador de terminal como el Realterm. La utilidad de prueba está disponible en la página web para este artículo [1].

Personal Download for I © Elektor

99

63414

PROGRAMACIÓN

Formateo Como los programadores embebidos, nosotros tampoco requerimos una función de formateo. Si necesitamos dar formato a un dispositivo flash, advertimos que un error habitual es el de utilizar una las herramientas habituales de un PC estándar. La razón es que las distintas estructuras del sistema de ficheros (particiones, clústeres, etc.) deberían estar preparadas para el denominado borrado de bloques. No es posible borrar un único byte. Por el contrario, es necesario borrar un bloque entero (quizás 64 sectores). La colocación cuidadosa de la estructura FAT hecha por el fabricante de las tarjetas SD ayuda a la lógica interna de las tarjetas a realizar sus principales tareas: •  “ Wear levelling” — para asegurar una vida larga de la tarjeta. •  Acceso de lectura y escritura rápido. Si el programa de formateo no es ‘SD-Card aware’, las prestaciones y vida de la tarjeta pueden sufrir. Sólo dos de las bibliotecas estudiadas soportan realmente la función de formateo: •  E FSL – ¡Quizás! La función mkfs_makevfat no está documentada por el autor y las pocas referencias encontradas en la página web no son muy alentadoras. Quizás el nombre del volumen por defecto, ‘DISCOSMASH!’ es un aviso... •  FatFs – Reconoce dispositivos media Flash.

Cuando personalizamos una biblioteca genérica, normalmente tenemos que definir: • Función, inicialización del dispositivo (media). • Función, escritura del sector. • Función, lectura de sector. Normalmente habrá un fichero de configuración de biblioteca donde se puede ajustar la cantidad de fichero almacenado (más memoria RAM significa un fichero de E/S más rápido), así como especificar los tipos de ficheros de operación requeridos (más memoria ROM significa una mayor funcionalidad). El ejemplo con el que trabajamos fue el KIT1 de iniciación PIC18F (DM180021) de Microchip, que ejecuta el código generado por el compilador C18 con todas las optimizaciones habilitadas. También

se hizo la compilación para el PIC24FJ256GB110 usando el compilador C30. Este compilador permite generar una solución de compromiso entre tamaño de código y velocidad: se eligió la opción de tamaño del código lo más pequeño posible. Sin embargo, nos dispusimos de ningún material para verificar los resultados.

EFSL La “situación de juego” con la biblioteca EFSL es un poco difícil de juzgar. La descarga por defecto de la página www.sourceforge.net/ projects/efsl/ es efsl-0.3.6. El manual que acompaña advierte “Esta versión actual no es realmente utilizable”. La versión actualmente estable es la 0.2.8. El árbol de código fuente incluye una serie de objetivos ejemplo y una buena documentación.

Tarjetas SD y licencias Hoy día, muchas placas de desarrollo de microcontroladores tienen un conector de tarjetas SD. En la mayoría de estos sistemas, el conector de la tarjeta SD está simplemente conectado al bus SPI del microcontrolador, sin el uso de un controlador host dedicado. La tarjeta SD estándar está controlada por la Asociación de Tarjetas SD, “una amplia organización de la industria que establece los estándares para promover la aceptación del producto SD en una gran variedad de aplicaciones”. La Asociación de Tarjetas SD (SD Card Association) exige que todas las empresas que planifiquen crear o fabricar productos que acepten tarjetas SD (por ejemplo, teléfonos móviles, cámaras u ordenadores) o productos auxiliares SD (por ejemplo, adaptadores o tarjetas de E/S SD) se unan a la Asociación de Tarjetas SD y acepten el Host/Ancillary Product License Agreement (HALA) (o Acuerdo de Licencia para Productos Host/Ancillary) con la Asociación de Tarjetas SD y el SD-3C, LLC. Esto es independiente de la forma en que la tarjeta pueda ser utilizada, sólo en el modo SPI o no. Por lo tanto, si se quiere diseñar o construir una de estas tarjetas, ¿es necesario pagar una cuota de licencia? Incluso si eso es lo que le gustaría a la Asociación de Tarjetas SD, la respuesta es, probablemente, no. De acuerdo con el documento SD Host Controller Simplified Specification Version 2.00, del 8 de Febrero de 2007, un producto host (“huesped”) SD es un sistema que contiene un controlador host que cumple con esta especificación. De acuerdo con la Asociación de Tarjetas SD, el controlador host está situado entre el conector host de la SD y el controlador del bus SD. Será muy probable que nuestro sistema no se ajuste a las especificaciones del controlador host y, por lo tanto, nuestra tarjeta no podrá ser calificada como un producto host SD. Pero, por favor, no usen nuestras palabras como algo inamovible, esto es lo que nosotros creemos. En caso de duda, pregunten a la Asociación de Tarjetas SD. Elektor no puede aceptar ninguna responsabilidad por cualquier pérdida o problemas causados por la incorrecta interpretación de las normas de la Asociación de Tarjetas SD.

www.sdcard.org/developers

100

Personal Download for I © Elektor

7/8-2011

elektor

63414

PROGRAMACIÓN

Para utilizar la bilbioteca EFSL primero hay que modificar las cabeceras de los archivos ejemplo para adaptarlas a nuestro objetivo. Para el PIC se aplicaron los siguientes archivos/modificaciones: config-sample-avr.h //#define HW_ENDPOINT_ATMEGA128_SD #define HW_ENDPOINT_PIC_SD //#define DEBUG interface.h #elif defined(HW_ENDPOINT_PIC_SD) #include “pic_efsl.h” Figura 2. Captura de pantalla de una sesión de prueba de biblioteca.

types.h Confirmar que euint16 etc son correctos. Existen unas opciones de configuración para una solución de compromiso entre prestaciones y uso de memoria RAM. Sin embargo, no existen opciones de configuración disponible para conseguir una buena relación entre funcionalidad y tamaño de código. Por ejemplo, la escritura de ficheros siempre está disponible. La contribución del núcleo de usuario es la de definir una estructura y cuatro funciones (ver ejemplos atmega128.h, atmega128.c). Los ficheros equivalentes para PIC (pic_efsl.h, sd.c) han sido escritos para este artículo. En el fichero config.h, hemos elegido “#define IOMAN_NUMBUFFER 1”. El manual recomienda un “buffer” por objeto File-System, dos “buffers” por fichero, un “buffer” extra para operaciones de búsqueda/ escritura, y tres “buffers” extra para “atenuar” las operaciones de listas de ficheros. Para nuestro programa de pruebas (un fichero abierto con búsqueda y lista), tenemos ya un tamaño de 7 x 512 = 3584 bytes. Esto es algo que no nos podemos permitir en nuestro ejemplo de trabajo, por lo que hemos usado tan sólo un “buffer”. Licencia “…se le permite hacer un enlace estático a la biblioteca sin tener que dar licencia a su propio código así como a GPL.” Conclusión La biblioteca EFSL se usa ampliamente, por ejemplo, en la AN10916 de NXP y en la AN3102 de ST. Sin embargo, no parece ser tan ampliamente utilizada como el formato FatFs. Es algo inquietante que la nueva versión, la 0.3.6, parece que ha sido abandonada. Por otro lado, el código fuente actual y su documentación son de un gran nivel y el hecho de que el mayor vendedor de CI lo esté usando en sus notas de aplicación es algo tranquilizador. Internet sourceforge.net/projects/efsl/files/

cos duros IDE y equipos Compact Flash. Las plataformas que cubre son ATMega, H8, LPC2368, PIC24, μPD70F3706, y win32 (basadas en PC). Existe una extensa estadística que muestra las huellas de código y las prestaciones en bancos de prueba para estas plataforPublicidad

Elektor App para iPhone e iPad La caja de herramientas electrónica de Elektor Elektor ofrece ahora una App que no te puedes permitir no tener en tu iPhone, iPod Touch o iPad. La caja de herramientas electrónica de Elektor (Elektor Electronic Toolbox) es una colección de nada menos que 28 herramientas electrónicas que puedes escoger entre una amplia colección de iconos. Destacados: – Bases de datos de Transistores, FETs, Triacs, Thyristores, Diodos e ICs – Diseño de circuitos con NE555 – Calculadora de la Ley de Ohm – Esquemas – Convertidor de bases numéricas – Cálculo de resistencias para LED – Cálculos R/L y BJT – Y más

FatFs La biblioteca FatFs tiene una impresionante colección de proyectos de ejemplo. Junto con el código, hay esquemas eléctricos que muestran interfaces a dispositivos tales como tarjetas MMC/SD, diselektor

7/8-2011

Personal Download for I © Elektor

le en la ¡Ahora disponib ore por Apple iTunes St solo 4,99 €!

Más información en

www.elektor.es/app 101

63414

PROGRAMACIÓN

Licencia FAT Microsoft solicitó, y obtuvo, una serie de patentes para las piezas clave del sistema de archivos FAT a mediados de la década de los 90. El 3 de diciembre de 2003, Microsoft anunció que ofrecería licencias para el uso de su especificación FAT y “propiedad intelectual asociados” a un coste de 0,25 $ de royalties por unidad vendida, con un canon máximo de 250.000 $ por contrato de licencia. Para ello, Microsoft citó cuatro patentes en el sistema de archivos FAT como base de sus reclamaciones de propiedad intelectual. Los cuatro pertenecen a la ampliación de nombre de fichero largo para la primera FAT vista por vez en Windows 95. Muchos comentaristas técnicos han concluido que estas patentes sólo se refieren a las implementaciones FAT que incluyen soporte para nombres de ficheros largos, y que los dispositivos media extraíbles de estado sólido y los dispositivos de los usuarios que sólo usan nombres cortos, no se verían afectados. (Fuente: Wikipedia)

mas con diferentes configuraciones de biblioteca, en la página web de FatFs. Existe un margen razonable para el tamaño del código comercial frente a la funcionalidad, aunque algunas funciones estén agrupadas. Dichas funciones (f_truncate, f_stat, f_getfree, f_unlink, f_mkdir, f_chmod, y f_rename) no pueden ser habilitadas individualmente. El adaptar la biblioteca FatFs a nuestras necesidades es similar al proceso con la biblioteca FSL. La contribución del núcleo de usuario es la de definir seis funciones que son declaradas en el fichero diskio.h. Cuatro de estas funciones son prácticamente idénticas a las necesitadas en la biblioteca EFSL. Cuando se comprobó la biblioteca FatFs con el compilador C18 fue necesario modificar el código del fichero ff.c para evitar errores en tiempo de ejecución:

1. Sólo podemos sobrescribir un fichero existente. 2. No podemos crear un fichero. 3. No podemos ampliar el fichero. En resumen, no satisface nuestros requerimientos mínimos. Licencia Sin restricción de uso. Conclusión La biblioteca Petit FatFs es útil en (pequeños) sistemas que solo necesitan la capacidad de lectura como reproductores MP3 y marcos digitales.

int chk_chr (const char* str, int chr)

Internet elm-chan.org/fsw/ff/00index_p.html

debe ser re-declarada como

SD-Reader

int chk_chr (static char rom *str, int chr)

El sitio web da una buena impresión. Esta biblioteca difiere de las otras en, al menos, tres aspectos importantes:

Este es un problema específico de este compilador. Licencia Sin restricción de uso. Conclusión La biblioteca FatFs es ampliamente utilizada y se mantiene al día activamente. Parece ser que es la biblioteca más popular y, por ello, debería estar relativamente libre de fallos. El amplio rango de ejemplos y estadísticas hacen que esta biblioteca sobresalga de las demás. El código fuente no es sencillo de seguir y es bastante complicado en su estilo. La documentación es razonable pero no lo suficientemente clara cómo debería ser. El foro de usuarios es útil pero algo primitivo. Internet elm-chan.org/fsw/ff/00index_e. html

Petit FatFs Esta es una versión mínima de la biblioteca FatFs, destinada a los microcontroladores de 8 bits. Ofrece una funcionalidad de escritura muy limitada: 102

1. El código fuente requiere el compilador C99. Así, por ejemplo, el compilador C18 no es adecuado. 2. Está específicamente indicado para tarjetas SD. 3. El interfaz de usuario es muy diferente de las otras biblioteca FAT. No está basado en sectores sino que está basado en desplazamiento de bytes, donde el desplazamiento de byte no está alineado con el límite de 512 bytes. Sin embargo, el fichero suministrado, sd_raw.c, proporciona la mayor parte del código requerido para utilizar la biblioteca. Un problema es que parece que no hay forma de que el código de usuario pueda acceder a la posición del fichero ya que el ‘field pos’ está definido en un fichero C en lugar de un fichero H. (tampoco existe la función ftell). Otro aspecto es que el fichero abierto no usa el familiar modo ‘+a’ etc de fichero de parámetros. En las pruebas, el código de cliente tuvo que ser escrito para replicar el modo ‘a+’ (añadir si el fichero existe y, si no, crearlo). Licencia GPLv2 o LGPLv2.1.

Personal Download for I © Elektor

7/8-2011

elektor

63414

PROGRAMACIÓN

Tabla 1. Una comparativa de varias bibliotecas FAT de código abierto Biblioteca EFSL0.2.8

Compilador Dispositivo destino

Código

Dato

C18 v3.35

PIC46J50

34292

1258

C30 v3.23

PIC24FJ256GB110

15516

1266

ARMCC

STM32F107xx

8338



C18 v3.35

PIC46J50

21572

658

C30 v3.23

PIC24FJ256GB110

9099

826

WinAVR

AVR

8386 / 12700

CH38

H8

6980 / 10686

C30

PIC24

7395 / 11376

V850ES

CA850

4930 / 7730

SHC

SH-2A

5600 / 8592

WinARM

ARM7TDMI

6636 / 10520

VC6

x86

4923 / 7545

FatFs R0.08

Comentarios

Lectura y escritura, _FS_MINIMIZE = 1

~600

Lectura y escritura, _FS_MINIMIZE = 3/0

La huella del código es asombrosamente pequeña. Sin embargo, esto es debido probablemente a que una gran cantidad de trabajo se realiza en el código de interfaz, el cual realiza el acceso específico al medio. El fichero sd_ raw.c utiliza 4341 bytes. Por comparación, el código del interfaz EFSL tiene 2649 bytes, mientras que el del FatFs es de 1071 bytes

sd-reader

C30 v3.23

PIC24FJ256GB110

5616

204

Biblioteca de fichero de E/S

C18 v3.35

PIC46J50

24648

2256

C30 v3.23

PIC24FJ256GB110

35958

2258

Huella de espacio de datos grande

Conclusión Un proyecto interesante, pero que actualmente carece de la funcionalidad de otros ejemplos y es específico para dispositivos SD/ MMC, más que para dispositivos multimedia genéricos. Los requerimientos de datos y variables son los más pequeños de todas las soluciones vistas.

No fue posible verificar el código en el dispositivo de destino ejemplo, PIC18, debido a la ausencia de memoria RAM (espacio variable en el PIC). La biblioteca requería 2256 bytes de memoria RAM además de la memoria total interna de 3,8 KB. Sin embargo, por medio del linkador C18 ‘inventamos’ un modo de obtener memoria RAM extra, pudiendo obtener algunas estadísticas estimadas del C18.

Internet www.roland-riegel.de/sd-reader/index.html

Licencia GPL. Si incluimos programas GPL en nuestro proyecto, debemos proporcionar el código fuente de dicho proyecto también. Si queremos una versión con una licencia menos permisiva, para uso en aplicaciones comerciales de código cerrado, deberemos contactar con el autor para más detalles.

Biblioteca FAT File IO Como sucede muy a menudo con los proyectos de código abierto, esta biblioteca ha desaparecido desde que escribimos el artículo. En cualquier caso, decidimos publicar nuestros hallazgos para el supuesto de que volviese a estar activa de nuevo. La versión que usamos está incluida en el paquete de descarga de la página web para este artículo [1]. El uso y configuración de esta biblioteca es particularmente sencillo. Las únicas exigencias para el código de usuario de esta biblioteca son las rutinas de lectura/escritura (hasta que hacemos llamada nuestro propio código de inicialización). En el fichero fat_opts.h, uno puede elegir entre soportar nombres de fichero largos, el número de “buffers”, y el número de ficheros abiertos simultáneamente. elektor

7/8-2011

Conclusión Una biblioteca sencilla de utilizar pero que tiene unos requerimientos de gran cantidad de espacio de código y espacio de datos. Internet La biblioteca FAT File I/O usada se encuentra aquí: www.robs-projects.com/filelib.html (100569)

Internet Links [1] www.elektor.com/100569

Personal Download for I © Elektor

103

63414

FPGA

Milkymist SoC

Un sistema sobre circuito integrado programable de código abierto Sin duda conoces los sistemas sobre circuitos integrados (system on chip o SoC). Son «grandes microcontroladores» que incluyen un microprocesador potente, un controlador SDRAM y diversos periféricos, según las aplicaciones de destino: a veces, incluso, aceleradores de tratamiento gráfico para OpenGL ES. Para el electrónico curioso, estos circuitos son ‘cajas negras’ de las que no se sabe gran cosa sobre su funcionamiento y los enormes medios que son necesarios para su diseño y fabricación son suficientes para echar para atrás las iniciativas de un aficionado para reproducirlos.

Sébastien Bourdeauducq (Francia) Fundador del proyecto Milkymist Sin embargo, las FPGA baratas, cada vez más densas y potentes, permiten, hoy día, a toda persona competente y motivada, atacar las capas superiores del diseño de un SoC: las de la arquitectura informática y las del código escrito en un lenguaje de descripción de material (típicamente VHDL o Verilog). Esto va más allá de la simple curiosidad intelectual, ya que este modo de trabajar permite integrar fácilmente periféricos específicos sobre nuestro circuito integrado (CI), aprovechando la flexibilidad y la potencia de cálculo de las FPGA. Nos podríamos, incluso, imaginar una gran comunidad «open source» (de ‘código abierto’), comparable a la de Linux, si los grandes fabricantes de semiconductores se apuntan a este juego (algo que, sin querer tirarles el guante, no sería para mañana). Este artículo presenta el Milkymist SoC, un sistema sobre CI programable cuyo código fuente, escrito en Verilog, está casi totalmente bajo licencia GNU GPL, a semejanza de Linux. No entraremos en los detalles de su diseño, por el momento, y nos centraremos, por ahora, en su programación, como podríamos hacerlo con cualquier otra plataforma más convencional. Todo ello con el fin de mostraros que es totalmente posible hacerlo de otra forma que la de utilizar SoC cerrados. Los lectores interesados por la arquitectura y el funcionamiento interno de Milkymist SoC podrán consultar la documentación (en inglés) y el código, disponibles en línea, o esperar a próximos artículos.

Primer contacto Yendo sobre la página web del proyecto [1], es posible que nos sorprendamos por encontrar allí un sintetizador de vídeo destinado a los VJ (vídeo jockey), clubs y músicos. Este equipo (ver Figura 1) permite agregar unas prestaciones musicales de efectos visuales 104

psicodélicos e interactivos, utilizando, por ejemplo, la imagen de un bailarín o una bailarina, grabada en directo por una cámara, y enviada a un conjunto de efectos programables. Efectivamente, es la primera aplicación abordada por el proyecto, por medio del programa de síntesis del video Flickernoise, desarrollado por la plataforma. Contrariamente a muchas empresas de código libre, el modelo de negocio de Milkymist no es el de facturar servicios asociados al código libre (‘infogestión’, servicios en línea, soporte de ingeniería...), sino el de desarrollar cualquier elemento de la A a la Z y el de vender un producto al gran público utilizando técnicas libres. El proyecto va mucho más allá y tiene como objetivo el utilizar también los menos componentes propietarios posibles. Así, técnicas, inicialmente desarrolladas en el ámbito de Milkymist se reencuentran en aplicaciones que no tienen nada que ver con los gráficos o la síntesis de video. Por ejemplo, el experimento CoNNeCT de la NASA, que será instalado a bordo de la estación espacial internacional en enero de 2012, contiene un sistema de radio digital que reutiliza el controlador SDRAM desarrollado por Milkymist y que está disponible en Internet para su descarga gratuita. O incluso, el sistema de depuración de programas embebido (basado en GDB), desarrollado por la plataforma Milkymist, que está en fase de estudio para una utilización en un sistema de control de los aceleradores de partículas en el CERN y en el GSI. Actualmente está disponible una versión beta del sintetizador de video Milkymist One, como kit de desarrollo, en tiendas especializadas, tales como Hackable Devices [1], en Francia. Se trata de una placa de desarrollo para FPGA, o para programas embebidos, totalmente válida: la versión beta hace referencia al hecho de que el programa Flickernoise contiene todavía algunos errores (‘bugs’)

Personal Download for I © Elektor

7/8-2011

elektor

63414

FPGA

Enlaces en Internet [1] www.milkymist.org [2] www.hackable-devices.com [3] www.cygwin.com [4] www.milkymist.org/snapshots/latest/ [5] www.qemu.org (© 2011 John Lejeune)

[6] http://lists.milkymist.org

y a que faltan aún algunas funciones que hacen que no esté todavía listo para el gran público. La plataforma Milkymist One está basada en una FPGA Spartan-6 de Xilinx (XC6SLX45), alrededor de la cual gravitan numerosos periféricos: 128 MB de memoria DDR SDRAM, 32 MB de memoria flash NOR, salida VGA (resolución de hasta 1280 x 1024), Ethernet 10/100,

entrada de video PAL/SECAM/NTSC, tarjeta de memoria (que puede aumentar fácilmente la capacidad de almacenamiento hasta varios GB), audio AC’97, dos puertos DMX512 (RS-485), un receptor de infrarrojos de 36 kHz (por ejemplo RC5), dos puertos MIDI, y dos puertos USB huésped. Para los que les gusta cacharrear, la placa está equipada con un puerto de expansión que posee 12 líneas digitales con lógica de 3,3 V. Es bastante poco, con relación a una placa de desarrollo típica, pero ello nos permite incluso hacer expansiones interesantes además de que, correctamente programado, el XC6SLX45 permite alcanzar frecuencias de entrada/salida de hasta 1 GHz por línea: La FPGA contiene todo el conjunto del Milkymist SoC (ver Figura 2). Éste se compone de un corazón microprocesador LatticeMico32 (RISC de 32 bits), de bloques IP que permiten controlar todos los periféricos de Milkymist One desde el programa, y de aceleración gráfica. A excepción del núcleo LatticeMico32, el resto del código Verilog ha sido desarrollado específicamente para Milkymist y colocado bajo licencia GNU GPL. También es posible el llevar el Milkymist SoC sobre otras placas de desarrollo con FPGA. Que sean de los fabricantes Altera, Lattice o Xilinx no tiene demasiada importancia ya que se ha puesto un interés especial en la portabilidad del código Verilog del SoC. En cualquier caso, el adaptar el sistema de memoria hacia otra familia de FPGAs o de otro tipo de memoria SDRAM, requiere de unos conocimientos técnicos particulares y muchas tentativas de portabilidad han fracasado a causa de este punto delicado. Por último, si no disponemos de una placa de desarrollo, por el momento, podemos realizar las manipulaciones descritas en este artículo a través del emulador QEMU. Todo esto será explicado a lo largo de este artículo.

Figura 1. El Milkymist One con su encapsulado. (© 2011 Sharism at Work Ltd.) elektor

7/8-2011

Personal Download for I © Elektor

105

63414

FPGA

Instalación de las herramientas desarrollo

Figura 2. Arquitectura interna del Milkymist SoC.

Desembalaje Supongamos que somos los propietarios felices de un Milkymist One. Conectamos el adaptador de tensión de red, una pantalla SVGA, y un teclado y un ratón USB. Pulsamos sobre el botón de encendido (en el centro) y, después de una docena de segundos, nos aparece en pantalla el programa Flickernoise (ver Figura 3). Os animamos a explorar un poco sus distintas funciones para que podáis haceros una idea de la potencia de la plataforma. Cuando hayamos acabado, pulsaremos sobre Shutdown (Apagado) y, después, sobre Reboot (Reinicio) (con un poco de suerte habremos acabado la traducción francesa antes de que este artículo haya sido publicado, con lo que dispondrán de esta última versión) y, a continuación, mantendremos la tecla Esc (Escape) pulsada durante el arranque. En lugar de Flickernoise, deberemos tener el interfaz del cargador de arranque, más espartano, llamado BIOS (Figura 4). Escribimos «help», seguido de la tecla ‘Entr’. El cargador de arranque (‘bootloader’) nos mostrará los comandos disponibles (Figura 5). Entre la lista de comandos, nos quedaremos con los que nos permiten arrancar el programa final desde diferentes medios: • flashboot ejecuta el programa almacenado en la memoria flash NOR. Este comando se ejecuta por defecto y, como el de Flickernoise, se ejecuta automáticamente. • netboot descarga el programa por TFTP desde la red Ethernet. Gracias a la velocidad Ethernet, este método es particularmente útil cuando los ficheros de depuración ‘pesan’ varios MB, como los de Flickernoise o los del núcleo Linux. • fsboot lanza el programa almacenado en la tarjeta de memoria. • serialboot descarga el programa desde una conexión serie. Este será el método que usaremos a partir de ahora. Veamos ahora cómo se escribe un programa de este tipo. 106

Las herramientas de desarrollo están previstas principalmente para funcionar bajo un sistema Linux. Si estamos trabajando bajo Windows, deberíamos, seguramente, ser capaces de utilizarlas a través de Cygwin [3]. Para los usuarios de productos Apple, hay un gran número de personas que han contribuido con ciertas herramientas en MacPorts, pero en el momento de la redacción de este artículo, este detalle no estaba aún completo. Así pues, nos centraremos en el sistema operativo RTEMS. Las otras elecciones posibles actualmente, a desarrollar sobre Milkymist SoC, son uClinux (una versión de Linux para sistemas sin MMU) y bare metal, sin sistema operativo, como en un microcontrolador. El RTEMS (Real Time Executive for Multiprocessor Systems) es un sistema operativo en tiempo real de código abierto para sistemas embebidos. Ha sido desarrollado desde 1988, a instancias del ejército americano. El acrónimo RTEMS significaba, al principio, Real Time Executive for Misil Systems, que rápidamente fue cambiado a Time Executive for Military Systems, antes de tomar su significado actual. RTEMS ha sido diseñado para ser compatible con distintos estándares de APIs, principalmente POSIX. Aunque no disponga de un sistema de protección de memoria, el RTEMS proporciona casi todos los servicios POSIX que no están unidos a él. En la terminología POSIX, podría ser calificado de sistema monoproceso y multitarea (‘thread’). El RTEMS también incluye una portabilidad de la pila TCP/IP de FreeBSD y varios sistemas de ficheros (MSDOS, NFS…). Gracias a esta compatibilidad, es posible hacer funcionar, sin demasiadas dificultades, numerosas librerías de programas provenientes de la inmensa diversidad del mundo Linux. Esto permite obtener un entorno de programación bastante rico, manteniendo una cierta ligereza en relación a un Linux embebido. Una aplicación RTEMS puede ocupar, fácilmente, menos de 150 KB y arrancar en menos de un segundo. Para instalar el conjunto de las herramientas que permiten desarrollar con RTEMS sobre Milkymist, lo más sencillo es utilizar los ficheros binarios para PC bajo Linux, disponibles en [4] y que hay que colocar en el directorio /opt/rtems-4.11. A continuación, deberemos actualizar algunas variables de entorno: $ RTEMS_MAKEFILE_PATH=/opt/rtems-4.11/lm32-rtems4.11/ milkymist $ export RTEMS_MAKEFILE_PATH $ PATH=/opt/rtems-4.11/bin:$PATH $ export PATH También podemos compilarlas fácilmente, nosotros mismos, para nuestra máquina de desarrollo, gracias a un conjunto de “scripts”. Para ello, modificaremos en primer lugar nuestro entorno de desarrollo, de acuerdo a lo mencionado más arriba, y cargamos los “scripts” por medio de la herramienta Git: $ git clone git://github.com/milkymist/scripts.git Git es un sistema de control de versión, es decir, un programa que permite organizar correctamente las diferentes modificaciones hechas en un ‘almacén’ (repository) de las versiones de código, así como trabajar eficazmente, en equipo, sobre el mismo programa. Es una herramienta de una calidad excelente, que ha sido desarrollada por Linus Torvalds para reemplazar la herramienta propietaria de BitKeeper, que era utilizada antes para el desarrollo del núcleo Linux.

Personal Download for I © Elektor

7/8-2011

elektor

63414

FPGA

Una vez se ha efectuado la descarga de los “scripts”, nos aseguraremos de que disponemos del directorio /opt/rtems-4.11 (inicialmente vacío) y los ejecutamos con: $ make -C compile-lm32-rtems $ make -C compile-flickernoise milkymist-git-clone $ make -C compile-flickernoise flickernoise.fbi Esto nos puede llevar varias decenas de minutos. En efecto, además de continuar con la compilación basada en GCC, construiremos un cierto número de componentes lógicos (de programa), para ser utilizados y ejecutados sobre Milkymist, principalmente:

Figura 3. Captura de pantalla de Flickernoise.

• la biblioteca C y el “núcleo “ RTEMS • la gestión del sistema de ficheros flash YAFFS2 • los codificadores y decodificadores de imágenes libpng, libjpeg, openjpeg (JPEG2000) y jbig2dec (JBIG2) • la librería del contenido de las políticas Freetype • la librería de diseño libgd • una variante de la librería OpenSoundControl liblo • el sistema de contenido de documentos PDF MuPDF (utilizado para la ayuda en línea de Flickernoise) • el cliente red multiprotocolos libcurl • el organizador (“parseur”) XML Expat • la herramienta para el interfaz de usuario MTK El uso de todas estas librerías se sale del alcance de este artículo. Así pues, aquí simplemente son mencionadas con el fin de darnos una idea de la variedad con la que es posible trabajar hoy día en la plataforma.

Escritura y compilación de nuestro primer programa Ya estamos listos para el clásico «Hello World». Nada nuevo aquí: abrimos un editor de texto e introducimos sencillamente el código siguiente, que grabaremos con el nombre hello.c:

Figura 4. El cargador de arranque (‘bootloader’), llamado BIOS.

#include int main() { printf(«Hello World!\n»); while(1); } Sin embargo, la compilación es algo menos evidente y se hace con la ayuda del siguiente comando: $ lm32-rtems4.11-gcc -O2 -mbarrel-shift-enabled -mmultiplyenabled -mdivide-enabled -msign-extend-enabled -I $RTEMS_ MAKEFILE_PATH/lib/include -B $RTEMS_MAKEFILE_PATH/lib -specs bsp_specs -qrtems -o hello hello.c Si no se muestra ningún mensaje de error, este paso se ha efectuado de modo correcto y debemos disponer de un fichero binario llamado «hello», en formato ELF. Este fichero contiene nuestra aplicación «Hello World» y el núcleo RTEMS, enlazados estáticamente. Este ejecutable corre directamente sobre la placa de desarrollo o en el emulador QEMU. elektor

7/8-2011

Personal Download for I © Elektor

Figura 5. Lista de los comandos disponibles. 107

63414

FPGA

Figura 6. El adaptador JTAG + serie instalado en el Milkymist One. (© 2010 Sharism at Work Ltd.)

Figura 7. Imagen obtenida después de numerosas repeticiones del comando pixel[i] = x * y * x >> 5.

Prueba con QEMU QEMU [5] es un programa muy bien conocido, que permite emular diversas plataformas o hacer su ‘virtualización’. Las versiones recientes son capaces de emular directamente el Milkymist SoC. Una vez que QEMU está instalado, nos basta con introducir el siguiente comando para poder probar nuestro fichero (programa): $ qemu-system-lm32 -M milkymist -nographic -kernel hello Esto nos debería mostrar en pantalla el célebre «Hello World». Probemos ahora el mismo programa sobre la placa de desarrollo.

Prueba en la placa de desarrollo Vamos a usar el puerto serie para descargar nuestra aplicación. Este puerto también hará las funciones de consola para mostrar los mensajes pasados a la función printf(). La placa está equipada con un puerto serie de 3,3 V, que se encuentra entre los conectores Ethernet y VGA. El terminal marcado como RX es por el que la placa recibe los datos, y el marcado con TX el utilizado por la placa para la emisión. El terminal GND, evidente108

mente, está unido a la masa y el terminal 3V3 es una fuente de alimentación de 3,3 V. Podemos utilizar el adaptador que queramos con tal de que use los niveles de 3,3 V (no el de 5 V o el RS-232) o la combinación serie + JTAG (Figura 6), que se vende con los kits de desarrollo Milkymist One. Esta pequeña placa va a instalarse sobre los dos conectores serie y JTAG del Milkymist One, y posee un puerto USB para la conexión con un PC. Con el núcleo Linux reciente, el puerto serie nos debería de aparecer inmediatamente como /dev/ttyUSB0. Para la descarga del fichero binario debemos usar una herramienta llamada flterm. Dicha herramienta está disponible en ciertas distribuciones Linux, como Fedora. Si no es así, lo descargamos y lo compilamos manualmente: $ wget https://github.com/milkymist/milkymist/raw/master/ tools/flterm.c $ gcc -O2 -o flterm flterm.c Para cargar nuestro programa en la placa lo primero que tenemos que hacer es convertirlo del formato ELF al formato binario puro. Para ello usaremos el siguiente comando: $ lm32-rtems4.11-objcopy -Obinary hello hello.bin Lanzamos ahora flterm de la siguiente forma: $ flterm --port /dev/ttyUSB0 --kernel hello.bin A continuación obtenemos la línea de comandos «BIOS>» en la placa, tal y como hemos visto previamente, e introducimos el comando serialboot. Debemos señalar que podemos utilizar el teclado USB y la pantalla SVGA al mismo tiempo que la consola serie de flterm para dialogar con la BIOS. Debemos obtener los mensajes siguientes: BIOS> serialboot [FLTERM] Received firmware download request from the device. [FLTERM] Uploading kernel (83476 bytes)... [FLTERM] Upload complete (9.5KB/s). [FLTERM] Booting the device. [FLTERM] Done. Hello World ! ¡Bravo, nuestro entorno de desarrollo funciona! Para arrancar la placa de desarrollo sólo nos queda pulsar simultáneamente sobre sus tres botones y soltar primero SW3.

Para llegar más lejos... Este artículo no ha hecho más que aflorar la superficie de lo que es posible hacer. Quedan aún otros muchos campos: utilización de aceleradores gráficos existentes, digitalización de video, aceleración de otros cálculos con la ayuda de FPGAs, desarrollo de interfaces E/S específicos, otros lenguajes de programación (Lua, Ruby), Linux embebido, depuración ‘in situ’ con GDB... Enviad vuestros comentarios y sugerencias a sebastien@milkymist. org. Las cuestiones de orden técnico serán colocadas en la lista de difusión del proyecto [6], con el fin de que otras personas puedan responder y de que las soluciones a los problemas sean archivadas. Del mismo modo, el proyecto posee un canal IRC llamado #milkymist, en la red Freenode.

Personal Download for I © Elektor

(110447) 7/8-2011

elektor

63414

FPGA

Un ejemplo más detallado: utilización de la salida de vídeo Ahora que hemos validado nuestro sistema de desarrollo, estaTodo esto nos da como resultado del programa siguiente: mos listos para escribir un programa algo más complicado. ¿Por qué no un poco de #include programación gráfica utilizando la salida #include VGA? #include RTEMS proporciona para ello un interfaz parecido al framebuffer de Linux, es decir, que crea un fichero en el directorio /dev sobre el que son posibles las operaciones POSIX (apertura, lectura, escritura, «ioctl»). El efecto de algunas de estas operaciones es idéntico al de las de Linux, lo que puede facilitar la exportación de funciones. El primer problema es el de activar el controlador de vídeo. En nuestro primer ejemplo «Hello World», no hemos especificado ninguna configuración RTEMS y ha sido la configuración por defecto la usada, que no contiene el controlador de vídeo. La configuración del RTEMS se hace con una serie de #define y con la inclusión de . Para añadir el controlador de vídeo basta con definir CONFIGURE_APPLICATION_ NEEDS_FRAME_BUFFER_DRIVER. Por desgracia, si utilizamos nuestra propia configuración en lugar de la de por defecto, necesitamos también especificar la configuración de las otras funcionalidades del RTEMS, y ese es el motivo de por qué el final del programa es tan largo. A continuación, podemos abrir el fichero /dev/fb en nuestra aplicación. La primera cosa a hacer es la de definir el modo de vídeo a usar. Eso se hace con una llamada a la función ioctl. Elegiremos la resolución 1024 x 768, de 16 bits por píxel. El modo de color es RGB565, es decir, que los cinco primeros bits (de mayor peso), están destinados al rojo, los seis siguientes al verde y los cinco últimos (de menor peso) al azul.

#include #include #include #include



rtems_task Init(rtems_task_argument argument) { int fd; struct fb_fix_screeninfo fb_fix; unsigned short *pixels; int x, y; int offset; fd = open(«/dev/fb», O_RDWR); ioctl(fd, FBIOSETVIDEOMODE, 2); ioctl(fd, FBIOGET_FSCREENINFO, &fb_fix); pixels = (unsigned short *)fb_fix.smem_start; offset = 0; for(y=0;y 5; while(1); } #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER #define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER #define CONFIGURE_APPLICATION_NEEDS_FRAME_BUFFER_DRIVER #define CONFIGURE_MAXIMUM_DRIVERS 4 #define CONFIGURE_USE_IMFS_AS_BASE_FILESYSTEM #define CONFIGURE_EXECUTIVE_RAM_SIZE (16*1024*1024) #define CONFIGURE_LIBIO_MAXIMUM_FILE_DESCRIPTORS 4 #define CONFIGURE_MAXIMUM_TASKS 2 #define CONFIGURE_TICKS_PER_TIMESLICE 3 #define CONFIGURE_MICROSECONDS_PER_TICK 10000 #define CONFIGURE_RTEMS_INIT_TASKS_TABLE #define CONFIGURE_INIT_TASK_STACK_SIZE (8*1024) #define CONFIGURE_INIT_TASK_PRIORITY 100 #define CONFIGURE_INIT_TASK_ATTRIBUTES 0 #define CONFIGURE_INIT_TASK_INITIAL_MODES \ (RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | RTEMS_NO_ASR | \ RTEMS_INTERRUPT_LEVEL(0)) #define CONFIGURE_INIT #include

Por último, obtendremos, gracias a otra llamada a ioctl, la dirección de memoria del “buffer” de trama (o “framebuffer”). Por lo tanto, nos basta con escribir en esta zona de memoria para poder visualizar los píxeles. Las 1024 primeras palabras de 16 bits se corresponden con la primera línea mostrada (en lo alto de la pantalla). Las 1024 siguientes corresponden a la segunda línea y, así, sucesivamente. De forma general, el píxel de las coordenadas (x,y) se encuentra en la dirección de memoria 1024 * y + x, en la zona de memoria.

elektor

7/8-2011

Lo compilamos y lo verificamos como hemos visto anteriormente. Si utilizamos QEMU, debemos desactivar la opción «-nographic». El valor x * y * x >> 5, que afecta a cada pixel, da la imagen de la Figura 7.

Personal Download for I © Elektor

109

63414

INFO & ENTRETENIMIENTO

Hexamurai

Rompecabezas para electrónicos Diseñador del juego: Géry Szczepanski (Francia)

Como manda la tradición, os proponemos un juego fuera de lo normal en este número doble. Esta vez se trata de un Hexadoku Samurai, Hexamurai para los amigos, un montaje de cinco cuadrículas que exige un poco más de reflexión que un simple Hexadoku. ¿Seriáis capaces de colocar las cifras correctas en las celdas correspondientes? Enviad vuestra solución y podréis ganar uno de los cuatro regalos que Elektor ha dispuesto para sus lectores. El Hexamurai es una cuadrícula de Hexadoku basada en el modelo de Samurai, es decir, cuatro cuadrículas de Hexadoku clásicas, con una quinta que está en el centro. A diferencia del juego normal de Samurai, el Hexamurai no permite la resolución de las cuadrículas por separado, debemos resolver todo el conjunto respetando, cuadrícula por cuadrícula, las reglas del Hexadoku. Las instrucciones para la resolución de este juego son las de un Sudoku clásico (¡algo modificadas!). Al igual que el Hexadoku, el Hexamurai utiliza las cifras del sistema hexadecimal, es decir, del 0 a la F. Debemos completar la cuadrícula de forma que todas las cifras hexadecimales del 0 a la F (0 a 9 y A a F) sean utilizadas una sola y única vez en cada fila, columna y cuadrado de celdas de 4 x 4 (identificadas por líneas más gruesas) de un sub-Hexadoku. Algunas cifras ya están colocadas en la cuadrícula, definiendo así su situación partida. La solución de este rompecabezas os permitirá ganar atractivos premios. Basta con que nos enviéis la serie de seis cifras en gris.

¡Participa y gana! Haremos un sorteo en el que entrarán todas las respuestas internacionales correctas que hayamos recibido. El ganador del primer premio recibirá un cheque-regalo de Elektor de un valor de 100 €. Sortearemos también otros 3 cheques-regalo de Elektor de un valor de 50 € cada uno. ¡Haced trabajar vuestras neuronas! 110

Los ganadores La solución del Hexadoku de la edición de Mayo es: CD604 El ganador del cheque-regalo de Elektor de 100 € es: Vladimir Keyashko (Rusia). Los 3 cheques-regalo de Elektor, de 50 € cada uno, son para: R Fleischmann (USA), Peter van Dijk (Holanda) y Michael Reimann (Alemania). ¡Enhorabuena a todos!

F

0

1

7

E B 2 C 6 D 9

B 9

E

F

6 C 1

0

0

4

4

2

5

9

3 A D 7

8

9 A B

F

5

0

3

5 C 1

6 B E

8

6

4

9

F

8

E B A 2

3 D C 1

D 1

7

8 A 2 C 3

F

9

5

E

0

4 B

E D F

9

3

0 C 1

5

6

7

8

B 5 C 1

8 A D 2

9

3

F

7

0

E

6

4

7

8

4

3 C E

1 A 5

0

6

9

F

B D

9

F

3 A B 0

6

4 D C 8

E

1

5

2

E

6

0 D 5

7

9

F

2

1

4 B A 3

8 C

6

1 C 7

8

0

9

0 A D 8 B 2

E

6

A B 2

2

5 4

0

2

E

F

A 4

C 7

F

9

4

1

3

5

1

6

0 C 9

2 A 8

4

Personal Download for I © Elektor

8 B 5

6 D 0

7 B

5 A

8 B

6 C E

5 D B 3 E

2

F

4

7

1

5

0

1

8

8 A 3

3 C D 6 E

7

4

4

3

7 D 2 6

7 D 2 9 A

F

7

7

2

3 D 4

F

A

F

E

9 C 1

5

3

7/8-2011

elektor

63414

INFO & ENTRETENIMIENTO

¿Dónde enviarlo? Por favor, envíanos tu solución (los números de las casillas grises) por correo electrónico a [email protected] – Asunto: hexadoku 6-2011 (por favor, cópialo exactamente). Incluye en el correo tu nombre completo y tu dirección.

También puedes enviar tu respuesta por correo ordinario a: Redacción Elektor Apdo. Correos 62011 – 28042 Madrid (España), o al fax +34 911019396. La fecha límite es el 1 de septiembre de 2011.

0 2 0

1

3

5 4

5

3 C 1 2 A

1

2 9 0 5 7

5 2 0 3 4 8 1 9 7 4 F 6 0 A 1 4 6 3 E 5 8 5 2 5 F 3 9 1 B 3 1 7 B 5 C 4 2 8 C 0 4 7 5 6 0 3 6 4 1 1 2 8 4 4 5 1 7 6 5 8 9

6 7 4

elektor

7/8-2011

1 7 B 4 9 A 1 6 5 4

2 E 0 6

4 B

0

5 0 9 C 3 7 B E 2

E A 9 6 3

8 0 4 2

(100878)

3

3 5

Los empleados de Elektor International Media, sus empresas subsidiarias y/o editoriales asociadas no podrán participar en este concurso.

7 5 3 4 1

7

2 5 0 3 D 3 E 4 2 8 6 7 A D

1 7 2 E 0 5 4

6 F 8 D 3 0 B B 9 1 5 1 6 7 3 9 A 3 2 4 1 5 1 8 5 0 9 0 2 2 6 3 E 7 5 3 C 4 0 0 7 2 9 A 1 6 3 B 0 0 2

Personal Download for I © Elektor

6 1

0 6 3 4 3

2

1

8 9 2

5 A 1 4 3 E 2 6 4 4 0 1 7 8 3 5 0 3 5

0

111

63414

TIENDA

LIBROS, CD-ROMs, DVDs, KITS Y MÓDULOS

Pisando Fuerte ¡Un mundo de electrónica en una única tienda!

N

vo e u

Una introducción a la ingeniería de control

Introduction to Control Engineering Este libro (en inglés) pretende ser una fuente de referencia para el hardware y software asociado a la instrumentación e ingeniería de control. Se presentan ejemplos de un amplio rango de industrias y aplicaciones. En el libro se describen diagramas de circuito y listados de software típicos de muchas aplicaciones de medida y control. Los diseños de hardware y software se pueden usar como base para las aplicaciones creadas por el lector. El libro contiene ejemplos de programación de PIC, PLC, PAC y PC. El código de los ejemplos se puede descargar graPrincipios y Práctica tuitamente desde la web de soporte. 164 páginas • ISBN 978-0-905705-99 -6 • 32,50 €

po limitado Oferta por tiem s: para suscriptore

TO 5 € DE DESCUENlio s/ju

www.elektor.e

Libros

Segunda edición ampliada: con 180 páginas más LabWorX: Del Laboratorio a tu cerebro directamente

Mastering the I²C Bus LabWorX es una colección de libros cada uno de los cuales trata un tema particular de la electrónica. Cada volumen condesa toda la información, aplicaciones y notas recogidas durante el trabajo con la tecnología a la que se refiere, todo en un solo libro. Además de los fundamentos de la tecnología, se facilitan ejemplos y aplicaciones en profundidad así como sugerencias de para resolver los problemas que pueden surgir y como proceder si aparecen fallos en la implementación inicial. Mastering the I²C Bus es el primer libro de la colección LabWorX. Este libro (en inglés) te guía en un viaje exploratorio por el Bus I2C y sus aplicaciones. Además del protocolo del Bus se presta mucha atención a las aplicaciones prácticas y al diseño de un sistema sólido. Se tratan con detalle los tipos más comunes de chips compatibles con I2C. Hay disponibles dos placas de experimentación que te permitirán el desarrollo rápido de prototipos. Estas placas se completan con una sonda USB a I2C

Fully elaborated electronics Design your ownprojects 309 Circuits Embedded Linux The present tenth edition of the popular Control Centre on a PC ‘30x Circuits’ series of books once again Este libro (en inglés) te introducirá contains a comprehensive varietyen oflos circonceptos básicos de la instalación del cuits, sub-circuits, tips and tricks andende-

torno incluido un entorno de desasign Linux ideas –for electronics. Among many rrollo software – y cómo puedes utilizarlo other inspiring topics, the following catcomo un are centro control. in También te egories wellde presented this book: guiará a través necesario proceso de instatest & measurement; RF (radio); computlación y confi guraciónaudio de un& servidor web, ers and peripherals; video; hobby que será el interfaz con tu centro de con-& and modelling; microcontrollers; home

de ejemplo se pueden descargar desde la página de soporte www.elektor.es/labworx.

trol. Esta segunda garden; etcetera.edición ampliada contiene alrededor de 180 páginas más que la 432 pages • ISBN 978-0-905705-69-9 primera

248 páginas • ISBN 978-0-905705-98-9 • 34,50 €

416 páginas • ISBN 978-1-907920-02-8 • 39,50 €

y un sistema de software para controlar dispositivos I2C desde tu ordenador. Todos los programas

112 Precios y descripciones sujetos a cambios.

Personal Download for I © Elektor

£19.95 • US$ 39.95

07/08-2011

elektor

63414

Bestseller Todos los artículos de la serie ATM18-CC2 y más

Fundamentos des lenguaje Ensamblador

Una guía muy práctica

Assembly Language Essentials

Linux – PC -based Measurement Electronics

En este CD-ROM, ideal para principiantes y

Este libro (en inglés) es de hecho una guía

Este libro (en inglés) pretende ser una guía

de Ensamblador que te introducirá en el

muy práctica para aquellos que desean

recopilación de todos los artículos de la

lenguaje de programación más fundamen-

construir sistemas de medida y control

tal de un procesador. Al contrario que otros

para ser controlados, de forma local o re-

recursos sobre Ensamblador que se centran

mota, por un ordenador personal con el

exclusivamente en un procesador y una pla-

sistema operativo Linux. Los dos aspectos,

taforma específicos, este libro emplea la

hardware y software, del diseño típico de

arquitectura de un procesador ficticio con

sistemas embebidos están cubiertos en

su hardware y conjunto de instrucciones

detalle con esquemas, listados de código

propio. Esto te permite considerar la

y descripciones completas. No es necesa-

importancia del lenguaje Ensamblador

rio adquirir equipamiento especial o caras

sin tener que enfrentarte un hardware

herramientas de software para crear los

o restricciones arquitectónicas predeter-

proyectos embebidos descritos en este

minadas.

libro. Puedes construir sistemas de calidad

262 páginas • ISBN 978-0-9630133-2-3 •34,50 €

CD ATM18 Collection usuarios experimentados, encontrarás una serie ATM18-CC2 publicados en la revista Elektor; desde el Lector RFID al Bluetooth pasando por el ordenador de que juega al ajedrez. En total, más de 25 proyectos basados en la popular placa ATM18 de Elektor. Además de los archivos PDF de los artículos (en cinco idiomas), el CD contiene el software de cada uno de los proyectos, los diseños de las placas en formato PDF, el curso de programación Bascom AVR y documentación complementaria. ISBN 978-0-905705-92-7 • 29,50 €

rápidamente empleando componentes electrónicos populares de bajo coste y herramientas software gratuitas o de bajo precio. Muchos proyectos de este libro se han desarrollado con Matlab®, una herramienta ampliamente utilizada en la investigación científica e ingeniería. Se facilita el código fuente completo y bien documentado para todos los proyectos. 264 páginas • ISBN 978-1-907920-03-5 • 34,50 €

Bestseller Completamente actualizado

CD ECD 6 – Base de Visual Studio

C# 2010 Programming aquellos que quieran aprender programación en C# y conexión a un PC. Los conceptos de programación abarcan desde los conceptos básicos de programación orientada a objetos y la presentación de gráficos hasta bases de datos y threading. El libro se completa con múltiples programas de ejemplo completos, ejercicios de autoevaluación y enlaces a videos de apoyo. Todo el código fuente de los ejemplos está disponible para su descarga desde www.elektor.es. Se pueden descargar herramientas soft-

Más Información en la página web de Elektor:

Este CD-ROM te permite acceder fácilmente a los datos sobre más de 70.000 compo-

www.elektor.es

nentes. Consta de ocho bases de datos que

Elektor International Media Spain, S.L. Apartado de Correos 62011 28042 Madrid España Tel.: +34 91 101 93 95 Fax: +34 91 101 93 96 Email: [email protected]

once aplicaciones de cálculo de, por ejem-

comprenden circuitos integrados, transistores, diodos y optpacopladores. Incluye plo, resistencia serie de diodos zener, reguladores de tensión y AMV’s. ECD facilita el acceso a los datos unos de 7.800 circuitos integrados, más de 35.600 transistores, FET, tiristores y triacs, cerca de 25.000 diodos y 1.800 optoacopladores. Todas las aplicaciones son totalmente interactivas, permitiendo al usuario añadir, editar y com-

ware de Microsoft de calidad profesional.

pletar los datos de los componentes.

306 páginas • ISBN 978-0-905705-95-8 • 36,50 €

ISBN 978-90-5381-258-7 • 29,50 €

elektor

07/08-2011

CD-ROMs y DVDs

Este libro (en inglés) está dirigido a todos

datos de Componentes Elektor

113 Personal Download for I © Elektor

63414

CD-ROMs y DVDs

TIENDA

LIBROS, CD-ROMs, DVDs, KITS Y MÓDULOS

RFID, NFC, Zigbee, GPS y más

Pico C

Bestseller

SatFinder

DVD Wireless Toolbox

(Abril 2011)

(Marzo 2011)

En este DVD-ROM encontrarás una serie de

Los aficionados a la RF y a la reparación de

Quien tiene que orientar regularmente

documentos técnicos y herramientas que te

radio probablemente ya lo saben, pero

una antena vía satélite (por ejemplo en una

permitirán añadir a tus sistemas electróni-

cuando se trata de mediciones por debajo

caravana o barco que dispongan de ella),

cos el intercambio inalámbrico de datos. La

de 200 pF o menos, los multímetros digi-

siempre se enfrenta al problema de dar

elección del material depende de la distan-

tales modernos dan resultados bastante

con la posición de los satélites. El SatFin-

cia de la transmisión: para pocos centíme-

desviados si no ridículos. El propósito del

der, basado en GPS, incluye una base de

tros empleamos comunicaciones de campo

diseño Pico C de Elektor es hacer un traba-

datos con los satélites de TV favoritos y cal-

cercano (NFC o Near Field Communication)

jo mucho mejor. Superando a muchos

cula gracias a los parámetros de localiza-

o identificación por radiofrecuencia (RFID o

DMMs, este pequeño instrumento mide

ción de un GPS todo lo necesario para

Radio Frecuency Identification), para las de-

fácilmente y con precisión capacidades

orientar correctamente la antena.

cenas de metros con sistemas Bluetooth,

bajas de hasta fracciones de picofaradio.

Wi-Fi o ZigBee, o para miles de kilómetros emplearemos un módulo GPS para recibir datos. Siguiendo los principios de nuestra

programado, display y tarjeta (versión

Project Case, microcontrolador

Europea)

serie Toolbox, hemos recopilado la docu-

programado, LCD y PCB

mentación técnica (hojas de características,

Art.# 100823-71 • 82,50 €

notas de aplicación, guías de usuario, etc.)

Kit de montaje incluyendo controlador

Kit de componentes incluyendo Elektor

Art.# 100699-71 • 79,95 €

de diversos dispositivos en función de la frecuencia y/o protocolo empleados. Todos los documentos son archivos PDF (en inglés). ISBN 978-90-5381-268-6 • 32,50 €

NetWorker

(Abril 2011)

(Diciembre 2010)

La solución más asequible para realizar un

Una conexión a internet debería ser un va-

diagnóstico en un automóvil es un interfaz

lor añadido a muchos proyectos pero, a

OBD-2 con conexión a un PC (o portátil)

menudo, los diseñadores no la implemen-

Todos los artículos del año 2010

y el software adecuado. Pero a veces una

tan debido a las complejidades que conlle-

DVD Elektor 2010

solución por cable no resulta realmente

va. El “NetWorker”, que consiste en una

El DVD-ROM “volumen anual” se encuen-

práctica. Un tester OBD autónomo no obs-

pequeña placa de circuito impreso, una bi-

tante es demasiado caro y no tan versátil

blioteca de programas gratuitos y un ser-

como el programa de diagnóstico de un

vidor web basado en microcontrolador

PC. Una alternativa interesante es un

listo para ser usado, soluciona estos pro-

interfaz OBD con conexión inalámbrica

blemas y permite a los principiantes añadir

al PC. Con la solución casera que aquí

una conexión Internet a sus proyectos. Los

presentamos incluso tiene la opción de

usuarios más experimentados se benefi-

elegir entre Bluetooth y ZigBee.

ciarán de prestaciones tales como comu-

tra entre los productos más populares de Elektor. El DVD Elektor 2010 contiene todos los artículos editoriales publicados en el Volumen 2010 de las publicaciones en español, inglés, holandés, francés y alemán de la revista Elektor. Con Adobe Reader los artículos se presentan en el mismo formato que la publicación original de la

Kit completo OBD2-Interfaz Zigbee (stick

revista. Se dispone de una máquina de

USB incluyo) o Bluetooth, placa con SMD

búsqueda exhaustiva para localizar pala-

montados y caja

bras clave en cualquier artículo. ISBN 978-90-5381-267-9 • 27,50 €

114 Precios y descripciones sujetos a cambios.

Art.# 100872-71 • 124,95 € (Zigbee) Art.# 100872-72 • 124,95 € (Bluetooth)

nicaciones SPI, alimentación sobre Ethernet (PoE) y más. Módulo NetWorker, ya montado y verificado Art.# 100552-91 • 59,95 €

07/08-2011 Personal Download for I © Elektor

Kits y Módulos

OBD-2 inalámbrico

elektor

Julio/Agosto 2011 (N° 373/374) Precio (€) +++ Nuevos Produc tos de Julio/Agosto: V isit a www.elektor.es +++

Los más vendidos 1

Junio 2011 (N° 372)

E-blocks: Flowcode RC5 EB007 .............Placa E-block de conmutadores .................................................... 17,85 EB058 ..........Display gráfico color ..................................................................... 81,85 EB060 ..........Placa E-block Infrarrojo RC5 .......................................................... 37,20 EB064 ..........Multiprogramador E-block dsPIC/PIC24 ...................................... 119,00 ¡Que viene el bus! (6) 110258-91 .....Módulo Convertidor USB/RS485 .................................. 24,95 Seguimiento GPS con ATM18 071035-91 .....Placa, parcialmente montada (módulo controlador ATM18).......... 12,50 071035-92 .....Placa, parcialmente montada (módulo ATM18-Testboard) ............ 37,50 071035-93 .....Placa con SMD montados, todos los componentes y conectores .... 29,95 Mayo 2011 (N° 371) El Robot Proton de Elektor 110263-71 .....Kit Completo (Cuerpo + Cabeza + Audio + Pinza + Placa PIC) ...... 1249,00 110263-72 .....Kit Completo (Cuerpo + Cabeza + Audio + Pinza + Placa AVR) ..... 1249,00 110263-78 .....Placa adicional con PIC montada y comprobada ............................ 39,00 110263-79 .....Placa adicional con AVR montada y comprobada ........................... 39,00 110263-91 .....Totalmente montado y comprobado, con PIC ........................... 1699,00 110263-92 .....Totalmente montado y comprobado, con AVR .......................... 1699,00 Regulador de Intensidad de Luz DMX512 de 1 canal EB006 .............Multiprogramador PIC E-block.................................................... 115,95 TEFLCST4 Flowcode 4 para PICmicro E-block ....................................................... 61,50 ¿Hola? ¿Puedes oírnos? 100465-1 .......Placa de circuito impreso ................................................................ 9,95 GSM, SMS, CALL IDentificación 071035-72 .....Placa de relés con todos los compoenntes y relés ........................... 49,95 071035-91 .....Placa, parcialemente montado (módule controlador ATM18)........ 12,50 071035-92 .....Placa, parcialemente montado (módule ATM18-Testboard) .......... 37,50 071035-93 .....Placa con SMD montados, todos los componentes y conectores .... 29,95 071035-95 .....Placa de extensión de puertos, con SMD montados ....................... 16,95 Abril 2011 (N° 370) ATM18, estamos bien con RS-485 071035-72 .....Placa de relés con todos los compoenntes y relés ........................... 49,95 071035-91 .....Placa, parcialemente montado (módule controlador ATM18)........ 12,50 071035-92 .....Placa, parcialemente montado (módule ATM18-Testboard) .......... 37,50 071035-93 .....Placa con SMD montados, todos los componentes y conectores .... 29,95 071035-95 .....Placa de extensión de puertos, con SMD montados ....................... 16,95 080213-71 .....Cable conversor de USB a TTL 5V ................................................... 24,50 OBD-2 inalámbrico 100872-71 .....Kit completo OBD2-Interfaz Zigbee, placa con SMD montados, caja y stick USB Zigbee ....................... 124,95 100872-72 .....Kit completo OBD2-Interfaz Bluetooth, placa con SMD montados y caja .................................................. 124,95

ISBN 978-1-907920-03-5 ................... 34,50 €

Design your own

2 3

Assembly Language Essentials

4

Introduction to Control Engineering

5

C# 2010 Programming and PC interfacing

1

CD ECD 6

2

DVD Elektor 2010

3

CD ATM18 Collection

4

DVD Wireless Toolbox

5

DVD Elektor desde 1998 a 2007

1

Pico C

2

NetWorker

3

OBD-2 inalámbrico

4

SatFinder

5

Minimod 18

Pico C 100823-1 .......Placa de circuito impreso ................................................................ 9,95 100823-41 .....Microcontrolador programado ATTINY2313-20PU ......................... 9,95 100823-71 .....Kit de componentes incluyendo Elektor Project Case, microcontrolador programado y PCB............................................ 82,50 Marzo 2011 (N° 369) SatFinder 100699-1 .......Placa de Circuito Impreso ............................................................. 12,95 100699-41 .....Microcontrolador programado ATMEGA8A-PU versión europea ...... 9,95 100699-42 .....Microcontrolador programado ATMEGA8A-PU versión USA ............ 9,95 100699-71 .....Kit de componentes versión europea ............................................ 79,95 100699-72 .....Kit de componentes versión USA................................................... 79,95 Miniservidor de Internet con BASCOM-AVR 090773-91 .....Minimod 18.................................................................................. 62,95 Una guirnalda de 160 LED RGB 100743-1 .......Placa de Circuito Impreso ............................................................. 12,90 071035-91 .....Placa, parcialemente montado (módule controlador ATM18) ...... 12,50 071035-92 .....Placa, parcialemente montado (módule ATM18-Testboard) .......... 37,50 071035-93 .....Placa con SMD montados, todos los componentes y conectores .... 29,95

elektor

Linux – PC-based Measurement Electronics

CD-ROMs y DVDs Kits & MoCD-ROMs Libros Books

Elektor OSPV¹ 110320-91 .....Kit ............................................................................................ 1095,00

Kits y Módulos

Últimos Productos

63414

07/08-2011

Embedded Linux control centre on a PC ISBN 978-1-907920-02-8 .................... 39,50 € ISBN 978-0-9630133-2-3 .................... 34,50 €

ISBN 978-0-905705-99-6 .................... 32,50 €

ISBN 978-0-905705-95-8 ................... 36,50 €

ISBN 978-90-5381-258-7 ..................... 29,50 €

ISBN 978-90-5381-267-9 .................... 27,50 €

ISBN 978-0-905705-92-7 ..................... 29,50 €

ISBN 978-90-5381-268-6 ..................... 32,50 €

ISBN 978-90-5381-241-9 ................... 59,00 €

Art.# 100823-71 ..................................82,50 €

Art.# 100552-91 ..................................59,95 €

Art.# 100872-71/72 .......................... 124,95 €

Art.# 100699-71 ................................. 79,95 €

Art.# 090773-91 ..................................62,95 €

Haga su pedido “online” en

www.elektor.es/tienda o utilice el cupón de pedido del final de la revista Elektor International Media Spain, S.L. Apartado de Correos 62011 28042 Madrid España Tel. +34 91 101 93 95 Fax +34 91 101 93 96 Email: [email protected]

115 Personal Download for I © Elektor

63414

INFO & MERCADO

PRÓXIMO MES elektor

Mercado

Ventas

scopes and more

Precio por 1 año/11 ediciones:

Contacto Teléfono: +34 911 019 395 Fax: +34 911 019 396 E mail: [email protected]

- 1 módulo, 20 mm x 45 mm, 350,00 € - 2 módulo, 40 mm x 45 mm, 575,00 € - 3 módulo, 60 mm x 45 mm, 750,00 €

Elektor tiene una sección para ayudar a sus clientes a promocionar sus negocios, Mercado – una sección permanente de la revista donde puede mostrar sus productos y servicios.

Great Value in TesT & MeasureMenT

• Por favor, suministre el material gráfico con una resolución mínima de 300 dpi • Nosotros podemos encargarnos del diseño por usted

Data Logger Este circuito fue desarrollado originalmente para grabar datos meteorológicos como la temperatura, humedad y presión atmosférica durante mucho tiempo. Consecuentemente el circuito está dotado de los sensores necesarios. Gracias a su diseño universal, se puede usar también para muchas otras medidas. Se puede conectar a un PC mediante un cable USB para enviarle los datos registrados así como para ajustar varios parámetros.

Placa de Experimentador DSP En la edición de Septiembre de 2011 presentaremos el hardware que forma parte de el curso de DSP que iniciamos en la edición de Mayo. En el corazón de la placa universal de experimentación encontramos el chip DSP56374 de Freescale. Los dispositivos hardware en la placa incluyen convertidores A/D y D/A, convertidor de frecuencia de muestreo y entradas y salidas ópticas. La placa no solo se puede utilizar para los proyectos de ejemplo que se describirán en el curso, además podrás usarla para tus propias iniciativas de diseño y tus experimentos.

Radio Control de 2.4 GHz para Aeromodelos El sistema de transmisor y receptor para aeromodelos utiliza la banda de radio ISM de 2.4 GHz y la tecnología ZigBee. Ofrece ocho canales proporcionales y un radio de acción que excede el kilómetro. El sistema permite la alimentación mediante baterías. Todos los parámetros se muestran claramente en la pantalla y hay también disponibles varios puertos de comunicación (UART, CAN, I2C). Los títulos y los contenidos de la revista están sujetos a modificación; por favor, verifica el contenido en “revista” en www.elektor.es

ww.elektor.es www.elektor.es www.elektor.es www.elektor.es www.elektor.es www.elekto

Índice de Anunciantes Cebek

www.cebek.com

Eltim Audio

www.moreleurope.com

Pág. 9

Eurocircuits

www.eurocircuits.com

Pág. 97

Hameg

www.hameg.com

Pág. 116

Labcenter

www.labcenter.com

Pág. 11

Microchip

www.microchip.com

Pág. 17

Mikro Elektronika

www.mikroe.com

Pág. 3 y 23

National Instruments

www.ni.com/es

Pág. 2

116

Personal Download for I © Elektor

Pág. 27, 33 y 120

7/8-2011 elektor

Cupón de pedido 07/08-2011

63414

Descripción

Precio

LabWorx – Mastering the I²C Bus Linux – PC-based Measurement Electronics

Cupón de pedido Suscripción 07/08-2011

Total y FORMA DE PAGO

NUEVO 34,50 y

(vea la página contigua para más detalle)

NUEVO 34,50 y

Assembly Language Essentials

34,50 y

Design your own Embedded Linux Control Centre on a PC

39,50 y

CD-ROM ECD 6

29,50 y

DVD Elektor 2010

27,50 y

Transferancia bancaira A Elektor International Media Spain, S.L. Número de cuenta LA CAIXA: 2100 1135 64 0200152440 (Importante: poner nombre, apellidos y provincia del remitente)

Sub-total

Fecha de caducidad: _____________________

Gastos envio Los precios y las descripciones están sujetas a cambio. La editorial se reserva el derecho de cambiar los precios sin notificación previa. Los precios y las descripciones aquí indicadas anulan las de los anteriores números de la revista.

8,50 y

CVC: ________________________________

Total

Por favor envíen este pedido a:

Nombre

Elektor International Media Spain, S.L. Apartado de Correos 62011 28042 Madrid España

Domicilio

Tel.



Cant.

Tel.: +34 91 101 93 95

Email

Fax: +34 91 101 93 96 www.elektor.es

EL07/08

Fecha





Firma

[email protected]

Sí, quiero suscribirme a Elektor y recibir gratuitamente el E-book Microcontroller Basics.*

FORMA DE PAGO (vea la página contigua para más detalle)

Transferancia bancaira A Elektor International Media Spain, S.L.

(Por favor, escribe tu dirección de correo en el formulario de abajo)

Mi suscripción será: Suscripción Estándar 11 Números (incl. julio/agosto número doble)

Suscripción PLUS



E-book

Número de cuenta LA CAIXA: 2100 1135 64 0200152440 (Importante: poner nombre, apellidos y provincia del remitente)

RECOMENDADO

11 Números (incl. julio/agosto número doble) + el DVD-ROM Elektor Volumen 2011 + acceso exclusivo a www.elektor-plus.es

or.es

* Oferta válida para quienes no hayan tenido una suscripción a Elektor durante los últimos 12 meses. Oferta sujeta a disponibilidad. Te enviaremos tu regalo una vez que hayas abonado la nueva suscripción.

Fecha de caducidad: _____________________

CVC: ________________________________ Nombre Por favor envíen este pedido a:

Domicilio

Elektor International Media Spain, S.L. Apartado de Correos 62011 28042 Madrid España



Tel.

EL07/08

Email Fecha





Firma

Personal Download for I © Elektor

Tel.: +34 91 101 93 95 Fax: +34 91 101 93 96 www.elektor.es [email protected]

63414

INSTRUCCIONES DE PEDIDO, GASTOS DE ENVÍO Todos los pedidos deberán ser enviados por correo o fax a nuestra dirección de Madrid utilizando el presente cupón. Tambien puede efectuar su pedido Online en la página: www.elektor.es/tienda.

CÓMO PAGAR Todos los pedidos han de ir acompañados por el pago total, incluidos los gastos de envío anteriormente establecidos o indicados por el personal del Servicio de Atención al Cliente. Transferencia bancaria a la cuenta de La Caixa: 2100 1135 64 0200152440 a nombre de Elektor International Media Spain, S.L. IBAN: ES45 2100 1135 6402 0015 2440, BIC: CAIXESBBXXX Importante: indicar en la transferencia el nombre, apellidos y dirección. Tarjeta de crédito VISA y MasterCard pueden ser procesadas por correo, correo electrónico, web, fax y teléfono. Para su seguridad, los pedidos Online en nuestra web se realizan bajo la protección de conexiones seguras SSL.

COMPONENTES Los componentes para los proyectos aparecidos en Elektor están normalmente disponibles en algunos de los anunciantes de la revista. Si se prevén dificultades en el suministro de alguno de los componentes, se indicará en el artículo algún proveedor que pueda suministrarlo. Sin embargo, tenga en cuenta que los porveedores indicados no tienen porque ser únicos.

TÉRMINOS Y CONDICIONES Envío. Aunque haremos todo lo posible para que su envío sea despachado en el plazo de 2-3 semanas desde su recepción, no podemos garantizar este plazo para todos los pedidos. Devoluciones. Las mercancías defectuosas o las enviadas erróneamente pueden ser devueltas para su sustitución o reembolso pero, para ello, es necesario tener previamente nuestro consentimiento. Todas la mercancías devueltas deben estar empaquetas de manera segura en bolsa acolchada o caja, adjuntando una carta en la que se indique claramente el número de envío. Si las mercancías son devueltas por un error de nuestra parte, le reembolsaremos el porte de devolución. Mercancías dañadas. La reclamaciones por mercancías dañadas deben ser recibidas en nuestra dirección de Madrid en un plazo de 10 días (España), 14 días (Europa) o 21 días (resto del mundo). Pedidos cancelados. Todos los pedidos cancelados estarán sujetos a un cargo del 10% con un mínimo de 5,00 w. Patentes. Puede existir protección bajo patente de los circuitos, dispositivos, componentes y otras cosas descritas en nuestros libros y revistas. Elektor no acepta responsabilidad alguna por ausencia de determinación de tales patentes u otras protecciones. Derechos de autor (Copyright). Todos los dibujos, fotografías, artículos, placas de circuito impreso, circuitos integrados programados, CD-ROM o portadores de software publicados en nuestros libros y revistas (diferentes de los anunciados por terceros) están protegidos por derechos de autor y no pueden ser reproducidos o difundidos total o parcialmente de ninguna manera ni por ningún medio, incluidos las fotocopias y grabaciones, sin el previo consentimiento por escrito de Elektor. Dicho consentimiento escrito es también necesario antes de que cualquier parte de esas publicaciones sea almacenado en sistemas de recuperación de cualquier naturaleza. No obstante lo dispuesto anteriormente, las placas de circuito impreso se pueden fabricar para uso privado y personal sin necesidad del citado permiso. Limitación de responsabilidad. Elektor no será responsable por contrato, agravio o cualquier otra circunstancia, de cualquier pérdida o daño sufrido por el comprador sea cual sea o se deriven de, o en conexión con, el suministro de mercancías descritas o, a opción de Elektor, reembolsar el importe al comprador de cualquier dinero pagado en relación con los productos. Derecho. Cualquier asunto relacionado con el suministro de mercancías y servicios por Elektor estará determinado en todos sus aspectos por las leyes españolas.

TARIFAS PARA SUSCRIPCIONES ANUALES Estándar 63,50 w

Plus 81,00 w

Islas Canarias

69,50 w

87,00 w

Europa

91,50 w

109,00 w

122,50 w

140,00 w

España

Otros países

CÓMO PAGAR Transferencia bancaria a la cuenta de La Caixa: 2100 1135 64 0200152440 a nombre de Elektor International Media Spain, S.L. IBAN: ES45 2100 1135 6402 0015 2440 BIC: CAIXESBBXXX Importante: indicar nombre, apellidos y dirección en la transferencia. Tarjeta de crédito VISA y MasterCard pueden ser procesadas por correo, correo electrónico, web, fax y teléfono. Para su seguridad, los pedidos Online en nuestra web se realizan bajo la protección de conexiones seguras SSL.

CONDICIONES DE LA SUSCRIPCIÓN La suscripción estandár es de 12 meses. Si durante este plazo de suscripción se produce un cambio permanente de dirección y ello conlleva la necesidad de realizar el envío a través de un servicio más caro, no te cobraremos los gastos adicionales. En caso contrario, si el cambio de dirección nos permite contratar un servicio más barato, no te reembolsamos la diferencia y tampoco se extenderá el plazo de suscripción. Los estudiantes pueden obtener un discuento de un 20% del precio normal de una suscripción anual siempre que esté acompañada de una fotocopia del carnet de estudiante. Por favor envíalo por fax (+34 91 101 93 96) o correo electrónico ([email protected]). Para estudiantes, el coste de la suscripción estandar es de 50,80 w y el de la suscripción plus es de 68,30 w. La suscripción para estudiante es incompatible con el regalo de suscripción. Estas promociones no son acumulables. El plazo normal de la primera entrega, es de cuatro semanas a partir de la fecha de la recepción del pedido. La cancelación de una suscripción está sujeta a un cargo de un 25% (veinticinco por ciento) del precio total o 12,50 w, o sea, la cantidad mayor, más los gastos de copias ya envíadas. No está permitido cancelar una suscripción después del sexto mes.

Personal Download for I © Elektor

63414

Medida ] Audio • Test &

6,50 e

N.º 368

Teléfono-a ✚ Adaptador Febrero 2011

-VoIP

lick TimeC lador Contro

om www.elektor.c

• res & Embebido

. ipcontrolado s ..• Micro ch

l [Analógico • Digita

!

gi n pá mu 25 re co sob

VO

• res & Embebido ncontrolado l • Micro

[Analógico •aDigita ció s n ica

UE ¡N

AHORA, HAY AUN MÁS POR DESCUBRIR. Medida ] Audio • Test & N.º 369

6,50 e

ctor MP3 oC io PS rop ✚ Desarrolla tu propio reprodu Cs, tu p Marzo 2011

So eña Dis

Geolocalización sin GPS ¿Dónde estoy?

r ndo el GPS SatFintude abólica utiliza Apunta par PSoC & Co. Ultimatic SoC,

✚ Manipulador

CW

aplicación - iniciación bres - grandes nom ción - kits de evalua pio chip pro tu ye - constru - ejemplos de X

ISSN 0211-397



o web d ✚ Mini ServidBascom-AVR y Minimo utilizandode la compra - y más Maneja las listas RGB s LED 160 lda de el ATM 18 ✚ Una guirna

X

ISSN 0211-397

Un visualizad

or a todo color

con

¡La La actualizada s suscripción Elektor PLUS!

NUEVO: ¡acceso exclu sivo a www.elektorplus.es!

Las 11 ediciones completas incluido el Especial de Verano Incluido en tu suscripción PLUS: DVD anual 2011

Al hacer tu suscripción Elektor PLUS consigues acceso exclusivo a la nueva

25% más barato que el precio normal de venta

web www.elektor-plus.es donde

Regalo de bienvenida valorado en 30

ediciones de la revista Elektor en forma

Hasta un 40% de descuento en productos Elektor seleccionados

están disponibles las tres últimas de archivos pdf (la edición actual y las dos precedentes). Con un simple clic descargarás la edición completa (¡de

Recibirás Elektor cada mes en tu casa

principio a fin!) o un artículo individual.

Lee tu ejemplar antes que nadie

el motor de búsqueda de Elektor más

NUEVO: ¡En tu web personalizada Elektor PLUS, tienes acceso permanente a las tres últimas ediciones de la revista en formato PDF así como al rápido motor de búsqueda de Elektor!

www.elektor-plus.es ofrece también extenso que se puede encontrar en la web. Sin embargo la actualizada suscripción Elektor PLUS incluye muchos más extras interesantes, como E-books gratuitos y artículos complementarios.

www.elektor.es/suscripciones · Tel. +34 91 101 93 95 O utiliza el formulario de suscripción que está al final de la revista. Personal Download for I © Elektor

63414

Personal Download for I © Elektor

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF