Elektor 103 Completa Web
Elektor 103 Completa Web
Elektor 103 Completa Web
www.elektor.com.pt
www.elektorbrasil.com.br
www.elektorbrasil.com.br Unidade de
efeitos digitais
15 efeitos de som
configuráveis
Medidor CO2
Elektor MK 2
Mitos, promessas, perigos dos Super robôs
✚ Sistema de estacionamento para automóvel
Passaporte
digital
00103
ISSN 1676-790X
9 771676 790007
Crie senhas e
envie-as para o PC
ESTÊNCIL ELETROFORMADO
Outubro 2010
António Bento
ADMINISTRAÇÃO
Jorge Bento e Helder Lemos
CONTROLLER n.º 103
Pedro Lemos - [email protected]
EDITOR INTERNACIONAL
João Martins
Índice
GERENTE GERAL
Benedito Gonçalves
PUBLISHER
Victor Hugo Visval Piiroja
[email protected]
DIREÇÃO EDITORIAL
Fernando Gaio
[email protected]
DIRETOR FINANCEIRO
Márcio Reginaldo - [email protected]
IMPRESSÃO
Van Moorsel
PORTUGAL
Bolina Portugal, Lda.
Tel.: +351 21 413-1600 - Fax.: +351 21 413-1601
Ed. Central Park - R. Alexandre Herculano, 3 - 3º B
2795-240 Linda-a-Velha - Portugal INFORMAÇÃO
ESPANHA
Editorial Bolina, S.L. 58 Super robôs
Rufino González, 13 - 4ª Planta - 28037 Madri
Tel. +34 91 327 07 02 – Fax +34 91 754 26 68
64 Considerações sobre o ciclo de vida
DIREITOS DE REPRODUÇÃO
©Elektor International Media BV, 2010
The Elektor House, Allee 1, Limbricht, the Netherlands
Tel +31 46 4389444
Fax +31 46 4370161 IDEIAS PARA PROJETO
42 Medidor CO2 Elektor MK 2
A revista Elektor Eletrônica & Microinformática também possui
edições na Holanda, Alemanha, França, Inglaterra, Suécia,
Finlândia, Grécia, Índia, Portugal, Polônia e Espanha.
elektor 10-2010 3
4 10-2010 elektor
essantes,
s integra-
m aplica-
vento.
mentos
ento ao
do uma
ellaris e,
nsão uni-
o. “Esses
ro possa
o curso,
e conse-
eto den-
Cristina
s.
o Senai.
universi-
any. Os
camente
“Dessa
ríodo de
tensivo,
que ter-
egular é
e, numa
ezes por
cursos,
ebcasts,
gares do
nterior e
ordeste.
to neste
o e tam-
star em
Por isso,
mestrais
tornem
a.
elektor
CORREKTOR
Placa controladora dsPIC Agosto de 2010, Nº 101 090073-1
No início do artigo (página 52 da edição de Agosto de 2010, Nº 101) refere-se que o dsPIC30F6010A tem um conversor A/D de 16 bits, no
entanto, em vez dos 16 bits deve-se ler 10 bits.
6 10-2010 elektor
.com.tw
elektor
Tudo n
Felizmen
rar-se n
fato des
present
equipam
grados p
como o
[2] são u
fabrican
compon
uma uni
tidos no
de eleva
atraso d
(dois sen
das auxi
no diag
compon
com um
aritméti
precisa
acompa
sários, p
efeitos d
beração
ritmos p
oito em
que com
uma po
ser mais
utilizaçã
nAsm) [
pode ser
É um fato: qualquer gravação de som pode beneficiar-se com efeitos de som adequados. O circuito que vários ex
Tudo ist
vamos apresentar permite gerar uma variedade de efeitos de som, incluindo efeitos de reverberação,
integra
coro e flanger (atraso de sinal), sem ter de se preocupar com os detalhes de programação de um DSP. O ção par
obtido,
circuito é construído inteiramente com base num circuito integrado específico para efeitos especiais e ponente
conta ainda com um LCD para fazer a interface com o usuário. [4], Sma
Das Mus
Os efeitos de som dão sempre um toque como amador. Nos anos 80 o único modo digital estes elementos foram sendo subs- Em vez d
muito especial à música. Os processado- de construir unidades de efeitos especiais tituídos por processadores digitais de sinal tempor
res de som são elementos indispensáveis era recorrer a componentes como integra- (DSP). Contudo, a complexidade crescente especiai
de um músico moderno, tanto profissional dos e ampops. No decurso da revolução destes dispositivos veio dificultar a vida cionalid
Características
• Processador multi-efeitos com 15 algoritmos de efeitos diferentes.
3
Parâmetros de efeitos
Entrada (Valores
R analógica analógicos)
2 FV-1 3 ATmega8
RXD2
L Saída
analógica Chip Seleção
de efeitos
EEPROM de controle
os botões de controle e indicadores. Deste para est
Misturador de efeitos para 64 pré-definições
2 4 modo, o circuito torna-se ainda mais flexí- recorren
R de efeitos TXD1/RXD1
vel e fácil de expandir. 5 V são
X9C503 7 algoritmos divisore
de efeitos em ROM Interface Série MIDI IN
L A EEPROM para os efeitos adicionais está convert
também representada no diagrama de de filtro
ATtiny2313 blocos (Figura 2). O bloco à esquerda per- O tipo d
Interface de usuário mite misturar o sinal original com o sinal ponden
I2 C Bateria proveniente do processador de efeitos. entre o
Esta mistura é controlada também pelo formam
24LC32 ATmega, com a ajuda de dois potenciôme- armazen
EEPROM LCD 2 x 16 tros digitais. do ATm
8 algoritmos de efeitos EDIT permite
Codificador
090835 - 13
Circuito O jumpe
Agora é relativamente fácil perceber contra e
Figura 2. o microcontrolador ATmega controla o integrado processador de efeitos o funcionamento do circuito principal VCC imp
através de quatro linhas digitais e três linhas analógicas. A placa da interface com (Figura 3). Os sinais de áudio, provenien-
usuário possui o seu próprio microcontrolador. tes dos conectores de entrada, passam Seleçã
para as entradas do integrado FV-1 atra- Existem
separado, para não ter de alterar a parte placa do circuito impresso principal, mas vés de capacitores de acoplamento, e para para o A
frontal do amplificador. A conexão entre as o obriga também a alguma inteligência na as entradas dos amplificadores para a mis- dada co
duas placas é efetuada por um cabo sim- placa de controle, na forma de um pequeno tura dos sinais (IC1a e IC1b). As saídas des- . Porta s
ples de três fios. microcontrolador ATtiny, que possui portas tes integrados são ligadas às entradas dos usuário.
de E/S adicionais, já que o ATmega não as potenciômetros digitais (X9C503). As saí- . Porta M
Esta abordagem simplifica o desenho da possuía em suficiente número para todos das do processador de efeitos são ligadas
às outras entradas destes potenciômetros, A imple
cujas saídas são depois ligadas aos respec- vencion
tivos amplificadores. A única
LCD1
IC2 O circuito que envolve o FV-1 corresponde mais co
1
7805 2
+5V às recomendações do fabricante, explica- o fato d
K4 das no seu datasheet. Os capacitores C3 5N139,
C5 C6
3
+9V (100 nF) e C17 (10 µF) têm de ser coloca- nas espe
100n 100n
dos o mais próximo possível dos pinos cor- dados sé
15
1
2
3
4
5
6
7
8
9
10
11
12
13
14
16
D4
D5
D6
D7
RS232
C1 Nível TTL
[1] ou esteja próximo disso. A tensão de ali- diodos D
P1 R2 R1 mentação do integrado é de 3,3 V. as placa
100n
O algoritmo correspondente ao efeito distinta
10k
1k
20
K1
10k
desejado é selecionado por um sinal de pode se
VCC
12 2 Codifificador
D1
13
PB0 (AIN0)
PB1 (AIN1)
PD0 (RXD)
PD1 (TXD)
3 Rotativo 4 bits aplicado nos pinos T0 e S0 a S2. O também
14 6
15
PB2 IC1 PD2 (INT0)
7 sinal em T0 determina se o algoritmo através
PB3 (OC1) PD3 (INT1)
16
PB4 PD4 (T0)
8 selecionado é interno (pré-codificado
17 9
18
PB5 (MOSI)
PB6 (MISO)
PD5 (T1)
PD6 (ICP)
11 na ROM interna) ou externo (armaze- O circu
19
PB7 (SCK) nado na EEPROM 24LC32). Os diodos O módu
ATtiny2313
1
RESET D1 e D5 a D7, em conjunto com as resis- 4 bits. A
XTAL2
XTAL1
X1
versores de nível de sinal simples, de dor rota
10
S4 S1 S2 S3
C2 C4 C3 EDIT
5 V para 3,3 V. Os diodos D9 e D10 servem ção a p
BP
K6
K4
K2
K1
R35
R34
R33
R36
1M 1M 1M 1M
C31
C14
C24
25V
2u2
2u2
2u2
2u2
C4
+5V
+5V
22k 22k 22k 22k
s. Deste para estes pinos são geradas pelo ATmega,
R5
R16
R18
R2
7
1
ais flexí- recorrendo a sinais PWM. Os sinais PWM de
3
C10
C1
25V
IC6B
IC6A
25V
2u2
2u2
IC1B
IC1A
5 V são primeiro reduzidos para 3,3 V por
R11
R1
6
1k
1k
divisores resistivos (R9/R91, …) e depois
1
+5V
+5V
22k 22k 22k 22k
ais está convertidos para tensões contínuas através
R25
R23
R29
C2
R31
1n
C11
1n
C23
C16
2u2
2u2
C30
2u2
2u2
C5
ama de de filtros passa-baixo.
rda per- O tipo de efeito e os parâmetros corres-
PD7 2
PD6 1
PD7 2
PD6 1
C22
C29
100n
100n
5
5
m o sinal pondentes, bem como o nível de mistura
UD
INC
UD
INC
7 7
CS CS
efeitos. entre o sinal original e o sinal processado, 4
VSS VCC
8 4
VSS VCC
8
X9C503
X9C503
IC7
IC4
+5V
+5V
nciôme- armazenado na memória EEPROM interna
6
3
do ATmega8. Os 512 bytes desta memória
permitem armazenar exatamente 64 perfis.
C28
2n2
C33
2n2
PB0
R30
R24
IC1
1k
1k
8
O jumper JP2 permite proteger a memória
R26
10k 10k
erceber contra escrita. Se o pino 7 estiver ligado a
100n
C40
3V3
100R
+5V
C25
25V
3u3
C20
D2
16V
10u
R22
C32
25V
3u3
IC6
4
8
ovenien-
Seleção de efeitos
100n
C41
passam
12
27
28
3
5
1
T1
ROUT
LOUT
MID
CLIP
INR
INL
-1 atra- Existem duas opções para enviar comandos 4
7
GND AVD
6
8
100n
C3
GND DVDD
o, e para para o ATmega, de modo a selecionar uma 11 23
FV1
IC3
3V3
GND DVDD
19
a a mis- dada configuração de efeitos: 24
GND
GND REFP
26
100R
REFN
R17
POT2
POT1
POT0
das des- . Porta serial (K3), através da interface com
SDA
SCK
X2
X1
S2
S1
S0
T0
adas dos usuário.
25
10
15
14
22
21
20
18
17
16
13
10u
C17
25V
S2
S1
S0
T0
). As saí- . Porta MIDI (K7).
32.768kHz
15p
C18
X1
ligadas
MIDI
K7
D10
BAT85
C8
C6
100n
C12
100n
100n
1N4148
220R
2x
JP2
R12
R8
R3
A única diferença em relação aos circuitos
10k
10k
10k
3V3
5
6
7
D8
100n
100n
100n
C7
C13
C9
4 8
explica- o fato de ter sido utilizado um acoplador 17k4 17k4 17k4
IC5
3 2 VSS VCC
IC8
8
R15
R6
R10
R13
R9
R4
ores C3 5N139, mais barato que o PC900 referido
6N139
A2
A1
A0
8k2
8k2
8k2
7
100n
C21
5 6
coloca- nas especificações para as portas MIDI. Os
3
2
1
2k2
R27
JP1
nos cor- dados série são passados para a porta INT0
OPTO
MOSI
a como a uma taxa de 31.250 baud.
OPTO
RES
SCK
MISO
MOSI
PD7
PD6
T0
S0
S1
SCK
MISO
MOSI
PB0
, ilumi- 22k
R19 R20 R21
5
3
1
22k
+9V
K5
22k
turação ligado à outra porta serial (RxD/TxD). Os
K8
D7
D6
D5
1N4148
6
4
2
3x
19
18
17
16
15
14
6
5
4
PB5 (SCK)
PB4 (MISO)
PB3 (MOSI/OC2)
PB2 (SS/OC1B)
PB1 (OC1A)
PB0 (ICP)
C34
47u
25V
JP4
JP3
IC9
7
C27
22p
PB6 (XTAL1/TOSC1)
20
a S2. O também é possível alimentar esta placa
8MHz
2
+5V
IC2
AVCC
X2
10
C37
100n
PB7 (XTAL2/TOSC2) 21
goritmo através a placa principal.
PC4 (ADC4/SDA)
PC5 (ADC5/SCL)
AREF
C26
22p
+5V
PC6 (RESET)
C19
100n
PC3 (ADC3)
PC2 (ADC2)
PC1 (ADC1)
PC0 (ADC0)
22
C35
47u
25V
PD0 (RXD)
PD1 (TXD)
dificado GND
2
3
1
28
27
26
25
24
23
1
3
IC10
1N4148
D1
2x
D4
2
3V3
D3
C15
R14
R7
47n
C39
100n
RES
K3
C36
47u
25V
componente.
0-POT2 Montagem e programação Figura 3. esquema elétrico da placa principal, com o amplificador para as entradas
e saídas de sinal e com os potenciômetros digitais de regulação da mistura do lado
parâme- Para simplificar a montagem pode adquirir
esquerdo. As três malhas RC servem para converter sinais PWM em tensões contínuas
tensões o kit completo (que inclui as placas de cir-
entre 0 e 3,3 V.
compo-
crocon-
Lista de
ados e componentes
ém pré-
do Ser-
circuito X2= Cristal de quartzo 8 MHz
Placa principal
s micro- K1;K2;K4;K6= Bloco de terminais de ap-
Resistências:
amados erto, para PCI
R1;R11;R24;R30= 1 kΩ
progra- K3= Barra de terminais de 3 vias, passo
R2;R5;R7;R16;R18;R19;R20;R21;R23;R25;
2,54 mm
poníveis R29;R31= 22 kΩ
K5= Barra de terminais de 2x3 vias, passo
R3;R8;R12;R14;R26;R32= 10 kΩ
2,54 mm
ão con- R4;R9;R13= 8,2 kΩ
K7;K8= Barra de terminais de 2 vias, passo
R6;R10;R15= 17,4 kΩ (1%, 250 mW)
O único R17;R22= 100 Ω
2,54 mm
essador JP1;JP3;JP4= Barra de terminais de 2 vias,
R27= 2,2 kΩ
passo 2,54 mm, com ponte de conexão
sim rela- R28= 220 Ω
JP2= Barra de terminais de 3 vias, passo
mão, já
nos é de
R33;R34;R35;R36= 1 MΩ
2,54 mm, com ponte de conexão Comunicações
Capacitores:
C1;C4;C5;C10;C14;C16;C23;C24;C30
PCI (Refª 090825-1) (Refª 090835-71). Módulo SCO-0601
as resis- ;C31= 2,2 µF/16 V
6, R10 e C2;C11;C28;C33= 1 nF/400 V
Interface com usuário
ncias de C3;C6;C7;C8;C9;C12;C13;C19;C21;C22 Resistências: O módulo foi desenvolvido para estudos
R1= 1 kΩ
m série. ;C29;C37;C38;C39;C40;C41= 100 nF,
R2= 10 kΩ dos princípios de comunicações analógi-
cerâmico
e com o C17;C20= 10 µF/16 V R3= 5,6 Ω cas e digitais, facilitando a compreensão
amar os C15= 47 nF P1= ajustável de 10 kΩ
PROMS C18= 1 nF, cerâmico
dos assuntos relacionados com as dis-
Capacitores:
Tmega) C25;C32= 3,3 µF/16 V
C1;C2;C5;C6= 100 nF
ciplinas de telecomunicações. Estuda os
Elektor C26;C27= 22 pF
C34;C35;C36= 47 µF/16 V C3;C4= 22 pF tipos de formas de ondas envolvidas nos
l para a
ega con- Semicondutores: processos de modulação e demodulação,
Semicondutores:
64 con- D1;D3;D4;D5;D6;D7;D8= 1N4148 D1= LED, 3mm, baixa corrente multiplexação, códigos de linha, entre
IC1= ATtiny2313-20PU, programado
mo esta D2= LED, 3mm, baixa corrente
outros, bem como suas características e
D9;D10= BAT85 (Refª 090835-42)
ndo se IC2= 7805
lador, a
IC1;IC6= TS912, ampop duplo, rail-to-rail propriedades fundamentais. Visite-nos na
(ST Microelectronics TS912IN)
ramada IC2= ATmega8-16PU, programado (Refª Diversos: internet e conheça as soluções DATAPOOL
Elektor 090835-41) X1= Cristal de quartzo 8 MHz mais adequadas para sua necessidade.
K1= Codificador rotativo (Alps
crocon- IC3= SPN1001-FV1, Spin Semiconductor
IC4;IC7= X9C503, potenciômetro eletrôni- EC11E15204aE)
progra-
envolvi- co (Xicor X9C503P, Farnell: 179485) K2= Barra de terminais de 3 vias, passo OUTROS MÓDULOS PARA COMUNICAÇÕES
IC5= 24LC32 (Microchip 24LC32A-I/P), pro- 2,54 mm
ras, que gramado (Refª 090835-31) K4= Barra de terminais de 2 vias, passo Módulo 8801
da para IC8= 6N139 optoacoplador (Vishay 2,54 mm
orta ISP Semiconductor) S1;S2;S3;S4= Botões de pressão (Multi-
IC9= 7805 mec 3FTL6)
tilizada LCD1= LCD 2x16 caracteres (Displaytech
IC10= LF33CV (ST Microelectronics)
rolador. 162C)
trolador Diversos:
remover X1= Cristal de quartzo 32,68 kHz PCI (Refª 090825-2);
rna tem
m pro-
recor- um esquema simples para ligar uma porta utilizado para programar microcontrola-
ha rd - paralela a um circuito I2C, que pode ser dores AVR.
a página facilmente montado numa placa de pro- No arquivo que você pode baixar gratui-
contrar tótipos. Este programa pode também ser tamente do site da Elektor vai encontrar,
Operação
No total estão disponíveis 15 algoritmos de diferentes tipos de efeitos. o
nome do algoritmo selecionado aparece na primeira página do display.
Cada algoritmo tem três parâmetros de configuração específicos, que se
combinam para formar um efeito. o sistema consegue armazenar 64 efei-
tos em memória.
A mistura entre o sinal original e o sinal processado, bem como as defini-
ções do gerador de rampa, são armazenados em conjunto com cada um
dos 64 efeitos. o manual [8] inclui uma tabela com cada um dos algorit-
mos e os seus parâmetros passíveis de serem configurados.
14 10-2010 elektor
tashe-
Manual.
tml
nloads/
elektor
Utilizando o Cetro
Biblioteca de funções para
uma programação mais fácil
Clemens Valens (Elektor)
ção prin
não con
devolve
Uma plataforma para O linker
de form
protótipos tem pouca utilidade criar as
se não tivermos um suporte técnico adequa- deste m
endereç
do. Efetivamente, de pouco vale ter um hardware nas inst
bem projetado e um software extensivo sem uma boa referenc
que este
explicação do seu funcionamento. Assim, tendo descrito o hardware numa edição passada, é agora vez que
Cabe ta
tempo de descrever o software que acompanha o Cetro. Que o seu reinado comece! mapa d
linker sc
Antes de entrar nos detalhes da programa- malmente por vários arquivos. No fundo, o como por exemplo o arquivo especial (tipica- ralment
ção do Cetro, vamos começar por relem- executável a ser programado no microcon- mente) chamado CRT (ou Runtime do C) ou linker é
brar alguns princípios básicos da progra- trolador. E o que acontece pelo caminho? Startup, que contém rotinas de baixo nível program
mação C. De fato, grande parte do soft- Em primeiro lugar o compilador traduz para configuração e inicialização do sistema,
ware do Cetro é programado em C, uma (compila) o código fonte em C em código e como tal essencial para qualquer programa O proce
vez que existem planos para desenvolver fonte em linguagem assembly. Nesta fase em C. Neste arquivo são configuradas as inter- é norm
uma camada em C++. Não pretendemos o compilador pode emitir avisos e sinali- rupções e vetor de reset, assim como os pon- chain, n
entrar aqui nos detalhes da linguagem C zar erros. É altamente recomendável que se teiros da pilha, memória e variáveis de valor sequên
propriamente dita, mas antes no processo tente eliminar todos os avisos, se possível. predefinido na inicialização. É também neste compila
de converter um programa escrito em C Já os erros (‘undefined object’ ou ‘typo’, por arquivo que é invocada a função principal obter um
em um arquivo executável para progra- exemplo) são de correção obrigatória, pois (main) de qualquer programa escrito em C. rior [1]
mação no microcontrolador. É importante caso contrário o compilador recusa-se a pro- A ferramenta que se segue é o linker, res- WinARM
perceber todo o processo para que possa duzir o arquivo assembly necessário para ponsável por ligar e juntar todos os arqui- este pro
programar qualquer sistema baseado prosseguir o processo. vos objeto produzidos pelo assembler talação
em microcontroladores com facilidade, em um único arquivo executável. Neste artigo.
incluindo naturalmente o Cetro. A ferramenta assembler converte o código arquivo são também incluídas todas as placa, a
A Figura 1 apresenta um fluxograma que fonte em linguagem assembly, criando a bibliotecas de funções que a aplicação [3] cont
ilustra as ferramentas que são utilizadas partir desse momento os chamados arqui- vai precisar. As bibliotecas contêm tipica- a compi
em cada momento, e com que tipo de vos objeto (arquivo com extensão .obj). Estes mente funções cuja operação raramente de Star
dados. No topo podemos encontrar as arquivos podem então ser agrupados com precisa ser modificada, mas que são de memór
aplicações escritas em C, constituídas nor- outros, escritos diretamente em assembly, utilização muito frequente, como a fun- (arquivo
Bluetooth
C C … C
… USB Acelerômetro
Termômetro FatFs
ASM Compilador Sceptre
lib
PWM IC
2
…
…
Assembler
…
Aplicação
HEX
100017-11 100017-12
ção printf. Se a ferramenta de conexão O processo de compilação e conexão é nor- Bluetooth, para as UARTs, para os con-
não conseguir encontrar alguns objetos, e malmente iniciado através do comando tadores, relógio em tempo-real (RTC),
devolver erros do tipo unresolved external. make, um programa muito poderoso conversores A/D e D/A, PWM, ter-
O linker precisa de um mapa de memória (incluído no WinARM). Este programa exe- mômetro e acelerômetro (Figura 2).
de forma a poder organizar os objetos e cuta um arquivo de comandos tipicamente Foram também incluídas na biblio-
criar as conexões entre eles. Com a ajuda chamado makefile. Um makefile contém teca algumas funções para a configura-
deste mapa (ou tabela), determine os todos os comandos e opções necessários ção (inicial) do microcontrolador, assim
endereços para cada função e escreva-os para produzir um executável a partir dos como parte da interface newlib (con-
nas instruções de chamada e salto que as arquivos de código fonte e bibliotecas. sulte a caixa sobre a newlib). De forma
referenciem no programa. É por essa razão Dadas as capacidades da ferramenta make, pouco surpreendente, a biblioteca é cha-
que este programa é chamado linker, uma os arquivos makefile são normalmente mada sceptre(.a). Para conseguir utilizar,
a vez que faz as conexões. muito complexos e ligeiramente incompre- precisa-se incluir o arquivo sceptre.h no
Cabe também ao usuário providenciar este ensíveis, sendo que a melhor abordagem seu projeto e indicar ao linker onde pode
mapa de memória (também chamado de para grande parte dos casos é utilizar um encontrar a biblioteca.
linker script), uma vez que depende natu- arquivo makefile já existente, no qual fazem
al (tipica- ralmente do hardware. O produto final do apenas as modificações necessárias para o Esta biblioteca (sceptre) oferece funções
do C) ou linker é um executável que pode agora ser seu próprio projeto. Como seria de esperar, que facilitam bastante a utilização de cada
ixo nível programado no microcontrolador. a distribuição do Cetro inclui também um periférico. Por exemplo, para estabelecer
sistema, arquivo makefile exemplo. uma conexão Bluetooth, tudo o que tem
rograma O processo que acabamos de descrever de fazer é chamar a função bluetooth_
s as inter- é normalmente chamado compilation Biblioteca do Cetro connect após o módulo ter sido iniciali-
o os pon- chain, no sentido em que se trata de uma Dada a quantidade de periféricos úteis zado. Para ler o acelerômetro, existe a fun-
de valor sequência (ou cadeia) de ferramentas de incluídos na placa Cetro, parece lógico ção accelerometer_read, enquanto a
m neste compilação (e conexão) necessária para unir os respectivos controladores neces- função thermometer_read permite-lhe
principal obter um executável final. No artigo ante- sários para a sua utilização em uma única ler a temperatura medida pelo termôme-
to em C. rior [1] mencionamos que optamos pelo biblioteca de funções, de modo a facili- tro. É também muito fácil transformar o
ker, res- WinARM [2] como compilation chain para tar o seu uso e poupar algum tempo de Cetro numa memória USB, graças às fun-
os arqui- este projeto. Para instruções sobre a ins- compilação. Isto porque uma vez reu- ções usb_mass_storage_init e usb_
sembler talação do WinARM consulte esse mesmo nidas estas funções numa biblioteca, mass_storage_tick. Os arquivos no
l. Neste artigo. Além das funções de controle da não é necessário recompilá-las cada vez cartão SD são manipulados através das
odas as placa, a distribuição de software do Cetro que recompilar o seu programa, sendo funções f_open, f_close, f_read
plicação [3] contém os elementos necessário para esta incluída apenas na fase de cone- e f_write (semelhantes às clássicas
m tipica- a compilation chain, tais como o arquivo xão (linking). Na hora em que escreve- funções fopen, fclose, fread e
amente de Startup e o arquivo com a tabela de mos este artigo a biblioteca incluia con- fwrite da libc), e para escrever para
são de memória para o processo de conexão troladores para USB, para o leitor de a porta serial 0, existe o clássico printf.
o a fun- (arquivo .LD). cartões de memória SD, para o módulo Como pode-se ver, muito do trabalho já
no modo thumb interworks (iw). No modo cidade de 115.200 baud, oito bits de dados, arquivo
ARM, o Cetro é um sistema de 32 bits com- sem paridade, e um bit de parada (Figura 3). deve pro
pleto, mas os executáveis são maiores. No Desative o controle de fluxo. Pressione por lizando
modo thumb-iw os executáveis são meno- fim o botão de Reset da placa. Deve-se agora no WinA
res, mas também mais lentos, uma vez poder ver no seu programa de emulação o artigo
que o processador funciona num modo de de terminal uma tela semelhante a da Figura 4. automa
compatibilidade de 16 bits. Com 512 kB de cimal fo
memória para programa, há espaço sufi- Após alguns segundos, a aplicação tenta apresen
ciente para guardar um programa no modo abrir um cartão SD presente no leitor para foi mod
ARM, mas a programação do microcontro- nele escrever alguns pequenos arquivos com tudo o q
lador vai ser mais lenta. Por predefinição a informação sobre o sistema, e em seguida, Start pa
biblioteca é compilada no modo ARM. Para cerca de 30 segundos depois, grava dois memóri
compilar no modo thumb-iw, utilize os outros arquivos com dados lidos do termô- processo
Figura 3. Esta figura ilustra como rodar seguintes comandos: metro e do acelerômetro (abane ligeira- conform
e configurar o terminal Flash Magic. mente a placa para resultados mais interes- mal. Se
A velocidade da porta serial para C:\sceptre\core>make clean santes). Se escrever previamente um arquivo pode nã
comunicação através do terminal pode C:\sceptre\core>make de nome test_bt.pls no cartão SD, no qual que tud
ser distinta da velocidade do modo de ARM_MODE=thumb define um nome em ASCII com um máximo que o Fl
programação. de 16 caracteres, sem espaços ou caracte- de 30 se
Através deste segundo método vai obter res ‘_’, vai ativar também o teste à funcio- program
uma biblioteca de nome sceptre-iw.a. nalidade Bluetooth, e o respectivo módulo
inicia. Para terminar, o Cetro transforma-se Se optar
Certifique-se sempre que a aplicação e a numa memória USB, que também envia as para a p
biblioteca estão no mesmo modo! leituras do termômetro e do acelerômetro vés da li
para a porta serial 0. É agora possível confi- liza a po
Na biblioteca sceptre foram ainda inclu- gurar a conexão USB do cetro para memória
ídas outras bibliotecas que se podem USB, removendo os jumpers JP5 e depois JP4, lpc21i
encontrar na Internet, como por exem- e em seguida ligando JP4 entre os pinos 2 e com4 3
plo a lpcusb [4] e fatfs [5]. A primeira é 3, e por fim JP5 nos pinos 2 e 3. Esta alteração
um controlador USB, e a segunda permite pode ser feita em modo hot plug, isto é, sem A opção
acesso a um sistema de arquivos FAT, pos- desligar qualquer interface ou alimentação
sibilitando assim a leitura e escrita de car- da placa. É também possível alterar o modo
Figura 4. Funciona! As mensagens de início tões SD num formato compreendido pelo da conexão USB de memória USB para porta
do Cetro em um terminal RS232. Windows, Linux e Mac. Ao compilar a serial USB, mas 9 vezes em cada 10 isto não
biblioteca do Cetro pode ver alguns avisos roda bem, e a placa faz um reset automático.
(warnings) durante a compilação de arqui-
vos de bibliotecas externas. Pode ignorá- Se ligar o LED à placa, com o anodo no pino
está feito, embora não esteja ainda ter- los, uma vez que nenhum deles diz res- 1 de K7 e o catodo ligado à massa através de
minado! Consulte a documentação (em peito a algo particularmente grave, sendo uma resistência de 330 Ω, este vai piscar com
inglês) na pasta doc\html, começando pelo que estas bibliotecas funcionam perfeita- uma frequência de 1 Hz.
arquivo index.html. mente. Uma vez que estas bibliotecas são
Pode modificar, aumentar e corrigir a mantidas fora do contexto do Cetro (isto Se o módulo Bluetooth estiver ativo, deve
biblioteca conforme quiser, uma vez que é, independentemente e por outras equi- ser possível estabelecer uma conexão ao
tem acesso a todo o código fonte. Cada vez pes), optamos por não as modificar. computador e enviar os dados. O Cetro
que modificar uma função desta biblioteca, envia tudo o que recebe na UART0 para o
é necessário recompilá-la. Isto pode ser Aplicações de teste módulo Bluetooth e vice-versa.
feito através da linha de comandos execu- A distribuição do Cetro inclui uma aplicação
tando o comando make na pasta principal de teste chamada app_preload. Esta aplica- A aplicação exemplo é compilada através da
da distribuição (chamada core). É aconse- ção vem pré-carregada nas placas Cetro for- linha de comandos na pasta app_preload:
lhável que faça primeiro uma limpeza, para necidas pela Elektor, e permite-lhe verificar
garantir que vai começar do zero. Os dois de uma forma fácil se toda a placa encon- C:\sceptre\app_preload>make
comandos necessários para esta operação tra-se funcionando corretamente. Para uti- clean
são: lizar precisa ligar a porta USB do Cetro (com C:\sceptre\app_preload>make
JP4 e JP5 nos pinos 1 e 2) a um computador,
C:\sceptre\core>make clean garantindo previamente a instalação dos O makefile compila não só a respectiva apli-
C:\sceptre\core>make controladores FTDI (consulte o artigo ante- cação mas também a biblioteca do Cetro, se
rior [1]). Execute em seguida um programa assim for necessário.
Uma informação interessante para os espe- de emulação terminal no computador, por
cialistas em ARM7, a biblioteca pode ser exemplo o FlashMagic [1], e configure a Se tudo funcionar corretamente, o make vai
compilada no modo ARM (ARM mode) ou porta serial corretamnte para uma velo- terminar sem quaisquer erros e vai criar o
e dados, arquivo preload.hex. Este é o arquivo que sabilidade do lpc21isp colocar a placa no ção à sequência ‘+=’):
gura 3). deve programar no microcontrolador, uti- modo de programação e fazer-lhe um reset
one por lizando por exemplo o lpc21isp (incluído após a programação ter terminado. SRC = main.c
se agora no WinARM) ou o Flash Magic (consulte SRC += my_file.c
mulação o artigo anterior [1]). Este último detecta Dois indicadores junto à porta USB da placa …
Figura 4. automaticamente se o arquivo hexade- indicam se a transferência está de fato
cimal foi modificado (e mais do que isso, acontecendo. Pode adicionar tantos arquivos quantos qui-
o tenta apresenta a data e hora em que o arquivo ser. Para modificar o nome do executável,
tor para foi modificado pela última vez), sendo que Recomendamos vivamente que utilize modifique a linha:
vos com tudo o que tem a fazer é carregar no botão esta aplicação de teste como ponto de
seguida, Start para começar a programação da partida para o seu próprio projeto. Graças TARGET = preload
ava dois memória flash do microcontrolador. Este ao arquivo makefile já incluído, não pre-
o termô- processo vai ser mais ou menos demorado cisa compilar a biblioteca separadamente. Mudando naturalmente o preload para um
ligeira- conforme o tamanho do arquivo hexadeci- Crie uma pasta para o seu projeto paralela nome que seja mais do seu agrado.
interes- mal. Se não estiver atento à programação à pasta app_preload, de forma a garantir
arquivo pode não ver a janela de aviso que indica que todos os caminhos são idênticos. Con- Próximas evoluções…
no qual que tudo correu sem problema, uma vez sulte o arquivo main.c para descobrir como A biblioteca do Cetro não está ainda com-
máximo que o Flash Magic a faz desaparecer ao fim utilizar a biblioteca do Cetro. pleta. Certas partes estão praticamente
caracte- de 30 segundos após o fim da operação de Pode utilizar qualquer editor de texto para terminadas, outras ainda mal começaram,
funcio- programação. escrever um programa, desde que o código e pelo caminho vão certamente ser adicio-
módulo fonte não inclua qualquer caractere de for- nadas novas funções. Nos próximos meses
orma-se Se optar por utilizar a ferramenta lpc21isp matação (por outras palavras, nada mais vamos apresentar extensões e aplicações
envia as para a programação, esta é invocada atra- além de caracteres ASCII, e deve inclusive para o Cetro que lhe vão oferecer novas
ômetro vés da linha de comando (supondo que uti- evitar a utilização de caracteres acentuados). possibilidades. Pode encontrar novidades
el confi- liza a porta COM4): O editor Programmer’s Notepad (PN) [6] for- sobre estas atualizações no blog dedicado
memória necido com o WinARM é uma boa escolha. a este projeto [7] (em inglês).
pois JP4, lpc21isp -control preload.hex
pinos 2 e com4 38400 12000 Adicione os seus arquivos C no makefile do (1000017)
lteração projeto (não no da biblioteca) por baixo da artigo original: Grasping the Sceptre
o é, sem A opção -control indica que é da respon- linha ‘SRC = main.c’ da seguinte forma (aten- april/2010
entação
o modo
ra porta Programmer’s Notepad 2 O PN captura as mensagens geradas pelas ferramentas chamadas
pelo make, e apresenta-as na janela de saída (Output). Preste a
isto não A distribuição WinARM inclui também o Programmer’s Notepad 2,
omático. devida atenção a estas mensagens, uma vez que nestas podem
um editor de texto especial para programadores. Pode encontrar estar avisos (warnings) ou erros (errors) que precisam ser corri-
esta ferramenta na pasta WinARM\pn, previamente configurada gidos. Em alguns casos as ferramentas param devido a erros que
no pino
ravés de para utilização com o WinARM. Provavelmente, na hora em que nada têm a ver com o seu programa, mas com problemas do Win-
car com ler este artigo já existe uma versão mais atualizada [7]. Tudo o que dows (especialmente no Windows Vista). Se for esse o caso, o me-
tem de fazer para instalar esta nova versão é apagar todo o conte- lhor é chamar as ferramentas de compilação diretamente a partir
údo da pasta WinARM\pn, exceto a pasta tools, que contém todas da linha de comando.
vo, deve as macros necessárias para o WinARM. Em seguida, obtenha a edi-
exão ao ção portátil (Portable Edition) e descompacte o seu conteúdo para
O Cetro a pasta WinARM\pn. libc, newlib, syscalls e BSP
0 para o
Pode agora utilizar o comando Tools→[WinARM_C] make all – O GNU C inclui a biblioteca libc, que tem
CTRL-F7 para compilar o seu programa. um grande número de funções que tornam aplicação
ravés da a programação em C muito mais fácil. Algu-
printf, fopen, ...
eload: mas destas funções dependem do hardwa-
libc /
re, especialmente funções que manipulam newlib
ke arquivos e fluxos de dados. Normalmente, syscalls
Esta nova biblioteca oferece uma interface chamada syscalls que lhe É obrigatória a utilização de um bloco @file para que o Doxygen
permite associar um pacote de suporte da placa BSP (Board Support considere esse arquivo. Utilize o seguinte bloco ao comentar uma
Package) à biblioteca, de forma a adaptá-la ao hardware. Se utilizar função:
funções C convencionais na sua aplicação, tudo o que tem a fazer
/**
para que possa rodar em outro sistema é modificar a respectiva BSP.
* Short function description.
No caso do Cetro incorporamos algumas syscalls de forma que *
permita a utilização das funções printf, fopen, etc. A função printf, * @param <parameter name> <parameter
entre muitas outras, é especialmente útil para depuração, e permite- description>
lhe enviar conjuntos de caracteres (strings) para a porta serial 0 do * @return <description of value returned>
Cetro. */
sysint.h
No mundo dos microcontroladores é muito importante utilizar
tipos que correspondam ao hardware. O tamanho desses mesmos
tipos depende do hardware, e o fato de um caracter ocupar oito
bits na plataforma A não significa automaticamente que vai ocupar
o mesmo número de bits na plataforma B. Para evitar as dificulda-
Para tirar o maior partido das funcionalidades do Doxygen, é preciso
des decorrentes desta indefinição, importa definir tipos precisos,
respeitar algumas regras de construção dos arquivos fonte. Como
como uint8_t (inteiro de 8 bits sem sinal) ou int32_t (inteiro de
qualquer outro software com regras, o Doxygen oferece uma serial
32 bits com sinal). Infelizmente, cada programador faz isto à sua
de opções que provavelmente nunca vai precisar de usar, mas com
própria maneira, e o resultado, especialmente quando se mis-
a ajuda de alguns comandos úteis, é possível fazer algumas coisas
tura código de várias fontes, é uma mistura da mesma definição
muito boas.
(palavra chave) para tipos diferentes (e infelizmente nem sempre
/**
absolutamente idênticos), como BYTE, BOOL ou DWORD, o que o
* @file
* Description of file. compilador não gosta nada. Assim, recomendamos vivamente que
*/ utilize apenas os tipos definidos no arquivo sysint.h, fornecido com
as ferramentas GNU. Este arquivo contém definições de tipos espe-
cialmente pensadas para a programação de microcontroladores. Se
Um comentário no Doxygen começa com /** e termina com */ – o
o fizer, certamente não vai se arrepender, e vai tornar um possível
outro asterisco é opcional. É também possível inserir um comentário
trabalho em equipe muito mais fácil e produtivo.
no Doxygen numa única linha usando ///.
20 10-2010 elektor
Sistema de estacionamento
para automóvel
Manobras de marcha ré
simplificada
Figura 1
ajustáve
saída de
complet
Ton Giesberts (Elektor) baseado em uma ideia de Ludovic Meziere (França) nament
Nem sempre é fácil fazer a inversão de marcha num carro. Existem por isso algumas boas razões para que O VCO
entra e
os automóveis modernos sejam dotados normalmente de sensores que indicam quando o pára-choques implem
base de
traseiro se aproxima perigosamente de um objeto atrás do carro. O circuito que aqui descrevemos é a
LEDs se
solução perfeita para tornar o estacionando em locais complexos mais fácil. são de s
através
dos 0,5
A maioria dos condutores considera mais o instante se ainda tem mais espaço para os LEDs piscam. Para implementar esta à distân
difícil andar para trás com um veículo do andar antes de bater em alguma parede. funcionalidade foi usado um VCO (Voltage VCO é d
que conduzir simplesmente para a frente. Controlled Oscillator). Os LEDs acendem de distânci
Em todo caso, é muito mais difícil ter a Princípio de funcionamento forma permanente quando se atinge uma O funcio
percepção da distância de um objeto ao Para efetuar a medição da distância usa- distância mínima. ples. O
pára-choques traseiro, e ao olhar para mos um sensor especial produzido pela da resist
trás resulta normalmente em sentimen- Sharp (o GP2D120). O sensor mede a dis- Diagrama do circuito T1 está e
tos desagradáveis no seu pescoço. Uma tância com a ajuda de um LED IV que tem Como mencionamos anteriormente, o entrada
solução para este problema é a ajuda um comprimento de onda de 850 nm. A GP2D120 (MOD1) mede a distância e do que a
que agora é tanto utilizada, e que indica tensão de saída do sensor decresce com o reduz a sua tensão de saída com o aumento a saída v
o quanto mais podemos andar para trás aumento da distância. da distância ao objeto. A relação não é é descar
sem bater em nenhum objeto. O circuito inversamente proporcional nem tão pouco definido
que aqui apresentamos deve ser instalado O mostrador deste sistema de radar con- linear, uma vez que o ângulo da reflexão funcion
numa posição fixa, por exemplo, na parede siste num conjunto de LEDs que começam altera-se menos com o aumento da dis- A resist
da parte de trás de uma garagem. Com a a piscar quando um objeto entra dentro tância. De modo a controlar o VCO cons- que a hi
ajuda de um display posicionado de forma do alcance do sensor. Quanto mais pró- truído em torno de IC1B, o sinal é primeiro 0,5 V. Q
claramente visível podemos verificar a todo ximo fica o objeto do sensor, mais rápido invertido usando IC1A. O potenciômetro histeres
2
IC1 = MCP6004-I/P 12V IC1
1k5
220u 10u 11 100n
25V 63V D8 D13 D18 D23
0
+5V D9 D14 D19 D24
330R
330R
330R
330R
BAT85
C1 P1 R4 R5
100k R8
C3
100u C2 470k
22k
68k
25V
4u7
MOD1 3 100n 63V 5 K2
3 7
PSD
R3 IC1B K1
SIGNAL 1 6
IC1A
VOLTAGE
PROCESSING
CIRCUIT REGULATOR R1 100k
1
100k
2 +12V
OSCILLATOR
CIRCUIT R6 T2
D3 R16
220k
LED OUTPUT +5V 4k7
LED
DRIVE CIRCUIT CIRCUIT R2
R9 R10 100k BAT85
R7 T1 BD139
R12
4k7
GP2D120 2 R14
39k
39k
22k D4
100k
R17
1k
BC550C BAT85
P2 10
8
12
D2
IC1C
100k 9
14
IC1D R13 R15
13 C4
R11 BAT85
100k
1M
2k7
470u 25V
090184 - 11
+5V
Figura 1. No diagrama do circuito podemos visualizar configurações de ampops já bem antigas: um circuito inversor e comparador.
ajustável P1 permite ajustar a tensão de são máxima de entrada do VCO é então de sensor fica muito baixa a saída de IC1D vai
saída de IC1A de tal forma que este entra aproximadamente 3 V. Com as configura- para o nível alto e o diodo D2 evita que o
completamente dentro da faixa de funcio- ções corretas – no nosso protótipo fixamos capacitor C3 carregue. A saída de IC1B per-
namento do VCO. a tensão no cursor de P1 (pino 3 de IC1A) manece então no nível baixo. Assim que o
para 1,45 V – isto cobre toda a faixa de fun- veículo esteja estacionado, os LEDs ficam
ara que O VCO é ligado quando o transistor T1 cionamento do sensor. acesos durante aproximadamente 5 minu-
entra em condução. Isto é facilmente O VCO foi desenhado de tal forma que a tos antes que sejam desligados por IC1C.
hoques implementado ligando a resistência de largura do pulso varia, assim como a sua IC1C é usado para verificar se os LEDs estão
base de T1 à saída de IC1A. Para que os frequência. Para frequências mais elevadas, piscando. Quando a saída de IC1B está no
séa
LEDs se acendam de forma contínua, a ten- a corrente mais alta que passa por R3 faz nível baixo, o capacitor C4 é carregado
são de saída de IC1A tem que ser ajustada com que uma grande corrente passe tam- rapidamente e a saída de IC1C permanece
através de P1 para imediatamente abaixo bém por R4, o que significa que demora no nível alto, bloqueando o diodo D4. Os
dos 0,5 V, enquanto um objeto é segurado um pouco mais do que o capacitor C3 LEDs ficam agora apagados em qualquer
tar esta à distância mínima exigida do sensor. O ficar suficientemente descarregado para circunstância. Se a saída de IC1B perma-
Voltage VCO é depois desligado por T1 quando a fazer com que a saída de IC1B comute de necer no nível alto então o capacitor C4
ndem de distância mínima é alcançada. estado novamente. A tensão de saída do descarrega lentamente através de R13.
nge uma O funcionamento do VCO é bastante sim- sensor é monitorada pelo ampop IC1D, Finalmente, passados aproximadamente
ples. O capacitor C3 é carregado através que está configurado como comparador. A 5 minutos, a saída de IC1C vai para o nível
da resistência R3 (estamos assumindo que sua função é fazer com que os LEDs come- baixo e a corrente na base de T2 é então
T1 está em condução). Quando a tensão na cem a piscar com uma frequência mínima desviada através do diodo Schottky D4. Os
ente, o entrada inversora de IC1B fica mais baixa quando um objeto entra dentro do alcance. LEDs ficam agora novamente ligados até o
ância e do que a tensão na entrada não inversora, O potenciômetro ajustável P2 serve para carro entrar em movimento, altura em que
umento a saída vai para o nível alto e o capacitor C3 ajustar a tensão em R11 para valores entre os LEDs começam a piscar até que o veículo
o não é é descarregado através de D1 e R4. O limiar 0,1 V e 0,32 V. Para o ajuste mais baixo fique fora de alcance do objeto.
o pouco definido por R5 e R6 determina a faixa de de P2, o sensor parece ter um alcance de Para a distância máxima, o período do pis-
reflexão funcionamento. cerca de 1 metro. Isso foi surpreendente- car dos LEDs é de aproximadamente 240
da dis- A resistência R8 foi escolhida de modo mente mais do que estavamos esperando ms, com uma largura de pulso de 50 ms
O cons- que a histerese seja de aproximadamente porque o datasheet do sensor fez-nos acre- (D = 21%). Para a distância mínima o período
primeiro 0,5 V. Quando o VCO está funcionando a ditar que o alcance máximo seria de ape- é de 160 ms, com uma largura de pulso de
ômetro histerese situa-se entre 3,4 V e 3,9 V. A ten- nas 30 cm. Quando a tensão de saída do 95 ms (D = 59%). A variação da frequên-
Lista de componentes D25= LED verde, baixa corrente, 5 mm MOD1 (não se encontra na placa) = GP2D120
Resistências: D26= diodo zener 3,6 V/1,3 W (Farnell # 9707859).
R1;R2;R3;R14;R15= 100 kΩ T1= BC550C 2 pinos de soldadura para placa 1,3 mm
R4;R7= 22 kΩ T2= BD139 diâmetro.
R5= 68 kΩ IC1= MCP6004-I/P (Farnell # 1605571) 3 peças BPH-002T-P0.5S, JST BPH-002T-P0.5S
R6= 220 kΩ IC2= 78L05 (Farnell # 3617210).
R8= 470 kΩ PHR-3, JST PHR-3 (Farnell # 3616198).
R9;R10= 39 kΩ Diversos: Interface para barra de terminais SIL de 3 vias.
R11= 2,7 kΩ K1;MOD1= Barra de terminais SIL de 3 vias PCI (Refª 090184-1).
R12= 1 kΩ K2= Barra de terminais SIL de 3 vias, em
R13= 1 MΩ ângulo
R16;R17= 4,7 kΩ
R18= 1,5 kΩ
R19 a R22= 330 Ω
P1;P2= ajustável de 100 kΩ (Piher)
Capacitores:
C1= 100 µF/25 V, radial, passo 2,5 mm, Ø 8 mm
C2= 100 nF MKT, passo 5 mm ou 7,5 mm
C3= 4,7 µF/63 V, radial, passo 2,5 mm, Ø 6,3
mm
C4= 470 µF/25 V, radial, passo 5 mm, Ø 10 mm
C5= 100 nF, cerâmico, passo 5 mm
C6= 10 µF/63 V, radial, passo 2,5 mm, Ø 6,3
mm
C7= 220 µF/25 V, radial, passo 2,5 mm, Ø 8 mm
9a1
Figura 2. A disposição dos componentes nas placas de circuito impresso de
Semicondutores:
D1a D4= BAT85
pequenas dimensões faz com que pareçam ter um excesso de componentes. São P
D5a D24= LED vermelho, baixa corrente, No entanto, devido à utilização de componentes convencionais a soldagem dos
5 mm mesmos não deve apresentar dificuldades.
cia de 4 Hz para 6 Hz pode não parecer ser melhos em série, sem qualquer pro- placa dos LEDs é mais conveniente montar
muito, mas a variação do ciclo de trabalho blema. O consumo de corrente em stand- um conector em ângulo. Com conectores
faz com que seja mais notória. by (sem reflexões) é de 39 mA. Com todos adequados é possível manter uma cone- 14º C
os LEDs ligados é de aproximadamente 76 xão confiável entre as duas placas. O sen-
Fonte de alimentação e placa mA. sor fabricado pela Sharp pode também ser INTE
O sensor e o circuito construídos em Para este circuito foi desenhada uma ligado através de um conector adequado.
torno dos ampops são alimentados por pequena placa de circuito impresso que O sensor em si tem que ser ligado usando EXPO
um 78L05. Para manter a dissipação consiste em duas partes. Os desenhos da uma pequena interface de 3 vias com ter-
do regulador mais baixa foi adicionado placa podem ser obtidos no site da Elektor. minais de 2 mm, fabricada pela JST (Japan AUT
um diodo zener na entrada do mesmo. Os LEDs encontram-se separados para que Solderless Terminals).
Caso contrário teríamos 7 V aplicados possam ser montados de forma que se (090184-1) E INS
ao pequeno regulador, sem nenhuma possam ver claramente e sem dificulda- Artigo original: Outmanoeuvred – March 2010
boa razão para isso. Os LEDs são alimen- des. O sensor e o resto do circuito podem
tados diretamente do adaptador de ser montados numa localização mais ade-
Intermet Links
rede. Com um adaptador de rede com quada. Para a conexão entre as duas pla-
12 V podemos ligar até cinco LEDs ver- cas foram usados conectores. No lado da [1] http://www.elektorbrasil.com.br
Escolha do ampop
Para o ampop quádruplo selecionamos uma versão rail-to-rail de baixo custo fabricada pela Microchip, o MCP6004-I/P, que é perfeito para
esta aplicação. As características deste ampop que têm de ser consideradas para este projeto não são a largura de banda, a taxa de cresci-
mento (slew-rate) ou a corrente de saída, mas sim a tensão de entrada diferencial máxima. Estamos usando dois ampops como compara- INFORM
dores, o que significa que a diferença de tensão entre as duas entradas pode ser de vários volts. O ampop que aqui usamos pode suportar
uma diferença de tensão igual à tensão de alimentação. Esta tensão de alimentação pode situar-se entre 1,8 V e 5,5 V (7 V consiste no +55 (
máximo absoluto).
isa2010
Em muitos ampops rail-to-rail existem diodos de proteção ligados em anti-paralelo entre as entradas, o que significa que a tensão di-
ferencial máxima de entrada pode ser de apenas 1 V. Em teoria, o nosso circuito também pode usar esses ampops. Por causa disso foi adi-
cionada a resistência R9 à entrada inversora de IC1D. Como exemplo, tentamos usar um TS924IN. O que correu mal neste caso foi que as APOIO
duas entradas do comparador se afetavam uma à outra. A constante de tempo de C4 e R13 revelou-se mais baixa do que inicialmente por
causa da adição das resistências R14 e R15.
2D120
-P0.5S
3 vias.
9 a 11 de novembro
São Paulo • SP
montar
nectores
ma cone- 14º CONGRESSO
s. O sen-
bém ser INTERNACIONAL E
equado.
usando EXPOSIÇÃO DE
com ter-
T (Japan AUTOMAÇÃO, SISTEMAS
090184-1) E INSTRUMENTAÇÃO
arch 2010
www.brazilautomation.com.br
o para
cresci-
para- INFORMAÇÕES LOCAL REVISTA OFICIAL REALIZAÇÃO
ortar
no +55 (11) 5053.7400
[email protected]
-
oi adi-
ue as APOIO
te por
elektor ISA DISTRITO 4 - Associação Sul-Americana de Automação - Av. Ibirapuera, 2120 - 16º. andar, cj. 164/165 - 04028-001 - São Paulo - SP - Brasil - Fone +55 (11) 5053-7400
revisado mp _ 090866 estacao de carga de baixo custo para veiculo eletrico 5.indd 26 24/09/10 14:47
Automóvel
F1
T1
80mA U3 U1
250V LM7812 LM7805
+12V +5V
D2
12V
C1 C7 C8 C3 C4 C5
N N
5 4
L IPÐ
U2
IP+ L
16A 16A
ACS756SCA
PE PE
VOUT GND VCC
RLY2 RLY1 3 2 1
LCD1
R1
+5V
1k
C6 C2 +5V PC1602
Mostrador LCD 2x16
R2
+12V 10n 100n
+5V
VDD
VSS
R/W
10k
J4
VO
RS
D0
D1
D2
D3
D4
D5
D6
D7
A
K
E
1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
VPP MCLR
2
VDD TARGET
3
VSS GND
4 R3 R6
ICSPDAT C9
5
100R
ICSPCLK
6 100n
AUX
SW2 4k7 SW3
ICSP CONTRAST
1
VDD
START SETUP
+12V 19 16
RA0/AN0 RC0/AN4
18 15
RA1/AN1 RC1/AN5
17 U5 14
U4 9 RA2/AN2 RC2/AN6
+5V 4 7
DS RA3/MCLR RC3/AN7
16 1 13 6
O1 I1 RB4 RC4
15
O2 I2
2 12
RB5 PIC16F690 RC5
5
14 3 COIN PULSE 11 8
J1 SW4
O3 I3 RB6 RC6/AN8
1 13 4 10 9
O4 I4 RB7 RC7/AN9
12 5 D1
SW1 O5 I5
2 11 6 OSC1 OSC2 VSS
KEY + O6 I6
10 7 2 3 20
O7 I7 X1 ALIVE
R4 GND R5 R7 R8
8 C10 C11
270R
270R
470R
470R
ULN2003A
10p 4MHz 10p
090866 - 11
Figura 1. Diagrama esquemático do carregador para veículos elétricos. tenha cuidado com todas as conexões e componentes
ligados à rede elétrica – que se encontram assinalados a vermelho.
elétrica (AC) próximas a estacionamentos se aplica a restaurantes, cinemas, entre Requisitos do sistema
é relativamente simples e parece precisar muitos outros locais com áreas de estacio- Para permitir a utilização de uma unidade
apenas de um pequeno investimento. As namento próprias. de pré-pagamento standard o sistema tem
ção elé- estações para carregamento de veículos Mas, a energia consumida tem de ser paga, de ser capaz de medir o fluxo de corrente
, muito elétricos podem ser instaladas próximo de e é aí que uma unidade de carregamento quando o veículo elétrico está sendo car-
o. locais como restaurantes, centros comer- para veículos elétricos eficiente, onde os regado. O sistema liga o carregador após
erca de ciais, áreas de serviço de estrada, áreas usuários possam pagar a energia gasta, ter sido inserida pelo menos uma moeda,
um veí- de estacionamento de shoppings e por pode ser útil. Para configurar uma estação e contabiliza o total do dinheiro introdu-
orque o ai adiante. Por exemplo, existem grandes de carregamento para veículos elétricos zido para calcular a energia equivalente em
co é de centros comerciais com estacionamento atuada por moedas, tudo o que é neces- kWh a ser fornecida ao cliente. Medindo o
sempe- subterrâneo. O interesse do proprietário na sário é um pequeno e simples sistema de fluxo médio de corrente por segundo, o sis-
interna instalação de estações para carregamento detecção de moedas que atua um interrup- tema pode calcular a quantidade de ener-
energia de veículos elétricos pode não fornecer a tor cada vez que se insere uma moeda. Em gia (em kWh) entregue ao veículo elétrico
lo esca- receita pretendida imediatamente, mas os seguida, o circuito deve começar a medir o (o kWh é a unidade padrão para a fatura-
freios. donos dos veículos elétricos podem passar fluxo de corrente, calcular a energia consu- ção da conta de eletricidade). O sistema
entação o tempo necessário para o carregamento mida em kWh, e cortar o fornecimento de desliga o carregador quando a energia
no próprio centro comercial (“ fazer com- energia de acordo com a taxa fixada. fornecida corresponde ao montante pago
pras !”). Basicamente, o mesmo exemplo pelo cliente.
revisado mp _ 090866 estacao de carga de baixo custo para veiculo eletrico 5.indd 27 24/09/10 14:47
Automóvel
Macros Flowcode
Assumindo que um veículo elétrico é carregado a 10 Arms Calcula a
e a corrente tem a forma senoidal (que depende em grande - Peak_c
parte do tipo de carga!), então Imax = 10√(2) = 14,14 A. - Peak_v
A tensão de saída do dispositivo Allegro VOut = 2,5 V ± (40 mV × - Delta_c
14,14 A) = 3,0656 V máximo (valor no ADC ? 627) e 1,934 V
- RmS_c
mínimo (valor no ADC ? 396), devido à alternância da direção
do fluxo de corrente. - limpar
(prepara
Calculo d
Peak_V_out_ADC: ADC(Vmax) - ADC(Vmin) = 627 - 396 = 231 ADC,
o que dá uma amplitude da componente alternada em V_out. - W/s: Rm
(ou a ten
- por out
Fator de escala multiplicativo de 10 para uma melhor resolução:
(RmS_cu
(PIC de 8 bits: matemática limitada!)
Apresen
Peak_Vout_ADC = Peak_Vout_ADC × 10 = 231 ADC × 10 = 2310
e crédito
(valor inteiro).
A contag
Peak Vout_mV = (Peak_Vout_ADC / 1024) × 500 = (23100 / 1024)
se tratas
× 50 = 1127
fazendo
231 ADC = 1,127 V = 1127 mV carro, da
Peak_current_A: Peak_Vout_mV / 40 lentame
Peak_current = 1127 mV / 40 mV = 28 A (= 14 + 14 A) Calcular
Peak_current_A = Peak_current_A / 2, ou seja, 28/2 = 14 A - Carry_W
- Se carr
Fator de escala multiplicativo de 100 para uma melhor resolução: e carry_
Peak_current_A: Peak_current_A × 1000 = 14000 - Se kWm
e coloqu
RMS_current = Peak_current_A / 141 = 14000 / 141 = 99 (9,9 A)
- Credit =
14/1,41 = 9,9 Arma = Irms
- Salta p
Isto dá-nos a corrente RmS multiplicada por um fator de 10
para uma melhor precisão. - Retorna
Compar
Macro second e salta p
Descrição do circuito porcional ao fluxo de corrente instantânea, Flowcode V3 para microcontroladores nado na
Vamos dar uma olhada no esquema da que é transferida efetivamente da tomada PIC. O arquivo .fcf está disponível gratui- prietári
Figura 1. Quando a alimentação AC está de alimentação AC para o veículo elétrico. tamente no site da Elektor. que per
presente, uma fonte de alimentação O microcontrolador PIC16F690 (U5) man- A Macro Main é descrita resumidamente ditos ar
clássica baseada em reguladores 7812 tém o registro da energia transferida para em seguida. Se o botão START for pressio- mite ret
e 7805 fornece as tensões DC de 12 V e o veículo elétrico, e atualiza um mostrador nado, é limpo o valor de crédito armaze- falha de
5 V. A fonte de 12V é usada para atuar as para apresentar ao usuário a quantidade de
bobinas dos relés RL1 e RL2. Quando a ten- energia que foi transferida para o seu veí-
são de 5 V aparece, o microcontrolador PIC culo. Quando a energia fornecida atinge
começa a executar o seu firmware. Existe o valor correspondente à quantia paga, a
um pequeno atraso definido pelo tempo- microcontrolador desliga o relé e retorna
rizador POWerUPTiMeR, valor definido nos ao estado inicial.
bits de configuração. A resistência em série com o LED da ilumi-
Assim que o cliente insere as moedas e nação de fundo do módulo LCD mantém a
pressiona o botão START (SW2) o micro- corrente no modo de espera baixa, à custa
controlador PIC coloca os bits RB4 e RB5 de reduzir um pouco a quantidade de luz.
no estado lógico alto, fazendo com que os O consumo de corrente apropriado para o
dois estágios de excitação do circuito inte- circuito é de cerca de 30 mA para a entrada
grado ULN2003 forcem as suas saídas em de 12 V em modo de standby, e 150 mA
coletor aberto para a massa, o que faz com durante a fase de carregamento.
que os relés sejam ativados.
O circuito integrado Allegro ACS756SCA Software e cálculos
(U2) mede o fluxo de corrente para o veí- Para o desenvolvimento, simulação e
culo elétrico, e gera um sinal (VOut) pro- compilação do programa foi utilizado o
revisado mp _ 090866 estacao de carga de baixo custo para veiculo eletrico 5.indd 28 24/09/10 14:47
Automóvel
ladores nado na EEPROM (isto permite que o pro- valor de crédito existente anteriormente. saída do ACS756SCA é linear, dependendo
gratui- prietário possa limpar eventuais créditos Com o display pedindo para introduzir do fluxo de corrente, sendo que sabendo
que permaneçam). Copie o valor dos cré- moedas e pressionar START. Lendo o inter- VOut implica saber o valor instantâneo da
amente ditos armazenados na EEPROM. Isto per- ruptor de entrada do sistema de validação corrente (IP).
pressio- mite retomar o carregamento em caso de de moedas. A saída VOut do Allegro corresponde a VCC/2
armaze- falha de energia, lembrando o sistema do O crédito do cliente aumenta com cada quando IP = 0. Em termos do ADC (10 bits)
moeda que é introduzida. Quando o isto é igual a 1024/2 = 512, uma vez que
cliente tiver inserido as moedas e ligado VCC = 5 V = 1024. A corrente é AC e a sensi-
o veículo, pode pressionar o botão START bilidade é de 40 mV/A.
e os relés fecham-se. Até os clientes mais A corrente Irms é medida e calculada a par-
lentos são capazes de efetuar esta tarefa. tir de: Irms = Ipico/2√2.
Crédito = crédito por moeda × 6 × 60 ou
seja, 6 kWh, porém a unidade interna é o A discussão sobre o funcionamento do
kWmin (1 kWh = 60 kWmin). resto da macro Main e outras, incluindo
Se o crédito > 0, começa a carregar depois diversos cálculos realizados pelo sistema
de 30 segundos, mesmo que o usuário podem ser encontrados no quadro de
não pressione o botão START. Isto serve texto. Pode ser útil consultar o programa
para retomar o carregamento em caso de em Flowcode existente no arquivo 090866-
falha de energia. 11.zip, para poder acompanhar a utiliza-
O programa tem um ciclo que efetua 2000 ção de algumas etiquetas. Não nos esque-
(ou o número calibrado) medições do çamos nunca dos bits de configuração do
sinal VOut proveniente do sensor de cor- PIC: XT, WDT-OFF, POWUPTMR-ON, MCLR
rente. O valor real é comparado e os valo- externo. Clock Fail-Safe ativado. Utilizar
res máximo e mínimo são armazenados. A cristal de quartzo de 4 MHz.
revisado mp _ 090866 estacao de carga de baixo custo para veiculo eletrico 5.indd 29 27/09/10 15:23
Automóvel
energia da Velleman apresenta uma alte- Artigo original: Low-cost Electric Vehicle Charge Station
ração na leitura de 0,9 para 1,0 kWh. O May 2010
crédito apresentado na unidade de carre-
gamento para veículos elétricos foi de 302
kWmin. Final do teste. Internet
http://evworld.com/index.cfm
Assim, a unidade de carregamento para
http://fadisel.com/vending-cebek/
veículos elétricos contabiliza 58 kWmin,
coins-selector_P_325.aspx
em vez de 60 kWmin. Lembrando que a 1
kWh = 3.600.000 Ws, temos 58 kWmin = www.abberfield.com.au/a/60.html
3.480.000 Ws, e consequentemente, uma
diferença de 120.000 Ws na contabiliza-
ção. O problema é que a macro second é
chamada num período muito grande. Com
3.600.000 / 3.480.000 = 1,034 obtemos
apenas uma aproximação, mas o período
de chamada da macro second parece ser
Arranque inicial 34 ms mais longa do que devia. Agora, se
A primeira vez que o sistema é ligado os atingirmos 1,034 segundos com um valor
dados existentes na EEPROM são inconsis- de calibração de 2000, então um segundo
tentes, apresentando valores de crédito é alcançado com um valor de calibração de
anormais. Para resolver isto, basta ligar o 2000 / 1,034 = 1933, que será o valor de
sistema com o botão START pressionado. calibração necessário.
O display vai apresentar “credit cleared”
(crédito limpo). Considerações finais e ideias
Em seguida, execute a macro SETUP, isto
vai carregar os valores corretos em várias
Analisando diferentes tipos de veículos
elétricos, um carregamento típico de uma
Segurança elétrica
o hardware está ligado a um adaptador de
variáveis. Isto é feito ao ligar o sistema, mas scooter elétrica em kWh é: 48 V x 60 Ah =
rede AC e não constitui um dispositivo com
desta vez mantendo o botão SETUP pres- 2,88 kWh. A carga para um carro elétrico é isolamento entre a rede elétrica e a carga.
sionado. São apresentadas algumas instru- muito superior, próximo de 30 kWh para, em consequência, devem ser levadas em
ções sobre o botão COIN funcionar como por exemplo, o Mini-e da BMW, ou o Tesla consideração todas as precauções sobre
uma tecla ‘+’, da mesma forma que o botão Roadster. Uma scooter elétrica leva ape- segurança elétrica para equipamentos que
SETUP funciona como ‘-’ e START para con- nas uma hora para recarregar, enquanto transportam tensões da rede elétrica, quer
durante a fase de projeto, construção e utili-
firmar a sua seleção. que um carro pode demorar até oito horas. zação. esta advertência não deve ser levada
Em primeiro lugar, o sistema pede que A opção de utilizar um sensor de corrente esquecida e as linhas a vermelho no diagra-
defina o valor da tensão. Pode pressionar da Allegro foi inspirada em um artigo já ma elétrico fornecem alguma ajuda; estas
as teclas para aumentar ou diminuir o valor publicado na própria Elektor. O dispositivo indicam as conexões que transportam a
da tensão AC da rede (o valor inicial é de 756ACS bidirecional, é o mais indicado tensão da rede e que precisam ser cuidado-
samente isoladas. os usuários devem tam-
230 VAC). Defina o valor real na sua área, para aplicações de corrente alternada. O
bém ter em consideração as instruções de
não o valor nominal. dispositivo vem calibrado de fábrica, e uma segurança fornecidas pelos fabricantes de
Em segundo lugar, o valor de calibração – comparação das leituras com um equipa- veículos elétricos para o carregamento dos
se este for reduzido faz com que o sistema mento top de linha da Fluke mostrou resul- mesmos.
efetue os cálculos mais rápido. tados muito parecidos. É obrigatória a instalação de um terminal
Finalmente, o preço de venda é ajustado terra adequado, assim como um limitador
através da fixação do número de kWh cre- Incluído nas melhorias futuras está o aper- de corrente externo. o “Dispositivo de mo-
nitoração AC” publicado pela elektor em
ditados pela introdução das moedas. feiçoamento da desativação dos relés
março de 2010 é um complemento ideal
quando o limite de crédito chega a zero. para redes privadas com 10 A ou menos.
Exemplo! Primeiro, verifique o valor de IRMS, e se a
todas as interfaces, cabos, fios e suportes
Condições de teste: medidor de energia corrente ainda for elevada, digamos supe- utilizados no, ou em conjunto com o, car-
da Velleman, entrada de 230 VAC, mas rior a 4 A, comute os relés quando a cor- regador para veículos elétricos devem estar
apenas temos 220 VAC quando ligamos rente passa por zero. Isto envolve alguns dimensionados para utilização ao ar livre. A
aquecedor de 1400 watts. Crédito igual a atrasos no controle dos relés, no circuito unidade deve ser montada numa caixa ro-
busta de modo a cumprir as normas de se-
6 kWh, mostra 360 kWmin no display. O excitador e microcontrolador, que devem
gurança nacionais ou locais do sítio onde vai
medidor de energia mostra 0,0 kWh. Valor ser levados em conta. Por último, gosta- ser utilizada, assim como o detector e vali-
de calibração por definição: 2000. Ligar a ria ainda de ver adicionada a medição da dador de moedas.
carga (aquecedor de 1400 W), é detec- linha de alimentação AC de modo a garan- Finalmente, os leitores mais experientes de-
tada uma corrente de 6 A, tanto no Velle- tir que os cálculos do consumo de ener- vem procurar a ajuda de um eletricista com
man como na unidade de carregamento gia são justos quer para o vendedor como alguma experiência para a construção des-
para veículos elétricos. Passados aproxi- para o cliente. te projeto.
madamente 46 minutos, o medidor de (090866)
30 10-2010 elektor
revisado mp _ 090866 estacao de carga de baixo custo para veiculo eletrico 5.indd 30 27/09/10 15:23
Hardware & Software
Minimod18: pequeno e
deslumbrante
Nova placa microcontroladora para
projetos elektor com atmega
Este minúsculo módulo microprocessa- sistema de programa monitor e várias portas ATM18. Isso também permite que sacrifi-
dor nos convida imediatamente a compa- de E/S, oferece excelentes características téc- quemos um pouco do espaço de memória
rações. O computador KIM-1 [1] foi uma nicas e é claramente mais compacto do que flash para criar um bootloader integrado.
enorme sensação quando foi lançado em o KIM-1. Junto com o artigo apresentamos
1976. Por apenas 245 dólares, você leitor uma listagem com as características integra- Um bootloader é um pequeno programa
poderia obter um verdadeiro computador das, incluindo botões, um display LCD, uma localizado na parte superior da memória
com um microprocessador 6502, com uma EEPROM de 64 kB e três interfaces: USB, I2C flash. Se o microcontrolador for configu-
velocidade de clock de 1 MHz. Natural- e ISP/SPI. rado adequadamente, este inicia a execu-
mente, o KIM foi fornecido completamente ção desse programa em primeiro lugar.
“nu”: sem caixa, fonte de alimentação, e Bootloader integrado Depois da inicialização, o bootloader pode
sem interfaces (Figura 1). No entanto, as A placa Minimod18 mede 80x25 mm estabelecer uma conexão para um dispo-
primeiras placas naquela altura custavam (Figura 2), o que faz dela apenas metade sitivo externo, receber dados, e armazenar
cerca de 150 libras e eram bastante difíceis da já pequena placa do ATM18. Está equi- os dados na memória flash ou EEPROM.
de encontrar fora dos EUA. pada com um microcontrolador ATme- Isso elimina a necessidade de hardware
ga328P-UA com encapsulamento do extra para programação. O Minimod18,
Em termos de capacidade de processa- tipo TQFP32 [2]. A única diferença essen- que pode ser encomendado através do
mento, o Minimod18 está léguas de distân- cial entre este microcontrolador e um Serviço Elektor, vem já pré-programado
cia do KIM. Embora o Minimod18 careça de ATmega88 é a sua capacidade de memó- com uma versão adaptada do USBaspLo-
algumas das capacidades dos antepassados ria muito mais generosa, por isso, é total- ader. Isto significa que os iniciados nestas
mais distante dos PCs modernos, como um mente compatível com os nossos projetos andanças não precisam adquirir hardware
elektor 10-2010 31
figura
Lista de componentes
Diversos:
Resistências: LCD= configur
EADIPS082-HNLED
R1;R2;R5= 2,2 kΩ (0603) nadas co
R34= 68 Ω (0603) K1= Barra de terminais
Minimo
R6= 10 kΩ de 2x5 vias, em ângulo
K2= Interface USB-B Em cont
P1= ajustável de 10 kΩ (TC33)
K3= Barra de terminais utiliza o
Capacitores: de 2x3 vias, em ângulo
(0603) S1;S2= Botão de pressão Se, por a
para PCI
C1;C2= 22 pF ceder à
C3a C6= 100 nF X1= Cristal de quartzo
de 16 MHz (ABM3) tivo, com
bootloa
Bobinas:
L1= 10 µH (0603)
PCI (Refª 080950-1). cisar usa
Módulo com compo- pode se
nentes e testado com K3. Ant
Semicondutores:
bootloader pré-instala-
D1;D2= zener de 3,6 V (SOT23) do (Refª 090773-91). configu
IC1= AT24C512 (SO-08M) inferior
IC2= ATmega328-AU (TQFP32-08), pro- figura 2. a compacta placa de circuito impresso pode ser de Rese
gramado (Refª 090773-41) facilmente instalada no seu equipamento.
Select S
face SPI
Interface USB
Tal como já foi mencionado, a porta USB-B
também pode ser utilizada para alimentar a
placa Minimod18. As conexões do circuito
da porta seguem as recomendações do
projeto V-USB [5], de modo a permitir usar
o controlador USB ‘USB.Treiber’. Este contro-
lador é também usado para o bootloader. A
placa Minimod18 também é adequada para
implementar outras aplicações que simulam
figura 3. o microcontrolador pode ser programado rapidamente com o programa para um dispositivo USB por software, como um
PC gratuito aVr-dude. teclado para PC ou outro dispositivo.
O módulo pode ser alimentado através da
porta USB ou através do pino 2 do conec-
tor K3 (SPI/ISP). O módulo consome cerca
de 60 mA, que na sua maioria é utilizado
na iluminação de fundo do LCD. Se utilizar
a placa Minimod18 sem PC, esta pode ser
alimentada a partir de um adaptador de
rede com uma saída de 5 V, com um conec-
tor USB. Estes adaptadores de rede estão
disponíveis no mercado a preços muito
razoáveis.
Outras interfaces
Para controlar periféricos externos existe
uma interface standard SPI, suportado
não pelo hardware Atmel. Pode alterar a con-
de
figuração da ponte de conexão J1 para o
converter numa interface de programação
(ISP). Os pinos podem também ser usados
figura 4. o módulo display alfanumérico possui uma iluminação de fundo com Leds. individualmente para sinais de E/S digitais.
Os pinos PB3, PB4 e PB5 estão ligados aos
pinos 4, 1 e 3 do conector K3.
configurações dos fuse bits. Sobre determi- controle sobre a configuração e programa-
nadas condições, pode até mesmo usar o ção do microcontrolador. As três entradas do conversor A/D (ADC6,
Minimod18 totalmente sem programação. ADC7 e ADC0/PC0) estão disponíveis nos
Em contrapartida, nada pode rodar quando Display pinos 3, 4 e 5 do conector K1. Isto permite
utiliza o bootloader. Para o display usamos um módulo que a placa Minimod18 tenha acesso ao
DIPS082-HNLED da Electronic Assembly mundo exterior da eletrônica analógica.
Se, por algum motivo, for necessário pro- [4]. Este consiste num módulo de alto Temos ainda disponível no pino 6 de K1
ceder à programação direta do disposi- contraste, com iluminação de fundo e duas uma saída PWM do microcontrolador (PD3).
tivo, como por exemplo para substituir o linhas de oito caracteres cada (Figura 4). Esta pode, em alternativa, ser utilizada como
bootloader com uma nova versão, vai pre- Contrariamente ao módulo LCD, de dois entrada de interrupção (INT1).
cisar usar um programador externo. Este fios, da placa ATM18, este é ligado da
pode ser ligado ao conector de seis vias maneira convencional a um barramento Os conectores podem ser usados de forma
K3. Antes de fazer isso, deve-se alterar a de 4 bits, o que permite que as funções de independente (um de 6 vias e outro de 10
configuração da ponte de solda na parte biblioteca otimizadas do BASCOM, ou de vias) para ligar os seus próprios circuitos
inferior da placa para fazer com que o pino outros módulos correspondentes a outros periféricos usando cabos planos. Contudo,
de ser de Reset esteja disponível em vez do pino compiladores, possam ser usadas. Isto é também possível colocar todo o hardware
Select Slave (SS), para transformar a inter- apenas requer que as conexões dos pinos adicional numa única placa de circuito
face SPI numa interface ISP. Isso dá pleno sejam ajustadas. O mesmo é válido para impresso com um conector de 2x10 vias,
+5V
K1
2 1
4 3
LCD1
EADIPS082-HNLED
6 5
8 7
GND
VCC
VEE
R/W
RS
D0
D1
D2
D3
D4
D5
D6
D7
10 9
E
1 2 3 4 5 6 7 8 9 10 11 12 13 14
L1
R6 10uH
C4 C5
10k
P1
100n 100n 10k
C3 +5V
20 4 6 18
100n
AREF VCC VCC AVCC
19 24 R5
ADC6 PC1 C6
22 25
2k2
ADC7 PC2
23 26
PC0 PC3 100n
IC2 27
PC4
29 28
PC6(RESET) PC5 K2
ATMEGA328P-AU R3 1
12 30 +5V
JP1 PB0 PD0 68R 2
13 31 D-
PB1 PD1 R4 3
14 32 D+
PB2 PD2 68R 4
K3 15 1 GND
PB3/MOSI PD3
2 1 MISO 16 2 D1 D2
PB4/MISO PD4 USB-B
4 3 SCK 17 9
PB5/SCK PD5
6 5 10
PD6
21 11 3V6 3V6
AGND PD7
SPI/ISP +5V
MOSI GND XTAL1 XTAL2 GND
3 7 8 5
X1
R1 R2
8
S2 S1
2k2
2k2
VCC
C1 16MHz C2 7 IC1 1
WP A0
5 2
SDA A1
22p 22p 6 3
SCL A2
24C512
GND
4
por $init
090773 - 11
sentado
figura 5. diagrama do circuito elétrico: vários sinais do microcontrolador atmega estão disponíveis através dos conectores. como ac
Este pro
de Inter
que pode ser acoplado diretamente à placa oferece espaço de armazenamento sufi- citor de filme. se encon
Minimod18. ciente para que se possa usar o Minimod18
como um registrador de dados, entre outras O primeiro programa Qual o
A entrada Aref, que suporta também a coisas. A EEPROM 24C512 está ligada através O controlador no módulo LCD é compatí- Este peq
utilização de uma tensão de referência de um barramento I2C e pode ser acessada vel com o controlador HD44780 largamente um ótim
externa, também está disponível no pino diretamente com o BASCOM. Com o GCC, o utilizado no mercado. A Internet oferece aos as suas p
1 do conector K1. Não existe nenhum jum- uusuário pode simplesmente usar a biblio- programadores de C uma ampla variedade cisa faze
per para ligar a linha de tensão de referên- teca I2C incluída. de bibliotecas para controlar módulos LCD, perfurad
cia a VCC, tal como havia na placa ATM18, onde apenas é necessário efetuar a correta do seu p
uma vez que o ATmega tem capacidade O desenho do circuito corresponde na sua configuração da atribuição dos pinos. Para da porta
interna para utilizar a tensão de alimenta- totalidade às recomendações da Atmel. obter a máxima compatibilidade, o pino está pro
ção (AVCC) como tensão de referência. Temos um cristal de quartzo externo de 16 de entrada do LCD R/W está ligado ao pino
MHz para gerar o sinal de clock, uma resis- PC3. Isto permite efetuar o polling à flag
A placa Minimod18 tem dois botões de tência de pull-up de 10 kΩ para a entrada Busy do controlador, o que muitas bibliote-
pressão (S1 e S2) que utilizam as resistên- de Reset, e um capacitor de filme de 100 cas já fazem. No entanto, o BASCOM não faz
cias de pull-up internas do microcontrola- nF para desacoplamento da tensão de ali- qualquer uso dessa entrada, pelo contrário,
dor ATmega. O botão S1 (esquerda) está mentação. A entrada AREF também tem um assume que este pino está ligado à massa.
ligado a PB1, enquanto que o da direita capacitor de filme externo de 100 nF, e AVCC Por conseguinte, é necessário forçar o pino
(S2) está ligado a PB0. é desacoplada da linha de alimentação VCC PC3 à massa antes de começar a configurar
A EEPROM de 64 kB (IC1) existente na placa através de uma bobina de 10 µH e um capa- o módulo LCD. No BASCOM isso é efetuado
por $initmicro. O programa exemplo apre- Contudo, não o vamos deixar comple- anteriormente pela Elektor na placa Mini-
sentado na listagem Hello World mostra tamente por sua conta. Estão neste mod18. Isso geralmente requer apenas
es. como acender o display LCD com o BASCOM. momento esta em desenvolvimento duas pequenas adaptações para acomodar as
Este programa pode ser baixado na página aplicações para a placa Minimod18 que diferenças de hardware (pinos disponível
de Internet específica para este artigo, que devem estar prontas para publicação e controlador do módulo LCD).
se encontra no site da Elektor. durante os próximos meses. Uma delas
consiste num carregador de bateria de Para que não pense coisas que não são rea-
Qual o próximo passo? uso geral que apenas precisa que o cir- lidade, não estamos planejando mandar a
ompatí- Este pequeno módulo de utilização geral é cuito de alimentação seja montado numa placa ATM18 para a sucata. Vamos também
gamente um ótimo ponto de partida para desenvolver outra placa. O outro consiste numa esta- continuar a usá-la em projetos futuros.
rece aos as suas próprias aplicações. Tudo o que pre- ção meteorológica com um registrador
ariedade cisa fazer é montar o seu circuito numa placa de dados e sensores wireless. Neste caso,
los LCD, perfurada para protótipos, carregar o código o Minimod18 ainda pode apresentar os
correta do seu programa para o Minimod18 através dados obtidos no display. A cereja no topo (090773-1)
os. Para da porta USB, e depois ligar as placas. Agora do bolo, é que o leitor pode executar na artigo original: Small is Beautiful: Minimod18
, o pino está pronto para começar! maioria dos projetos ATM18 publicado april 2010
ao pino
ng à flag
bibliote-
M não faz Internet [4] http://www.lcd-module.com/eng/pdf/doma/dips082e.pdf
ontrário,
à massa. [1] http://en.wikipedia.org/wiki/KIM-1 [5] http://vusb.wikidot.com
ar o pino [6] http://computermuseum.informatik.uni-stuttgart.de
[2] www.atmel.com/dyn/resources/prod_documents/8161S.pdf
nfigurar
fetuado [3] www.obdev.at/products/vusb/usbasploader.html
Modo
e, exceto no XMEGA, o oscilador RC interno só pode ser utilizado até ciam muito lentamente, o que desperdiça energia. Um cristal pode
metade da velocidade máxima permitida pelo dispositivo. demorar até 15000 ciclos até que comece a oscilar corretamente.
Se for possível determinar durante quanto tempo é necessário uti- Pelo contrário, para um oscilador RC bastam cerca de 6 ciclos. Os
lizar o microcontrolador, por exemplo, sabendo a velocidade de osciladores cerâmicos ficam entre os dois anteriores, necessitando
comunicação de uma UART, a velocidade de clock pode ser redu- entre 200 e 1000 ciclos para inicializar. A sua precisão é suficiente
mo entra- zida para o mínimo. Quando for necessário efetuar processamento para comunicações assíncronas, mas não é suficiente para a conta-
ser man- de dados mais complexo, a velocidade de clock pode então ser ace- gem de tempo. Os novos AVR suportam sensores de temperatura
externo lerada para o valor máximo. É mais vantajoso trocar entre duas fon- que permitem calibrar o oscilador RC através do registro OSCCAL.
por defi- tes de clock alternativas do que alterar o fator de divisão do clock. A precisão final, depois da calibração, é de 1 ou 2 por cento, sufi-
eset. Por Deve-se evitar gerar frequências superiores à necessária em qual- ciente para comunicações UART. Os XMEGA são ainda melhores
imizar o quer parte do dispositivo. O XMEGA é particularmente flexível neste neste aspecto. O seu oscilador RC de 32 kHz depois de calibrado
XMEGA aspecto. Por exemplo, é melhor utilizar um XMEGA com o oscilador garante uma precisão de 1% em toda a faixa de tensões de alimen-
RC a 2 MHz e a PLL a 16 MHz do que utilizar o oscilador RC a 32 MHz tação e temperatura.
e depois dividir esta frequência. Se o processador e os periféricos Se necessitar de uma precisão maior, pode-se sempre poupar ener-
funcionarem a diferentes velocidades de clock, o gerador de clock gia programando os registros CKSEL para ‘low power crystal oscilla-
ximada- principal deve funcionar à velocidade mais baixa possível (AVR1010 tor’, em vez de ‘full swing crystal oscillator’. O único inconveniente
ra circui- [3]). é que o circuito vai ficar mais suceptível a interferências eletromag-
requên- néticas. A Tabela 2 apresenta os vários tipos de osciladores.
ento dos Osciladores
o apenas Existem diversos tipos de osciladores, sendo que não basta ape- Tensão de alimentação
vem ser nas conhecer a sua frequência. Além de possuirem diferentes con- O consumo de corrente é aproximadamente proporiconal à ten-
m desli- sumos de corrente e precisão, diferem igualmente no tempo de são de alimentação. A tensão de alimentação mínima para o AVR
k. Deste inicialização. mais moderno é de 1,8 V e de apenas 1,62 V para a família XMEGA.
perma- Se for para utilizar os modos de power-down e não precisar de Quanto mais baixa for a tensão de alimentação, menor é a frequên-
grande precisão da frequência gerada, o melhor será optar por cia máxima admissível. O ATtiny23U e o ATtiny43U incluem um con-
ia possí- um oscilador RC. Os cristais de quartzo possuem algumas des- versor elevador de tensão que permite o seu funcionamento a par-
mento a vantagens: são sensíveis às vibrações, ocupam muito espaço e ini- tir de uma única pilha ou bateria. Podem iniciar-se corretamente
atchdog
Potência
rrupção
o, pode-
omia de
100 nA.
o relógio
onsume
ormente Média
Média
ca, estes
dade de Tempo
á-lo com
ão de ali- figura 1. Breves picos de rápida atividade reduzem o consumo
dmissível médio de corrente.
com uma tensão de alimentação a partir de 0,9 V, o que garante a ções e que permitem poupar alguns ciclos de clock se houver cui-
utilização de quase toda a energia que ainda possa existir na pilha. dado na escolha dos periféricos. Os novos AVRs possuem registros
Abaixo dos 0,6 V todo o circuito é desligado, para evitar a descarga de entrada e saída que podem ser acessados mais rapidamente do
completa da bateria. O conversor elevador consume 17 µA, pelo que a área da SRAM. Nos dispositivos da família XMEGA o período
que talvez não seja o mais indicado para uma aplicação que neces- em que o microcontrolador está ativo pode ser reduzido se for apro-
site do temporizador sempre ligado. veitada esta característica, pelo fato de se poder acessar aos regis-
tros DIR, IN, OUT e INTFLAGS das quatro portas num único ciclo.
Detecção de falhas de energia (brown-out)
Se a tensão da bateria cair abaixo de um certo valor, o microcontro- Conversor A/D
lador deixa de funcionar corretamente. Para evitar isso, emprega- O consumo do conversor analógico/digital é de cerca de 200 µA a 3
se um detector de tensão que força o reset do microcontrolador V, sendo que deve ser ligado apenas quando necessário e, mesmo
nessa situação. Os AVRs picoPower (exceto o ATmega169P assim, no modo de conversão simples. A ativação da função
e o ATmega169PV) possuem um detector SBOD de redução de ruído faz parar a CPU enquanto
(Sleeping Brown Out Detector). Numa apli- a conversão está sendo efetuada, o que per-
cação de baixo consumo a tensão da bateria mite aumentar a precisão, ao mesmo tempo
cai muito lentamente. Por isso, é suficiente que se reduz o consumo de corrente. Ao desli-
monitorá-la com uma entrada analógica ou um gar a CPU, evita-se que o ruído gerado por esta
comparador, para poder avisar o microcontrola- durante as comutações interfira com o conversor.
dor que a bateria se aproxima de um valor baixo. Como uma conversão de 8 bits demora aproxima-
damente 12 µs (65 µs para uma conversão de 10
Registro de redução de potência PRR bits), este modo deve ser o escolhido, já que per-
(Power Reduction Register) mite poupar energia. Além disso, uma precisão de
Os periféricos podem ser desligados quando não 9 bits é mais do que suficiente para a maior parte das
estão sendo utilizados. Existem vários AVRs com um aplicações. Não existe nenhum modo especial de con-
registro específico para este fim (PRR). Este registro per- versão, mas o clock do conversor A/D deve ser elevado (1
mite desligar os temporizadores, o conversor A/D, a USART e MHz) e o bit ADLAR utilizado para garantir que o byte mais sig-
o sinal de clock do barramento I2C, que mantêm o seu estado até nificativo do resultado aparece no registro ADCH. Após 12 µs do
que o sinal de clock seja reativado. Mas pode-se fazer mais. O bit início da conversão este registro pode ser lido imediatamente e o
ACD no registro ACSR permite desligar o comparador analógico, conversor A/D desligado.
conseguindo-se assim poupar cerca de 60 µA a 3 V. A interrupção
AC tem de ser primeiro desligada, caso contrário o microcontro- Registro para desabilitar as entradas digitais DIDR
lador poderia ser interrompido quando o comparador fosse desli- (Digita Input Disable Register)
gado ou ligado. Se o diodo interno para gerar a tensão de referência Todas as E/S analógicas de um AVR podem ser utilizadas como E/S
(Vref) estiver ligado à entrada do comparador, vai acrescentar um digitais. Quando um sinal analógico é aplicado numa entrada o cir-
consumo de 15 µA, mesmo no modo dormente. Para evitar isto é cuito de E/S digital pode absorver uma corrente de perdas signifi-
importante colocar o bit ACBG do registro ACSR a zero. A econo- cativa. Esta corrente pode atingir as dezenas de µA por cada pino.
mia conseguida ao desligar os vários periféricos está discriminada Os dispositivos da série picoPower possuem um registro especial
na Tabela 3. chamado DIDR, que permite desligar seletivamente estes circuitos
digitais, pino a pino.
GPIOs e portas virtuais (apenas para o XMEGA) volátil d
Os AVR mais modernos possuem registros especiais SFR (Special Acesso a EEPROM e FLASH não usa
Function Registers) que podem ser utilizados com algumas instru- A série XMEGA permite a configuração do controle da memória não resto do
ver para
Tabela 3. Ganhos obtidos desligando os vários periféricos
Módulo Economia com a CPU ativa Economia com a CPU parada Desliga
USART 2% 6% Desligar
Temporizador assíncrono (RTC) 4% 15 % de 6 µA
volvime
Temporizador/Contador 2% 6%
Os dispo
ADC 4% 14 %
cionalid
SPI 3% 11 % várias sit
or apro- uma chave AeS e realiza-se a 9600 baud. O processamento de 8.3 ms 8.3 ms
0.8 mA
os regis- dados, incluindo o processo de encriptação, necessita de cerca 0.3 mA Energia média dissipada 248 µJ
0.2 uA
ciclo. de 100 000 ciclos de clock, sendo cada transmissão constituí- 891.7 ms Tempo
da por 8 bytes.
5.3 mA
Primeiro é utilizado o oscilador RC interno à frequência máxi- ICC 12.5 ms 12.5 ms
0 µA a 3 ma (8MHz). A energia total utilizada por transmissão é de 259 8.3 ms
Fclk = Mixed 8 MHz e 1 MHz 8.3 ms
mesmo 2.4 mA
µJ (microjoules). Se a frequência do sinal de clock for reduzida
a função
para 1 MHz, consegue-se poupar alguma energia durante a Energia média dissipada 207 µJ
nquanto 0.2 uA
que per- transmissão, já que esta demora um tempo fixo determinado 979.2 ms Tempo
090157 - 12
o tempo pela taxa de transmissão (). O processador vai também con-
Ao desli- sumir menos corrente durante o processamento dos cálculos,
por esta mas durante um período de tempo superior. Consegue-se assim uma redução de 4%, baixando a energia total por transmissão para
nversor. 248 µJ, comparando com uma velocidade de clock de 8 MHz. Se os cálculos forem efetuados a 8 MHz e a transmissão a 1 MHz, alterando-
proxima- se dinamicamente a velocidade do sinal de clock entre as duas tarefas, consegue-se baixar a energia consumida para 207 µJ, ou seja, me-
ão de 10 nos 20%.
que per-
cisão de Processo Caso Clock (MHz) Duração(ms) Corrente (µA) Potência (mW) Energia (µJ)
arte das 1 8 12,5 5300 15,9 198
de con- Cálculos, 100.000 ciclos 2 1 100,0 800 2,40 240
evado (1
3 8 12,5 5300 15,9 198
mais sig-
12 µs do 1 8 8,3 2400 7,2 60
Transmissão (CPU parado),
ente e o 2 1 8,3 300 0,90 8
8 bytes
3 1 8,3 300 0,90 8
1 0 979,2 0,2 0,001 1
IDR
Desligado 2 0 891,7 0,2 0,0006 0,5
omo E/S 3 0 979,2 0,2 0,0006 0,6
ada o cir- 1 - 1000,0 86 0,26 259
s signifi-
Total/Média 2 - 1000,0 83 0,25 248
da pino.
especial 3 - 1000,0 69 0,21 207
circuitos
volátil de modo a reduzir o seu consumo. A EEPROM e as partes tos. Por exemplo, um registrador de dados pode funcionar a maior
não usadas da memória FLASH podem ser desligadas enquanto o parte do tempo sem recorrer a CPU. O RTC ativa periodicamente o
ória não resto do microcontrolador permanece ativo. É mais eficiente escre- conversor A/D, e os resultados são transferidos diretamente para
ver para a EEPROM no modo de página, do que no modo de byte. a memória pelo controlador DMA. A CPU pode ser utilizada ape-
nas em casos especiais, quando por exemplo o valor de uma leitura
Desligar o temporizador watchdog e CPU sair de determinada gama. O controlador DMA reduz a utilização da
Desligar o temporizador watchdog pode significar uma economia CPU em 96% durante uma comunicação SPI a 4 Mbps, e em cerca
de 6 µA a 3 V. Pode sempre mantê-lo ativo durante a fase de desen- de 57% durante uma comunicação utilizando a UART a 2 Mbps. O
volvimento e desligá-lo apenas na aplicação final. XMEGA permite até a realização de operações de encriptação AES
Os dispositivos XMEGA possuem um controlador DMA e outras fun- sem utilizar a CPU. Algumas tarefas efetuadas anteriormente por
cionalidades que permitem colocar o CPU no modo dormente em software estão cada vez mais sendo substituídas por hardware dedi-
várias situações, mantendo a capacidade de reação a diversos even- cado, sendo que a escolha do microcontrolador adequado obriga
Tabela 4. Verificações para o projeto de circuitos de baixo consumo com microcontroladores AVR
Técnica Registro Fuse bits OK
Otimização do circuito externo
Tensão de alimentação de baixo nível BODLeVeL
Utilização de AVR picoPower/tipo-‘A’/XMeGA
Definição de estado das entradas: utilização de pull-up PORTx
Definição de estado das entradas não utilizadas com pull-up DDRx
Utilização dos modos de economia de energia SMCR
Alteração do modo de funcionamento entre RTC e oscilador RC CKSeL
Período ativo rápido e de curta duração CLKPR CKDIV8
Alteração dinâmica da velocidade de clock CLKPR
Oscilador no modo de economia de energia CKSeL
Inicialização rápida do oscilador CKSCL/SUT
Utilização de BOD no modo dormente ou BOD desligado MCUCR BODLeVeL
Depurador integrado (OCD) desligado OCDeN
Interface DebugwIRe/JTAG desligado MCUCR DweN/JTAGeN
Utilização do registro de redução de potência PRR
Utilização de registros de e/S GPIO
Utilização de portas virtuais (apenas no XMeGA) VPORTx
Utilização de modo de economia de energia na eePROM/fLASH (apenas no XMeGA) CTRLB (ePRM/fPRM)
Circuitos das entradas utilizadas para o conversor A/D e comparador desligados DIDR
Utilização do modo de redução de ruído no conversor A/D SMCR
Utilização de apenas 8 bits no conversor A/D (quando possível) ADCSR(A), ADMUX
Comparador analógico desligado ACSR
Diodo de referência de tensão (Vref) desligado ACSR, ADCSR(A) BODLeVeL
watchdog (wDT) desligado MCUSR, wDTCSR wDTON
Utilização de sistema de eventos e DMA (apenas no XMeGA) see datasheet
Utilização de baixa taxa de refrescamento e formas de onda no LCD LCDCCR,LCDfRR,LCDCRA, LCDCRB
Utilização dos recursos de hardware em detrimento da sua implementação via
software
Software otimizado para a velocidade GPIO
Sobre o autor
Andreas Riedenauer estudou Engenharia Eletrônica na Universidade Técnica de Dortmund e na Universidade de ensino à distância de
Hagen, ambas na Alemanha. Atualmente, é Engenheiro de Aplicações na Ineltek, uma distribuidora da Atmel e colabora em diversos
seminários e apresentações. Interessa-se especialmente por microcontroladores, sistemas de baixa energia, RFID, redes neurais, robôs ,
processamento de imagem, sistemas táteis, criptografia e segurança de dados. Nos tempos livres é piloto de planadores.
40 10-2010 elektor
100R
41 10-2010 elektor
revisado mp 090875 Teste dinâmico de fontes de alimentação usando ferramentas simples.indd 41 27/09/10 15:25
Medidor CO2 Elektor MK 2
Jens Nickel (Elektor)
No que
um cale
cima de
Concentrações excessivas de dióxido de carbono (CO2) são prejudi- uma pa
ciais não apenas para o meio ambiente, mas também para a sua pró- umidad
pria saúde. Uma simples apresentação ou reunião no interior de uma todo o t
sala fechada pode levar a referida concentração a subir dez vezes. O de CO2.
aumento da concentração de CO2 no sangue impede os azarados par- medir a
ticipantes de absorver oxigênio suficiente, induzindo tonturas, verti- escolas.
gens, náuseas e nos piores casos até dificuldade em respirar. visíveis,
Razões mais do que suficientes para que a Elektor tenha apresentado outra ca
um medidor de CO2 como artigo de capa na sua edição de Maio de LEDs m
2008. Na base deste projeto estava um módulo de medida de CO2 laranja
do fabricante japonês Fígaro, que combinava não só um sensor com os nívei
sistema de controle mas também um microcontrolador. Este últi- elevado
mo era responsável por interpretar os sinais provenientes do sensor, não consegue ser eliminado de forma eficiente através da respiração. melho,
gerando uma tensão contínua em um dos pinos deste módulo, dire- A Elektor ficou particularmente agradada por poder dar uma modesta Prevê-s
tamente proporcional à concentração de CO2. Existia também uma contribuição para o alívio deste problema. Chris Vossen dos laborató- no inter
saída comutada que assumia o valor alto quando um determinado rios da Elektor assumiu a tarefa de melhorar o projeto do medidor de process
limiar configurado pelo usuário era ultrapassado. CO2 original, com o objetivo de criar um dispositivo portátil comanda- de duas
Este módulo inteligente, e notavelmente compacto na versão de do de forma simples por três botões de pressão e com uma leitura fácil
montagem em superfície (CDM4116A), tornava o esquema do nos- dos valores através do um mostrador LCD gráfico.
Si
Como bônus, foi também incluída uma conexão USB para a trans-
ferência de medidas para o PC, para registro temporal de longo pe-
ríodo. E claro, um sensor de temperatura e umidade também seria
útil, na medida em que os doentes de asma têm também maiores
dificuldades em ambientes secos (para compensar o ar seco, os pul- Cerca d
mões aumentam a produção de muco, que por sua vez bloqueia as para o s
vias respiratórias). [1] junt
Após análise, o Chris resolveu partir do zero. Várias experiências últimos
positivas com o R8C da Renesas levaram-no a utilizar este pequeno dois dia
processador de 16 bit no novo medidor de CO2. O depurador E8a apresen
utilizado nos laboratórios mostrou-se uma excelente ferramenta de mento d
desenvolvimento, sendo que essa conexão foi considerada no proje- essador
to da placa. Uma vez que o R8C não dispõe de uma interface USB, o O novo
já habitual integrado FT232 da FTDI foi adicionado ao circuito. Esta trela do
UART e microcontrolador R8C conseguem agora providenciar toda a gestão
conectividade USB necessária. Outro aspecto conveniente é a capaci- do proc
dade de comutação automática da alimentação, obtida em condições cache e
normais a partir de uma fonte de alimentação externa, mas sempre , interfa
que o dispositivo for ligado a um computador através de USB o cir- Este é c
so medidor de CO2 extremamente simples. Para a conversão A/D do cuito passa a ser alimentado através desta porta. Evita-se assim que para exe
sinal medido foi utilizado um ATtiny programável no próprio circuito o usuário final tenha de estar preocupado com jumpers. embarc
(ISP), que após a conversão apresentava o resultado em um mostra- Nesta altura a placa de circuito impresso já evoluiu até o estado que móvel c
dor LCD alfanumérico. Depois, bastou juntar uma fonte de alimen- se pode ver na foto. Ainda há algum trabalho a fazer, uma vez que sem ha
tação e uma saída comutada com um transistor de excitação e res- a conexão ao sensor de umidade para montagem em superfície da ficos em
pectivo relé, e o circuito ficou completo. Sensirion (certamente familiar para muitos leitores da Elektor) é ain- genheir
A simplicidade do circuito, a pronta disponibilidade do kit da Elektor da algo provisória. como u
(composto pela placa, microcontrolador pré-programado e módulo farquivo
E-LABS INSIDE
Simpósio Linux
a trans-
ngo pe-
ém seria
maiores
, os pul- Cerca de 80 engenheiros e gestores de projeto foram convidados Muitos participantes levantaram questões sobre as licenças
queia as para o simpósio de Linux organizado pelo distribuidor alemão GLYN necessárias para a utilização de Linux. O sistema operacional Linux
[1] juntamente com a Toshiba, onde foram demonstrados os seus é um programa de código fonte aberto (open source) sendo que
riências últimos microcontroladores de 32 bits. O evento teve a duração de qualquer pessoa é livre para baixar, consultar, compilar e executar.
equeno dois dias e aconteceu em Dusseldorf, na Alemanha. Foram no total 12 Contudo, ao contrário do software no domínio público (que não tem
dor E8a apresentações, nas quais se introduziram os detalhes e o funciona- qualquer proteção contra cópia e qualquer pessoa pode utilizar para
enta de mento de um sistema Linux (embarcado) assim como o microproc- o que quiser), a utilização de software Open Source está limitada por
o proje- essador que seria a plataforma ideal para rodar esse mesmo Linux. condições expressas em uma licença. A mais conhecida no mundo do
e USB, o O novo microcontrolador de 32 bits da Toshiba (TMPA900) foi a es- código livre é a GPL (General Public Licence). Uma GPL garante que
to. Esta trela do evento, com um núcleo compatível com ARM9, unidade de qualquer novo programa que derive do programa original, seja por
ar toda a gestão de memória MMU (Memory Management Unit), sequencia modificação ou adição, deve também ser GPL (isto é Copyleft, um
capaci- do processamento de instruções (instruction pipeline), memória trocadilho em inglês para contrapor com Copyright). A licença GPL
ndições cache e um controlador de mostrador gráfico LCD (com aceleração) indica que qualquer programa que se ligue estaticamente com bib-
sempre , interface USB (host/device), além de outras funcionalidades úteis. liotecas de funções GPL é também um trabalho derivativo, e como
SB o cir- Este é claramente um processador capaz, com capacidade suficiente tal também deve estar sob a licença GPL. Nesta altura há ainda algu-
sim que para executar um sistema operacional como o Linux em um ambiente ma discussão se um programa que implemente conexão dinâmica a
embarcado. Pode assim ser utilizado como base para um dispositivo uma biblioteca de funções pode também ser considerado software
ado que móvel compacto com uma interface de usuário gráfica sofisticada, derivado. Como exemplos de licenças menos exigentes temos a LGPL
vez que sem hardware adicional. No segundo dia foi explicado como os grá- (Lesser GPL, para GPL menos estrita), e a BSD (Berkeley Software Dis-
rfície da ficos embarcados são tratados em Linux. Do ponto de vista de um en- tribuition). A LGPL permite a utilização de bibliotecas de código fonte
r) é ain- genheiro de software, a memória de vídeo (frame buffer) é acessada livre em software de código fonte protegido (fechado), com a única
como um arquivo na pasta /dev (fiel à lógica Linux, em que tudo é um salvaguarda que alterações nessas mesmas bibliotecas devem ser ad-
farquivo). O Linux utiliza a instrução única mmap para mapear a to- equadamente documentadas. As licenças BSD são talvez as menos
E-LABS INSIDE
talidade da memória gráfica, sendo que a aplicação obtém um pon- restritivas, permitindo a distribuição ilimitada para qualquer fim,
teiro para o inicio desta zona de memória e pode a partir daí alterar exigindo apenas que sejam mantidas algumas indicações no código
o seu conteúdo, sendo isso imediatamente representado na tela LCD. fonte sobre a sua origem.
A unidade de gestão de memória (MMU) integrada simplifica a tarefa Chris Vossen da Elektor participou neste evento em Dusseldorf e re-
do projetista. O sistema de arquivos utilizado pelo Linux é bastante gressou cheio de ideias e sugestões. Assim, não é de admirar que nos
inovador, e mereceu um espaço dedicado durante o segundo dia das próximos anos seja cada vez mais frequente a utilização destes con-
apresentações. Também interessante para todos os programadores troladores ARM de alto desempenho para todo o tipo de aplicações,
de software foi a demonstração do compilador e depurador Linux recorrendo ao Linux embarcado.
Tool Chain (executados em uma máquina virtual, que também po- (090770-1)
dem ser instalados em uma plataforma Windows). A bplan GmbH[2] Artigo original: Linux Symposium – January 2010
distribuiu uma compilação de todo o software necessário por todos [1] www.glyn.de
os participantes. [2] www.bplan-gmbh.de/output.php?PAGE_ID=209
B
Standard
BU
Figura 1
para o
Os projetistas que trabalham com a interface de diagnóstico OBD para veículos têm um problema quando
O Mini s
se trata de equipamento de teste. Um carro completo estacionado junto à sua bancada de teste pode ser mos nor
uma boa solução em termos técnicos, mas na maioria dos casos simplesmente não é possível. Também mos um
do seu v
não precisamos recorrer a um equipamento profissional (e muito caro) para fazer o trabalho. O Mini volvimen
simulador OBD, de baixo custo, que descrevemos neste artigo simula a comunicação da interface OBD de jeto no c
tes num
um veículo e pode comunicar usando quatro dos protocolos OBD mais populares. desconf
a possib
Esta é uma ferramenta muito útil para quem pensa em efetuar desenvolvimento de hardware ou software uma gar
para a interface OBD, ou nem que seja simplesmente para teste. cisar tes
cas difer
+5V +5V
SV1 SV3
R2 9 5
1 2 2 1
RN2 RN2
10k
10k
3 4 4 3
1k
T1
5 6 6 5
10 6
RN2 7 8 8 7
10k 9 10 10 9
1 2
PWM+/VPWM
BS250 RN2
5 P3 P2 P1 P6
BU2 10k
* * * *
7 8 7
Standard OBD2 RN2 IC5.B
PWM- 6
10k
3 4
R1 T2
RPM VELO
1
9
1k
D1
2 +5V
BS170 CON
10
D2
3 IC5 = LM393 +5V
R4 R3 MIL
11
+12V +5V TA1 C4 TA2
2k2
2k2
4 C-GND
12 100n
5 S-GND
4 RN1 5 RN1 10 RN1 RESET 7 20 DTC
13
VCC AVCC
10k
10k
10k
6 1 28
PC6(RESET) PC5(ADC5/SCL)
14 27
3 RN1 6 9 PC4(ADC4/SDA)
7 K-LINE 3 26
10k PC3(ADC3)
15 2 1 1 2 25
IC5.A PD0(RXD) PC2(ADC2)
8 T3 2 3 IC3 24
PD1(TXD) PC1(ADC1)
16 BATTERY 4 23
PD2(INT0) PC0(ADC0)
5
PD3(INT1) +5V
7 RN1 6 14
BS170 PD4(XCK/TO) PB0(ICP)
11 15 SV2
PD5(T1) PB1(OC1A)
10k
12 16 1 2
PD6(AIN0) PB2(SS/OC1B)
8 13 17 3 4
PD7(AIN1) PB3(MOSI/OC2)
18 5 6
PB4(MISO)
21 19 7 8
AREF PB5(SCK)
BU1 IC1 9 10
ATMEGA8-P
D3 78L05 +5V
GND XTAL1 XTAL2 AGND
8 9 10 22 4 3 AVR PROG
1N4004 S1
Q1 ON
C1 C2 8 C3
IC5
47u 100n 4 100n
C7 C6 C5 1 2
6MHz 1 2
100n 22p 22p
080804 - 11
Figura 1. O circuito consiste num microcontrolador com firmware, MOSFETs e comparadores para efetuar o desvio de tensão necessário
para o nível pretendido (5 V/12 V). Os potenciômetros permitem o controle da simulação da velocidade do veículo e rotação do motor.
ando
O Mini simulador simula os sinais que pode-
e ser mos normalmente encontrar quando liga- Especificações
m mos um analisador OBD ao conector OBD2 • Quatro protocolos pré-definidos: • Dados para sensor de velocidade e conta
do seu veículo. Isto permite efetuar o desen- - KWP2000 Fast Init giros ajustáveis através de potenciômetro.
volvimento e realizar testes de um novo pro- - KWP2000 Slow Init (5-Baud Init) • Geração de condição MIL (Mal-function
jeto no conforto do seu laboratório. Os tes- - ISO9141-2 Indication) através de botão de pressão.
D de - PWM J-1850 • Indicação de conexão e condições MIL
tes num veículo real podem ser um pouco
desconfortáveis, especialmente se não tiver • Seleção de potocolo usando interruptores ativas.
a possibilidade de trabalhar no interior de DIP • Armazenamento de dados Freeze
ware uma garagem. Mesmo nesse caso, vai pre- • Quatro códigos de erro pré-definidos. Frame quando da geração de condições
cisar testar o seu hardware em várias mar- • Até 15 códigos de erro configuráveis. características.
cas diferentes de automóveis para garantir • Várias opções de montagem.
cionado
bela 1).
dor efe-
ptor S1.
r o com-
tendido
reset ao
to é que
e alterar
vista do
o é sem- Figura 4. Placa protótipo mostrando o conector OBD montado verticalmente e seção
ntação, da interface com usuário separado.
Passaporte ATM18
Hardw
Para tra
de teste
o ATM1
Hardware K5 K1 R1
Para transferir as palavras-chave da placa 1
X1
2k2
de teste ATM18 para o PC é necessário que
R2 +5V 1
o ATM18 emule a função de um teclado 68R D- 2
USB. As comunicações que normalmente R3 D+ 3
1 68R GND 4
fluem entre um teclado deste tipo e o PC D1 D2
são geradas pelo software na placa ATM18. USB-B
O único hardware adicional necessário Placa de
teste ATM18 3V6 3V6
para este projeto é uma pequena placa
de expansão que fica entre a porta USB e 080950 - 12
montag
lisador O
O módu
uma es
transmi
cendo u
fim de c
a esta d
ceiver B
bém de
ou 3 vai
zido (Ta
tiver mu
funcion
pen Blue
Classe 1
este pro
Circuit
Folker Stange e Erwin Reuss (Alemanha)
O circui
O Analisador OBD apresentado na edição do mês de Outubro de 2009 módulo
de tens
da Elektor está dotado de um sistema operacional open source e uma nais (J1
tensão d
porta de expansão integrada. Os dois, em conjunto, permitem inte-
colocar
grar um módulo com bastante facilidade. Agora, na outra extremida- mento.
a tensã
de de uma conexão RF você pode visualizar os parâmetros do motor e sinais d
falhas num PC portátil! controla
comuta
trolado
transpo
de com
A ferramenta de diagnostico do Analisa- em dia, a maioria dos computadores papel central na expansão do nosso Ana- BTM222
dor OBD [1] utiliza um microcontrolador portáteis vêm equipados com uma lisador OBD. A maioria dos nossos leitores ware no
AT90CAN128 com 128 kB de memória interface Bluetooth, e se o seu não mais habituais vai certamente reconhecê- A monta
flash. Isto é mais do que suficiente para tiver um é possível adicioná-lo com lo pelo papel que desempenhou como lisador
uma utilização portátil, mas se pretende um custo muito baixo. Tendo isto complemento para a nossa placa ATM18. (Figura
implementar um banco de dados com em mente, o que nos impede de adi- Nesta aplicação o módulo Bluetooth e tensão e
os códigos de avaria vai começar rapida- cionar uma interface Bluetooth ao os capacitores de desacoplamento são na linha
mente a sentir que o espaço de memória nosso Analisador OBD e (com o sof- montados em uma pequena placa sol- sendo q
está ficando reduzido. Da mesma forma, o tware certo) transformá-lo num ana- dada à porta de expansão do analisador, módulo
seu simples display é ideal para um diag- lisador muito mais útil e sofisticado? usando barras de terminais. Ao imprimir modo id
nóstico de falhas rápido, mas não permite a antena de um quarto de comprimento um gran
visualizar representações gráficas mais Módulo Bluetooth de onda diretamente na placa de circuito solde ap
complexas das leituras dos sensores. Hoje O módulo BTM-222 assume um impresso simplifica muito a construção e tensão d
+3V3
TS5205CX533
Características IC2
Antena
1 5
IN OUT
19.200 Baud. 34 7
SPI_MISO PIO2
33 8
• Módulo Bluetooth de baixo custo. SPI_CLK PIO3
32 9
SPI_CSB PIO4
• Placa de cirucito impresso de 28x38 31 11
J1 J2 SPI_MOSI PIO5
milímetros. 10 10 30
UART_CTS PIO6
12
9 9 +5V 28 13
UART_RTS PIO7
8 8 PF7 27 14
UART_TX PIO8
7 7 PF6 26 15
montagem da placa de expansão no ana- UART_RX PIO9
6 6 PF5 25 36
PCM_CLK PIO10
lisador OBD. 5 5 24 35
PCM_OUT PIO11
O módulo BTM-222 é do tipo classe 1 com 4 4 23
PCM_IN USB_DN
21
Atualização de Firmware
verifique as opções do menu principal do Analisador OBD, se o modo Bluetooth não estiver disponível (todas as versões anteriores à ver-
são 121), então vai precisar baixar a versão mais recente do firmware no site da elektor [2]. vai precisar de um programador ISP com um
conector de 10 vias para encaixar o microcontrolador da família de dispositivos AvR da Atmel (por exemplo, ver os sites [3] ou [4]). este é
ligado ao conector Sv1 na face dos componentes na placa de circuito impresso. Se o programador disponibilizar uma tensão de alimenta-
ção no pino 2 de Sv1 o analisador deve ser desligado do conector OBD do veículo para programação. Neste caso, instale o jumper J3 (por
trás do pino 2 de Sv1). O software compactado retirado do site da elektor pode agora ser descompactado para uma pasta específica de
modo a ser executado; a atualização do firmware levará apenas alguns segundos.
Matthias Tieben
ware está a ser fornecida com o kit do Para operar com o analisador vai precisar vai aparecer a indicação que está disponí-
Analisador OBD desde Janeiro de 2010. de um portátil equipado com funcionali- vel um novo dispositivo Bluetooth. Deve
Para os leitores que adquiriram o kit antes dade Bluetooth. O primeiro passo é ligar o ser detectada uma porta série, clique sobre
dessa data irão precisar de um programa- Analisador OBD ao conector OBD do veí- esse aviso e em seguida next. Agora, intro-
dor ISP ([3] ou [4]). Veja a seção Atualiza- culo. Agora, selecione a opção Bluetooth duza a palavra-chave, no nosso caso, basta
ção do firmware para mais detalhes sobre (Figura 4) a partir do menu do analisador usar a sequência 1234 e pressionar Enter.
como transferir a versão mais recente do OBD. Quando ativada acende-se a ilumina- O Windows ativa então o recém detectado
firmware para o microcontrolador. ção de fundo azul. No Windows do portátil dispositivo Bluetooth e mostra algumas
portas COM.
A primeira porta
COM detalhada é a
que precisa de ser inse-
rida no software da aplica-
ção (software OBD a executar
no portátil) como porta de comu-
nicação. Para o software da aplica-
ção pode usar o moDIAG [5], ou outro
semelhante.
[1] www.elektorbrasil.com.br/090451 [3] “Programador AvR-ISP simples via bandeira do Reino unido)
(“Analisador OBD de nova geração”, uSB”, elektor Nº 93/94, Dezembro/ [5] www.modiag.de/english/mobydiag_
elektor Nº 91, Outubro de 2009) Janeiro de 2008/2009) pro.htm
[2] www.elektorbrasil.com.br/090918 [4] www.stange-distribution.de (clique na
disponí-
h. Deve
ue sobre
a, intro-
o, basta
ar Enter. Figura 3. A placa de circuito impresso já vem
tectado com os capacitores de desacoplamento
lgumas e o regulador de tensão montados. Figura 4. O firmware mais recente já possui uma opção Bluetooth.
Super robôs
Mitos, promessas, perigos
e o “aqui e agora”
Andrew Eliasz (First Technology Transfer Ltd., Reino Unido)
podemo
temas im
Os robôs são um tema muito frequente em livros e filmes de ficção mas biológicos e das estratégias que estes adotaram para sobre- seus pri
científica, normalmente associados ao medo, presente em mui- viver, e como podem estes conceitos ser aplicados no campo da nanotec
tos de nós, de que os robôs criados para “servir a humanidade” inteligência artificial? (basead
se possam virar contra ela para a tentar destruir ou escravizar. O lhas – si
fato de vivermos numa cultura onde o dinheiro e o poder são para São sem dúvida questões que o farão pensar por horas. De volta Foi com
muitos o objetivo principal da sua vida faz pensar que este tipo ao planeta Terra, os ingredientes ao nosso dispor são: de robô
de pessoas não vão ter problemas em recorrer a potentes soft- por Ada
wares de IA ou a versáteis robôs inteligentes para atingir os seus • Sensores. fascinan
fins. Contudo, há sempre o receio de que estas novas entidades • Transdutores capazes de gerar movimento e manipular objetos.
inteligentes incorporem os nossos valores e se tornem melhores • Componentes analógicos e digitais. • O Stiq
e mais eficientes do que nós. • Software (compilado diretamente no silício, ou executado atra- de nitino
É possível que algum dos atuais avanços da Robótica e da Inte- vés de um ou mais processadores). para con
ligência Artificial tenham um impacto, não aparentemente, mas • A biologia como fonte de inspiração para algoritmos de • O recu
que venha a ser determinante na tecnologia deste século. Talvez programação.
alguns dos tópicos aqui abordados inspirem a próxima geração de • Métodos para construção de modelos de vida artificial em
projetos da Elektor, ou motivem o início de uma ilustre carreira na hardware.
engenharia. Resta esperar que todos estes avanços tecnológicos • Competições e desafios projetados para estimular a pesquisa e
sirvam um propósito social útil. o avanço técnico e científico.
• Métodos e protocolos de aprendizagem e comunicação.
A natureza como inspiração
Começamos a nossa discussão referindo que mesmo mecanismos Esta é de fato uma área multi-disciplinar que atrai não apenas
simples podem por vezes originar sistemas com comportamentos os adeptos da tecnologia, mas também os grandes pensadores
muito complexos, como demonstram por exemplo os sistemas e pessoas com interesses em várias áreas do conhecimento, e
fractais ou caóticos, ou mesmo os intrigantes comportamentos como resultado será de esperar mais do que apenas robôs autô-
observáveis em insetos sociais como as formigas ou abelhas. As nomos, dos quais já existem bastantes exemplares hoje em dia
discussões filosóficas mais profundas tais como a natureza da inte- (Figura 1). O livro de Nancy Forbes [1] (apenas disponível em
ligência, podemos colocar algumas questões pertinentes, como: Inglês) é um bom ponto de partida para todos os interessados
em perceber o papel inspirador que a biologia teve na computa-
• Que tipos de sistemas inteligentes podemos construir agora e ção, e apresenta (entre outros exemplos) as tentativas de cons-
num futuro próximo? truir sistemas de processamento de informação baseados em
• Que tipo de mecanismos podem ser construídos para movi- sistemas biológicos.
mentação e manipulação do meio ambiente sem intervenção Este tipo de técnicas e ideias têm sido aplicado a vários aspectos
(humana) direta? da robótica, como planeamento de percursos, processamento de
• O que se pode aprender através do estudo da evolução de siste- imagens, controle de locomoção e fusão de dados, e entre elas
o, e a
s anos
ornam-
adores
de IA –
“Como é que se pode identificar um robô que age por conta própria?” (do filme Eu Robô).
podemos destacar as redes neurais, algoritmos genéticos e sis- como algoritmos de aprendizagem para locomoção através de
temas imunitários artificiais. Outras áreas ainda estão dando os pernas, para, por exemplo, atravessar um terreno acidentado ou
a sobre- seus primeiros passos, como a computação baseada em DNA, correr, no caso de um robô de quatro pernas.
mpo da nanotecnologia, sistemas auto-replicáveis e computação amorfa • Uma salamandra robótica capaz de andar e nadar (a versão aqui
(baseado em modelos de colônias de células ou enxames de abe- descrita utiliza microcontroladores PIC16 e PIC18 e um barra-
lhas – sistemas que mostram capacidades de auto-organização). mento I2C para comunicação entre processadores, embora esteja
De volta Foi compilada uma coleção fascinante e relativamente atualizada planejada uma versão baseada no barramento CAN).
de robôs reais e modelos de robô inspirados em organismos vivos • Um gorila robô capaz de andar com apenas duas pernas ou em
por Adamatzky e Komosinski [2]. Nela pode-se encontrar robôs alternativa usar os quatro membros para locomoção, também
fascinantes, como: capaz de subir escadas ou balançar-se de ramo para ramo.
objetos. • A utilização de algoritmos genéticos para otimizar o projeto de
• O Stiquito, um robô inseto de seis pernas que utiliza os seus fios formas de locomoção e andamento em robôs com pernas.
do atra- de nitinol ativados por calor para locomoção, é uma das tentativas • A utilização de dispositivos FPGA para implementar os sistemas
para construir e estudar uma colónia destes “insetos”. de percepção e navegação em robôs de vigilância e exploração
mos de • O recurso a redes neurais e protocolos de recompensa tardia, (roving) através de estratégias de condicionamento e recompensa
cial em
squisa e
o.
apenas
sadores
mento, e
ôs autô-
e em dia
nível em
essados
omputa-
de cons-
dos em
spectos
mento de
ntre elas Figura 1. É muito fácil considerar um robô autônomo se (quase) não se incluírem aspectos biológicos no projeto.
Robôs sociáveis
Para que os robôs se tornem sociáveis e bons jogadores em equipe
é importante a criação de plataformas normalizadas com ambien-
tes de desenvolvimento comuns a preços que não excedam os 12
a 26 mil dólares. Uma destas plataformas é, por exemplo, o robô
Nao [5], um robô humanóide (Figura 3) que tem sido utilizado
no desenvolvimento de equipes de futebol robótico (Robot Soc-
Figura 3. Jogadores de futebol nao na final do RoboCup 2009.
cer). O ambiente de desenvolvimento associado é o Gostai URBI.
Felizmente a aldebaran tem um ambiente de desenvolvimento
Para quem tem um orçamento mais limitado, vale a pena salientar
para “coreografar” o movimento deste robô.
sta fase,
o exclu- Enxames de robôs e redes ponto-a-ponto inteligentes
e uso de
ste tipo
putacio-
l apenas
o de fala
tes para
de com-
gentes.
possível
a capa-
umanos
teração
dotar os
em (isto Robô I-Swarm Enxame de robôs Symbrion
arefa ou
te que o Para que os robôs possam cooperar socialmente estes devem ter I-SWaRm e SWaRm-RoBoT [9], este último open source.
deremos alguma forma de comunicar entre si. Podem comunicar-se através • o projeto S-Bot desenvolvido na Escola Politécnica Federal de
uais este de uma central de comunicações, ou, em alternativa, criar redes Lausane (EPFL), Suíça [10].
de comunicação geridas de forma automatica utilizando a tecnolo-
adequa- os robôs Symbrion e S-Bots contêm hardware de processamento
gia das redes ponto-a-ponto.
no cesto bastante potente, com capacidade para processar o complexo
fio, pro- alguns robôs desenvolvidos neste contexto vieram a demonstrar-- software que os faz funcionar tão bem. os processadores em estu-
Robots” se extremamente complexos. os enxames atuais são relativamen- do para os vários robôs Symbrion incluem aRm7, aRm Cortex 11,
cos apa- te pequenos (dezenas a centenas de robôs). o projeto I-SWaRm XScale PXa270 (aRm10) e Blackfin. o S-Bot tem um processador
s proce- pretende instalar um enxame de milhares, ou mais, de minúscu- XScale a 400 mHz, 64 mB de memória Flash, 32 mB de memória
sso con- los robôs (que caibam num cubo de 3 mm de lado) [7]. alguns Ram e 12 microcontroladores PIC distribuídos, para a gestão de
xemplo projetos fascinantes que abordam o comportamento de enxames sensores e E/S de baixo nível.
cnologia incluem:
criatura o desenvolvimento de aplicações para estes robôs requer a utili-
• Symbrion-Replicator, que explora também a utilização de técni- zação de simuladores para explorar vários cenários antes de estas
munica-
acidade cas de sistemas imunitários artificiais para controlar o comporta- serem testadas em robôs reais.
sistindo mento dos enxames [8], e que é um desenvolvimento dos projetos
ais roda
edicados
eado em Bateria de íons de lítio 10 Wh
2 servos para garra
indows. 3 processadores PIC e motor de braço
om pes- sensor de garra Processador PIC sensor de tração 2D
e desen-
e vários XScale Linux Câmera omnidireccional
WiFi
ilhantes 400 MHz 8 LEDs RGB
rabalho 64 M RAM 2 alto-falantes Processador PIC
(CompactFlash) sensores de luz
e 25 mil 4 microfones
met fosse Processador PIC 15 sensores
preende inclinômetro de 3 eixos de proximidade
Processador PIC 2 sensores de temperatura
e humidade 4 sensores
Processador PIC
sensores de garra de proximidade
ao chão
m equipe motor de elevação
ambien- 3 processadores PIC motor de rotação controle de
m os 12 motor de garra 2 processadores PIC tração diferencial
, o robô DC/DC
utilizado 100013 - 11
Barramento I 2C
bot Soc-
ai URBI.
Diagrama de blocos de um S-Bot.
salientar
mplexos e de ambiente de desenvolvimento (Framework) precisa ter em priadas. Quanto maior for o fluxo de dados, e número de fontes de
ram ser mente a velocidade e possibilidade de expansão (escalabilidade) sinal, mais complexo terá de ser o software para o processamento.
s e brin- pretendidas para o sistema, de forma a obter uma ótima solução, Para sistemas com poucos sensores e cujas tarefas são simples
nos exi- ou talvez apenas apropriada. Por exemplo, no campo do processa- uma aproximação baseada em máquinas de estado finitas FSM
missivos mento de imagem as diferenças entre software que consegue dis- (Finite State Machines) ou nas mais complexas FSM estendidas, FSM
ducação tinguir entre balões de várias cores, software que consegue reco- hierárquicas ou gráficos de estado pode ser suficiente. As máqui-
Keepon nhecer matrículas ou software de reconhecimento de expressões nas de estado podem ser modeladas utilizando ferramentas UML
edido no faciais são muito significativas. De igual forma, a complexidade (Case Tools), sendo que algumas destas ferramentas permitem a
do reconhecimento de voz varia amplamente conforme se trate criação de código para as máquinas de estado. Um bom exem-
de reconhecer algumas dezenas de palavras ou de manter uma plo é o programa IAR Visual State, destinado sobretudo aos pro-
conversa racional e interessante. jetistas de sistemas embarcados que se foquem na utilização de
mpos da Para sistemas robóticos móveis a plataforma de locomoção e diagramas de estado para o projeto das suas soluções. Para siste-
mágica” navegação é um subsistema essencial. No nível mais simples mas mais complexos existem muitas soluções possíveis [6] para
a cons- podemos encontrar os robôs capazes de seguir linhas ou sair de desempenhar algumas subtarefas, como transformações, extra-
Muitos labirintos. Num nível acima temos os robôs capazes de explorar, ção de características, reconhecimento de padrões ou fusão de
comum aprender e navegar num dado ambiente, como por exemplo os sensores.
apenas robôs que participam na competição Trinity College Fire Fighting Aqui, você poderá encontrar técnicas como o processamento digi-
ojetar e Robot Competition. E num nível ainda mais avançado temos os tal de sinais, reconhecimento de padrões estatístico e sintático,
ontrário robôs como o NASA Mars Explorer, ou os robôs que competem na utilizando, por exemplo, redes Bayesianas ou modelos de Markov
amente) prova de veículos autônomos da DARPA. não observáveis HMM (Hidden Markov Models), análise discrimina-
a enge- Os sensores e subsistemas que normalmente equipam robôs autô- tiva (discriminant functions), árvores de classificação e regressão
o aque- nomos tipicamente incluem: CART (Classification and Regression Trees), redes neurais, algorit-
na ideia • Sensores de contato ou toque (bump sensors). mos genéticos, sistemas imunitários artificiais, assim como várias
ra que a • Sensores de medição de distância baseados em sonar ou laser. abordagens mistas baseadas em combinações das técnicas já men-
apenas • Compasso digital e GPS. cionadas (por exemplo, a utilização de um algoritmo genético para
ma ope- • LEDs e fotodiodos para seguimento de linhas. evolução de uma rede neural). Estas técnicas podem ser imple-
e extre- • Subsistema de hodometria (utilizando, por exemplo, codifica- mentadas de forma adaptativa ou não-adaptativa, isto é, estática.
mas ope- dores ópticos). O desenvolvimento de software para sistemas robóticos tem
elulares. • Câmaras CCD. muito em comum com o software de simulação, jogos, sistemas
onfiável, • Sensores de imagem infravermelhos. de entretenimento e programas para transações eletrônicas. A
bô pode • Subsistema de radar. simulação pode inclusive ser utilizada para explorar as capacidades
do robô antes deste ser construído, ou para explorar vários cená-
atentes, Os sinais provenientes de todos estes vários sensores e subsiste- rios de aplicação antes deste ser posto em ação. É perfeitamente
ama (ou mas devem ser coordenados de modo a gerar todas as ações apro- razoável projetar robôs que existem apenas como software em
xtrema- execução em poderosos computadores, ou numa rede de compu-
torizado Referências tadores ligados através da Internet. Entre os robôs deste gênero
ntar que podemos encontrar hoje em dia chatterbots, capazes de estabe-
[1] Forbes, nancy; “Imitation of Life, How Biology is Inspiring
rocessa- lecer um diálogo através de texto, robôs associados a jogos ou a
Computing”, mIT Press, ISBn 0-262-06241-0 (Pbk) (2005).
emas, e plataformas de comércio eletrônico.
oftware [2] adamatzky, andrew; Komosinsky, maciej; “artificial Life Ao providenciar acesso a recursos semânticos na Internet, tais
m algu- models in Hardware”, Springer, ISBn 978-1-84882-529-1, como repositórios de conhecimento ricos em ontologia, disponí-
mas hard (2009). veis como serviços web, é fácil ver como as capacidades destes sis-
um bug temas robóticos podem ser expandidas. Se a isto somarmos sen-
[3] Crangle, Colleen; Suppes, Patrick; “Language and Learning
m dado sores e redes ad-hoc inteligentes é possível prever o aparecimento
for Robots”, CSLI Publications, ISBn 1-881526-19-4, (1994).
to. de comunidades de robôs com capacidades de auto-organização
contor- [4] www.ai.mit.edu/projects/humanoid-robotics-group/kismet/ diversas. Adicionando ainda a possibilidade dos robôs interagirem
vimento kismet.html com sistemas biológicos (matrizes de eletrodos implementadas
o pode- [5] www.aldebaran-robotics.com/en no cérebro dos animais, ou eletrodos superficiais capazes de cap-
ce). Um tar sinais relacionados com a atividade neura) é possível imaginar
obô PR2 [6] Duda, Richard, o; Hart, Peter, E; Stork, David, G; “Pattern In- todo o tipo de aplicações, das quais os membros artificiais são
utilizada terscience, ISBn 0-471-05699-3 (2001). apenas um ponto de partida. E as descobertas recentes no campo
m que o [7] http://rob.ipr.kit.edu/english/research.php das células estaminais, biologia molecular e engenharia genética
cesso de fazem prever o desenvolvimento de sistemas computadorizados
[8] www.symbrion.eu/
com extensões biológicas. As preocupações éticas associadas ao
[9] www.swarmrobot.org/ desenvolvimento e utilização deste tipo de tecnologias são mui-
[10] http://lis.epfl.ch/research/projects/SwarmBots/index.php tas e complexas.
promis- (100013)
oritmos Artigo original: SuperRobots – April 2010
Grão a
Os consumidores estão cada vez mais cientes do consumo de produção de CO2. Algumas contas simples podem-no demons- A histór
energia dos dispositivos elétricos e eletrônicos. O fato de uma trar. O senhor José, por exemplo, que vive em Faro, é uma pessoa fábrica c
geladeira, máquina de lavar ou máquina de secar roupa ter uma econômica que pretende adquirir uma nova máquina de lavar. um hom
etiqueta verde (A) ou amarela (D) já não é um mero detalhe na Estando atento à sua (sempre) crescente conta de eletricidade, mentas
especificação, mas um critério de compra relevante. As coloridas ele pretende escolher cuidadosamente um eletrodoméstico que cerca de
etiquetas trouxeram para a ordem do dia a questão da eficiência consuma menos de 0,9 kWh para uma lavagem normal, o que cor- tabiliza o
energética, que atualmente está presente na decisão de quem responde a uma classificação de eficiência A. entre fá
compra.
Contudo, ele provavelmente não se lembra que a máquina já via- A fabric
A União Europeia está considerando estender a indicação de efi- jou uma distância considerável. Do porto na China até ao porto porcent
ciência energética de modo a incluir também o consumo em de em Portugal, e daí até o comercio onde vai ser vendida, sendo cionar 5
repouso [1], em particular nos dispositivos eletrônicos domésti- este último trecho provavelmente percorrido em um caminhão. assim co
cos. E em boa hora o faz, uma vez que o consumo de todos os dis- É claro que este caminhão transporta também outros eletrodo- feitos os
positivos em modo de repouso no Reino Unido, por exemplo, é mésticos. Para manter as coisas mais simples, vamos assumir que fósseis,
comparável à energia produzida por uma central elétrica a carvão. a máquina representa 1% da carga do caminhão, e que a viagem do da te
gasta 150 litros de óleo diesel. Vamos fazer a mesma consideração E podem
Exemplos para a viagem da fábrica até ao porto na China, e para a viagem do culos e m
Contudo, queremos analisar com mais detalhe o nosso orça- barco consideramos o dobro desta quantidade. transpo
mento energético. A simples compra de vários eletrodomésticos seu cust
para equipar uma casa tem um custo significativo em termos de Mas este não é o fim da história. O Sr. José também fez uma via- de lavar
Grão a grão…
emons- A história ainda não está completa. A montagem da máquina numa
a pessoa fábrica chinesa demora aproximadamente um dia de trabalho de
de lavar. um homem. A energia utilizada na iluminação, máquinas e ferra-
icidade, mentas pode ser estimada, com uma amortização considerável, em
tico que cerca de 4 kWh. A fabricação dos componentes provavelmente con-
que cor- tabiliza outros 8 kWh, e o transporte desses mesmos componentes,
entre fábricas, contabiliza outros 5 litros de combustível.
dução e transporte de combustíveis, fabricação de poços de petró- também estudos que estimam os efeitos dos óxidos nítricos e
leo, das centrais elétricas, …, a lista continua. outros gases no ambiente, e como tal na esperança média de vida
[2a][2b]. Estes impactos podem ser medidos como custos, permi-
Orçamento energético tindo uma comparação direta entre as várias fontes de energia.
Qual é afinal de contas o orçamento final em termos de CO2 asso-
ciado ao tempo de vida de um eletrodoméstico? Em primeiro lugar Conclusão
contabilizamos os vários valores já mencionados, 700 kWh de ele- De volta à máquina de lavar: embora a utilização durante o seu
tricidade para operar a máquina, 50 kWh de eletricidade para a sua ciclo de vida ocupe efetivamente a quota mais significativa de
fabricação e um total de 50 litros de combustível para o transporte. emissões de CO2 (cerca de 350 kg), a quantidade envolvida na
Este último elemento é fácil de estimar, uma vez que a queima de produção, transporte e posterior eliminação está longe de ser
um litro de óleo diesel produz aproximadamente 2,6 kg de CO2. desprezível (cerca de 200 kg, de acordo com os nosso cálculos).
E quanto CO2 é produzido ao gerar um quilowatt-hora de eletri- Para eletrodomésticos menores esta parcela torna-se ainda mais
cidade? A energia elétrica que está disponível em nossas casas é significativa. O mesmo se aplica a eletrodomésticos já pensados
gerada de muitas formas diferentes. Como certamente já sabe, tendo em conta considerações de economia de energia, embora
temos que ter em conta não apenas o gás, carvão ou água para os esforços nesta área continuem sendo perfeitamente válidos. Se
produzir eletricidade, mas também o impacto na produção de CO2 de fato queremos ter uma atitude pró-ativa para resolver os pro-
associado à construção e posterior encerramento dessa central elé- blemas do ambiente, podemos começar por considerar se efetiva-
trica (consulte a caixa). O equilíbrio entre os vários combustíveis uti- mente precisamos comprar um novo computador, leitor de DVD
lizados varia bastante de país para país, mas a geração e transmissão ou câmara digital a cada dois anos.
de 1 kWh de energia gera aproximadamente 0,5 a 0,6 kg de CO2. (070800-1)
Os números na China são algo diferentes, dado o grande número
de centrais elétricas alimentada a carvão de muito baixa eficiência. Artigo original: Life Cycle Considerations – March 2010
Mesmo na Europa há ainda centrais elétricas cuja emissão de CO2
por kWh ronda os 1,3 kg. Internet
[1] http://re.jrc.ec.europa.eu/energyefficiency/html/standby_initia-
Naturalmente, o impacto ambiental de gerar um quilowatt-hora tive.htm
não é limitado às emissões de CO2, basta lembrar as enormes (e [2a] www.needs-project.org
altamente controversas) centrais hidroelétricas na China. Existem [2b] www.externe.info
as instalações solares de maiores dimensões permitem “anular” as emissões de Co2 resultantes da sua fabricação, transporte e instalação num menor número de anos
(foto: ministério federal do ambiente alemão / Brigitte Hiss).
66 10-2010 elektor
09 de novembro
2010
Mais de 14 cursos
diferentes em
6 aulas de
simultâneas novotel center norte
Inscrições
abertas
Ferramentas com PICDEM Touch Sense 2 até 22/10/2010
desconto.
Exclusivo para
os participantes
dspicdem
tm
mclv MPLAB® ICD 3 Probe
development board
Representante Exclusivo
Consulte nossa rede de distribuidores autorizados:
The Microchip name and logo, PIC and PICmicro are registered trademarks and Microchip are trademarks of Microchip Technology Inc. in the U.S.A. and other countries. All other trademarks are property of their respective owners. ©2010 Microchip Technology Inc. All rights reserved
Novo!
Assista nosso Webcast “Cookbook” de Designs de Referência LED
13 novos designs foram adicionados! Agora
Soluções da Texas Instruments são 30 designs de referência para projetos
para Iluminação a LED no endereço: gerais, automotivos e backlight.
Acesse
www.ti.com/ww/br/seminarios_web_2010.htm www.ti.com/ww/en/analog/led/slyt394a.pdf
para baixá-lo!
Texas Instruments: www.ti.com/brasil - email: [email protected] - tel 0800-891-2616 Distribuidores: Arrow (11) 3613-9300
Avnet (11) 5079-2150; Farnell Newark (11) 4066-9400 Desenvolvedores (3rd Parties): www.ti.com/wwdevelopers e www.ti.com/brasil3p
The platform bar is a trademark of Texas Instruments. © 2010 TI