Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
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 - pedro.lemos@editorialbolina.com
EDITOR INTERNACIONAL
João Martins
Índice
GERENTE GERAL
Benedito Gonçalves
PUBLISHER
Victor Hugo Visval Piiroja
victor.piiroja@editorialbolina.com
DIREÇÃO EDITORIAL
Fernando Gaio
fernando.gaio@editorialbolina.com
DIRETOR FINANCEIRO
Márcio Reginaldo - marcio.reginaldo@editorialbolina.com
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
isa2010@brazilautomation.com.br
-
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