Академический Документы
Профессиональный Документы
Культура Документы
www.elektor-magazine.es
Control
Remoto WiFi
en Marcha
Duelo de Medidores LCR
$25 off
Youll have plenty of summer reading
with Circuit Cellars CC Gold issues archive.
A lifetime of electronics engineering projects, tips,
and analysis, packed onto a portable, USB flash
drive. Keep your archive current with a digital
subscription and download new issue PDFs directly
to the drive! Plus, with 32 GB of storage, theres plenty
of room for your own notes and projects.
Offer ends 6/30/13
*Complete archive includes all issues in print through time of purchase.
magazine
Contenidos
Community
21 Elektor World
La vlvula en el Taper
Conseguir el control
DesignSpark
22 Da 1 Hazlo tal como
quieres
Empezando con DesignSpark PCB
y configurndolo a tu gusto. Este
tutorial te muestra cmo configurar
tus preferencias personales en
esta ltima versin del software de
diseo de PCB.
Proyectos
12 Tarjeta Controladora Wi-Fi
Controla tu casa desde tu telfono
mvil con esta placa controladora
WiFi universal. Te enseamos cmo
controlar el color de un tira de LED
RGB, pero lo puedes usar para una
amplia variedad de aplicaciones.
30 Recicla tu Fuente de
Alimentacin ATX
Esta placa adaptadora de ATX
para banco de trabajo convierte
cualquier fuente de alimentacin
ATX de ordenador en una fuente
adecuada para alimentar tus
prototipos y cualquier otro uso.
Volumen 34
n 396
Junio 2013
Magazine
64 De BASIC a Python (2)
En esta segunda entrega
trabajamos en el trazado grfico
y la sntesis de Fourier. Y sin
demasiado esfuerzo creamos un
interfaz grfico de usuario.
72 Localizador de Modelos
Perdidos
Construye este localizador por
radio deteccin y nunca ms
perders tu avin de radio control.
Simplemente enciende el receptor
y apunta directamente para
encontrar el avin accidentado.
Labs
26 Mantn los terminales
flotantes
Cosas a tener en cuenta al
programar la placa FPGA de Elektor.
Industria
8 Noticias & Nuevos Productos
Una seleccin de noticias recibidas
de la industria electrnica,
laboratorios y organizaciones.
40 El Triunfo de la Robtica
Educativa
81 Hexadoku
51 Robots Sanitarios
Un encuentro con Alice, un robot
pensado para la asistencia sanitaria,
en el laboratorio del proyecto
Services of Electro-mechanical Care
Agencies (SELEMCA).
Comunidad
Volumen 34, Nmero 396, Junio 2013
Depsito Legal: GU.3-1980 31/12/2006
ISSN 0211-397X
Editor:
Elektor International Media Spain, s.l.
Jerez de los Caballeros, 2
28042 Madrid, Espaa
Telfono: +34 91 101 9395
Fax: +34 91 101 9396
Internet: www.elektor.es
Elektor se publica 10 veces al ao con edicin doble para Enero/
Febrero y Julio/Agosto.
Suscripciones:
Elektor International Media Spain, s.l.
Apartado de Correos 62011
28042 Madrid, Espaa
Telfono. +34 91 101 9395
Internet: www.elektor.es/miembros
Email: suscripciones@elektor.es
Oficinas Centrales:
Elektor International Media b.v.
P.O. Box 11 NL-6114-ZG Susteren
The Netherlands.
Telfono: +31 (0)46 4389444,
Fax: (+31) 46 4370161
Publicidad:
Elektor International Media Spain, s.l.
Apartado de Correos 62011
28042 Madrid, Espaa
Telfono. +34 91 101 9395
Fax: +34 91 101 9396
Internet: www.elektor.es
Email: publicidad@elektor.es
Tarifas y condiciones de publicidad disponibles
bajo peticin.
Derechos de autor
Los circuitos descritos en esta revista son exclusivamente para uso
domstico. Los derechos de autor de todos los grficos, fotografas,
diseos de circuitos impresos, circuitos integrados programados,
discos, CD-ROMs, portadores de software y los textos de los artculos
publicados en nuestros libros y revistas (que no sean anuncios de
terceros) estn registrados por Elektor International Media BV y
no pueden ser reproducidos o difundidos de ninguna forma ni por
ningn medio, incluidas fotocopias, escaneos o grabaciones, parcial o
totalmente sin la previa autorizacin escrita del Editor. Tambin ser
preciso disponer del citado permiso antes de almacenar cualquier
parte de esta publicacin en sistemas de recuperacin 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 identificacin de la
citada patente(s) u otra proteccin. La presentacin de diseos
o artculos implica que el Editor est autorizado a modificar los
textos y los diseos presentados y a utilizar los contenidos en otras
publicaciones y actividades de Elektor International Media. El Editor
no garantiza la devolucin del material a l enviado.
Renuncia
Los precios y descripciones de los productos relacionados con
la publicacin estn sujetos a modificacin. Excluidos errores y
omisiones. Las opiniones expresadas a lo largo de los distintos
artculos, as como el contenido de los mismos, son responsabilidad
exclusiva de sus autores. As mismo, el contenido de los mensajes
publicitarios es responsabilidad de los anunciantes.
Los precios y descripciones de los elementos relacionados con la
publicacin estn sujetos a cambios. Estn excluidos los errores
u omisiones.
Cuestin de Placas
De acuerdo a los principales intereses de
nuestros lectores, el diseo y produccin
de PCB ocupa un puesto bastante alto. Las
placas de Elektor son famosas en todo el
mundo no solo por su cualidad, sino tambin por su consistente apariencia. Cmo
surgi esto?
Aqu en Elektor, el cambio del diseo manual
del arte final utilizando cinta de enmascarar
y tcnicas de reproduccin fotogrfica a
un proceso hecho al 100 % sobre un PC fue
gradual, y tuvo lugar en los primeros aos
90. La utilizacin del PC para dibujar un
esquema y despus ejecutar un programa
de diseo de PCB no fue forzada o incuso
sugerida por los editores en ese momento. En aquel entonces, algunos de los ms jvenes
diseadores del laboratorio se lanzaron audazmente a descubrir las ventajas del trazado
con PB, suministrando eventualmente archivos en lugar de dibujos a sus compaeros del
departamento de diseo de PCB. Otros continuaron pegados al lpiz, al papel y la goma
de borrar con resultados igualmente buenos particularmente en RF y diseos crticos
con el espacio. No importa cmo se llegara el diseo final, Elektor no produca nunca sus
placas en masa realmente esto era siempre cosa de los fabricantes de PCB. Nosotros,
sin embargo, nos encargamos de almacenar y empaquetar lo que ha debido ascender a
una cantidad de cientos de miles de estas placas azules y verdes. Adems, a da de hoy los
Laboratorios de Elektor tienen sus propios recursos para grabar y taladrar sus propias placas. El equipo se utiliza para hacer prototipos y piezas nicas de cualquier placa, de simple
o doble cara, de montaje convencional o SMD.
An recuerdo la excitacin en el laboratorio y las oficinas editoriales cuando llegaba
un paquete conteniendo unas 500 placas de algn diseo publicado recientemente. Al
final, el orgulloso diseador era capaz de ver el fruto de sus esfuerzos en el diseo. Ms
importante, sin embargo, era que lectores de todo el mundo eran capaces de montar sus
circuitos en placas magnficamente fabricadas con acabados profesionales!
Hoy en da, no solo tenemos la satisfaccin de publicar estos estupendos diseos y obtener
vuestra respuesta, adems la de sostener en la mano una placa de circuito impreso perfectamente mecanizada y con un nmero de produccin de Elektor impreso para ayudar a
su identificacin.
El Equipo
Editor: Eduardo Corral (e.corral@elektor.es)
Redaccin Internacional: Harry Baggen, Thijs Beckers, Jan Buiting, Wisse
Hettinga, Denis Meyer, Jens Nickel, Clemens Valens
Equipo de diseo: Thijs Beckers, Ton Giesberts, Luc Lemmens,
Raymond Vermeulen, Jan Visser
Diseo grfico y preimpresin: Giel Dols, David Mrquez, Mart Schroijen
Director online: Danille Mertens
Director de marca: Wisse Hettinga
Director general:
Don Akkermans
Nuestras redes
Spain
Eduardo Corral
+34 91 101 93 95
e.corral@elektor.es
USA
Hugo Vanhaecke
+1 860-875-2199
h.vanhaecke@elektor.com
Germany
Ferdinand te Walvaart
+31 46 4389417
f.tewalvaart@elektor.de
France
Denis Meyer
+31 46 4389435
d.meyer@elektor.fr
Netherlands
Harry Baggen
+31 46 4389429
h.baggen@elektor.nl
United Kingdom
Wisse Hettinga
+31 (0)46 4389428
w.hettinga@elektor.com
Te conectamos con
Italy
Sweden
Wisse Hettinga
+31 46 4389428
w.hettinga@elektor.com
Brazil
Joo Martins
+55 11 4195 0363
joao.martins@editorialbolina.com
Portugal
Joo Martins
+351 21413-1600
joao.martins@editorialbolina.com
India
Sunil D. Malekar
+91 9833168815
ts@elektor.in
Russia
Nataliya Melnikova
+7 (965) 395 33 36
Elektor.Russia@gmail.com
Turkey
Empresas Colaboradoras
AudioXpress
Eurocircuits
www.audioamateur.com . . . . . . . 2
www.elektorpcbservice.com . . . 88
Circuit Cellar
Soclutions
www.circuitcellar.com . . . . . . . . . 3
www.soclutions.com . . . . . . . . . . 9
Zeynep Kksal
+90 532 277 48 26
zkoksal@beti.com.tr
South Africa
Johan Dijk
+27 78 2330 694 / +31 6 109 31 926
j.dijk@elektor.com
China
Cees Baay
+86 21 6445 2811
CeesBaay@gmail.com
Industria
Simplificacin de los sistemas de visin artificial con un
capturador de fotogramas alimentado por Ethernet
National Instruments ha
anunciado hoy los frame grabbers GigE Vision
de dos puertos NI PCIe8236 y NI PCIe-8237R
que ofrecen tecnologa
PoE. El NI PCIe-8237R
ofrece E/S a travs de NI
LabVIEW FPGA, incluyendo entradas y salidas
digitales con aislamiento
ptico, as como lneas
bidireccionales TTL para
implementar contadores
personalizados, seales
PWM y entradas de encoders. Tambin
ofrece opciones de trigger avanzadas y
opciones de sincronizacin, tales como
disparos de bajo jitter y baja latencia
basados en FPGA, as como soporte
Noticias
Microchip ampla su catlogo para LIN 2.1/ SAE J2602-2
con un nuevo transceptor, chips base del sistema
y dispositivos System-in-Package
Microchip anuncia la ampliacin de su
catlogo para LIN con el transceptor
conforme a LIN 2.1 y SAE J2602-2 y el
modelo de bajo consumo MCP2003A,
los chips base de sistema (System Basis
Chips, SBC) LIN MCP2021A, MCP2022A,
MCP2025 y MCP2050, y el dispositivo
System in Package (SiP) PIC16F1829LIN.
Estos dispositivos incluyen opciones de
alta integracin como un regulador de
tensin, temporizador supervisor de ventana, salida de supervisin de batera y un microcontrolador.
Adems se caracterizan por su alta robustez, incluyendo unos
niveles de compatibilidad electromagntica (EMC) y descarga
electrosttica (ESD) superiores a 15 kV en el bus LIN y las
patillas de tensin de la batera, cumpliendo o superando
as los requisitos de los fabricantes de automviles como
la Versin 1.3 de los requisitos de hardware de fabricantes
OEM para interfaces LIN, CAN y FlexRay en aplicaciones de
automviles (OEM Hardware Requirements for LIN, CAN
and FlexRay Interfaces in Automotive Applications). El regulador de tensin integrado en algunos de los dispositivos
tambin ha sido especialmente diseado para funcionar en
el entorno del automvil y puede resistir el estado inverso
de la batera, transitorios de volcado de carga de +43V y
arranque con doble batera. Esta robustez permite establecer una comunicacin fiable en entornos adversos mientras
que el elevado nivel de integracin disminuye el coste y la
complejidad al tiempo que ocupa menos espacio.
El nuevo SiP PIC16F1829LIN incorpora un microcontrolador
Flash de 8 bit, un regulador de tensin y un transceptor
LIN, as como perifricos como convertidor A/D de 10 bit,
comparadores y temporizadores; todo ello en un encapsulado SSOP de 20 patillas. Este dispositivo se suma a la amplia gama de microcontroladores PIC eXtreme Low Power
(XLP) de 8 y 16 bit de Microchip que integran perifricos
USART avanzados. El perifrico USART avanzado facilita la
conectividad a los transceptores y los SBC en la capa fsica
de LIN. Tanto si se trata de SiP como de soluciones autnomas, las corrientes en modo dormido de los microcontroladores XLP de Microchip, a partir de 9 nA, hacen que
resulten muy apropiados para aplicaciones alimentadas
con batera y permiten reducir el consumo en los vehculos.
Microchip suministra una amplia gama de herramientas,
software, diseos de referencia e informacin como soporte para el desarrollo con este catlogo para LIN, al que
se puede acceder en lnea desde su LIN Design Centre en
http://www.microchip.com/get/STR3.
Entre las herramientas para LIN ya disponibles se encuentran el analizador serie
LIN (APGDT001); la tarjeta de demostracin PICDEM CAN-LIN 3 (DM163015);
la tarjeta hija ECAN/LIN PICtail Plus
(AC164130); y la tarjeta de demostracin PICkit 28-Pin LIN (DM164130-3).
Entre los diseos de referencia disponibles estn el elevalunas elctrico antipellizcos (APGRD002) y el mdulo de iluminacin ambiental del habitculo con LIN (APG000027).
Los seis dispositivos nuevos de Microchip para LIN ya se encuentran disponibles para muestreo y produccin en volumen.
www.microchip.com
Publicidad
Industria
Mdulo embebido XBee Wi-Fi para soluciones
M2M basadas en la nube
Comunicaciones 802.11b/g/n de
ultra bajo consumo en monitorizacin industrial, rastreo
de bienes y mercancas, automatizacin
en el hogar y control
de depsitos.
DIODE, a travs
de su Divisin de
Electrnica, anuncia la disponibilidad
de la ltima versin
del
mdulo
embebido
XBee Wi-Fi de Digi International con el objetivo de acelerar
el despliegue de soluciones M2M basadas en la nube (cloud) y proporcionar capacidades IP-to-device y
device-to-cloud.
Este mdulo de bajo consumo ofrece
serial-to-Wi-Fi networking en el for-
Noticias
Microchip integra amplificadores operacionales en
microcontroladores PIC de 8 bit de bajo coste
fotosensores y mdulos de interface de sensor para
el automvil.
El microcontrolador PIC16F527 se suministra en
encapsulados PDIP, SOIC, SSOP y QFN de 20 patillas y ya se encuentra disponible para su muestreo
y produccin en volumen. El PIC16F570 se suministra en encapsulados PDIP, SOIC, SSOP y QFN
de 28 patillas y est previsto que se encuentre
disponible en junio para muestras y produccin en
volumen.
www.ni.com
Publicidad
Retronics
NUEVO
-10% par
a
miembros
GREEN
Ms informacon y pedidos en www.elektor.es/retronics
Proyectos
Clemens Valens
(Elektor.Labs)
Figura 1.
Prototipo basado en una
placa Arduino Uno, un
mdulo de extensin Wi-Fi
de Elektor (120306) y un
trozo de una placa para
prototipos.
Proyectos
POST / HTTP/1.1
Host: 192.168.2.15
User-Agent: Mozilla/5.0 (Windows NT 6.1;
WOW64; rv:17.0) Gecko/17.0 Firefox/17.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Length: 23
Origin: null
Pragma: no-cache
Cache-Control: no-cache
red=79&green=10&blue=20
El siguiente paso fue el conseguir que la pgina
web tuviese una apariencia bonita en los dispositivos mviles. En mi smartphone los deslizadores que se mostraban eran muy pequeos,
haciendo imposible moverlos con algo de precisin. La solucin fue la de aadir la meta-etiqueta (meta tag) viewport en la cabecera de
la pgina web, de esta manera:
<meta name=viewport content=width=device-width, user-scalable=no />
Con esta lnea aadida al cdigo HTML de la
pgina web, ahora la pantalla de mi telfono
mvil Android se rellena adecuadamente, a la
vez que tiene la misma buena apariencia en un
PC. (Sobre un iPad solo ocupaba una cuarta parte
de la pantalla y no he tratado de mejorar esto).
Al mismo tiempo, tambin he optimizado el
tamao del resto del programa y, ahora, mi objetivo era conseguir que todo cupiese en la menor
cantidad de memoria posible. Una mejora importante vino en la compresin de la pgina web.
Podemos hacer esto con gzip y, a continuacin,
aadir la lnea Content-encoding: gzip a la
respuesta del servidor. La mayora de los navegadores (si no todos) tienen que saber cmo
gestionar las pginas web zipped (comprimidas). La desventaja de hacer esto es que ahora
es ms complicado cambiar la pgina web. Sin
embargo, slo hacemos esto cuando su diseo
est acabado.
En este punto ya tena un prototipo que funcionaba correctamente, basado en un hardware
TP4
OFF
C9
Vin
+5V
L1
D3
+5V
330u 1A
100u 50V
C8
330u 16V
GND TP1
1N5819
+3V3
TP3
+3V3
C4
C5
C6
C7
10u 10V
100n
10u 10V
100n
ICSP
JP1
+5V
D1
FB
T P2
IC2
MCP1825S-3302E/AB
+5V
IC3
LM2575T-5.0/NOPB
D4
1N5819
Vin
1N5819
1
2
R1
IC1
1
1k
2
3
X1
C2
3x 1N5819
D11
D10
C1
12MHz
22p
D9
S1
5
6
7
22p
K2
1
2
Vin
T3
RA5/OSC1
D+
RA4/OSC2
D-
RA3/MCLR
VUSB
RC5
RC0
RC4
RC1
RC3
RC2
RC6
RB4
RC7
RB5/RX
RB7/TX
RB6
20
19
18
17
16
TXD
D5
D-
D+
GND
USB-B
15
14
13
12
JP2
11
3
4
5
RXD
TP6
C3
100n
K1
VBUS
TP5
EXPANSION
IRL540
K3
BARREL JACK
IRL540
3
4
5
6
7
8
10
11
12
13
14
15
16
17
19
20
21
22
23
34
GPIO29
TP8
GPIO28
47
GPIO30
45
JTAG_NTRST
UART0_CTS/GPIO24
43
RTC_OUT1
UART0_RTS/GPIO25
41
JTAG_TCK
MOD1
WizFi220
JTAG_TDO
JTAG_TDI
JTAG_TMS
ALARM1
DC_DC_CNTL
ALARM2
ADC1
ADC2
MSPI_MISO/GPIO6
MSPI_MOSI/GPIO7
GPIO29
46
GPIO31
44
UART0_RX/GPIO0
42
UART0_TX/GPIO1
40
UART1_RX/GPIO3
38
UART1_CTS/GPIO26
36
SSPI_MOSI
30
UART1_TX/GPIO2
39
UART1_RTS/GPIO27
37
EXT_RESETN
35
SSPI_CS
29
SSPI_MISO
27
GPIO21/CLK_11MHZ
25
MSPI_CLK/GPIO5
VOUT_1V8
MSPI_CS0/GPIO4
SSPI_CLK
MSPI_CS1/GPIO13
I2C_CLK/GPIO9
PWM0/GPIO10
GPIO19/CLK_44MHZ
GND
GND
28
I2C_DATA/GPIO8
26
GPIO20/CLK_22MHZ
24
GND
D6
LINK
R3
R4
R5
1k
1k
1k
D7
OK
D8
RXD
BZX79-C3V0
R8
D2
1k
GPIO27
TP7
+3V3
R7
47k
T4
GND
48
31
+3V3
33
R6
47k
VSS
PIC18F14K50-I/P
1k
IRL540
32
18
T2
10
R2
T1
JP3
VDD
BC547
R9
10k
120718 - 11
Figura 2.
Esquema elctrico del
circuito de la Placa
Controladora Wi-Fi. Os
habis dado cuenta de que
la gente siempre conecta
el jack de alimentacin al
revs? El terminal central se
supone que es la conexin
de masa. He sido algo
retorcido aqu debido a las
consideraciones de diseo
de la placa.
Proyectos
Una FlowBoard compatible con FlowStone 3 [5].
A lguna cosa que an no he conseguido
imaginar.
Figura 3.
Una tpica tira de LEDs RGB
con un cable adaptador
recuperado de una fuente de
alimentacin de un PC.
(Os sugiero que hagis un intento si verdaderamente estis interesados. Por favor, informadme
si encontris una solucin).
Construyendo todo
Ahora, mi segundo prototipo (basado en un PIC)
estaba funcionando como se deseaba, con los
elementos que quera utilizar (ver Figura 2).
Finalmente haba llegado el momento de disear
una bonita placa. Como el objetivo era controlar
una tira de LEDs, decid construirla dentro de
una pequea y discreta caja. La placa estaba
diseada de manera que la caja necesitase unos
mnimos retoques, especialmente cuando usamos la versin azul transparente que nos permite
ver el estado de los LEDs en su interior. En este
caso no es necesario realizar ningn taladrado,
slo tenemos que aadir algunos separadores
en su interior.
Incluso con una MCU de 20 terminales, varios
terminales permanecen sin uso, por lo que he
aadido alguna funcionalidad extra a la placa.
Esto hace que, junto con el programa cargador
de arranque, la placa sea una plataforma mucho
ms verstil, la cual podremos utilizar en otras
aplicaciones. Puede ser usada como:
Un controlador Wi-Fi de (tira) LEDs RGB.
Un controlador de tres canales que conmuta
rels o controla motores por Wi-Fi o por USB
(o por ambos).
Un adaptador de puerto serie a USB.
Un sistema de prototipos rpidos con Wi-Fi,
puerto de expansin y tres canales de
alimentacin.
Para conseguir que sean posibles estas diferentes aplicaciones, la placa ha sido equipada con
un regulador conmutado de manera que puede
ser alimentada con una fuente de alimentacin
continua (DC) desde 7 V a 40 V, sin llegar a
gastar demasiadas caloras. La placa tambin
puede ser alimentada desde el puerto USB,
pero debemos tener en mente que el mdulo
Wi-Fi puede llegar a consumir bastante potencia cuando est transmitiendo. Un regulador
lineal ms grande de 3,3 V, proporciona la alimentacin para el mdulo Wi-Fi (debido a los
requerimientos de corriente, no podemos usar
el regulador de 3,3 V integrado en la MCU).
El mdulo viene acompaado por tres LEDs
de estado que indican si est conectado a un
punto de acceso o no y si hay intercambio de
datos. Como el micro est alimentado con 5 V
y el mdulo Wi-Fi lo est con 3,3 V, se ha aadido la circuitera de conversin de nivel para
las entradas del mdulo Wi-Fi. El micro puede
trabajar directamente con seales de entrada
de un nivel de 3,3 V.
El micro funciona con un oscilador de cristal de
12 MHz para conseguir una temporizacin USB
correcta. El pulsador conectado al terminal de
reset (reinicio), el MCLR, servir principalmente
para activar el modo cargador de arranque (la
entrada de reinicio externa debe estar deshabilitada para que sta funcione, es decir, la bandera
MCLRE=OFF). Si no necesitamos el cargador de
arranque, este pulsador puede funcionar como
botn de reset o tambin puede usarse para
cualquier otra funcin.
Los tres MOSFETs, dimensionados de manera conservadora, proporcionan una RDS(on) de 0,077,
pueden trabajar con hasta 100 V y estn protegidos por diodos de flyback (anti-rebote), con lo
que tambin pueden trabajar con cargas inductivas. Como conector de salida, he optado por un
bloque terminal para circuito impreso estndar
de cuatro terminales, con una separacin entre
terminales de 5,08 mm, pensando incluso que la
mayora de las tiras de LEDs que he visto estn
equipadas con un conector con separacin de terminales ms pequea. Sin embargo, como no se
lo estndar que son estos conectores o si estn
conectados todos ellos de la misma manera, el
preferido una solucin ms flexible. As, podemos
El pulsador necesita una tapa de la altura correspondiente. El modelo de 16 mm queda casi a ras
de la cara superior de la caja.
Para montar la placa en la caja necesitamos
recortar en la tapa superior los cuatro separadores que mantienen la caja unida. Una forma de
hacer esto es con una broca larga. No debemos
recortar mucho o los tornillos no tendrn nada
de material al que atornillarse. Tambin tendremos que separar los dos trozos de plstico que
permiten mantener la batera en su lugar.
El mdulo Wi-Fi tiene un pequeo conector para
una antena mejor (ver Figura 5). Si lo utilizas,
simplemete djalo colgando.
Figura 4.
La placa casi acabada,
revisin 1.0; y totalmente
ensamblada. La Rev 1.1 es
idntica excepto en algunos
componentes que han sido
ligeramente desplazados para
que quepa mejor en su caja.
Figura 5.
Tres antenas de 2,4 GHz,
una de Winizen (superior) y
las otras dos suministradas
amablemente por las chicas
de 2J (www.2j-antennae.com).
Proyectos
detectar ahora la placa como un HID. Si es
la primera vez que hacemos esto en un PC
Windows, tenemos que mostrarle el fichero
.INF que hemos conseguido en la descarga
previa.
En el PC, lanzamos la herramienta HIDBooloader conseguida tambin en la descarga
(para Windows; para la versin Linux o Mac
descargaremos la aplicacin de la pgina web
de Microchip) (ver Figura 6). Esta aplicacin
debera reconocer la placa instantneamente.
Buscaremos y cargaremos nuestro fichero ejecutable (fichero HEX) y, a continuacin, pulsaremos sobre el botn program.
Figura 6.
Usad esta herramienta para
volcar una nueva aplicacin
a la Placa Controladora
Wi-Fi.
Para salir del modo cargador de arranque y arrancar la aplicacin, pulsaremos sobre el botn de
Reset o apagaremos y encenderemos la fuente de
alimentacin de la placa sin mantener pulsado S1.
Figura 7.
La pgina de configuracin
del mdulo WizFi, que est
accesible en modo Punto de
Acceso Limitado, nos hace la
vida mucho ms fcil.
Programando la placa
El firmware que podemos descargar para este
proyecto desde [6], contiene el programa cargador de arranque, la aplicacin de la tira de LED
RGB y los elementos de configuracin, en un
nico fichero HEX. Volcaremos el fichero HEX en el
MCU usando un programador adecuado (PICKIT,
ICD u otro) y ya estar todo. Con el programa
cargador programado en el MCU, estamos listos
para cargar nuestra propia aplicacin. El procedimiento es el siguiente:
Sin alimentar la placa, nos aseguraremos de
que JP3 no est montado.
Conectar la placa a un puerto USB libre de
nuestro PC.
Pulsar el pulsador S1 y mantenerlo pulsado
mientras colocamos el puente JP3. Realmente,
en lugar de JP3, he usado un pulsador del tipo
normalmente cerrado (NC) (los microinterruptores son ideales para ello). En este caso,
mientras mantenemos pulsado S1, pulsaremos
brevemente del microinterruptor para entrar en
el modo cargador de arranque (bootloader).
E l PC (con Windows, Linux o Mac) debera
Figura 8.
La pgina web de la Placa
Controladora Wi-Fi tal
y como se ve desde un
smartphone con Android.
Est el azul semi-encendido
o semi-apagado?
dual. Seguidamente, en el campo S2W Connection method escribimos 1,1,,80. Esto nos
llevar a una pasarela serie que escucha sobre
el puerto 80, el puerto HTTP por defecto usado
por los navegadores web. De nuevo, podemos
usar cualquier otro valor. Hecho esto, pulsamos
sobre el botn Save.
El enlace Administration Settings nos permite
introducir la contrasea del mdulo. Yo no he
usado esta opcin.
Cuando hayamos acabado con la configuracin,
pulsaremos sobre el enlace Logout. Ahora
deberemos ver el mensaje Rebooting (Reiniciando) y la conexin Wi-Fi se perder. El
mdulo WizFi se reiniciar y tratar de conectarse directamente a la red seleccionada. Si todo
va bien, los LEDs LINK y OK se encendern,
lo que significa que ahora podemos conectar la
placa. Introducimos la direccin IP del mdulo
en el navegador y esperamos hasta que nos aparezca la pgina de la Figura 8. Cuando la pgina
se haya cargado correctamente estaremos listos
para jugar.
Proyectos
Lista de materiales
Resistencias (5%, 0.25W)
IC3 = LM2575T-5.0/NOPB
T1,T2,T3 = IRL540
T4 = BC547
R1,R2,R3,R4,R5,R8 = 1k
R6,R7 = 47k
R9 = 10k
Varios
Condensadores
C1,C2 = 22pF, cermico, 50V, paso 2,5 mm
C3,C5,C7 = 100nF, Z5U, 50V, paso 5 mm
C4,C6 = 10F 63V, radial, paso 2,5 mm
C8 = 330F 16V, radial, paso 3,5 mm
C9 = 100F 50V, radial, paso 3,5 mm
Inductores
L1 = 330H 1A, paso 5 mm, por ejemplo, Wrth Elektronik, modelo 7447452331
Semiconductores
1 23
D1,D3,D4,D9,D10,D11 = 1N5819
D2 = 3V diodo zner, por ejemplo, BZX79-C3V0
D5,D6,D7,D8 = LED, verde, 3mm
IC1 = PIC18F14K50-I/P
IC2 = MCP1825S-3302E/AB
Enlaces en Internet
[1] Elektor Home Control: www.elektor-labs.com/
node/2325
[2] Extensin Wi-Fi/Bluetooth: www.elektor.
es/120306
[3] JQuery(UI): http://jquery.com & http://jqueryui.com
[4] Versin Arduino: www.elektor-labs.com/
node/2373
[5] FlowStone (en este nmero): www.elektor.
es/130064
[6] Firmware, ficheros Eagle PCB, BOM; pedidos:
www.elektor.es/120718
Elektor World
Compilado por
Wisse Hettinga
La vlvula en el Taper:
los lectores comentan
Lectores de Elektor como vosotros, demuestran
constantemente el verdadero espritu que hay detrs de la
revista, mejorando y ampliando el contenido editorial con vuestras
propias investigaciones y experimentos. Los artculos relacionados con
los
componentes son an los ms populares y, en el ltimo artculo de la seccin Elektor
World del pasado mes de abril, mostramos la Vlvula en el Taper y nos habis
pedido ms detalles.
Entre otros, Christopher Kessler de Alemania y Jan Swenker de Holanda, han buscado y
desenterrado ms informacin sobre esto. Christopher encontr las especificaciones de esta vlvula buscando
por Valvo Fotovervielfacher 1978-79. En total encontr 6 pginas de la informacin sobre el dispositivo,
donde tambin apareca que su precio actual era unos 30 dlares. La informacin de Jan confirma la fecha de
origen: 1978. Tambin nos indic el libro Hamamatsu Photomultiplier Tubes de 1986 (podemos encontrar el
PDF en Internet). El libro tiene las especificaciones de un tubo equivalente y sustituto, el modelo R1450... Es
el momento de poder tener en nuestras manos esta vlvula para trabajar!
Muchas gracias a Jan y Christopher
Conseguir el control
En ingeniera, la teora de sistemas de control se concentra en cmo manipular
las entradas de un sistema para cambiar su comportamiento. Los hobistas estn
familiarizados con sistemas de control de lazo abierto muy sencillos, tales como
los basados en motores paso a paso. Pero hoy da, los kits de proyectos de
cualquier tipo, desde los grandes robots para coches hasta el modelo de avin
auto-pilotado, exigen que los aficionados aprendan ms sobre la teora que hay
detrs de los sistemas complejos de control de circuito cerrado, dice Brian
Douglas en su ensayo Tech the Future, en la edicin de junio de 2013 de la
revista Circuit Cellar. Los aficionados no vuelven a las aulas, ellos trabajan
sobre Internet, educndose ellos mismos en las pginas web y cambindose
al software y hardware open source. Douglas debe saberlo. El ingeniero de
sistemas de control con base en Seattle, tiene una pgina web en YouTube
dedicada a fomentar la comprensin prctica de la teora de sistemas de control, www.youtube.com/
user/ControlLectures. Douglas es uno de los conocidos ensayistas de CC que aparece en la seccin Tech
the Future, que se centra en desarrollar tendencias y descubrimientos en la tecnologa. Visitad circuitcellar.
com/category/tech-the-future para leer ms sobre los ensayos de Douglas y otros.
Da 1 Hazlo tal
como quieres
Niel Greunding
Comenzando
Pero antes de empezar a configurar DesignSpark
es importante saber que DesignSpark usa estilos
para especificar las reglas de formato para primitivas de diseo como formas, texto y pistas.
Cada estilo tiene un nombre para poder referirse a l fcilmente, justo como lo hacemos en
un procesador de textos. Normalmente intento
Figura 1.
Esquemtico con
parmetros por defecto.
Ficheros de la tecnologa de
esquemticos
Figura 2.
Fuente por defecto
establecida en Arial.
TRUCOS Y CONSEJOS
cualquier nodo elctrico predefinido, aunque
yo hara esto mejor en el esquemtico;
cualquier clase de nodo elctrico predefinido
(masa, alimentacin, etc.);
los colores usados para dibujar varios elementos.
Podemos cambiar estos parmetros en el men
Settings->Design Technology y en el men
View->Colors.
Podemos ver que los parmetros por defecto
se asemejan a cargar un proyecto ejemplo. El
esquemtico del proyecto chipKit Max32 tiene
una apariencia como el de la Figura 1.
Personalmente encuentro que el estilo de las fuentes
es un poco antiguo, por lo que me gusta cambiarlo
a Arial, ya que es un tipo de fuente estndar. Despus de jugar un poco durante unos minutos, tenemos el resultado que podemos ver en la Figura 2.
As pues, cmo implementamos esto en el
fichero de tecnologa de esquemticos? La primera cosa que tenemos que hacer es abrir el
fichero de tecnologa de esquemticos default.stf,
que normalmente est localizado en C:\Users\
Public\Documents\DesignSpark PCB 5.0\Technology y que se abrir como un documento de
esquemticos en blanco. Ahora abrimos el men
Settings->Design Technology y cambiamos los
estilos de texto de Net Names, Pin Names, Pin
Numbers y Symbol Names para usar la fuente
de Arial con una altura de 80. Tambin he cambiado el estilo de texto Normal a Arial, pero con
un tamao de fuente de 120. Despus, he querido ir al men View->Colors y he cambiado los
campos Pin Names y Pin Numbers a negro.
Una vez que hemos hecho todos nuestros cambios, salvamos el fichero de tecnologa de manera
que podamos usarlo en nuevas pginas de esquemticos seleccionando default.stf en la ventana
de men de nuevo documento.
Figura 3.
Configuracin de las
capas.
El fichero de tecnologa PCB nos permite configurar:
Las unidades de diseo (mm, mils, etc.) y la
resolucin.
Las rejillas de diseo, especialmente, la rejilla
de trabajo.
El apilado de capas y los colores.
E l espaciado entre pistas y las reglas de
separacin.
Los estilos de los pads y de las pistas, aunque, normalmente, especificaremos los estilos
de los pads en nuestras libreras de componentes y slo especificaremos los estilos de las
pistas por defecto en el fichero de tecnologa.
Las clases de nodos por defecto, aunque, normalmente, yo las especifico en el esquemtico.
Las reglas de rutado automtico y colocacin
automtica.
Los elementos de diseo bsicos como formas
de placa, taladros de montaje, etc.
Vamos a ver cmo funciona esto iniciando nuestro
trabajo con un ejemplo para una sencilla placa de
dos capas. El primer paso es copiar el fichero de
tecnologa existente, de manera que no tengamos que comenzar desde cero. As pues, vamos a
comenzar con C:\Users\Public\Documents\DesignSpark PCB 5.0\Technology\metric.ptf y lo salvaremos con un nuevo nombre como my2layer.
ptf. Lo primero que tenemos que modificar son
las unidades de diseo en el men Settings->Units. Yo siempre uso milmetros con una precisin
de cuatro cifras decimales, pero si preferimos
las unidades imperiales, elegiremos in o mil.
Podemos configurar nuestro diseo de rejilla preferido en el men Settings->Grids.
La configuracin de las capas se hace en la pestaa Layers, dentro del men Settings->Design
Technology. Por defecto, la mtrica del fichero
de tecnologa tiene ya definidas las capas Top
Silkscreen, Top Copper, Documentation, Bottom
Copper y Bottom Silkscreen. Como todas mis
Figura 4.
Configuracin de las
capas.
placas son de montaje superficial, he aadido
las capas Top Paste, Top Solder Mask, Bottom
Solder Mask y una capa Bottom Past. Podemos
aadir ms capas pulsando sobre el botn Add y
entrando en los parmetros de capas, tal y como
se muestra en la Figura 3.
Una vez que hemos aadido todas las capas que
queremos, las podemos ordenar correctamente en
la pila de capas, movindolas hacia arriba o hacia
abajo en la ventana Layers. Una vez lo hayamos
hecho, deberamos ver algo como lo de la Figura 4.
A continuacin, pasamos a configurar las reglas
de espaciado pulsando sobre la pestaa Spacings.
Aqu veremos una matriz de todas las reglas de
espaciado entre los diferentes tipos de objetos.
Para una placa bsica de dos capas, con pistas de
10 mil y espaciado de 10 mil, las reglas tendran
una apariencia como la de la Figura 5.
Adems, tampoco debemos olvidar pulsar sobre
la pestaa Rules. Los parmetros importantes son
el anillo anular mnimo y el espaciado de componentes. Despus de esto, es el momento de configurar el ancho de pista por defecto en la pestaa
Figura 5.
Reglas de diseo.
Conclusin
Ahora que hemos configurado los parmetros por
defecto de DesignSpark, los siguientes pasos son
configurar las libreras de DesignSpark y crear algunas plantillas de documentacin. Por suerte, DesignSpark viene con un gran conjunto de libreras que
hacen que el inicio sea mucho ms sencillo.
(130172)
Wisse Hettinga
(Elektor)
(130169)
Labs
Thijs Beckers
(Editorial de Elektor)
tentativas para solucionar el problema, como desconectar y volver a conectar el cable USB, buscar
errores de programa, etc; pero todo fue en vano.
Pareca que la tarjeta SD se haba estropeado de
forma repentina. Sin embargo, las pruebas de la
tarjeta en un lector demostraron que funcionaba
correctamente, con lo que el error tena que estar
en otra parte. Pero dnde?
Verificamos cualquier defecto de diseo posible,
y lo hicimos dos veces, se prob cada punto de
soldadura, pero no encontramos ningn fallo.
Volviendo sobre sus pasos, Raymond program la
FPGA una vez ms y entonces se le vino algo a la
cabeza: cuando se programa la FPGA el entorno
desarrollo software requiere que se configure una
buena cantidad de parmetros. En las opciones
de configuracin (ver captura de pantalla), los
terminales de entrada-salida (E/S) no usados
pueden ser configurados. De hecho, deben serlo.
En ese momento Raymond se confes culpable
de haber descuidado justo lo que l haba estado
diciendo constantemente a todos los usuarios de
la Placa de Desarrollo FPGA de Elektor que tenan
que hacer: colocar todos los terminales de E/S
sin usar en forma flotante.
Como los terminales de datos de la tarjeta SD
estn directamente conectados, tanto con el
microcontrolador como con la FPGA en la Placa
de Desarrollo FPGA de Elektor, es obligatorio que
estos terminales se dejen flotantes en la FPGA
cuando no estn en uso. Por defecto, el entorno
de desarrollo deja las E/S sin uso en modo pull
down que, en la mayora de los casos, va bien.
Pero en esta aplicacin no es as y esta configuracin tiene que ser cambiada de forma activa a
float (flotante)!
Despus de que Raymond corrigiese este ajuste y
programase de nuevo la FPGA, la Placa de Desarrollo FPGA cobr vida otra vez y la aplicacin de
Raymond comenz a funcionar sin problemas. Un
claro caso de practicar lo que uno predica, Raymond! Aliviado de haber encontrado al culpable, se
volvi hacia m justo cuando yo entraba a los laboratorios preguntado si alguien tena alguna historia
interesante para las pginas .LABS de este mes...
(130036)
Internet Link
[1] www.elektor.com/120099
www.elektor-projects.com
elektor
labs
nete
ya
Labs
Grfico comparativo
DUT Unidad Bajo Test)
GRC 1650-A
Hameg HM8118
Resistencia 8.2
8.22
8.2458
(Vx=31,86mV,
8.2379
(Vm=31.13mV,
Im=3.779mA)
Ix=3.862mA)
Condensador 100 nF
Condensador 100 F
Inductor 1 mH
100 nF
D: 0.0267
92 F
D: 0.1
1.255 mH
Q: 0.63
102.03nF
D: 0.01205
Rs=19.20
(Vx=364.9mV,
102.20nF
D: 0.013
Rs=19,20
(Vm=398.1mV,
Ix=233.9A, 1kHz)
Ix=256.0A, 1kHz)
94.475F
D: 0.10099
Rs=170.27m
92.400F
D: 0.090
Rs=155.4m
(Vm=7.076mV,
Ix=4.091mA, 1kHz)
(Vx=7.301mV,
Ix=4.312mA, 1kHz)
995.85H
Q: 0.49189
Rs=12.722
(Vx=52.60mV,
Ix=3.711mA, 1kHz)
993.2H
Q: 0.492
Rs=12.681
(Vm=51.18mV,
Ix=3.621mA, 1kHz)
Enlaces en Internet
[1] www.hameg.com/13.0.html
[2] testenmeetwinkel.nl
[3] www.elektor.es/075064
[4] www.elektor.es/110758
Proyectos
Recicla tu Fuente
de Alimentacin ATX
Esta elegante placa adaptadora te lo pone fcil
Ben Jordan (USA)
Esta placa adaptadora de fuente de alimentacin ATX para banco de trabajo nos
permite convertir cualquier fuente de alimentacin ATX de ordenador en una fuente de alimentacin adecuada para trabajar con placas de prototipo y en el banco
de trabajo en general sencilla y elegante.
Prestaciones
Salidas para 12 V, 5 V, 5 V Standby y 3,3 V
No es necesario hacer modificaciones en la fuente de alimentacin ATX.
Encendido y apagado sencillo de la fuente de alimentacin ATX conectada.
Indicacin de estado con LED.
Capaz de trabajar con corrientes de alimentacin elevadas.
Banana hembra para cada tensin de salida.
Ranura para una conexin fcil de las pinzas de cocodrilo.
El adaptador debe:
1. No alterar la propia fuente de alimentacin.
2. Usar un conector ATX.
3. Disponer de bananas hembra de panel para
cada tensin de salida de la fuente ATX y para
la tensin de standby.
4. Tener la correspondiente banana hembra de
retorno (GND) para cada tensin de salida.
5. Ser capaz de trabajar con corrientes de alimentacin importantes.
6. Disponer de un circuito de conmutacin para
el controlador on/off ATX.
7. Disponer de LEDs para monitorizar las seales
de Standby y Potencia correcta.
+5V STBY
VSTBY
VSTBY
+3V3
K4
+3V3
C2
C1
C4
100n
100n
100n
K11
16
U1 = TC4049B
K18
S1
100n
100n
J1
1
11
12
13
14
15
16
17
18
19
10
20
K12
R3
K1
K17
4
R4
K16
U1.D
K6
K13
10k
C6
100n
K19
K20
C7
K7
K14
100n
ATX ON
S2
ON
U1.E
11
220R
10
FAULT
U1.F
12
14
15
PB OFF
C3
VSTBY
100n
K8
12V
R2
220R
D2
D1
U1.C
+12V
R1
U1.B
10k U1.A
+12V
12V
PWR OK
K2
U1
OFF
C8
K3
PB ON
K5
C5
K10
K15
+5V0
+5V0
PWR
OK
K9
ATX ON
TP1
PWR OK
120619 - 11
Figura 1.
El esquema elctrico
muestra lo sencillo que es
este adaptador de fuente de
alimentacin.
Proyectos
8. U
sar un diseo de placa de taladros pasantes
para que nuestros queridos lectores puedan
hacerse una fcilmente por s mismos.
Tambin haba considerado colocar un medidor
interno de panel con el que poder monitorizar la
tensin de cada salida, pero me di cuenta rpidamente que esto sera un aumento de prestaciones innecesario para esta aplicacin, ya que
las salidas son fijas y estn bastante bien reguladas, y la mayora de los usuarios (al igual que
yo) pueden conectar su multmetro y obtener
una medida mucho ms exacta.
Lista de materiales
Resistencias
R1,R4 = 220
R2,R3 = 10k
Condensadores
C1-C8 = 100nF
Semiconductores
D1 = LED, 3mm, amarillo
Figura 2.
La distribucin de
componentes no
deja espacio para
interpretaciones errneas.
Hay que sealar que el
conector ATX debe ser
montado sobre la cara
inferior de la placa.
Miscelneos
K3-K7, K10-K14 = bananas hembra de panel para la
conexin de bananas macho.
J1 = Conector ATX para montaje en placa.
S1,S2 = Pulsador tctil.
Enlaces en Internet
[1] http://jordandsp.com/ATX-bench-top-powersupply-adapter.php
[2] www.elektor.es/120619
La quiero
Este proyecto est disponible como kit completo en una edicin
limitada, con la placa y todos los componentes, incluyendo las bananas
hembra de panel, los componentes y un conector ATX, adems de
un conjunto de instrucciones claras y comprensibles que incluyen el
esquema elctrico y el diagrama de ensamblado de la placa, as como
las plantillas de taladrado para el montaje del panel. Visita [1] para
ms informacin sobre precio y pedido.
Proyectos
Desde la Electrnica
a la Carpintera
(Espaa)
Imgenes de
Laura Balboa
(Mxico)
Lista de materiales
Figura 1.
Iglesia de Zegache, Mxico.
Foto cortesa de Talleres
Comunitarios.
Arduino en Mxico
Figura 2.
Vista general del taller de
Zegache.
Figura 3.
Espejos producidos en
Zegache.
Proyectos
Figura 4.
Vista del improvisado taller
Arduino en el taller de
Zegache.
Figura 5.
Proceso de construccin
de espejos y juguetes
interactivos en Zegache.
Arduino en Mxico
Figura 6.
Proyectos hechos durante
nuestro primer taller.
Proyectos
Tambin dijo que un pjaro podra ser algo
acertado. As que decid intentarlo: vamos a hacer
un pjaro robot (les dije a mis compaeros de
equipo cuando estbamos dejando Suecia en
direccin a Mxico, exactamente un ao despus
de haber vuelto de nuestro primer viaje.
No han cambiado muchas cosas en Zegache o
en el taller. Algunos se han ido, algunas caras
nuevas En la plaza han construido una enorme
estructura para proporcionar sombra. Tambin han
aadido dos porteras para que los nios jugasen
al ftbol (podis imaginar el calor que hace all
durante el da) y haban descubierto una manera
de tener un tipo de Internet en el taller: alguien
de la ciudad consigui una conexin DSL (por
alguna razn no est permitido que todo el mundo
Figura 7.
Piezas de un pjaro robot
hechas a mano.
Figura 8.
Los elementos e que va en
el interior el pjaro robot.
Listado 1.
Programa de trabajo de un pjaro robot
//*
* Zegache Robot
*
* (c) 2013 D. Cuartielles
*/
#include <Servo.h>
Servo myservo;
int
int
int
int
sensorPin = 0;
speakerPin = 8;
servoPin = 9;
val;
void setup()
{
myservo.attach(servoPin);
pinMode(speakerPin, OUTPUT);
}
void loop()
{
val = analogRead(sensorPin);
if ( val < 250 && val > 50) {
myservo.write(50);
tone(speakerPin, val);
delay(200);
myservo.write(100);
noTone(speakerPin);
delay(100);
myservo.write(120);
tone(speakerPin, val);
delay(200);
myservo.write(0);
noTone(speakerPin);
delay(200);
Arduino en Mxico
Figura 9.
El pjaro con respuesta
automtica terminado.
Referencias
[1] Proyecto de taller de Zegache: http://proyectozegache.com/index_en.php
[2] Proyecto Euroaxaca EU: http://euroaxaca.org/
Palabras finales
La electrnica puede ser un proceso que no
solamente te ensea cmo funcionan las cosas;
tambin es un vehculo para conocer el mundo
a tu alrededor. Tener una mente abierta puede
ayudarnos y mostrarnos cmo hacer proyectos
interesantes con tan slo trabajar junto a la gente
que te rodea en todo el mundo. Coge tu placa
Arduino, tu mochila de trucos y habla con tus
amigos y vecinos. Anmales a hacer juguetes y
objetos interactivos.
Recordad: Compartir es ser solidario!
(120751)
Agradecimientos
Gracias a Geska y a Robert por realizar
las fotos, que comenzaron el proyecto
Euroaxaca y me invitaron amablemente a
unirme. Tambin quiero dar las gracias al
pueblo de Zegache por su hospitalidad y
recordarme que hay muchos ms objetos
electrnicos adems de los bytes.
Magazine
El Triunfo de
la Robtica Educativa
Semana de la Robtica
en la Universidad de Alcal 2013
Eduardo Gallego
(Espaa)
Semana de la Robtica
PrinterParty
Las impresoras en 3D estn experimentando un
crecimiento sin precedentes gracias a proyectos
como CloneWars [2], que permiten replicar estas
mquinas de forma sencilla y accesible.
Al igual que las tcnicas de prototipos rpido
para circuitos electrnicos, o los simuladores para
nuestros programas, la impresin de elementos
en 3D supone un gran avance de especial inters
para la tecnologa robtica, ya que nos permite
disear y obtener resultados fsicos en un breve
espacio de tiempo. Con este tipo de mquinas
se pueden disear e imprimir fcilmente piezas
que pueden servir como simples modelos o como
elementos funcionales.
En la PrinterParty de la Semana de la Robtica de la Universidad de Alcal se reunieron
ms de 30 impresoras, procedentes mayoritariamente de diseos open. Todas ellas trabajaron de forma conjunta en la fabricacin de las
piezas necesarias para construir una serie de
pequeos robots, que posteriormente se utilizaron en otros talleres y actividades dentro de
la Semana de la Robtica.
El proyecto TuBot
El proyecto TuBot naci como fruto de la colaboracin entre el Departamento de Electrnica
de la Universidad de Alcal (UAH) y la Asociacin de Robtica Educativa Complubot [3] con
el objetivo de acercar la robtica educativa a un
grupo de estudiantes de secundaria tan grande
como fuera posible. Para hacerlo posible, se han
unido la capacidad organizativa del Departamento
de Electrnica de UAH y los ms de 10 aos de
experiencia de Complubot en la formacin de
estudiantes en este campo.
De entre las ms de 70 solicitudes de inscripcin, fueron seleccionados 24 centros de
enseanza de Gerona, Albacete, Guadalajara
y Madrid, un total de 48 alumnos en equipos
de dos estudiantes.
El material didctico necesario para este proyecto fue especialmente desarrollado por Com-
Magazine
al mircoles siguiente para que los estudiantes dispusieran de tiempo para prepararlo. La
actividad debera ser necesariamente sencilla,
pero al tiempo tendra que permitir explorar
distintos caminos y posibilidades a los participantes. Un torneo de mini-sumo reuna estas
cualidades.
Dada la distancia a sus lugares de residencia,
solo 19 de los 24 equipos pudieron participar
en este torneo. A pesar de disponer de solo
cuatro das y del bajo nivel de conocimiento
robtico de partida (nulo en algunos casos),
casi todos los equipos consiguieron un mnimo
nivel de movilidad del robot, e incluso algunos
de ellos implementaron sistemas de localizacin
del adversario.
Una de las participantes, una joven estudiante
de 4 de ESO, comentaba tras la competicin:
Desde nia tena muy claro que carrera quera
estudiar y nadie era capaz de hacerme cambiar
de opinin. Hoy he visto que estaba equivocada
y que en realidad quiero estudiar Ingeniera de
Telecomunicacin.
El campeonato nacional de la
RoboCupJunior
La RoboCupJunior es la mayor competicin mundial robots en arquitectura abierta (cualquier
hardware/software) para jvenes estudiantes
de hasta 19 aos y consta de tres modalidades:
Socer, Resue y Dance.
Semana de la Robtica
Referencias
[1] Semana de la Robtica UAH: www.alcabot.
com
[2] Proyecto Clone Wars: www.reprap.org/wiki/
Proyecto_Clone_Wars
[3] Asociacin de Robtica Educativa
Complubot: www.complubot.org
[4] Robot CB2: complubot.educa.madrid.org/
pre/pre.php
[5] Plastilina conductora: www.youtube.com/
watch?v=CW3RjOU24mM
[6] Scratch: scratch.mit.edu
Proyectos
Jens Nickel
(Editor de Elektor)
pocas lneas de cdigo. En este artculo mostramos un protocolo til para tareas de control
sencillas, as como para propsitos de desarrollo.
Mini-protocolo
En el desarrollo de cualquier cdigo, algunas pruebas sencillas como iluminar un LED o muestrear
una entrada digital pueden ser de gran utilidad.
A menudo las placas de desarrollo no incluyen
ms que algunos pulsadores para realizar pruebas. Aqu veremos cmo controlar la placa desde
un PC, por ejemplo mediante el puerto serie. Si
nos limitamos a los caracteres ASCII, entonces
podemos enviar comandos cmodamente desde
un programa terminal; en tal caso, no es necesario un software de PC propio.
Con nuestro mini-protocolo (llamado BlockProtocol) pueden ponerse los pines a nivel alto
o bajo desde el terminal en el PC. Si controlamos un pin con un LED conectado, veremos el
resultado directamente, si no es el caso, basta
con conectar un multmetro o un osciloscopio.
Tambin puede tratarse de sencillos comandos
para conocer el estado de las entradas digitales
y el valor del ADC de las entradas analgicas
(ver el cuadro BlockProtocol). Si queremos
tambin podemos ampliar el cdigo del correspondiente mdulo de la librera y adaptarlo a
nuestros propios propsitos. Quiz a alguno
de los lectores le sirvan de inspiracin los protocolos de control de Andreas Eppinger [2] y
Uwe Altenburg [3], ya que ofrecen multitud de
funciones ms.
{1}
SENSOR
[5]
{2}
RS485
[3]
SENSOR
(+0)
(4)
(+1)
(5)
(+2)
(6)
(+3)
(7)
(+4)
(8)
(+5)
(9)
3.0/RXD
ADC/2.0
ADC/2.1
ADC/2.2
ADC/SCL/2.5
MOSI/1.3
MISO/1.4
SCK/1.5
{0}
3.2
(10)
3.3
ADC/2.3
ADC/SDA/2.4
3.1/TXD
(11)
(0)
3.4
3.5
3.6
3.7
[4]
[0]
(1)
(2)
[2]
(3)
[1]
(12) (13) (14)
(15)
120668 - 16
Figura 1.
Salida de tablas EFL en un
programa terminal. A la
izquierda puede verse el
mapa con las caractersticas
del controlador utilizadas
(nmeros rojos en el
diagrama de bloques de la
placa), en el centro la tabla
de bloques (nmeros azules)
y a la derecha los pines de
la placa (nmeros verdes).
Proyectos
entrega, ya que utilizamos la misma placa y el
mismo controlador. En el directorio Libraries
encontraremos los archivos UARTInterface.h/.c.
stos forman la librera para el puerto UART de
la placa, en este caso a modo nuestro driver
RS485 (capa fsica de la comunicacin). Luego
tenemos un mdulo para el protocolo utilizado
(BlockProtocolEFL.c/.h). Ambos mdulos de
librera utilizan un interfaz de cdigo especfico (el llamado interfaz de software), que en
la prctica para nosotros es igual.
Cdigo ms corto
En el cdigo real de la aplicacin (incluido como
siempre en el archivo principal) hemos de integrar las libreras mediante:
#include UARTInterfaceEFL.h
#include BlockProtocolEFL.h
Figura 2.
Mediante UART/RS485 y
un sencillo protocolo de
texto en ASCII podemos
controlar nuestra placa de
microcontrolador desde un
programa terminal.
Listado:
implementando una aplicacin con la EFL.
int main(void)
{
Controller_Init();
Board_Init();
Extension_Init();
ApplicationSetup();
while(1)
{
ApplicationLoop();
}
};
Probemos...
Tras compilar el programa y cargarlo en la
placa, veremos el resultado con un programa
terminal como por ejemplo HTerm [6]. Primero
fijamos un puerto COM y la tasa de transferencia. En la parte correspondiente a la entrada del
programa (Input Control) an hemos de definir que tras pulsar la tecla intro, ha de incluirse
<CR> despus de los caracteres introducidos
antes de enviar la cadena completa (vase la
figura4).
Empezamos con el nivel inferior, indicando
los pines de puerto del controlador. Segn el
esquema del nodo experimental [7], sabemos
que el LED rojo de la placa est conectado en
el pin PD4. PortD en los controladores AVR
corresponde con el PortIndex 3. De modo que
introducimos en el programa terminal:
p 3 4 + <ENTER>
Ahora el LED rojo se iluminar en la placa.
Alto nivel
Sin embargo, utilizar directamente un pin de
puerto no es exactamente la filosofa de la EFL.
En cuanto queramos usar otra placa controladora
para nuestro propio sistema de control, habra
que volver a cambiar la cadena de salida en nuestro PC o software de Android.
Por ello, el mini-protocolo tambin es capaz de
manejar el control mediante entradas y salidas
digitales independientemente de la configuracin de hardware, igual que hicimos en la anterior entrega con unas cuantas lneas de cdigo.
Figura 3.
Cdigo para controlar
nuestro propio dispositivo
electrnico mediante el
puerto UART.
Figura 4.
En el programa terminal
Hterm se especifica con un
<CR> que debe enviarse la
cadena de caracteres.
Con p 2 0 + o p 2 0 podemos, por ejemplo utilizar el pin PC0 como conector de expansin. Si conectamos una placa de expansin,
por ejemplo nuestra placa con sensor y LEDs
de la anterior edicin, o la placa de rels de la
serie ElektorBus [8], ya tendremos un pequeo
dispositivo controlable desde el PC. En lugar de
un programa terminal tambin podemos utilizar
nuestro propio software de PC, basta con que
enve la cadena de caracteres p 2 0 + <CR>
a travs del puerto COM adecuado para conmutar el rel. O si queremos conectar un nodo
experimental a un smartphone mediante la placa
puente RS485/UART Andropod [9], en tal caso
podemos programar una pequea aplicacin en
Android. Como punto de partida se recomienda
utilizar el software de [10], reemplazando los
bytes del ElektorBus por los caracteres mencionados ms arriba.
Proyectos
Con la cadena...
L 0 1 + <CR>
R 0 0 + <CR>
Puerto de 3 hilos
B 0 0 ? <CR>
...comprobamos el estado del botn de test (button0 del bloque de botones #0).
BlockProtocol
Todos los comandos empiezan con un nico carcter, seguido de
uno o dos nmeros del uno al diez. Con stos la EFL indica el pin
correspondiente. El ltimo carcter determina la accin que debe
llevarse a cabo.
x
Salida de las tablas EFL del mapa, bloques y pines de la placa (ver
documento adicional de la EFL [1])
p x y +, p x y , p x y ?, p x y #, p x y *
Pin del controlador, puerto x, pin y: a nivel alto, a nivel bajo, lectura
del nivel, transmitir el valor del ADC (en un pin del ADC), parpadeo
controlado por tiempo
b x +, b x , b x ?, b x #, b x *
Pin de la placa con ndice x: alto, bajo, lectura, valor del ADC, parpadeo
i x y +, i x y -, i x y ?, i x y #, i x y *
Pin en bloque con ndice x, posicin del pin y dentro del bloque: alto,
bajo, lectura, valor del ADC, parpadeo
C x y +, C x y , C x y ?, C x y #, C x y *
Conector x, pin y: alto, bajo, lectura, valor del ADC, parpadeo
L x y +, L x y , L x y ?, L x y *
Bloque de LEDs x, posicin del LED y: alto, bajo, lectura, valor del ADC,
parpadeo
R x y +, R x y , R x y ?
Bloque de rels x, posicin del rel y: alto, bajo, lectura,
Bxy?
Bloque de botones x, posicin del botn y: lectura
Axy#
Bloque de ADC x, posicin del pin del ADC y: transmisin del valor del
ADC
*
Finalizar parpadeo controlado por tiempo
El control mostrado da por hecho que tenemos acceso a un UART del controlador desde
el exterior; por ejemplo con los pines RX/TX.
Es ms, hemos de disponer de un archivo de
control EFL completo, que aparte de las funciones tpicas de I/O y ADC tambin disponga
de las del UART.
No obstante, si se trata de un controlador desconocido (como cuando queremos desarrollar un
archivo de control EFL que otros lectores puedan
utilizar), conviene empezar por las funciones sencillas de I/O. Una vez hemos comenzado a estudiar la hoja de datos, y sabemos al menos leer y
fijar el nivel de los pines, as como conectar tres
pines de GPIO con el exterior (algo muy comn
en la mayora de placas), entonces podemos estar
seguros de haber dado un gran paso. Entonces
la placa ya podr controlarse mediante el protocolo descrito arriba. Como canal de transmisin
se utiliza un puerto de tres hilos, a modo de SPI
por software. Una de las conexiones se utiliza
como reloj, otra para transferir bytes del master
(PC) al slave (placa). Y en la tercera lnea, en
sentido contrario.
Segn las especificaciones SPI, el puerto de tres
hilos ofrece la posibilidad de que tanto el master como el slave inicien la comunicacin. Para
ello, se pone a nivel alto la lnea de Out y se
espera hasta que la otra parte haga lo mismo
con su correspondiente lnea. Entonces se iniciar la comunicacin, en la cual segn el modo
SPI el master fija el reloj y empiezan a circular
bytes en ambos sentidos. Cuando ya no hay que
enviar ms (datos), se transmite el cdigo de
stop <LF> = ASCII10. Cuando ambas partes
envan un 10, la comunicacin puede darse
por finalizada.
Lgicamente hemos reunido todo en un bonito
mdulo de librera EFL llamado ThreeWireInterfaceEFL. Ahora resulta bastante sencillo realizar
la comunicacin desde el puerto SPI por software
en lugar que desde el UART.
Las lneas de cdigo en la funcin Application-Setup sern ahora:
ThreeWireInterface_LibrarySetup();
BlockProtocol_LibrarySetup(-
ThreeWireInterface_Send, 0,
ThreeWireInterface_GetRingbuffer(0));
Hemos informado a la librera BlockProtocol de
que los datos han de enviarse y recibirse a travs del puerto de 3 hilos (comparemos la lnea
con el cdigo de BlockProtocol_LibrarySetup de
ms arriba).
En la rutina Application-Loop slo necesitaremos
la instruccin:
ThreeWireInterface_Listen(0);
As se comprueba que cada una de las partes
responde con un nivel alto. Entonces se establece la comunicacin (en caso de que el canal de
transmisin sea el UART no necesitaremos esta
funcin de Listen, pues detecta una interrupcin
del controlador cuando se reciben caracteres y
se envan automticamente los bytes del buffer
circular).
Figura 5.
El acceso al Arduino Uno
se lleva a cabo mediante 3
hilos.
Proyectos
Figura 6.
El nodo experimental hace
de gateway entre el puerto
de 3 hilos y el UART/RS485.
[1] www.elektor.es/120668
[2] www.elektor.es/100576
[3] www.elektor.es/120296
[4] www.elektor.es/130154
Eureka!
En nuestro programa terminal, antes de cada
comando introducimos una x. La placa Arduino
transmite ahora las variables EFL a travs del
puerto de 3 hilos, a la velocidad establecida anteriormente (en este caso a 9600 baudios).
Con el comando...
C 0 13 + <CR>
...podemos poner el pin13 del puerto Digital a
nivel alto, y si hemos conectado un LED al Arduino
Uno veremos el resultado inmediatamente.
En la prxima edicin se incluir otro proyecto
EFL. Cualquier sugerencia o contribucin es bien
recibida, no dudes en escribir a redaktion@elektor.de.
La ltima versin del cdigo de la EFL puede
descargarse en la pgina de Elektor.LABS, en el
siguiente enlace [5].
(130154)
Enlaces de Internet
[5] www.elektor-labs.com/efl
[6] www.der-hammer.info/terminal
[7] www.elektor.es/110258
[8] www.elektor.es/110428
[9] www.elektor.es/110405
[10] www.elektor.es/120097
robots sanitarios
Robots sanitarios
El futuro de la sanidad
Tessel Renzenbrink
(redaccin Elektor TTF)
El encuentro con Alice tuvo lugar en el laboratorio del proyecto Services of Electro-mechanical Care Agencies (SELEMCA), hospedado en
la Vrije Universiteit de Amsterdam [1]. Aqu se
investigan cmo los sistemas inteligentes como
los robots pueden interactuar con los usuarios
de forma ms humana. El problema social sobre
el que se fundamenta este proyecto es la creciente demanda de ms servicios sanitarios. A
consecuencia del envejecimiento de la poblacin,
el nmero de gente necesitada, en comparacin
con la poblacin sanitaria activa, aumenta. Para
que estos cuidados tambin se puedan ofrecer
a la gente en el futuro, se est trabajando en
soluciones tecnolgicas que se ocupen de una
parte de las tareas de cuidado. Y para hacer que
el trato con el sistema tecnolgico sanitario sea
tambin agradable para los usuarios, SELEMCA
ha desarrollado el sistema sanitario I-Care orientado al ciudadano.
Johan F. Hoorn (Dr. Litt., Dr. Sc.) es el investigador jefe y jefe de proyecto de SELEMCA que habla
entusiasmado sobre el objetivo, los logros y los
obstculos del proyecto. El ncleo de SELEMCA
es la investigacin cientfica sobre la inteligencia, emociones y creatividad. A su alrededor hay
cdigo mquina y comportamiento de mquina,
de forma involuntaria.
que son varios programas simuladores de este
tipo de capacidades. Luego tenemos la funcionalidad; las cosas que puede hacer para alguien o
sea todas las posibilidades de accin que puede
ofrecer a alguien. Todo esto junto es el sistema
I-Care y funciona en segundo plano. Finalmente
hay un interfaz con el que el sistema I-Care se
manifiesta hacia el exterior.
Alice y DARwIn-OP
(Foto: Waag Society CC BY 2.0)
Aunque en ambos casos actuar tiene como resultado un ratio vida/muerte de 5:1, generalmente
la gente opta por cambiar la va, pero tirar activamente a una persona de un puente ira demasiado lejos. Eso es porque no calculan nicamente
los principios ticos sino que tambin permiten
que la emocin juegue un papel en el veredicto
moral. En cambio un robot razonando puramente
de forma racional sacrificara esa nica persona
en beneficio de la mayora.
A la gente no le gusta un robot que tira personas de un puente. Por eso Johan y sus colegas
desarrollaron un sistema que integra la inteligencia emocional en razonamiento moral. En
I-Care se incorpora este tipo de sistemas que
simulan capacidades humanas como afecto,
razonamiento moral y creatividad, y se manifiestan en la funcionalidad que ofrece al receptor
sanitario. Si un paciente con una pierna rota
no quiere comer, el robot reconoce su autonoma y deja que el paciente tome la decisin.
Pero con un paciente con Alzheimer con una
autonoma reducida el robot volver a ofrecer
la comida. Luego la creatividad tambin juega
un papel. En lugar de colocar el plato repetidas
veces delante del paciente, lo que probablemente slo llevara a una mayor resistencia,
el robot puede intentar utilizar mtodos alter-
Alice y DARwIn
Finalmente hay una pantallita con la que el sistema I-Care es visible en la parte exterior. En
realidad el interfaz, dice Johan, puede tomar
cualquier forma que puedas imaginar. Puede
ser un robot, un juguete, un mueco, un agente
virtual en una pantallita, pero detrs siempre
se ejecuta el mismo sistema. No hace falta que
tenga forma humana, pero s que se comporte
humanamente. Tambin una mquina de caf
puede funcionar como avatar del sistema I-Care.
Quizs el usuario piense que ha trabajado con
tres aparatos diferentes, pero en realidad slo
ha interactuado con un sistema I-Care con apariencias diferentes. Despus de todo el significado de Avatar es el de un dios encarnado
como Vishnu.
El robot Alice es un posible avatar donde se
manifiesta el sistema I-Care. A muchos usuarios les gustar comunicarse con el sistema
a travs de ella por sus expresiones faciales
humanas. Pero corporalmente Alice no se ha
desarrollado an lo suficiente, puede ponerse
de pie pero casi no puede realizar ninguna
accin. Su semejante DARwIn-OP (Dynamic
Anthropomorphic Robot with Intelligence
Open Platform) es mucho ms gil y puede
realizar tareas fsicas.
Pero, tal y como indica Johan, los robots no son
los nicos interfaces. En el laboratorio tambin se
est trabajando con una bicicleta interactiva. Los
pacientes de Alzheimer no suelen ser fieles a su
terapia, cuando se sientan en su bicicleta esttica
para realizar los ejercicios fsicos que necesitan
se distraen enseguida y se bajan de la bici. Johan
y su equipo trabajan en un entorno virtual que
haga que parezca que el paciente est yendo por
la ciudad, y as se pueda retener su inters por
ms tiempo. Incluso quieren trabajar en que un
paciente vaya en bicicleta de forma virtual acompaado de uno de sus parientes mediante una
conexin en lnea con, por ejemplo, un hijo que
en realidad est yendo en bicicleta a su trabajo.
As el paciente mantiene el contacto humano y
hace ejercicio fsico, pero no corre el riesgo de
chocar con un autobs.
En una pantallita que hay sobre el manillar se
muestra al hijo como avatar. Haciendo que ste
acte como el interfaz con I-Care el sistema se
torna ms humano. En todas sus encarnacio-
robots sanitarios
Enlaces Web
[1] http://crispplatform.nl/selemca/
selemca
[2] http://dare.ubvu.vu.nl/bitstream/handle/1871/38598/Moral%20Coppelia%20
IBERAMIA%20Proof%2076370442.
pdf?sequence=1
[3] www.crispplatform.nl
Robot Alice
[4] http://waag.org/en
DARwIn-OP
(Foto: Waag Society CC BY 2.0)
Proyectos
Clemens Valens
(Elektor.Labs)
FPGA
process (clock) is
begin
if rising_edge(clock) then
counter <= counter + 1;
if (counter=t150ms) then
Figura 1.
La seal DCF77 y el
momento de muestra.
Proyectos
6
7
8
9
10
11
12
13
14
15
Detectar flancos
Aqu el detector de flancos es un punto importante. En primera instancia haba utilizado una
construccin simple que comparaba el valor
actual de la seal de entrada con los valores
durante el pulso de reloj anterior. Esto no funcionaba de forma fiable y creaba interrupciones
de forma que de vez en cuando se perda el
sincronismo. La solucin result ser la adicin
de un biestable adicional, de modo que no se
FPGA
Ver www.elektor.es/120099
Proyectos
Utilizar mdulos
Si queremos utilizar el detector de flancos dentro
del descodificador DFC77 tenemos que decirlo
de una u forma manera al XST. Se puede hacer
de varias maneras, por ejemplo, mediante una
librera, pero nosotros lo hacemos aqu a travs
del mtodo de componente. El listado 2 muestra
cmo funcionan varias cosas. Ah tambin puedes
ver el mdulo descodificador DCF77 al completo,
incluso el bloque entity con su bloque architecture correspondiente, seales de entrada
y salida, variables locales y constantes. Mralos
tranquilamente, utiliza internet como referencia
si fuera necesario, no es tan complicado.
Incorporamos el detector de flancos dentro del
mdulo declarndolo arriba dentro del bloque
architecture. Para ello copiamos el bloque
entity y sustituimos la palabra entity por component. Luego tenemos que conectarlo. Lo hacemos despus del begin del bloque architecture
instanciando un ejemplar (as es como se dice).
FPGA
Figura 2.
Este extrao esquema
surge cuando el RTL Viewer
(Design tab, Synthesize
XST View RTL Schematic)
del ISE dibuja el detector
de flancos en este artculo.
La seal de entrada no est
conectada a ninguna parte
y no entiendo muy bien su
funcionamiento. Habr
cometido algn error?
Figura 3.
Una impresin de pantalla
del ISE donde no solo vemos
el cdigo para el display,
sino tambin la jerarqua
del proyecto y las marcas
verdes que prueban que es
posible compilar el proyecto
hasta un fichero bit.
Proyectos
Display
Como me esfuerzo mucho
en explicar todo lo mejor
posible, este tipo de artculos acaban fcilmente
siendo largos, algo que no
le gusta mucho a mi jefe.
Sin embargo me gustara
explicar en un nico artculo cmo hacer que un
diseo VHDL funcione, si
no termina siendo un poco
frustrante. Como todava
tengo que explicar muchas
cosas, voy a suprimir el
cdigo del display de 7
segmentos. He utilizado el
mismo display de 2 dgitos que el de la 3 entrega
[3], por lo que he escrito
un descodificador de BCD
a 7 segmentos. Este es
un ejercicio de los libros
estndar, as que no tengo
que dedicarle muchas palabras. Mira dentro del proyecto de esta entrega [5]
para ver cmo funciona
todo. La figura 3 muestra algunas cosas.
Hacia top
std_logic;
clock : in
std_logic;
tick : out
std_logic;
FPGA
Proyectos
Figura 4.
El esquema del descodificador DCF77 es casi idntico
al de la 3 entrega [3]. Como la FPGA no soporta bien
seales de 5 V, limitamos la seal de entrada hasta unos
3 V con un diodo zener.
Figura 5.
El circuito de pruebas controlado con un Arduino como
simulador DCF77. El display muestra 17, las horas
simuladas. La placa Arduino alimenta a la placa FPGA.
Enlaces Web
[1] 1 entrega: www.elektor.es/120099
[2] 2 entrega: www.elektor.es/120630
[3] 3 entrega: www.elektor.es/120743
[4] 4 entrega: www.elektor.es/130065
[5] 5 entrega: www.elektor.es/130066
www.cc-webshop.com
Proyectos
Jean-Claude Feltes
(Luxemburgo)
Ahora nos centraremos en los diagramas y la sntesis de Fourier. Para terminar, tambin veremos cmo
implementar un entorno de usuario.
Diagramas
En Python, el mdulo estndar para diagramas en
2D se denomina Matplotlib. A pesar de que en
Python el eslogan es para cada tarea, un nico
mtodo, con los mdulos adicionales lamentablemente no es as, y llev bastantes horas
poder trabajar con ellos. En el caso de Matplotlib
tenemos tanto un procedimiento simple, como
un complicado interfaz orientado a objetos. Los
ejemplos disponibles en Internet y en los libros
utilizan uno u otro procedimiento, con lo que
los cdigos mostrados se confunden fcilmente.
El interfaz simple pyplot tambin permite realizar programas muy sencillos. El programa del
listado1 genera una seal sinusoidal amortiguada y registra la curva resultante a modo de
grfica en una ventana (vase la figura1).
La primera lnea importa el interfaz pyplot como
objeto plt. Para los clculos matemticos hemos
lenguajes de programacin
Listado1: Sinus.py
import matplotlib.pyplot as plt
from numpy import sin, exp, linspace
x=linspace(0.0, 7.0, 1000)
y= sin(5*x)*exp(-x)
plt.plot(x, y)
plt.show()
Figura 1.
Representacin grfica
de una seal sinusoidal
amortiguada, obtenida
mediante el cdigo del
listado 1.
Listado2: Multigraph.py
mport matplotlib.pyplot as plt
from numpy import sin, exp, linspace
plt.show()
y1 = sin(5*x)*exp(-x)
y2 = y1* 0.5
plt.plot(x, y1)
plt.plot (x, y2)
Figura 2.
Respuesta en frecuencia de
un filtro RC paso bajo, segn
el listado 3.
Proyectos
En el ejemplo del listado4 se genera sintticamente una seal bastante cuadrada, sirvindonos de una combinacin de 30 armnicos. La
figura3 muestra el resultado obtenido con un
cdigo relativamente simple. En el cdigo tambin puede aumentarse o disminuirse el nmero
de armnicos.
GUI o no?
Los usuarios de Linux tienen cierta reputacin de no utilizar mucho los GUIs, e incluso
llamarlos click-buntu y considerar al ratn
un invento del demonio. Sean o no ciertos
los estereotipos, la verdad es que la mayora
de la gente prefiere programas bien diseados y fciles de utilizar. Y siendo sinceros, un
entorno grfico para manejar los archivos es
bsico, no?
En cualquier caso, en Python podemos combinar
elementos grficos y no grficos en un mismo
programa. El programa del listado5 se trata de
un plotter de datos. Los datos ledos se envan
mediante una instruccin print a la ventana
de un terminal en formato de texto, y posteriormente se representan en ventana grfica a modo
de diagrama (ver la figura4).
Entre las libreras de GUI nos veremos obligados a elegir. Primero utilizamos Tkinter, ya
que est incluida en el intrprete de Python
y resulta fcil de aprender y utilizar. Pero al
copiar grficos al portapapeles surgan problemas, de modo que cambiamos wxPython. No
Figura 3.
Sntesis de Fourier de una
seal cuadrada segn el
listado 4.
Figura 4.
Plotter de datos: ventana
del terminal con valores
numricos y representacin
grfica en los ejes X e Y.
Listado3: RC.py
import matplotlib.pyplot as plt
from numpy import pi, linspace, log10, logspace
F = 1 / (1 + 1j*
complex, abs
# these allow
vector operations
Fabs = abs(F)
2 * pi * f * RC)
EDIT
R = 10.0E3
fig = plt.figure()
C = 100.0E-9
ax = fig.add_subplot(111)
ax.plot(f, Fabs)
# END EDIT
RC = R*C
ax.set_xlabel(f/Hz)
ax.set_ylabel(U2/U1)
f = logspace ( 1, 4, 100)
plt.show()
to 10**4
lenguajes de programacin
Listado4: Fourier.py
FOURIER SYNTHESIS FOR RECT VOLTAGE
harmonics
#-------------------------------------------------
ug = zeros(nb_points)
-------
# EDIT HERE
# harmonics
n = 30
# number of harmonics
nb_points=1000
# horizontal resolution
for i in range(1,n+1):
ai = calc_amplitude(amplitude, i)
frequency = 100.0
#Hz
fi = frequency * i
amplitude = 2.0
#V
uharm[:,i] = ai * sin(2 * pi * fi * t )
ug = ug + uharm[:,i]
return uharm, ug
#-------------------------------------------------
#-------------------------------------------------
--------
----------
Main program
T=1/frequency
---------
t = linspace(0.0, T, nb_points)
for 1 period
# plot harmonics
uharm, ug = calc_harmonics(nb_points, n)
if i % 2 == 0:
for i in range(1,n+1):
ai = 0
else:
ai = (4/pi)*amplitude / i
return ai
#--------------------------------------------------------
ampl.=+str(amplitude)+V
returns
plt.xlabel(t/s)
plt.ylabel(u/V)
ug = array nb_points
# init
Proyectos
Listado5: Dataplot.py
#!/usr/bin/env python
Plot data from file
import wx
import os.path
import matplotlib.pyplot as plt
def create_menu(frame):
# create menu
menubar = wx.MenuBar()
# main menus
mnuFile = wx.Menu()
mnuData = wx.Menu()
menubar.Append(mnuFile,&File)
menubar.Append(mnuData,&Data)
# submenus
m_Open = mnuFile.Append(-1,&Open)
mnuFile.AppendSeparator()
m_Exit = mnuFile.Append(-1,E&xit)
m_Plot = mnuData.Append(-1,&Plot)
# attach menu to frame
frame.SetMenuBar(menubar)
# bind menu events to procedures
frame.Bind(wx.EVT_MENU, OnExit, m_Exit)
frame.Bind(wx.EVT_MENU, OnOpen, m_Open)
frame.Bind(wx.EVT_MENU, OnPlot, m_Plot)
#----------------------------------------------------------------------# Event handlers
def OnExit(event):
frame.Close()
def OnOpen(event):
# ask for filename
dlg = wx.FileDialog(None,Open data file, os.getcwd() ,, *.*, wx.OPEN)
dlg.ShowModal()
filename = dlg.GetPath()
# open file, get data and
try:
f = open(filename, r)
data = f.read()
f.close()
textbox.SetValue(data)
except:
wx.MessageBox(Could not open file!)
lenguajes de programacin
def OnPlot(event):
# plot data
x,y = fill_xy_with_values(textbox)
plot_xy(x, y)
#----------------------------------------------------------------------def fill_xy_with_values(textbox):
# get values from textbox
#
returns
arrays x, y
text=textbox.GetValue()
lines=text.splitlines()
x=[]
y=[]
for line in lines:
columns = line.split()
x.append (float(columns[0]))
y.append (float(columns[1]))
return x,y
#----------------------------------------------------------------------def plot_xy( x, y):
Plot arrays x, y with matplotlib
plt.figure(1)
plt.subplot(111)
plt.grid(True)
plt.plot(x, y)
plt.xlabel(x)
plt.ylabel(y)
plt.show()
#----------------------------------------------------------------------#
Main
#----------------------------------------------------------------------app = wx.App()
# create frame
frame = wx.Frame(None, title=PLOTTER, pos=(350,300))
create_menu(frame)
# editor textbox for data
textbox=wx.TextCtrl(frame, style = wx.TE_MULTILINE)
# show frame and run event loop
frame.Show()
app.MainLoop()
Proyectos
Sobre el autor
Jean-Claude Feltes
imparte clases de
electrnica en el
Lyce Technique des
Arts et Mtiers en
Luxemburg. Esta
escuela de tecnologa
y artes otorga
cualificaciones
profesionales
a aprendices y
tcnicos. Dedica gran
parte de su tiempo
libre a su pasin por
la electrnica y la
programacin (vase
[2]).
es un pequeo editor: los valores pueden editarse o aadirse, e incluso pueden manejarse los
datos con el portapapeles, utilizando los atajos
de teclado tpicos. El botn derecho del ratn
abre un men contextual con las funciones de
edicin clsicas.
Con frame.Show() se muestra la ventana y
con app.MainLoop() se inicia un event-loop. El
programa se ejecuta hasta detectar un evento
(clic con el ratn o al pulsar una tecla) y entonces da paso al event-handler (funcin a la cual
se llama al detectarse un evento).
La primera funcin define los mens y su relacin
con los event-handlers que empiezan por On.
Las funciones OnExit, OnOpen y OnPlot
se ejecutan mediante la correspondiente tecla
del men. Con OnOpen se llama al primero al
selector de archivo wx.FileDialog. Aqu se utiliza os.getcwd (get current working directory)
para localizar el archivo en el directorio actual.
El archivo se abre tras haber seleccionado el nombre. Se procesa mediante try except, para
detectar posibles errores de archivo. Si puede
abrirse correctamente, el contenido se copia al
completo en la variable data y se pega en el
cuadro de texto.
Aqu, los valores de medida ahora pueden editarse, copiarse o pegarse. Lgicamente tambin
pueden introducirse valores a mano en lugar de
cargarlos desde un archivo.
Con OnPlot Los datos se representarn grficamente en un diagrama. Para ello, se realiza una
llamada a las funciones fill_xy_with_values y
plot_xy. La primera lee los datos del cuadro
de texto y los separa en una matriz por lneas.
En el bucle for se iteran todas las filas. stas se
separan con line.split() y posteriormente se
aaden los valores individuales en las matrices
x[] e y[]. Despus stos se devuelven como
valores de la funcin.
La funcin plot_xy genera el diagrama
(figura4). Obviamente este pequeo programa
es an algo rudimentario, pero hace bastante
ms de lo que podramos lograr en Visual Basic
con muchsimo ms esfuerzo. Tambin podemos
aadir por nuestra cuenta fcilmente una opcin
en el men para guardar los datos editados.
Enlaces y bibliografa
[1] Listados y dems:
www.elektor.es/120143
[2] Pgina del autor:
http://staff.ltam.lu/feljc/home.html
[3] Documentacin de Python:
https://pypi.python.org/pypi/RPi.GPIO
[4] Tutoriales de Python:
www.awaretek.com/tutorials.html
[5] Referencia:
Michael Weigend: Python gepackt
[6] Iniciacin:
J.M. Hughes: Real World Instrumentation
with Python
[7] Mdulos disponibles en paquetes de Python:
http://pypi.python.org/pypi
[8] Python para electrnicos:
Andrew Pratt: Programacin en Python y
GUIs para ingenieros electrnicos
www.elektor.es/python-programming
NUEVO
LIBRO
Este libro (en ingls) facilita al lector una introduccin al uso del paquete de software
de diseo EAGLE PCB de CadSoft. Despus de leer este libro al tiempo que se practica
con varios ejemplos, y se completan los proyectos, el lector debe sentirse capaz de
afrontar retos ms complejos.
El libro te permitir rpidamente:
obtener una visin general de los principales mdulos de EAGLE: el editor de esquemas; el editor de diseo y el autorouter en un solo interface;
aprender a utilizar algunos de los comandos bsicos de los mdulos editores de
esquemas y diseo de EAGLE;
aplicar tu conocimiento de EAGLE a un pequeo proyecto;
aprender ms de algunos de los conceptos avanzados de EAGLE y sus capacidades;
comprender como EAGLE se relaciona con las etapas de fabricacin de las PCBs;
crear un proyecto completo, desde el diseo a la fabricacin de la PCB. El proyecto
comentado en el libro es un popular y comprobado
diseo del equipo de ingeniera de Elektor.
-10% par
a
miembros
GREEN
powered by Eurocircuits
or
e Elekt
d
s
a
v
e
u
n
s
B
C
P
s
uento en la
25% de desc
Proyectos
Robert Budniak
(Australia)
Localizador de Modelos
Perdidos
Directo al lugar del accidente!
Prestaciones
Diseo de bajo coste.
Placa TX con tecnologa SMD, placa RX con tecnologa T/H.
Adaptada a la mayora de mdulos radio de corto alcance de la banda
ISM de 315/433.
Seal de llamada programable para cada TX
Alcance mnimo: 200 m
Alcance mximo: depende de la orografa del terreno y de los
mdulos TX y RX usados.
Antena direccional Yagi de 4 elementos en RX.
K5
T2
DTB123YK
K1
K4
T1
BT1
DTB123YK
+5V
Antenna
IC1
8
0V
+V
7
SER OUT SER IN
6
IN1
IN4
5
IN2
IN3
K2
TXD
RXD
K3
1
2
3
4
Antenna
VCC
DATA
GND
Transmitter
Module
PICAXE-08M2
R1
22k
R2
10k
120139 - 11
Figura 1.
Esquema elctrico del
circuito del transmisor, que
no es mucho ms que un
microcontrolador PICAXE
programado.
tacin. Sin embargo, con las bajas tensiones usadas en este proyecto (5 V y 3,7 V), e incluso una
cada de tensin de 0,4 V de un diodo Schottky
sera una parte considerable de dicha tensin.
Buscando en las bases de datos de Internet,
he encontrado algunos transistores de pequea
seal del tipo DTB123YK (T1, T2), que tambin
tiene resistencias base-emisor y base en el propio componente. Estos componentes funcionan
bastante bien en el bloqueo de las tensiones de
las bateras y la cada de tensin en los extremos del transistor es de tan slo 100 mV. La
IC2
NCP1117ST50
D2
PMEG2010AEH
2
K2
C4
10u
25V
+6V5...15V
0
AUX
R1
AUX
K1
USB
1
2
3
4
5
C2
JP2
C1
100n
10u
10V
4V2
4V1
JP3
500mA
USB-B mini
1k5
+5V
100mA
D1
4 IN
7 EN
IC1
CHG
MAX1811
1 SELV
2 SELI
GND
BATT
5
BT1
GND
6
JP1
Transmisor
Cada pas tiene una serie de frecuencias de radio
asignadas para la Banda de Instrumentacin,
Cientfica y Mdica (ISM), a veces combinada
con Dispositivos de Corto Alcance (SRD, del
ingls, Short Range Devices). Estas frecuencias varan entre los distintos pases. Mientras
que en USA se usa la frecuencia de 315 MHz, en
Australia y en la mayora de los pases europeos
tenemos 433 MHz. Como existe una demanda
de transmisores sencillos y baratos, tambin hay
un cierto nmero de fabricantes que proporcionan mdulos de RF para este mercado. El tipo
de mdulo usado en este proyecto usa Modulacin por Desplazamiento de Amplitud (Amplitude Shift keying o ASK) y este tipo de mdulos
parece tener una configuracin de terminales
estandarizada en diferentes fabricantes. Por eso
hemos elegido este mdulo de transmisin de
RF. Debemos sealar que la lista de materiales
del proyecto que se indica aqu son slo modelos sugeridos.
Como podemos ver en el esquema elctrico de la
Figura 1, el mdulo de RF slo necesita tener una
trama de datos aplicada a su terminal DATA y,
para este proyecto, he usado un sencillo circuito
integrado PICAXE08M. He elegido este microcontrolador porque se encuentra muy fcilmente, el
lenguaje de programacin es fcil de aprender
y el circuito integrado no requiere ningn equipamiento especial para su programacin. Realmente es un sistema ideal para proyectos de
poco volumen y baja complejidad.
El cdigo es slo de unas pocas lneas (ver Listado 1) y, en la muestra de cdigo para este
proyecto se generan tres tonos cortos de 500 Hz
y, a continuacin, una pausa de unos 2,5 segundos. Aunque el cdigo se puede copiar tal cual,
recomiendo que se modifique la lnea donde se
generan los tonos, sobre todo si estamos usando
un cierto nmero de estos transmisores, unos
cerca de otros (como puede ocurrir en un club).
El transmisor normalmente est alimentado del
receptor del avin. Sin embargo, a veces, la batera del avin se desconecta en un accidente, por
lo que se ha aadido una batera de reserva. La
batera de reserva es una pequea batera de
Li-Po (de unos 130 mAh de capacidad), que normalmente alimenta pequeos aviones de interior.
La batera es muy barata y se puede conseguir
a travs de proveedores en Internet.
Normalmente utilizamos diodos de bloqueo para
seleccionar automticamente la fuente de alimen-
C3
10u
10V
1C
Li-ion/LiPo
120139 - 13
Figura 2.
Un posible circuito cargador
para la batera de LiPo/LiIon en el transmisor. Puede
alimentarse de manera
externa (6,515 VDC) o
a travs del puerto USB,
segn se seleccione con JP1.
Proyectos
+5V
+5V
K3
2
RXD
TXD
VCC
Figura 4.
El receptor del Localizador
de Modelos Perdidos utiliza
un viejo y fiable indicador
de barras grficas de LED
LM3914. El mdulo receptor
(RX) de 433 MHz (315 MHz)
va conectado sobre el
conector MOD1.
+5V
K1
IC1.F
1
IC1
12 11
10
IC1 = 74HC04
IC1.C
IC1.D
IC1.E
14
C1
TXD
RXD
IC1.B
13
100n
+5V
TTL-232R-5V
Figura 3.
Construir este circuito
inversor si utilizamos un
adaptador FTDI TTL-aRS-232 entre los terminales
TX/RX del transmisor
y, por ejemplo, un
microcontrolador.
K2
IC1.A
120139 - 14
+4V8
+4V8
K2
K1
+4V8
0
MOD1
Receiver
Module
R2
620R
R3
2N7000
D2
3
9
6
7
8
4
R4
V+
1k
T1
D1
100n
LED1
IC1 LED2
LED3
IN
LED4
DIV HI
LED5
REF OUT
LED6
LED7
LM3914
LED8
REF ADJ
LED9
DIV LO
LED10
MD SEL
1
18
17
16
15
14
13
12
11
10
D3
D4
D5
D6
D7
D8
D9
+4V8
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
C1
BZ1
V-
R1
Antenna
360R 2k7
D10
120139 - 12
Receptor
El receptor est basado en un mdulo complementario del transmisor. Sin embargo, hay que
poner un poco ms de cuidado en la seleccin
del receptor, para asegurar que ste suministra
las seales correctas a nuestro circuito.
Segn la Figura 4, la primera salida del mdulo
receptor viene del terminal DATA, 14. Los datos
pasan a travs de un FET, T1, de pequea seal y,
su salida, va al transductor piezoelctrico Bz1 (no
a un zumbador piezoelctrico). Lo que oiremos
de este transductor (con suerte!) son los tonos
y pausas generadas por el transmisor. En fun-
Lista de materiales
Transmisor
Resistencias
R1 = 10k 1%, SMD0805
R2 = 22k 1%, SMD0805
Semiconductores
IC1 = PICAXE-08M2, programado
T1,T2 = DTB123YK
Miscelneos
K1,K2,K5 = conector tipo pinheader de 3 terminales,
paso 2,54 mm.
K3 = conector tipo pinheader de 4 terminales, paso
2,54 mm (opcional, ver texto).
K4,BT1, conector tipo pinheader de 2 terminales,
paso 2,54 mm.
Mdulo transmisor (en K3), ASK, banda ISM 433MHz,
modelo autorizado, por ejemplo, Quasar Electronics
tipo QAM-TX1 (433 MHz), Farnell/Newark # 1304024.
Lectores USA, usad equivalente de 315MHz.
Batera LiPo, de 3,7V, 130mAh
Placa de circuito impreso ref.120139-1
Receptor
Resistencias
R1 = 1k
R2 = 620 1%
R3 = 360 1%
R4 = 2.7k
Condensadores
C1 = 100nF, paso 5 mm o 7,5 mm
Figura 5.
La placa del Transmisor
es de doble cara y utiliza
componentes SMD. La
placa del Receptor est
diseada en una sola
cara con componentes de
taladro pasante. La placa
TX se muestra al 150 %
de su tamao real.
Semiconductores
D1D10 = LED, naranja, 2,5x5mm rectangular, 20mA
T1 = 2N7000
IC1 = LM3914
Miscelneos
BZ1 = (no en la placa) transductor piezoelctrico, terminales flotantes, Farnell/Newark # 1193640
K1,K2,(BZ1) = conector tipo pinheader de 2 terminales, paso 2,54 mm
(MOD1) = conector tipo pinheader de 15 terminales,
SIL, rectos, paso 2,54 mm.
MOD1 = Receptor AM SuperHet, QAM-RX3 (433
MHz), RS Components # 742-4484. Lectores USA,
usad equivalente de 315 MHz.
Soporte para 3 4 pilas AA(A), ver texto.
Placa de circuito impreso ref.120139-2
Proyectos
Figura 6.
Placas del Cargador
LiPo (izquierda) y del TX
ensamblada (derecha). La
placa PICAXE y el mdulo
transmisor pueden ser
conectados sin cable,
simplemente doblando
y soldando los cuatro
terminales directamente
sobre K3.
Lista de materiales
Cargador LiPo (opcional)
Resistencias
R1 = 1.5k SMD 0805
Condensadores
C1 = 100nF SMD0805 X7R
C2,C3 = 10F 10V, SMD 0805, X7R
C4 = 10F 25V, SMD 1206, Y5V
Figura 7.
La placa del cargador es
un diseo de doble cara
para componentes de
montaje superficial.
Semiconductores
D1 = LED, rojo, SMD 0805
D2 = PMEG2010AEH, Farnell/Newark # 1510673
IC1 = MAX1811ESA+, Farnell/Newark # 1593327
IC2 = NCP1117ST50T3G, Farnell/Newark # 2112617
Miscelneos
K1 = mini USB hembra tipo B, SMD
K2,(BT2) = conector tipo pinheader de 2 terminales,
paso 2,54 mm
JP1,JP2,JP3 = conector tipo pinheader de 3 terminales, paso 2,54 mm, con puente
Placa de circuito impreso ref.120139-3
I
A
Pruebas
Por suerte no se requiere ninguna calibracin.
Dejaremos el transmisor apagado en este proceso. Encendemos el receptor y debemos or el
ruido blanco con los chisporroteos ocasionales.
El indicador LED debera mostrar el LED ms
bajo encendido.
Encendemos ahora el transmisor. Ahora deberamos or nuestros tonos de llamada y la barra
grfica debera moverse arriba y abajo, sincronizada con los tonos de la seal de llamada. La
barra grfica debera llegar al mximo de la escala
cuando el transmisor y el receptor estn a unos
3 m de distancia el uno del otro.
En funcionamiento
Hace falta un poco de prctica a fin de usar con
xito el Localizador de Modelos Perdidos. Al
principio lo mejor es trabajar con un amigo que
esconda el transmisor en un parque o jardn y
luego intentar encontrar el transmisor.
La antena es direccional y el extremo en punta
es el extremo con mayor sensibilidad. Al buscar
el transmisor, sostendremos la antena delante de
nosotros y la giraremos haciendo un crculo completo. Escucharemos intentando identificar nuestra seal de llamada para asegurarnos seguimos a nuestro transmisor. El grfico de barras
nos indicar hacia donde est la seal mxima.
Andaremos en la direccin de la seal mxima.
A = 30 mm
B = 124.4 mm
C = 138 mm
E = director #2, 307.9 mm*
F = director #1, 310.8 mm*
G = radiador, 2 x 163.5 mm*
H = reflector, 338 mm*
I = boom, 570 mm
* Hilo de 2,5 mm2/AWG 13
Figura 8.
Antena Yagi experimental
con la electrnica del
receptor sujeta en la parte
superior del boom de
madera, detrs del reflector.
Los elementos directores,
radiador y reflector
estn hechos con hilo de
instalacin elctrica (de
unos 2,5 mm2 / 13AWG) y
estn sujetos al brazo de
madera con abrazaderas
despus de centrarlos
cuidadosamente sobre el
brazo. Por razones de
seguridad, los terminales
radiales deben estar
cubiertos con un objeto
romo o con algo plastificado.
La ganancia es de,
aproximadamente, 7 dB.
Magazine
Konrad Zuse:
del Z1 al Z4, y ms all
Todo empez con ceros,
unos y lgebra
Z2: 16 bits a 10 Hz
Los problemas mecnicos del Z1 llevaron
a Zuse a realizar un experimento: en 1939
diseaba el Z2, utilizando varios cientos
de rels telefnicos (figura4). ste funcionaba a una frecuencia de reloj de unos
10Hz, y dispona de las cuatro operaciones
aritmticas bsicas con nmeros binarios
de coma fija. Contaba con una memoria
de 16 bits y pesaba alrededor de 300kg.
Se sabe que Zuse tena un amigo trabajando en la UFA (un gran estudio de cine
alemn), que le dio la idea de utilizar tiras
de film perforadas como medio de entrada.
La unidad era capaz de perforar directamente la tira de film (figura6). Lgicamente tambin dispona de un lector
adicional: utilizaba las guas del film
para alinear correctamente los agujeros que codificaban los datos de entrada
(figura7).
El Z3 original tambin fue destruido en la
guerra, pero en el Deutsches Museum de
Mnich (Museo Alemn de Ciencia y Tecnologa) se expone una rplica completamente funcional. La rplica fue fabricada
por la compaa ZuseKG (actualmente
desaparecida). Si echamos un vistazo a
su interior, podremos ver su impresionante cableado, el mecanismo rotativo
para generar las seales del reloj, y los
telerruptores, utilizados posteriormente
en los sistemas de marcacin telefnica
(figuras8, 9 y10). La mquina operaba
con palabras de 22bits, un exponente
de 7bits, una mantisa de 14bits y un
bit de signo. Contaba con una memoria de 64palabras basada en rels, y
los programas siempre se ejecutaban
en bucle. Podan introducirse nmeros
con un teclado (figura11), y los resultados se mostraban en un display utilizando pequeas bombillas (figura12).
Aparte de las cuatro operaciones aritmticas bsicas, el Z3 tambin contaba
con una funcin para races cuadradas.
Lenguaje de programacin y
desarrollos en la posguerra
No todo el mundo est al tanto de que Konrad Zuse ya se percat por aquel entonces de la necesidad de un lenguaje de
programacin de alto nivel. Entre 1945
y 1946 desarroll Plankalkl (sistema
formal de planificacin) pero no fue capaz
de publicar sus logros. Su trabajo fue un
anticipo de los lenguajes de programacin
posteriores como Fortran, ALGOL y COBOL.
En los aos siguientes a la guerra, el Z4
se vio envuelto en una odisea a travs
de Alemania, Suiza y Francia. IBM (entre
otros) estaba interesado en adquirir los
derechos de propiedad intelectual con
el objetivo de frenar cualquier desarrollo posterior de la mquina. En los aos
50 la mquina se encontraba en el ETH
(Instituto Tecnolgico Suizo) de Zurich,
donde se utilizaba para resolver problemas en la investigacin cientfica: en
1950 era el nico computador funcionando en la Europa continental. En 1960
10
Magazine
As es como piensa un computador como el Z3
Al final, toda operacin puede
reducirse a una suma o resta
de dos nmeros enteros.
Dos nmeros en coma flotante
se suman de la siguiente
manera. Primero se calcula la
diferencia entre exponentes;
posteriormente este valor
se utiliza para desplazar una
de las mantisas y alinear las
comas en binario; despus las
mantisas alineadas se suman.
K. Zuse (l) y H. Nixdorf
La resta es similar, con un paso
adicional en el cual se obtiene el complemento a dos de la segunda mantisa.
La multiplicacin se hace sumando los dos exponentes y posteriormente
multiplicando las mantisas mediante un mtodo de suma iterativa.
A su vez, la divisin es parecida a la multiplicacin: se restan los exponentes y
luego se dividen las mantisas segn una resta iterativa. Las races cuadradas se
calculan mediante un mtodo iterativo similar a la divisin.
A nivel alto, la unidad aritmtica consta de dos partes, una se encarga de los
clculos de los exponentes y la otra en las de las mantisas. Las instrucciones
implementadas utilizando un algoritmo iterativo necesitan un secuenciador para
controlar las distintas partes de la mquina: esto se corresponde hoy en da con
el uso del microcdigo en los procesadores modernos.
11
12
13
Crditos
Fotografas 1, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 15, 16 tomadas por el autor, con la
autorizacin del Museo Alemn de Ciencia
y Tecnologa de Mnich
Fotografa 14: wikipedia.de
Fotografa 3: Museo de Tecnologa, Berln
Fotografa 2: Profesor Horst Zuse
(130040)
14
15
16
Hexadoku
Hexadoku
Participa!
Por favor, envanos tu solucin (los nmeros de las casillas grises) por
correo electrnico a hexadoku@elektor.es Asunto: hexadoku 06-2013
(por favor, cpialo exactamente). Incluye en el correo tu nombre
completo y tu direccin. Envalo antes del 1 de julio de 2013.
9 C 2
4 B D E
6 A 0
8 C 6
9 B C
E B D 3
1 A 9
7 D 1
8 C 0
9 B 4 A D F
7 B 6
4 A
8 D 9
2 B 0
6 A C 1
C 0
4 D 2 A B 9
2 A 4
9 C D 3
7 B E
3 C D 2
7
1 A 5
0 D B C E
B 4
1 C A D
D 6
A 2
9 C 1
8 B 3
0 C 1
4 B A D 6
E B 7
6 C A 2
5 C 6 D E
8 A 2
7 D 9
0 B 2
4 D 1
A 2
7 B
4 C B 7 D 0
C A
3
8
Los empleados de Elektor International Media, sus empresas subsidiarias y/o editoriales asociadas no podrn participar en este concurso.
Store
5 DE DESCUENTO Y
ENVO GRATUITO
www.elektor.es/mayo
Open Source
Electronics on Linux
LabWorX 2
Mastering Surface
Mount Technology
Ms de 75.000 componentes
2
CD Elektors Components
Database 7
DVD Feedback in
Audio Amplifiers
a corta distancia, basndose en la tecnologa de los semiconductores. Este libro enlaza ambas tcnicas. Catch
7 Electric Guitar
Este libro (en ingls) muestra, de una manera sencilla y bien fundamentada, lo que, hasta ahora, se han
considerado como secretos del fabricante. El examen
explora las profundidades de la guitarra, incluyendo
las pastillas y el entorno elctrico, de forma que la
electrnica de la guitarra ya no es considerada como
un alto secreto. Con unas pocas intervenciones hbiles, muchos instrumentos pueden hacerse ms verstiles y que suenen mucho mejor de forma asequible
en la mayora de los casos. El autor, Helmuth Lemme,
es un profesional experimentado de la electrnica y
msico activo. Realmente ha probado en la prctica
todo lo que se describe aqu.
cionar una visin y comprensin de los temas involucrados. El presentador, Jan Didden, proporciona una
visin clara de los beneficios que pueden obtenerse
de la realimentacin y su hermana, la correccin de
errores; pero tambin de sus limitaciones y desventajas. Recomendado para diseadores y buenos aficionados al audio!
ISBN 978-907920-16-5 29,95
Simplificando Linux
Embebido
integrada, y curiosamente, el contenido de este libro tecnolgicamente puntero trata sobre algo en cierta medida primitivo: la magia de los globos aerostticos. El
libro incluye numerosos chips NFC que permiten conectarlo a Internet, basta con tocar en los tags con nuestro
smartphone o tablet compatibles con NFC.
128 pginas ISBN 978-9-07545-861-9 45,00
Medidor de radiacin
mejorado
de usar Linux como base de un proyecto para microcontrolador, pero la aparente complejidad del sistema
Store
11
12
12
10
13
10 Android Apps
Este libro (en ingls) es una introduccin a la
programacin de apps para dispositivos Android. El
funcionamiento del sistema Android se explica paso
a paso, con el objetivo de mostrar como se pueden
programar aplicaciones personales. Se presenta una
amplia variedad de aplicaciones basadas en buen
nmero de ejemplos prcticos, desde programas
de matemtica simple, lectura de sensores y datos
GPS, hasta programacin avanzada para aplicaciones
de Internet. Adems de escribir aplicaciones en el
lenguaje de programacin Java, este libro explica
tambin cmo se pueden programar aplicaciones
empleando Javascript o scripts PHP. Cuando se
trata de personalizar tu smartphone no deberas
sentirte limitado por las aplicaciones que haya
en la plataforma, ya que crear tus propias apps y
programar dispositivos Android es ms fcil de lo que
piensas.
14
Curso Elemental
13
Elementary Course
BASCOM-AVR
a las FPGA?
Elektor!
ejemplos prcticos mostramos cmo, utilizando BASCOM, puedes poner en marcha rpidamente tus ideas
Incluye gratuitamente
el compilador mikroC en CD-ROM
12
Controller Area
Network Projects
14
y converti-dores A/D.
15
17
18
16
Completa tu coleccin
a resolucin de impresora.
18
Este DVD-ROM contiene la coleccin completa de la revista de electrnica Elek tor editada en Espaa entre
los aos 1998-2007. Las ediciones de Elektor, que as-
Linear Audio 4
10 interesantes lecciones
17
PIC Microcontroller
Programming
Magazine
Prximo mes en Elektor
Los ttulos de los artculos los contenidos de la revista estn sujetos a cambios; por favor comprubalo en www.elektor-magazine.com.
Hazte miembro
GRATIS del
Elektor.POST
Lo ltimo en electrnica y
tecnologas de la informacin
Videos, trucos, consejos, ofertas y ms
Proyecto exclusivo cada dos semanas,
slo para miembros GREEN
Elektor tras la escena
Cada viernes en tu bandeja de entrada
OFERTA ESPECIAL
Precio normal: 92
50
50
powered by Eurocircuits
PCBs
Prototipos
Multicapa
Pequeas series
Calidad Profesional
Servicio de Calidad
Pedido Seguro
Entrega a
partir de
2 das
laborables