Recurso

Propaganda
magazine
www.elektor-magazine.pt
Julho - Agosto 2013
A Melhor Revista de Electrónica Prática do Mundo
Excitador
para FM
banda
larga
Controlador
para luz
ambiente
Elektorcardiograma
Android
(1)
Fechadura
com
abertura
por padrões
Conversor
elevador
de tensão
PWM
Carregador
para
telemóvel
com células
de NiMH
PRODUTOS EM OFERTA
MARCAS DE REFERÊNCIA
SEMICONDUTORES
OPTOELECTRÓNICA E FONTES DE LUZ
ELEMENTOS PASSIVOS
CABOS E CONECTORES
FUSÍVEIS E MEIOS DE PROTECÇÃO
COMUTADORES E LUZES DE CONTROLO
SISTEMAS ÁUDIO
RELÉS E CONTADORES
TRANSFORMADORES E NÚCLEOS
VENTILADORES E SISTEMAS DE ARREFECIMENTO
FONTES DE ALIMENTAÇÃO
CABOS E FIOS ELÉCTRICOS
ELEMENTOS MECÂNICOS
CHASSIS
AUTOMAÇÃO
SISTEMAS DE BANCADA
CAR AUDIO
CONVIDAMO-LO A FAZER A SUA COMPRA ONLINE
•Comunidade
Edição 3339, Julho - Agosto 2013
Depósito Legal: nº 7313/84
ISSN 0870-1407
R.C. Social nº 110 523
www.elektor.com.pt
www.elektor-magazine.com/pt
Editor:
Elektor International Media bv
Holanda
Sede:
Elektor International Media b.v.
P.O. Box 11 NL-6114-ZG Susteren
The Netherlands.
Telefone: +31 46 4389444
Fax: +31 46 4370161
www.elektor.com | www.elektor.org
A Elektor publica-se 10 vezes ao ano com edição dupla
em Janeiro/Fevereiro e Julho/Agosto.
Assinaturas:
Internet: www.elektor.com.pt
Ir à secção Assine Já!
Email: [email protected]
Contacto geral da Elektor Portugal:
[email protected]
Publicidade:
Elektor International Media
Email: [email protected]
João Martins: [email protected]
Direitos de autor
Os circuitos descritos nesta revista são exclusivamente para
utilização pessoal. Os direitos de autor de todos os gráficos,
fotografias, desenhos de circuitos impressos, circuitos integrados programados, discos, CD-ROM, software e os textos dos
artigos publicados nos nossos livros e revistas (que não sejam
propriedade de terceiros) estão registados pela Elektor International Media bv e não podem ser reproduzidos ou difundidos de
nenhuma forma nem por nenhum meio, incluindo fotocópias,
digitalizações ou registos de imagem, parcial ou totalmente,
sem a prévia autorização escrita do Editor. Também será preciso dispor da referida autorização escrita antes de armazenar
qualquer parte desta publicação em sistemas de armazenamento de qualquer natureza. Os circuitos, dispositivos, componentes, etc., descritos nesta revista podem estar protegidos
por patentes. O Editor não aceita responsabilidade alguma pela
ausência de identificação da(s) referida(s) patente(s) ou protecções intelectuais de outro tipo. A apresentação de desenhos
ou artigos implica que o Editor está autorizado a modificar os
textos e desenhos para apresentação na revista, assim como
a utilizar esses conteúdos noutras publicações e actividades da
Elektor International Media. O Editor não garante a devolução
de qualquer material que lhe seja enviado.
Ressalva
Os preços e descrições dos produtos relacionados com a publicação estão sujeitos a modificações. Excluem-se erros e omissões. As opiniões expressas nos diferentes artigos, assim como
o conteúdo dos mesmos, são responsabilidade exclusiva dos
seus autores e não reflectem necessária as opiniões do Editor.
O conteúdo e mensagens publicitárias são da responsabilidade
exclusiva dos respectivos anunciantes.
Os preços e descrições dos elementos relacionados com a
publicação estão sujeitos a alteração sem prévio aviso. Estão
excluídos erros ou omissões.
© Elektor International Media b.v. 2013
A revista Elektor é publicada originalmente também na
Holanda, Alemanha, França, Inglaterra, Estados Unidos,
Espanha e Brasil nos respectivos idiomas.
Editorial
Depois de um intervalo forçado (frustrante para todos e totalmente inesperado,
nós sabemos...), a Elektor Portugal consegue estar de regresso embora de forma
diferente.
Tal como temos vindo a comunicar através da nossa nova página no Facebook
e por todas as vias que nos foram possíveis (muitas centenas de emails respondidos...), as circunstâncias económicas extremamente difíceis que se vivem em
Portugal levaram a anterior editora que tinha a licença da Elektor para Portugal a
interromper a sua publicação – que já vinha desde meados dos anos oitenta.
A Elektor International Media, com sede na Holanda, tomou então a decisão de
convidar alguns dos membros da equipa que em Portugal produzia a revista para
darem continuidade ao projecto nos mesmos moldes que já havia implementado
(com sucesso) em Espanha, Itália e Suécia.
Assim, tal como nesses países, a Elektor deixa de ser editada em versão impressa
em papel e assume-se completamente como uma publicação em formato digital.
Mas em compensação, em vez de termos que seleccionar alguns dos artigos das
edições originais em inglês, francês, holandês ou alemão – como sempre aconteceu – agora podemos publicar tudo, exactamente tudo a que temos acesso, traduzido para Português de Portugal.
E para além do novo design das páginas, do novo logo, das novas secções, a nova
Elektor oferece muito mais, tal como explicamos em detalhe nas páginas desta
edição.
Claro que não queríamos defraudar ninguém e decidimos criar uma pequena
transição onde vamos começar por completar os artigos de séries que vínhamos
publicando, porque sabemos como pode ser frustrante não ver a conclusão de
um artigo, não ter acesso à ultima parte de um projecto... ou saber o fim de uma
história.
Para nós, esperamos que este seja apenas o princípio de uma nova história,
começando pelo facto de estarmos agora mais ligados ao “castelo mágico” onde a
Elektor é produzida por uma equipa talentosa, da qual nos orgulhamos agora de
fazer parte.
Em formato digital, adaptando-nos às mudanças mas aproveitando o melhor das
mais recentes tecnologias.
Prometemos continuar a trabalhar para os nossos leitores com a mesma intensidade e entusiasmo de sempre.
João Martins,
Director Editorial para Países de Língua Portuguesa e Espanhola
A Equipa Elektor
Direcção Editorial:
João Martins ([email protected])
Editor Portugal/Espanha:
Eduardo Corral ([email protected])
Responsável Técnico
da Edição Portuguesa:
Carlos Reis
Redacção Internacional: Harry Baggen, Thijs Beckers, Jan Buiting, Wisse
Hettinga, Denis Meyer, Jens Nickel, Clemens Valens
Equipa de desenho:
Thijs Beckers, Ton Giesberts, Luc Lemmens,
Raymond Vermeulen, Jan Visser
Design gráfico e DTP: Giel Dols, Mart Schroijen
Director online: Daniëlle Mertens
Director de marca: Wisse Hettinga
Director general: Don Akkermans
www.elektor-magazine.pt | Julho - Agosto 2013 | 3
•Índice
No. 339
magazine
Julho - Agosto 2013
♥
Hardware & Software
12 Controlador inteligente para
ventoinha de computador
Curso
17 Placa de controlo USB
46 Dominar as FPGAs (3)
64 Curso Arduíno (3b)
78 Circuito para escuta de
comunicações aeronáuticas
Montagem
52 Fechadura com abertura
por padrões
Domótica
29 Controlador para luz ambiente
Teste & Medida
41 Amplificador
de transcondutância
86 Conversor elevador
de tensão PWM
90 Carregador para telemóvel
com células de NiMH
Passatempo
& Modelismo
Rádio & TV
34 Excitador para FM banda larga
Alimentação
& Carregadores
94 Amplificador/atenuador
para medida universal
20 Elektorcardi ♥ grama
Android (1)
70 Sensor de humidade
71 Antena para banda
de aviação
Doméstico
72 7-uP: Relógio com alarme/
/interruptor temporal
4 | Julho - Agosto 2013 | www.elektor-magazine.pt
Ideias para projecto
97
elektor
labs
Portugal
João Martins
+31 46 4389444
[email protected]
USA
Hugo Van haecke
+1 860-875-2199
[email protected]
United Kingdom
Wisse Hettinga
+31 46 4389428
[email protected]
Germany
Ferdinand te Walvaart
+49 241 88 909-17
[email protected]
France
Denis Meyer
+31 46 4389435
[email protected]
Netherlands
Harry Baggen
+31 46 4389429
[email protected]
Spain
Eduardo Corral
+34 91 101 93 95
[email protected]
Italy
Maurizio del Corso
+39 2.66504755
[email protected]
Sweden
As Nossas Redes
Wisse Hettinga
+31 46 4389428
[email protected]
Brazil
João Martins
+31 46 4389444
[email protected]
India
Sunil D. Malekar
+91 9833168815
[email protected]
Russia
Conectamos-te com
Nataliya Melnikova
+7 (965) 395 33 36
[email protected]
Turkey
Zeynep Köksal
+90 532 277 48 26
[email protected]
South Africa
Johan Dijk
+31 6 1589 4245
[email protected]
China
Cees Baay
+86 21 6445 2811
[email protected]
www.elektor-magazine.pt | Julho - Agosto 2013 | 5
• Indústria
Novo sensor de imagem 3D da Infineon para reconhecimento gestual
Por: João Martins
A Infineon Technologies acaba de lançar uma
nova família de sensores de imagem com capacidade de detecção tridimensional, permitindo
assim obter reconhecimento gestual para aplicações de interfaces com computadores, entre
outras aplicações possíveis. Este sensor foi
desenvolvido em colaboração com a empresa
alemã pmdtechnologies e os novos chips são
os primeiros a combinar uma matriz de pixels
com sensibilidade de imagem 3D e a conversão
digital e funções de controlo necessárias para
desenvolver sistemas extremamente compactos
e precisos para aplicações seja em computadores, seja em dispositivos móveis e aplicações
genéricas na electrónica de consumo.
Os novos chips incluem um conjunto de pixels
fotossensíveis, associados a uma sofisticada
lógica de controlo, interfaces digitais com conversores A/D e saídas digitais. O chip IRS1010C
tem uma resolução de 160x120
pixels, enquanto o modelo IRS1020C
tem uma resolução de 352x288 pixels.
Ambos são dinamicamente configuráveis
através de um interface I²C, permitindo adaptação em tempo real a alterações ambientais
ou operacionais. Os chips são fornecidos em
versão para integração directa com lentes de
câmara e podem ser complementados com
uma fonte de iluminação por infra-vermelhos
no próprio módulo de câmara.
Segundo a Infineon detalha, esta nova geração de sensores de imagem 3D, baseada em
CMOS, permite simplificar e melhorar a forma
como as pessoas interagem com máquinas,
permitindo implementar seguimento rápido e
preciso de movimentos dos dedos e da mão,
de forma a complementar as actuais tecnologias de ecrãs tácteis e os tradicionais ratos e
objectos apontadores.
Além disso, as câmaras 3D baseadas nestes
sensores podem ser miniaturizadas de forma
a viabilizar a integração em novas aplicações,
reduzindo custo e dimensão dos módulos de
câmaras. Segundo o fabricante, o desenho
de referência da Infineon baseado neste chip
é a mais pequena câmara com capacidade
de detecção 3D actualmente disponível. A
empresa pmdtechnologies forneceu a tecnologia Time-of-Flight (ToF) em que é especialista,
implementando uma matriz de pixels baseada neste princípio, combinada com a tecnologia patenteada de supressão de iluminação
de fundo ou SBI (Suppression of Background
Illumination), permitindo assim melhorar a
gama dinâmica do sensor para que se torne
possível utilizá-lo em interiores e exteriores.
Estes novos sensores da Infineon já estão disponíveis para amostras de desenvolvimento e
deverão estar disponíveis para produção em
volume em meados de 2014. O CamBoard pico
é o projecto de referência para câmaras 3D,
desenhado pela pmdtechnologies e que consiste numa câmara de resolução QQVGA, alimentada por USB, baseada no sensor de imagem 3D IRS1010C. Este módulo de câmara
mede apenas 85 x 17 x 8 mm³ e demonstra
a latência extremamente reduzida e a precisão que é possível atingir com estes sensores.
www.infineon.com/3d-imaging
www.pmdtec.com
PIC32MX a 32-bit são a nova aposta da Microchip
A Microchip anunciou o lançamento de
uma nova família de microcontroladores
PIC32MX3/4 (MCUs) em configurações de
Flash/Ram 64/16 KB, 256/64 KB e 512/128 KB.
Estes novos MCUs são complementados por
completas ferramentas e software da Microchip para projectos na área da conectividade,
gráficos, áudio digital e aplicações genéricas
de controlo embebido.
Estes MCUs vêm expandir a popular série de
microcontroladores 32-bit de alto desempenho
PIC32MX3/4. Oferecem agora maiores opções
de memória RAM e maior integração de periféricos a um custo mais baixo. Os PIC32MX3/4
têm 28 conversores ADC a 10-bit e 5 UARTS, um
desempenho de 105 DMIPS, periféricos série,
suporte gráfico para ecrãs, superfícies tácteis
capacitivas, digital áudio e conectividade.
Em conjunto com as soluções completas da
Microchip, a nova família PIC32 MX3/4 permite
criar novas aplicações de electrónica de con-
sumo, electrodomésticos, instrumentação médica e industrial acrescentando capacidades de áudio, gráficas e capacitivas de alta qualidade, a
baixo custo, para além de USB, com
um desenvolvimento mais rápido, de
menor custo e com riscos reduzidos.
A família PIC32MX3/4 é suportada
por uma gama completa de ferramentas e software. Estes MCUs são
também suportados por um conjunto completo de stacks para diferentes protocolos da Microchip, incluindo TCP/
IP, USB Device e Host, Bluetooth e Wi-Fi. Para
aplicações de áudio digital, a Microchip fornece software para tarefas como a conversão
de frequência de amostragem (SRC), codecs de
áudio incluindo MP3 e AAC, assim como software para ligação a smartphones e outros dispositivos electrónicos pessoais.
A família PIC32MX3/4 é suportada pelo PIC32
6 | Julho - Agosto 2013 | www.elektor-magazine.pt
USB Starter Kit III e pelo PIM de 100-pinos
PIC32MX450 USB para o sistema de desenvolvimento modular Explorer 16 da Microchip.
Estes MCUs ficam todos disponíveis em encapsulamentos QFN de 64-pinos com 9x9x0.9 mm;
TQFP de 64-pinos 10x10x1 mm; TQFP de 100pinos com 12x12x1 mm/14x14x1 mm; e VTLA
de 124-pinos com 9x9x0.9 mm.
www.microchip.com/get/5CB7
notícias
Microchip Expande Família chipKIT
A Microchip expandiu a sua plataforma chipKIT com novas ferramentas da Digilent, Fair Use Building and Research (FUBAR) Labs
e Schmalz Haus. As novas ferramentas baseiam-se nos microcontroladores PIC32 a 32-bit da Microchip, em encapsulamentos excelentes para protótipos, em formato SOIC ou SPDIP com reduzido
número de pinos, anteriormente mais comuns nos MCUs a 8-bit.
O objectivo consiste em permitir que todos os utilizadores possam
beneficiar do desempenho elevado, maior capacidade de memória
e periféricos integrados dos MCUs PIC32, ao mesmo tempo permitindo continuar a usar equipamentos básicos de prototipagem
que mesmo muitos entusiastas têm nas suas bancadas em casa.
A placa chipKIT DP32 da Digilent tem componentes básicos de
entradas e saídas e interface, expandindo o ecossistema chipKIT a 32-bit
existente, ao mesmo tempo que
passa a oferecer uma plataforma
de desenvolvimento de baixo
custo. Para os utilizadores que
desejam construir aplicações
sem uma placa de desenvolvimento, a Microchip oferece igualmente
estes MCUs PIC32 em encapsulamentos PDIP adequados
a prototipagem, com o boot loader chipKIT USB pré-programado.
Em particular, destaca-se o PIC32MX250F128B em encapsulamento
de 28-pinos que é um microcontrolador 32-bit com uma frequência
de 40 MHz, 128 KB de memória flash e 32 KB de RAM, tendo já periféricos integrados para aplicações de controlo avançado, interfaces
tácteis, gráficos, processamento áudio e USB.
Estas novas placas chipKIT da Microchip são compatíveis Arduino
e a versão chipKIT Fubarino Mini que resulta de uma parceria
com a FUBAR Labs e Schmalz Haus, oferece uma excelente opção
para desenvolvimentos em Arduino com base nos MCUs PIC32
da Microchip, tendo um custo de apenas 19,95 dólares na loja
microchipDIRECT.
A placa chipKIT DP32 da Digilent custa 23,99 dólares cada,
enquanto os MCUs PIC32MX250F128B a 32-bit pré-programados
com o chipKIT USB Bootloader custam apenas 5,95 dólares cada,
sendo vendidos apenas em unidades.
http://www.microchip.com/get/4NG7
Circuitos Impressos
Nova placa de desenvolvimento
BeagleBone Black já disponível
A RS Components acaba
de lançar a nova placa de
desenvolvimento BeagleBone Black, uma solução de
baixo custo desta popular
família que vem permitir
a criação de protótipos a
custos reduzidos com base
em software open source.
A BeagleBone Black é a
mais recente versão desta
plataforma criada pela BeagleBoard.org, uma placa
com a dimensão de um
simples cartão de crédito que utiliza sistemas operativos de base Linux,
permite o acesso à Internet e é compatível com Android 4.0 e Ubuntu.
A BeagleBone Black é uma extensão da BeagleBoard baseada no processador ARM Cortex-A8 a 32 bit, já com acelerador co-processador matemático
NEON e aceleração gráfica 3D e Sitara AM3358, a 1GHz, da Texas Instruments. Custando metade do preço da BeagleBone original e vindo já com
todos os acessórios necessários, a BeagleBone Black permite criar aplicações sofisticadas a um preço substancialmente mais competitivo do que
as plataformas de desenvolvimento semelhantes disponíveis no mercado.
A BeagleBone Black tem já uma saída HDMI integrada, memória DDR3
de 512MB; flash interna de 2GB (eMMC) e interfaces série integrados.
Tanto combinada com outros computadores como funcionando em modo
independente, a BeagleBone Black oferece o acesso aos interfaces padrão
na indústria e a todo um conjunto de ferramentas e software de desenvolvimento, tendo a capacidade de se poder conectar até quatro placas
de expansão através dos seus conectores série. A maioria das expansões
desenhadas para a BeagleBone original podem ser utilizadas também na
BeagleBone Black.
A BeagleBone Black está disponível através da rsportugal.com com
entrega em 24/48 horas.
www.beagleboard.org
www.rs-components.com
www.designspark.com
• Indústria
Linkbot: O robot modular para toda a gente
Por: Tessel Renzenbrink
A plataforma robótica modular Linkbot foi
desenhada para ser simples de utilizar por
qualquer pessoa, podendo ser explorada por
crianças ou entusiastas da robótica mas sendo
ao mesmo tempo suficientemente completa
para desafiar a criatividade mesmo de técnicos com maiores conhecimentos e que desejem
criar sistemas robóticos complexos.
Segundo explica Graham Ryland, o criador do
Linkbot, existem dois tipos de sistemas robóticos DYI (faz tu mesmo), começando por aqueles que são simples de entender mas têm capacidades limitadas e aqueles que são versáteis
mas são difíceis de dominar. O objectivo do
projecto Linkbot partiu assim da ideia de ligar
os dois extremos.
O Linkbot começou por ser uma criação do professor de engenharia Harry Cheng, em colaboração com Graham Ryland, seu anterior aluno,
entretanto graduado. Juntos, desenvolveram
a plataforma na Universidade Davis, na California. Em 2010 decidiram fundar a empresa
Barobo para comercializar o robot que tinham
criado e que, após concluída a etapa dos primeiros protótipos, entrou numa campanha de
financiamento Kickstarter com o objectivo de
reunir os 40.000 dólares que necessitam para
iniciar a produção em volume.
Cada robot Linkbot tem três superfícies de
montagem que permite ligar módulos ou
acessórios, tal como rodas ou garras. Estas
superfícies têm um sistema de encaixe rápido
(snap-on) para criar sistemas simples de forma
rápida, sendo também possível utilizar parafusos normais para interligar os nossos próprios
módulos e periféricos adicionais.
O conceito começa a ganhar vida assim que
juntamos dois módulos ou mais. Podemos juntar múltiplos módulos para criar um sistema
grande ou podemos utilizar a capacidade de
comunicação em protocolo ZigBee, para que
os módulos comuniquem entre si sem fios.
Usando um módulo para controlar remotamente os restantes, torna-se possível ir dar
um passeio acompanhado por um autêntico
exército de robots.
Aquilo que torna o Linkbot suficientemente
simples para que até as crianças possam
brincar é a aplicação PoseTeach. As crianças
podem manualmente brincar com o robot,
criando uma série de posições e movimentos
que podem ser gravadas, registando-as passo
a passo. Dessa forma, criam um comportamento robotizado de forma manual, em vez
de o estarem a fazer num ecrã de computador.
A tecnologia BumpConnect é outra das inovações, permitindo associar dois módulos entre
si, sem fios, simplesmente fazendo com que
um choque com outro.
Para os utilizadores que se sentirem preparados para aprofundar as suas experiências
de robótica, a empresa criou um software de
código fonte aberto, denominado RoboLink.
Por exemplo, os comportamentos “gravados” através de PoseTeach podem ser importados para o RoboLink, onde se convertem
em código (Python ou C). Podemos copiar o
código para um editor e fazer o que quisermos. Outras possibilidades do software consistem em controlar os parâmetros de velocidade
dos motores, potência, cores dos LEDs integrados e programar os sensores integrados para
monitorização.
Para utilizadores avançados, existe a opção
de usar o interface I2C para ligar dispositivos
externos, tal como sensores, ou a placa Linkbot
USB e outras placas de entradas e saídas. O
microcontrolador Atmel AVR usado nesta plataforma é compatível Arduino e vem com um
bootloader que torna possível reescrever o firmware existente.
A Barobo mantém um website para toda a
comunidade interessada no Linkbot, onde os
utilizadores podem partilhar modelos de acessórios e código. Os acessórios desenhados pela
Barabo estão também disponíveis em ficheiros
para impressão 3D, para quem desejar.
A campanha de financiamento Kickstarter está
quase a atingir os objectivos a que os criadores
se propuseram. É possível fazer contribuições
desde 10 dólares, mas, quem contribuir com
139 dólares, recebe um módulo Linkbot e, por
299 dólares, recebemos dois.
www.barobo.com
Ganha uma placa PICDEM PIC18 Explorer Board da Microchip!
A Elektor Portugal oferece aos seus leitores a possibilidade de continuarem a ganhar fantásticas soluções da Microchip. Este mês, os leitores da Elektor podem habilitar-se a ganhar uma placa PICDEM
PIC18 Explorer Board (DM183032).
Esta placa de desenvolvimento de baixo custo é a principal solução para avaliar aplicações com os
microcontroladores PIC18 MCU da Microchip. A PICDEM PIC18 Explorer vem já com um MCU PIC18F8722
que é o topo de gama da família PIC18 a 5V, respondendo a todo o tipo de aplicações genéricas.
A placa vem também com um módulo plug-in (PIM) com processador PIC18F87J11 que é a referência
da gama PIC18 J-series de MCUs a 3V, respondendo às aplicações mais sensíveis ao custo. Com uma
única placa de desenvolvimento, é assim possível suportar dezenas de famílias de microcontroladores
PIC18 usando os vários processadores em módulos plug-in (PIMs). As placas secundárias PICtail permitem também associar múltiplos acessórios à placa PIC18 Explorer, criando assim um ambiente de
desenvolvimento bastante completo e flexível. Esta placa é o complemento ideal para o MPLAB PICkit 3 ou para o depurador e programador
ICD 3, oferecendo assim uma solução total para desenvolvimento com dispositivos PIC18 da Microchip.
Para a possibilidade de ganhar esta solução PICDEM PIC18 Explorer Board, basta visitar o site http://www.microchip-comps.com/
elektor-pic18 e completar o formulário de preenchimento online.
8 | Julho - Agosto 2013 | www.elektor-magazine.pt
notícias
Intel confirma nova geração Thunderbolt 2
A Intel confirmou recentemente que a sua nova
tecnologia Thunderbolt a 20Gbps, anunciada originalmente em Abril de 2013, irá surgir no mercado com a designação oficial de Thunderbolt 2.
Estes novos interfaces retrocompatíveis com
todos os sistemas Thunderbolt da primeira
geração e usando o mesmo conector, irão surgir no mercado em simultâneo com a quarta
geração de processadores Intel Core de 22
nanómetros, lançada oficialmente em Junho.
Depois do lançamento da tecnologia por parte
da Apple e Intel em 2011, a indústria foi literalmente “virada do avesso” pelo aparecimento
deste novo interface que combina as características de um adaptador gráfico DisplayPort com
as de um barramento PCI Express. Nesse ano
assistimos ao lançamento dos primeiros Mac
com Thunderbolt e ao primeiro ecrã com esse
interface, também por parte da Apple. Em 2012,
foi uma verdadeira “festa” com o lançamento de
produtos de armazenamento profissionais por
parte de mais 10 fabricantes e com o aparecimento dos primeiros PCs com Thunderbolt.
Ainda em 2012, surgiram os primeiros dispositivos Thunderbolt já com suporte Windows.
Este ano, apesar da Apple ter estado extremamente tranquila em termos de novos lançamentos, enquanto se espera a confirmação do
lançamento do prometido novo Mac Pro e a
renovação dos portáteis MacBook com ecrãs
Retina, a verdade é que o Thunderbolt chegou
finalmente ao mercado global, multiplicando-se
as propostas de computadores de periféricos já
baseados neste interface, sobre o qual a Intel
tem vindo a fazer também uma forte aposta.
Em 2012 tínhamos também assistido ao anúncio de que existiria uma interessante evolução no lado da cablagem, com a introdução de
novos conectores contendo transceptores ópticos, permitindo assim ter ligações a percorrer
distâncias de 100 metros. Esta proposta, feita
pela empresa Gorilla Glass, permite passar a
ter cabos ópticos Thunderbolt, assim como
USB 3.0, para percorrer distâncias superiores às dos cabos de cobre. Não existem vantagens em termos de velocidade mas como a
atenuação é inferior no cabo óptico, a Corning
demonstrou rolos de cabos de 100 metros a
funcionar, entretanto já disponíveis comercialmente. E estes cabos podem ser encadeados
livremente até seis dispositivos, tal como qualquer ligação Thunderbolt.
Por: João Martins
A Intel confirma o lançamento da segunda geração Thunderbolt a 20Gbps, juntamente com as
capacidades da sua quarta geração de processadores Intel Core atingindo velocidades de transferência
de 1240 MB por segundo
Nova geração Thunderbolt a 20Gbps
Com a nova tecnologia Intel “Falcon Ridge”
(nome de código original), não será apenas a
Apple – que tem já milhões de Macs no mercado com ligações Thunderbolt – a beneficiar,
mas também muitos fabricantes de PC/Windows como a Asus, Lenovo, HP, Acer e NEC e
fabricantes de motherboards como a Asus,
Intel, Gigabyte e MSI, todos com suporte
Thunderbolt integrado. Ao todo, a tecnologia
da Intel foi licenciada por mais de 200 fabricantes em todo o mundo, existem já mais de
75 produtos certificados, incluindo cabos de
preço mais acessível; e a Intel revelou que a
velocidade de lançamento de novos produtos
só não foi maior porque a indústria estava à
espera de uma nova implementação em chip
que resultasse mais económica.
Foi isso mesmo que a Intel confirmou agora,
explicando que a nova geração Thunderbolt 2,
irá ser capaz de ampliar a cadência de dados
para 20Gbps.
Enquanto a actual geração utiliza uma arquitectura de 10Gbps bidireccional, em duplo
canal de transmissão, a nova implementação
do chip “Falcon Ridge” permite quatro canais,
ou seja 20 Gbps bidireccional, mantendo a
possibilidade de alimentar dispositivos até 10
watts e a compatibilidade total com a actual
geração de dispositivos Thunderbolt – embora
todos estes equipamentos existentes mantenham a velocidade de 10Gbps inalterada.
Com esta nova geração, a Intel irá lançar já
brevemente para o mercado (quarto trimestre de 2013) os novos chips controladores
“Redwood Ridge” em versões de 4 canais e 2
portos e 2 canais e 1 porto, juntamente com
melhoramentos ao chip “Cactus Ridge” já com
suporte DisplayPort 1.2 e custos de implementação significativamente reduzidos, os quais
irão acompanhar o lançamento da 4ª geração de processadores Intel Core, prevista para
breve. Futuramente, a Intel lançará o chip “Port
Ridge” que tem um encapsulamento com uma
dimensão de aproximadamente 25% da área
do Cactus Ridge, para implementações com um
único porto.
Uma evolução que permitirá que todos os
computadores Mac e PC a partir de 2014 possam suportar transferências e processamento
de vídeo 4K em tempo real sem qualquer
dificuldade.
Para a Apple, esta evolução do Thunderbolt
para 20Gbps irá significar provavelmente a
capacidade de passarmos a ter ecrãs “Retina”
a 4K em todos os iMac e MacBook Pro já em
2014. Aliás, a Panasonic já tem um novo tablet
de 20 polegadas com ecrã 4K, que é na verdade um verdadeiro PC com Windows 8 contido
num ecrã extremamente fino.
É importante também deixar claro que a tecnologia Thunderbolt usada nos computadores
não irá afectar nem ser afectada pela utilização
em paralelo de conectores USB 3.0 ou mesmo
HDMI, tal como a Apple tem demonstrado.
Serão usados para coisas diferentes.
A questão, no âmbito das infra-estruturas de
rede, é que os sistemas baseados em Thunderbolt continuarão tipicamente a potenciar
“ilhas”, enquanto as redes Ethernet – cuja tecnologia já se prepara para passar dos 10 Gbps
para 40 e mesmo 100 Gbps daqui a alguns
anos – serão cada vez mais utilizadas para
potenciar todos os processos de trabalho em
sistemas empresariais.
www.intel.com
www.elektor-magazine.pt | Julho - Agosto 2013 | 9
A Elektor está preparada para o futuro e continua a preparar uma série de novidades para
o seu rejuvenescimento. Os nossos sólidos alicerces vão permitir manter o nível de qualidade
e a reputação que a equipa alcançou ao longo dos anos por tudo aquilo que tem produzido.
Os nossos leitores, visitantes do site e clientes podem continuar a contar com o serviço,
a confiança e a experiência. A Elektor mantém a sua posição como um dos portais líderes,
plataformas e fóruns para técnicos de electrónica de todo o mundo. Os meios para chegar de formas
ainda mais inovadoras aos nossos leitores, assim como a acessibilidade dos nossos serviços, estão
assim a ser constantemente renovados para atender às suas actuais e futuras necessidades.
Pela Equipa Editorial da Elektor
Actualmente a Elektor é muito mais do que apenas as páginas impressas da
revista com que tudo começou. Ainda que tenha sido pelo correr da tinta
e pela impressão que começámos, muitos dos seus leitores consideram-se, acima de tudo, como membros da comunidade Elektor. Alguns estão
connosco há mais de 25 anos, outros apenas há alguns meses.
Muitos dos nossos leitores compravam a revista Elektor ocasionalmente nas
papelarias ou pontos de venda, quando um projecto ou artigo anunciado
correspondia a um determinado interesse em particular. Outros podem
recordar-se da revista Elektor como um veículo que os incentivou a uma
carreira na electrónica há muitos anos atrás. Sentimo-nos igualmente felizes
quando orientamos leitores que ainda são estudantes, ou os informamos e
apoiamos no desenvolvimento da sua capacidade profissional.
Ao longo do tempo os serviços Elektor tiveram uma grande expansão, reflectindo os pedidos mais populares ou simplesmente impulsionados pela evolução da tecnologia. Temos a certeza de que já visitou o nosso site, pelo
menos uma vez, ou comprou uma placa de circuito impresso ou um Kit na
nossa loja online. Não ficaríamos surpreendidos de ver uma das nossas edições de Circuitos nas suas prateleiras, ou de encontrar o seu nome na lista
de participantes de um dos nossos webinars ou competições de projectos
electrónicos internacionais. Podemos até ter publicado um dos seus projectos para que toda a gente pudesse aprender e desfrutar desse trabalho.
Entretanto, a indústria electrónica já descobriu o que a Elektor tem estado a
cozinhar. Os fabricantes têm procurado activamente estabelecer contacto
com os leitores através de nós para realizar testes de produto, oferecer
amostras, organizar concursos e partilhar informação. Em alguns casos
até para divulgar oportunidades de emprego. Cada vez mais os entusiastas
da electrónica conhecem a Elektor mais através de outros media do que
através da revista que nos deu nome e reconhecimento.
Pode não se aperceber disso, mas ao acompanhar a Elektor faz parte de
uma rede de quase um milhão de pessoas, espalhadas por 80 países que
têm um gosto especial pela electrónica. No entanto, os nossos sites rece-
10 | Julho - Agosto 2013 | www.elektor-magazine.pt
bem visitantes de todos os países porque o interesse pela electrónica é
universal e cresce cada vez mais.
Resumindo, a Elektor evoluiu e transformou-se numa comunidade de pessoas unidas pelo interesse na electrónica e nas tecnologias de informação. De facto, muito para além dos limites da edição da revista em papel.
Consequentemente, não podemos continuar a utilizar o termo “leitor” ou
“assinante” e em vez disso passámos a utilizar a expressão “membro”...
do clube ELEKTOR.
Para assinalar que os tempos são claramente outros, queremos que os
nossos membros tenham acesso a todos os conteúdos que a Elektor hoje
produz. E porque a Internet e as novas plataformas nos oferecem oportunidades fantásticas para optimizarmos a oferta dos nossos serviços, apresentamos a ELEKTOR.COMMUNITY: a comunidade de membros da Elektor.
elektor
community
Em www.elektor.com.pt e nos diferentes domínios para cada língua, os
membros portugueses da Elektor.COMMUNITY encontram todas as ligações aos diferentes serviços disponíveis. Através deste website é possível
aceder à loja online Elektor.STORE, ao arquivo da Elektor e a informação
actualizada diariamente sobre o sector. A estrutura permite seleccionar
todas as opções existentes tradicionalmente na loja, como pesquisar artigos antigos, componentes, encomendar livros ou kits, adquirir créditos,
entre outras opções.
Tal como antes, poderá aceder a todas as secções de forma directa.
elektor
labs
Está disponível um novo website onde pode deixar propostas para projectos, apresentar o seu próprio projecto aos seus pares, seguir os progressos
(muito) além da revista impressa
elektor
post
O nosso novo serviço de e-mail chama-se agora Elektor.POST e continua
a distribuir as newsletters numa base regular, mas também dá acesso a
vídeos e oferece convites para webinars e concursos. Além disso, o Elektor.
POST acrescenta um projecto exclusivo a cada duas semanas que irá chegar automaticamente por e-mail.
O que perfaz 25 projectos extra por ano, entregues via e-mail.
Para quem?
do seu ou de qualquer projecto, assim como apresentar projectos ainda
em desenvolvimento, ou produtos testados e experimentados. Designa-se
por Elektor.LABS. O Elektor.LABS é o coração pulsante da Elektor, onde os
projectos são propostos e são desenvolvidos por toda a comunidade Elektor
- onde o conhecimento é adquirido, apreciado e partilhado.
Basta ir a www.elektor-projects.com
elektor
magazine
A partir de agora, a revista – Elektor.MAGAZINE – passou a ser publicada
8 vezes por ano em edição regular. A Elektor.MAGAZINE tem um novo
desenho, mais páginas e novas secções mas sobretudo, continua a oferecer os melhores projectos e artigos de divulgação que existem no mercado. Para além da edição extra de Projectos que irá cobrir os meses de
Verão, temos agora outra edição especial, no início de cada ano. No total
receberá 10 edições por ano.
Além disso, a revista fica disponível para ser lida e consultada online num
site dedicado aos assinantes – modelo GREEN Membership que será o único
disponível para a edição portuguesa – onde pode ser feito também o download na íntegra para ser visualizada em qualquer plataforma,
incluindo tablets. E já que estamos a falar de tablets, a revista
Elektor Portugal poderá brevemente ser também encontrada na App Elektor para iOS e
Android (login independente
da assinatura).
Para conhecer a Elektor.
MAGAZINE visite a secção
PT do site: www.elektormagazine.com
A assinatura tradicional será substituída pelo cartão GREEN Membership
Elektor que lhe dará acesso a:
• Oito edições regulares da revista por ano, sempre com novos projectos
e circuitos, agora com novas secções
• Duas edições por ano da versão “especial” da Elektor
• Um mínimo de 10% de desconto em todos os produtos e serviços da
Elektor.STORE
• Disponibilidade de placas de circuito impresso para todos os projectos Elektor;
• Acesso directo aos Elektor.LABS
• Elektor.POST enviado para o seu e-mail de contacto
• Ofertas regulares exclusivas para os membros;
A revista Elektor.MAGAZINE passa assim a estar disponível exclusivamente
em formato digital, o que nos permite investir em mais e melhores conteúdos. Estamos certos que desta forma iremos poder continuar a oferecer
a Melhor Revista Prática de Electrónica do Mundo.
E já agora, associe-se a nós no facebook: www.facebook.com/Elektorportugal
Onde poderá ficar a par de todas as novidades que tencionamos promover
e terá acesso a promoções irresistíveis.
A página da Elektor Portugal no facebook será, a partir de agora, a melhor
forma de nos enviar uma mensagem, fazer uma consulta ou de interagir
com todos os membros da comunidade Elektor na mesma língua.
www.elektor-magazine.pt | Julho - Agosto 2013 | 11
• Hardware & Software
Controlador inteligente
para ventoinha de
computador
Controla no máximo
6 ventoinhas PWM
Ivo Pullens
(Holanda)
Num PC moderno pode encontrar várias ventoinhas
para retirar o calor gerado.
Estas não podem ser sempre controladas individualmente pela motherboard do PC.
Com a ajuda do circuito que aqui descrevemos, pode controlar activamente até seis
ventoinhas, podendo a temperatura ser medida em vários locais do interior do PC
através de alguns sensores. É utilizado um software no PC para configurar e monitorizar as ventoinhas, que comunica com o módulo controlador através de uma
ligação USB.
Há alguns anos atrás, a Intel criou uma especificação para ventoinhas de PC controladas via PWM
através de 4 fios [1]. Estas ventoinhas são muito
mais dispendiosas do que as bem conhecidas versões de 2 e 3 pinos, embora tenham como vantagem a possibilidade de controlo da velocidade de
rotação através de um sinal PWM. Os conectores de
3 e 4 pinos também incluem um sinal de tacómetro
que pode ser utilizado para enviar para a motherboard o valor instantâneo da velocidade de rotação
da ventoinha. As motherboards dos PCs possuem
12 | Julho - Agosto 2013 | www.elektor-magazine.pt
habitualmente apenas um conector que contém
um sinal PWM, embora os PCs contenham várias
ventoinhas. As outras ventoinhas têm de funcionar
sempre a uma velocidade de rotação constante.
E mesmo que se possam ligar várias ventoinhas
PWM, não é habitualmente possível controlá-las
individualmente a partir da motherboard.
O circuito que aqui descrevemos consegue controlar a velocidade de rotação de até seis ventoinhas num PC, de forma segura e flexível, para que
estas funcionem à velocidade de rotação mínima
Controlador inteligente para ventoinha de computador
necessária, mantendo o nível de ruído o mais
baixo possível.
sístor de saída estiver desligado. A malha R3/C2 é
um filtro passa-baixo que suaviza (integra) o sinal
proveniente da motherboard, para que a entrada
analógica do microcontrolador possa ser utilizada
para ler o sinal de controlo PWM proveniente da
motherboard.
Para os sensores analógicos de temperatura pode
utilizar dois sensores NTC de 10 kΩ, que são ligados aos conectores K11 e K12. Em conjunto com
as NTCs, as resistências R8 e R9 formam dois
divisores de tensão que estão ligados às entradas
ADC2 e ADC3 do microcontrolador.
Se desejar, pode ligar um máximo de oito sensores
de temperatura I2C a K10. R6 e R7 são as necessárias resistências de pull-up para o barramento
I2C. O firmware foi testado com sensores MCP980x
Circuito
Como pode ver na Figura 1 o circuito é muito
simples e consiste apenas num microcontrolador
ATmega168 e alguns conectores para ligar as ventoinhas, os sensores, a ligação USB e a fonte de
alimentação. As ventoinhas de 4 fios são ligadas
directamente ao microcontrolador, porque podem
receber directamente os sinais PWM gerados, sem
a necessidade de mais processamento. As resistências de pull-up internas do microcontrolador
asseguram que os sinais de tacómetro das ventoinhas (em colector aberto) sejam mantidos no
nível alto da fonte de alimentação quando o tran-
SENSE_IN
K7
R3
4
FAN IN
3
C2
100k
2
+5V
2
I C TEMP SENSOR
K10
C5
10k
4k7
4k7
SDA
3
SCL
2
1
+5V
R8
DUTY_AN_IN
23
SENSE_IN
24
TEMP_AN0
25
TEMP_AN1
26
SDA
27
SCL
28
RESET
1
100n
21
AREF
7
20
VCC
AVCC
PC0(ADC0/PCINT8)
PD0(RXD/PCINT16)
PC1(ADC1/PCINT9)
PD1(TXD/PCINT17)
PC2(ADC2/PCINT10)
PD2(INT0/PCINT18)
PC3(ADC3/PCINT11)
PD3(INT1/OC2B/PCINT19)
PC4(ADC4/PCINT12)
PD4(T0/XCK/PCINT20)
PC5(ADC5/PCINT13)
PD5(T1/OC0B/PCINT21)
PC6(RESET/PCINT14)
PD6(AIN0/OC0A/PCINT22)
PD7(AIN1/PCINT23)
IC1
ATMEGA168PA-PU
R9
10k NTC CONNECTORS
10k
2
10k
PB1(OC1A/PCINT1)
TEMP_AN0
PB2(SS/OC1B/PCINT2)
1
PB3(MOSI/OC2A/PCINT3)
2
TEMP_AN1
GND
1
8
+5V
K13
1 TACHO4/MISO
4
3
TACHO5/SCK
6
5
RESET
K8
4
PWM5/MOSI
+12V
3
2
1
+5VPWR
J1
+5V
5V
SELECT
16MHz
+5V
D–
D+
GND
2
C1
10u
+5VPWR
USB_D+
5
PWM0
6
USB_D-
11
PWM1
12
PWM2
13
TACHO2
14
TACHO3
15
PWM3
16
PWM4
17
PWM5/MOSI
TACHO1
22p
1k
K3
3
TACHO2
2
1
+12V
R13
PWM3
1k
4
K4
3
1
TACHO4/MISO
D1
4
K5
3
68R
USB_D+
1
+12V
USB_D-
PWM5/MOSI
R15
68R
TACHO5/SCK
Mini-USB
1k
2
R1
3
R14
PWM4
1k5
R2
3V6
4
2
R5
D2
3
R12
PWM2
TACHO3
2
4
K2
1
+12V
TACHO5/SCK
+5V
1
4
2
+12V
K9
1
4
1k
22
+5VUSB
+5VUSB
TACHO1
C4
22p
3
PSU
CONNECTOR
10
X1
C3
2
ISP
9
TACHO0
3
19
PB4(SCK/PCINT5)
PB7
XTAL2 AGND
PB6
XTAL1
2
18 TACHO4/MISO
PB4(MISO/PCINT4)
K12
3
R11
PWM1
PB0(ICP1/CLKO/PCINT0)
K11
K1
1
+12V
C6
100n
R7
4
4
2
R4
LOW PASS, 16Hz
R6
1k
TACHO0
100n
1
R10
PWM0
+5V
DUTY_AN_IN
Figura 2.
O circuito consiste
principalmente num
microcontrolador
ATmega168 e um grande
número de conectores.
1k
4
K6
3
2
3V6
100160 - 11
+12V
1
www.elektor-magazine.pt | Julho - Agosto 2013 | 13
• Hardware & Software
Lista de componentes
Resistências:
R1;R2= 68 Ω
R3= 100 kΩ
R4;R8;R9= 10 kΩ
R5= 1,5 kΩ
R6;R7= 4,7 kΩ
R10a R15= 1 kΩ
Diversos:
X1= Cristal de quartzo 16 MHz
J1= Barra de terminais de 3 vias
com jumper
K1a K6;K7= Conector de 4 pinos
para ventoinha
K8= Conector de alimentação
de 4 pinos para PC, PCI
K9= Conector mini USB-B, PCI
K10= Barra de terminais de 4 vias
K11;K12= Barra de terminais de 2 vias
K13= Barra de terminais
de 6 vias (2x3)
Condensadores:
C1= 10 µF/16 V, radial, passo 2,5 mm
C2;C5;C6= 100 nF, passo 5 mm
C3;C4= 22 pF
PCI (Refª 100160-1),
disponível na Guimocircuito
(www.guimocircuito.com).
Construção
K1
K2
1
K12
R8
R10
3
J1
2
1
1
C1
C2
R3
IC1
C6
6
K13
Figura 2. Com esta placa de circuito impresso, a construção deste circuito
torna-se muito fácil.
K7
K10
D1
4
K9
R9
R7
R6
R4
C5
R1
X1
R2
R5
K8
R11
R12
R13
C4
C3
R14
D2
R15
K11
K3
K4
K5
K6
Semicondutores:
D1;D2= Díodo Zener 3,6 V/400 mW
IC1= ATmega168PA-PU, programado
(Ref.ª 100160-41)
da Microchip, mas também deve funcionar com
sensores semelhantes como o TCN75, directamente ou com pequenas modificações. Quando o
firmware arranca, este detecta automaticamente
quantos sensores estão ligados ao barramento
I2C. O jumper J1 é utilizado para seleccionar se
a alimentação do microcontrolador vem do barramento USB ou do PC. Durante o desenvolvimento
do firmware, quando não estão ligadas nenhumas
ventoinhas, pode ser conveniente alimentar o circuito através do barramento USB, mas normalmente é utilizada a fonte de alimentação do PC
(jumper nos pinos 2 e 3).
Como o circuito não contém componentes SMD,
é relativamente fácil construí-lo, especialmente
se utilizar a placa de circuito impresso desenhada
para este projecto (Figura 2). O conector grande
(K8) é a versão macho do bem conhecido conector
para o disco rígido do PC, produzido pela Molex.
Se desejar, o cabo de alimentação também pode
ser soldado directamente à placa.
Os conectores oficiais para ventoinhas de 4 pinos
(K1 a K7) podem ser difíceis de encontrar. No
entanto, a versão de 3 pinos está muito mais
disponível. O formato e as ligações de ambos os
conectores são idênticas, pelo que podem ser
ligadas ventoinhas de 3 pinos aos conectores de
4 pinos. Da mesma forma, se montar um conector
para ventoinha de 3 pinos e, no local reservado
para o quarto pino, montar um pino isolado, vai
obter um conector de quatro pinos equivalente
(Figura 3). Isto facilita a ligação de ventoinhas
PWM sem o risco de as ligar incorrectamente.
Firmware
O firmware para o microcontrolador foi escrito
em linguagem C e utiliza uma pilha USB baseada
em software (V-Usb [2]) para comunicar com o
PC. O firmware foi inicialmente desenvolvido para
um microcontrolador ATmega88, mas depressa
se verificou que a memória deste era demasiado
pequena para acomodar todas as funções que
eram necessárias. Por esta razão foi utilizado o
ATmega168, que contém o dobro da memória flash.
No entanto, ainda é possível compilar o firmware
para o ATmega88, mas com funcionalidade reduzida (ver o ficheiro config.h no pacote disponível
para download no site da Elektor [3]).
Como mencionado na especificação da Intel para
ventoinhas de 4 fios, estas devem ser controladas
por um sinal PWM com uma frequência de cerca de
14 | Julho - Agosto 2013 | www.elektor-magazine.pt
Controlador inteligente para ventoinha de computador
25 kHz, sendo que a velocidade de rotação deve
seguir linearmente o ciclo de trabalho se este variar
entre até 20% e 100% (para ciclos de trabalho
inferiores a velocidade de rotação é indefinida). O
ATmega168 contém seis saídas PWM, mas só duas
destas (que podem ser controladas pelo temporizador de 16 bits Timer1) podem ser configuradas
para uma frequência exacta de 25 kHz. As outras
saídas PWM são controladas por temporizadores
de 8 bits e podem ser configuradas para 7,8 kHz
ou 62,5 kHz. É utilizado um pequeno truque para
fazê-las funcionar à frequência necessária. São configuradas para funcionar à frequência mais baixa
(7,8 kHz) mas depois é utilizada a interrupção de
overflow do temporizador Timer1 para reiniciar os
temporizadores de 8 bits, o que faz com que todas
as saídas PWM funcionem a 25 kHz.
Os impulsos provenientes dos tacómetros, que são
utilizados para medir a velocidade de rotação das
ventoinhas, são contados utilizando a interrupção
de mudança de nível dos pinos de entrada. Na
prática, as ventoinhas raramente funcionam mais
rápido do que 6000 rotações por minuto, quando
os tacómetros fornecem dois impulsos por rotação.
Quando as ventoinhas rodam à velocidade máxima,
o firmware tem de lidar com 1200 interrupções de
mudança de nível por segundo. Parece muito, mas
o ciclo principal é bastante simples, o que deixa
bastante tempo para calcular os ciclos de trabalho.
Este ciclo principal verifica, a cada dois segundos,
se as ventoinhas estão paradas, por exemplo,
devido a uma falha ou obstrução. Dependendo
das configurações, uma ventoinha parada pode
provocar a paragem do sinal tacómetro, assinalando assim à motherboard que a ventoinha parou.
Qualquer função na motherboard que assinale um
alarme quando existe uma falha na ventoinha, vai
continuar a funcionar.
Em seguida, os valores dos sensores de corrente
são lidos, todos os cálculos são efectuados, e os
valores dos ciclos de trabalho são escritos nos
registos de comparação de saída dos temporizadores. Um intervalo de um segundo para o cálculo
do novo valor para o ciclo de trabalho e parece
muito no universo dos microcontroladores, mas é
bastante adequado para controlar um processo de
variação lenta como é a variação de temperatura
no interior de um PC.
O sinal tacómetro simulado para a motherboard
tem de ser capaz de fornecer um máximo de 1200
impulsos por segundo, que não necessitam de ser
assim tão exactos. Por esta razão os impulsos são
gerados no ciclo principal, onde o estado do pino
Especificações
•Controlo individual autónomo de até seis ventoinhas PWM de 4 fios.
•Medição da velocidade de rotação destas ventoinhas e detecção
de ventoinhas paradas.
•Suporta um máximo de 8 sensores para controlar a velocidade
de rotação das ventoinhas:
- 2 NTCs.
- Sensores de temperatura I2C, compatíveis com MCP980x/TCN75.
- A velocidade de rotação das ventoinhas também pode ser utilizada
como sinal proveniente de um sensor.
- Sensores externos, cujo valor pode ser configurado via USB.
- O ciclo de trabalho do sinal externo para controlo das ventoinhas
é igual ao gerado por uma motherboard.
•A velocidade de rotação pode ser controlada de três formas:
- Constante.
- Controlo linear onde a velocidade de rotação depende do valor
proveniente de um sensor.
- Controlo PI que utiliza um sinal proveniente de um sensor
e um valor desejado, para calcular a velocidade de rotação.
•Configuração e monitorização através de uma ligação USB.
•Biblioteca de software para utilizar em aplicações no PC para
comunicar com o circuito, e uma aplicação para configurar e controlar
o circuito para Windows e Linux.
tacómetro é alternado entre o nível baixo e um
estado de alta impedância, para simular a saída
em colector aberto necessária.
Com a ajuda do software no PC, a configuração
actual do controlador pode ser armazenada na
EEPROM, para que possa ser automaticamente
carregada quando o circuito arrancar novamente.
Uma grande parte do firmware consiste na pilha
USB e nas rotinas para trocar mensagens com o
PC. A comunicação em tempo-real com o PC é
assegurada pela interrupção externa gerada pelo
pino INT0, que tem a máxima prioridade.
Software
O software para o PC foi escrito em linguagem
C++ e foi desenvolvido utilizando o Visual C++
2010 Express gratuito da Microsoft. O interface
gráfico utiliza wxWidgets, o que significa que pode
ser utilizado em Windows assim como em Linux
(e também com o OSX, mas isto não foi testado
pelo autor).
Foi utilizada a biblioteca LibUsb para comunicar
com o circuito através de uma ligação USB. Foi
utilizada uma biblioteca separada para a criação e
troca de mensagens. Isto esconde os detalhes da
comunicação entre o PC e o circuito, e promove
a reutilização do código. Até agora já consegue
configurar directamente a velocidade de rotação
das ventoinhas ou ler os valores provenientes dos
sensores.
Figura 3.
Adicionando um pino
extra pode transformar
um conector de ventoinha
de 3 pinos num conector de
4 pinos para uma ventoinha
controlada por PWM.
www.elektor-magazine.pt | Julho - Agosto 2013 | 15
• Hardware & Software
O interface gráfico consiste
nos seguintes separadores:
. Admin
Aqui pode gerir a EEPROM:
por exemplo, ler e escrever a configuração. Lembre-se de armazenar uma
configuração adequada
na EEPROM logo de início, caso contrário o circuito vai ter a configuração em branco aquando do
arranque!
Figura 4.
Imagem do programa
para PC usado para
monitorizar e controlar
as ventoinhas.
. Sensor0 a Sensor7
Os separadores referentes aos sensores permitem-lhe atribuir a uma entrada sensora os sensores
já ligados, e verificar os respectivos valores ao
longo do tempo.
. Fan0 a Fan5
Aqui pode configurar individualmente as
ventoinhas.
. Fan out
Este separador é utilizado para configurar o sinal
tacómetro simulado enviado para a motherboard.
Antes de utilizar um sensor como controlador
no circuito é necessário atribuí-lo a uma entrada
sensora.
A Figura 4 apresenta um exemplo de configuração
para a ventoinha 0, que está ligada ao conector
K1. Em cima à esquerda podem ser seleccionados
o tipo de ventoinha (para que o software possa
saber se podem ser utilizados o sinais tacómetro
e/ou PWM) e o tipo de controlo. Neste exemplo o
sensor I2C com o endereço 0 (Temp_I2C_Addr0)
mede a temperatura do ar exterior que é aspirado para dentro do PC, e o sensor com o endeAcerca do autor
Ivo Pullens é um freelancer que se especializou
no desenvolvimento de software para sistemas
embebidos.
Trabalhou recentemente num grande projecto industrial para a produção de semicondutores e para
o barramento de comunicação industrial. No seu
pouco tempo livre desenvolve soluções, frequentemente baseadas em microcontroladores, para os
problemas do dia-a-dia.
Mais informações no seu site pessoal (em holandês):
www.emmission.nl
16 | Julho - Agosto 2013 | www.elektor-magazine.pt
reço 7 (Temp_I2C_Addr7) mede a temperatura
no interior do PC. Como o próprio PC gera calor,
não seria realista tentar obter uma temperatura
dentro do PC igual à temperatura exterior. Assim,
o controlador vai ser configurado para que a temperatura interior seja, no máximo, 2 ºC mais alta
do que a temperatura exterior (configuração +2 à
direita do valor desejado (setpoint)). O controlo PI
(Proporcional+Integral) aqui seleccionado calcula
continuamente a diferença entre a temperatura
desejada (temperatura exterior + 2 ºC) e a temperatura medida no interior do PC. O controlador
vai incrementar proporcionalmente a velocidade
de rotação da ventoinha (utilizando o factor Kp)
e acumular os erros de integração ao longo do
tempo (factor Ki).
A partir da Figura 4 pode ver que a ventoinha
arranca lentamente com um ciclo de trabalho de
0%. Quando a temperatura interior (curva azul
escura) ultrapassa a temperatura desejada (curva
azul clara), o controlador assegura que a velocidade de rotação da ventoinha aumenta (curva
verde, em rotações por segundo). Quando a temperatura desejada for novamente atingida, ao fim
de algum tempo, a velocidade de rotação diminui
gradualmente.
Outra possível aplicação para este circuito é sincronizar as velocidades das várias ventoinhas, para
minimizar as vibrações na caixa do PC. Para isto
utilize um controlador PI, com a velocidade de
rotação de uma das ventoinhas como sensor para
todas as outras, e valores negativos para os factores Kp e Ki.
No separador mais à direita pode configurar a
fonte do sinal tacómetro simulado a enviar à
motherboard: proveniente da ventoinha com a
velocidade de rotação mais baixa ou copiado de
uma das ventoinhas ligadas. Pode ser especificado
um valor mínimo para a velocidade de rotação
de cada ventoinha. Se a rotação descer abaixo
deste limite, o software considera que essa ventoinha está parada e o sinal tacómetro enviado à
motherboard é consequentemente interrompido.
Os ficheiros para download no site da Elektor [3]
contém o firmware para o microcontrolador e o
software para o PC.
(100160)
Artigo original: Intelligent PC Fan Controller – October 2012
Internet
[1] www.formfactors.org/developer/specs/
4_Wire_PWM_Spec.pdf
[2] www.obdev.at/products/vusb/index.html
[3] www.elektor.com.pt/100160
Placa de controlo USB
Placa de controlo USB
Adaptador bidireccional USB-LPT
Existe ainda, actualmente, muito equipamento
electrónico projectado para funcionar com o tradicional
porto de impressora (LPT) de um PC, mas a realidade
é que este porto está quase virtualmente extinto
nos PCs modernos. Com a ajuda de um ATmega88
e software adequado, é possível implementar
uma ligação relativamente rápida entre um PC
e uma porta LPT através de um porto USB.
No passado, o porto LPT (ou Centronics) era
usado frequentemente para controlar uma grande
variedade de motores passo-a-passo, lâmpadas
e relés, detectar a posição de interruptores de
limite, e ler outros tipos de sinais. Disponibilizava
um interface rápido e versátil. Os PCs modernos
já não vêm equipados com este porto, foi sendo
substituído pelo porto USB. Para tarefas de controlo ou medida, pode usar dispositivos como os
conhecidos LabJack ou a placa Velleman K8055D.
Estes são dispositivos fáceis de usar e controlar
a partir da sua própria aplicação de software.
Porém, ambos têm uma grande desvantagem:
a velocidade. Estes dispositivos funcionam com
o protocolo USB 1.1, o que significa que cada
comando ou medida leva pelo menos 20 ms.
Isto pode não parecer muito – até que precise
de implementar algo que precisa de uma baixa
latência, como controlar um motor passo-a-passo.
Neste caso, precisamos de três comandos por
passo, pelo que cada passo levaria cerca de 60
ms. Isto limita a velocidade máxima para 16 passos por segundo, o que é muito bastante lento.
Opções
Existe uma outra opção: pode usar um adaptador USB/série e ligá-lo a um microcontrolador. O
microcontrolador recebe então os dados do PC a
uma elevada velocidade (usando o protocolo USB
2.0) e utiliza esses dados para executar tarefas
de controlo e medida. Estão disponíveis comercialmente uma série de diferentes dispositivos de
conversão USB/série. Os melhores são fabricados
pela FTDI, mas existem dispositivos igualmente
satisfatórios da Silicon Labs (CP210x) e Prolific
(PL2303). Este último dispositivo é frequentemente
usado em muitos adaptadores USB/série comerciais. É provavelmente é o conversor mais usado.
Se estiver à procura das diferenças entre estes
conversores, vai descobrir algumas surpresas.
Quando se usa um programa de teste para transmitir um grande número de bytes individuais,
o conversor da FTDI consegue processar apenas 340 bytes por segundo, enquanto que o da
Prolific e da Silicon Labs conseguem atingir os
1000 bytes por segundo. Isto faz uma grande
diferença quando pretende controlar um motor
passo-a-passo em tempo-real. Infelizmente, os
conversores da Prolific e da Silicon Labs são muito
difíceis de obter em pequenas quantidades. No
entanto, no eBay estão disponíveis cabos conversores USB/série completos baseados no PL2303
ou no CP210x por preços na ordem dos 6 a 12
euros. Estes têm saídas compatíveis com níveis
TTL, pelo que podem ser ligados directamente
a um microcontrolador.
Michiel ter Burg
(Holanda)
Hardware
Para este projecto escolhemos um adaptador
USB/série com um circuito integrado da Proli-
www.elektor-magazine.pt | Julho - Agosto 2013 | 17
Software
+5V
R1
7
10k
1
1
JP1
28
5V
RX
GND
AVCC
PC6(RESET/PCINT14)
PC0(ADC0/PCINT8)
PC1(ADC1/PCINT9)
PC5(ADC5/SCL/PCINT13)
PC2(ADC2/PCINT10)
PC3(ADC3/PCINT11)
K1
TX
20
VCC
PC4(ADC4/SDA/PCINT12)
4
3
2
2
3
1
IC1
PD0(RXD/PCINT16)
PD2(INT0/PCINT18)
PD1(TXD/PCINT17)
PD3(INT1/OC2B/PCINT19)
PD4(T0/XCK/PCINT20)
PD5(T1/OC0B/PCINT21)
PD6(AIN0/OC0A/PCINT22)
PD7(AIN1/PCINT23)
ATMEGA48/88/168-PU
PB0(ICP1/CLKO/PCINT0)
PB1(OC1A/PCINT1)
21
PB2(SS/OC1B/PCINT2)
PB3(MOSI/OC2A/PCINT3)
AREF
PB4(MISO/PCINT4)
PB5(SCK/PCINT5)
GND
PB6
XTAL1
8
9
X1
C4
C5
100n
10u
16V
23
24
25
26
27
4
5
6
11
12
K2
13
1
14
2
15
3
16
4
17
5
18
6
19
7
8
PB7
XTAL2
AGND
9
10
22
10
11
12
C3
4u7
16V
C2 18.432MHz C1
22p
13
14
15
16
17
18
19
20
21
22
23
24
25
22p
120345 - 11
O software para o ATmega88(P) foi escrito em
Bascom AVR (Prog 1). Quando o programa
arranca, verifica se o jumper JP1 está presente.
Se o jumper estiver presente, o programa entra
no modo SMC. Quando um carácter é recebido
no porto série, é colocado directamente na saída
de 8 bits do porto LPT e o pino Enable/Strobe
é levado por breves instantes ao nível lógico
baixo. Se estiver ligado um interruptor de limite
à placa SMCxx e o seu estado mudar, o resultado
é enviado de volta para o PC.
Se o jumper JP1 não estiver presente, o programa
vai para o modo LPT. Neste caso, fica à espera
de dados na entrada. A resposta varia dependendo do segundo carácter do conjunto de dados
recebidos: se este for 1 ou 3, o valor do próximo
carácter é colocado no registo 1 (saída de dados
barramento de 8 bits) ou registo (saída de dados
barramento de 4 bits) do porto LPT. Se o segundo
carácter tiver o valor 2, o registo 2 (entrada de
dados barramento de 5 bits) é lido e os dados
resultantes são enviados de volta para o PC através do interface série e do conversor USB/série.
Os dados podem então ser processados no PC.
Controlo do PC
fic (PL2303) e ligámo-lo a um ATmega88. Estes
dois dispositivos comunicam entre si a uma taxa
de 115.200 baud. Isto permite enviar algo do
PC a uma velocidade de apenas 1 ms. O autor
optou também por uma placa com motor passo-a-passo da Conrad (SMC1500/800) para controlar um motor passo-a-passo. Para além do
barramento de dados de 8 bits, esta placa utiliza
o sinal Enable para colocar os dados na saída da
placa. Para fazer com que a nossa placa de controlo USB seja o mais geral possível, decidimos
adicionar um jumper para permitir seleccionar
entre o modo de funcionamento fast SMC ou o
modo LPT normal.
O hardware é muito simples: o conversor USB/
série é ligado aos pinos Rx e Tx do ATmega88 (ou
ATmega88P). A frequência de relógio é fixada em
18,432 MHz através de um cristal de quartzo, que
representa uma boa escolha para uma comunicação série a uma velocidade de 115.200 baud.
O jumper para selecção dos dois modos é ligado
ao pino de E/S do microcontrolador PC5, e os
outros pinos de E/S são direccionados para o
conector LPT. Isto dá-nos um porto LPT completo, pelo que podemos implementar todas as
funções deste porto.
18 | Julho - Agosto 2013 | www.elektor-magazine.pt
O PC vê a placa de controlo USB como uma parta
COM normal, mas normalmente com um número
mais elevado. O Visual Basic 6.0 apenas consegue processar portas COM com números entre
1 e 9, pelo que tem que usar o Gestor de Dispositivos para alterar o número da porta COM
para essa gama.
No Visual Basic, coloque um objecto COM no
seu Form. Pode então usá-lo depois para enviar
e receber dados série.
Primeiro tem que configurar a porta COM com
as configurações correctas:
MSComm1.CommPort = COM port number (see
Device Manager)
MSComm1.Settings = “115200,N,8,1”
MSComm1.RThreshold = 1
MSComm1.PortOpen = True
No modo SMC apenas tem que enviar um byte
de dados; a placa de controlo USB gera o sinal
Enable/Strobe automaticamente:
transmit = Chr(DataByte)
MSComm1.Output = transmit
Placa de controlo USB
No modo LPT pode aceder a vários registos que
correspondem aos registos do porto LPT. Podem
ser lidos ou escritos individualmente:
transmit = “#1” & Data & Chr(13) ‘
8-bit data bus OUT
MSComm1.Output = transmit
temp = “?2” & Chr(13)
5-bit data bus IN
MSComm1.Output = temp
‘
Observações finais
transmit = “#3” & Data & Chr(13) ‘
4-bit data bus OUT
MSComm1.Output = transmit
A placa de controlo USB envia uma resposta ao
segundo comando acima. Pode ser controlado
pelo seguinte pedaço de código em Visual Basic:
Private Sub MSComm1_OnComm()
incoming data
Dim indata As String
Dim Info As byte
uma quantidade de potência limitada, pelo que
deve restringir o número de circuitos integrados,
ou LEDs, a controlar. Por outras palavras, não
pode controlar um motor ou outro dispositivo de
potência desta forma.
A versão gratuita do Bascom AVR, que pode
usar para compilar o software e programar o
ATmega88, pode ser descarregada a partir da
Internet [1].
A placa de controlo USB foi desenvolvida por amadores, para permitir controlar um pequeno torno
mecânico em tempo-real utilizando o Visual Basic
e a placa SMC1500/800. Os resultados podem ser
visualizados num vídeo disponível no YouTube [2].
O código fonte para o firmware do ATmega88,
um programa para testar a taxa de transmissão
de dados, e um programa para enviar bits via
o porto USB, está disponível gratuitamente no
site da Elektor [3].
‘ for
If MSComm1.InBufferCount > 2 Then
MSComm1.InputLen = 0
indata = MSComm1.Input
indata1 = Mid(indata, 2, 1)
Info = Asc(indata1)
End If
End Sub
Coisas a ter em conta
Internet
[1] www.mcselec.com
[2] http://www.youtube.com/watch?v=maxNgXA
peOQ&feature=channel
[3] www.elektor.com.pt/120345
Lista de componentes
Resistências:
R1= 10 kΩ
F25
Condensadores:
C1;C2= 22 pF
C3= 4,7 µF/16 V, radial
C4= 100 nF
C5= 10 µF/16 V, radial
14
1
25
13
K2
IC1
Semicondutores:
IC1= ATmega88(P)
Diversos:
X1= Cristal quartzo 18,432 MHz
K1= Barra de terminais de 4 vias
K2= Conector DB25, em ângulo, PCI
JP1= Jumper para barra de terminais
2 vias
C3
C1
X1
C2
JP1
R1
C4
C5
O PL2303 (construído num conector USB com
cabo) está disponível no eBay por um preço entre
os 4 e 8 euros. Certifique-se que está a adquirir
a versão com um cabo de quatro pinos. O pino
de 5 V é necessário para alimentar o circuito.
Quando for programar o ATmega88(P), certifique-se que os fuse bits estão com a configuração
correcta (veja os ficheiros disponíveis na Internet
relativos a este projecto [3]).
Se ligar a placa de controlo USB a um porto USB
diferente, o computador pode atribuir um número
diferente à porta COM da placa. Verifique isso,
ou utilize sempre o mesmo porto USB.
A tensão de alimentação para o microcontrolador e a tensão de funcionamento para a parta
LPT são obtidas a partir do conversor USB/Série.
Com esta configuração apenas está disponível
(120345-1)
Artigo original: USb Control Board
July/August 2012
4
1 K1
PCI (Refª 120345-1), disponível na Guimocircuito
(www.guimocircuito.com) [3].
www.elektor-magazine.pt | Julho - Agosto 2013 | 19
•Ideias para projecto
Elektorcardi ♥ grama
Android
1ª parte
Sem fios, sem botões:
Bluetooth e touch screen
O título diz tudo – este artigo descreve um dispositivo de electrocardiograma que
o leitor pode construir, usando um tablet ou smartphone Android como terminal
sem fios para visualizar os electrocardiogramas. O projecto integra a combinação
de um pequeno microcontrolador PIC para controlar um andar de entrada
analógico com uma grande quantidade de software.
Marcel Cremmel
(França) em colaboração
com Raymond Vermeulen
(Elektor)
20 | Julho - Agosto 2013 | www.elektor-magazine.pt
Cardiograma
Especificações técnicas
• Interface para telemóveis ou tablets
Android via Bluetooth
• Display deslizante para apresentação
simultânea ou individual dos três terminais
standard (DI, DII e DIII) e dos três terminais
melhorados (aVR, aVL e aVF)
• Adaptação automática à resolução do ecrã
• Mede e apresenta o ritmo cardíaco
• Indicação audível da batida cardíaca
• Velocidade de scroll: 250/125/62,5
e 31,25 pixels por segundo
• Ganho do display: ×1 ×1,2 ×1,5 ×2 ×3
e ×10
• Sensibilidade: 3,2 mV, conversão de 10 bits
• Frequência de amostragem: 2 kHz
• Rejeição de modo comum: > 100 dB
Quando a Elektor publicou um dispositivo de electrocardiograma baseado numa consola de jogos
GameBoy em 2006, o pequeno robô Android ainda
nem sequer existia – ou, na melhor das hipóteses, estaria um estágio embrionário. Sete
anos passados, e temos um vasto número
de aplicações que o utilizam; aquando desta
publicação, temos mais de 900 milhões de
• Tensão máxima de contacto: ± 150 mV
• Constante de tempo de alinhamento
auto-adaptável
• Resposta em frequência: 0,005 Hz a 170 Hz
• Memória dinâmica para traço: 10 minutos
• Gravação de ECG em memória flash (10 minutos)
• Injecção periódica de sinal de calibração
1 mV/2 Hz
• Alimentação via 2 pilhas de 1,5 V
normais ou 1,2 V recarregáveis
• Apresentação da tensão de bateria
• Consumo médio: 5,4 mA
(em standby: <4 µA)
• Tempo de vida da bateria: 15 horas
(células 1 Ah)
• Pouco dispendioso
dispositivos Android em circulação. A cada dia
que passa, abrem-se novos horizontes para este
pequeno companheiro verde. A Elektor congratula-se em estar a contribuir para esta saga que
agora começou com uma aplicação que é bastante instrutiva, fascinante, e potencialmente útil
para toda a gente: execute os seus próprios electrocardiogramas no seu smartphone ou tablet!
www.elektor-magazine.pt | Julho - Agosto 2013 | 21
•Ideias para projecto
os identificadores usados nos diagramas no código
fonte. Os ficheiros dos projectos MPLAB e Android
completos estão disponíveis no site da Elektor.
R
ECG
T
P
Imagem médica e electrónica
Q
Figura 1.
Correspondência entre
a actividade eléctrica
detectada e a fase
do ciclo cardíaco.
S
auricular contraction
diastole
(repolarization)
ventricular contraction
120107 - 12
Este acessório fisiológico consiste numa única
(muito pequena) placa com 5,5×10 cm que
suporta as secções analógica e digital do circuito.
O nosso interface ECG está disponível na forma de
um módulo pronto a usar ao qual apenas precisa
de adicionar quatro eléctrodos e uma aplicação
Android num smartphone ou tablet; não existe
nenhuma ligação física entre este terminal e o
O electrocardiograma da Elektor faz uso do processo inventado por Willem Einthoven (Elektor
Nº 264, Dezembro de 2006 [1]) que envolve
explorar a função cardíaca usando a imagem
do fenómeno eléctrico produziu durante o ciclo
cardíaco. O coração é um músculo autónomo – o
único não controlado pelo cérebro. O nó sino-auricular, localizado na aurícula direita, faz disparar
os impulsos do nervo que controlam os músculos
do coração. Estes contraem (despolarização) e
relaxam (polarização) para bombear o sangue.
A contracção é provocada por uma alteração na
polaridade eléctrica das membranas. Durante as
fases de relaxamento, as cargas eléctricas são
novamente equilibradas antes de ocorrer um novo
estímulo. Os potenciais resultantes são transmitidos até à superfície da pele, onde podem ser
detectados usando eléctrodos adequados.
Com um posicionamento apropriado desses eléctrodos, um cardiologista é capaz de deduzir o
Armazene e visualize os seus electrocardiogramas
no seu smartphone ou tablet!
interface, dado que utiliza uma comunicação Bluetooth! Como seria de esperar para um dispositivo
moderno, este tem apenas alguns ajustes (três
no total) e controlos (3 botões). Claramente, é
o software que faz todo o trabalho.
Vamos descrever este dispositivo em pelo menos
dois artigos:
1. A electrónica: o nosso campo favorito.
2. O programa executado pelo microcontrolador
PIC24, escrito em C no MPLAB (IDE e compilador
gratuito da Microchip).
3. A aplicação Android, escrita em Java usando
o SDK da Google.
4. Construção do interface, para se arrumar numa
caixa do tamanho de um pequeno smartphone.
A parte que diz respeito à computação é bastante significativa, pelo que não temos intenção
de entrar em detalhes do código fonte; mas sim
encorajar o leitor a abordar o mesmo, adaptá-lo,
ou mesmo melhorá-lo, vamos descrever as funções
do software. Para nos ajudar nesta tarefa, vai ter
22 | Julho - Agosto 2013 | www.elektor-magazine.pt
comportamento mecânico (e possíveis disfunções!) do coração ao analisar a sua actividade
eléctrica [2].
A Figura 1 mostra a relação entre a actividade
eléctrica detectada e a fase do ciclo cardíaco:
• Onda P: contracção das aurículas – o sangue
das veias é forçado a entrar nos ventrículos.
• Complexo QRS: contracção dos ventrículos – o sangue proveniente dos ventrículos é
encaminhada para as artérias.
Estas duas ondas são o que causam o som
da batida do coração.
• Onda T: repolarização dos ventrículos – os
músculos dos ventrículos voltam para a sua
posição de descansando.
A posição dos quatro eléctrodos, um em cada
pulso e tornozelo, é apresentada na Figura 2,
que também descreve os terminais apresentados
pelo dispositivo. Os terminais dos membros são
posicionados na parte interior dos pulsos e tor-
Cardiograma
nozelos. Estes exploram o campo cardíaco num
plano frontal (Figuras 2a e 2b). Estes três terminais formam um triângulo equilátero de Einthoven, sendo as polaridades de tal forma que
D3=D2-D1. Traçar os eixos DI, DII e DIII até
ao centro do triângulo permite construir um sistema de co-ordenadas (conhecido como o sistema
de seis eixos de Bailey), que é muito útil para
calcular o vector de activação no plano frontal
(Figura 2c). Os seis terminais representam a actividade cardíaca de acordo com estes seis eixos.
Ao analisar esta informação é possível estabelecer um diagnóstico.
Os três eléctrodos activos LA (Left Arm, braço
esquerdo), RA (Right Arm, braço direito) e LL
(Left Leg, perna esquerda) detectam os terminais DI e DII; o quarto, RL (Right Leg, perna
direita), é usado para definir a tensão de repouso
dos outros três.
A electrónica de interface amplifica as forças
electromotrizes captadas pelos terminais I e II
para gerar os sinais DI e DII necessários para
produzir um electrocardiograma. Essas tensões
são convertidas em quantidades digitais antes de
serem transmitidas via Bluetooth para um dispositivo Android. A aplicação calcula os terminais
em falta (DIII, aVR, aVL e aVF) a partir de DI
e DII (Figura 2b) e apresenta-os. As imagens
de ilustração deste artigo não nos deixam qualquer dúvida: os sinais são excelentes e o ruído
muito baixo, uma vez que as componentes de
frequência da linha de alimentação são residuais.
DI
LA
RA
LA
DII
LL
DI
DII
DIII
DII
LL
RL
DIII
120107 - 13a
Figura 2a. Terminais bipolares Standard.
RA
LA
RL
LL
RA
R
LA
RL
R
aVL
aVL
aVR
LL
R
aVR
aVL
R
aVF
R
aVF
RA
LA
RL
LL
aVR = DII +
DIII
aVF = DIII +
DI
2
aVL = DI - DII
2
R
2
120107 - 13b
aVF
Figura 2b. Terminais unipolares Standard ou terminais melhorados.
Electrónica analógica
A secção analógica do nosso ECG tem a função
de amplificar as duas tensões bastante fracas
captadas, por um lado, pelos eléctrodos activos LA e RA, e por outro, pelos eléctrodos LL
e RA. Estes correspondem aos terminais DI e
DII (Figura 2). Para obter uma gama dinâmica
adequada depois da conversão A/D de 10 bits,
precisamos de um ganho de 1.000 (ou seja,
60 dB). Isto é combinado com duas outras funções essenciais: compensação para a tensão de
contacto DC dos eléctrodos (que pode ser superior a 100 mV, ou seja, 100 vezes o amplitude
dos sinais em questão) e rejeição da frequência
da rede eléctrica (60 Hz ou 50 Hz). Mais tarde,
vamos voltar a este tema.
O corpo humano e os eléctrodos onde se ligam
os terminais são consideravelmente influenciados
pelas fortes tensões ou diferença de tensão em
relação à massa da instalação eléctrica do espaço
DI
DIII
RA
-90°
aVR
aVL
aVR
aVL
-150°
-30°
0°
DI
DIII
aVF
DII
DI
+120°
DIII
+90°
aVF
+60°
DII
120107 - 13c
Figura 2c. Sistema de coordenadas usado para calcular os terminais.
circundante. Apesar da frequência de 60/50 Hz,
a capacidade mútua, embora seja muito baixa,
origina uma tensão relativamente elevada (frequentemente acima de 1 V) na pele do sujeito
em relação à massa.
À primeira vista, parece difícil isolar o sinal pretendido, uma vez que a sua amplitude é cerca
de 1.000 vezes abaixo do sinal espúrio! Além
www.elektor-magazine.pt | Julho - Agosto 2013 | 23
•Ideias para projecto
FP5.1: IC10, R35, 36 C23, R25, 26, 27, 28, IC5B, C25
F5.2 : IC11, R37, 38 C24, R29, 30, 31, 32, IC6B, C26
FP6.1: IC8A, R46, 44, 45, 33 C30, C29, C21
F6.2: IC8B, R41, 42, 43, 34 C28, C27, C22
FP7: R62, 59, 60, 61
FP8: IC7A, C17, R24
FP1: R18, 19, 20, 23, D1, D2
FP2: IC9
FP3.1: IC4A - IC4B, R53, 54, 55
FP3.2: IC3A - IC3B, R57, 58, 56, P3
FP4.1: IC5A, R49, 40, 47, 50, P1
FP4.2 : IC6A, R51, 39, 48, 52, P2
P2HZ
F1
F5.1
F2
F3.1
RA
LL
RL
x 21
protecção em caso
de desfibrilhação
auto-zero
LA
CAL
AI
BI
autozero
x1
F4.1
F3.2
F4.2
x 21
F8
K
x1
SI
F6.1
F6.2
SII
4
autozero
F7
F5.2
DI
x49
x49
DII
AII
BII
120107 - 14
Figura 3.
Diagrama de funções
da secção analógica.
disso, a frequência de 60/50 Hz cai bem dentro
do espectro útil; pelo que a filtragem não tem
qualquer utilidade.
Dado o comprimento de onda a 50 Hz (6.000
km!), podemos aceitar que, como a pele é condutora, qualquer ponto na epiderme está ao mesmo
potencial que todos os outros. Assim, no que diz
respeito aos eléctrodos, esta é uma tensão de
modo comum.
Neste caso, a solução é óbvia: um amplificador
de instrumentação diferencial com uma relação
de rejeição de modo comum adequada (CMRR):
CMRR ≥
Sp
SECG
+
dB
S
N
dB
onde SP corresponde à amplitude do sinal espúrio: 1 V;
SECG corresponde à amplitude do ECG: 1 mV;
S/N corresponde à relação sinal/ruído: 40 dB
necessários.
Isto é, CMRR ≥ 60+40 = 100 dB
Para além disso, a amplificador precisa de ter
uma impedância de entrada muito elevada
(>10 MΩ) e uma baixa tensão de desvio. É bastante tentador usar um circuito integrado especializado para isto (por exemplo, o ADS1294 da
TI). Mas é também possível, sem fazer qualquer
concessão em termos de qualidade, construir um
24 | Julho - Agosto 2013 | www.elektor-magazine.pt
amplificador diferencial usando amplificadores
operacionais TLC2252, um dispositivo rail-to-rail
de baixa potência e de baixo ruído. A sua frequência de corte e slew rate são apenas modestos –
mas mais do que suficientes para um sinal de ECG.
A principal (mas aceitável) concessão nesta escolha é a resistência para optimizar o CMRR, que
não pode ser dispensada.
Funções da secção analógica
Antes de analisar com mais detalhe o circuito de
interface do ECG, vamos examinar a sua estrutura (Figura 3) e funções. Os quatro eléctrodos são ligados às entradas RA (braço direito),
LA (braço esquerdo), LL (perna esquerda) e RL
(perna direita). Como o electrocardiógrafo é às
vezes usado em conjunto com um desfibrilhador,
precisa de ser protegido contra as elevadas tensões geradas por este tipo de dispositivo: este é
o trabalho da função F1. Sob condições normais,
as tensões de saída desta função são iguais às
da sua entrada. A protecção só entra em funcionamento se as tensões medidas excederem o
nível da tensão de alimentação, ou seja, ±3,3 V.
A função de multiplexagem F2 permite-nos substituir os sinais RA, LA e LL por um sinal de calibração P2HZ com uma amplitude de 1 mV e uma
frequência de 2 Hz. O multiplexador é activado a
pedido uma vez por minuto durante 10 segundos
de modo a observar o sinal de calibração no ecrã.
Quando estamos a estabelecer um diagnóstico,
o sinal de calibração fornece uma referência de
amplitude para as medidas do ECG.
O amplificador de instrumentação é formado
pelas funções F3 e F4. A função F6 é um filtro
passa-baixo de 2ª ordem com uma frequência de
corte de 170 Hz e um factor de amortecimento
m = 0,71 (Butterworth). Isto atenua todas as
componentes fora do espectro de frequências
pretendido e serve também como um filtro anti-aliasing para o conversor A/D seguinte.
O ganho total é obtido da seguinte forma: AD3
= 21×, AD4 = 1× e A6 = 49×. A referência de
ganho corresponde à referência das funções:
AD3 é o amplificador diferencial de F3 (F3.1 ou
F3.2), e assim por diante. Em linha com os nossos objectivos, o ganho total é de 1029 vezes.
O ganho nos primeiros dois andares é relativamente baixo de modo a aumentar a eficiência
da função de auto-zero.
As outras funções (F5, F7 e F8) suportam o
amplificador de instrumentação para assegurar
um funcionamento adequado. Os amplificadores
Cardiograma
pretendemos: as tensões de repouso na entrada
dos amplificadores estão correctas, sem prejudicar a sua impedância de entrada intrínseca.
Além disso, aparece um fenómeno natural mas
muito inconveniente quando os eléctrodos estão
montados: é gerada uma força electromotriz
entre a pele e o metal do eléctrodo. Esta micro-bateria é muito fraca (algumas dezenas de mV)
mas não é eliminada pelo amplificador de instrumentação. Antes pelo contrário: é amplificada!
As funções F7 e F8 reduzem parcialmente este
fenómeno, mas os desvios entre as saídas +
e – de F3.1 e F3.2 ainda podem atingir alguns
volts. Esses desvios são compensados através
das funções F5.1 e F5.2, para evitar a saturação
nos andares de F4.1, F4.2, F6.1 e F6.2.
Figura 4a.
Diagrama esquemático
da parte analógica.
R44
C34
1u
10V
4
8
8
C35
IC4
C36
IC5
1u
10V
4
1u
10V
4
8
IC6
4
C37
1u
10V
8
IC7
4
C38
C33
1u
10V
1u
10V
IC4...IC7 = TLC2252AID
2
R49
47k
1
IC4.A
R53
IC5.B
R25
6
47M
C25
10M
10k
100R
R55
6
D1
A
2
1
5
5
4
4
R28
470k
12
+3V3
16
7
IC4.B
7
R50
47k
R59
–3V3
3
RL
4
13
2
1
R20
10k
5
5
3
+3V3
A
16
D2
BAV99S
3
6
7
–3V3
4
5
1
2
C39
C40
100n
25V
100n
25V
C17
X
X1
Y0
Y
Y1
Z0
Z
Z1
VCC
A
B
VEE
C
GND ENABLE
8
14
3
15
2
IC3.A
C18
11
10
9
R23
1k
C19
BN
B2
TP9
3
R36
C23
B3
A0
A1
AN
A2
100n
25V
13
A
A3
VCC
S0
S1
VEE
GND ENABLE
8
10
AI
9
BI
6
100n
50V
100n
50V
5k
100n
50V
R58
6
R61
6
5
IC3.B
7
R52
47k
TP7
DII
C22
7
IC6.B
6
R29
47M
C26
R30
1u
10V
R31
1
5
2
2M2
4
R32
470k
12
14
15
16
5
A
R34
+3V3
11
6
7
IC8.B
5
+3V3
IC7.B
5
A
3
A
6
47n 25V
10M
R56
470p 50V
28k7
C28
R39
47k
R48
2k
A
C27
R42
R41
28k7
1
IC6.A
P3
1n
IC7.A
100n
25V
3
P2
2
C20
2
1
R51
47k
R57
4
R24
390k
+3V3
100n
25V
B1
100n
A 25V
➞
1
50V
–3V3
C42
B0
100k
X0
DI
R35
1M4
LL
10k
R19
10k
C41
IC10
CD74HC4052PW
R43
45k3
2
TP6
R60
100k
1
LA
IC9
DG4053AEQ-T1-E3
100k
RA
12
9k1
3
100k
6
R18
K1
14
11
100k
BAV99S
2M2
15
100k
–3V3
2
100k
+3V3
5
R27
R62
TP5
R22
1
R26
1u
10V
R54
390k
P2HZ
A
+3V3
R65
R21
330k
R33
C21
100k
–3V3
1
IC8.A
5
A
3
27R
R40
47k
R47
IC8 = LMC6482AIM
4
7
1u 10V
R64
8
IC8
3
47n 25V
10k
8
2
para esquemático da parte digital e da fonte de alimentação
5k
IC3
C31
C30
7
7
–3V3
C43
C44
100n
25V
100n
25V
IC11
CD74HC4052PW
R37
B0
B1
BN
B2
TP8
3
C24
B3
A0
A1
AN
A2
100n
A 25V
330K
A
R45
28k7
R46
28k7
1
IC5.A
13
100n
25V
R38
330k
1u 10V
2
10k
P1
L9
30R@100MHz
C32
470p 50V
1M
R63
27R
45k3
+3V3
C29
1M4
3
330k
operacionais são alimentados entre -3,3 V e +3,3
V. A tensão em repouso ideal para cada um dos
três terminais é 0 V.
O eléctrodo RL fixa a tensão média (ponto de
funcionamento em repouso) para os eléctrodos
activos através das funções F7 e F8. É apresentado que a tensão de saída de F7 é igual à média
das tensões de RA, LA e LL. Esta é comparada
por F8 com o ponto de ajuste de 0 V, e a tensão
de erro amplificada produz a tensão no eléctrodo
RL. Como não existe nenhuma corrente a fluir
nos eléctrodos, as tensões em RA, LA e LL são
iguais à de RL (excepto alguns poucos mV). Desta
forma, criamos um verdadeiro loop pela pele: a
média das tensões dos eléctrodos activos é mantida igual ao ponto de ajuste de 0 V. Isso é o que
A
A3
VCC
S0
S1
VEE
GND ENABLE
8
10
AII
9
BII
6
CAL
120107 - 11
www.elektor-magazine.pt | Julho - Agosto 2013 | 25
•Ideias para projecto
+3V3
L4
L1
R6
4uH7
1M
C6
1
T1
IC13
LTC1981ES5
4
GATE
PSMN6R5
-25YLC
3
3
SHDN
100k
S2
C13
C14
ON/OFF
33u
6V3
10u
6V3
L8
D3
30R@100MHz
C3
C9
C10
100n
25V
10u
6V3
100n
25V
C4
5
5
6
S1
7
CAL
11
3K3
VDD
VDD
IC1
MCLR
RB15/RP15/AN9
RB0/PGD1/EMUD1/RP0
RB14/PMWR/RP14/AN10
RB1/PGC1/EMUC1/RP1
RB13/PMRD/RP13/AN11
RB2/RP2/SDA2/AN4
RB12/PMD0/RP12/AN12
RB3/RP3/SCL2/AN5
RB11/PMD1/RP11/TMS
RB4/RP4/PMBE
RB10/PMD2/RP10/TDI
RB9/PMD3/SDA1/RP9/TDO
DI
2
DII
3
10
P2HZ
12
PIC24FJ32GA002
RA0/AN0
RB8/PMD4/SCL1/RP8/TCK
RA1/AN1
RA2/CLKI/OSCI
RB7/PMD5/INT0/RP7
RA3/CLKO/OSCO/PMA0
RB6/PMD6/ASCL1/RP6
RA4/T1CK/PMA1
RB5/PMD7/RP5/ASDA1
DISVREG
19
VSS
8
VSS VCAP/VDDCORE
27
20
C2
para o esquemático
da parte analógica
➞
F5.1 e F5.2 comparam os valores médios dos sinais
SI e SII com uma referência definida. A tensão de
erro é integrada usando uma constante de tempo
seleccionada usando AI e BI (AII e BII respectivamente para o canal II) para obter a tensão DC de
desvio a aplicar a F4.1 e F4.2. Esta compensação
encontra-se em SI e SII. O loop assim formado
mantém constantemente os valores médios de
SI e SII e os seus respectivos pontos de ajuste.
Coração do circuito
Vai conseguir facilmente encontrar todas estas
funções no diagrama do circuito analógico
(Figura 4a). Os quatro eléctrodos estão ligados a K1. As resistências R18, R19, R20, R23
e os díodos integrados em D1 e D2 formam a
função de protecção F1.
A função de multiplexagem F2 é executada pelo
multiplexador analógico IC9 (4053).
A amplificação diferencial para cada canal (F3 e
F4) é obtida usando a configuração clássica do
amplificador de instrumentação: F3.1 = IC4A +
10u
6V3
26
25
BII
24
AII
23
STATUS
22
BI
21
AI
18
TX
17
16
RX
RESET
15
14
SETBAUD
11
VCC
R9
1k
R10
1k
R11
1k
R8
1k
R7
1k
19
9
10
14
13
5
3
4
16
15
MOD1
PIO2
SPI_MOSI
PCM_IN
SPI_CLK
PCM_OUT
SPI_MISO
UART_TX
SPI_CSB
PIO5
PIO3
UART_RX
RN42
RESET
USB_D–
PIO6
USB_D+
PIO7
PCM_CLK
UART_CTS
PCM_SYNC
UART_RTS
PIO4
30 31 32 1
AIO0
4
100n
25V
GND
1
4
R12
C5
10u 6V3
28
PIO11
3
D4
HSMC-A461-V00M1
PIO10
3K3
10k
2
9
26 | Julho - Agosto 2013 | www.elektor-magazine.pt
C8
10u
6V3
L2
100n
25V
13
RESET
Figura 4b.
Diagrama esquemático
da parte digital e fonte
de alimentação.
C7
30R@100MHz
R2
1
6
R4
4
GND
NC
33u
6V3
GND
EMUC1
TPS60403DBVT
GND
EMUD1
1u
10V
PIO9
GND
30R@100MHz
1
+3V3
L3
HSMC-A461-V00M1
+3V3
OUT
A
R1
K2
C1
+3V3
30R@100MHz
+3V3
MCLR
C16
PIO8
100n
25V
CFLY+
IC2
IN
L7
GND
4
AIO0
1M
C15
5
R13
10k
BATT_LEV
R17
GND
VFB
2
30R@100MHz
R3
2
R14
TP4
EN
L6
5
POWEROFF
1M
GDR
GND
R16
TP3
1
CFLY–
30R@100MHz
VOUT
IC12
MCP1640B(T)
5
VCC
2
SW
523k
100n
25V
2
VIN
TP1
1u
10V
3
L5
1
6
K3
Vbatt-
R15
300k
10u
6V3
Vbatt+
R5
10k
C12
150R
30R@100MHz
–3V3
C11
TP2
2
6
24
23
21
20
18
17
7
8
22
S3
12 28 29 33 34 25
RESET BT
IC4B e F3.2 = IC3A + IC3B, em conjunto com
F4.1 = IC5A e F4.2 = IC6A.
O ganho do canal DII é ajustável através de P3
compensar a diferença para o outro canal. Até
mesmo uma pequena diferença no ganho tem
um impacto notável nos cálculos para os outros
terminais.
Os potenciómetros P1 e P2 permitem-nos optimizar a rejeição de modo comum para cada
amplificador.
Os andares F4 possuem uma realimentação negativa através do multiplexador IC10 (por exemplo,
no canal DI), uma das resistências R25-R28 e o
ampop IC5B ligado como integrador.
Esta estrutura implementa a função F5.1 e
actua na média da tensão DI através de IC5A
de forma que a faz igual à tensão definida pelo
divisor R35/R36 (e R37/R38para o canal DII,
respectivamente).
A constante de tempo para esta malha é seleccionada por uma função de software que controla
o multiplexador IC10 (e IC11 no outro canal)
Cardiograma
através dos sinais AI e BI:
• T1 = R28×C25 = 0,47 s
• T2 = R27×C25 = 2,2 s
• T3 = R26×C25 = 10 s
• T4 = R25×C25 = 47 s
Quando os eléctrodos são aplicados, é seleccionada a constante de tempo mais baixa para
alcançar o ponto de funcionamento em repouso
mais depressa. A constante de tempo é então
incrementada à medida que nos aproximamos
do ponto de funcionamento em repouso e termina no valor de 47 s, o que não interfere com
os sinais do ECG.
As tensões em repouso são diferentes entre DI
e DII de modo a ser adequado para as formas
esperadas para cada terminal, evitando assim a
saturação no conversor A/D seguinte enquanto
mantêm uma gama dinâmica adequada.
O andar final em cada canal (IC8a e b) implementa um filtro passa-baixo de 2ª ordem. Este
tem uma frequência de corte de 170 Hz e um
ganho na banda passante de 34 dB. Este é um
filtro de anti-aliasing para o conversor A/D que
usa uma frequência de amostragem de 2 kHz.
Isto é depois seguido por um filtro passa-baixo
de 1ª ordem formado por R33 e C21, com uma
frequência de corte de 160 Hz. A atenuação
destes dois filtros para a frequência de Nyquist
(1 kHz) é de cerca de 15 dB.
Reparou que IC8 é alimentado entre +3,3 V e 0
V e não entre +3,3 V e -3,3 V como os outros
ampops? Isto não é um erro: esta configuração
protege as entradas analógicas do PIC24, que
não suportam tensões negativas.
Por causa da sua elevada sensibilidade, a secção
analógica é muito sensível a interferências de todo
o tipo, em particular pela produzida pela secção
digital e pela fonte de alimentação comutada. A
construção da placa de circuito impresso foi projectada para manter estas três secções bem longe
umas das outras. Para além disto, as malhas R63/
C32 e R64/C31 atenuam a ondulação residual
nas linhas de alimentação da secção analógica.
Para a parte digital do circuito, o diagrama
(Figura 4b) está bastante claro, pelo que dispensa qualquer diagrama de blocos.
PIC24FJ32GA002
Das variantes do PIC24 existentes, escolhemos o
PIC24FJ32GA002, um tipo de nível de entrada com
um encapsulamento SOIC de 28 pinos (Figura
4b). O seu relógio interno de 8
MHz (sem precisar de nenhum
componente externo) fornece
uma capacidade de 4 MIPS e
uma precisão de 2%, adequado
para esta aplicação. Para esta
frequência, o consumo de corrente é de aproximadamente
5,4 mA sendo bastante razoável para alimentação através
de bateria.
Módulo Bluetooth RN-42
O módulo RN-42 da Roving Networks (Figura 4b)
é compacto, de baixo consumo, e pré-classificado
como sendo um módulo Bluetooth híbrido OEM
de classe 2. A Roving Networks foi recentemente
adquirida pela Microchip. A antena embutida permite ter um alcance de cerca de 20 m. Suporta,
entre outras coisas, o protocolo RFCOMM-SPP
usado nesta aplicação, para velocidades de transferência de dados até 240 Kb/s. Neste caso, apenas usamos 16 Kb/s.
O perfil de porta série SPP (Serial Port Profile)
permite facilmente estabelecer um tipo de comunicação série assíncrona duplex, sem fios. Os
sinais RX e o TX do circuito de acoplamento da
UART do microcontrolador é simplesmente ligado
ao seu equivalente no módulo Bluetooth. Desta
forma, as sequências geradas no TX no formato
série assíncrono são transferidas transparentemente para o terminal ligado. Reciprocamente,
as mensagens enviadas do terminal Android aparecem no mesmo formato na entrada RX.
São usados alguns sinais adicionais para controlar o módulo:
O sinal STATUS (ESTADO) indica o estado da ligação Bluetooth: Ligado (1) ou Interrompida (0).
A entrada de RESET permite inicializar o módulo
caso seja necessário.
A entrada PIO7 (SETBAUD) permite seleccionar
a taxa de transferência de dados:
• 1 ➞ 9600 baud,
• 0 ➞ 115.2 Kbaud
Figura 4c.
Foto do módulo Bluetooth
da Roving Networks
(agora Microchip) usado.
As resistências de 1 kΩ em série com estes sinais
estão conforme as recomendações de protecção
de E/S do fabricante.
O LED D4 pisca para indica o estado do módulo:
10 Hz: configuração em progresso
2 Hz: fase de inicialização
1 Hz: o módulo pode ser identificado
steady: ligação estabelecida
www.elektor-magazine.pt | Julho - Agosto 2013 | 27
•Ideias para projecto
Um projecto para o seu coração!
Fonte de alimentação
Para um circuito tão simples, a estrutura da fonte
de alimentação (Figura 4b) formada por IC13,
IC12 e IC2 é bastante complexa, mas ainda assim
garante uma tensão simétrica estabilizada (±3,3
V) até à última gota de energia disponível nas
duas pilhas de 1,5 V do tipo AA ou das duas pilhas
recarregáveis de 1,2 V. Está fora de questão alimentar este dispositivo a partir da rede eléctrica!
O transístor T1, associado ao cima dispositivo
IC13, protege a electrónica no caso de inversão
da polaridade da bateria: a resistência R6 limita
a corrente em IC13, T1 é desligado assim como
o seu díodo interno.
Quando a polaridade está correcta, o dispositivo
IC13 é alimentado correctamente. Este é contro-
verdadeiramente desligado. O único consumo do
circuito é o do modo standby de IC13 e IC12,
isto é, menos de 4 µA.
Se pressionar S2 leva a entrada /SHDN de IC13
ao nível alto. A saída GATE faz com que T1 entre
em condução com uma tensão que é três vezes
superior à sua tensão de alimentação, graças
a um triplicador interno. Isto permite reduzir
drasticamente a RON de T1. O terminal -ve é
ligado a GND.
A saída GRD de IC13 também vai para o nível alto
e habilita IC12. Isto, por sua vez, gera a tensão
de +3,3 V a partir da bateria. O inversor IC2 é
então alimentado ligando a linha de alimentação
de -3,3 V. Desta forma o interface é alimentado.
O microcontrolador começa então a processar o
código e tem que seguir rapidamente a acção de
carregar em S2 que o utilizador efectuou colocando o sinal /PowerOff no nível alto (1).
O processo de desligar é controlado a partir do
terminal Android quando o utilizador sai da aplicação: o sinal /PowerOff é ajustado para L. O
IC13 entra então em processo de desactivação e
coloca a sua saída GDR ao nível zero para inibir
IC12 e assim desligar a alimentação.
Os conversores comutados permitem obter uma
eficiência global de quase 90% e funcionam (não
por muito tempo) com pilhas descarregadas até
0,8 V.
Na próxima edição, vamos apresentar o software,
a aplicação Android e a placa, em conjunto com
a forma de implementar o dispositivo. Vai ver
que é incrivelmente simples!
(120107)
lado pelo sinal /PowerOff do microcontrolador.
Se o interface estiver desligado, o PIC24 não é
alimentado pelo que não pode aplicar um nível
alto no sinal /PowerOff. Consequentemente, a
entrada /SHDN está ao nível baixo, em particular por causa de R14. A saída GATE de IC13 fica
então ao nível baixo e T1 ao corte. Porém, o seu
díodo de protecção (flyback) está em condução
(a corrente consumida flui para GND através do
terminal -ve) e IC12 é alimentado. Nestas condições, a saída GRD de IC13 está no nível zero,
inibindo o conversor comutado IC12, que dessa
forma não gera a tensão de alimentação de 3,3
V. Consequentemente, o inversor IC2 que fornece os -3,3 V não funciona. O interface está
28 | Julho - Agosto 2013 | www.elektor-magazine.pt
Artigo original: Android Elektorcardioscope (1)
July/August 2013
Internet
[1] GBECG, Elektor Nº 264, Dezembro de 2006:
www.elektor.com.pt/050280
[2] Curso de cardiologia: http://goo.gl/mSr20
[3] www.elektor.com.pt/120107
[4] Android Apps, programming step by step,
Stephan Schwark, www.elektor.com/android
[5] http://www.siteduzero.com/informatique/
tutoriels/apprenez-a-programmer-en-java
ou http://goo.gl/OVZQY (em francês)
[6] Site do autor: http://electronique.marcel.free.
fr/ (em francês)
LED Lighting Controller
Controlador de luz ambiente
LEDs RGB para criar ambientes
As fitas de LEDs coloridas estão actualmente
disponíveis a custos acessíveis, em todo o tipo de
cores e tamanhos. Com este circuito
controlador é possível estabelecer as suas
próprias cores e até configurar e
processar programas completos
de iluminação. O controlador funciona a
bateria, por isso pode ser usado em lugares
sem acesso directo a electricidade.
Este circuito foi originalmente desenvolvido para
controlar fitas de LEDs coloridas vendidas numa
conhecida cadeia sueca de móveis. São disponibilizadas com um simples controlador que permite
selecionar manualmente um número limitado de
cores. Esta restricção motivou o autor deste projecto a desenvolver um controlador DIY com mais
capacidades. O resultado foi um controlador de
luz ambiente adequado para todos os LEDs RGB
e fitas de LED com capacidade para funcionar
desde os 12 V e com uma resistência em série
para limitação de corrente.
Uma vez que no local em que foi feito o projecto
não estava disponível uma fonte de alimentação,
este controlador acabou por ser concebido para
funcionar com uma bateria de 12 V.
As características do circuito podem ser consultadas no quadro.
Circuito
Como se pode ver na Figura 1, o circuito é bastante simples. O autor escolheu o microcontrolador PIC16F887 pela sua EEPROM integrada (que
permite um armazenamento adequado dos programas de iluminação), grande capacidade E/S e
conversor A/D integrado. Apesar do PIC16F877A
ser mais usado, para esta aplicação foi escolhido
um outro muito semelhante por ter uma configuração específica de conversor A/D que permite usar
as entradas RAO e RA1 ADC sem ter que utilizar
as entradas RA2 e RA3 para tensão de referência.
Aqui, o RC3 está ligado ao interruptor S1, o que
permite que o estado de carregamento da bateria
seja mostrado no LCD de duas formas diferentes.
O conector K6
é o conector
ICSP para a programação In-Circuit
do microcontrolador.
O cristal X2 fornece ao
microcontrolador um sinal de relógio de 20 MHz.
Esta velocidade relativamente elevada de frequência de relógio é necessária porque é dividida internamente por 4 pelo controlador. Os
5 MHz resultantes são essenciais para a função
de controlo PWM implementada no software.
O mostrador LED de 2 linhas de 16 caracteres
(que pode ser adquirido no Serviço Elektor) está
ligado à porta RB. Se usar um tipo diferente de
LCD, pode mudar a polaridade da tensão de alimentação da iluminação de fundo do LCD (se
necessário) através de pontes nas posições J1 e
J2. O transístor T2 desliga a iluminação se não
existir nenhuma entrada do utilizador durante
10 segundos. O contraste pode ser ajustado com
P1. Ao contrário da maioria dos circuitos com
LCD, neste é usado um controlo de 8 bits em
vez de 4 bits. Trata-se apenas de uma opção de
concepção uma vez que o microcontrolador tem
vários pins E/S disponíveis.
A intensidade das cores dos LEDs ligados é determinada pelo regulador de modulação de largura de
pulso PWM (Pulse Width Modulation). Ainda que o
controlador disponha de saídas PWM suficientes,
o autor não as utilizou para facilitar o desenho da
placa de circuito impresso do protótipo. Por esta
razão a função PWM é programada em software. O
controlo dos LEDs é feito com MOSFET de potên-
Goswin Visschers
(Holanda)
www.elektor-magazine.pt | Julho - Agosto 2013 | 29
•Domótica | Controlador de Iluminação LED
Características
• Intervalo da tensão de alimentação de 11 a 15 V.
• Compensação da intensidade luminosa com uma tensão de alimentação decrescente.
• Mostrador LCD de 2 linhas com 16 caracteres.
• Mais de 13 opções possíveis de combinações de cor com valores RGB ajustáveis.
• Possibilidade de escolher 3 programas de luz diferentes com 20 mudanças de cor.
A duração máxima de cada cor, assim como da transição para a cor seguinte é de 255 s.
Ambos os tempos podem ser programados em passos de 1 s.
• Execução contínua de um dos 3 programas.
• Aviso sonoro de bateria descarregada com encerramento automático das fitas de LEDs.
• Indicação LED da carga restante na bateria.
Figura 1.
Esquema do controlador
de luzes RGB com um
PIC16F887 como elemento
central.
• Circuito de carga de bateria integrado com comutação automática de carga lenta.
• Bloqueio para crianças para evitar mudanças de configuração das cores ou programas.
• Possibilidade de controlar um controlador através de um conversor RS232/USB.
+5V
RE1.B
3
C4
C7
100n
100u
16V
470n
C8
R7
4
D3
C9
5
3k9
C3
100n
3k9
C2
1u
16V
6
1u
16V
7
1N4148
8
9
10
15
16
17
18
19
20
RE3/MCLR/VPP
RA3/AN3/VREF+/C1IN+
RS
R/W
E
DB0
DB1
DB2
1k
RB4/AN11
PIC16F887-I/P
RE2/AN7
RD7/P1D
RD6/P1C
RD5/P1B
RC0/T1OSO/T1CK1
RC1/T1OSI/CCP2
RD4
RC2/P1A/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RD0
RC7/RX/DT
RD1
OSC1
13
OSC2
X1
R17
38
RB6/PICSPCLK
RB7/ICSPDAT
39
40
15p
R13
1
2
R12
T4
2
T5
3
4
5
K4
6
7
8
4
9
2
3
3x IRL540NPBF
2
3
1
30 | Julho - Agosto 2013 | www.elektor-magazine.pt
K3
3
1
+5V
1
4
10k
10k
R14
4
ENTER
K5
4
28
1
27
24
ENC3
25
26
BACK
5
R20
4
1
BZ1
3
2
+5V
CBUS4
+5V
CBUS3
VCC10
CBUS2
+3V3
CBUS1
GND
CBUS0
CTS
RESET
R1
DCD
RXD
DSR
TXD
DTR
RTS
D6
23
3
2
Submenu_2
23
USB Serial Bridge
Module
4
2
MODE
SELECT
2
Submenu_1
5
K8
MOD-110533
DIL
K2
3
1
3
S1
T3
5
10k
R15
1k
4
R19
29
31
Menu
ENC1
R18
C6
20MHz
15p
1
R16
ENC2
30
VSS
14
BC547
36
37
RB5/AN13/T1G
RE1/AN6
+5V
35
RB2/AN8
RE0/AN5
1
T2
34
RB1/AN10/C12IN3–
RA5/AN4
+5V
33
RB0/AN12/INT
C5
BATTERY
DISPLAY
LEDC
VO
21
RD2
RB3/AN9/PGM/C12IN2–
RA4/T0CKI/C1OUT
1
R22
22
RD3
IC2
RA2/AN2/VREF–/CVREF/C2IN+
+5V
1N4148
BACKLIGHT
J2
D5
D4
10 11 12 13 14 15 16
32
RA1/AN1/C12IN0–
12
BC547
9
J1
VDD
RA0/AN0/ULPWU/C12IN0–
+12V
T1
8
47R
VDD
VSS
RE1.A
7
10k
10k
10k
10k
2
470u
16V
6
10k
11
1
C1
5
100n
1N5400
12V
Battery
4
P1
R6
R4
3
10k
2A T
2
10k
K7
IC1
LM7805
D2
F1
R5
1
+5V
C10
R3
VCC
+5V
+12V
10k
+5V
1k
+12V
VSS
+5V
Power
R21
LC DISPLAY 2 x 16
LEDA
5
DB7
4
DB6
3
DB5
2
DB4
1
K6
CHILD
LOCK
DB3
10k
S2
PGC
0W5
PGD
5W
1N5400
LCD1
47R
GND
3A15 F
R11
VCC
K1
R10
MCLR
1R
R9
10k
R1
10k
R2
10k
R8
D1
F2
1N4148
22
21
20
19
18
17
16
15
Elektor - 110533
USB
110406 - 11
LED Lighting Controller
v i c e.c
om
.e l e k
ww
r p c bs
er
to
w
Figura 2.
Os controlos e o LCD são
também montados na Placa
de Circuito Impresso.
cia T3, T4 e T5 que comutam com níveis de sinal
TTL. As fitas de LEDs RGB (4 unidades no máximo)
estão ligadas aos conectores K2 a K5. Cada MOSFET pode fornecer facilmente vários amperes sem
necessidade de uma refrigeração adicional.
Bz1 é um alarme com oscilador integrado, pelo
que o fornecimento de tensão de alimentação é
suficiente para que faça ruído. Para os elementos
de controlo utilizam-se 3 codificadores rotativos
com botões incorporados.
RA0 e RA1 do microcontrolador servem de entradas para a conversão A/D. RA0 mede a tensão
da bateria e RA1 detecta se a tensão é superior
a 14 quando é ligado um carregador de baterias.
Os divisores de tensão R5/R4 e R6/R7 reduzem
a tensão de modo a ser compatível com a capacidade de tensão do microcontrolador. C8 e C9
eliminam a ondulação indesejada.
No esquema também se pode ver um módulo de
conversão para USB (Elektor BOB [1]), o qual pode
ser ligado a um PC. O circuito pode ser controlado
remotamente com a ajuda de vários comandos
num programa emulador. Para mais informações
sobre este tema é possível consultar o manual de
instruções disponível para download gratuito no
site Elektor [2].
Lista de componentes
Resistências:
R1 = 47 Ω/0,5 W
R2 = 1 Ω/5 W
R3,R5,R6,R8...R14,R16...R19 = 10 kΩ
R4,R7 = 3,9 kΩ
R15,R20,R21 = 1 kΩ
R22 = 47 Ω
P1 = ajustável 10 kΩ, horizontal
Condensadores:
C1 = 470 µF/16 V, radial
C2,C3,C10 = 100 nF
C4 = 100 µF/16 V, radial
C5,C6 = 15 pF
C7 = 470 nF
C8,C9 = 1 µF/16 V, radial
Semicondutores:
D1,D2 = 1N5400
D3,D4,D6 = 1N4148
T1,T2 = BC547B
T3,T4,T5 = IRL540 (International Rectifier,
Farnell 8651078)
IC1 = LM7805
IC2 = PIC16F887 programado
(Ref.ª 110406-41)
D5 = LED vermelho, 3 mm
Diversos:
X1 = cristal de quartzo de 20 MHz
F1 = fusível de 2 A T, com suporte para PCI
F2 = fusível de 3,15 AT com suporte para PCI
BZ1 = besouro DC (com oscilador integrado)
RE1 = relé SPDT de 12 V/2 A (por exemplo,
Finder 40.31.7.012.0000, Farnell 1169158)
MOD1 = conversor Elektor USB/Série BOBFT232R [1]
S1,S2 = interruptor deslizante, em ângulo,
PCI (por exemplo, C&K OS102011MA1QN1,
Farnell 1201431)
S3,S4,S5 = codificador rotativo
com interruptor
integrado (por exemplo Alps,
EC12E2424407,
Farnell 1520813)
K1,K7 = bloco de terminais de aperto
de 2 vias,
PCI, passo 5 mm
K2,K3,K4,K5 = barra de terminais de 4 vias
K6 = barra de terminais de 5 vias
LCD1 = LCD 2x16 caracteres, com iluminação
de fundo (Refª 120061-71)
J1,J2 = barra de terminais de 3 vias,
com ponte de ligação
Barra de terminais de 40 vias para IC2
PCI (Refª 110406-1) disponível na
Guimocircuito
– www.guimocircuito.com [2]
www.elektor-magazine.pt | Julho - Agosto 2013 | 31
•Domótica | Controlador de Iluminação LED
A estabilização da tensão de alimentação é feita
com um popular 7805, alguns condensadores (IC1,
C1...C4) e um díodo (D2) para a protecção contra inversão de polaridade. O valor do fusível F1
incorporado no regulador depende da carga. Se
são usadas fitas de LEDs de 2 metros é suficiente
um fusível de 2 AT, mas é aconselhável verificar
cada caso e obviamente que deve ser feito quando
todas as cores estão a ser usadas na sua intensidade máxima.
Liga-se a bateria ao conector K7, e em K1 o adaptador de rede que tem que ser capaz de fornecer
15 V (2 A no mínimo). O transístor T1 controla
o relé RE1, que por sua vez liga a resistência R1
quando tem que carregar a bateria. O tipo de
relé não é essencial desde que os seus contactos
possam ser ligados a mais de 2 A e a tensão da
bobina exceda os 12 V. Pode saber mais sobre este
assunto na secção Funcionamento, mais abaixo.
O circuito em si consome apenas 25 mA durante
a utilização, mas com o LCD iluminado de fundo
aumenta para 50 mA.
Placa de circuito impresso
A Figura 2 mostra a placa de circuito impresso
do controlador de luzes desenhada no laboratório da Elektor. Foram utilizados componentes
convencionais, pelo que os leitores com pouca
experiência em soldar não vão ter dificuldades.
Todos os componentes são montados na face dos
componentes. Com um alicate plano dobram-se
os terminais do estabilizador e os MOSFETs, para
que fiquem agarrados à placa depois de terem sido
soldados. Estes componentes não necessitam de
dissipadores para um uso normal. É aconselhável
colocar o microcontrolador (disponível pré–programado) num suporte adequado. Se quiser utilizar a
ligação série para o PC terá também que colocar
o conversor USB/Serie BOB-FT232R, o qual pode
ser montado directamente na placa ou colocado
sobre duas barras de terminais SIL de 9 vias.
Software
O programa do circuito foi escrito em ANSI C
usando MPLAB e compilado com o compilador C
da Hi-Tech que, no modo de licença de teste está
completamente funcional (válido durante 45 dias).
Neste caso em concreto a versão lite do compilador não é adequada porque não proporciona uma
suficiente optimização, resultando num código executável que é demasiado grande para a memória
de 8 kB do microcontrolador. No site da Elektor
[2] estão disponíveis para download gratuito os
32 | Julho - Agosto 2013 | www.elektor-magazine.pt
códigos fonte e hexadecimal, bem como o desenho da placa de circuito impresso. Pode também
encomendar o controlador pré-programado através
do Serviço Elektor. A parte mais importante do
software é a rotina de atendimento à interrupção
ISR (Interrupt Service Routine). Esta rotina foi
optimizada com a ajuda da função stopwatch do
MPLAB de modo a minimizar o seu tempo de execução. A ISR está dividida em varias sub-rotinas
que podem ser executadas a cada 100 µs, 5 ms,
100 ms ou 1 s. A cada 100 µs é chamada a ISR
que, com a ajuda dos contadores, se encarrega
de que as sub-rotinas são executadas nos outros
momentos mencionados. Para poupar memória
foi usado, numa primeira fase, um contador que
determinava os momentos de 1 ms e 100 ms.
Durante cada chamada de interrupção (cada 100
µs) era calculado o módulo (o resultado é o que
resta de uma operação de divisão). Se o resultado era 0 tinha passado 1 ms. Durante a depuração com o stopwatch aconteceu que o cálculo do
módulo requeria tanto tempo que foi mais sensato
utilizar um contador adicional para determinar os
intervalos de 1 ms.
A regulação automática da iluminação funciona
da seguinte forma: a frequência normal do PWM
é de 100 Hz com 11 V. No caso de a tensão da
bateria ser maior que 11 V significa que os LEDs
se iluminam mais intensamente com o mesmo
ciclo de trabalho. Um método muito mais simples
é manter igual o tempo em que os LEDs estão
acesos e reduzir a frequência de PMW com uma
tensão mais alta. Isto significa que se faz o cálculo uma única vez para o mesmo resultado. A
diferença entre uma frequência de 100 HZ ou 90
HZ não é visível.
Outra parte do software que causou problemas
ao programador foi o código para “fundir” as
cores. Teoricamente, o cálculo é muito simples:
com o valor actual PWM de cada cor, calcula-se
a diferença com o valor PWM do passo seguinte
e divide-se o resultado pelo tempo de transição.
Depois aumenta-se ou diminui-se o valor PWM
para cada cor em cada passo durante o intervalo
de transição (neste caso, o tempo de transição
expressa-se em passos de 100 ms). O resultado
desta divisão é geralmente uma fracção decimal,
o que significa que tem que se utilizar uma variável tipo float para calcular e armazenar o número.
Os microcontroladores PIC16F são apenas de 8
bits, pelo que o compilador teria muita dificuldade
com as variáveis em vírgula flutuante. Isto resultou
em problemas de temporização e erros no código
LED Lighting Controller
compilado. A solução para este problema foi relativamente simples: a multiplicação e divisão de
números inteiros requer menos tempo e memória que números decimais. Assim, a diferença dos
valores PWM de cada cor é primeiro multiplicada
por 100 e depois dividida pelo tempo de transição, como é possível verificar no seguinte código
(ver Listagem 1).
Em cada passo durante o intervalo de transição
(cada 100 ms) é calculado o valor PWM correspondente e depois dividido por 100. O resultado
é um número inteiro arredondado a duas casas
decimais, e não um número decimal (ver Listagem 2).
Graças a esta solução um microcontrolador de 8
–bit pode efectuar transições de cores sem problemas significativos de desempenho.
Funcionamento
Ao ligar o controlador aparece o nome e número
da versão no ecrã e um segundo depois o menu
fica disponível. Usar o controlador é muito intuitivo, mas também pode consultar um manual em
inglês [2] que está disponível para download gratuito no site da Elektor.
Pode navegar por todo o menu através do codificador rotativo ENC1. Primeiro vê as três opções
Run Program <x> (x de 1 a 3) para a execução
de programas pré-programados. Seleccione um
dos 3 programas e carregue ENTER (interruptor
ENC2). Para voltar ao menu carregue em BACK
(interruptor ENC3).
A opção do menu Charge Battery permite verificar o nível de carga da bateria. Primeiro liga-se um carregador de baterias de 15 V e depois
selecciona-se esta opção. Deste modo é accionado
um relé que faz um atalho para a resistência R1,
fluindo assim mais corrente para a bateria. Neste
caso, as tiras de LED são desligadas para prevenir eventuais estragos causados pela excessiva
entrada de corrente.
O relé é desligado quando a tensão da bateria
atinge os 13,8 V. Isto diminui a tensão do carregador de bateria para o seu nível de carga mais
reduzido e as tiras de LED são outra vez ligadas.
Battery Charge mostra a carga restante da bateria em passos de 10%. Este valor é determinado
medindo a tensão da bateria e mostrando-a em
percentagens, sendo que 0% corresponde a 11
V e 100% a 13,8 V.
O LED D5 mostra o estado de carga da bateria. Se
a bateria está cheia (13,2 V), o LED está sempre
aceso. Se a bateria começa a ficar vazia pisca 1
segundo com uma frequência que depende da restante carga de bateria, sendo que se estiver prestes a ficar descarregada o LED acende apenas por
breves instantes. Quando a bateria está tão fraca
que nem acende o LED, começa a soar um alarme.
O interruptor S2 funciona como bloqueio para
crianças quando está fechado. Neste caso não
estão disponíveis as opções de menu Edit Program <x> e Edit <color>.
Para configurar uma das cores, selecciona-se Edit
<color>, carrega-se em ENTER e usa-se os codificadores rotativos para configurar o vermelho,
verde e azul entre 0 e 100% com passos de 1%.
Listagem 1
fade_step_red = current_red_value - next_red_value;
fade_step_green = current_green_value - next_green_value;
fade_step_blue = current_blue_value - next_blue_value;
fade_step_red = fade_step_red * 100;
fade_step_green =
fade_step_green * 100;
fade_step_blue = fade_step_blue * 100;
fade_step_red = fade_step_red / fade_time;
fade_step_green =
fade_step_green / fade_time;
fade_step_blue = fade_step_blue / fade_time;
Listagem 2
tmp_red_value = fade_tmr * fade_step_red;
tmp_green_value = fade_tmr * fade_step_green;
tmp_blue_value = fade_tmr * fade_step_blue;
tmp_red_value = tmp_red_value / 100;
tmp_green_value = tmp_green_value / 100;
tmp_blue_value = tmp_blue_value / 100;
red_value = next_red_value + tmp_red_value;
green_value = next_green_value + tmp_green_value;
blue_value = next_blue_value + tmp_blue_value;
Carregue em ENTER novamente para guardar a
nova configuração ou BACK para voltar ao menu
sem gravar a nova configuração.
A configuração de um programa é feita seleccionando Edit Program <x> e carregando em ENTER.
Selecciona-se a cor com o ENC1, o tempo de
paragem com o ENC2 e configura-se o tempo de
transição com ENC3.
(110406)
Artigo original: Ambience Lighting Controller
January & February 2013
Internet
[1] www.elektor.com.pt/110553
[2] www.elektor.com.pt/110406
www.elektor-magazine.pt | Julho - Agosto 2013 | 33
•Rádio & TV
Excitador para FM
banda larga
Saída de 130 mW
Sjef Verhoeven,
PE5PVB
(Holanda)
A maioria dos transmissores de rádio dos amadores não são projectados
para transmitir sinais de áudio de alta-fidelidade em banda larga.
Contudo, o excitador de FM de banda larga (430-440 MHz) descrito aqui cumpre
essa tarefa, com uma largura de banda de áudio de de 20 Hz a 100 kHz.
Características técnicas
• Gama de frequências de 430–440 MHz em passos de 25 kHz.
• Largura de banda de áudio de 20 Hz a 100 kHz.
• Tempo de sincronização PLL inferior a 1 s.
• Tensão de alimentação de 12–15 V.
• Consumo de corrente aproximado de 250 mA para uma potência
de saída de 130 mW.
Já quase toda a gente no mundo brincou em
alguma altura com walkie-talkies. Estes são estupendos para ter agradáveis conversas sem fios,
mas as ligações de rádio deste tipo sofrem de
uma pobre qualidade e do facto de apenas uma
pessoa só poder falar de cada vez. Os radioamadores autorizados têm comunicado desta forma
34 | Julho - Agosto 2013 | www.elektor-magazine.pt
desde os primeiros dias. Com a escolha correcta
dos equipamentos, frequência e antena, os radioamadores podem ligar-se uns com os outros no
mundo inteiro de várias formas.
Mas que opções existem se quiser estabelecer
uma ligação com uma boa qualidade de som?
Neste artigo descrevemos o projecto de um excitador FM de áudio de banda larga completo para
a banda de 430-440 MHz. O sinal de saída não
é muito diferente do que pode encontrar numa
radiodifusão de FM VHF, o que significa que a
banda de áudio é aproximadamente de 20 Hz
a 100 kHz. Graças a esta largura de banda de
áudio, é bastante fácil estabelecer sessões de
conversação áudio com vários transmissores e
relativamente baixa distorção. Isto é muito seme-
Excitador para FM banda larga
lhante ao Teamspeak ou outras ferramentas de
conversação, mas sem jitter, distorção devido aos
codecs, ecos e atrasos. Com as antenas certas, a
altura da antena e possivelmente um amplificador, pode facilmente efectuar ligações com boa
qualidade de serviço (QoS) a uma distância de
algumas dezenas de quilómetros, ou até mesmo
350 quilómetros com as condições climatéricas
adequadas.
Uma licença de radioamadorismo da classe adequada é necessária para operar este excitador.
Pode obter essa licença nas autoridades locais, em
Portugal essa entidade é a Anacom. Entre outras
coisas, isto significa que a utilização deste transmissor não se destina a radiodifusão de música
para qualquer tipo de audiência. Normalmente,
são administrados exames técnicos para licenças
de radioamadorismo. Em muitos países, alguns
voluntários fornecem um pequeno treino sobre
questões relacionadas com a emissão de rádio.
No site da Anacom pode encontrar toda a informação relevante sobre esta questão.
Para receber o sinal pode usar um receptor com
capacidade para receber o sinal de FM de banda
larga. Um conversor que converte a banda de
430-440 MHz para uma faixa de frequências mais
baixa na gama dos 90-100 MHz, é frequentemente usado. Assim, é possível usar depois um
simples rádio FM normal para escutar o sinal.
Dicas para construção
• Utilize apenas condensadores cerâmicos, mesmo para valores
acima de 1 µF.
• A maior parte das resistências e condensadores são do tipo
SMD 0805, mas existem alguns 1206.
• Se fizer a sua própria placa de circuito impresso, garanta que tem
vias suficientes. Isto é particularmente importante em torno
da secção de RF.
• Utilize bobinas sem núcleo de ferrite. Isto é especialmente importante
no andar de oscilação, uma vez que a ferrite é uma conhecida fonte
de ruído.
• Instale todo o circuito dentro de uma folha de metal para blindagem.
A placa de circuito impresso deve ser desenhada com dimensões
standard.
• Primeiro, prepare a folha de metal para blindagem (furos para DC,
conectores de áudio e RF). Depois, monte a placa na caixa de metal
e solde-a em volta em ambas as faces. Monte os componentes
apenas depois de a placa estar totalmente fixada na caixa metálica.
Diagrama do circuito
Optámos por usar um oscilador Colpitts para gerar
o sinal de RF para o excitador. Este é construído
em torno de um MOSFET de dupla porta (T2).
Este oscilador funciona à frequência de transmissão. Num oscilador Colpitts, a frequência é
determinada por um circuito ressonante paralelo
que consiste num divisor de tensão capacitivo e
uma bobina. Neste caso os condensadores C23
e C25 formam o divisor de tensão e L4 corresponde à bobina. A bobina consiste num pequeno
pedaço de cabo coaxial fino, que funciona essencialmente da mesma forma que uma stripline.
A modulação devido à vibração mecânica pode ser
evitada usando um cabo relativamente flexível,
como o RG174. Para que o circuito oscile é necessária existir realimentação, sendo esta fornecida
pela resistência R25. Muitos circuitos osciladores
Colpitts utilizam uma realimentação directa sem
resistência, mas a experiência mostra que um
pouco de resistência torna o circuito mais estável, com uma frequência mais limpa. O condensador ajustável TR2 serve para permitir ajustar
• Alimente o circuito a partir de uma fonte de alimentação limpa
de ruídos espúrios. Algumas fontes de alimentação comutadas
possuem componentes de frequência na tensão de saída
e que são perfeitamente audíveis como ruído ou zumbido.
Uma fonte de alimentação convencional é sempre preferível.
www.elektor-magazine.pt | Julho - Agosto 2013 | 35
•Rádio & TV
VR4
UA78M05IDCY
+5VVR4
+5VVR3
220n
R41
33R
+5VVR4
C45
P2
470R
14
2
1
17
4
3
18
6
5
1
16
VDD
RA0
8
7
10
9
12
11
13
14
13
12
16
15
11
18
17
10
20
19
9
MCLR
RA1
RA6
RA2
RA3
IC4
RA7
RA4
16
4
12
15
13
2
2
3
1
PIC16F628A
-I/P
RB7
RB6
RB5
8
100n
1k
R43
R35
470R
K1
R39
R42
LED1
10k
100n
R48
R37
10k
100n
4k7
C44
4k7
C43
4k7
R38
R36
C42
4k7
+12V
DC IN
RB4
RB0
RB3
RB1
RB2
5
C47
C46
220p
220p
3
11
6
10
7
9
VDD
X0
14
X
X1
IC5
Y0
15
Y
Y1
Z0
4
Z
Z1
CD4053BPW
RG3
A
B
C
VEE
VSS
7
8
VSS
6
INH
5
VR1
UA78M05IDCY
+5VVR3
R19
+5VVR1
TP3
+12V
100n
220n
VR3
L78L05ACUTR
1
8
2
7
3
6
4
5
BCP54 T5
PA MODULE
T4
TP4
C50
+12V
+9VVR2
R45
0R
C13
R46
0R
VR2
L78L09ACUTR
C16
R44
2k2
0R
2k2
+12V
CON2
TP8
BC857
+5VVR3
R47
100n
C49
C17
C36
C38
C39
C40
10u
220n
10u
100n
100p
P3
10k
100n
+5VVR3
+9VVR2
R21
33k
120nH
10u
R29
C30
L11
120nH
10n
R24
100k
4p7
0R
R12
100k
R13
L2
330nH
10u
C10
R6
100n
2k2
R3
82k
L4
R17
220R
25p
R1
270R
R2
270R
4
5
6
7
Figura 1.
Diagrama esquemático
da placa do circuito principal
com o microcontrolador
e a secção de RF.
36 | Julho - Agosto 2013 | www.elektor-magazine.pt
CP
Q1
VCC
IC1
TP7
DRIVE
RF1
Q2
RF2
SDA
4p7
SCL
P3
P7
P4
P6
270R
22k
270R
BZX84-B10
TP9
16
C8
13
L3
100p
14
SP5511S P0 11
VEE
15
TP6
R33
PMBT3904
1u
100n
P5
10
9
8
C7
1n
1n
C18
82p
R16
C6
22R
R10
R14
R18
150R
+5VVR1
3
R31
R28
C4
1k
TR1
C41
330nH
R26
4p7
T1
12
3.2MHz
L8
C25
6p
VD
RF OUT
GND
R5
C9
2u2
2
RF IN
BF998
+12V
D1
220n
1
TR2
D4
C2
X1
10R
120nH
GND
R25
Coax
10k
C12
C1
4R7
BF998
8p2
1k
TP1
R32
C24
C15
R8
IC3
ADA4743
56p
1k
10p
D3
T3
1k
C20
5p6
56p
33k
D2
R11
680R
470R
P1
C19
L12
TP5
C37
100p
T2
220R
330nH
10u
R9 25V
R40
R15
L1
300R
100p
82R
C11
R7
4k7
C33
C31
150R
R4
D2...D4 = BB135
100p
100k
LF IN
R20
C14
10n
22k
C22
JMP1
10n
R30
R27
22k
C5
R23
R34
C34
47R
100R
L7
33k
R22
C28
120nH
IC2
MGA31189
1
3
RF IN
RF OUT
GND
2
C21
100p
C23
C26
C29
10p
100n
2u2
TR3
L5
L6
L9
10p
L10
6nH8
27nH
27nH
6nH8
C27
C32
C35
8p2
12p
8p2
RF OUT
120267 - 11
Excitador para FM banda larga
LCD1
VSS
VDD
VL
RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
LED+A
LED-C
2 x 16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
+5V
+5V
LED2
R49
470R
LOCK
19
17
15
13
11
9
7
5
3
1
S1
LED3
K1
C52
C53
C51
100n
100n
100n
PWR
20
18
16
14
12
10
8
6
4
2
o oscilador para a gama frequências pretendida.
Os díodos D3 e D4 são varicaps controlados por
uma tensão de controlo. Isto permite efectuar
uma sintonia da frequência electricamente numa
gama de aproximadamente 30 MHz.
Como este circuito é um excitador FM, precisamos
e conseguir modular a frequência do sinal da portadora de acordo com a amplitude e frequência
do sinal de áudio. Isto é efectuado com a ajuda
de um díodo varicap D2. Variando a tensão neste
díodo variamos a capacidade do circuito LC, o que
causa uma varação na frequência. Para manter
a modulação o mais linear possível, optámos por
usar díodos varicap diferentes para a sintonia
e modulação. Para evitar grandes diferenças na
profundidade de modulação entre as frequências
mais baixas e as mais altas, o díodo varicap para a
modulação é alimentado por um divisor de tensão
de alta impedância que consiste em R11 e R12,
com C12 adicionado para melhorar a estabilidade
do circuito. A bobina L1 previne a excessiva carga
capacitiva no circuito de modulação, que poderia
causar com que o oscilador deixasse de funcionar.
O condensador C14 efectua o desacoplamento HF
para a entrada de modulação e adicionalmente
garante que o caminho superior da modulação
não afecta a frequência ressonante do circuito
oscilador. Finalmente, os componentes C5, R4,
R7, R8 e R9 efectuam a pré-ênfase. Se necessário, pode aumentar o valor de R8 para reduzir
a atenuação da pré-ênfase. O projecto foi desenhado para uma pré-ênfase de 50 µs.
Um andar tampão na entrada do oscilador, também implementado usando um MOSFET de porta
dupla (T3), mantém a carga na saída do oscilador o tão uniforme quanto possível de modo a
manter a estabilidade do sinal RF.
O sinal RF, com uma potência de aproximadamente 1 mW, é ligeiramente atenuado para ter
uma boa adaptação ao próximo andar de amplificação. Nos anos mais recentes, o mercado tem
sido inundado por uma enorme variedade de circuitos integrados monolíticos para micro-ondas
(MMICs). Estes dispositivos são especificamente
projectados para ampliar sinais na gama de frequências das micro-ondas. A vantagem principal
destes circuitos integrados é que eles facilitam
a amplificação dos sinais de RF sem ter de usar
circuitos sintonizados. Isto evita a complexidade
dos circuitos, reduz o espaço ocupado na placa
de circuito impresso, e reduz também consideravelmente o custo final de todo o circuito. Para o
nosso circuito optámos por usar MMICs da Avago
ROTARY ENCODER
+5V
Technologies, em parte porque se adequam perfeitamente bem ao nosso circuito e por outro lado
porque é importante escolher MMICs que estão
facilmente disponíveis no mercado. O primeiro
MMIC IC3 (ADA4743) amplifica o sinal RF para
aproximadamente 40 mW. Este sinal é atenuado
e depois aplicado ao MGA31189 (IC2). Este MMIC
tem uma potência de saída nominal de 250 mW.
Contudo, neste circuito limitámos a tensão de
alimentação de IC2 a um máximo de 4,2 V (fornecida pela combinação de T4 e T5), pelo que a
potência de saída vai ficar um pouco mais abaixo,
cerca de 120 a 130 mW. Este é um bom nível de
potência para excitar um amplificador final, que
em muitos casos será um módulo RF de potência.
Para ajustar a frequência desejada e mantê-la
o mais precisa possível é usada uma PLL. Isto
envolve passar a frequência de transmissão por
um divisor de frequência e comparar o sinal
de saída com um sinal de referência. Se existir
alguma diferença, uma tensão de controlo tenta
ajustar a frequência para reduzir essa diferença
até que o sinal de RF dividido e o sinal de referência estejam em fase. No nosso circuito esta
tensão de controlo é aplicada aos díodos varicap (D3 e D4) depois de filtrada por um filtro. O
filtro é essencial e deve ser dimensionado para
evitar que a PLL responda muito rapidamente.
Isto porque o oscilador é modulado em frequência, onde a frequência deve variar de acordo
com o sinal de áudio aplicado. Se a PLL res-
120267 - 12
Figura 2.
A secção do controlo
de operação inclui um
codificador rotativo
e um módulo LCD
de 2x16 caracteres.
www.elektor-magazine.pt | Julho - Agosto 2013 | 37
•Rádio & TV
Figura 3.
A placa de circuito impresso
tem componentes
em ambas as faces.
ponder muito rapidamente, a qualidade de som
do sinal modulado será afectada. É assim muito
importante encontrar um bom equilíbrio entre a
máxima largura de banda (aproximadamente 180
kHz) e estabilidade da frequência. Neste circuito
usámos um SP5511 ou TSA5511 (IC1) para a
PLL. Estes dispositivos estão facilmente disponíveis no mercado e a preços competitivos. Os
circuitos integrados da PLL foram originalmente
projectados para serem usados em circuitos de
sintonia de televisão (incluindo sintonizadores
de satélite). São muitas vezes vistos em televisores de modelos mais antigos, gravadores de
vídeo ou receptores de satélite. O incremento na
frequência mais pequeno que esta PLL consegue gerar é 50 kHz com um cristal de 3,2 MHz.
Contudo, o que nós pretendemos neste circuito
é um passo de 25 kHz. Isto pode ser facilmente
obtido usando a segunda harmónica do sinal RF
como entrada da PLL. Este sinal é retirado entre
IC3 e IC2 usando uma bobina de acoplamento.
A PLL é controlada por um microcontrolador
PIC16F628A (IC4) através de um barramento
I²C. Uma grande desvantagem desta PLL é que
gera algum acoplamento entre o barramento I²C
e o circuito de excitação e carga. Isto resulta
num som com zumbido no sinal de áudio com
a frequência de relógio do barramento I²C.
A intenção do autor era poder não só controlar o excitador mas também o amplificador de
potência (se usado), ou qualquer outro tipo de
hardware, através do barramento I²C. Os dados
para isto, que em todo o caso não se destinariam à PLL, também seriam audíveis. No projecto
38 | Julho - Agosto 2013 | www.elektor-magazine.pt
actual este problema foi resolvido colocando um HEF4053
(IC5) entre o barramento I²C
e o circuito integrado da PLL.
Quando os dados do barramento I²C não se destinam à
PLL, a ligação I²C para a PLL é
bloqueada. Esta é uma solução
muito barata e eficiente.
O excitador é controlado usando
um codificador rotativo com
um botão de pressão integrado. Em conjunto com dois
LEDs e o módulo LCD (Figura
2), está localizado numa placa
separada ligada a K1. Em operação, simplesmente selecciona
a frequência de transmissão e
depois pressiona o codificador
rotativo para confirmar. A respectiva informação é enviada para a PLL, e o estado da PLL
lido. Quando a PLL indica que a diferença de
fase entre o sinal RF dividido e o sinal de referência é zero, esta informação é enviada para
o microcontrolador. O microcontrolador ilumina
então o LED2 (indicador de sincronismo da PLL).
Liga também a tensão de alimentação do MMIC
final, de modo que o excitador apenas coloque
o sinal de RF na saída quando estiver a funcionar à frequência de transmissão pretendida. A
tensão de alimentação do MMIC final pode ser
ajustada com o potenciómetro P3, o que permite
reduzir a potência de saída para o nível desejado
até aproximadamente 1 mW. Isto faz com que
este excitador seja adequado para usar com uma
grande variedade de amplificadores de saída de
potência. O conector de 8 pinos CON2 pode ser
usado para ligar um dispositivo externo a controlar pelo microcontrolador, como, por exemplo,
um amplificador de saída.
Quando o autor começou a trabalhar neste projecto, não estava especialmente familiarizado com
a programação de microcontroladores. Começou
por usar o PIC Simulator IDE. Este é um ambiente
de desenvolvimento de software muito simples
que utiliza a sua própria versão Basic. A boa
coisa deste software é que inclui um simulador
completo, pelo que consegue simular o software
antes de o carregar num microcontrolador. A desvantagem consiste nas opções de cálculo, que
são muito limitadas. Para evitar tornar as coisas muito complicadas, o autor optou por trabalhar com outros dois contadores diferentes. Um
Excitador para FM banda larga
desses contadores trata da leitura de frequência, enquanto que o outro efectua a divisão. Por
outras palavras, se aumentar a frequência de
transmissão no LCD em 25 kHz, o contador responsável pela divisão é incrementado de uma
unidade. Nos extremos superior inferior da gama
de frequências coberta pelo excitador (430 MHz e
440 MHz), o contador para a divisão é carregado
com um valor predefinido.
Toda a informação necessária para este projecto
(desenhos das placas de circuito impresso, lista
de componentes, ficheiros com o código fonte e
hexadecimal para o microcontrolador) está disponível no site da Elektor [1].
Figura 4.
Em conjunto com o
microcontrolador e vários
conectores, uma pequena
porção de cabo coaxial
que actua como bobina
para o oscilador é montado
na face inferior da placa.
Funcionamento
O excitador é controlado usando um único codificador rotativo com um botão de pressão integrado. O leitor selecciona uma nova frequência
rodando o botão do codificador. Quando faz isto,
aparece a palavra TUNE no canto esquerdo do
mostrador. Quando pressiona o botão do codificador, a nova frequência é armazenada em memória
e o excitador sintonizado para esta nova frequência. Quando a PLL estiver sincronizada, o LED
sincronismo acende e o andar de saída é ligado.
Se a PLL não conseguir sincronizar, o LED de sincronismo permanece apagado e á apresentada a
indicação PLLERR. Se a PLL não receber nenhuns
dados do barramento I²C, é apresentada a indicação I2CERR. Em ambos os casos o microcontrolador vai continuar a tentar configurar a PLL
até que esta obtenha o sincronismo.
Construção
Quando construir circuitos de RF, especialmente
em UHF, é muito importante manter todas as
ligações o mais curtas possível. O nível de massa
deve também ser mantido o mais possível ao nível
de massa idêntico em todo o plano de massa. É
por isso que existem tantas vias de ligação de um
lado para o outro na placa de circuito impresso no
plano de massa (Figura 3). Se quiser fazer a sua
própria placa de circuito impresso, é muito importante incluir estas vias de passagem. A placa foi
desenhada para caber dentro de uma caixa de
folha de metal com uma dimensão de 74 x 148
mm, disponível comercialmente. A placa deve ser
soldada à folha de metal da caixa ao longo de
todas as extremidades no topo, dos lados e no
fundo. Isto garante uma óptima ligação à massa.
Uma caixa de fabrico caseiro feita de material
plástico não é adequada para este circuito.
O procedimento de construção usado pelo autor
é o seguinte: primeiro, fixe a placa de circuito
impresso à caixa de folha de metal e instale
no chassis todos os componentes necessários.
É recomendado um conector SMA para a ligação
da antena. Se usar um conector sem ser SMD,
este pode facilmente ser soldado à caixa. Isto
também elimina a necessidade de usar parafusos.
Os conectores para a tensão de alimentação e a
entrada de áudio podem ser montados em qualquer localização que quiser. Um conector do tipo
RCA é uma boa escolha para a ligação de áudio.
Todos os componentes SMD estão localizados
num dos lados da placa de circuito impresso,
enquanto que as três barras de pinos, o pequeno
cabo coaxial e o microcontrolador estão na outra
face. A Figura 4 mostra uma visão detalhada da
stripline. Esta consiste num pequeno cabo coaxial flexível com cerca de 4 cm de comprimento,
com ambas as extremidades soldadas à placa.
Numa das extremidades o condutor central e a
malha são unidos e soldados à placa de circuito
impresso. Na outra extremidade a malha deve
ser dividida em duas e soldada à massa como se
mostra na foto, com o condutor central soldado
ao terminal entre esses dois pontos.
Depois disso deve montar o circuito secção a secção. Comece pela secção do oscilador. Verifique
que oscila na gama dos 400-500 MHz. Pode usar
um frequencímetro ou um analisador de espectro
para isso. Depois, monte os componentes para
o andar tampão e os dois andares amplificadores MMIC. Forneça uma ligação temporária para
a fonte de alimentação para o último MMIC de
www.elektor-magazine.pt | Julho - Agosto 2013 | 39
•Rádio & TV
Figura 5.
A placa de controlo é muito
simples e fácil de construir.
Contudo, note que o
conector de 2x10 vias para
a ligação à placa principal
deve ser montado
na parte traseira.
forma que também possa funcionar. Verifique
que a secção de RF funciona recorrendo a milivoltímetro de RF ou outro instrumento adequado.
Se a secção de RF funcionar correctamente, pode
então montar a PLL e o microcontrolador. Utilize
um suporte de 18 pinos para o microcontrolador, e programe o microcontrolador antes de o
inserir no suporte.
Os controlos são localizados numa placa de circuito impresso separada como se mostra na
Figura 4. A montagem dessa placa é muito simples e directa. Todos os componentes (excepto
um) são montados na face dos componentes.
Pode usar um conector de 16 pinos para ligar o
mostrador LCD. Na face inferior da placa de circuito impresso, monte um conector de 20 pinos
para ligar a K1 na placa de circuito impresso
principal usando um flat-cable de 20 vias.
Ajuste
Ligue o excitador (com o mostrador LCD) à tensão
de alimentação. Ajuste P2 para obter o contraste
pretendido para o LCD.
Depois, ajuste a frequência para 435 MHz. Usando
uma chave de ajuste cerâmica ou de plástico,
rode lentamente TR2 até a frequência de transmissão ser de 435 MHz. Meça a tensão em TP1
e rode TR2 até a tensão medida ser de aproximadamente 6 V. Agora pode usar um frequencímetro ou analisador de espectro para ajustar
a frequência de transmissão para exactamente
435,0 MHz com TR1.
40 | Julho - Agosto 2013 | www.elektor-magazine.pt
Em seguida, ajuste P3 para uma saída de potência RF máxima. Em seguida tem que ajustar o
filtro elimina-banda. É necessário um analisador
de espectro para isso. Meça a segunda harmónica a 870 MHz e ajuste TR3 para uma potência
de saída mínima. Se não tiver um analisador
de espectro, pode usar um milivoltímetro RF e
ajustar TR3 para obter uma saída de potência
máxima. Contudo, deve ter em mente que neste
caso a filtragem não será a óptima. Isto tem que
ser depois afinado no amplificador de potência
ligado ao excitador.
Verifique que o excitador funciona correctamente
tanto para 430 MHz como ara 440 MHz. Coloque
um jumper na posição pré-ênfase e ligue uma
fonte de áudio, como, por exemplo, um leitor
de CD. Depois ajuste P1 para uma amplitude de
saída de áudio óptima sem distorção.
O excitador de FM está agora pronto para usar.
Percebemos que alguns radioamadores possam
não ter muita experiência na soldadura de componentes SMD à mão. Para quem tiver interesse,
o autor está disposto a montar e ajustar várias
placas de circuito impresso a um preço razoável. Se estiver interessado, por favor, contacte
directamente o autor em [2].
(120267-I)
Artigo original: Wideband 70-cms FM Exciter
January & February 2013
Internet
[1] www.elektor.com.pt/120267
[2] [email protected]
Pontos de ajuste
P1 Profundidade de modulação (áudio)
P2 Contraste do LCD
P3 Potência de saída
TR1 Sintonia fina (oscilador de referência)
TR2 Sintonia larga (oscilador RF)
TR3Filtro elimina banda Notch segunda
harmónica
Pontos de teste
TP1 Tensão de controlo PLL
TP2 Sinal de modulação depois
de pré-ênfase
TP3 Tensão do oscilador (9 V)
TP4 Tensão do andar de controlo (5 V)
TP5 Tensão do andar de saída (0–4 V)
TP6 Saída do divisor de frequência PLL
TP7 Frequência de referência PLL
Amplificador de transcondutância
Amplificador
de transcondutância
Entrada
de tensão,
saída
de corrente
Um amplificador de transcondutância é um amplificador diferencial especial
onde a corrente de saída depende da diferença das tensões de entrada.
Com a ajuda de um AD844, fabricado pela Analog Devices, torna-se simples criar
um circuito deste tipo. Um amplificador de transcondutância como este pode ser
usado como um andar amplificador versátil para uma grande variedade
de funções de medição, tal como vai ver neste artigo.
O ampop AD844 foi projectado principalmente
para utilizar em aplicações com realimentação
de corrente, mas graças à sua estrutura pode
também ser usado para configurações de malha
aberta como fonte dependente. Por causa disto, é
muito simples usar este ampop como uma fonte
de corrente controlada por tensão (amplificador
de transcondutância), que pode ser usado em
vários aspectos de funções de medida. Este artigo
descreve o funcionamento interno do AD844,
assim como o projecto e construção de um pré-amplificador usando este circuito integrado e
alguns exemplos da sua aplicação.
Funcionamento do AD844
Na Figura 1 apresentamos um diagrama funcional do AD844. O buffer B1 é usado para obter
um entrada positiva (+) de alta impedância e
uma entrada negativa (–) de baixa impedância.
A corrente Iin gerada no circuito interno está também disponível no pino externo TZ, a saída do
conversor V/I (também designada como trans-
condutância). A corrente Iin no pré-amplificador
serve para controlar componentes ou malhas
externas. É colocada uma tensão na saída TZ
através de B2. As resistências R1 a R4 e os condensadores C1 a C3 existem para compensar o
comportamento não ideal do ampop. Os valores
apresentados no diagrama são provenientes da
documentação da Analog Devices [1].
AD844
R1
C1
2p
10M
R3
B1
C2
(Holanda)
C3
3M
4p5
B2
I in
Wim de Jager
I in
R4
15R
2p R2
Vo
TZ
50R
120433 - 11
Figura 1.
Diagrama funcional
do AD844.
www.elektor-magazine.pt | Julho - Agosto 2013 | 41
• Teste & Medida
R6
R9
R11
22k
1k5
4R7
P1
R8
D1
100R
3V9
R1
100k
NEG. IN
220n
2
1k
3
1k
R4
O projecto do pré-amplificador (Figura 2) inclui
um circuito que fornece uma compensação da corrente em repouso, um circuito de corte para proteger a entrada positiva (POS.IN) e um detector
de sobrecarga para a tensão de saída (Vo). Para
todas as aplicações apresentadas neste artigo a
entrada negativa (NEG.IN) encontra-se ligada à
massa. O sinal de entrada POS.IN está ligado à
entrada positiva do AD844 através de R2.
1N4148
470n
R3
Projecto do pré-amplificador
C2
R2
POS. IN
+15V
D2
C1
100R
depende de R3||C3, que corresponde a uma frequência de corte a 3 dB de f3dB ~ 12 kHz para os
valores apresentados no circuito.
IC1
7
4
5
18k
Vo
R o = 16
6
AD844
ZTZ =
6M // 10p
TZ
D3
R i = 68
D6
D8
1N4148
R7
D4
100R
3V9
D10
C3
220n
3V9
D5
D7
R5
R10
R12
22k
1k5
4R7
D5...D8 = 4x
Figura 2.
Diagrama do circuito
completo do amplificador,
usando um AD844.
D9
BAT43
–15V
120433 - 12
Quando é aplicada uma tensão diferencial Vin
entre o terminal positivo e negativo, a função
de transferência é dada por Iin/Vin = 1/R2 = 20
mA/V. Quando não existe nenhuma carga ligada
a TZ, Ao = R3/R2 = 60.000. A largura de banda
IC1
78L15
D2
TR1
+15V
1N4005
Figura 3.
A fonte de alimentação
utiliza um adaptador AC.
Através de uma rectificação
de meia-onda obtemos
uma fonte de alimentação
simétrica a partir de um
único enrolamento
de secundário.
12V...15VAC
C2
230VAC
(115VAC)
42 | Julho - Agosto 2013 | www.elektor-magazine.pt
470u
35V
C1
D1
1N4005
470u
35V
79L15
IC2
–15V
120433 - 13
A tensão máxima permitida entre os terminais de
entrada é 5 VDC e o circuito de corte constituído
por D1-D4, R9 e R10 protege a entrada contra
uma sobrecarga. Escolhemos díodos de silício do
tipo 1N4148 para D2 e D3. Não foram escolhidos
díodos Schottky para este caso porque estes têm
uma corrente inversa relativamente grande, o que
levaria a um desvio de tensão DC não desejado.
Quando é usada uma resistência de ¼ W para
R2, a tensão máxima de entrada pode ser 20 VDC.
É também possível usar uma resistência de filme
de metal de 1 kΩ/2 W, caso em que seria possível ter 50 VDC. Grandes valores para R2 têm
um impacto negativo na resposta em frequência. Quando é usado um condensador de acoplamento, o circuito de corte desempenha um papel
importante para impedir que se registe qualquer
dano ao AD844, devido ao pico de corrente que
ocorre quando o condensador é carregado. Foi
escolhido um valor de 1 mA/V para a transcondutância, o que leva a uma resistência R3 = 1
kΩ. A resistência R4 compensa o efeito de Ri.
Com um valor de 1 kΩ a corrente de entrada
para uma tensão de 5 VDC é de 5 mA, o que
corresponde ao valor máximo de acordo com as
especificações do AD844. Com esta configuração
o AD844 funciona de forma óptima.
A resistência de entrada é determinada principalmente por R1. A corrente em repouso da entrada
positiva do ampop gera uma tensão aos terminais
de R1 de 10 mV quando a ligação POS.IN está
em aberto. Como o desvio do ampop é muito
pequeno, pode ser útil compensar o efeito da
corrente de repouso em certas aplicações (acoplamento AC ou fontes de alta impedância). Como
a direcção da corrente de repouso pode variar
devido ao efeito das tolerâncias nos circuitos com-
Amplificador de transcondutância
plementares, a gama de ajuste do circuito em
torno de P1 foi projectada para se situar entre
-23 mV e +23 mV. As resistências R7 e R8 garantem um caminho de baixa impedância entre o
cursor de P1 e a massa. Quando a entrada POS.
IN é excitada por uma fonte de baixa impedância não é necessário efectuar nenhum tipo de
compensação. Este circuito não é adequado para
compensar o desvio interno do AD844.
TZ corresponde à saída da fonte de corrente
controlada por tensão assim como entrada para
o buffer B2 interno da Figura 1. Na saída TZ
pode ligar qualquer tipo de componente (também semicondutores) ou malha. Uma vez que
não existe qualquer realimentação não existem
quaisquer problemas de estabilidade. A impedância ZTZ introduz um erro na medição, mas o
valor deste erro é muito pequeno para a maioria
das aplicações. A tensão em TZ(Vo) é fornecida
pelo buffer B2.
Com a ajuda do circuito constituído pelos díodos D5 a D10 é acrescentado um detector de
sobrecarga. A tensão V o é rectificada através
de um rectificador de onda completa implementado pelos díodos D5 a D8 (são usados díodos
Schottky devido à sua baixa tensão de condução
directa e o seu bom desempenho para altas frequências), sendo que a saída é depois aplicada
ao circuito série do díodo zener D9 e LED D10.
Quando o LED se acende significa que a distorção do sinal de saída está acima de 0,5% devido
ao limite máximo de saída é excedido; quando o
LED acende com uma luz muito brilhante significa
que o nível de distorção é bastante severo. Os
filtros R11/C2 e R12/C3 são importantes para a
estabilidade do AD844. A Analog Devices recomenda que estes filtros sejam incluídos em qualquer projecto.
tar um problema. Os reguladores de tensão IC1
e IC2 fornecem uma tensão de saída estável e
garantem também uma protecção contra sobrecargas (máximo de 100 mA) e curto-circuitos.
Figura 4.
Interior do protótipo
construído pelo autor.
Implementação
A Figura 4 mostra a caixa usada no protótipo,
esta é feita de alumínio com uma placa de cobre
estanhado no interior. A pequena camada estanhada desta placa é usada como plano de massa
para soldar as ligações de massa. Para as entradas e saídas foram usados conectores BNC, com
conectores do tipo banana para as ligações de
TZ. O suporte para o ampop AD844 está montado numa pequena placa que pode ser produzida
facilmente pelo leitor. Os díodos D5 a D8 foram
soldados na placa onde foi montado o suporte
de circuito integrado. P1 consiste num potenciómetro cermet de 15 voltas, que pode ser usado
para ajustar com precisão a compensação em
repouso. Os transístores bipolares complementares no interior do AD844 têm uma frequência
de transição fT elevada, o que faz com que a
disposição dos fios e pistas tenha que ser desenhada com especial cuidado para prevenir eventuais oscilações parasitas. O plano de massa em
Fonte de alimentação
Para a fonte de alimentação usámos um adaptador de rede (Figura 3). A tensão do secundário é
de 12 VAC/500 mA. Quando o circuito está apenas
ligeiramente carregado, como o caso, a tensão do
secundário do transformador sobe para cerca de
15 VAC, o que é mais do que suficiente para esta
aplicação. De modo a obter uma fonte de alimentação simétrica de ±15 V a partir de um único
enrolamento de secundário foi necessário utilizar
uma rectificação de meia onda. Com a utilização
de condensadores electrolíticos de filtragem de
valor muito elevado isto não deverá represen-
0.60Vrms/div
10kHz
Top: 6.00Vrms/div
Phase: +/- 180deg 36deg/div
120433 - 14
1MHz
Figura 5.
Medição da impedância
de uma bobina, efectuada
com um osciloscópio
USB com um gerador de
funções integrado. 0,6 V/div
corresponde a 6 kΩ/div,
com o máximo de 6 V
a corresponder a 60 kΩ.
www.elektor-magazine.pt | Julho - Agosto 2013 | 43
• Teste & Medida
carga) para um valor em que a tensão em TZ seja
também cerca de 500 mV. Para esta frequência
o valor do ganho é 1 pelo que é possível calcular
o valor de C usando a fórmula R = 1/ωC, onde
obtemos C = 1/ωR.
–5V
D1
BAT43
T1
TZ
BD139
R1
Figura 6.
Circuito para efectuar
medidas num transístor
NPN.
120433 - 15
VS
1R
conjunto com pequenas ligações são a melhor
garantia para um bom desempenho nas altas-frequências e estabilidade.
Medições no pré-amplificador
O efeito do desvio interno do AD844 foi medido
com um micro-amperímetro, ligado em TZ,
quando os terminais de entrada se encontravam
curto-circuitados. O valor medido foi de 0,1 µA,
o que bastante baixo. Se for necessário, o desvio
pode ser ainda mais reduzido usando o circuito
de compensação descrito na documentação do
AD844. Com a entrada POS.IN em aberto a corrente de funcionamento em repouso da entrada
positiva (+) gera uma tensão aos terminais de
R1 de 10 mV, o que resulta numa corrente de
10 µA em TZ. Este valor é muito maior do que
o valor de desvio pelo que faz sentido incluir o
circuito de compensação de funcionamento em
repouso descrito aqui no artigo. Com este circuito é possível reduzir a corrente para valores
abaixo de 0,1 µA.
A resposta AC sem qualquer carga ligada a TZ
foi medida para um sinal entrada de 0,5 mV a
500 Hz. O ganho registado foi de 6.000. Como
1 mA/V × RTZ = 6.000, temos que RTZ = 6 MΩ.
A frequência de corte a -3 dB situa-se nos 2,5
kHz (ω × RTZ × CTZ = 1, pelo que CTZ = 10 pF).
O valor medido para Ri foi de 68 Ω. Para Ro o
valor foi de 16 Ω.
Medições em condensadores e bobinas
Ligue um condensador em TZ e um gerador de
onda sinusoidal em POS.IN. Depois ajuste a
amplitude para, digamos, cerca de 500 mV e a
frequência (de preferência de um valor elevado
para um mais baixo para evitar qualquer sobre-
44 | Julho - Agosto 2013 | www.elektor-magazine.pt
Como exemplo, se para um condensador ligado
o ganho unitário ocorre para uma frequência de
16 kHz, e uma vez que R = R3 = 1 kΩ, então pela
fórmula anterior temos para o valor de C 10 nF.
Quando usámos um medidor LCR Voltcraft 9036
para medir o mesmo condensador obtemos um
valor de 10,47 nF.
Para a medição da auto-indutância recomendamos também uma tensão no gerador de cerca de
500 mV. Neste caso, a frequência deve ser ajustada de baixo para cima para evitar sobrecargas.
Quando ligámos uma bobina com núcleo toroidal
obtivemos o ganho unitário para uma frequência
de 56 kHz. Neste caso ωL = R e L = R/ω = 2,84
mH. Quando usámos o medidor LCR obtivemos
um valor de 2,86 mH. É também possível calcular a auto-capacidade do enrolamento de uma
bobina (Cp) a partir da frequência para a qual
ocorre a auto-ressonância. Para esta bobina em
particular esta frequência situa-se em 360 kHz.
Uma vez que Cp = 1/ω02L, o valor calculado foi
69 pF. Contudo, para obter o valor correcto precisa de deduzir CTZ = 10 pF, o que significa que o
valor real é de Cp = 59 pF. Na situação de auto-ressonância a impedância é igual à resistência
equivalente paralelo, que pode ser determinada
a partir do ganho medido. O valor do ganho é
38, de onde podemos deduzir Rp = 38 × R3 =
38 × 1 kΩ = 38 kΩ.
Medições de impedância
com o Velleman PCSGU250
O osciloscópio USB PCSGU250 da Velleman contém um gerador de funções integrado. É possível usá-lo como um analisador de circuitos com
o software adequado. Com esta combinação é
possível criar diagramas de Bode onde o módulo
e argumento da função de transferência de um
circuito electrónico são apresentados como uma
função da frequência. O conversor V/I deste pré-amplificador permite medir o módulo e argumento de uma impedância. Este tipo de medida
é chamada por vezes de vector de impedância
porque a fase também é medida. Na Figura 5
pode visualizar as características de impedância
Amplificador de transcondutância
e fase da bobina usada anteriormente. A fase é
de aproximadamente 90º para cerca de 200 kHz,
o que é de esperar para uma bobina. A 370 kHz
podemos ver a auto-ressonância, para a qual é
possível determinar a resistência paralelo equivalente. Como a amplitude do gerador é de 100
mV, a escala vertical para o módulo (Y) é 6 kΩ/
divisão. Neste caso, o valor medido para Rp foi
de 34 kΩ.
Figura 7.
Este é o resultado no ecrã
do osciloscópio quando
se efectuam medições
no circuito da Figura 6.
Horizontal 1 mA/div,
vertical 0,2 A/div.
Medições em semicondutores
Uma saída de corrente é também útil para medir
as características em semicondutores, como os
transístores bipolares. Um circuito de medição
para um transístor NPN é apresentado na Figura
6. A tensão de alimentação de -5 V no emissor
permite ligar a resistência de medição (R1) à
massa. A tensão aos terminais desta resistência
(1 Ω) é proporcional à corrente do colector. O
terminal TZ do pré-amplificador é ligado à base
do transístor. A corrente de base é igual a 1
mA/V. O díodo Schottky D1 protege o transístor
T1 contra tensões inversas elevadas. O gráfico
β foi obtido com um osciloscópio (Figura 7), na
vertical temos a tensão aos terminais de R1 e na
horizontal a tensão em POS.IN. A escala vertical
é de 0,2 V/div, que correspondem a 0,2 A/div
para a corrente de colector. A escala horizontal
é de 1 V/div que corresponde a 1 mA/div para a
corrente de base.
Como o sinal em Vs é negativo o modo de inversão (que pode não estar disponível em todos os
osciloscópios) foi seleccionado para obter uma
apresentação positiva. A partir do gráfico pode
determinar que para Ic = 400 mA o ganho de
corrente é β = 118. O segundo exemplo é para
realizar medições num díodo de zener (Figura
8). A escala horizontal é de 0,5 V/div, o que
corresponde a 0,5 mA/div para a corrente que
atravessa o díodo de zener. A escala vertical é
de 1 V/div, que corresponde à tensão aos terminais do díodo de zener. Para uma corrente de
2 mA a tensão de zener é igual a 3,6 V, o que
corresponde exactamente ao que se esperava
pelas especificações.
Figura 8.
Resultado no ecrã
do osciloscópio quando
se efectuam medições
num díodo de zener.
Horizontal 0,5 mA/div,
vertical 1 V/div.
e é igual a 1,6 MHz. As medições confirmaram
estes valores. Uma possível utilização para o pré-amplificador consiste em melhorar a sensibilidade de um qualquer equipamento de medida.
Buffer
O buffer de saída pode também ser usado como
um seguidor de tensão independente, com TZ
como entrada e POS.IN ligado à massa. A largura
de banda é de cerca 10 MHz. A impedância de
entrada é igual a ZTZ = 6 MΩ//10 pF e a resistência de saída é Ro = 16 Ω. A tensão de saída
máxima é de 5 Vrms com uma distorção THD de
0,7% (para 1 kHz). A corrente de saída máxima
é de 80 mADC estando o circuito protegido contra curto-circuitos.
Pré-amplificador
Pode ser criado um pré-amplificador com acoplamento DC muito facilmente ligando uma resistência de carga (RL) em ZT. Por exemplo, com
RL = 10 kΩ o ganho é dado por RL / R3 = 10. A
largura de banda pode ser calculada por RL||CTZ
(120433)
Artigo original: Transconductance Amplifier
December 2012
Internet
[1] www.analog.com
www.elektor-magazine.pt | Julho - Agosto 2013 | 45
•Hardware & Software
Domina as FPGAs (3)
Contar até 100 com 250k portas lógicas
Clemens Valens
(Elektor)
Da última vez vimos como configurar um projecto ISE para programar o módulo
de desenvolvimento FPGA Elektor, utilizando uma aplicação exemplo que faz
piscar um LED. Neste artigo vamos ver como configurar uma estrutura
de projecto hierárquica, com componentes desenvolvidos por si. Como aplicação
exemplo para este artigo, foi escolhido um simples contador cima/baixo com um
mostrador LED de 7-segmentos, com dois dígitos. Neste artigo também vamos
ver como definir os pinos no módulo directamente no User Constraint File (UCF)
sem utilizar a ferramenta PlanAhead.
Aqui vamos novamente
No ISE Project Navigator abra o projecto “Hello
World” utilizado no segundo artigo desta série,
e clique em File -> Copy Project…. Introduza um
nome para o novo projecto (part3, neste exemplo) e escolha a opção Exclude generated files
from the copy, porque vamos gerar tudo desde
o início. Tudo o que nos interessa neste ponto é
criar um projecto com as configurações correctas
46 | Julho - Agosto 2013 | www.elektor-magazine.pt
para o módulo FPGA Elektor. Escolha também a
opção Open copied Project, porque pode poupar
alguns cliques no rato. Clique em OK e aprecie a
imagem que aparece enquanto o ISE prepara o
novo projecto, abrindo-o logo depois.
Para criar um projecto herárquico, tem de limpar
a maior parte dos itens no nível superior. Copie o
circuito do nível superior para um novo ficheiro,
que aqui se chamou clock. Para fazer isso, clique
Domina as FPGAs
com o botão direito do rato no símbolo FPGA,
no separador Design e seleccione New Source…,
depois seleccione Schematic, introduza o nome do
ficheiro, clique em Next e depois em Finish. Pode
agora utilizar as habituais operações de copiar e
colar do Windows para copiar o conteúdo do nível
superior para o ficheiro clock. Assegure-se que o
marcador CLK_IN, com o respectivo buffer IBUFG,
permanece no nível superior, assim como os marcadores LED1_OUT e LED2_OUT (assumindo que
fez o trabalho de casa; caso contrário só encontra
o LED1_OUT) com os respectivos buffers OBUF
e ligações de barramento. No esquemático clock
tem agora de adicionar uma etiqueta de E/S para
fornecer uma terminação correcta à entrada de
relógio que acabou de cortar. Coloque um marcador de E/S, como descrito no segundo artigo
desta série, e atribua o nome CLK ao marcador
que junta as entradas de clock (C). Mais tarde vai
ligar os LEDs no nível superior da mesma forma
do que no exemplo “Hello World”.
O nosso objectivo é construir um contador cima/
baixo que seja controlado pelo sinal de clock
proveniente do componente clock. Para isto não
necessitamos do sinal CLR, pelo que podemos
ligá-lo directamente ao nível baixo na FPGA, utilizando para isso um pino. Isto pode ser feito de
várias formas; foi escolhida a opção que utiliza
uma resistência de pull-down para o sinal permanecer utilizável. Pode encontrar a resistência
de pull-down na lista Symbols depois de clicar
no botão Add Symbol (ou seleccionar o separador Symbols) e depois seleccionando General em
Categories. Arraste a resistência de pull-down
para o esquemático e coloque-a no marcador CLR.
Criar um componente
Grave todos os ficheiros que ainda não foram
gravados (marcados com um * no ISE). Abra o
separador Design e seleccione o ficheiro clock na
lista Hierarchy. Se necessário, clique no sinal +
junto a Design Utilities, na janela Processes, para
abrir o item. Faça duplo clique na entrada Create Schematic Symbol. Posteriormente, depois
de o ISE acabar de processar a tarefa, deve ver
um grande sinal de visto junto à entrada Create
Schematic Symbol. O seu novo componente foi
agora adicionado ao topo da lista Categories no
separador Symbols. Aí vai ver uma nova entrada
com o nome do caminho do projecto, que neste
exemplo é <C:\work\FPGA\part3>. Depois de
ter seleccionado esta entrada, aparece um componente clock na janela Symbols em baixo, que
Figura 1.
A versão A do componente
clock tem muitas entradas
e saídas desnecessárias,
que foram removidas
para dar origem à versão B.
Figura 2.
Diagrama esquemático
do nosso componente clock.
Figura 3.
Componente clock no
módulo do nível superior.
pode colocar no nível superior da forma habitual.
Depois de fazer isto analise bem o componente
(Figura 1A).
Como pode ver, o componente tem muitas entradas e saídas cujos nomes começam com XLXN_.
Estas não são necessárias para este projecto,
pelo que podemos simplificar um pouco o componente. Remova todas as etiquetas desnecessárias e respectivos fios de ligação no ficheiro
clock.sch (Figura 2). Seleccione o separador
Design, depois seleccione o módulo clock e coloque-o no nível superior mas com um novo nome
(que inclua “clock”). Clique com o botão direito
do rato em Create Schematic Symbol na janela
abaixo, seleccione Process Properties…, e escolha
a opção Overwrite Existing Symbol. Clique em OK,
e depois clique novamente com o botão direito do
rato em Create Schematic Symbol seleccionando
em seguida ReRun. Espere até que o ISE acabe
a tarefa, e depois vá a top.sch. Aqui ainda pode
ver a versão anterior do símbolo, mas se clicar
neste o ISE vai abrir a janela Obsolete Symbols
onde pode editar o símbolo. Seleccione clock,
clique em Update, e depois clique em OK para
fechar a janela.
www.elektor-magazine.pt | Julho - Agosto 2013 | 47
•Hardware & Software
Figura 4.
Contador BCD cima/baixo
de 4 bits derivado a partir
de um contador binário
de 4 bits.
Agora o símbolo aparece como na Figura 1B.
Ligue o símbolo como apresentado na Figura
3, e depois execute a função Implement Top
Module clicando no botão que contém um triângulo verde ou clicando com o botão direito no
módulo top. Vão aparecer alguns avisos do tipo
Xst:753 no ecrã:
WARNING:Xst:753 - “C:/work/FPGA/
part3/top.vhf” line 1962: Unconnected output port ‘Q’ of component
‘CB16CE_MXILINX_top’.
Figura 5.
O descodificador BCD
de 7-segmentos é um
circuito combinatório puro.
Estes avisos são relacionados com as saídas não
ligadas dos componentes presentes no módulo
clock. Embora tentemos sempre evitar os avisos, parece que o ISE - ou mais precisamente,
XST – não tem nenhuma forma útil de contornar
48 | Julho - Agosto 2013 | www.elektor-magazine.pt
estes avisos. Em relação a isto, a Xilinx diz que
estes avisos podem ser ignorados se as saídas
que não estão ligadas não forem necessárias
[2]. Mesmo assim, é um pouco irritante ter um
triângulo amarelo junto à entrada Synthesize-XST no separador Design. Felizmente, o resto
da implementação só tem sinais de visto verdes.
A seguir: gerar um ficheiro de bitstream clicando
com o botão direito do rato em Generate Programming File, copiando depois o ficheiro para o
cartão SD no módulo FPGA Elektor, como descrito
no segundo artigo desta série. Reinicie o módulo
FPGA Elektor e, se fez tudo correctamente, vai
ver os LEDs a piscar como anteriormente. Se isto
acontecer está pronto para continuar a construir
o projecto. Caso contrário tem de encontrar o
problema e resolvê-lo.
Construir um contador BCD
As bibliotecas ISE contêm muitos tipos de contadores, mas são todos binários e o que necessitamos aqui é de um contador decimal. Isto significa
que temos de o construir. O nosso contador tem
de contar em ambas as direcções – para cima e
para baixo. Para evitar esforço de projecto desnecessário, vamos basear o nosso trabalho o
mais possível em componentes existentes nas
bibliotecas ISE. Procurando um pouco encontramos o contador CB4CLED: um contador cima/
baixo de 4 bits com capacidade de carregamento
paralelo. Este é o único contador cima/baixo disponível, pelo que vai ter de servir. Este contador
conta de 0 a 15 ou de 15 a 0, pelo que temos
de modificá-lo para que conte de 0 a 9 ou de 9
a 0. Isto pode ser feito carregando no contador
o novo valor inicial quando este atingir o fim da
contagem. Por exemplo, quando contar no sentido ascendente e atingir o valor 9, tem de ser
carregado o valor 0 no próximo impulso de relógio; e se estiver a contar no sentido descendente
e atingir o valor 0, tem de ser carregado o valor
9. Podemos utilizar uma configuração inteligente
que retira os valores iniciais do sinal Up/Down.
Assim só é necessário um único inversor, como
está apresentado na Figura 4 (note os sinais
Up e D0-D3).
Tem de ser gerado um sinal de carregamento
quando o contador atinge o fim de contagem
correspondente à direcção de contagem. Foram
utilizadas duas portas lógicas AND para detectar
os valores finais de contagem 0 e 9. Está disponível uma grande variedade de portas lógicas AND
nas bibliotecas ISE, e pode escolher aquelas que
Domina as FPGAs
têm a quantidade exacta de entradas inversoras e não inversoras. Isto poupa algum trabalho
nas ligações. Os dois sinais de carregamento são
combinados utilizando uma porta lógica OR para
gerar o sinal L. O contador CB4CLED responde a
este sinal no próximo flanco ascendente do sinal
de relógio C, que é exactamente o que pretendemos. Lembre-se que a saída do contador muda
sempre depois do flanco ascendente do sinal de
relógio. Nada acontece instantaneamente; existem sempre pequenos atrasos devidos aos tempos de propagação no interior das portas lógicas.
No flanco ascendente seguinte do sinal de relógio,
o nível activo do sinal L é carregado no flip-flop
FDC e o contador CB4CLED carrega o novo valor
inicial. Como resultado, o sinal L fica inactivo
pouco tempo depois, fazendo com que a saída
do flip-flop fique inactiva no próximo impulso de
relógio. Consequentemente, aparece sempre um
impulso na saída do flip-flop FDC depois de o
contador atingir o fim da contagem. Este impulso
pode ser utilizado como sinal de relógio para um
possível contador seguinte.
O flip-flop FDC é mais importante do que possa
parecer à primeira vista, porque permite controlar
directamente um contador seguinte com o sinal
L. Contudo, se fizer isto, o ISE vai gerar uma
mensagem de erro durante a implementação:
WARNING:PhysDesignRules:372 - Gated
clock. Clock net XLXN_116 is sourced
by a combinatorial pin. This is not
good design practice. Use the CE pin
to control the loading of data into
the flip-flop.
Nesta mensagem, XLXN_116 é o nome do marcador, que depende do circuito. Como indica o
aviso, não é recomendado utilizar sinais combinatórios como sinais de relógio em projectos com FPGAs (e em outros circuito lógicos
complexos). Por “combinatórios” entendem-se
sinais que são inteiramente gerados por um
conjunto de operações lógicas (portas lógicas)
sem nenhum andar de relógio, e cujos tempos
de atraso dependem da quantidade de portas
lógicas pelas quais o sinal passa. Estes tempos
de atraso podem ser variáveis ou mal definidos,
pelo que não há a garantia de que o sinal seja
sincronizado pelo sinal de relógio principal. Como
resultado, podem ocorrer estados indefinidos
(como picos) que podem causar problemas. O
sinal L é um sinal combinatório. Pode sincronizá-
-lo injectando-o na entrada de um flip-flop que é
controlado pelo sinal de relógio principal, o que
provoca o desaparecimento do aviso.
Depois de acabar o circuito, pode transformá-lo
num componente como descrito anteriormente.
Figura 6.
Contador BCD de um único
dígito com saídas
para um mostrador
de 7-segmentos.
Descodificador de 7-segmentos
Para juntar ao nosso contador, necessitamos
de um descodificador de 7 segmentos com saídas para um mostrador LED de 7 segmentos.
Não foi encontrado nenhum nas bibliotecas ISE,
pelo que vai ter de construir um. Este tipo de
componente é bastante simples, mas volumoso
devido às quatro entradas (BCD) e sete saídas.
O circuito construído no laboratório da Elektor,
construído unicamente com portas lógicas, é
apresentado na Figura 5. Outra opção seria
utilizar uma look-up table (LUT), mas não foi
utilizada esta opção. Este componente pode permanecer puramente combinatório porque não
gera nenhuns sinais que necessitem de ser sincronizados pelo sinal de relógio. Desenhe este
circuito num novo ficheiro de esquemático e
transforme-o num componente.
Contador de 7-segmentos
Pode agora utilizar os dois componentes que
acabou de implementar para construir um novo
componente: um contador com um controlador
de 7-segmentos integrado. Comece por criar um
novo ficheiro de esquemático, e depois arraste
o contador BCD cima/baixo e o descodificador
de 7 segmentos para este ficheiro. Ligue-os um
ao outro como apresentado na Figura 6. As saídas do componente counter_updown_bcd4 não
estão distribuídos de forma lógica, o que faz o
esquemático parecer desarrumado. Até agora
não sei como forçá-los a organizarem-se numa
determinada sequência.
www.elektor-magazine.pt | Julho - Agosto 2013 | 49
•Hardware & Software
É melhor configurar temporariamente esses pinos
para níveis lógicos bem definidos.
No final, o seu esquemático deve parecer-se com
o da Figura 7. Neste exemplo os contadores são
controlados a uma frequência de 7,6 Hz (saída
de clock Q3), mas pode considerar demasiado
rápido. Se assim for seleccione outra saída à
sua escolha.
A hierarquia no separador Design está completa,
com o dispositivo acima do nível superior e os
componentes abaixo deste (Figura 8).
Editar o ficheiro UCF
Figura 7.
Diagrama do nível superior
do contador cima/baixo
de dois dígitos.
Depois de acabar o esquemático, pode transformá-lo num componente. Depois disto pode ver
que os dois outros componentes são apresentados por baixo do novo componente no separador Design do ISE. A estrutura hierárquica está
a tomar forma.
Projecto completo
Figura 8.
Estrutura do projecto
hierárquico.
Agora que todos os componentes estão construídos, já pode juntá-los no nível superior. Em
conjunto com o componente clock, necessita
de dois contadores de 7-segmentos. Atribua
um OBUF a cada saída que vá ser ligada a um
pino da FPGA. Excepto para o sinal CLK, não
são necessários buffers para as entradas, mas
deve atribuir-lhes etiquetas. Atribua também uma
etiqueta à saída CEO não utilizada do segundo
contador de 7 segmentos
e outra etiqueta ao barramento Q(7:0), para evitar
o aparecimento de avisos
XST:753 relativos às saídas não ligadas. Também
necessita de saber que o
ISE liga a pinos da FPGA
às etiquetas não ligadas
presentes no nível superior. Pode verificar isto
utilizando um osciloscópio para testar os pinos
não ligados da FPGA. Isto
significa que deve pensar
bem antes de ligar circuitos “sensíveis” aos pinos da FPGA sem os
controlar explicitamente a partir do interior (por
exemplo, se pretender fazer isto mais tarde).
50 | Julho - Agosto 2013 | www.elektor-magazine.pt
Tudo o que tem de fazer agora é ligar o circuito aos pinos da FPGA. Para isso pode utilizar o
ficheiro UCF ligado ao módulo top. Abra o separador Design e, se necessário, expanda a janela
top clicando no sinal +. Deve ver agora o item
top.ucf. Faça duplo clique neste e espere que o
ISE abra o ficheiro. Pode ver agora um simples
ficheiro de texto que contém as definições dos
pinos atribuídas no segundo artigo desta série.
É um pouco caótico, mas não é muito difícil de
entender. Cada pino está ligado a um marcador através de uma variável LOC. Naturalmente,
o nome do marcador deve estar presente no
projecto. “LOC” significa localização, e inclui o
número do pino da FPGA. Cada pino também
tem um IOSTANDARD, que é sempre o mesmo
para o módulo FPGA Elektor: LVCMOS33. Não há
distinção entre entradas e saídas. Alguns pinos
também podem ter os atributos PULLUP ou PULLDOWN, que se referem a uma das resistências
de pull-up ou de pull-down da FPGA.
Os marcadores CLK_IN, LED1_OUT e LED2_OUT
são sempre as mesmas para o módulo FPGA
Elektor, pelo que as pode agrupar no princípio
do ficheiro e deixá-las como estão. Os outros
marcadores podem ser apagados ou editados,
porque são diferentes dos necessários. Pode adicionar comentários começando uma linha com
o símbolo #. Quando atribuir os pinos, lembre-se que o pino 37 (pino 13 da FPGA) só pode
ser uma entrada. A primeira parte da lista deste
exemplo é assim:
# Hardwired pins
NET “CLK_IN” LOC = P32;
NET “CLK_IN” IOSTANDARD = LVCMOS33;
NET “LED1_OUT” LOC = P90;
NET “LED1_OUT” IOSTANDARD = LVCMOS33;
NET “LED2_OUT” LOC = P91;
NET “LED2_OUT” IOSTANDARD = LVCMOS33;
Domina as FPGAs
# 7-segment display 1
NET “DISPLAY1_A” LOC = P15;
NET “DISPLAY1_A” IOSTANDARD = LVCMOS33;
NET “DISPLAY1_B” LOC = P16;
NET “DISPLAY1_B” IOSTANDARD = LVCMOS33;
…
Implementar o projecto
Agora tem tudo o que necessita para gerar um
ficheiro de bitstream para a FPGA. Para fazer
isto, clique no botão Implement Top Module (leia
o primeiro artigo desta série, se necessário) e
espere até que o ISE termine a tarefa. Infelizmente vai ver alguns avisos, mas (felizmente)
pode ignorá-los. Avisos do tipo:
WARNING:Xst:653 - Signal <dummy> is used
but never assigned.
indicam uma falha do próprio XST, porque este
cria marcadores auxiliares para construir o descodificador de 7 segmentos, mas não faz muita
coisa com estes.
O passo Place & Route (PAR) também gera um
aviso:
WARNING:Route:455 - CLK Net:Q_3_OBUF
may have excessive skew because
de erro durante a implementação. Há alguma
forma de fazer o ISE fazer as actualizações
automaticamente?
Continua
No próximo artigo desta série vamos abordar a
simulação deste projecto. Durante esse processo
é provável que possamos encontrar uma linguagem de descrição de hardware (HDL): VHDL ou
Verilog.
Figura 9.
Dois mostradores
de 7-segmentos ligados
ao módulo FPGA Elektor,
montados no laboratório
da Elektor.
(120743)
Artigo original: Taming the beast (3) – March 2013
É difícil de entender o que fazer com este aviso,
porque não há nada a seguir a “because”. A justificação para este aviso é um mistério. Por agora
vamos simplesmente ignorá-lo e esperar que o
circuito não tenha um problema real de atraso de
propagação excessivo. Depois seleccione Generate Programming File para gerar o ficheiro de
bitstream, atribua-lhe o nome config.bin, e copie-o para o cartão SD presente no módulo FPGA
Elektor. Reinicie o módulo e, se o tiver ligado como
apresenta a Figura 9, vai ser iniciada a contagem. Pode controlar o contador configurando os
níveis de tensão dos pinos 27 (reset, activo a 1),
28 (parar, activo a 0) e 29 (cima/baixo, cima =
1, baixo = 0). Os dois LEDs presentes no módulo
vão piscar como no projecto anterior.
Internet
[1] www.elektor.com.pt/120743
[2] www.xilinx.com/support/answers/14065.htm
O módulo de desenvolvimento FPGA Elektor já montado
e testado está disponível através do Serviço Elektor:
www.elektor.com.pt/120099.
Trabalho de casa
Construa um descodificador de 7-segmentos utilizando LUTs. Lembre-se que sempre que editar um componente, não pode apenas gerá-lo
mas tem de o actualizar no esquemático de nível
superior. Caso contrário vai receber mensagens
www.elektor-magazine.pt | Julho - Agosto 2013 | 51
•Montagem
Fechadura com abertura
por padrões
Reconhecimento de formas para controlo de acesso
David Ardouin [5]
Desde a
(França)
mecânicos
do passado;
revolução dos ecrãs tácteis, os contactos
frágeis e ruidosos passaram a ser uma coisa
os seus equivalentes capacitivos são muito mais atractivos e
têm muito mais vantagens. Todavia, julgando pela fina presença desta tecnologia
nos circuitos publicados pela Elektor, muitas pessoas ainda necessitam de ser
convencidas do seu valor. É por isso que aqui é proposta, não apenas uma
abordagem de entretenimento para desmistificar o assunto e permitir-lhe
fazer algumas experiências, mas também uma forma de o encorajar a utilizar
interfaces tácteis numa aplicação séria e bem projectada, utilizando o método
de detecção QTouch da Atmel.
Depois de desenvolver um interface táctil num
contexto profissional, o autor queria partilhar
a sua experiência na forma de um módulo de
demonstração de tecnologia capacitiva. Com a
moda dos smartphones utilizando o sistema operativo Android, e com o famoso código de acesso
com padrões, seria importante modernizar os sistemas de introdução de código via teclado: em
vez de introduzir um código num teclado de 9
52 | Julho - Agosto 2013 | www.elektor-magazine.pt
teclas, desenha-se um padrão geométrico com o
dedo. Este Teclado com Padrões é elegante, táctil
e iluminado, capaz de memorizar dois padrões
separadamente, cada um contendo de quatro a
nove sensores. O reconhecimento de um destes
códigos torna possível activar através de um relé
qualquer circuito que pretenda.
Antes de aprofundar mais este projecto, vamos
analisar o princípio de funcionamento dos inter-
Fechadura com abertura por padrões
faces tácteis. Os leitores mais experientes vão
lembrar-se que a Elektor já publicou uma vasta
gama de contactos capacitivos de todos os tipos,
na época em que só existiam técnicas analógicas.
Era uma aventura fascinante, mas os resultados
eram muitas vezes decepcionantes. Graças à utilização de microcontroladores, a eficácia das técnicas actuais, como aquela aqui descrita, excede
em muito as tentativas anteriores.
a
Limites e vantagens
Pergunta: o que é um sensor capacitivo? Dependendo da sua utilização, os interfaces tácteis distinguem-se uns dos outros de acordo com o seu
grau de liberdade, um termo muito utilizado pelos
engenheiros mecânicos. Os detectores mais simples são os botões de pressão e os interruptores, para os quais a liberdade é reduzida quase
a zero. Estes controlos são referidos como tendo
“zero dimensões”, o que significa que só têm dois
estados: activo ou inactivo, aberto ou fechado, 0
ou 1. Os sensores aqui utilizados são sensores
capacitivos (Figura 1a) e fornecem um comando
simples do tipo tudo-ou-nada.
Os interfaces tácteis fornecem a possibilidade de
um melhor tipo de comando, por exemplo, um
comando linear proporcional ao movimento de
dedo a deslizar por uma superfície, de uma extremidade para outra. Estamos a falar de um botão
deslizante, mas é um movimento unidimensional,
que nos permite variar apenas uma variável, que
não tem necessariamente de ser numa linha recta;
pode ser circular, como num famoso leitor de mp3
– falamos assim de um botão rotativo (Figura 1b).
Se a zona táctil for uma área, onde o dedo é livre
de se movimentar em todas as direcções, como
num ecrã de um smartphone, é possível modular
duas variáveis ao mesmo tempo (Figura 1c). Esta
técnica, embora muito semelhante às outras duas,
está para além do alcance deste artigo.
A grande vantagem da utilização de teclas ou deslizadores capacitivos recai na total liberdade de
disposição dos elementos de comando, etiquetas, e
b
Figura 1.
Interruptor simples com
0 dimensões (a), ou uma
superfície táctil com botão
deslizante com 1 dimensão
(b), ou uma superfície táctil
com duas dimensões (c).
c
pictogramas utilizados. Sem contar com o aspecto
de alta tecnologia, muitas vezes referido como
mais atractivo do que os velhos botões redondos
ou quadrados, um sensor táctil também tem a
vantagem de ser completamente selado; não se
gasta e é fácil de iluminar a partir do interior. Se
está a pensar utilizar teclas tácteis num projecto
controlado por um microcontrolador da Atmel, e
tem alguns pinos disponíveis, incluir teclas capacitivas tem apenas o custo de alguns componentes passivos e um pouco de espaço na placa de
circuito impresso.
Algumas revisões de física
Um condensador consiste em dois eléctrodos
condutores separados por uma camada isolante
chamada dieléctrico. A dimensão dos eléctrodos,
a distância entre estes, e o material que compõe o dieléctrico são adaptados de acordo com
o valor de capacidade necessário. Para assegurar uma boa sensibilidade, temos de obter
Acerca do autor
Quando eu era pequeno sonhava em ser um “faz-tudo” como o meu pai. Este sonho de infância
nunca me abandonou, graças às aulas de desenho e de tecnologia no ensino básico, e muitos
projectos construídos a partir de revistas. Depois, virei-me para a electrónica: um diploma em
ciências no ensino secundário e depois 5 anos de Faculdade na escola de engenharia ESEO em
Angers, permitiram-me construir a minha carreira sem diminuir o meu entusiasmo. Entre os
papéis de pai e marido, encontrei tempo livre suficiente para aperfeiçoar algumas ideias que
povoam a minha cabeça, assim como construir alguns modelos de aviões.
www.elektor-magazine.pt | Julho - Agosto 2013 | 53
•Montagem
Figura 2.
Eléctrodos simples (a)
e acoplados (b).
a
a maior diferença possível entre os valores de
capacidade correspondentes à ausência e à presença do dedo. Esta variação é na ordem de algumas dezenas de pF, pelo que se quisermos que
o nosso detector seja fiável, temos de obedecer
a algumas regras.
Figura 3.
Disposição dos eléctrodos
acoplados do circuito táctil.
Figura 4.
Detalhes de um eléctrodo.
54 | Julho - Agosto 2013 | www.elektor-magazine.pt
b
Dois tipos
Para uma detecção capacitiva, habitualmente são
utilizados dois tipos de eléctrodos, cada um com
as suas vantagens e desvantagens. O primeiro é
o mais simples (Figura 2a): consiste numa área
condutora com cerca de 10 mm de diâmetro, uma
resistência e um condensador – sem esquecer o
material isolante, para formar a superfície sensitiva. Este tipo de bloco funcional pode ser duplicado para criar quantos botões desejar, desde
que o microcontrolador que controla o teclado
tenha a quantidade necessária de pinos, 2n+1
pinos, onde n é o número de teclas. Este eléctrodo forma um dos lados do condensador: é ao
mesmo tempo transmissor e receptor de cargas
eléctricas. O dedo forma o segundo eléctrodo:
quando se aproxima o dedo da tecla, o valor de
capacidade do condensador aumenta consideravelmente, e esta diferença pode ser detectada.
Ao contrário do que se pensa, não é necessário
haver uma ligação à terra para que se detecte
o toque. A Atmel chama a este primeiro método
detecção QTouch ou Teclas Auto-Capacitivas.
Quando a quantidade necessária de teclas excede
as dez teclas, é preferida uma segunda técnica
(QMatrix), com eléctrodos acoplados (Figura
2b). Cada sensor inclui um eléctrodo controlador (X) e um eléctrodo receptor (Y). Na ausência de detecção, parte da carga eléctrica emitida pelo eléctrodo X é recebida pelo eléctrodo
Y, mas, assim que o dedo se aproxima, desequilibra este sistema capturando parte da carga
eléctrica e reduzindo assim o valor de capacidade medida. Colocando estes eléctrodos num
formato de matriz é possível criar até 64 teclas
com apenas 8 Xs e 8 Ys.
Combinando adequadamente a disposição de três
sensores, cada um destes métodos torna possível
produzir botões deslizantes ou rotativos. Contudo,
o projecto destes eléctrodos entrelaçados requer
Fechadura com abertura por padrões
um cuidado especial. Estas considerações especiais estão detalhadas no documento [1], onde
pode encontrar as regras relativas a este assunto.
Na etapa de projecto é crucial obter o mais baixo
valor de capacidade na ausência de detecção,
pelo que tem de manter tudo bem afastado dos
sensores, especialmente planos de massa. Para
os eléctrodos da matriz, temos de ter bastante
cuidado com o traçado das linhas Y. As linhas X
são menos sensíveis a interferências.
Princípio de funcionamento
A nossa superfície táctil contém nove teclas capacitivas, dispostas numa matriz XY. O quadrado
com 3x3 é o ideal (Figura 3). A divisão em duas
placas de circuito impresso tem duas razões:
reduz o espaço utilizado, enquanto isola o mais
possível as pistas sensitivas dos acoplamentos
parasitas com outros componentes. O projecto
dos eléctrodos foi optimizado para um material
isolante com 3 mm de espessura, e o formato
do entrelaçamento fornece o máximo acoplamento entre os eléctrodos sensores, mas nada o
impede de adaptar este traçado às suas necessidades (Figura 4). A dimensão ”e” representa a
espessura do material isolante colocado sobre as
teclas. Os LEDs D1-D9, com formato SMD 1206,
são colocados ao contrário, na face das soldaduras, para permitir que cada zona seja iluminada
por um orifício. Isto significa que cada zona pode
ser iluminada individualmente. Os condensadores C1-C9, ligados em paralelo, são essenciais:
sem eles a sensibilidade era menor. Por último,
os cinco conectores J1-J5 fazem a ligação entre
estas duas placas de circuito impresso, veiculando os sinais X e Y em conjunto com os dois
terminais para cada LED.
A biblioteca QTouch utilizada no microcontrolador
AVR da Atmel simplifica a electrónica (Figura
5a) necessária para fazer os sensores funcionarem. Durante a fase de aquisição dos sinais
presentes nas teclas, o eléctrodo controlador (X)
é excitado por uma sequência de impulsos rectangulares de alta-frequência. As cargas emitidas
por este plano de cobre são parcialmente colectadas pelo eléctrodo Y adjacente e são acumuladas nos condensadores C19-C21 através das
resistências R14-R16. No fim da sequência de
impulsos, é iniciado um temporizador interno do
microcontrolador para medir o tempo de descarga dos condensadores através das resistências
R11-R13. Quando se aproxima o dedo durante
um ciclo de aquisição, o dedo vai absorver parte
da carga eléctrica normalmente armazenada no
condensador. No fim da sequência de impulsos,
a tensão aos terminais do condensador vai ser
mais baixa e consequentemente o tempo de descarga medido pelo temporizador vai ser menor.
Este clássico e comprovado ciclo de medição é
então repetido pelo microcontrolador para cada
combinação X-Y.
Como não há especificações para a precisão, o
microcontrolador é controlado a 8 MHz pelo seu
oscilador interno.
A atribuição de pinos do microcontrolador à matriz
de eléctrodos é restringida por alguns factores,
que não vão ser aqui referidos. Felizmente, a
Atmel fornece o software AVR QTouch Studio
para o guiar neste passo. Os eléctrodos X são
controlados através das resistências R8-R10 que
reduzem as emissões de energia electromagnética. O valor destas resistências não é crítico.
As saídas PD5 e PB0 do microcontrolador controlam os relés RL1 e RL2 através de transístores
MOSFET pouco dispendiosos, utilizando também
os díodos de roda livre D10 e D11. Estes por
vezes já estão embutidos nos relés, mas é preferível ligá-los em separado para que se possa
adaptá-los para outros dispositivos. Duas das
entradas do microcontrolador permitem ao sistema aprender os padrões que vão ser reconhecidos. Por razões de segurança, estes têm
Bónus: Piano com padrões
As minhas filhas (18 meses e 3 anos) adoram brincar com o protótipo da fechadura por padrões,
mas esta nem sempre se mostra totalmente “contente” e, por vezes, acende o LED central.
Confrontado com a frustração das minhas aprendizas de electrónica, converti a fechadura
electrónica simplesmente substituindo o relé RL1 por um pequeno altifalante de 8 Ω, em conjunto
com uma resistência de 22 Ω (Figura 9). Algumas linhas de código depois nasceu o Piano de
padrões, para o deleite delas e dos seus ouvidos! As frequências fundamentais produzidas
correspondem às notas entre o dó médio (525 Hz) e o ré da oitava imediatamente acima
(1180 Hz), e até lhe permite tocar pequenas músicas. Experimente, é divertido!
www.elektor-magazine.pt | Julho - Agosto 2013 | 55
•Montagem
L1
SW
VOUT
5
C14
C11
4u7
16V
C10
4u7
16V
3
R3
100n
GND
R1
2
3
C12
4
FB
2
28
V+
C15
C13
4u7
16V
R2
100k
4
P12
100n
4u7
16V
P13
P14
P15
U2
150k
VCC_33
ENABLE_5V
2
1M2
DDC
EN
P16
P17
VCC_50
P18
P19
R23
R7
4k7
R6
4k7
4k7
Q5
P20
R5
P21
4k7
Q4
P22
25
SDA
Q6
26
Q3
BSN20
BSN20
27
SCL
4
BSN20
J7
1
LED1...LED3
VBAT
U1
TPS61070
1
J6
1
BSN20
1
MAX6956
AAI P23
SDA
P24
SCL
P25
P26
AD1
P27
AD0
P28
P29
ISET
R4
P30
P31
GND
GND
5
5
6
6
7
8
9
10
J8
1
11
2
12
LED4...LED6
6
BT1
VCC_50
4uH7
0A75
3
13
4
14
5
15
6
16
17
18
19
20
1
21
2
22
3
23
4
24
5
J9
LED7...LED9
VCC_33
6
2
3
R11
R12
R13
470k
470k
470k
47k
VCC_33
3
R9
2
1
R8
19
22
1k
3
6
1k
4
18
VCC
AVCC
PA0
PC0
PA1
PC1
PA2
PC2
PA3
PC3
PC4
1k
U3
PC5
PC6
PC7
12
ENABLE_5V
VCC_33
13
14
MOSI
15
2
1
MISO
16
4
3
SCK
17
6
5
RESET
7
8
J10
ISP
ATtiny88-AU
PB0
PD0
PB1
PD1
PB2
PD2
PB3
PD3
PB4
PD4
PB5
PD5
PB6
PD6
PB7
GND
5
PD7
GND
23
24
27
SDA
28
SCL
29
20
C19
C20
C21
4n7
4n7
4n7
30
R15
31
32
1
2
R16
VCC_33
9
Figura 5.
Diagrama do circuito
do painel táctil para
reconhecimento de padrões.
a
56 | Julho - Agosto 2013 | www.elektor-magazine.pt
1k
1
1k
3
J12
2
R17
100k
100k 1
10
11
21
J13
2
D11
D10
CONFIG
RL1
J14
7
8
1
14
2
D31A3100 6
BAT46W-V
BAT46W-V
1k
Q1
R19
R21
BSN20
100n
1k
R18
6 D31A3100
OUT 2
100n
VCC_50
2 RL2
Q2
100n
R14
7
14 1
C18
26
VCC_50
8
C17
25
3
J15
C16
ELECTRODES Y
ELECTRODES X
J11
R10
VCC_33
R22
R20
100k
100k
1k
OUT 1
BSN20
120579 - 11
Fechadura com abertura por padrões
C1
D1 100n
J1
1
LED7...LED9
2
3
C2
D2 100n
4
5
6
C3
C4
ELECTRODES X
D3 100n
J2
X0
1
2
3
X1
X2
D4 100n
J4
1
LED4...LED6
2
3
C5
D5 100n
4
Y0
5
6
Y1
C6
Y2
C7
D7 100n
ELECTRODES Y
D6 100n
J3
1
Y3
2
Y4
3
Y5
Y6
Y7
J5
1
LED1...LED3
2
3
C8
Y8
D8 100n
4
5
6
C9
D9 100n
120579 - 12
de ser “escondidos”. Os padrões são programados
inserindo o jumper J13 depois de ligar o circuito.
A optimização feita no consumo de energia permite fazê-lo apenas com duas pilhas do tipo AAA.
O ATtiny88, que passa a maior parte do tempo
adormecido, é alimentado directamente a partir
das pilhas. O seu temporizador watchdog interno
desperta-o a cada 1200 ms para que se possa
executar o ciclo de aquisição de sinais das teclas.
Se for detectada uma presença, o ATtiny88 entra
no modo activo e liga o barramento de 5 V para
activar o regulador de tensão U1 e componentes a ele associados. Este barramento alimenta
os relés e os LEDs azuis, cuja queda de tensão
directa de 3,3 V é demasiado elevada para que
os LEDs sejam alimentados directamente a partir das pilhas. Ao contrário de outros conversores elevadores, o TPS61070 tem a vantagem de
desligar completamente a sua saída no modo de
espera, consumindo apenas 0,5 µA!
Para que um painel táctil como este seja atractivo, não necessita apenas de ser iluminado, mas
a sua iluminação tem de ser dinâmica seguindo
os movimentos do dedo. Os LEDs são controlados pelo microcontrolador (Figura 5b), mas
este não consegue fornecer directamente a corrente para os LEDs. Esta tarefa é executada por
um MAX6956, que torna possível controlar até
20 saídas com uma corrente constante, e configurá-las individualmente através de um barramento I2C. A corrente máxima disponibilizada
por U2 é limitada por R4 para cerca de 20 mA
por saída. Como o MAX6956 não tem um modo
de espera de baixo consumo, a sua alimentação
é cortada quando o circuito está em repouso.
Os transístores Q3-Q6 formam dois deslocadores
de nível de tensão bidireccionais que permitem a
comunicação I2C entre U2 e U3, que são alimentados a tensões diferentes. Mais, evitam também
que U2 seja alimentado pelos pinos SDA e SCL
quando a alimentação está cortada. Os MOSFETs
BSN20 são particularmente adequados para este
ambiente de baixa tensão, graças à sua baixa
tensão de comutação porta/fonte (VGS).
O jumper J10 é o conector compatível com ISP
que permite programar e fazer diagnósticos ao
microcontrolador localmente.
Soldadura e montagem
b
Todos os componentes devem estar disponíveis a partir de fornecedores locais ou online.
Os componentes são quase todos SMD, mas
foram escolhidos os encapsulamentos maiores
www.elektor-magazine.pt | Julho - Agosto 2013 | 57
•Montagem
Lista de componentes
Circuito principal
Resistências (SMD 1206)
R1;R17;R18;R20;R22= 100 kΩ
R2= 150 kΩ
R3= 1,2 MΩ
R4= 47 kΩ
R5;R6;R7;R23= 4,7 kΩ
R8;R9;R10;R14;R15;R16;R19;R21= 1 kΩ
R11;R12;R13= 470 kΩ
Condensadores (SMD 1206)
C10;C15a C18= 100 nF/50 V
C11a C14= 4,7 µF/16 V
C19;C20;C21= 4,7 nF/50 V
Bobinas:
L1= 4,7 µH/0,75 A, por exemplo,
tipo SRR3011-4R7YL da Bourns;
1828144 da Farnell
Semicondutores:
U1= TPS61070DDC (Texas Instruments)
Ref.ª Newark/Farnell 1461062
U2= MAX6956AAI (Maxim IC) Ref.ª DigiKey
MAX6956AAI+T-ND
U3= ATtiny88-AU (Atmel) programado,
Ref.ª Newark/Farnell 1704570
D10;D11= BAT46W-V
Q1a Q6= BSN20, Ref.ª Newark/Farnell 1081309
Figura 6.
Placas de circuito impresso.
1206 para facilitar a soldadura aos mais inexperientes. Comece por separar as duas placas
de circuito impresso (Figura 6) utilizando uma
rebarbadora, uma pequena serra, etc. Comece
por inserir os componentes na placa superior
que contém os interruptores, os nove LEDs e os
nove condensadores. Para ter a certeza que estes
estão bem alinhados antes de os soldar, ligue os
conectores macho e fêmea de J1-J5, J7-J9, e de
J10-J12 das placas empilhadas. É difícil soldar U2
e U3: o autor utilizou o método de força bruta,
que envolve soldar todos os pinos em conjunto
utilizando um grande pedaço de solda, sem se
preocupar com curto-circuitos. Depois utiliza-se
uma malha de dessoldar para retirar a solda em
excesso, deixando apenas o mínimo necessário
para unir os pinos ao cobre.
A montagem mecânica dos sensores capacitivos necessita de um cuidado especial, porque
são retro-iluminados. Depois de alguma procura, foi encontrada uma folha de acrílico de
58 | Julho - Agosto 2013 | www.elektor-magazine.pt
3 mm de espessura (também conhecido como
Perspex® ou plexiglass) em www.crylite-shop.
com (www.plexiglas-shop.com), que permite a
difusão da luz proveniente dos LEDs nos orifícios de cerca de 15 mm de diâmetro (ver lista
de componentes).
Para que as teclas funcionem correctamente não
pode haver espaço livre entre a placa de circuito
impresso e o dieléctrico (a folha de acrílico –
não vale a pena tentar sem esta, porque não vai
funcionar!). Estas duas camadas foram fixadas
utilizando fita adesiva transparente com cola dos
dois lados. Uma fina camada de adesivo epoxy
em toda a superfície também funciona. Pode
experimentar com outros materiais, transparentes ou não, desde que sejam isolantes – como
vidro, por exemplo, que é o dieléctrico ideal.
O projecto destes sensores está optimizado para
uma espessura de 3 mm. Se o seu dieléctrico
tiver uma espessura diferente, a detecção vai
ser menos bem sucedida.
Fechadura com abertura por padrões
Diversos:
J6= Suporte para 2 pilhas do tipo AAA, por exemplo
2468 da Keystone, Ref.ª Newark/farnell 1650679
J7;J8;J9= Barra de terminais de 6 vias
J10= Barra de terminais de 2x3 vias
J11;J12;J13= Barra de terminais de 3 vias
J14;J15= Bloco de terminais de aperto para PCI,
passo 5,0mm, por exemplo CTB5202/2
da CamdenBoss, Ref.ª Newark/Farnell 1717001
RL1;RL2= Relé do tipo reed, por exemplo D31A3100
da Celduc, Ref.ª Newark/Farnell 1214549
PCI (Refª 120579-1), disponível na Guimocircuito
(www.guimocircuito.com).
Folha de acrílico, dimensão 60x60x3 mm, PLEXIGLAS
LED Branco WH72 GT (truLED),
www.plexigla-shop.com ou www.acrylite-shop.com.
Circuito táctil
Condensadores: (SMD 1206)
C1a C9= 100 nF/50 V
Semicondutores:
D1a D9= LED azul, SMD 1206, por exemplo
KPTD3216QBC-D da Kingbright, Ref.ª Newark/
Farnell 8530050
Diversos:
J1;J4;J5= Barra de terminais de 6 vias
J2;J3= Barra de terminais de 3 vias
Os conectores J1-J5 têm de ser inseridos de forma
a que os seus pinos não estejam ao mesmo nível
que a placa capacitiva. Têm de ser soldados na
face em que vão ser inseridos, caso contrário a
folha de acrílico vai ter de ser cortada à volta dos
contactos. Isto não seria prático nem elegante.
Para indicar a posição (e a forma) dos sensores pode utilizar vinil com adesivo ou tinta em
spray e máscaras. As dimensões do painel frontal
sugerido são um bom ponto de partida, antes de
utilizar a sua criatividade.
Firmware e biblioteca QTouch
A simplicidade do projecto do hardware para os
detectores capacitivos é possível principalmente
devido à utilização de vários algoritmos relativamente elaborados, presentes na biblioteca
QTouch. Esta trata, por exemplo, da calibração
periódica automática das medições e acompanha as lentas variações das condições ambientais
(humidade). Também torna possível comparar
120579 - 17
Figura 7.
Sugestão para o desenho
do painel frontal.
www.elektor-magazine.pt | Julho - Agosto 2013 | 59
•Montagem
Abram alas para o condensador
Este interface de sensores capacitivos não tem nada em comum com as versões resistivas utilizadas nos receptores de GPS
antigos, que utilizavam duas películas condutoras sobrepostas e separadas por um pequeno intervalo. A mais pequena pressão
exercida pelo dedo era suficiente para fazer contacto, permitindo a detecção do dedo. A sensibilidade deste tipo de painel táctil
era medíocre quando comparada com a dos painéis que utilizam técnicas capacitivas. Não há aqui nada mecânico, abram alas
para o condensador!
valores provenientes de teclas adjacentes, armazenando só o maior valor, o que se torna útil
quando as áreas sensitivas são mais pequenas
que os nossos dedos (algoritmo Adjacent Key
Suppression ou AKS). Por último, para evitar o
fenómeno de “tecla presa” (activação sem contacto com o dedo), pode ser configurada uma
duração máxima, para além da qual é efectuada
uma nova calibração. Estes parâmetros podem
ser ajustados no ficheiro touch_config.h. O autor
manteve os valores por defeito. A configuração
dos números das teclas, a sua sensibilidade, e
o grupo AKS onde pertencem, está definida na
função QT_config_keys no ficheiro QTouch.c.
O código fonte do firmware, com comentários
detalhados, está disponível em [3]. A incorporação da biblioteca QTouch tem de seguir as regras
ditadas pelo documento [2] e está ilustrada pelo
fragmento de código apresentado na Figura 8.
No arranque, o sistema é inicializado chamando
as funções QT_config_sensors, qt_init_sensing,
e QT_set_parameters. Depois disto, é executada
uma medição de cada vez que for chamada a
função qt_mesure_sensores. Se for detectada
uma variação no valor de capacidade, a biblioteca efectua várias medições sucessivas para
confirmar se uma das teclas foi activada. Repetir as medições desta forma é vital para a fiabilidade das medições, enquanto se mantém um
tempo de resposta rápido. Se o estado do botão
mudar, é actualizada a variável u16_flagStatus, e
é chamada a macro GET_SENSOR_STATE() para
indicar o estado de ambos.
A frequência das medições depende do firmware
utilizado, e é um compromisso entre capacidade
de resposta, tempo ocupado pelo processador,
e consumo de energia. Para obter uma resposta
que parece seguir correctamente o movimento do
dedo na superfície sensitiva, foi escolhido um período de aquisição de 50 ms, que torna a detecção
muito rápida. Para uma aplicação mais convencional onde as teclas são activadas uma de cada vez,
este tempo de atraso pode ser aumentado para
100 ms ou até 200 ms. Acima disso, o utilizador
vai considerar a detecção lenta ou até errática.
60 | Julho - Agosto 2013 | www.elektor-magazine.pt
O restante software em torno da detecção dos
valores dos sensores é implementado numa
máquina de estados, que é demasiado grande
para representar aqui, mas recomenda-se que
a descarregue do site referente a este artigo [4]
para a poder estudar.
A implementação da biblioteca QTouch ocupa
entre 2 kB e 4 kB da memória de programa,
dependendo das configurações, e também ocupa
cerca de 250 bytes de RAM. Também faz uma
utilização ocasional do temporizador Timer1, pelo
que é melhor evitar a sua utilização durante as
fases de medição. O código completo para a
Fechadura por padrões, compilado utilizando o
IAR Embedded Workbench, ocupa pouco menos
de 6 kB de memória de programa e 500 bytes
de RAM, e cabe perfeitamente na memória do
ATtiny88.
Utilização e programação
A segurança fornecida por este sistema é um
compromisso entre capacidade de resistência à
sabotagem e velocidade de desbloqueamento.
Seria pouco inteligente confiar a este sistema a
segurança da sua porta de entrada. Mas controlar a utilização do seu PC já é uma tarefa mais
adequada para este sistema. Foi para este tipo
de aplicação que se optou por uma alimentação 100% auto-contida, para deixar em aberto
o máximo de opções. A alimentação a partir de
baterias como estas impõe alguns compromissos
para atingir um tempo adequado de duração da
carga das baterias. Os relés, os maiores consumidores de energia, só são activados durante meio
segundo depois de ser reconhecido um padrão.
Esta forma de funcionamento é adequada para
substituir o botão ligar/desligar de um PC ou
para controlar uma porta eléctrica. Se pretender
alimentar o circuito permanentemente com uma
alimentação estabilizada, tudo o que tem de fazer
é modificar algumas linhas de código para fazer os
LEDs e os relés funcionarem permanentemente.
Assim que é alimentado, o sistema entra no
modo de espera com os LEDs desligados, mas
faz medições periódicas. Se detectar a presença
Fechadura com abertura por padrões
#include "QTouch.h"
#include "touch_api.h"
void main(void){
// Configure the Sensors as keys or Keys With Rotor/Sliders in this function
QT_config_sensors();
// initialise touch sensing
qt_init_sensing();
// Set the parameters like recalibration threshold, Max_On_Duration etc
QT_set_parameters();
do{
// Autonomous loop which performs capacitive sensing every 50ms
if (g_u8_flagMeasure){
g_u8_flagMeasure = 0;
do{
// one time measure touch sensors
u16_flagStatus = qt_measure_sensors(g_u16_current_time_ms_touch);
//Set flag if multiple measurements are required by library
u16_flagBurst = u16_flagStatus & QTLIB_BURST_AGAIN;
}
while(u16_flagBurst);
}
// One touch is in detect
if (u16_flagStatus & QTLIB_IN_DETECT){
u16_touchState = 0;
//Find the touched key number
for (i=0; i<9; i++){
//Check if this key is in touch
if (GET_SENSOR_STATE(i))
u16_touchState |= (1<<i);
}
}
else
u16_touchState = 0;
//Process keys
if (u16_touchState){
//Look for which key is touched
for (i=0; i<9; i++){
if (u16_touchState & (1<<i)){
u8_ledCurrent[i] = LED_CURRENT_HIGH; //Update corresponding led
MI_PlayTone(i);
//Play Tone
}
else
u8_ledCurrent[i] = LED_CURRENT_LOW;
}
}
else
{
for (i=0; i<9; i++){
u8_ledCurrent[i] = LED_CURRENT_LOW;
}
MI_StopTone();
}
LED_Update(u16_ledValue, u8_ledCurrent);
//Update led current
}
}
while (1);
//Timer 0 interrupt function, called every 50ms
__interrupt void MI_Timer0Interrupt(void){
//Here every 50ms
g_u16_current_time_ms_touch += 50;
g_u8_flagMeasure = 1;
return;
}
Figura 8.
Chamada e utilização
da biblioteca QTouch.
Este extracto do código
vem do software
PatternPiano (Figura 9),
uma variante com uma
estrutura semelhante,
mas mais simples
e mais fácil de entender.
www.elektor-magazine.pt | Julho - Agosto 2013 | 61
•Montagem
padrão contendo de quatro a nove pontos. Depois
de memorizado o código,
o interface entra no modo
de “adormecimento”.
Pode remover o jumper e
utilizar a fechadura.
VCC_50
LS1
D10
PD5
R
BAT46W-V
Q1
8Ω
0W2
22R
R19
R20
1k
BSN20
100k
120579 - 13
a
Figura 9.
Converter a Fechadura
de padrões num Piano
de padrões.
b
de um dedo em qualquer zona por mais de 1,2
s, desperta e acende progressivamente os LEDs.
O utilizador pode então introduzir o código de
desbloqueio. Se o padrão geométrico estiver correcto, é apresentado brevemente um O e o relé
correspondente é ligado. Se o padrão estiver
incorrecto, vai ser apresentado um X. O utilizador tem três tentativas para introduzir o código
correctamente, depois das quais a fechadura é
bloqueada e o LED central é aceso durante 10
s. Depois disto a fechadura retorna ao modo de
“adormecimento”.
Para programar um novo padrão, quando se liga
o circuito pela primeira vez ou caso se esqueça,
desligue a alimentação e depois insira o jumper
J1: entre os pinos 1 e 2 para a primeira saída, ou
entre os pinos 2 e 3 para a segunda saída. Ligue
novamente a alimentação (mantendo o jumper
ligado), desperte a fechadura colocando o dedo
em qualquer botão, e depois introduza o novo
Figura 10.
Para facilitar a montagem
da folha no teclado,
solde os conectores no lado
inferior para que estes
não sobressaiam.
62 | Julho - Agosto 2013 | www.elektor-magazine.pt
O eléctrodo Y está ligado
a J3/J12. Evite tocar neste
local ou colocar objectos
de metal perto deste, para
não perturbar a detecção.
Em modo de espera, o
projecto consome cerca
de 5 µA. A cada 1200 ms consome 2,4 mA
durante 8 ms. Desta forma, a corrente média
em modo de espera vale cerca de 21 µA – assim,
utilizando duas pilhas do tipo AAA, a carga das
pilhas dura vários anos! Os códigos de acesso
são armazenados na EEPROM, estando assim
guardados mesmo se a alimentação for removida.
(120579)
Artigo original: Pattern Lock – April 2013
Internet
[1] Atmel – guia de projecto para o sensor QTAN0079: www.atmel.com/Images/
doc10752.pdf
[2] Atmel - biblioteca QTouch Library 5.0: www.
atmel.com/Images/doc8207.pdf
[3] Atmel – QtouchStudio: www.atmel.com/tools/
QTOUCHSTUDIO4_3_1.aspx
[4] www.elektor.com.pt/120579
[5] [email protected]
R&S®RTO de 600MHz
O mais novo membro da família
de Osciloscópios R&S
Rapidez na detecção de sinal numa gama de
aquisição extremamente elevada, uma excelente
fiabilidade de sinal, uma interface de utilizador
intuitiva: os modelos R&S RTO de 1 GHz e 2 GHz
de largura de banda são uma nova realidade em
Osciloscópios Digitais. Por forma a oferecer estes
recursos a mais utilizadores, a Rohde&Schwarz criou
um novo modelo de 600 MHz (disponível em 2 e 4
canais) para a sua família de osciloscópios de alto
desempenho.
Os novos modelos de 600 MHz (R&S®RTO1002 e
R&S®RTO1004) são uma solução única que permite
aos utilizadores realizarem análises complexas
em profundidade, mesmo na gama mais baixa da
largura de banda.
Saiba mais em:
www.scope-of-the-art.com
• Curso
Curso Arduíno
Parte 3b: Sensores comunicam
com telefones Android
Na edição anterior apresentámos uma série de ferramentas
para trabalhar com o Android e o Arduino Mega ADK.
Nesta edição vamos um passo mais à frente nesse processo,
mostrando-lhe como ler sensores ligados ao Arduino,
no telemóvel. Com todas as ferramentas
de desenvolvimento em posição, executar
o código no seu telemóvel e fazer
com que o mesmo comunique
com o Arduino será muito fácil,
pode começar seguindo os exemplos
que acompanham as bibliotecas do ADK!
• Módulos TinkerKit: potenciómetro e botões de
pressão (também opcional).
David Cuartielles
(Espanha)
e
Andreas Goransson
(Suécia)
Os dispositivos Android estão por todo o lado.
Existem diversas abordagens no que respeita à
criação de aplicações para esses dispositivos.
No nosso caso, vamos continuar a explorar a
utilização do Processing [1] como ferramenta
para escrever, compilar e carregar o código em
telemóveis Android.
Nota: para este artigo precisa mesmo de ter um
telemóvel Android para testar como funcionam
as coisas. Fizemos um esforço extra para ter a
certeza que o código era compatível com a versão mais recente do SO Android, na altura em
que escrevemos este artigo era a versão 4.1.
Dica: descarregue o código apresentado neste
artigo a partir do site da Elektor, dado que apenas estamos a mostrar excertos desse código
no artigo.
Onde estamos
Componentes
Continuando com os testes da edição anterior,
os componentes necessários são:
• Placa Arduino Mega ADK ou Arduino Uno com
USB Host Shield.
• Telemóvel Android com o sistema operativo
Android OS 2.3.4 ou mais recente (o SO mais
recente é melhor).
• Cabo USB e microUSB.
• TinkerKit Shield (isto é opcional, pode utilizar
uma breadboard e fios).
64 | Julho - Agosto 2013 | www.elektor-magazine.pt
Por esta altura já deve ter um certo conhecimento
do modo Google Accessory e como os acessórios dizem aos dispositivos Android para arrancar com uma determinada aplicação quando se
ligam. Deve estar familiarizado com o Processing,
a ferramenta de aprendizagem Java, e já deve
ter criado e carregado pequenas aplicações para
o seu telemóvel ou tablet.
O próximo passo é criar novas aplicações que
tiram proveito da conectividade entre o Arduíno –
como um acessório – e o seu dispositivo Android.
Curso Arduíno
Biblioteca USB Host
O Android Open Accessory Protocol (AOAP) é o
que determina como o seu dispositivo Android e a
sua placa Arduino podem “falar” um com o outro.
Tecnicamente, a placa Arduino consiste num USB
Host, enquanto que o telemóvel é um cliente
USB. Os dispositivos Android, como a maioria
dos dispositivos topo de gama que por aí andam,
possuem um periférico que implementa a funcionalidade USB On The Go. De acordo com esta,
o mesmo conector USB (actualmente conector
microUSB) pode funcionar como um cliente USB
(como um rato ou teclado) ou como USB Host
(como o do seu computador pessoal).
O AOAP estabelece que os acessórios agem como
dispositivos Host enquanto que os dispositivos
Android agem como clientes. Isto permite que
o dispositivo Host alimente o dispositivo cliente
com electricidade (a sua placa Arduino vai estar a
recarregar o seu telemóvel enquanto este estiver
ligado), entre outras funcionalidades.
Para estabelecer a comunicação entre os dois,
vimos no artigo anterior que precisa de executar
a biblioteca USB Host como parte do seu código
Arduino. Pode verificar um dos exemplos para
a biblioteca para confirmar se está instalada.
Nota: utilize o menu para navegar: “File/Examples/USB Host”, se não encontrar esses exemplos
significa que não instalou a biblioteca USB Host
no Arduino. Verifique os ficheiros disponíveis para
este artigo [3] e instale a biblioteca; vai precisar
dela. A Figura 1 mostra o hardware envolvido.
Configuração experimental:
O lado do processing
Vamos primeiro analisar o software que precisa
para programar as suas aplicações Android:
• Android SDK com todas as actualizações até à
versão mais recente versão de APIs.
• Processing 2.0b3 ou mais recente (se tiver lido
o primeiro artigo, vai verificar que actualizamos
para a versão mais recente, deve fazer o mesmo
nesta altura).
• Ferramenta Arduino ADK para o Processing.
• Biblioteca Arduino ADK USB para o Processing.
O último item daquela lista é o que vai estar
em falta se experimentou com o artigo da edição anterior. Esse foi omitido intencionalmente
na altura.
Precisa da biblioteca complementar para o USB
Host do lado do Processing para ter a certeza
Figura 1.
Arduino Mega ADK
com o kit Tinker Shield
e telemóvel.
Figura 2.
Arduino Mega ADK
ligado a um PC
e a um telemóvel.
de que a sua placa consegue comunicar com o
seu telemóvel. Designamos essa biblioteca como
“Arduino ADK USB”. A secção seguinte explica
como instalá-la; a Figura 2 mostra o hardware.
Instalação da biblioteca Arduino ADK
USB para Android
Dentro dos ficheiros para este artigo vai encontrar uma pasta com o nome “Processing” que
contem uma subpasta com o nome “libraries”.
Deve copiar o conteúdo dessa pasta para dentro da sua pasta libraries do Processing. Esta
última está localizada dentro da pasta sketckbook do Processing, armazenada normalmente
em “My Documents/Processing” para computadores Windows, ou “Documents/Processing” para
Mac e Linux.
Esta biblioteca vem com quatro exemplos. Recomendamos que inicie os acessórios de um desses
exemplos, o que facilitará a sua vida. Comecemos por experimentar o exemplo digitalWrite.
Neste caso vai estar a ligar a sua placa Arduino
ao telemóvel e quando tocar no ecrã acende-se
um LED que está ligado na sua placa. Se deixar
de tocar no ecrã, o LED apaga-se.
www.elektor-magazine.pt | Julho - Agosto 2013 | 65
• Curso
Listagem 1. Exemplo DigitalWrite da biblioteca USB do Arduino.
#include <AndroidAccessory.h>
// accessory descriptor. It’s how Arduino identifies itself to Android
char accessoryName[] = “DigitalWrite”; // your Arduino board
char companyName[] = “Arduino SA”;
// led variables
int ledPin = 10;
// counters
long timer = millis();
// initialize the accessory:
AndroidAccessory usb(companyName, accessoryName);
void setup() {
// start the connection to the device over the USB host:
usb.begin();
// configure the LED pin as output
DigitalWrite
Cada exemplo tem duas partes. A primeira corre
na placa Arduino, trata da comunicação de e para
o telemóvel, enquanto executa acções noutros
pinos da placa. A segunda parte é o código a ser
compilado no Processing e que vai ser executado
no interior do dispositivo Android. Esta aplicação
vai ler e escrever dados na ligação de cabo do
telemóvel assim como executar também algumas acções no ecrã ou ler um dos sensores do
telemóvel como a câmara fotográfica, o acelerómetro, etc. Vamos primeiro analisar o código
do Arduino, abra o seu Arduino IDE e digite o
código da Listagem 1.
Lembre-se de o carregar para a placa depois de
terminar!
Listagem 2. Sketch do Processing que vai detectar quando se toca no ecrã.
import cc.arduino.*;
// create the ADK object
ArduinoAdkUsb arduino;
void setup() {
// Lock PORTRAIT view
orientation( PORTRAIT );
// initialize the ADK object
arduino = new ArduinoAdkUsb( this );
if ( arduino.list() != null )
arduino.connect( arduino.list()[0] );
}
void draw() {
// Draws a filled rect based on arduino connection state
connected( arduino.isConnected() );
}
66 | Julho - Agosto 2013 | www.elektor-magazine.pt
Curso Arduíno
pinMode(ledPin, OUTPUT);
}
void loop() {
// print to USB 10 times per second
if(millis()-timer>100) {
if (usb.isConnected()) { // is the USB connection open?
if (usb.available() > 0) { // is there data?
char val = usb.read();
// ‘a’ turns the LED on, ‘b’ off
if( val == ‘a’ )
digitalWrite( ledPin, HIGH );
else if( val == ‘b’ )
digitalWrite( ledPin, LOW );
}
timer = millis();
}
}
}
Este exemplo vai estar à escuta no porto USB.
Assim que o telemóvel se ligar à placa Arduino, a
função usb.isConnected() vai devolver uma resposta
afirmativa. Quando o telemóvel começar a enviar
dados, a função usb.available() vai devolver um
valor diferente de zero, que o Arduino vai então ler
e armazenar na variável val. Deve acontecer algo
muito semelhante ao apresentado na Figura 3.
No lado do Processing vai precisar de escrever
um programa que verifique o evento de alguém
tocar no ecrã. Se existir uma ligação sobre o cabo,
o telemóvel vai então enviar ‘a’ para indicar que
alguém começou a tocar no ecrã. Envia um ‘b’
para indicar que o dedo deixou o ecrã. Estamos a
detectar os eventos de ‘começar’ e ‘terminar’ de
tocar no ecrã uma vez que não queremos “inun-
public boolean surfaceTouchEvent(MotionEvent event) {
if ( arduino.isConnected() ) {
if ( event.getAction() == MotionEvent.ACTION_DOWN )
arduino.write(‘a’);
else if ( event.getAction() == MotionEvent.ACTION_UP )
arduino.write(‘b’);
}
// if you want the variables for motionX/motionY,
// mouseX/mouseY etc.
// to work properly, you’ll need to call
// super.surfaceTouchEvent().
return super.surfaceTouchEvent(event);
}
[…]
www.elektor-magazine.pt | Julho - Agosto 2013 | 67
• Curso
Figura 3.
O LED acende-se
quando se toca no ecrã.
dar” o porto de comunicação com mensagens.
Abra o seu Processing IDE e procure pelo exemplo adk_digitalWrite. Vai encontrá-lo no menu
“Examples/Contributed Libraries/ArduinoADKUsb”
se tiver instalado a biblioteca correctamente (Listagem 2).
O código apresentado na Listagem 2 é mais
ou menos auto-explicativo. Uma parte que pode
achar um pouco infeliz é a definição do método
surfaceTouchEvent(Motion-Event event). O
Java é uma linguagem de programação muito
potente e neste caso permite escrever por cima
de alguns dos métodos existentes. Sempre que
tocar no ecrã do Android, o sistema é configurado para chamar aquela função específica
(surfaceTouchEvent(MotionEvent EVENT)). Se
escrever por cima no seu programa (basicamente,
só tem que reescrever) pode fazer que que faça
tudo o que quiser.
Neste caso, detectámos dois dos muitos eventos
do sistema: MotionEvent.ACTION_DOWN (o equivalente a começar a tocar no ecrã) para enviar o
‘a’ para o Arduino e MotionEvent.ACTION_UP (o
mesmo para quando se deixa de tocar no ecrã)
para enviar o ‘b’.
GIF animado na Internet e usá-lo para replicar
o que vai ver neste exemplo. A única condição
é que precisa do gif animado exportado como
diferentes frames. Deve nomeá-las da seguinte
maneira: S00.gif, s01.gif, s02.gif… Claro que pode
usar a mesma imagem que estamos a usar no
nosso artigo. Conseguimos que um desenhador
criasse para nós um pequeno coelho que aparece
a sair de um chapéu. O objectivo deste exemplo
é criar um pequeno jogo interactivo onde vai
usar sensores (um botão e um potenciómetro)
para interagir com o pequeno coelho no ecrã do
telemóvel, como na Figura 4.
Nesta altura é melhor começar a olhar para o
código que vai correr dentro do telemóvel. O
primeiro passo é construir uma animação dentro
do Processing. Se estiver habituado ao Android,
pode tentar portar a biblioteca GIFdecoder que
usámos na edição passada para reproduzir GIFs
animados dentro da sua aplicação para Android.
Como queremos manter a programação o mais
simples possível de entender, a maneira como
recomendamos que efectue a animação do seu
Coelho é muito simples: deve criar um array de
imagens projectado para conter as frames que
pretende que façam parte da animação. Este
conceito é baseado no exemplo do Processing
Animated Sprite de James Paterson [2] (Listagem 3) [3].
Nota: a Listagem 3 não mostra a classe Animation que vai abrir todas as imagens com o nome
de s00.gif, s01.gif, etc. Recomendamos que verifique toda a listagem de código que vem com o
exemplo Elektor_Simple_Animation. Vai também
ver uma pasta com o nome data dentro do sketch
do Processing que contém todas as imagens que
fazem parte da animação (54 no total).
Configuração final
Um pouco mais de diversão
Assim que tiver o primeiro exemplo a funcionar… porque não construir algo um pouco mais
divertido? A Internet está cheia de gatos pelo
que decidimos criar a aplicação Elektor_Miau na
edição anterior. Quisemos fazer um comentário
divertido e, ao mesmo tempo, mostrar que é
possível começar a fazer coisas mais atractivas
do que o clássico exemplo “Hello World” quando
se está a aprender a programar.
Esta edição queremos construir algo novo e encorajar o leitor a aprender a fazer pequenas animações usando o Processing. Pode ver qualquer
68 | Julho - Agosto 2013 | www.elektor-magazine.pt
Em seguida, modificámos o exemplo para incluir
a biblioteca que controla a comunicação USB.
Recomendamos que associe o código anterior com
o exemplo adk_analogRead. O resultado vai-se
parecer com o código apresentado na Listagem
4, que pode obter no site da Elektor [3].
Existem algumas coisas no exemplo que precisam de ser salientadas. Primeiro, existe um array
chamado delays[i]. Este é responsável por controlar o tempo que cada frame é exibida na animação. Cada vez que carrega uma nova frame,
também altera a duração de temporização na
condição millis() – timer > delays[index]. Pensamos que deverá efectuar experiências com os
Curso Arduíno
números nesse array para ver como os mesmos
afectam a animação. Lembre-se que devem existir tantos números quantas as frames existentes
na animação.
Existe também um array keyFrames[i] que contem a lista das frames da animação que estão à
espera de uma acção do utilizador para o filme
continuar. Neste caso vamos detectar quando os
botões são pressionados. A animação vai parar
nessas frames até o utilizador pressionar o botão
ligado ao TinkerKit Shiled como se mostra na
Figura 5.
Se analisar a linha que verifica quantos bytes chegaram da placa Arduino, nós verificámos arduino.
available() >= 3 para ver quando recebíamos 3
bytes, a informação está codificada da seguinte
forma:
• Byte 0: tem de ser 255, consiste num marcador que usamos para distinguir quando o bloco
começa.
• Byte 1: consiste no valor do potenciómetro;
vai desde 0 a 254.
• Byte 2: valor do botão; 0 ou 1.
O valor do potenciómetro vai ser usado para
mudar a cor de fundo do ecrã, enquanto que
o botão vai activar a próxima sequência de
animação.
Nota: utilize a ferramenta Arduino ADK USB
(menu Tools/Arduino ADK no IDE do seu Processing) para fazer o upload deste programa para
o seu telemóvel. Aparece uma janela de diálogo.
No campo de texto com o nome model, introduza o nome da aplicação que chamou no IDE
do Arduino. O último parâmetro é usado para
seleccionar a versão do SDK para o seu tipo de
acessório. Se o seu telemóvel ou tablet estiver a
correr o Android 3.0 ou outro mais recente, deve
seleccionar SDK v12; SDK v10 é apenas para
dispositivos Android a correr a versão 2.3.4. No
infeliz caso do seu dispositivo Android estar a
correr a versão 2.3.3 do SO, ou anterior, não vai
conseguir utilizar o modo de acessório.
Finalmente, o código para o Arduino é praticamente uma réplica do exemplo adk_analogRead
adicionando o byte marcador extra, limitando a
leitura analógica a 254 e adicionando o botão. O
ciclo para este programa é apresentado na Listagem 5 [3]. Por favor, verifique todo o código que
pode obter nos ficheiros disponibilizados no site
da Internet da Elektor, na pasta “Arduino/code”.
Figura 4.
Algumas imagens
do nosso filme do coelho
(rabbit movie).
Figura 5.
Botão e potenciómetro
ligados ao kit Tinker
Shiled.
Finalizando
Com este artigo terminamos a nossa introdução
ao Android e como este se liga ao Arduino. Deve
estar pronto a criar novos projectos, construir
robôs onde o seu telemóvel pode fazer parte
da inteligência, ou integrar sensores que não
estão incluídos no seu dispositivo Android. Se
criar algum projecto interessante usando algum
do nosso código não hesite em dizer-nos algo
em [email protected], estamos interessados em
conhecer esses projectos e a dar a conhecer os
mesmos ao resto da comunidade.
(120573)
Artigo original: Arduino on Course (3b) – December 2012
Referências
[1] Projecto Processing: http://processing.org
[2] Animação usando múltiplas imagens com o Processing: http://processing.org/learning/topics/sequential.html
[3] www.elektor.com.pt/120573
Agradecimentos
O nosso muito obrigado para a equipa da
Circuits@Home pelo seu primeiro trabalho
numa biblioteca USB Host para Arduíno,
e para Philip Lindsay pelo seu trabalho na
depuração da colecção inicial de bibliotecas
oficiais Arduino para Android.
Agradecemos ainda a Rodrigo Calvo pela
sua ajuda na melhoria do funcionamento
da biblioteca USB para trabalhar com
dispositivos Android 4.1, e Laura Balboa pelo
seu trabalho de ilustração.
www.elektor-magazine.pt | Julho - Agosto 2013 | 69
•Ideias para projecto
Sensor de humidade
Útil para o quarto de banho
Leo vander Linde
(Nova Zelândia)
IC1
78L05 1
V+
3
100n
C1
7
100n
IC2
B1
100n 1000u
16V
IC2 = NE556
IC2A
THR
OUT
TR
5
R3
12
220k
8
C6
K3
P1
3n3
115V
230V
10
R
IC2B
THR
TR
OUT
9
R4
3
1k
11
C5
DIS
CV
4
R
DIS
3
6
6VAC
2 x 110V / 2 x 6V 350mW
Block AVB 0,35/2/6
220k
13
CV
2
B40C1500
R2
220k
K1
V+
R1
1
TR1
6VAC
C2 + C3
2
C4
14
IC3
1
K2
4
S101S06
2
Load
100n
+ C7
100k
1000u
16V
120463 - 11
Lista de Componentes
Resistências:
R1;R2;R3= 220 kΩ
R4= 1 kΩ
P1= ajustável de 100 kΩ,
horizontal
Condensadores:
C1;C2;C4;C5= 100 nF
C3;C7= 1000 µF/16 V, radial
C6= 3,3 nF
Semicondutores:
B1= Ponte rectificadora
B40C1500
IC1= 78L05
IC2= NE556
IC3= S101S06V (Sharp), relé de estado sólido
Diversos:
Tr1= transformador AC secundário 2 x 6 V, 350 mA (Block tyoe AVB 0,35/2/6),
montagem PCI
K1; K2= Bloco de terminais 2 vias PCI, passo 7,5 mm
K3= Barra de terminais de 2 vias
Sensor: Hygrosens SHS A2
PCI (Refª 120463-1), disponível na Guimocircuito (www.guimocircuito.com).
70 | Julho - Agosto 2013 | www.elektor-magazine.pt
Este circuito foi projectado pelo autor para ligar
automaticamente uma ventoinha no quarto
de banho quando a humidade fica muito elevada. O circuito detector consiste principalmente num temporizador CMOS duplo, um
sensor de humidade resistivo e um relé de
estado sólido.
O temporizador IC2A está configurado como
oscilador de um 1 kHz com a ajuda de R1 e
C6. O sinal de saída é depois aplicado ao sensor de humidade através da resistência R3,
que se encontra ligado a K3 e à entrada de
disparo do segundo temporizador (IC2B). Em
série com o sensor temos um condensador
(para prevenir a polarização do sensor como
consequência da tensão de desvio DC) e uma
resistência ajustável (para ajustar a sensibilidade). Como resultado da característica de
resistência exponencial (<20 kΩ a 75% HR,
<100 kΩ a 93% HR e <150 kΩ a 95% HR),
a resistência do sensor vai ficar suficientemente elevada com o aumento da humidade,
de forma que o sinal de saída de IC2A vai fazer
disparar o segundo temporizador IC2B (configurado como multivibrador monostável). Este
segundo temporizador vai depois ligar a ventoinha de extracção de ar através de um relé
de estado sólido (IC3). Desde que a humidade
permaneça num valor elevado a ventoinha
vai permanecer em funcionamento. Quando
a humidade decresce existe um ponto para o
qual IC2B já não recebe o sinal de disparo.
O temporizador vai fazer com que a ventoinha funcione durante mais quatro minutos e
depois desliga-a.
Quando o circuito é alimentado pela primeira
vez a ventoinha vai funcionar imediatamente
durante quatro minutos. Depois disso, a ventoinha apenas vai funcionar quando a humidade no quarto de banho for muito elevada.
Tendo como objectivo a segurança, a fonte
de alimentação para o circuito consiste num
transformador AC seguido por uma ponte rectificadora, um condensador electrolítico para
filtragem e um regulador. Este método evita
que o sensor (que tem que estar montado no
antena para banda de aviação
quarto de banho) tenha uma tensão perigosamente elevada.
Foi desenhada uma pequena placa de circuito
impresso para este circuito, bastante simples
de montar (uma vez que apenas são usados
componentes convencionais). Certifique-se que
instala a ligação de selecção da tensão de rede
AC num local adequado.
Por causa da elevada humidade existente no
quarto de banho é essencial que o circuito seja
montado numa caixa à prova de água. Se tiver
sorte, a caixa da ventoinha poderá ser larga o
suficiente para acomodar também esta placa.
Contudo, o sensor propriamente dito tem de
ser colocado num local onde estará em contacto com o ar húmido.
A ligação do circuito não requer nenhuma
explicação adicional: a tensão AC é ligada a K1
(que estava originalmente ligado directamente
à ventoinha), a ventoinha está agora ligada a
K2. Usando o potenciómetro P1, encontre a
configuração adequada de forma que a ventoinha ligue quando a humidade relativa do
ar esteja acima de aproximadamente 90%.
(120463)
Artigo original: Humidity sensor – January/February 2013
Antena para banda
de aviação
Ideal para 108-137 MHz
Gert Baars (Holanda)
Esta antena do tipo Zepp ou pólo em J fornece
excelentes resultados em combinação com o
circuito de escuta para aviões na banda dos
108-137 MHz apresentado também nesta edição. Pode ser feita a partir de um cabo coaxial
convencional, como o RG58 ou o RG174 mais
estreito, mas também podem ser usados cabos
mais largos como o RG8 ou RG213.
A antena consiste num dipólo de meia onda e dois
bocados de cabo coaxial que transformam a sua
impedância em 50 Ω. Para construir a antena,
comece por cortar dois bocados de cabo coaxial –
um com um comprimento de 12 cm e outro com
um comprimento de 36 cm, mais um centímetro
para as ligações. Faça um curto-circuito numa
das extremidades do cabo mais curto soldando
a blindagem ao terminal interior. Ligue a outra
extremidade em paralelo com o bocado de cabo
mais comprido e um bocadinho de nada de cabo
para ligar à entrada do circuito de escuta de aviões. Pode também usar um conector para isto.
Na outra extremidade do cabo coaxial mais comprido, solde o condutor interior ao chicote de
antena com um comprimento de 117 cm. Isto
pode ser feito a partir de um fio rígido com um
diâmetro de 1 mm (18 AWG) ou outro material
semelhante, e pode ser fixado em qualquer lugar
dentro de casa.
Para utilizar ao ar livre, pode usar um tubo de
PVC para acomodar a antena.
(120678)
Artigo original: Aviation Band Antenna
January/February 2013
Rx
www.elektor-magazine.pt | Julho - Agosto 2013 | 71
•Doméstico
7-uP: Relógio com alarme/
interruptor temporal
Parte 1
Michael J. Bauer
Embora o objectivo principal do projecto 7-uP seja criar um relógio digital
(Austrália)
com alarme e com funcionalidades melhoradas, uma funcionalidade chave
é a capacidade de automatizar o funcionamento de dispositivos existentes
no escritório ou no quarto, controlando, por exemplo, lâmpadas, computador
e periféricos, e equipamento audiovisual. Alguns entusiastas podem
também pensar em algumas formas engenhosas de utilizar este dispositivo
para os acordar nas manhãs dos dias de trabalho!
Este projecto começou a partir da frustração que
o autor tinha com o rádio-despertador, que apesar
de ser de uma marca conhecida, e dispendioso,
tem um funcionamento bastante incómodo e não
tem a maior parte das funcionalidades que ele
prefere utilizar. Sempre que levantava a questão
entre amigos ou colegas de trabalho, parecia que
todos os despertadores (e rádios-despertadores)
não correspondiam de alguma forma às expectativas dos utilizadores. Aqui está um resumo das
queixas que ouviu frequentemente acerca dos despertadores das pessoas inquiridas…
• Esquecer de ligar o alarme antes de ir para a
cama (porque teve de ser desligado de manhã).
• Rádio-despertador não sintonizado adequadamente, ou o volume ter sido diminuído não
podendo ser ouvido quando activado.
• Aborrecido ritual de mudar a hora do relógio
ou do alarme, tipicamente utilizando um botão
para as “horas” e outro para os “minutos”.
Manter pressionado um botão (e às vezes dois)
provoca a mudança automática dos minutos
ou das horas, mas na maior parte dos casos
demasiado rápido ou lento.
72 | Julho - Agosto 2013 | www.elektor-magazine.pt
• A hora do alarme é a mesma todos os dias, seja
fim-de-semana, Sábado ou Domingo (a maior
parte das pessoas necessita de acordar mais
cedo nos dias úteis do que no fim-de-semana,
e algumas pessoas trabalham em part-time ou
por turnos que variam todos os dias).
• O intervalo de tempo snooze é fixo (tipicamente
7 a 9 minutos) e não pode ser ajustado.
• É incómodo ter de pressionar o botão de snooze
para silenciar o alarme. Era óptimo ter uma
opção que fizesse o alarme tocar durante alguns
segundos, depois desligar-se durante alguns
minutos, e repetir o processo até ser cancelado.
• O mostrador é demasiado brilhante à noite e
demasiado fraco de dia.
• Existe um interruptor para ajustar o brilho do
mostrador, mas tem um funcionamento incómodo. Porque é que o relógio não pode ajustar
automaticamente o brilho para se adaptar à
luminosidade ambiente?
• Não gosto de acordar com o rádio pela manhã,
mas será que não existe um despertador que
faça um som mais interessante? (Ou melhor,
que permita a escolha de sons diferentes?)
Relógio com alarme/interruptor temporal
Os projectos faça-você-mesmo não podem competir com a produção
em massa, mas existe uma grande satisfação em fazer algo melhor!
• As crianças gostam de brincar com os botões do
despertador. As configurações das horas ou do
alarme podem ser modificadas acidentalmente.
• O botão de snooze é demasiado pequeno, ou
mal localizado, ou difícil de operar no escuro.
• Não faz o café.
Quantas destas queixas se aplicam ao seu
despertador?
As lojas de electrodomésticos não tinham um
despertador que cumprisse a quantidade suficiente de requisitos presentes na lista acima.
Então, sendo um engenheiro electrónico, decidi
projectar e construir o “despertador ideal”.
Versão melhorada do despertador
digital
De seguida apresenta-se o conceito para um
despertador digital que cumpre os objectivos
pretendidos…
O objectivo principal é combinar funcionalidades
melhoradas com facilidade de utilização, enquanto
se tenta colmatar muitas das lacunas dos produtos
comerciais. Este projecto não foi feito para competir
em termos de custo com os produtos produzidos
em massa. Os projectos faça-você-mesmo não
podem competir com a produção em massa, mas
existe uma grande satisfação em fazer algo melhor.
Um interface com o utilizador intuitivo (painel
de controlo) que contém um mostrador, alguns
botões de pressão, e um controlo rotativo para
configuração quando o despertador não estiver
ligado a um PC. Os controlos locais devem ser
projectados principalmente para configurar o
alarme e para seleccionar a informação apresentada, em vez de fazer configurações avançadas.
A programação do calendário de interruptores
temporais para 7 dias, se necessária, é feita de
forma mais conveniente através de uma aplicação para Windows e uma ligação USB.
O painel frontal deve ter um grande mostrador
de 4 dígitos, para apresentar a hora actual e mais
alguns indicadores iluminados, tais como PM, 24h,
A1-A4, S1-S4, MON, TUE, WED, etc. Os indicadores de alarme (A1, A2, A3 e A4) apresentam
o estado dos quatro eventos de alarme diários.
Outro conjunto de indicadores (S1, S2, S3 e S4)
apresenta o estado ligado/desligado das saídas
dos interruptores temporais. O brilho do mostra-
dor deve ser variável, e de preferência controlável
por um conjunto de opções configuráveis pelo
utilizador, por exemplo sensor de luminosidade
ambiente (automático), ou por evento de alarme
(modo de poupança de energia), ou manualmente
utilizando o painel de controlo.
A função de alarme deve ter um conjunto de
opções configuráveis pelo utilizador, por exemplo
sons de alarme, volume inicial, volume máximo,
volume auto-incremental (opção rampa), número
de repetições de alerta, intervalo entre repetições
de alerta, etc. Deve haver uma boa selecção de
sons de alarme já programados, que podem ser
modificados pelo utilizador. Pode ser programado
um som de alarme diferente para cada evento de
alarme que ocorra no calendário de alarmes para
os 7 dias, se o utilizador desejar. Idealmente, os
sons de alarme seriam ficheiros de áudio (codificados em PCM/MP3), descarregáveis através
da ligação USB, fornecendo uma qualidade de
áudio com baixa distorção (isto pode ser uma
opção extra, porque o custo adicional pode não
ser justificável para muitos entusiastas).
A função snooze pode ter dois modos de funcionamento. No modo snooze clássico, o som de
alarme é silenciado temporariamente através de
um botão de pressão, mas é reactivado depois
de um tempo pré-programado (por exemplo, 10
minutos). A repetição da activação do alarme
mantém-se até ser cancelada (por exemplo, pressionando o botão snooze três vezes rapidamente)
ou até expirar um tempo pré-programado.
Em alternativa, no modo snooze auto-repetitivo,
a activação do alarme vai acontecer automaticamente a intervalos pré-programados (por exemplo, 10 minutos), durante um certo número de
vezes, sem a intervenção do utilizador, até se desligar automaticamente. Pressionando uma única
vez o botão de snooze, as activações sucessivas
vão ser canceladas.
Em qualquer dos modos snooze, seria necessário desligar o alarme todas as manhãs e ligá-lo
novamente antes de ir para a cama! No modo
de funcionamento normal, o controlo rotativo
pode ser um controlo manual do brilho do mostrador. Nos modos de ajuste da hora e de configuração, no entanto, o controlo rotativo pode
ser utilizado para ajustar convenientemente os
dados apresentados.
www.elektor-magazine.pt | Julho - Agosto 2013 | 73
•Doméstico
Tem de ser fornecido algum meio para confirmar
o próximo alarme pendente, até 48 horas. Pressionando o botão snooze/cancelar (quando não
existe nenhum alarme activo) pode entrar no modo
verificação de alarme, no qual são apresentados
a hora e o dia do próximo alarme pendente. E se
o botão for mantido pressionado, por exemplo,
durante dois segundos, o som atribuído ao alarme
pendente pode ser ligado para poder ser verificada
a intensidade sonora. Levando este conceito um
passo à frente, o controlo rotativo pode ser utilizado para ajustar a intensidade sonora, enquanto
um par de botões de pressão podem ser utilizados
para modificar o efeito sonoro.
Para os entusiastas da tecnologia, o despertador
deve ser ligado a um PC (via USB) e suportar uma
variedade de acessórios ligados aos conectores de
E/S presentes no painel traseiro. Estes fornecem
interruptores que podem ser utilizados para ligar/
desligar dispositivos a horas pré-programadas, e/
ou ligá-los quando o alarme é activado. Estes dispositivos podem ser: campainha de alarme, lâmpada de mesa-de-cabeceira, rádio, TV, fervedor
eléctrico, máquina de café, PC, periféricos do PC,
etc. Em todos os casos os canais dos interruptores
temporais devem ser configuráveis independentemente e podem ter tempos de ligar/desligar
diferentes para cada dia da semana.
Deve ser fornecida uma bateria de segurança para
manter a hora e a data do despertador no caso de
falha de energia. Quando a carga da bateria chegar
a um mínimo utilizável, deve ser emitido um aviso.
Todas as opções configuráveis pelo utilizador,
parâmetros, calendário semanal de ligar/desligar/alarme, etc., devem ser preservados numa
memória não volátil. As configurações do utilizador podem ser descarregadas de/para o PC
utilizando uma aplicação para Windows. Quando
estiver ligado a um PC, o despertador deve sincronizar automaticamente a sua hora e data com
o relógio de tempo real interno do PC que, por seu
lado, pode ser sincronizado pela hora da Internet.
Para além de fornecer um interface gráfico com
o utilizador (GUI) para Windows para configurar
o calendário de alarmes, etc., o porto USB também deve permitir actualizações de firmware.
Esta capacidade é essencial para suportar futuras melhorias e correcção de erros.
Introdução técnica
O hardware essencial consiste num módulo principal, num módulo com o mostrador, um controlo
rotativo, um altifalante, e num botão snooze/can-
74 | Julho - Agosto 2013 | www.elektor-magazine.pt
celar. Ambos os módulos que contêm o hardware
básico não contêm componentes SMD, para facilitar a montagem dos componentes aos entusiastas
que têm menos jeito para soldar e/ou material
limitado. O microcontrolador está inserido num
suporte (PLCC de 52 pinos) pela mesma razão.
O módulo principal contém um gerador de sons
simples de baixo custo. O nível de áudio (envolvente de amplitude quando se liga/desliga e volume
geral) é controlado digitalmente pelo microcontrolador utilizando PWM. Com a ajuda de um firmware
inteligente, que pode introduzir efeitos de modulação de amplitude ou de frequência, este gerador
pode produzir uma boa variedade de sons, desde
os mais agradáveis até aos insuportáveis. É fornecida uma selecção de 16 sons pré-definidos com
o firmware genérico. O utilizador pode construir
sons alternativos modificando os parâmetros de
formato sonoro armazenados na EEPROM.
Todas as partes podem ser colocadas numa caixa
já feita, ou numa caixa projectada e construída por
si. A caixa standard consiste num modelo CM6225 da PACTEC, mas também está disponível a
baixo preço uma réplica feita na China. As placas de circuito impresso foram projectadas para
caber na caixa standard (Assembly Instructions no
pacote para download). Embora os sete botões de
pressão sejam normalmente montados no topo do
módulo do mostrador, para que sejam acessíveis
a partir da frente do painel superior, podem ser
localizados em qualquer outro local, por exemplo num pedaço de placa para protótipos ligado
ao módulo do mostrador. Este tipo de disposição
permite variações criativas ao desenho da caixa.
A expansão de hardware é possível através de
um módulo intermédio opcional que é ligado ao
módulo principal através de um conector para flat-cable. Isto torna possível a extensão da funcionalidade do despertador, ou utilizar a plataforma
de hardware para uma aplicação completamente
diferente. No futuro, o autor poderá desenvolver
um módulo intermédio para gerar áudio digital
PCM/MP3 de alta-fidelidade. O módulo vai incluir
um circuito integrado descodificador de MP3 e uma
memória flash série para armazenar os ficheiros
de som. O firmware é baseado no sistema operativo ALERT (Low-End Real-Time) desenvolvido pelo
autor. Quem construir o projecto pode escolher
entre escrever (e partilhar) o seu próprio firmware
ou descarregar uma versão genérica gratuita.
O código fonte está disponível em [1] para os leitores que desejem modificar ou expandir o firmware para as suas próprias aplicações.
Relógio com alarme/interruptor temporal
Funcionalidades do Relógio com alarme/interruptor temporal 7-uP
• Utilização fácil e conveniente.
• Controlos locais e menu de configuração intuitivos.
• Controlo rotativo (codificador rotativo) para facilitar
a configuração da data e da hora.
• Confirmação de alarmes pendentes e de intensidade
sonora com apenas um toque.
• Múltiplos eventos de alarme e calendário semanal (7 dias).
• Programação de até quatro eventos de alarme num período
de 24 horas.
• Tempos diferentes de alarme para cada dia, se desejado.
• Opções para snooze/cancelar versáteis.
• Modo clássico – o alarme toco continuamente até ser
cancelado por um botão.
• Modo de repetição automática – o alarme toca em
intervalos periódicos, até ser cancelado.
• Intervalo de tempo de snooze ajustável (em ambos
os modos).
• Mostrador com brilho variável, com opção de escolha
dos modos de controlo.
• Sensor de luminosidade ambiente.
• Activado por alarme ou temporizador.
• Configuração manual – ajustar o brilho com controlo
rotativo.
• Sons de alarme de alta qualidade programáveis.
• Possibilidade de escolha de uma variedade de sons
de alarme “interessantes” já programados.
• Modificar os sons já programados ou criar os seus próprios
sons.
O hardware é baseado no microcontrolador
AT89C5131 da Atmel. Este microcontrolador foi
escolhido porque estava disponível num encapsulamento PLCC (com suporte), tem uma generosa
quantidade de memória flash para programa (32
kB) com EEPROM de dados separada (1 kB), tem
um módulo USB interno, é popular e está disponível a baixo custo (cerca de 7 dólares na Digi-Key).
Mais importante, o AT89C5131 tem um bootloader
para programar a memória flash através da ligação
USB, sem necessitar de um programador adicional.
A única desvantagem do AT89C5131é ter um
núcleo 8051, que é (na opinião do autor) uma
das piores arquitecturas para microcontroladores
já desenvolvidas! Isto não é relevante se estiver a
programar em linguagem C e tiver acesso a memória flash suficiente para compensar o conjunto de
instruções ineficiente (para ser justo, o conjunto
de instruções da arquitectura 8051 é bastante eficiente se utilizar o bloco de registos principal, isto é
RAM abaixo do endereço 0xFF, mas é horrivelmente
ineficiente se utilizar os blocos de RAM estendida).
Para os projectistas de firmware faça-você-mesmo,
está disponível um compilador de linguagem C
para desenvolvimento de código para a arquitectura 8051 (procurar “SDCC 8051 compiler”
no Google). No geral, o AT89C5131 é uma boa
• Atribuir diferentes sons a eventos de alarme diferentes.
• Ligação USB a um PC #.
• Sincronizar o relógio ao sistema de hora e data do PC (hora
da Internet).
• Guardar e restaurar opções de configuração, eventos
de alarme e calendários de interruptores temporais ^.
• Possibilidade de descarregar actualizações (melhoramento
de funcionalidades e correcção de bugs).
• Ligações para dispositivos controlados por interruptores
temporais e por interruptores de alarme.
• Quatro canais independentes para interruptores temporais
com calendário Ligar/Desligar de 7 dias.
• Controlo de dispositivos AC (lâmpadas, rádio, TV/Vídeo,
computador e periféricos)*.
• Saída activada por alarme para controlo de dispositivos
de despertar externos.
• Temporizador auxiliar (decrescente) com respectiva saída
de controlo.
• Ligar automaticamente periféricos do PC quando
é detectada energia no barramento USB.
* Necessita de relés de estado sólido opcionais para controlar
equipamento AC.
#
A ligação ao PC utiliza a aplicação de porta COM Virtual USB-CDC,
^
Facilitado por uma aplicação gráfica para Windows, a ser desenvolvida
também acessível utilizando o HyperTerminal.
por terceiros.
escolha para um projecto faça-você-mesmo, especialmente para os entusiastas que não dominam a
soldadura de componentes SMD. Para um produto
comercial com um projecto semelhante, poderia
escolher-se um microcontrolador diferente, por
exemplo, um MC9S08-JM60 da Freescale ou até
um microcontrolador ARM de 32 bits (porque os
custos são comparáveis com muitos dispositivos
de 8 bits). Todos os componentes estão disponíveis nos maiores fornecedores tais como a Farnell/
Avnet, Digi-Key, Mouser, etc. A maior parte dos
componentes deve estar disponível nas lojas de
electrónica locais (provavelmente a preços mais
elevados). Cuidado com as altas taxas de entrega
cobradas por fornecedores de outros continentes.
Funcionamento geral
Requisitos da fonte de alimentação
O despertador foi projectado para funcionar a
partir de uma pilha de 9 V. O circuito do despertador consome menos de 100 mA (com o brilho
do mostrador configurado para um valor normal). É recomendada uma fonte de alimentação
comutada para minimizar o consumo de energia
da rede eléctrica AC. O despertador tem um circuito integrado regulador de tensão comutado
de 5 V para uma eficiência óptima.
www.elektor-magazine.pt | Julho - Agosto 2013 | 75
•Doméstico
Figura 1.
Legenda dos botões de
pressão do painel superior.
Este despertador também pode ser alimentado a partir do porto
USB (V bus = 5 V DC). A
fonte de alimentação DC
externa (+VEX), disponível
nos conectores para dispositivos externos, vem
directamente da entrada de 9 V, pelo que não está
disponível quando se está a alimentar o circuito
via USB. Consequentemente, os dispositivos que
necessitem da fonte alimentação de 9 V não vão
funcionar. A bateria de segurança mantém o despertador a funcionar quando este está desligado
de ambas as fontes de alimentação: USB e 9 V.
Bateria de segurança
O despertador não foi projectado para utilizar a
bateria de segurança em funcionamento normal.
A bateria serve apenas para prevenir a perda
da hora e da data quando ocorre uma falha de
energia ocasional na rede eléctrica; também permite desligar momentaneamente o despertado
para o mudar de localização, por exemplo para
o ligar a um PC. Enquanto está a funcionar só
com a bateria de segurança, só estão activas as
funções que mantêm a hora e a data.
A bateria de segurança contém três pilhas do
tipo AA, que podem ser do tipo alcalino de 1,5
V ou do tipo recarregável de 1,2 V. O microcontrolador funciona com a tensão da bateria numa
gama entre 3,3 V e 5 V. A tensão da bateria é
monitorizada continuamente pelo microcontrolador quando o despertador está alimentado pela
fonte de alimentação DC de 9 V. É fornecido um
interruptor para desligar a bateria de segurança
para quando o despertador fique desligado por
um longo período de tempo.
Figura 2.
Legenda do mostrador
do painel frontal.
Fonte de alimentação DC suplementar
Os conectores Dispositivo Alarme e Dispositivo
Interruptor Temporal
fornecem uma fonte de
alimentação DC protegida, alimentada a partir da entrada DC de 9 V.
A corrente fornecida pela
fonte de alimentação DC
externa está limitada em
cerca de 0,5 A através de
um fusível rearmável. A
saída de controlo comutada por alarme consegue fornecer até 0,5 A a um dispositivo DC (por
exemplo, uma campainha, lâmpada, rádio, etc.).
76 | Julho - Agosto 2013 | www.elektor-magazine.pt
Download do firmware
O firmware é programado na memória flash para
programa através da ligação USB, utilizando a
aplicação FLIP (Flexible In-System Programmer)
da Atmel. A versão mais recente do software
FLIP e a documentação para o utilizador pode
ser descarregada do site da Atmel.
Para iniciar o bootloader USB do dispositivo,
mantenha pressionado o botão ISP (In-System
Programming), e depois pressione o botão de
reset. O mostrador deve apagar-se. Ligue o cabo
USB ao PC. Inicie a aplicação FLIP. Siga as instruções da aplicação FLIP da Atmel.
Interface de comandos com o host
O firmware contém um protocolo de comunicação
que tem como função principal transferir dados
de/para um PC host através da ligação USB. O
protocolo é baseado num simples formato de linha
de comandos, daí o nome “interface de comandos com o host HCI (Host Command Interface).
Como o protocolo utiliza caracteres ASCII imprimíveis, o interface pode ser acedido utilizando
um emulador de terminal (por exemplo, o HyperTerminal) para a interacção com o utilizador. O
interface pode ser utilizado interactivamente para
configurar opções do despertador, parâmetros,
etc. As opções de configuração avançadas, não
acessíveis a partir do “interface local com o utilizador” (painel de controlo), podem ser configurados utilizando o interface de comandos com
o utilizador em conjunto com o HyperTerminal,
ou uma aplicação para o GUI do Windows (TBD).
O porto de dispositivos USB é visto pelo PC como
um porto COM virtual. O software da aplicação
no Windows pode comunicar com o despertador
através de chamadas a funções API para os portos COM do Windows (open, read, write, etc.).
Um comando é composto por duas letras (mnemónica de comando) e um conjunto de argumentos fornecidos pelo utilizador (argumentos).
Alguns comandos não têm argumentos. Deve ser
inserido um único espaço entre os argumentos,
quando existe mais do que um (incluindo o nome
do comando com as duas letras). Geralmente, o
protocolo não é sensível a maiúsculas. Não há
um mecanismo para editar a linha de comandos, mas utilizar ESC ou Ctrl-X faz cancelar a
linha de comandos.
É fornecido um breve sumário dos comandos
quando se introduz o comando de ajuda, HE.
São fornecidos comandos para depuração para
assistir os projectistas no desenvolvimento do
Relógio com alarme/interruptor temporal
Tabela 1. Funções dos botões de pressão.
seu próprio código para o firmware, e para os
interessados no funcionamento interno do microcontrolador e do firmware.
Para mais detalhes sobre o protocolo procure o
manual do utilizador que está no pacote gratuito
para download em [1].
Funcionamento do painel de controlo
– uma visão geral
A Figura 1 apresenta a disposição standard dos
botões de pressão ao longo do painel superior do
despertador. O botão SNOOZE/CANCELAR também está localizado no painel superior. Os botões
de pressão, o mostrador LED e o codificador rotativo formam o interface local com o utilizador.
A maior parte das operações e das configurações
são acessíveis através do interface local com o
utilizador. Algumas das mais esotéricas funções
para o utilizador são ajustáveis somente através
da ligação USB.
Ao contrário da maior parte dos despertadores,
o nosso mostrador apresenta o dia da semana.
Quando se configura um alarme, o utilizador pode
escolher em que dia(s) da semana o alarme vai
ser activado. Outros indicadores LED apresentam
o estado ligado/desligado dos quatro eventos de
alarme (A1-A4) e das quatro saídas dos interruptores temporais (S1-S4). O painel de controlo
(Figura 2) permite a configuração manual das
saídas dos interruptores temporais.
A maior parte dos botões de pressão têm mais
do que uma função. A função efectuada quando
se pressiona um botão é dependente do contexto
da operação. Por exemplo, no modo de apresentação da hora actual, pressionar os botões [+] ou
[-] selecciona um item diferente, por exemplo,
segundos, ano, data (mês e ano), etc. Num modo
de configuração, os botões [+] e [-] podem ser
utilizados para incrementar ou decrementar um
valor numérico, ou para navegar através de uma
lista de itens, por exemplo, os dias da semana.
No geral, num modo de configuração, um dígito
ou um LED a piscar indicam que um item pode
ser alterado pressionando um botão ou rodando
o controlo rotativo. O botão SAIR deixa uma operação de configuração sem alterar nada.
A Tabela 1 apresenta um resumo das operações do “interface local com o utilizador” (painel de controlo). A coluna da esquerda contém
as operações que podem ser efectuadas a partir
do modo de apresentação da hora actual. Para
os detalhes completos de funcionamento, leia o
manual do utilizador no pacote para download.
Botão de pressão
pressionado ou
Acção resultante
outra entrada
TEMPORIZADOR/
RELÓGIO
É apresentado o Temporizador Decrescente (tempo
inicial ou remanescente, mm.ss).
A partir daqui o Temporizador Decrescente
pode ser configurado e iniciado.
VERIFICAÇÃO
DE ALARME
É iniciado o modo Verificação de Alarme.
É apresentado o tempo configurado do evento
de alarme seleccionado (A1..A4). Aqui o alarme
seleccionado (hora e dia da semana) pode ser
reprogramado, habilitado ou desabilitado. Os botões
[+] e [-] seleccionam o dia da semana para o alarme
a ser configurado. O botão LIGAR/DESLIGAR comuta
o estado do alarme. Pressionar o botão SNOOZE no
modo VERIFICAÇÃO DE ALARME permite a alteração
do efeito sonoro e da sua intensidade.
INTERRUPTOR
TEMPORAL
É iniciado o modo INTERRUPTOR TEMPORAL. Pode
ser comutado o estado do canal de interruptor
temporal seleccionado (S1-S4) (desligando
temporariamente o horário de interruptores
temporais programado).
CONFIGURAR,
durante mais
de 3s
É iniciado o modo de configuração da Hora. O
controlo rotativo ajusta as horas e depois, se for
pressionado o botão CONFIGURAR, são ajustados os
minutos. Pressione novamente o botão CONFIGURAR
para gravar as alterações, ou pressione o botão SAIR
para deixar tudo inalterado.
MENU,
É iniciado o modo de Configuração de Menu.
durante mais de 3s Aqui podem ser ajustadas várias opções de utilizador
e parâmetros. Os botões [+] e [-] permitem navegar
através do menu.
[+] ou [-]
A hora actual muda para os segundos, ou para a data
(ano, mês, dia). Pressionando [+] navega através
dos itens na sequência: Segundos (ss.cc), Ano
(20xx), Data (MM dd), e depois novamente para a
hora actual. Pressionando [-] inverte-se a sequência.
O botão CONFIGURAR pode ser pressionado para
configurar algum dos itens apresentados.
SNOOZE/
CANCELAR
Confirmação de alarme: é apresentada a hora
do próximo evento de alarme (habilitado) pendente,
até às próximas 48 horas. Se mantiver pressionado o
botão (>2s), é activado o som do alarme. Pressionar
o botão CONFIGURAR enquanto mantém pressionado
o botão SNOOZE permite a alteração do tipo
e da intensidade do alarme.
Controlo rotativo
(enquanto
é apresentada
a hora actual)
É ajustado o brilho do mostrador. Dependendo
das opções seleccionadas, esta configuração pode
ser retida até ao próximo ajuste, ou pode mudar
novamente automaticamente.
No segundo e último artigo desta série, vamos
discutir o diagrama esquemático e a construção
do despertador.
(100149)
Artigo original: The 7-uP Alarm Clock/Time-Switch
January & February 2013
www.elektor-magazine.pt | Julho - Agosto 2013 | 77
•Passatempo & Modelismo
Circuito para escuta
de comunicações
aeronáuticas
Para os entusiastas de aviões,
e em particular os spotters,
é sempre interessante ouvir as comunicações
entre as aeronaves e as torres de controlo.
Com este receptor é fácil ouvir todo o tráfego na
banda de aviação civil. É fácil de construir, tem
Gert Baars
(Holanda)
apenas um ajuste de hardware, e até pode ser
controlado a partir de um PC com um porto USB.
É sempre interessante ouvir as comunicações
entre as aeronaves e as torres de controlo. Mesmo
que estas consistam habitualmente em informações standard acerca da posição ou instruções
aos pilotos para descolar ou aterrar; é bastante
emocionante – é quase como estar sentado no
cockpit junto ao piloto. Em conjunto com os
entusiastas que consideram fascinante escutar
as comunicações aeronáuticas, os spotters de
aviões gostam de escutar as comunicações para
descobrir que tipo de avião está a aterrar ou a
preparar-se para descolar.
Claro, existem circuitos de escuta para comunicações aeronáuticas já feitos e a preços razoáveis,
mas continua a ser interessante construir um e
divertir-se com ele. O circuito que aqui descrevemos consiste num projecto bastante simples,
mas fornece uma grande quantidade de funcionalidades graças ao microcontrolador integrado,
que lhe permite controlar o circuito e programar
as frequências a partir de um PC.
Considerações
Para manter o circuito razoavelmente simples,
o varrimento é limitado à banda de aviação civil
(108-137 MHz). A banda de aviação civil foi originalmente dividida em canais com intervalos de
25 kHz, que mais tarde foram actualizados para
78 | Julho - Agosto 2013 | www.elektor-magazine.pt
8,33 kHz (25/3). Na prática, este esquema
é raramente utilizado. O circuito aqui descrito
pode ser sintonizado com uma resolução de
1 kHz, para que nunca divirja mais de 330 Hz da
frequência desejada. A largura de banda desejada
para sinais AM é aproximadamente de 6 kHz.
Estão assim determinados os requisitos mínimos
para o nosso circuito de varrimento.
Para evitar a necessidade de implementar um
teclado e um mostrador, optou-se por substituir
estes componentes por um terminal. O circuito
comunica com um PC através de uma ligação
série (USB), onde é apresentado um interface
de controlo que utiliza o HyperTerminal. Pode
utilizar o PC para programar as frequências e
configurar vários parâmetros.
Para o andar de recepção escolheu-se uma abordagem relativamente simples com um único circuito integrado – um receptor FM superheterodino
de conversão simples, que está configurado como
receptor AM utilizando o detector de nível de sinal
como detector AM. Num receptor superheterodino
de conversão simples são geradas frequências
imagem que têm de ser suprimidas. Isto é tão
mais simples quanto maior for a distância entre a
frequência recebida e a frequência imagem, o que
torna necessária a utilização de uma frequência
intermédia de valor elevado. A frequência intermédia mais alta possível com o circuito integrado
Circuito para escuta de comunicações aeronáuticas
Portátil e com
interface USB
Funcionalidades
• Programável em ambiente Windows.
• 100 frequências programáveis em memória.
• Gama de recepção de 108-137 MHz (AM).
• Sensibilidade de 0,2 µV com uma relação sinal/ruído (S+N/N) de 6 dB.
• Taxa de varrimento de 5 canais por segundo.
• Função de varrimento automático com programação
de frequência.
• Sintonia manual possível com botões cima/baixo.
receptor utilizado é de 25 MHz, aproximadamente. Embora uma frequência de
27 MHz esteja dentro da gama utilizável, os
filtros para esta frequência são habitualmente
dispendiosos e difíceis de encontrar. Optou-se aqui por dois filtros simples em
escada com cristais de quartzo de
27 MHz – no total quatro cristais
de quartzo custando cerca de 1
euro cada. A vantagem de utilizar uma frequência intermédia de
27 MHz, com a frequência do
oscilador local abaixo da
frequência de recepção, é
que as frequências imagem pertencem a uma
gama entre 54 MHZ
e 83 MHz, imediatamente abaixo da
banda de radiodifusão FM em VHF.
Nos receptores é
habitualmente
implement ada a
sintonia utilizando
uma PLL ou DDS, mas
para simplificar o mais possível optou-se por uma solução
mais simples para este projecto.
Uma opção é utilizar uma malha de captura de
frequência (FLL). Com esta abordagem, o microcontrolador mede a frequência do VFO, compara-a no firmware com a frequência desejada, e
ajusta-a utilizando um conversor D/A. Depois de
alguns testes concluiu-se que esta
abordagem funciona bastante
bem se o conversor D/A tiver
uma resolução suficientemente elevada, para
permitir pequenos ajustes na
frequência. A
entrada do contador do microcontrolador
não admite
frequências
muito elevadas, pelo que foi
inserido um divisor de frequência
entre o oscilador e
o microcontrolador.
Isto resulta num
circuito com poucos e simples
componentes. O cir-
www.elektor-magazine.pt | Julho - Agosto 2013 | 79
•Passatempo & Modelismo
+5V
IC5
78L05
1
C15
3
2
100n
IC3
2
C16
LM317
3
100n
7
C18
C10
10p
BFR92
2 RF BYPASS
3
C25
10n
100nH
4
C23
100p
1
CBUS4
2
CBUS3
3
VCIO
+3V3
CBUS2
4
5
CBUS1
RXD
CBUS0
TXD
BOB-FT232R
6
RESET
7
8
9
CTS
DCD
RI
DSR
RTS
DTR
2
100k
16
11
TXD
14
LIMITER IN
IF AMP OUT
56uH
7
17
100n
R4
C22
47k
C17
220u 16V
R5
19
C29
47k
4n7
C41
C33
C31
C27
100n
100n
100n
220p
R8
47k
P2
C20
C19
T1
2n2
C26
RSSI
3
50k
VOL
2
2n2
1
10u
16V
6
CTR12
10
+
0
1
2
4
IC6
CT
MC74AC
4040D
CT=0
5
6
7
8
9
10
GND
8
47u
16V
4
7
C36
BS170
47n
IC1
V+
11
5
7
2
6
7
1
4
VDD
IC4
REF
3
DIN
LDAC
DGND
R10
2
SCLK
MAX5201
5
2
1
CLR
OUT
10
CS
AGND
3
9
4
8
5
6
6
11
12
13
4
13
12
14
15
1
R1
C1
100n
9
3
K2
AUDIO
MUTE
C4
3
T2
C35
5
78L05
VCC
220R
8
IC8
10
100n
11
15
L2
C12
VTUNE
13
16
BFR92
V+
GND
R6
10p
14
GND
100n
820R
RSSI OUT
12
C39
R3
2u2
16V
1n
C21
12k
22p
+9V
0
C7
220R
LM386-N3
RXD
+5V
R9
*
12
15
C24
L3
D2
BB204
17
22p
+
1
R7
18
+5V
27MHz
K1
4
100n
10p
3
MOD1
13
C45
56p
C47
16
IC7
SA615
RF IN
C34
6
VCC
X5
IF AMP DEC
L5
C40
5
C46
IF AMP DEC
1n
27MHz
LIMITER DEC
12p
T3
18
IF AMP IN
1
X4
MUTE IN
20
C30
100p
C38
22p
MIXER OUT
120k
C37
22p
R12
330R
100n
27MHz
XTAL OSC
R11
C32
ANT
C42
56p
C44
XTAL OSC
GND
X3
LIMITER DEC
27MHz
ANT1
C43
1N4001
ADJ
R2
100n
X2
D1
1
6
21
220R
L4
20
7
AVCC
VCC
ADC5
RESET
ADC4
ADC3
PD0
IC2
PD1
PC2
PD2
PC1
PD3
PC0
PD4
PB5
T1
PB4
OC0A
PD7
ATMEGA88
PB3
PB2
PB1
AREF
PB0
100n
28
26
25
23
8
C11
C13
9
X1
100p
100n
40p
20MHz
C5
C6
C3
10u
16V
100n
100n
10u
16V
19
18
17
16
15
14
L1
100mH
10 22
F/16
C28
C2
100k
SQUELCH
24
GND XTAL1 XTAL2 GND
3uH3
150k
27
C14
C8
C9
22p
100n
100n
R14
R15
1k
D3
1k
D4
HOLD
SQUELCH
S3
S1
S2
100696 - 11
Figura 1.
Diagrama esquemático
do receptor, com a parte
analógica em cima e a
parte digital em baixo.
Os três reguladores de
tensão fornecem tensões de
alimentação estáveis para
as várias partes do circuito.
cuito tem apenas três botões de pressão, um
controlo de volume e um controlo de limiar de
detecção. Tudo o que necessita para tornar este
dispositivo portátil é programar as frequências e
as configurações através de um PC.
Como funcionalidade extra, tem um modo de
funcionamento no qual varre automaticamente as
frequências e programas existentes na memória.
Isto envolve regular o nível de limiar de detecção, reiniciar o scanner no modo de varrimento,
80 | Julho - Agosto 2013 | www.elektor-magazine.pt
e esperar até que o varrimento esteja concluído.
Neste modo o scanner varre automaticamente a
banda de aviação, uma frequência de cada vez,
armazenando na memória cada frequência onde
detecte sinal.
Andar de recepção
O receptor (Figura 1) é construído em torno
de um circuito integrado NE615 (SA615). Este
componente é uma versão melhorada da com-
Circuito para escuta de comunicações aeronáuticas
binação de um NE602 (misturador e VFO) com
um NE604 (amplificador de frequência intermédia, limitador e detector de FM). A detecção de
FM não é relevante para este projecto, pelo que
não são utilizados alguns pinos deste componente. No entanto, o circuito integrado tem uma
saída para um detector de nível de sinal (RSSI),
que fornece uma tensão proporcional ao nível do
sinal. Este sinal é dividido em dois: um para a
saída de áudio (com filtragem de banda estreita
para supressão de ruído), e outro para detecção de sinal pelo microcontrolador. Isto permite
ao microcontrolador parar a procura se detectar
um sinal activo.
Para melhorar a recepção, o sinal proveniente
da antena é filtrado e amplificado antes de ser
injectado no circuito integrado receptor. Neste
é misturado com o sinal gerado pelo VFO, que é
sintonizado utilizando um díodo varicap duplo. O
resultado é uma frequência intermédia de 27 MHz,
que é filtrada por um par de filtros em escada
com cristal de quartzo (X2-X5), com uma largura
de banda de 6 kHz aproximadamente. A frequência intermédia não é exactamente 27 MHz, mas
sim 26,998 MHz. Isto pode ser modificado nos
parâmetros de configuração, mas a configuração
standard da frequência intermédia é de 26,998
MHz. Os cristais têm de ter as frequências fundamentais idênticas, mas um desvio de alguns
kHz é tolerável e pode ser compensado ajustando
os parâmetros de configuração se necessário.
Não utilize cristais de terceira harmónica
(fundamental de 9 MHz).
O sinal gerado pelo VFO é injectado, através
de um andar de ganho (T2), num 74AC4040
(IC6) configurado como divisor por 16. A gama
de frequências do VFO situa-se entre 81 MHz
e 110 MHz. O limite superior de frequência da
entrada do contador do microcontrolador é de 8
MHz, pelo que é necessário um factor de divisão
mínimo de 14.
O sinal da saída de áudio de IC7 (pino 7) está
ligado ao potenciómetro de controlo de volume
P2 através de algumas resistências, e do FET T1
para a função MUTE. O controlo de volume faz
passar o sinal pelo pequeno circuito integrado
amplificador de áudio (IC8, um LM386), que pode
controlar directamente um pequeno altifalante
de 4Ω ou de 8Ω.
A combinação de sinais digitais e analógicos (RF)
torna necessária uma extensa regulação das ten-
Bandas de aviação
Se pretender projectar um scanner para comunicações aeronáuticas, tem
de considerar à partida que gama de frequências este deve ser capaz de receber. A maior parte das comunicações aeronáuticas tem lugar nas bandas
de aviação civil (108-137 MHz) e militar (230-400 MHz), ambas moduladas
em amplitude (AM). No entanto, também é utilizada modulação SSB nas
bandas HF (3-30 MHz) para comunicações aeronáuticas.
Para este scanner foi decidido limitar a gama de frequências de recepção à
banda de aviação civil. Esta banda é utilizada para comunicações entre os
controladores aéreos e as aeronaves, entre as aeronaves, e entre as aeronaves e as companhias aéreas ou veículos terrestres.
sões de alimentação. São utilizados três reguladores de tensão para este efeito. IC3 fornece
uma tensão de alimentação limpa de 6 V para
toda a secção de RF. A secção digital tem o seu
próprio regulador de 5 V, fornecidos por IC1, e
IC6 tem uma tensão de alimentação separada
fornecida por IC5 (um 78L05).
Microcontrolador
O ATmega88 (IC2) tem de cuidar de várias tarefas. Este mede a frequência proveniente do VFO,
dividida por 16 por um contador com um tempo
de atraso de 16 ms, retornando os valores medidos em kHz. O VFO é controlado por um conversor D/A de 16 bits: um MAX5201 (IC4), que
foi escolhido por ter os 16 bits necessários ao
projecto. Com uma largura de banda de 29000
kHz e 216 passos de quantificação, a resolução
é de 440 Hz, aproximadamente. Isto é aceitável
para sintonizar com a precisão adequada uma
largura de banda com uma frequência intermédia de 6 kHz. As outras duas razões significativas para escolher este dispositivo são a saída
do amplificador rail-to-rail e o seu interface de
controlo série.
A memória EEPROM do microcontrolador tem
espaço suficiente para armazenar mais de 100
frequências, o que é mais do que necessário, mas
também pode seleccionar segmentos de frequência, tais como 5 segmentos de 20 frequências.
Duas entradas do conversor A/D do microcontrolador são utilizadas para medir o nível do sinal e
o valor regulado pelo potenciómetro de limiar de
detecção (pinos 28 e 27). Estes valores são comparados com os valores de referência internos,
e baseado nos resultados destas comparações,
o sistema pára ou continua a procura. Os LEDs
D2 e D4 fornecem informação acerca do limiar
de detecção e do tempo de espera durante a
procura. Estão presentes três botões de pressão
www.elektor-magazine.pt | Julho - Agosto 2013 | 81
•Passatempo & Modelismo
Figura 2.
A placa de circuito impresso
consiste em duas secções
que podem ser separadas
se desejado, dependendo
da caixa escolhida.
(S1-S3), que podem ser utilizados para algumas
funções, como por exemplo bloquear um canal
durante a procura.
O conversor USB/FT232R [1], que já foi utilizado
em vários projectos da Elektor, é ligado aos pinos
2 e 3 do microcontrolador. É reservado espaço
para este módulo na placa de circuito impresso.
Este conversor permite ao scanner ser ligado a
um PC através de um cabo USB.
Firmware
Figura 3.
O protótipo está um pouco
descuidado mas funciona
bem.
O firmware permite que o hardware do scanner funcione correctamente. O ciclo principal lê
sequencialmente as frequências presentes na
memória EEPROM. Para cada frequência, tem
de se subtrair a frequência intermédia para determinar a frequência do VFO. Aqui não é possível
introduzir directamente a frequência, devido ao
princípio de funcionamento da FLL. Por esta razão,
a frequência é configurada utilizando o método
das aproximações sucessivas. Utilizando um
conversor D/A de 16 bits
são necessárias 16 medições, cada uma com uma
duração de 16 ms. Embora
isto torne a procura mais
lenta, permite que o projecto fique mais simples
do que seria se fosse utilizada uma PLL ou DDS.
Depois de configurada a
frequência, o firmware
analisa a saída RSSI para
determinar se foi detectado um sinal. Se sim, é
desligado o sinal MUTE e o
sinal de áudio é encaminhado para o altifalante.
Se o sinal desaparecer, a frequência é monitorizada durante um intervalo de tempo configurável e, passado este tempo, a procura continua
e é lida uma nova frequência armazenada na
EEPROM, sendo configurado o VFO com a nova
frequência. Esta frequência é mantida durante o
tempo de espera e quando se está a ouvir uma
determinada frequência. A memória tampão de
entrada e o estado dos botões de pressão são
lidos durante a procura. Isto permite a leitura
de comandos provenientes do terminal e, se o
botão de pressão S1 estiver pressionado, o canal
actual é evitado e a frequência correspondente é
marcada com um B na EEPROM. O canal é assim
bloqueado, o que pode ser desejável se o scanner ficar bloqueado nessa frequência, talvez pela
presença de uma portadora sem conteúdo. Este
bloqueio pode ser efectuado a partir do terminal.
O scanner tem um conjunto de configurações
standard (como o valor da frequência intermédia),
que são lidas da memória EEPROM aquando do
arranque. Isto permite a
configuração destes parâmetros, directamente no
scanner ou utilizando o
terminal.
Construção
A Figura 2 apresenta o
desenho da placa de circuito impresso para o
scanner de comunicações
aeronáuticas. Esta é dividida numa secção analógica e numa secção digital, que podem ser sepa-
82 | Julho - Agosto 2013 | www.elektor-magazine.pt
Circuito para escuta de comunicações aeronáuticas
radas se necessário, dependendo de como vão
ser montadas na caixa. Se separar as duas secções, vai ter de as juntar através de fios (cinco
ligações por fio e mais uma ligação para a massa
entre as duas secções).
É melhor começar por soldar os componentes
SMD, porque é a tarefa mais difícil. Depois disso
pode encaixar e soldar os suportes para os circuitos integrados e os componentes convencionais. Os dois potenciómetros são montados na
caixa e ligados ao circuito por pequenos pedaços
de fio isolado. A bobina L5 é a única bobina que
tem de bobinar manualmente. Para isto, enrole
quatro espiras de fio prateado com cerca de 1
mm de diâmetro (18 AWG), na parte lisa de uma
broca de 7 mm. Depois estique a bobina até esta
atingir um comprimento de cerca de 7 mm, e
solde-a na placa de circuito impresso. Corte um
pouco de espuma e insira-a na bobina para evitar
vibrações. Finalmente, insira o microcontrolador
já programado, o LM386, e o conversor USB/
FT232R na placa de circuito impresso.
Quando seleccionar uma caixa, lembre-se de deixar algum espaço para os potenciómetros, para
um pequeno altifalante, e para uma pilha de 9 V
ou um conjunto de pequenas pilhas. Os botões de
pressão devem ser acessíveis do exterior (uma
opção é inseri-los em pequenas extensões tubulares). Também necessita de montar um conector
BNC para a antena.
Para utilização exterior, pode ligar uma antena
de ¼ de comprimento de onda, com um comprimento de 60 cm. Para utilização interior pode
ligar uma antena mais eficiente, como aquela
que é descrita algures nesta edição.
Ajustes
Perto do cristal gerador de relógio para o microcontrolador está um condensador variável de
40 pF, que permite ajustar a frequência de
relógio para 20,0000 MHz exactos, permitindo
uma sintonia de precisão. Regule-o para uma
posição intermédia para iniciar o ajuste. Este
pode ser ajustado medindo a frequência à saída
do 74AC4040 e utilizando o comando T para
configurar o scanner para uma frequência fixa.
Esta frequência, depois de lhe subtrair o valor
da frequência intermédia e de a dividir por 16,
deve estar presente à saída do divisor de frequência. Depois de configurar exactamente esta
frequência, utilize o comando T para configurar
uma frequência de recepção, e depois verifique
se o valor da frequência intermédia presente
Lista de componentes
Resistências
(SMD 0805)
R1= 150 kΩ
R2;R6;R10= 220 Ω
R3= 820 Ω
R4;R5;R8= 47 kΩ
R7= 100 kΩ
R9= 12 kΩ
R11= 120 kΩ
R12= 330 Ω
R14;R15= 1 kΩ
P1= potenciómetro 100 kΩ, linear
P2= potenciómetro 50 kΩ, logarítmico
Condensadores
(SMD 0805)
C1;C4a C9;C11;C12;C15;C16;C18;C21;C31;C32;C33;C39;C41;C48= 100 nF
C2;C3;C29= 10 µF/35 V, radial
C10= 2,2 µF/63 V, radial
C14;C42;C44;C45;C47= 22 pF
C17= 4,7 nF
C19;C20= 2,2 nF
C22= 220 µF/16 V, radial
C23;C24;C40= 10 pF
C25;C28;C30= 100 pF
C26;C38= 1 nF
C27= 220 pF
C34= 10 nF
C35= 47 µF/16 V, radial
C36= 47 nF
C37= 12 pF
C43;C46= 56 pF
C13= ajustável de 8,5 pF-40 pF (Murata TZB4P400AB10R00)
Bobinas
L1;L5= 10 nH (SMD 0805)
L2= 56 µH
L3= 4 espiras de fio 18 AWG prateado, comprimento 8 mm, diâmetro interior 7 mm
L4= 3,3 µH (SMD 0805)
Semicondutores
D1= 1N4001
D2= BB207 (TO236)
D3;D4= LED de baixa corrente, 3 mm
T1= BS170F (SOT23)
T2;T3= BFR92A (SOT23)
IC1;IC5= 78L05
IC2= ATmega88-20PU, programado (Refª 100969-41)
IC3= LM317 (SOIC-8)
IC4= MAX5201AEUB+
IC6= 74AC4040 (SOIC-16)
IC7= SA615D (SOIC-20)
IC8= LM386 (DIL-8)
Diversos
X1= Ccristal de quartzo 20 MHz
X2a X5= Cristal de quartzo 27 MHz , ressonância na fundamental
(Citizen CS1027.000MABJ-UT)
S1;S2;S3= Botão de pressão 6 mm (Multicomp MC32830)
2 barras de terminais de 2 vias
Suporte DIL de 28 pinos para IC2
Suporte DIL de 8 pinos para IC8
2 suportes SIL de 10 pinos, passo 2,54 mm (para conversor USB/FT232R BOB)
Conversor USB/FT232R BOB (Refª 110553-91) [1]
Altifalante 4Ω ou 8Ω
PCI (Refª 100696-1), disponível na Guimocircuito (www.guimocircuito.com).
www.elektor-magazine.pt | Julho - Agosto 2013 | 83
•Passatempo & Modelismo
Funcionamento
A seguinte imagem é enviada ao terminal quando se liga o scanner:
****************** Airband scanner startup ******************
Command key functions:
H
S
B
T
R
F
I
N
W
M
P
-help (this page)
-show stored frequencies
<fn>
-block on/off, fn is freq. number
F(6)
-tune to frequency(kHz)
-scanner run/stop
fn F(6) -store frequency(kHz) fn = freq. no.
Fif(5) -IF frequency (kHz)
<nf>
-#frequencies to scan (1-100)
<Tw>
-scanning wait time (x 0.5 s)
<fn>
-memory start from freq. no. fn
<nr>
-#passes (2-15) for autom. search
current settings:
Fif
Twait
#Freqs.
Mem.start
#Srch.pas
=
=
=
=
=
26998
2
20
1
5
Fn 1
Até agora, o circuito está no modo de procura, e o número de
frequência é indicado em baixo no ecrã. Para introduzir comandos, introduza primeiro “R <Enter>”. Este comando faz parar
o scanner e permite-lhe introduzir comandos compostos apenas por uma letra. A maior parte destes são auto-explicativos
depois de os experimentar uma vez. O comando “S <Enter>”
apresenta as frequências numa tabela. A primeira e última frequências da tabela podem ser configuradas com os comandos M
e N, respectivamente. Estas configurações também determinam
as frequências inicial e final utilizadas para a procura. Adicional-
mente, também pode definir segmentos de frequência com estes
parâmetros. Nesse caso, é utilizado um segmento configurado
pelos limites M e N (por exemplo, frequências entre 1 e 20). A
gama do segmento pode ser alterada utilizando o terminal, por
exemplo para as frequências entre 40 e 59. Isto permite que as
100 frequências programáveis sejam divididas em segmentos.
O scanner também pode adquirir frequências automaticamente.
Por exemplo, se tiver introduzido um número de frequências (entre 1 e 40) que não podem ser sobrepostas, pode configurar M
nos parâmetros de configuração está correcto.
Isto pode ser ajustado com o comando I se
necessário.
A gama de sintonia pode ser verificada utilizando
o comando T para configurar a frequência para
108000 e para 137000. Se a frequência apresentada no monitor for demasiado elevada, a
bobina do VFO (L2) tem de ser encurtada um
pouco apertando-a ligeiramente. Se frequência
84 | Julho - Agosto 2013 | www.elektor-magazine.pt
for demasiado baixa, a bobina tem de ser ligeiramente esticada.
As frequências apresentadas no terminal têm de
ser exactamente iguais às frequências configuradas pelo comando T.
Os ficheiros com o código fonte e hexadecimal
para o microcontrolador podem ser descarregados gratuitamente da página referente a este
projecto [2]. Para construir o scanner estão dis-
Circuito para escuta de comunicações aeronáuticas
para 40 e N para 40. O potenciómetro de limiar de detecção tem
de ser regulado adequadamente para um funcionamento normal.
Se mantiver pressionado o botão S2 enquanto liga o scanner,
o LED de Espera (D3) vai acender. O scanner vai então varrer
1160 canais (correspondentes a (137000 – 108000)/25) várias vezes. Este número de vezes pode ser configurado com o
comando P. No fim do varrimento, as frequências encontradas
são programadas com os números de frequência entre 40 e 80.
Depois disto o LED D3 é apagado. O resultado pode ser visualizado utilizando o comando S depois de reiniciar o scanner.
Num teste efectuado a cerca de 48 km de um aeroporto, com
P configurado para 6 e utilizando 20 frequências, virtualmente
todas as frequências (incluindo torre de controlo, aproximação,
partida, radar e outras frequências habituais) foram encontradas
automaticamente em meia hora. As frequências são automaticamente ordenadas pelo número de vezes que são encontradas,
com a mais encontrada programada na primeira localização de
memória, a próxima mais encontrada na posição 2, etc.
O scanner também pode ser utilizado a partir do terminal como
receptor normal, utilizando o comando T. Por exemplo, introduzir “T 122400” sintoniza o receptor para 122,400 MHz, que
é apresentada no terminal em conjunto com a intensidade do
sinal recebido.
Modos
Procura
O scanner inicia a procura a partir da memória logo após o arranque. O LED de limiar de detecção (D4) é aceso quando o sinal excede o limiar de detecção, e o LED D3 é aceso quando o
scanner deixa de detectar sinal. Se o sinal deixar de ser recebido, o LED D4 é apagado, mas pode continuar a ouvir durante o
tempo de espera. O LED D3 é apagado após o tempo de espera
ter expirado e a procura começa novamente. A frequência pode
ser “congelada” regulando o potenciómetro de limiar de detecção para o valor mínimo.
O número de frequência em memória é constantemente enviado
para o terminal durante a procura. Se durante a procura for encontrado um sinal contínuo e a procura parar, a frequência detectada pode ser bloqueada pressionando o botão S3. Isto marca
a frequência na memória com um B, que só pode ser apagado
a partir do terminal.
Receptor
Se mantiver pressionado o botão S3 durante pelo menos 1 segundo depois de ligar o scanner, este entra no modo Receptor.
O receptor pode ser sintonizado com os botões S1 e S2 (cima e
baixo, respectivamente), e o controlo de limiar de detecção funciona de forma normal. O LED D3 indica quando forem atingidas
as frequências máxima ou mínima. Quando o scanner for iniciado no modo Receptor, a frequência de recepção é inicialmente
configurada para a frequência mínima. O botão S3 actua como
uma função “próximo” neste modo, fazendo o receptor aumentar progressivamente a frequência até encontrar um sinal que
exceda o limiar de detecção. Quando isso acontece, a procura é
parada e o LED D3 é aceso. Quando o botão S1 é pressionado
novamente, o LED D3 é apagado e o receptor procura o próximo
sinal. Quando é atingida a frequência máxima a procura continua, mas a partir da frequência mínima.
Varrimento
Se mantiver pressionado o botão S2 durante pelo menos 1 segundo depois de ligar o scanner, o LED D3 é aceso e o scanner começa a procurar frequências com actividade intermitente.
Durante este varrimento, os sinais com actividade contínua são
filtrados e as frequências com actividade intermitente são seleccionadas em intervalos de 25 kHz.
O número de vezes que a banda completa é varrida pode ser
configurado a partir do terminal utilizando o comando P. Cada
ciclo de varrimento dura 7 minutos, pelo que o tempo de varrimento com P=2 é de 14 minutos. Configurar P=6 é uma boa
opção (tempo de varrimento de 42 minutos). Os melhores resultados são obtidos com P=15, mas tem de esperar quase duas
horas.
No final do varrimento as frequências encontradas são programadas na memória, o LED D3 é apagado e o receptor tem de
ser reiniciado. São programadas N frequências, a começar na
localização M (ver descrição dos comandos M e N). É importante ajustar o potenciómetro de limiar de detecção para um valor
adequado (com a ajuda do LED D4) antes de iniciar o varrimento. As frequências resultantes não são detectadas antes de o
scanner ser reiniciado. As frequências não são armazenadas na
EEPROM até o LED D3 ser apagado, pelo que nada acontece se
o scanner for desligado prematuramente.
poníveis no Serviço Elektor o microcontrolador
já programado e a placa de circuito impresso.
(100696)
Artigo original: Aviation Scanner
January & February 2013
Internet
[1] www.elektor.com/bob
[2] www.elektor.com.pt/100696
www.elektor-magazine.pt | Julho - Agosto 2013 | 85
•Alimentação & Carregadores
Conversor elevador
de tensão PWM
Para cima, em cima…
Com uma tensão de entrada entre 8 V e 16 V,
este circuito produz uma tensão de saída
ajustável até 42 V, com aproximadamente 1 A.
Este circuito pode, por exemplo, ser utilizado
para carregar até três baterias
de chumbo de 12 V em série.
aos terminais desta. Esta tensão induzida fica em série e é adicionada à tensão
de alimentação do circuito, provocando o
aparecimento de uma corrente que atravessa o díodo, fazendo com que a energia seja
armazenada no condensador. Podemos dizer que
a energia armazenada no campo magnético da
bobina – armazenada principalmente no núcleo
de ferrite – é transferida através do díodo para
o condensador, no intervalo de tempo de nível
baixo da comutação. Aqueles que pretenderem
explorar mais aprofundadamente este assunto
podem ler a introdução [1].
Wolfgang Schmidt
(Alemanha)
Um conversor elevador converte uma tensão de
baixo valor numa tensão de saída de valor superior. O circuito consiste numa bobina, num condensador, num díodo e num interruptor (transístor) que é ligado e desligado por um sinal PWM.
Um ciclo de comutação de período T tem um
intervalo de tempo no nível alto t1 e um intervalo
de tempo no nível baixo T - t1.
Durante o intervalo de tempo de nível alto o interruptor está fechado (diagrama inferior Figura
1). A tensão de entrada Ue está presente aos
terminais da bobina L1 e, se a fonte de tensão
de entrada Ue tiver uma impedância de saída
suficientemente baixa para produzir uma corrente linearmente crescente IL que atravessa
a bobina, esta vai armazenar energia com um
valor crescente no seu campo magnético. Quando
se abre o interruptor, o campo magnético presente na bobina vai induzir uma tensão inversa
86 | Julho - Agosto 2013 | www.elektor-magazine.pt
Circuito
A Figura 2 apresenta o circuito do conversor
elevador que contém L1, D1, C8 e o transístor
MOSFET T1. Um microcontrolador ATmega8-16PU
da Atmel, em conjunto com o firmware adequado,
produz o sinal PWM para comutar o estado do
MOSFET T1. O sinal PWM está disponível no pino
PB1 a uma frequência de 66 kHz, e é produzido
pelo modo interno fast-PWM. A tensão de saída
é controlada pelo ciclo de trabalho do sinal PWM,
sendo que o microcontrolador tem de conseguir
medir a tensão de saída para controlar o sinal
PWM. Esta realimentação de tensão é efectuada
através do divisor de tensão formado por R6, R7
e P2. O potenciómetro P2 é necessário, porque
a folha de características indica que a tensão
de referência tem de estar entre 2,3 V e 2,9 V,
pelo que P2 permite algum grau de calibração
do circuito. Se os valores das resistências não
Conversor elevador de tensão PWM
permitirem um ajuste suficiente, ou se o valor
de R7 (43 kΩ) for difícil de encontrar, podem ser
feitos ajustes no firmware para compensar isto.
Para calibrar o circuito pode utilizar um voltímetro de precisão para medir a tensão de saída e
ajustar o potenciómetro até que o valor apresentado corresponda ao do voltímetro de precisão.
O conversor A/D interno do microcontrolador
fornece uma resolução de 10 bits. O firmware
calcula a tensão utilizando um divisor de tensão formado por R7+P2 (47 kΩ) e R6 (2,7 kΩ).
É assim conseguida uma resolução de medida
de 46 mV (((49,7 kΩ/2,7 kΩ)x2,56 V)/1023). A
tensão apresentada no mostrador LCD de 2x16
caracteres varia em passos de 0,04 V ou 0,05 V.
Os conversores elevadores que utilizam esta
topologia não têm nenhum limitador de corrente
interno. Para reduzir a possibilidade de sobrecarga, foi incluída uma resistência sensora R5 no
pino de massa da saída, cuja queda de tensão é
medida pela segunda entrada do conversor A/D
do microcontrolador. O firmware pode assim regular o ciclo de trabalho do sinal PWM para reduzir
a corrente de saída antes de o conversor entrar
no modo descontínuo.
As malhas RC formadas por C10 e C11/R8 suprimem ruídos de radiofrequência que possam afectar as entradas do conversor A/D. O LCD é uti-
lizado para apresentar
Ue
Ua
L
parâmetros operacionais,
através de um menu, tais
como a tensão e a cor20V
12V
rente de saída. O circuito
tem três botões de presL discharge
são: S1 reinicia o microcontrolador, enquanto S2
Ua
Ue
L1
e S3 fornecem um controlo para incrementar/
12V
20V
decrementar a tensão de
saída. Pressionar ambos
os botões em simultâneo
L charge
120460 - 12
força o firmware a entrar
no modo de limite de corFigura 1.
rente como apresentado no mostrador. Neste
As duas fases do processo
modo, S2 e S3 podem ser utilizados para increde elevação de tensão.
mentar/decrementar o valor limite de corrente.
Pouco tempo depois da última interacção nos
botões de pressão, o mostrador volta a apresentar o valor da tensão.
O LED D3 indica que está presente a tensão de
entrada. Se este estiver apagado, o fusível F1
pode estar queimado, indicando que o circuito
pode estar a consumir demasiada corrente, ou
que a fonte de alimentação externa pode ter
problemas. O LED D2 indica que o limite de corrente está activo.
+5V
10k
GND
DOWN
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
4R7
10k
7
VCC
AREF
2
3
4
5
6
11
12
13
17
PB3 (MOSI/OC2)
18
PB4 (MISO)
19
PB5 (SCK)
X1
+5V
MOSI
MISO
SCK
RESET
1
3
5
K5
2
4
6
ISP
8
R4
UP
22
C8
1000u
63V
R6
2k7
R3
ATmega8-16PU
14
PB0 (ICP)
15
PB1 (OC1A)
16
PB2 (SS/OC1B)
JP1
R2
10R
XTAL2
MBR
3100G T1
PC0 (ADC0)
PD0 (RXD)
PD1 (TXD)
PC1 (ADC1)
IC1
PD2 (INT0)
PC2 (ADC2)
PD3 (INT1)
PC3 (ADC3)
PC4 (ADC4/SDA)
PD4 (XCK/T0)
PC5 (ADC5/SCL)
PD5 (T1)
PD6 (AIN0)
PC6 (RESET)
PD7 (AIN1)
10
10n
100n
21
20
L1
100uH
AVCC
23
24
25
26
27
28
1
C10
GND
2
R7
43k
2k7
K4
R5
0R22
1
2
100n
JP2
R10
P1
C2
C1
100n
R1
1k5
42V
100n
XTAL1
10k
D1
R8
+5V
C5
GND
10n
3
9
P2
1
2
C6
1000u 25V
POWER
C11
K3
C7
D3
K2
100n
R9
10k
12V
1
2
7805
1
5A T
C9
+5V
IC2
F1
1
2
10k
K1
VSS
VDD
VL
RS
R/W
E
D0
D1
D2
D3
D4
D5
D6
D7
LED-C
LED+A
LCD1
TC1602C-01YA0_A00
2 x 16
IRL540NPbF
S2
UP
S3
DOWN
S1
RESET
D2
PB2
C4
C3
22p
22p
X1 = 16MHz
120460 - 11
Figura 2.
Conversor elevador
controlado por
microcontrolador.
www.elektor-magazine.pt | Julho - Agosto 2013 | 87
•Alimentação & Carregadores
Montagem
O botão de reset é montado directamente no
módulo, porque só vai ser utilizado ocasionalmente. Os botões de pressão S2 e S3 estão ligados aos terminais Cima, GND e Baixo através de
fios. Pode montar botões próprios para placa de
circuito impresso num pequeno pedaço de placa
para protótipos, ou escolher botões para painel e
montá-los directamente na face frontal da caixa.
Os dois LEDs devem ser montados num local visível. O potenciómetro P1 fornece o ajuste de contraste do mostrador LCD. O jumper JP2 habilita
a iluminação de fundo do LCD e pode ser substituído por um interruptor, se desejado.
É utilizado um dissipador de calor com alhetas
para manter os transístores MOSFET a uma baixa
temperatura: é suficiente utilizar um dissipador
com uma resistência térmica de 21 ºK/W para
uma corrente de saída de 1 A. Pode ser utilizada
a versão standard ou a versão TO220 para o
díodo D1. Analise a folha de características correspondente para respeitar a polaridade correcta
do encapsulamento TO220.
O condensador electrolítico C7, e particularmente
C8, utilizados no circuito de comutação requerem
alguma atenção. A uma frequência de comutação de 66 kHz é importante utilizar os condensadores de baixas perdas especificados na lista
de componentes. Os condensadores electrolíticos
standard não são adequados para esta aplicação.
Para testar o conversor elevador PWM no laboratório, o módulo LCD foi montado directamente
através de uma barra de terminais, que foi inserida num conector presente na orla da placa de
circuito impresso do conversor. Isto é o ideal
para testes, mas quando o módulo for inserido
numa caixa o módulo LCD pode ser montado, por
exemplo, na face das soldaduras. Introduza um
pequeno quadrado de material isolante entre o
módulo LCD e a placa de circuito impresso para
evitar curto-circuitos.
Para a programação do microcontrolador é ligado
um conector ISP standard a K5. É necessário
alimentar o microcontrolador a partir do regulador de tensão IC2 (7805) durante o processo de
programação. A tensão de alimentação presente
no pino 2 de K5 é utilizada pelo adaptador de
programação (AVRISP mkII, por exemplo) para
determinar a tensão de alimentação do microcontrolador (3,3 V ou 5 V).
Durante a fase de programação, as valores presentes nas saídas do microcontrolador são indefinidos, pelo que é incluído um jumper na ligação
88 | Julho - Agosto 2013 | www.elektor-magazine.pt
à porta do transístor MOSFET T1. Este deve ser
removido durante a programação para assegurar que T1 se mantém desligado. Caso contrário
T1 podia ser ligado através do pino PB1 e curto-circuitar a tensão de alimentação, queimando
o fusível. A resistência R3 liga a porta de T1 à
massa quando JP1 está removido, para assegurar que T1 se mantém desligado. Lembre-se de
remover este jumper aquando da programação!
A resistência R2 reduz a instabilidade no ponto
de comutação introduzida pela alta capacidade
da porta do MOSFET T1.
A capacidade da porta do MOSFET T1 introduz
um atraso sempre que este for ligado ou desligado. Isto provoca um aumento da dissipação
de energia em T1, porque o canal criado entre
a fonte e o dreno não comuta instantaneamente
entre os estados ligado e desligado, mas passa
por uma etapa resistiva na qual T1 dissipa mais
energia. Utilizando uma maior corrente de comutação já é possível remover a carga acumulada na
porta de T1, o que resulta em menores tempos
de comutação com menor dissipação de calor.
Uma saída standard do ATmega8 pode apenas
fornecer cerca de 30 mA, sendo uma fonte de
corrente relativamente fraca.
A tensão máxima na saída é limitada pelos valores de tensão máximos suportados por D1 e T1.
Estes dois componentes são alguns dos principais
candidatos a serem substituídos se pretender
melhorar as especificações do circuito. Este circuito, como está construído, serve apenas para
mostrar como pode ser construído um conversor elevador, e agir como estímulo para futuros
melhoramentos.
Trabalho em curso; firmware
O código fonte actual foi escrito em BASCOM-AVR,
e está disponível gratuitamente no site da Elektor
[2]. Na forma está escrito, este implementa um
regulador de tensão muito simples, havendo muito
espaço para melhoramentos. Estes melhoramentos incluem alguns pontos críticos, tais como um
verdadeiro carregador de baterias de chumbo com
várias etapas de carregamento.
A corrente de entrada é aproximadamente 3,5
vezes mais elevada do que a corrente de saída, daí
a utilização de um fusível lento de 5 A na entrada.
O protótipo foi testado em duas baterias de
chumbo diferentes. Foi notado um curioso comportamento durante os testes: com uma corrente
de carga de 0,2 C, por exemplo (que é relativamente elevada para uma bateria de chumbo e
Conversor elevador de tensão PWM
Lista de
Componentes
Bobinas:
L1= 100 µH/5 A, 20%, radial
25 mm, passo 8 mm
(7447070 da Würth Elektronik,
Ref.ª Avnet/Farnell 2082537)
Resistências:
R1,R3,R9= 10 kΩ/250 mW, 5 %
R2= 10 Ω/250 mW, 5 %
R4,R6= 2,7 kΩ/250 mW, 5 %
R5= 0,22 Ω/1 W, 5 %
R7= 43 kΩ/600 mW, 1 %
R8= 1,5 kΩ/250 mW, 5 %
R10= 4,7 Ω/250 mW, 5 %
P1,P2= potenciómetro 10 kΩ/
150 mW, 20 %, horizontal
Diversos:
F1= Fusível 5A, lento, com suporte
para placa de circuito impresso
JP1,JP2= Barra de terminais
de 2 vias, com jumper
K1a K4= Conector AMP Plug, PCI
K5= Barra de terminais
de 2x3 vias
Condensadores:
S1= Interruptor táctil, 6x6 mm,
C1,C2,C5,C6,C9= 100 nF/63 V,
SPST-NO
5 %, cerâmico, passo 5 mm
S2,S3= Botão de pressão, PCI
ou 7 mm
ou painel*
C3,C4= 22 pF/50 V, 5 %,
PC1,PC2,PC3= Terminal
passo 5 mm
para soldadura, Ø 1,3 mm
C7= 1000 µF/25 V, 20 %,
(para S2 e S3)
Figura 3. Placa de circuito impresso do conversor elevador.
radial, Ø12,5 mm, passo 5 mm
X1= Cristal de quartzo de 16 MHz,
(EEUTP1E102 da Panasonic,
Semicondutores:
HC49/US, 50 ppm, Ccarga 18 pF
Ref.ª Avnet/Farnell 1890543)
D1= MBR3100G
LCD1= LCD 2x16 caracteres
C8= 1000 µF/63 V, 20 %, radial, Ø16 mm,
D2= LED vermelho 3 mm
(Ref.ª 120061-71)
passo 7,5 mm
D3= LED verde 3 mm
(UPW1J102MHD da Nichicon,
T1= IRL540NPbF
Dissipador de calor do tipo FK230SAL1
Ref.ª Avnet/Farnell 2112865)
IC1= ATmega8-16PU programado
(Fischer Elektronik)
C10,C11= 10 nF/100 V, 10 %,
(Ref.ª 120460-41)
PCI (Refª 120460-1), disponível na
passo 5 mm, cerâmico
IC2= 7805
Guimocircuito (www.guimocircuito.com).
.e l e k
ww
r p c bs
om
to
v i c e.c
w
Nesta segunda etapa, chamada absorption-fase,
a bateria vai ficar quase completamente carregada a cerca de 98%; e a etapa final, float-fase,
requer que a tensão aos terminais das células
seja reduzida para 2,23 V por célula. A bateria
pode agora ficar ligada ao carregador nesta fase
sem as células produzirem gases.
Pode estar a pensar o que aconteceu à quarta
etapa: esta só é necessária quando a bateria está
profundamente descarregada (abaixo de 1,75 V
por célula). Neste caso a bateria é reavivada utilizando uma pequena carga até a célula atingir
o limiar inferior de tensão.
Se esteve a trabalhar em melhoramentos no
firmware deste projecto, ou se começou mas
chegou a um impasse, visite a nossa página de
projectos [4] e partilhe as suas experiências!
er
gel), a tensão aos terminais da bateria caiu rapidamente depois de ter atingido o valor máximo
que foi configurado, e o carregador desligou-se.
Na prática, para utilizar este software é necessário observar o processo de carga e saber quando
terminar o ciclo de carga. Este software, como
está escrito, não fornece um interface com o
utilizador que forneça uma selecção de métodos sofisticados para carregar baterias. O objectivo deste projecto é demonstrar como pode ser
construído um desses carregadores e, devido à
natureza aberta do projecto e do firmware, dar
a oportunidade aos leitores interessados de fazer
as alterações pretendidas e implementar os seus
próprios melhoramentos.
Sugestão: um ciclo completo de carga de uma
bateria de chumbo (gel) consiste em duas a quatro etapas [3]. Uma bateria (não totalmente) descarregada pode ser carregada na etapa bulk-fase
utilizando uma corrente constante (é razoável
utilizar de 0,1 C a 0,2 C), até ser atingida uma
tensão de 2,4 V por célula (isto é o máximo que
se pode atingir com o firmware actual – neste
ponto, a bateria vai estar aproximadamente carregada a 80%). Agora a tensão está limitada à
tensão final presente aos terminais das células, enquanto se mede a corrente de carga até
esta cair abaixo de um décimo do valor máximo.
(120460)
Artigo original: PWM Step Up Converter
July/August 2013
Internet
[1] Teoria de fontes comutadas: http://schmidt-walter.eit.h-da.de/smps_e/smps_e.html
[2] www.elektor.com.pt/120460
[3] Como carregar baterias de chumbo: www.
batterystuff.com/kb/articles/battery-articles/
battery-basics.html#9
[4] www.elektor-projects.com
www.elektor-magazine.pt | Julho - Agosto 2013 | 89
•Alimentação & Carregadores
Carregador para telemóvel
com células de NiMH
Com o Elektor USB Power Pack
Ton Giesberts
(Elektor)
O objectivo deste projecto é permitir que baterias recarregáveis
standard do tipo AA, como as NIMH, possam efectivamente carregar
dispositivos portáteis tais como smartphones e tablets,
através de um conector USB.
Quantas baterias utilizar?
O circuito tem de produzir 5 V e conseguir fornecer
até 1 A de corrente de saída. Quatro baterias NIMH
acabadas de carregar fornecem uma tensão bem
acima de 5 V, pelo que é prudente utilizar apenas
três baterias. No entanto, os 5 V fornecidos por
uma ligação USB são nominais, sendo a gama real
entre 4,35 V a 5,40 V. Embora isto seja favorável
à utilização de 4 baterias, desejamos produzir uma
tensão de alimentação precisa de 5,00 V, porque
alguns projectistas utilizam a tensão USB como
referência (limite isto a aplicações não críticas).
Vão então ser utilizadas três baterias.
Conversor elevador TPS61030
Em números, há provavelmente mais carregadores
para baterias NIMH do que para baterias de iões
de lítio (Li-ion) ou de polímeros de lítio (LiPo). Se
pretender utilizar estas últimas tem de integrar o
circuito de carga, tornando o conjunto de baterias
mais complexo e dispendioso. Manter as baterias
separadas da caixa ainda permite a utilização de
baterias Li-ion ou LiPo. Felizmente, as suas tensões
iniciais (3,6 V a 3,7 V) são quase iguais à de três
baterias NIMH em série. E também, utilizando um
suporte para baterias separado, pode substituir
as baterias descarregadas por outras carregadas
sem ter primeiro de as carregar ou abrir a caixa.
Isto é uma grande vantagem se o seu telemóvel,
tablet, etc., necessitar urgentemente de ser carregado e se estiver num local remoto.
90 | Julho - Agosto 2013 | www.elektor-magazine.pt
A tensão mais baixa do conjunto de três baterias
implica a utilização de um suporte mais pequeno,
mas também de um conversor elevador. A Texas
Instruments disponibiliza um excelente dispositivo: o TPS61030. Este é um conversor elevador
síncrono com um interruptor interno de 4 A e
uma eficiência de 96% (dependendo da tensão de
entrada e da corrente de saída). Este conversor
tem um comparador de bateria fraca (opcional)
que previne a descarga excessiva das baterias.
Um bloqueio de baixa tensão (1,6 V) previne o
mau funcionamento do conversor. A tensão de
referência interna é de 0,5 V, o que facilita o cálculo do divisor de tensão adequado à tensão de
saída pretendida. São utilizados valores de 1,8 MΩ
para R3, e 200 kΩ para R4. De acordo com a folha
de características, é necessário um condensador
em paralelo com R3, para estabilidade, apenas
se o valor de R4 for significativamente menor que
200 kΩ. Aqui é utilizado um condensador de 10
pF só por segurança.
A resistência R2 deve ser suficientemente baixa
para eliminar a corrente de entrada do compara-
USB Power Pack
2k7
GND
1
47k
200k
3
PGND
4
PGND
5
PGND
11
330k
6
5
1M8
1M8
200k
18k
1M
1k5
1k
10k
dor (cerca de 10 nA): é recomendado um valor de
Medições e especificações
500 kΩ. O valor de referência do comparador é de
Gama de tensões de entrada . . . . . . . . . . 3,3 – 4,1 V
500 mV com uma histerese de 10 mV. Foi escoCorrente de entrada máxima . . . . . . . . . . . 1,7 A (Vin = 3,33 V)
lhido um limiar de 1,1 V para definir uma bateria
Tensão de saída . . . . . . . . . . . . . . . . . . . . 4,93 V (sem carga)
completamente descarregada. Os valores de 1,8
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4,92 V (carga de 0,3 A)
MΩ para R1 e de 330 kΩ para R2 resultam num
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4,82 V (carga de 1 A)
valor teórico de 3,23 V para o limiar. Se a tensão
Limiar de bateria descarregada. . . . . . . . . . 3,25 V
total da bateria cair abaixo deste limiar, a saída
Protecção contra sobretensões. . . . . . . . . . 4,0 V
do comparador comuta para o nível baixo. Esta
Eficiência. . . . . . . . . . . . . . . . . . . . . . . . . 95 % (Vin = 3,52; saída 0,3 A)
saída é utilizada para desligar a saída do circuito.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 % (Vin = 3,52; saída 1 A)
O desacoplamento da tensão de entrada através
Corrente de alimentação (sem carga) . . . . . 4,5 mA (Vin = 3,6 V)
de C1 e C2 está de acordo com as recomendações
LED de alimentação é ligado a . . . . . . . . . . 1,6 V
da folha de características. O desacoplamento da
Perdas medidas com corrente de saída de 1 A:
tensão de saída depende da ondulação máxima
Aos
terminais de T1 e de T3 (em separado). . . . 23 mV (corrente de entrada de 1,7 A)
presente na saída. O ideal são alguns mV, mas a
Entre
L2 e o conector USB na placa de circuito impresso 85,3 mV
resistência série equivalente (ESR) dos condenAos
terminais
de IC2. . . . . . . . . . . . . . . . . 80 mV
sadores em particular, assim como o desenho da
Ligação
USB
(em
separado). . . . . . . . . . . . 13 mV
placa de circuito impresso, resultam na prática
num valor superior. Teoricamente, a ondulação
deve ser cerca de 1 mV com um condensador de
220 µF na saída. Na prática, foram medidos 60 mV
com cargas elevadas (funcionando o dispositivo
aos terminais de C5 (3,50 V de entrada, carga de
em modo descontínuo). O conversor só funciona
1 A). O condensador C5 tem uma ESR esperada
quando a tensão de saída cair abaixo do limiar
de 20 mΩ a 100 kHz. A frequência de comutação
configurado. Para cargas pequenas a ondulação
é bastante superior, e a elevada corrente de comuda tensão de saída aumenta ligeiramente. Sem
tação produz uma maior ondulação de tensão.
carga, foi observada uma onda em dente de serra
Para suprimir os ruídos gerados pela comutação
com um período de 150 ms. Ao aumentar a carga
foi colocada uma bobina com núcleo de ferrite
a ondulação melhorou rapidamente.
(L2) em série com o circuito de saída, reduzindo
assim a ondulação da ten+VBATT
S1
são na saída. O condensador final (C8) reduz ainda
R9
R8
R11
BT1
mais esta ondulação.
R12
Para calcular o valor
D2
BC847B
C9
5V1
T2
K2
1
da bobina foi tida em
0W5
120u
D3
6V3
PCB1
conta uma variação de
R10
2
C10
T1
T3
10% da corrente média
1n
máxima que percorre
a bobina. Para 3,20 V a
DMS3016SSS-13
DMS3016SSS-13
For Hammond 1593K enclosure
corrente média na bobina
é perto de 2 A. Utilizando
R5
D1
a fórmula presente na
+VBATT
L1
L2
K1
folha de características
1 SW
15
8
1
3
VOUT
OUT
IN
R7
10uH
R3
14
2
2
0.022ohm/3.5A
(SLUS534E), obtemos um
SW
VOUT
C3
IC2
70ohm@100MHz
7
13
5
3
6 VBAT
DM
VOUT
EN
R1
valor de cerca de 10 µH.
IC1
4
10p
C2 9
C1
4
6
12
EN TPS61030 FB
DP
CS
O pino Sync pode ser utiTPS2511
10u 100n 7
2 ILIM_SET
10
lizado para operar o conLBI
LBO
PAD
R6
R4
R2
C5
C6
C4
C7
C8
PAD
versor em vários modos.
8 SYNC
GND
100n
10u
2u2
220u
120u
Foi seleccionado o modo
6V3
6V3
Power Save conectando
120631 - 11
este pino à massa, o que
melhora o desempenho
www.elektor-magazine.pt | Julho - Agosto 2013 | 91
•Alimentação & Carregadores
TPS2511: controlador
para carregamento USB
É utilizado um circuito integrado especial para
controlar a saída: o TPS2511. A Texas Instruments chama de controlador de porto de carga
USB dedicado e interruptor de potência com limite
de corrente. Aqui fica o porquê: não é suficiente
colocar apenas 5 V num conector USB para o dispositivo funcionar. É óptimo que os fabricantes de
dispositivos electrónicos equipem cada vez mais
os seus equipamentos com conectores de carregamento USB, mas é improvável que os carregadores sejam compatíveis com plataformas e
fabricantes diferentes. Por exemplo, alguns dispositivos necessitam de tensões específicas nas
linhas de dados ou simplesmente uma ligação
(resistência) entre as linhas de dados para poder
reconhecer a presença de um carregador (porto
de carga dedicado – DCP). O TPS2511 suporta
três dos protocolos mais comuns:
• Especificação de Carregamento USB de baterias, versão 1.2 (BC1.2).
• Standard YD/T 1591-2009 da indústria chinesa de telecomunicações.
• Modo de divisão.
Para uma exaustiva descrição de todas as possibilidades do TPS2511 veja a respectiva folha de
características (SLUSB18).
O TPS61030 pode fornecer 2 A para uma tensão de
bateria de 3,3 V, e o TPS2511também pode fornecer esta corrente. Com uma corrente de saída de 1
A e uma tensão de entrada de 3,3 V este conversor consome ainda 1,7 A. Esta corrente mais que
duplica com uma corrente de saída de 2 A, devido
à existência de
maiores perdas.
E a capacidade
das baterias cai
para maiores correntes de saída.
É por isto que o
TPS2511 é configurado para funcionar como um
carregador de 5
W. Os pinos DP
e DM são ligados
respectivamente
às linhas D- e D+
do conector USB.
O limite de corrente é configu-
92 | Julho - Agosto 2013 | www.elektor-magazine.pt
rado marginalmente mais alto do que o necessário
(R6 = 47 kΩ), prevenindo que o TPS2511limite
prematuramente a tensão de saída.
O pino Current Sensing Report não é utilizado da
forma esperada: em vez de compensar a perda
de tensão alterando a realimentação do conversor (que não é realmente necessário com uma
corrente de saída máxima de 1 A), este pino é
utilizado para controlar um LED (D1). D1 é ligado
quando mais de metade da corrente de saída
máxima está a ser consumida. A corrente consumida pelo LED é pouco mais de 1 mA. Como já
foi mencionado, a saída do comparador de bateria
fraca controla o pino EN (Enable) do TPS2511.
Desta forma, a tensão de saída é desligada se as
baterias estiverem descarregadas. A resistência
R5 é necessária porque a saída do comparador
está no estado de alta impedância quando não
está activo.
Protecção contra sobretensões
e inversão de polaridade
As baterias estão ligadas à placa de circuito
impresso através de terminais de aperto. Na prática, é possível ligar as baterias ao contrário. Para
prevenir danos no circuito e obter virtualmente
perdas nulas quando as baterias são ligadas correctamente, é utilizado um MOSFET de potência de
canal N (T1), ligado propositadamente ao contrário. Quando se ligam as baterias com a polaridade
correcta, o díodo formado entre o corpo e o substrato está a conduzir, a tensão presente na porta
é positiva em relação à da fonte, através de R12,
e o MOSFET T1 está plenamente em condução.
Não há problema com a corrente que circula da
fonte para o dreno. Se as baterias forem ligadas
com a polaridade invertida, a tensão da porta é
negativa, o MOSFET T1 está ao corte, e o díodo
formado entre o corpo e o substrato bloqueia efectivamente a tensão da bateria. A tensão máxima
permissível para a porta do MOSFET utilizado é
de 12 V, que constitui a tensão máxima a que o
circuito consegue resistir. Com uma corrente de
entrada de 1,7 A a queda de tensão no MOSFET
é de apenas 23 mV (medidos no protótipo).
Para evitar a utilização de um interruptor robusto
e dispendioso, a protecção contra sobretensões
é combinada com um interruptor mais pequeno
– logo menos dispendioso. Quando a tensão aplicada for demasiado elevada, o díodo zener D2
vai ligar um transístor NPN (T2), que por sua
vez anula a tensão da porta do MOSFET T3, que
está ligado de forma convencional. O díodo zener
USB Power Pack
Caixa 66,22x67,22x28,00 mm (1593KBK da Hammond Manufacturing)
Parafusos para placa (4x6,35 mm auto-roscantes, 6,4 mm, 1593ATS50
Hammond Manufacturing)
3 pilhas do tipo NiMH
PCI (Refª 120631-1), disponível na Guimocircuito (www.guimocircuito.com).
.e l e k
ww
r p c bs
v i c e.c
que a placa de circuito impresso está inserida
na caixa de plástico (ABS) mencionada acima.
Finalmente: não toque na junção R3/C3/R4 com
o circuito em funcionamento. Este ponto está em
alta impedância e qualquer ruído introduzido aqui
pode causar a destruição de IC1.
to
er
A placa de circuito impresso foi especificamente
desenhada para uma caixa da Hammond Manufactoring (ver lista de componentes). É pouco
dispendiosa e fácil de adaptar à nossa aplicação.
A placa de circuito impresso é fixada com quatro
parafusos auto-roscantes, e as tampas inferior
e superior são fixadas com parafusos de maior
comprimento. Os painéis frontal e traseiro são
separados, tendo que se fazer três furos apenas
num deles. Os furos para o conector USB e para o
interruptor devem ser alinhados com os componentes da placa de circuito impresso, e o mesmo
acontece para os furos correspondentes aos dois
LEDs na tampa superior. A localização exacta do
furo para os cabos do suporte da bateria externa
não é crítica. Há bastante margem, podendo este
ser localizado em qualquer lugar. Também pode
ser utilizada uma ficha jack de potência – há
espaço no outro painel. Evite resistências de contacto extra se possível, porque estas vão reduzir
a eficiência global do conversor.
Os furos para fixar a placa de circuito impresso
também são utilizados para ligar os planos de
massa inferior e superior. Tenha cuidado com o
furo junto ao terminal de aperto K2: este furo
não está ligado à massa, está conectado à ligação entre T1 e T3. Ligar esta ligação à massa não
vai causar nenhum dano, vai apenas provocar o
arranque do circuito. Os outros três furos estão
ligados à massa, sendo que o furo junto a IC2 é
especificamente a massa da saída. Assume-se
Resistências:
(0805; 125 mW)
R1,R3= 1,8 MΩ/1 %
R2= 330 kΩ/1 %
R4,R5= 200 kΩ/1 %
R6= 47 kΩ/1 %
R7= 2,7 kΩ/5 %
R8= 10 kΩ/5 %
R9= 1 kΩ/5 %
R10= 18 kΩ/5 %
R11= 1,5 kΩ/5 %
R12= 1 MΩ/5 %
Condensadores:
C1,C6= 10 µF/10 V, 20 %, X5R,
0805 (LMK212 BJ106MG-T da
Taiyo Yuden)
C2,C7= 100 nF/50 V, 10 %, X7R,
0805
C3= 10 pF/50 V, ±0,5 pF, C0G/NP0, 0805
C4= 2,2 µF/6,3 V, 10 %, X5R, 0805
C5= 220 µF/6,3 V, 20 %, SMD, Ir=2,8 A (PCS0J221MCL1GS da Nichicon)
C8,C9= 120 µF/6,3 V, 20 %, SMD, Ir=2,8 A (PCS0J121MCL9GS da Nichicon)
C10= 1 nF/50 V, 10 %, X7R, 0805
Bobinas:
L1= 10 µH/5 A, 0,025 Ω, 20 % (74477110 da Würth Electronics)
L2= núcleo de ferrite, 70 Ω a 100 MHz, 3,5 A, 0,022 Ω, 0603
(BLM18KG700TN1D da Murata)
Semicondutores:
D1,D3= LED vermelho 3 mm (baixa corrente)
D2= Díodo zener de 5,1 V/0,5 W (SOD123), MMSZ5231B-7-F da Diodes Inc
IC1= TPS61030PWPG4 (Texas Instruments)
IC2= TPS2511DGN (Texas Instruments)
T1,T3= DMS3016SSS-13 (SO8)
T2= BC847B
Diversos:
K1= Conector USB, tipo A, fêmea, PCI, SMD
K2= Bloco de terminais de aperto de 2 vias, passo 3,81 mm
(MKDS 1/2-3.81 da Phoenix Contact)
S1= Interruptor deslizante SPDT, em ângulo, 100 mA (C OS102011MA1QN1
da &K Components)
BT1= Suporte para 3 pilhas do tipo AA, 2475 da Keystone + clip
(HH3449 da BUD Industries)
w
Construção
Lista de
componentes
om
de 5,1 V já está a conduzir abaixo da tensão de
zener especificada. Com uma tensão de 3,60 V
na bateria, a corrente que atravessa D2 é de
cerca de 12 µA. Com 4,25 V é cerca de 30 µA.
Esta pode ser medida facilmente através de R9,
que previne que a corrente que atravessa o díodo
zener provoque o efeito de avalanche quando a
tensão de entrada exceder cerca de 5,70 V. Se
a protecção contra sobretensões actuar demasiado cedo (devido à possível tolerância do díodo
zener), pode adaptar R10, tendo em mente que
um valor baixo corresponde a um limiar alto. Esta
protecção é necessária caso se ligue um adaptador de tensão AC – com uma tensão inferior
a 12 V – ou uma bateria de 9 V. O TPS61030
consegue suportar 7,00 V (máximo absoluto;
recomendado 5,50 V). O problema do conversor
elevador é que a tensão de saída sobe quando
a tensão de entrada excede a tensão de saída
regulada (5,00 V nominais).
(120631)
Artigo original: Charge-a-Phone on NiMH
July/August 2013
www.elektor-magazine.pt | Julho - Agosto 2013 | 93
Amplificador/atenuador
para medida universal
Para portátil ou PC
Um computador é um dispositivo muito versátil para efectuar medições (de áudio)
graças à placa de som que está no seu interior. Infelizmente, a entrada de áudio
existente nos portáteis é normalmente muito sensível para medir tensões AC mais
elevadas. Neste caso, um pequeno circuito amplificador/atenuador
pode ser útil.
Michiel ter Burg
(Holanda)
Se construir ou reparar equipamento de áudio
nem sempre precisa de um osciloscópio. Qualquer
tensão ou corrente directa pode ser medida com
um multímetro. Pode fazer muito mais se tiver
um modelo melhor que seja também capaz de
medir pequenas tensões AC.
Para medições mais avançadas como resposta
em frequência ou distorção é bastante mais útil
utilizar a placa de som do computador combinada
com software adequado. Um portátil pode inclusive funcionar sem estar ligado a uma tomada de
rede AC, o que significa que pode evitar malhas
94 | Julho - Agosto 2013 | www.elektor-magazine.pt
de massa e zumbidos durante as medições. Contudo, um portátil possui, por norma, uma entrada
com uma sensibilidade muito elevada (microfone),
pelo que é preciso implementar alguns divisores
de tensão para se conseguir efectuar as medidas.
Este amplificador de medida foi desenhado especialmente para essas situações. Tem um atenuador de entrada ajustável e uma impedância de
entrada de 1 MΩ, pelo que desta forma podem
ser usadas pontas de prova de osciloscópio com
atenuadores integrados para medir tensões AC
ainda maiores.
Amplificador/atenuador para medida universal
O sinal de entrada é em primeiro lugar atenuado e depois amplificado para obter a função
de transferência pretendida. A entrada tem
acoplamento DC. O sinal de entrada é atenuado por um factor de 10 com a ajuda do
potenciómetro logarítmico P1, e com P2 o sinal
pode ser ainda mais atenuado. Os condensadores C1 e C2 garantem o desacoplamento DC
após os atenuadores de entrada para prevenir
grandes constantes de tempo causadas por
pontas de prova de alta impedância. Isto é
seguido por um andar de amplificação (construído em torno de IC1.A e IC1.B). Os potenciómetros P3 e P4 são usados para variar o
ganho deste andar entre 1 e 100 vezes. Tenha
em consideração o valor GBP (produto ganho
por largura de banda) para o ampop usado.
O autor tentou usar, numa primeira fase, um
LM258 e um TS912, que deveriam ter um
GBP de cerca de 1 MHz (típico). Na prática,
foi medida uma largura de banda de 15 kHz
com o ganho fixado em 30, com uma tensão
de alimentação de 9 V. Isto significa que o
GBP era de 450 kHz, embora isto possa ser
compensado através do software de medida.
O melhor ampop é o TS922 (com um GBP
de 4 MHz) que consegue processar toda a
banda de áudio com um ganho de 100. Este
foi o ampop usado no protótipo construído
pelo laboratório da Elektor.
A alimentação é obtida a partir de uma pilha
de 9 V que tem a sua tensão dividia num valor
negativo e outro positivo, com a componente
de massa a meio. O LED2 funciona como um
LED indicador de baixo nível de tensão (tem
que ser de um tipo que acende com uma tensão de 2,5 V); a resistência R15 faz com que
V+
P3
D1
R1
K2
100k lin.
C1
1M8
R2
1N4148
3
100n
R7
1M8
P1
D2
100k
log.
R6
R5
1M
1k
2
1
IC1.A
R13
10k
1M
R14
4k7
1N4148
3
5
IC1 = TS922
V-
4
V+
2
1
P4
D3
R3
K3
K1
100k lin.
C2
1M8
R4
1N4148
3
100n
R10
1M8
P2
D4
100k
log.
R8
R9
1M
1k
2
1
IC1.B
R11
10k
1M
R12
4k7
1N4148
V+
D5
V-
1N4148
R15
LED2
3k9
BT1
D6
C3
D7
10u
8
IC1
D8
9V
4x
1N4148
4
D9
C4
LED1
10u
120272 - 11
V-
A placa de som de um computador consiste numa boa
ferramenta se tivermos um software de medida adequado!
o LED se ilumine quando a tensão na pilha está
acima dos 7 V.
As entradas dos ampops estão protegidas contra
tensões de entrada elevadas, ou contra descargas
electrostáticas, através de díodos, uma vez que
nunca sabemos que tensões podemos encontrar
num circuito de áudio desligado, especialmente
quando se usam válvulas! Foi desenhada uma
placa de circuito impresso para este projecto, com
espaço para todos os componentes incluindo os
conectores e potenciómetros. Os desenhos da
placa podem ser descarregados gratuitamente da
Internet [1]. Foram usados componentes standard para facilitar a construção do projecto. Os
potenciómetros são colocados na face das soldaduras e aparafusados à placa, sendo depois
dobrados os terminais dos mesmos antes de
serem soldados aos pinos de soldadura.
www.elektor-magazine.pt | Julho - Agosto 2013 | 95
Lista de componentes
Resistências:
R1a R4= 1,8 MΩ
R5;R9= 1 kΩ
R6;R7;R8;R10= 1 MΩ
R11;R13= 10 kΩ
R12;R14= 4,7 kΩ
R15= 3,9 kΩ
P1;P2= potenciómetro 100 kΩ,
logarítmico
P3;P4= potenciómetro 100 kΩ, linear
Condensadores:
C1;C2= 100 nF, MKT, passo 5 mm
C3;C4= 10 µF/16 V, Ø 6 mm,
passo 2,5 mm
Semicondutores:
D1a D9= BAT48 (DO35)
IC1= TS922IN (ampop duplo, DIP8)
LED1;LED2= LED verde, 5 mm
Diversos:
K1= Ficha Jack 3,5 mm estéreo
(Lumberg 1503-09)
K2;K3= Conector BNC, em ângulo, PCI
(TE connectivity 1-1337543-0)
BT1= Suporte para pilha de 9 V
9V
PCI (Refª 120272-1), disponível na
Guimocircuito (www.guimocircuito.com).
Como os potenciómetros logarítmicos de entrada
podem divergir em cerca de ±20% é melhor
efectuar a calibração dos mesmos depois estarem montados na caixa. A calibração destes deve
ser efectuada em passos de 10 dB (um factor de
3,1623) usando o software de medida. Primeiro,
marque os pontos de calibração num pedaço de
papel colocado sobre o potenciómetro, e depois
passe o desenho para o computador e crie um
painel com um aspecto profissional.
Durante a calibração, os potenciómetros P3 e P4
devem ser ajustados para um ganho de um, o
que é usado normalmente para sinais de entrada
muito pequenos que ainda precisam de alguma
amplificação.
(120272)
Artigo original: Universal Measurement
Amplifier/Attenuator – July/August 2012
Internet
[1] www.elektor.com.pt/120272
96 | Julho - Agosto 2013 | www.elektor-magazine.pt
Os Elektor.LABS, tal como a redacção da Elektor ficam no sul da Holanda,
numa pequena localidade denominada Limbricht, muito perto
da fronteira com a Alemanha, por um lado e com a Bélgica, pelo outro...
E este edifício histórico é mesmo onde tudo acontece...
Bem-vindos aos
elektor
!
labs
Olá a todos! Acompanhem-nos nesta visita aos Elektor.LABS onde (quase) tudo acontece.
Hoje os .LABS têm as suas portas abertas para todos, mas se quiser voltar a visitar-nos vai precisar
de um cartão de Membro ou de um convite. Dessa forma poderá visitar os Elektor.LABS
sempre que quiser. Sigam-nos, por favor.
O Elektor LABS é o local onde decorre a
verdadeira acção. Esqueça a contabilidade
ou a gestão, o .LABS, ou como pronunciamos “dot-labs” é o coração pulsante
da sua comunidade electrónica favorita,
conhecida como Elektor. As pessoas que
trabalham no .LABS não só são tão atraentes como as nossas secretárias, como também sabem muito mais de electrónica.
Aqui à minha direita (vossa
esquerda) por exemplo, temos
Ton G. como em “Gee Ton, que
som fantástico!” Apesar de ele
não gostar de fazer alarido sobre
o seu dom, Ton é um excelente
designer de amplificadores
de áudio, altamente dotado,
que transvaza literalmente de
conhecimento e experiência.
Se tiver alguém tiver alguma pergunta a fazer, coloque-a ao Ton. Nós
também o fazemos.
No canto mais afastado temos o Luc ou Lucky Luc. Chamamos-lhe Luc sortudo porque ele consegue sempre
que os seus projectos funcionem. Não me perguntem
como é que ele o faz, mas consegue-o sempre. Luc é
um homem pacato que desenvolve profundas e suculentas reflexões sobre a electrónica. Se o tratar com
simpatia acabará por ouvir algumas das suas ideias.
A seguir temos o Eduardo Corral que vem às vezes até
cá ao castelo, porque é de Madrid. Ao contrário do
Ton e do Luc, o Eduardo é daqueles que
vibra sempre com as
tecnologias e chips
que vão surgindo e é
um entusiasta do hardware open source.
Absorve informação
d e p r o d u t o co m o
uma esponja e está
sempre ansioso por
ensinar. Quando não
está a trabalhar nos
projectos, dedica-se
à Elektor em Espanha.
www.elektor-magazine.pt | Julho - Agosto 2013 | 97
www.elektor-projects.com
Agora, nestas fotos temos a equipa Sunil. Sim, estão na Índia. A nossa
equipa indiana S3-Express produz projectos electrónicos como nós gostamos, electrónica bem temperada para manter o interesse dos projectos.
Ao ter acesso aos laboratórios .LABS pode falar com os Sunil sempre que
quiser, basta deixar-lhe um comentário no site.
Desculpe, qual é a pergunta? Ah, pensava que os Elektor LABS eram apenas
laboratórios obscuros escondidos num castelo? Não podia estar mais longe
da verdade! Os Elektor LABS são muitos laboratórios obscuros escondidos
em muitas garagens, quartos, sótãos, empresas, escolas, universidades e
em muitos outros espaços espalhados por todos os cantos do mundo. Os
Elektor LABS não estão geograficamente limitados, funcionam à escala
mundial. Temos Ivan de São Petersburgo, na Rússia, que é especialista em
aplicações baseadas em microcontroladores. Um pouco mais além temos
Gina e Nina de Lima, no Peru e Païkan no Japão...
O quê? Gostaria de ajuda para o desenvolvimento de um medidor da velocidade do vento sem componentes móveis? Excelente. Para isso deve aceder ao site Elektor LABS e publicar o seu projecto ou proposta. Escreva
uma descrição resumida do que pretende ou do que está a fazer, de modo
a que as outras pessoas possam entender o projecto e lhe possam responder. Não se esqueça de juntar imagens – as pessoas gostam de fotografias
ou esquemas e de facto estes elementos tornam as coisas mais atractivas.
O site Elektor LABS está desenhado para ajudar a reunir as pessoas.
Os Membros com interesses semelhantes ou que sabem como resolver
determinado problema podem contribuir para o seu projecto. Juntos podem
criar, desenvolver, e concluir designs de projectos simples ou complexos.
Já visitou o site .LABS? Lembro-me de ter visto um projecto de um equipamento de avaliação da velocidade do vento. Devia vê-lo pois é um projecto
muito interessante.
E existem vários outros projectos estrela na página principal dos projectos.
É crucial classificar os projectos, porque os mais populares serão identificados pelos nossos editores e eventualmente podem vir a originar um artigo
para a revista com a ajuda do proprietário do projecto. E sabe o que ainda
é melhor nesta circunstância? Se o seu projecto
for publicado na Elektor
Magazine poderá receber por isso! Não só irá
ter o seu nome na revista
Elektor como ainda poderá levar o seu parceiro(a) a jantar para celebrar a
publicação do projecto sem se preocupar com o preço...
Publique o seu artigo e obtenha reconhecimento, fama e quem sabe...
fortuna!
Mas não são apenas os projectos com 5 estrelas que conseguem ser publicados na revista. Nem toda a gente gosta da Lady Gaga, das Spice Girls ou
dos Beatles, certo? Algumas pessoas gostam de coisas mais alternativas.
Por isso, se os nossos editores considerarem que um determinado projecto,
mesmo que não tenha atraído muita atenção, é realmente interessante,
podem decidir publicá-lo na revista. Qualquer pessoa pode tornar-se autor,
qualquer um pode fazer dinheiro a partir de uma ideia ou da sua paixão,
todos podem ser Elektorizados!
Os Elektor LABS não se resumem a projectos de electrónica populares.
Tratam da electrónica em todas as suas formas, sabores e aparências.
Algumas dessas formas e sabores são concursos de electrónica e oferta de
produtos. Como já deve ter reparado pela nossa revista e sites, a Elektor
organiza actividades especiais numa base regular nas quais pode participar
e ganhar prémios. Quem contribuir activamente para alguns dos projectos
poderá ganhar Kits de Desenvolvimento completos só por usar a sua inteligência e ajudar os projectos a avançar. Seja inteligente e ganhe!
Espaço aos Autores Técnicos para Livros Elektor
Ah... e para os especialistas em hardware, software, áudio, teste e medida,
etc, com boas ideias para livros técnicos, estamos
interessados em conhecer ideias para novos livros.
A Elektor edita livros técnicos e os nossos livros são
vendidos em todo o mundo através da revista Elektor
e serviços como a Amazon e outros. A Elektor está
interessada em receber propostas de autores novos
ou consagrados, a quem oferecemos generosas condições em termos de royalties. Uma oportunidade
ideal para trabalho freelance, feito ao ritmo próprio e com confiança. Onde
cada autor tem a total liberdade para refinar o seu trabalho com a precisão
e o detalhe que se exige.
E nem sequer é preciso ter experiência com livros. Temos uma equipa experiente para ajudar na revisão final, paginação e toda a logística.
Por isso, porque não enviar-nos uma proposta?
E com isto terminamos a nossa visita guiada aos Elektor LABS.
Tal como verificaram, os Elektor LABS são muito mais do que um laboratório de electrónica, é um meio para alcançar o topo da nossa paixão.
Quando tiver a sua própria chave para os Elektor LABS pode visitar-nos
e regressar as vezes que quiser. Se quiser discutir algum assunto com algum
dos colaboradores aqui mencionados, ou com qualquer outra pessoa que
esteja activa no website, insira uma mensagem junto do projecto em que
está interessado.
Nós encorajamo-lo a fazê-lo.
Ah, uma última coisa. Quando sair, não se preocupe
com as luzes ou com a bancada de soldar, porque o
Elektor LABS está aberto 24/7 durante todo o ano.
(120608)
98 | Julho - Agosto 2013 | www.elektor-magazine.pt
O seu projecto de electrónica exige Sistemas
Analógicos de Baixo Consumo?
A Microchip tem a resposta...
A Microchip oferece o maior portfólio de produtos analógicos de baixo
consumo com suporte para uma enorme variedade de aplicações. Com
mais de 800 produtos únicos e autónomos que respondem a aplicações
desde gestão térmica, gestão de corrente, gestão de bateria, sinais mistos,
sistemas lineares, interfaces e soluções de prevenção e segurança.
Amplificadores Operacionais
MCP6441/2/4
■ Corrente quiescente de 450 nA
por canal
Reguladores Lineares de
Tensão (LDO)
MCP1710
COMECE DESDE JÁ A
TRABALHAR NO SEU
PROJECTO ANALÓGICO DE
BAIXO CONSUMO!
www.microchip.com/analog
■ Corrente quiescente de 20 µA
■ Tensão operacional a partir de 1,4V
■ Encapsulamento DFN de 2 × 2 mm
■ Encapsulamentos miniaturizados
SOT-23 e SC-70
■ Estabilizados com condensador
cerâmico
Reguladores de Comutação
Regulador Boost Síncrono
MCP16251/2
Conversores
Analógico-para-Digital
MCP342X
■ Tensão de arranque de 0,8V
■ Corrente quiescente de 145 μA
■ Corrente quiescente < 4 µA
■ Resolução até 18 bit
■ Desacoplamento real de carga ou
bypass de Entrada para Saída
■ Tensão operacional a partir de 2,7V
Placa de avaliação MCP3421 Weight Scale
Demo Board (MCP3421DM-WS)
■ Saída > 100 mA com 1,2 VIN e 3,3 VOUT
O nome e logo Microchip, os logos Microchip, dsPIC, MPLAB e PIC são marcas registadas da Microchip Technology Incorporated nos E.U.A. e outros países. Todas as restantes marcas mencionadas neste documento são propriedade dos
respectivos donos. ©2013 Microchip Technology Inc. Todos os direitos reservados. ME1033BPor/04.13
Download