Escolar Documentos
Profissional Documentos
Cultura Documentos
Campinas
2014
i
ii
Universidade Estadual de Campinas
Faculdade de Engenharia Elétrica e de Computação
Campinas
2014
iii
v
vi
Resumo
vii
viii
Abstract
ix
x
Conteúdo
1 Introdução e Problemática 1
1.1 Consumo energético sob perspectiva histórica 1
1.2 A equação de impacto humano 6
1.3 Matriz Energética Global 9
1.4 Energia Elétrica no Brasil e no Mundo 11
1.5 Incentivos ao consumo de combustíveis fósseis 12
2 Energia Eólica 14
2.1 Histórico 14
2.2 Energia Eólica no Brasil e no Mundo 15
2.3 Inserção deste projeto de mestrado 16
2.4 Características do Recurso Eólico 16
2.5 Potencial de Recurso Eólico 17
2.6 Turbulência 19
2.7 Fluxo laminar e sua variação com a altitude 19
2.8 Estimativas de recurso eólico 21
2.9 Dados para análise de recursos eólicos 23
xi
3.9 Interface com usuário 63
3.10 Montagem 63
4 Testes e Validação 67
5 Conclusão 73
xii
Aos que viverão de nosso legado.
xiii
xiv
Agradecimentos
Agradeço,
ao Senhor, doador da vida, origem e fim de toda arte, filosofia e ciência.
à minha esposa Cláudia, meus pais Dina e Paulo e meu irmão Denis pelo seu suporte e incentivo
ao prosseguimento deste trabalho.
ao prof. Yaro Burian Jr. pelos diversos anos de prestigiosa orientação e paciência.
aos professores: Ana Cristina Lyra, César José Pagan, Romis Attux e Fabiano Fruett, pelo
apoio na qualificação deste trabalho e nos valorosos cursos oferecidos.
ao prof. José Teixeira Filho e ao sr. Sérgio Lopes, ambos da FEAGRI, sempre prestativos e
fundamentais para a instalação fı́sica deste trabalho em campo.
aos membros da banca examinadora pelos comentários e contribuições que ajudaram a melhorar
a qualidade e o texto deste trabalho.
ao prof. Charles Elworthy da Universidade de Oxford e Universidade de Szczecin pelas valorosas
discussões e oportunidade de dar prosseguimento aos trabalhos da fundação Bhuu.
aos colegas de trabalho Leonardo Tamura, Daniel Berners, Décio Rocha, Alex Massadi e Con-
rado Almeida pela incentivo e flexibilidade dadas para a realização desta empreitada.
à FEEC/UNICAMP, pela estrutura e oportunidade de realizar um trabalho independente.
ao CEPAGRI pelos dados de sua estação meteorológica.
à CAPES/MCT pelo portal de periódicos eletrônicos, que permite o acesso rápido e eficiente ao
conhecimento cientı́fico.
xv
xvi
A luz solar é uma forma de energia, vento e as cor-
rentes marı́timas manifestações desta energia. Fa-
zemos uso delas? Ah, não! Nós queimamos flores-
tas e carvão, como inquilinos queimando a porta de
nossas casas para nos aquecer. Nós vivemos como
colonos selvagens e não como se esses recursos nos
pertencessem.
Jeffrey D. Sachs
xvii
xviii
Capı́tulo 1
Introdução e Problemática
1
Quadro 1.1: Crescimento do consumo de energia humano desde a pré-história. Adaptado de [4],
p. 5
Perı́odo População Cresc. Mé- Consumo Cresc. Mé-
(Bilhões) dio (%/a) diário per dio (%/a)
capita
(kWh/dia)
300.000 a.C. 2,9
100.000 a.C. 5,0 < 0,001
5.000 a.C. c. 0,1 9,4 < 0,001
0 0,3 0,04
1850 a.D. 1,3 0,08 12 0,004
1980 a.D. 4,4 0,94 51 1,1
2000 a.D. 5,0 1,6 230 7,5
ser usado em bens perecı́veis, nos cercamos de conforto baseado extensivamente em quantidades
abundantes e sempre crescentes de energia. De fato entidades como o IEA (International Energy
Agency) foram criadas à luz da manutenção da segurança energética como pilar fundamental
do capitalismo moderno num contexto de crise energética do final dos anos 1970.
Além desta volatilidade do preço do barril de petróleo após 1979, das décadas de 1950 a
1980 o contexto da guerra fria e a perspectiva de uma eventual guerra nuclear aterrorizaram o
imaginário público – certamente de maneira midiática e exagerada, mas não sem fundamento.
Contudo, as gerações do século XX e XXI lidarão com uma ameaça aparentemente muito mais
simples que esta, mas infinitamente mais complexa politicamente: nossa matriz energética é a
causa direta do atual e futuro aquecimento das temperaturas médias da superfı́cie terrestre. Este
fato singular tem inúmeras implicações e retroalimentações ainda não perfeitamente modeladas
como mudanças de correntes marı́timas, padrões migratórios, adaptação de culturas de plantio,
elevação dos nı́veis marı́tmos, desequilı́brios ecológicos, migrações humanas em massa e possı́veis
desabastecimentos de diversas commodities.
De fato vivemos em um momento de definição único. Temos um desafio duplo de segurança
energética e alterações climáticas globais que se não tratado de maneira apropriada, pode levar a
uma grande e duradoura instabilidade global nas décadas seguintes do século XXI, especialmente
após o marco de 2050.
Historicamente é inocência acreditar que vivemos em tempos livres de turbulências e conflitos
de todas as naturezas, afinal os interesses estratégicos das nações, muitas vezes conflitantes,
continuam os mesmos, e também são os mesmos os seus meios de alcançá-los. Ainda que estes
sejam alterados pela tecnologia, e que passemos por um movimento aglutinador ao redor de
grandes blocos como o NAFTA, a UE, Mercosul e a APEC, forças econômicas, culturais e
bélicas continuarão a moldar nossa estrutura polı́tica global de maneira não muito distinta da
época de Alexandre, Ciro, Cæsar ou Nabucodonosor.
Se na era clássica assegurar commodities alimentares era fundamental para as grandes civili-
zações, hoje isso não deixou de sê-lo, mas diversos outros interesses nacionais foram agregados.
Dentre eles, a segurança energética se destaca por sua intrı́nseca volatilidade e recente inser-
ção na pauta de prioridade dos lı́deres globais, principalmente a partir de 1979. Não somente a
Capı́tulo 1. Introdução e Problemática 3
manutenção do estilo de vida civil ocidental, mas o próprio conceito de guerra seria hoje inimagi-
nável sem grandes quantidades de energia.1 Somada a ela, o aquecimento global em decorrência
da emissão de Gases de Efeito Estufa (GEE) agravou a problemática energética por introduzir
condições de contorno que se não observadas, poderão gerar consequências catastróficas para o
planeta.
Alguns dados e gráficos usados nesta introdução são extrapolações das tendências atuais
muitos anos à frente. Obviamente a história mostra que movimentos sociais são dinâmicos e
dificilmente poderı́amos supor a composição energética e populacional de hoje cinqüenta anos
atrás. Apesar disso, como diz o relatório das Nações Unidas sobre Populações Mundiais [3],
ver tais gráficos é como tirar conclusões após 5 minutos de um jogo de basquete ou futebol: o
resultado não está certo, mas podemos ver os erros e acertos do time, e o que devemos fazer
para que ele vença. Procurar contribuir, mesmo que de maneira muito pequena, para o legado
futuro da relação do homem com a energia é o objetivo deste trabalho.
Houve diversas e subseqüentes tentativas endereçar o problema sistemicamente, dentre as
quais podemos citar a ECO92 no Rio de Janeiro e as conferências de Kyoto e de Kopenhagen. O
mais recente acordo, firmado em Kopenhagen, assumiu um objetivo de estabilizar a concentração
de CO2 atmosférico a um máximo de 450 ppm, o que representa cerca de 2 C de aquecimento
global médio em relação aos nı́veis pré-industriais ([1], p. 45). Entretanto não foi criado um
mecanismo supra-nacional que garanta o cumprimento destes compromissos, sendo estes somente
garantias voluntárias fracas dos paı́ses signatários dos acordos. Ainda mais alarmante é o fato
de que ainda que cumpridos, os compromissos individuais dos paı́ses signatários em Kopenhagen
quando somados não atingem este objetivo de 450 ppm.
A Figura 1.1 mostra a composição atual de geração de energia por fonte energética e as pro-
jeções do International Energy Association (IEA) para 2020 e 2035 no cenário que se contempla
a introdução novas polı́ticas energéticas moderadas, chamado de Cenário de Novas Polı́ticas
(NPS ou New Policy Scenario). O IEA além deste cenário adota dois outros: o de polı́cias atu-
ais inalteradas (Current Policies Scenario ou CPS) e o cenário com maiores alterações polı́ticas,
caso todos os estados nacionais se comprometessem a manter o limite de 450 ppm CO2 -eq, o
(Cenário 450 ou 450S).
É cada vez mais patente a impossibilidade de cumprirmos esta meta de 2 C de aquecimento
global em relação aos nı́veis pré-industriais ao final deste século sem modificarmos o nosso
paradigma atual de consumo energético baseado em combustı́veis fósseis e ineficiência de seu
consumo. Lembremos que o limite de 2 C é aceito como o gatilho para o inı́cio alterações globais
mais profundas como alterações de regimes de chuvas, correntes marı́timas, padrões de plantio,
polarização dos extremos de secas e inundações, redução da segurança hı́drica, aumento do nı́vel
dos mares e grandes deslocamentos humanos a partir de grandes regiões costeiras alagáveis.
Para atingir deste objetivo de 450 ppm, terı́amos que assumir medidas mais restritivas a
partir de 2020 ([1], p. 45), especialmente nas economias emergentes, uma vez que os dados
preliminares de 2009 sugeriram que neste ano a China ultrapassou os EUA como o maior usuário
1
Um dos grandes fatores que levaram à derrota do eixo foi seu estrangulamento energético. Embora os
alemães tivessem tecnologia de transformar carvão mineral em óleo combustı́vel através do dispendioso processo
de Fischer–Tropsch, isso não foi o suficiente para suprir as suas necessidades energéticas da máquina de guerra.
já sobre-explorados midiaticamente. Nem por isso eles são irrelevantes ou irreais. É lamentável
que apesar de toda exploração midiática e mercadológica, o processo de mudança de polı́ticas
energéticas seja tão vagaroso. A euforia brasileira do pré-sal nos mostra essa falta de com-
promisso com uma polı́tica energética consistente com nossos padrões históricos marcados por
produção hidroelétrica e busca por alternativas renováveis como o etanol e o biodiesel.
1. População P – Para dado grupo de controle, o número de indivı́duos que habita nesta
região
1.2.1 População – P
Se a população em nações com maior renda tende a se estabilizar nas próximas décadas –
incluso no Brasil – o mesmo não é verdadeiro das nações mais pobres, especialmente na África.
Com uma população global estimada de cerca de 8,9 Bilhões de pessoas em 2050, a maior
concentração terrestre será na África e Ásia dadas as altas taxas de crescimento populacional
daquele continente e a atual população deste, que já soma mais de 3 bilhões de pessoas.
Historicamente as curvas populacionais tendem a seguir 4 fases distintas na curva de desen-
volvimento econômico e social, como podem ser vistas na Figura 1.5:
1. Quando a nação ainda é pobre, ela possui alta taxa de natalidade e alta taxa de mor-
talidade, gerando um crescimento vegetativo pequeno. A lógica por trás da alta taxa de
natalidade está intimamente relacionada à garantia do casal de seu sustento na velhice,
mesmo que muitos filhos venham a falecer. No campo, a prole numerosa também sem-
pre foi vista como positiva pela contribuição dos filhos trabalho agrı́cola e baixo custo de
criação. Este é o estágio de algumas partes mais pobres da África hoje.
Capı́tulo 1. Introdução e Problemática 13
reconhecendo os desafios que se apresentam às populações afligidas pela escassez energética,
comprometemo-nos a:
- Racionalizar e eliminar gradualmente, no médio prazo, os subsı́dios ineficientes aos com-
bustı́veis fósseis que promovem o consumo com desperdı́cio.
(...)
31. Aumentar a oferta de energia limpa e renovável, melhorar a eficiência energética e
promover a conservação de energia constituem medidas cruciais para proteger o meio ambiente,
fomentar o crescimento sustentável e enfrentar a ameaça representada pela mudança do clima. A
rápida adoção de tecnologias energéticas limpas e renováveis e de medidas de eficiência energética
diversifica nossas fontes de energia e fortalece nossa segurança energética. Comprometemo-nos
a:
- Estimular investimentos em energia limpa e renovável e em eficiência energética, bem como
fornecer apoio técnico e financeiro a projetos dessa natureza nos paı́ses em desenvolvimento.
- Adotar providências para facilitar a difusão ou transferência de tecnologias de energia
limpa,incluindo a condução conjunta de pesquisas e o desenvolvimento de capacidades. A redu-
ção ou eliminação de barreiras ao comércio e os investimentos nessa área vêm sendo discutidos
e devem ser buscados voluntariamente nos foros apropriados.
32. Como lı́deres das maiores economias do mundo, estamos trabalhando em favor de uma
recuperação econômica duradoura, sustentável e verde. Sublinhamos nossa determinação reno-
vada de enfrentar a perigosa ameaça da mudança do clima.
Capı́tulo 2
Energia Eólica
2.1 Histórico
A energia eólica é aproveitada pelo homem há milênios na navegação. O primeiros registros
históricos de moinhos de vento datam de aproximadamente 900 A.D. pelos Persas[7]. Na Europa
seu uso data da idade média, mas a após o inı́cio da revolução industrial sua importância relativa
foi diminuı́da pois sua energia não é facilmente transportada e despachada como a dupla carvão-
vapor.
Até o advento da revolução industrial houve uma evolução nas técnicas de construção de
moinhos, culminando nos tı́picos modelos “smock mill”, nos quais somente a parte superior era
rotatória.
O inglês John Smeaton fez grandes contribuições ao estudo cientı́fico do aproveitamento
eólico, e estruturou as três propriedades fı́sicas fundamentais da energia eólica – na verdade
derivada da mecânica de fluidos:
1
Figura 2.1: Tamanho de turbinas e seus anos de lançamento[6]. O diâmetro do rotor varia de
15m em 1981 a 90m em 2002
P̄ 1
= ρŪ 3 Ke (2.7)
A 2
no qual P̄ é a média anual de velocidade eólica e Ke é o fator de padrão energético, dado
por
N
1 X 3
Ke = Ui (2.8)
N Ū 3 i=1
no qual Ui são médias horárias e N é o número de horas consideradas, tipicamente 8760
(número de horas em um ano). Valores consideráveis para instalações eólicas são de P̄ /A ≥
400W/m2 .
2.6 Turbulência
As turbulência são causadas por perturbações no perfil de fluxo laminar e consequentes
redemoinhos ou eddies que têm diferentes tamanhos e convertem a energia cinética em energia
térmica.
Os impactos da turbulência na aferição do fluxo laminar podem ser vistos como uma função
de densidade de probabilidade sobre a velocidade média Ui com uma intensidade de turbulência
T I (Turbulence Intensity), medida tipicamente em um intervalo de dez minutos, de acordo com
q P NS
1 2
σu NS 1 i=1 (ui − U )
TI = = (2.9)
U U
sendo N o número de medições ui de velocidade de vento; medições realizadas ao menos a
1Hz. Como nossa estação meteorológica utilizada não fornece dados a essa velocidade, a medição
de turbulência não é possı́vel, e pode somente ser inferida imprecisamente através da velocidade
máxima de rajadas, que é um dos parâmetros informados pela WH-1080.
Além do parâmetro geral de intensidade de turbulência T I, a turbulência também pode ser
expressa como uma função densidade probabilidade normal (ou Gaussiana), que fazendo uso do
desvio padrão σu é
(u − U )2
1
p(u) = √ exp − (2.10)
σu 2π 2σu 2
Também há interessantes análises da turbulência como superposições de senóides de diferen-
tes frequências e análise de autocorrelação, mas elas fogem do escopo deste trabalho.
Existem duas maneiras principais de se estimar o perfil eólico para altitudes superiores às
medidas por anemômetro: a lei de log e a lei de potências.
∂p ∂
= τxz (2.11)
∂x ∂z
sendo que τxz é a tensão de cisalhamento entre planos xy.
Como a pressão perto da superfı́cie não depende de z, integrando a equação obtém-se
∂p
τxz = τ0 + z (2.12)
∂x
Como o gradiente de pressão no eixo x é pequeno perto da superfı́cie, também podemos
descartar o segundo termo à direita.
Ora, de acordo com a teoria de mistura de comprimentos de Prandtl, a tensão de cisalha-
mento também pode ser dada por
✓ ◆
2 ∂U
τxz = ρl (2.13)
∂z
Uma vez combinando as duas últimas equações temos
1 U⇤
r
∂U τ0
= = (2.14)
∂z l ρ l
onde U ⇤ é a fricção à velocidade.
Se a superfı́cie não é rugosa, pode-se assumir que l = kz, com k = 0, 4 (constante de von
Karman), e assim a equação anterior pode ser integrada de z0 a z, na qual z0 é o comprimento
da rugosidade da superfı́cie, perfazendo
✓ ◆
U⇤ z
U (z) = ln (2.15)
k z0
que é conhecida como o perfil logarı́tmico eólico.
A integração é feita a partir de z0 e não zero pois as superfı́cies sempre apresentam rugosi-
dades, mostradas na Tabela 2.1
A última equação pode ser escrita como
k
ln(z) = U (z) + ln(z0 ) (2.16)
U⇤
a partir da qual com dados experimentais se pode determinar os parâmetros U ⇤ e z0 . Essa
lei é tipicamente utilizada para determinar as relações entre U a diferentes alturas
⇣ ⌘
z
U (z) ln z0
fc = = ⇣ ⌘ (2.17)
U (zr ) ln zr
z0
A equação 2.17 foi utilizada em nossos cálculos para, a partir de medições a 5m de altura,
comprimento médio de rugosidade z0 de 0,1m (árvores esparsas) e altura de hub de 100m
obter fc = 1.7658 (fator de correção de velocidade de vento para a atual instalação da estação
meteorológica).
Uma maneira melhor de se realizar a estimação do fator z0 de rugosidade seria realizar duas
medições a diferentes alturas e assim deduzir z0 a partir da curva log de perfil de velocidade.
Dado o escopo limitado deste projeto essa medição a diferentes alturas não foi realizada, mas
pode ser um dos parâmetros adicionais interessantes para futuros trabalhos.
v v ( )
u N u N
u 1 X u 1 X
σU = t 2
(Ui − Ū ) = t Ui2 − N Ū 2 (2.21)
N −1 i=1
N −1 i=1
Figura 2.5: Potencial eólico na região nordeste do Brasil de acordo com o Atlas do Potencial
Eólico Brasileiro[8]
Para cada tipo de aferição eólica o instrumental utilizado assim como as alturas das torres
meteorológicas são diferentes. Embora a estação utilizada em nosso sistema não seja ótima
para nenhum dos casos citados e seja desenhada para uso amador, seu baixo custo e fácil
disponibilidade no mercado a fazem candidata para os propósitos deste trabalho. Caso seja
necessária maior precisão das aferições (vide Tabela 3.6 para precisão dos sensores da estação
WH1080), este trabalho poderia ser estendido para outros fabricantes e modelos com diferentes
excursões de valores, exatidão e precisão.
Embora geralmente para estimar recursos eólicos os anemômetros sejam instalados de 20 a
150m de altura, no nosso caso a estação foi instalada a 5m de altura, próxima às estações da
Embrapa e do Cepagri na Unicamp.
3.2 Hub
Para o hardware do hub foi aproveitado o desenvolvimento previamente disponı́vel e parci-
almente abandonado pelo projeto Bhuu6 , mas que carecia de firmware para seu funcionamento.
Este hardware é baseado no microcontrolador PIC32 de 32 bits. Ele possui também um
controlador CAN, um controlador ETHERNET7 um conector para cartões SD que podem ser
acessados via SPI8 . No hardware também está disponı́vel um módulo Zigbee, mas ele não foi
utilizado nesta fase do desenvolvimento do protótipo. Futuramente seria interessante ativá-lo
para que sensores possam se conectar ao hub sem a necessidade de fios.
1
Network Time Protocol
2
Common Gateway Interface
3
http://www.postgresql.org
4
http://www.vaadin.com
5
À época da publicação deste trabalho a interface com o usuário (UI) apresentava lentidão devido à grande
quantidade de pontos coletados. Uma nova versão dessa interface pode ser no futuro adaptada para essa quan-
tidade de dados. Todas as análises quantitativas deste trabalho foram feitas offline, independentemente da
UI
6
O projeto Bhuu é uma iniciativa sem fins lucrativos que tem como objetivo distribuir estações meteorológicas
em diversas regiões do globo e ser uma fonte independente de informações climáticas focada na interação do
grande público com a meteorologia através de redes sociais
7
O padrão ETHERNET geralmente é utilizado em conjunto com o popular padrão de “cabeamento azul”
CAT5.
8
Serial Peripheral Interface Bus
Capı́tulo 3. Sistema de aquisição de dados
1. as atividades da pilha USB e da Pilha TCP/IP, que são máquinas de estado que devem
ser executadas periodicamente.
2. Upload de dado instantâneo: esta rotina tenta enviar o instantâneo de todas as medições
periodicamente para o servidor. Caso ela não consiga enviar o pacote por algum problema
na conexão, ela irá guardar o dado em um arquivo local.
3. Upload de dado em arquivo: se houver um arquivo no hub e a conexão estiver ativa, esta
rotina enviará os dados deste arquivo para o servidor e em caso de sucesso da transmissão,
apagará os dados da memória.
4. Download de firmware: esta rotina faz o download de um novo firmware quando ele se
encontra disponı́vel no servidor do Bhuu. Um script deve ser atualizado no servidor para
que informe as estações de que uma nova versão de firmware está disponı́vel.
9
File Allocation Table
10
Transmission Control Protocol
11
Internet Protocol
12
Network Time Protocol
A comunicação é iniciada pelo circuito integrado mestre (no nosso caso o microcontrola-
dor) através da habilitação de um sinal de CS, e então é produzido um sinal de relógio em
SCLK dentro dos parâmetro aceitáveis pelos escravos (no nosso caso o cartão SD). A partir da
sequência de inicialização do cartão SD, é possı́vel haver dados trafegando em SDI e em SDO.
A transmissão se enc.a com a parada dos pulsos de CLK e suceptiva desativação do sinal de CS.
O sistema construı́do é capaz de ler cartões de memória SD (Secure Digital ). A leitura
e escrita é feita numa partição FAT32 ou FAT16 neles existente. São seis os sinais para a
comunicação entre o micro-controlador e o cartão de memória
A transmissão de dados o corre já descrita, com o acrécimo opcional dos sinais de detecção de
cartão CD e proteção de escrita WP, que detectam a inserção do cartão e impedem a gravação.
Esses sinais adicionais não foram utilizados.
As velocidades de transmissão do protocolo USB 1.1/2.0 são dadas pela tabela 3.3 (excluindo
os novos padrões USB 3.0 de alta velocidade que fogem ao escopo deste trabalho)
• PID – Packet ID: identifica o tipo de pacote sendo enviado. (Os valores possı́veis são
mostrados na Tabela 3.4). Estes 4 bits são então barrados (invertido) e retransmitidos,
totalizando 8 bits.
14
note que o PID de ERRo é de fato idêntico ao PID do PREamble
• CRC (opcional): 5 bits de CRC para verificação de erros (16 bits em pacotes de dados)
• EOP: Fim de pacote (End of Packet): Sinalizado por um SE0 (Single Ended Zero 15 ) de 2
bits, seguidos por um estado J por 1 bit. Em low speed o estado J é um “zero” diferencial,
enquanto em high speed este estado é um “um” diferencial.
Vemos na Tabela 3.4 quatro categorias de pacotes: Token, Data, Handshake e Special. A
seguir segue a descrição dos tipos de pacotes em cada uma destas categorias:
• Pacotes de Token
IN: o host quer ler informações do dispositivo
OUT: o host quer escrever informações no dispositivo
SETUP: utilizado para controlar o inı́cio de transmissão
• Pacotes de Handshake
ACK: Confirmação que o pacote foi recebido com sucesso
NAK: Informa que o dispositivo temporariamente não pode mandar nem receber
informações. Também utilizado para interromper transmissões
15
Neste estado o sinal diferencial D+ e D– tem um comportamento diferente do normal, no qual ambas as
linhas estão com o sinal em sua tensão mais baixa
ACK (dispositivo): é um handshake que determina recepção com sucesso. Caso houve
problema, o dispositivo deve ignorar
IN (host): Enviado quando o host quer receber dados do dispositivo. Este pacote
é seguido pelo pacote DATAx (dispositivo) e então ACK (host), quando o dispositivo
tem dados para enviar. Caso o dispositivo tenha problemas com o CRC ou o PID não
corresponde com o PID barrado, ele responderá com o pacote STALL (dispositivo). Caso
a transmissão do IN tenha sido bem sucedida mas o dispositivo não tem dados no buffer
para serem transmitidos, ele responde com NAK (dispositivo).
OUT (host): Enviado quando o host quer enviar dados para o dispositivo. Este
pacote é seguido pelo pacote DATAx (host). Quando a transmissão do OUT foi bem
sucedida, o dispositivo responde com um ACK (dispositivo). Quando a transmissão do
OUT foi bem sucedida, mas o dispositivo deseja que o host espere um pouco para enviar
o próximo pacote, o dispositivo responde com um NACK (dispositivo) para interromper
a transmissão. No caso de um erro na transmissão o dispositivo responde com um pacote
STALL (dispositivo)
• Estágio de STATUS: muito semelhante ao estágio de dados, mas o pacote DATA enviado
é DATA0 e seu tamanho é nulo. Esta estágio é utilizado para validar a transação como
um todo.
• idVendor e idProduct são também utilizados pelo sistema operacional do host para
encontrar o driver do dispositivo
• bcdDevice tem o mesmo formato do bcdUSB e pode ser utilizado pelo desenvolvedor
para alocar a versão do dispositivo
• iConfiguration: é um index para uma string contendo informações sobre esta configu-
ração
• bInterfaceNumber: Este valor deve se iniciar por zero e ser incrementado a cada nova
interface do dispositivo
• Todas as requisições devem ser respondidas pelo dispositivo USB em ao menos 5 segundos
• As requisições de Standard Device quando não no estágio de dados devem ser respondidas
em 50ms
• O comando SetAddress deve retornar o status em até 50ms, sendo que o dispositivo tem
2ms para mudar o seu endereço atual
No pacote de setup:
wakeup e self-powered.
Como o nome sugere, a requisição Set Address determina o endereço do dispositivo USB,
sendo os endereços válidos no intervalo [1..127].
Set Descriptor e Get Descriptor são utilizados pelo host para obter o device descriptor,
junto com todos os interface descriptors e endpoint descriptors.
Get Configuration e Set Configuration lêem e ativam diferentes configurações que do
dispositivo. Quando é feita uma requisição Get Configuration para o dispositivo, a resposta
será um valor não-nulo correspondente à sua configuração atual quando alguma delas estiver
ativa. Se nenhuma configuração estiver ativa, a resposta será zero. A mesma codificação de
configurações de dispositivos é utilizada pelo comando Set Configuration que ativa uma destas
configurações.
Nas Standard Endpoints Requests o campo wIndex é utilizado para definir o endereço do
endpoint que é parte do processo de comunicação (bits [0..3]) e também a direção da comunicação
(bit 7).
Capı́tulo 3. Sistema de aquisição de dados
O class code de bInterfaceClass é 3 para todos os dispositivos da classe HID. Como há muitos
tipos de dispositivos distintos com diferentes usos, o comitê de especificação decidiu não criar
uma subclasse para cada dispositivo, mas um mecanismo chamado de Report Descriptor, no
qual ao fazer sua enumeração, o dispositivo descreve quais os seus inputs e outputs para o host.
As únicas excessões são alguns teclados e mouses que têm subclasses separadas para utilização
durante os processos de boot, que historicamente têm mais limitação do tamanho do código.
O membro bInterfaceProtocol do Interface Descriptor HID só faz sentido se o bInterface-
SubClass especificar um dispositivo de boot, com o valor 1 para teclados e 0 para mouses. Caso
contrário, seu valor é 0.
Quadro 3.15: Subclasses do HID
Código Subclasse
0x00 Sem subclasse
0x01 Dispositivos de boot
0x02–0xFF Reservados
Quando o HID realiza a enumeração, um dos processos mais importantes é o envio destes
report descriptors. Ao contrário dos outros descritores, ele não é simplesmente uma tabela, mas
ele de fato descreve os campos que são enviados no HID, permitindo que o sistema operacional
do host possa interpretar os comandos mesmo sem ter um driver que tenha sido escrito especi-
ficamente para este dispositivo (veja Figura 3.15). Por exemplo um teclado que tenha também
a função de touchpad ou botões multimı́dia pode ter em seu report descriptor estas funções
adicionais especificadas.
Código Descrição
Usage Page (Generic Desk- Esta linha descreve que este dis-
top), positivo é relevante para o desk-
top. Ou seja, esta é uma descri-
ção genérica do dispositivo
Usage (Mouse), Esta linha nos diz que este dispo-
sitivo é um mouse
Collection (Application), Aqui se inicia a descrição de da-
dos que podem ser utilizados por
uma aplicação
Usage (Pointer), Esta aplicação pode utilizar estes
dados para contolar um ponteiro
na tela
Collection (Physical), Aqui se inicia a descrição de um
dado especı́fico. Neste caso, o bo-
tão esquerdo do mouse e a posição
relativa nos eixos X e Y
Report ID (0A), Faz as alterações em um Report
especı́fico, neste caso o 0x0A
Usage (X), Usage (Y), Diz ao host que os dados seguin-
tes estão se referindo respectiva-
mente ao eixo X e Y
Logical Minimum (-127), O mı́nimo lógico destes dados é
-127
Logical Maximum (127), O máximo lógico destes dados é
127
Report Size (8), São dados com 8 bits
Report Count (2), São dois dados
Input (Data, Variable, Input pois é uma entrada para
Relative), o host, Variable pois ela varia
no tempo e Relative pois os da-
dos são relativos a algum eixo, no
caso, os dados anteriores de posi-
ção
Logical Minimum (0), O mı́nimo lógico destes dados a
serem descritos é 0
Logical Maximum (1), O máximo lógico destes dados a
serem descritos é 1 (ou seja, são
binários)
Report Count (3), São três dados
Report Size (1), De um bit
Usage Page (Button Page), O host deve interpretá-los como
botões
Capı́tulo 3. Sistema de aquisição de dados
O dispositivo HID deve ter os pipes endpoint 0 e o Interrupt In definidos para suas comuni-
cações, enquanto o Interrupt Out é opcional.
As Figuras 3.16 e 3.17, assim como a Tabela 3.19 mostram as saı́das do programa USBLy-
17
ser , que é utilizado para fazer a interceptação de dados transmitidos pelas portas USB assim
como a análise de protocolo. Com o software fornecido junto com a estação instalado em um
PC, o USBLyser foi usado para interceptar essa comunicação, gerar relatórios e assim realizar
a engenharia reversa da comunicação USB com a estação.
Neles podemos ver na Figura 3.16a o device descriptor da estação meteorológica, e na Figura
3.16b o configuration descriptor e o interface descriptor. A Figura 3.17a nos mostra o report
descriptor HID que descreve os dados a serem enviados pela estação meteorológica, enquanto a
Figura 3.17b mostra os dados enviados pelo host à estação. Estes dados são usados pelo report
seguinte, mostrado na Figura 3.17c, que comanda a estação a usar o report da Figura 3.17b
como entrada para as saı́das que são finalmente enviadas em três relatórios de 8 bits semelhantes
à Figura 3.17d. Nestas saı́das estão finalmente os dados que estamos interessados: temperatura,
direção de vento, intensidade de vento e etc. Este processo também pode ser visto de maneira
sequencial na Tabela 3.19.
Com base nestas informações e também em código já existente, foi construı́do/adaptado um
driver USB que simula um host e permite que estas informações meteorológicas sejam capturadas
pelo hub.
Foi encontrado um documento na internet chamado “WH1080 EEPROM data definition”
(sem referência a autor), que traz alguma documentação a respeito da descrição do mapa de
memória da estação, mas o autor deste trabalho considera a documentação bastante incompleta.
Deste documento, sabemos que do endereço 0x0000 a 0x0100, há variáveis de configuração, assim
como dados históricos de mı́nimos e máximos da estação. A partir do endereço 0x0100 até o
endereço 0x1FFFF, temos dados em um buffer FIFO18 que armazena blocos de 16 bytes de
dados históricos das medições, sendo que os únicos dados de interesse para nós são os mais
recentes, justamente se iniciando na posição 0x0100. A descrição dos dados nos blocos está
17
Site: http://www.usblyzer.com/
18
First-in, first-out
Capı́tulo 3. Sistema de aquisição de dados
Seq Time Duration Request Request Details Raw Data I/O Status Comentários
A partir desta linha temos blocos iguais, varrendo incrementalmente 0x0020 bytes da memória da estação meteorológica a cada bloco – memória 0x0000 a 0x001F
130 21:37:30.380 Class Interface Set Report (Output len:8) A1 00 00 20 A1 00 00 20 out Dados são enviados para o endpoint 1 – co-
mando para a leitura dos 32 bytes iniciando
no endereço 0x0000 – (Figura 3.17c)
0133-0130 21:37:30.381 1.124 ms Control Transfer Set Report (Output len:8) out Success Comando é enviado para que os dados sejam
lidos do endpoint 1 e sejam processados (Fi-
gura 3.17b)
0135-0067 21:37:30.400 1.569731 s Bulk or Interrupt Transfer Input Report len:8 55 AA FF FF FF FF FF FF in Success Dados são lidos do dispositivo (Figura 3.17d)
136 21:37:30.400 Bulk or Interrupt Transfer 8 bytes buffer in
0139-0069 21:37:30.408 1.577645 s Bulk or Interrupt Transfer Input Report len:8 FF FF FF FF FF FF FF FF in Success Dados são lidos do dispositivo (Figura 3.17d)
140 21:37:30.408 Bulk or Interrupt Transfer 8 bytes buffer in
0143-0136 21:37:30.416 15.919 ms Bulk or Interrupt Transfer Input Report len:8 1E 20 02 20 09 00 00 00 in Success Dados são lidos do dispositivo (Figura 3.17d)
144 21:37:30.416 Bulk or Interrupt Transfer 8 bytes buffer in
0147-0140 21:37:30.424 15.957 ms Bulk or Interrupt Transfer Input Report len:8 00 7F 00 01 00 00 00 01 in Success Dados são lidos do dispositivo (Figura 3.17d)
148 21:37:30.424 Bulk or Interrupt Transfer 8 bytes buffer in
150 21:37:30.424 Class Interface Set Report (Output len:8) A1 00 20 20 A1 00 20 20 out Dados são enviados para o endpoint 1 – co-
mando para a leitura dos 32 bytes iniciando
no endereço 0x0020
0153-0150 21:37:30.426 1.260 ms Control Transfer Set Report (Output len:8) out Success Comando é enviado para que os dados sejam
lidos do endpoint 1 e sejam processados
0155-0144 21:37:30.440 23.951 ms Bulk or Interrupt Transfer Input Report len:8 94 27 65 24 00 00 00 00 in Success Dados são lidos do dispositivo
156 21:37:30.440 Bulk or Interrupt Transfer 8 bytes buffer in
0159-0148 21:37:30.448 23.889 ms Bulk or Interrupt Transfer Input Report len:8 00 00 00 07 01 01 12 02 in Success Dados são lidos do dispositivo
160 21:37:30.448 Bulk or Interrupt Transfer 8 bytes buffer in
0163-0156 21:37:30.456 15.989 ms Bulk or Interrupt Transfer Input Report len:8 41 23 C8 00 00 00 46 2D in Success Dados são lidos do dispositivo
164 21:37:30.456 Bulk or Interrupt Transfer 8 bytes buffer in
0167-0160 21:37:30.464 16.000 ms Bulk or Interrupt Transfer Input Report len:8 2C 01 64 80 C8 00 00 00 in Success Dados são lidos do dispositivo
168 21:37:30.464 Bulk or Interrupt Transfer 8 bytes buffer in
170 21:37:30.464 Class Interface Set Report (Output len:8) A1 00 40 20 A1 00 40 20 out Dados são enviados para o endpoint 1 – co-
mando para a leitura dos 32 bytes iniciando
no endereço 0x0040
0173-0170 21:37:30.465 1.131 ms Control Transfer Set Report (Output len:8) out Success Comando é enviado para que os dados sejam
lidos do endpoint 1 e sejam processados
0175-0164 21:37:30.480 24.012 ms Bulk or Interrupt Transfer Input Report len:8 64 00 64 80 A0 28 80 25 in Success Dados são lidos do dispositivo
176 21:37:30.480 Bulk or Interrupt Transfer 8 bytes buffer in
0179-0168 21:37:30.488 23.972 ms Bulk or Interrupt Transfer Input Report len:8 A0 28 80 25 00 B4 00 00 in Success Dados são lidos do dispositivo
180 21:37:30.488 Bulk or Interrupt Transfer 8 bytes buffer in
0183-0176 21:37:30.496 15.895 ms Bulk or Interrupt Transfer Input Report len:8 68 01 00 0A 00 F4 01 12 in Success Dados são lidos do dispositivo
184 21:37:30.496 Bulk or Interrupt Transfer 8 bytes buffer in
0187-0180 21:37:30.504 16.043 ms Bulk or Interrupt Transfer Input Report len:8 00 00 00 00 00 00 00 00 in Success Dados são lidos do dispositivo
188 21:37:30.504 Bulk or Interrupt Transfer 8 bytes buffer in
190 21:37:30.504 Class Interface Set Report (Output len:8) A1 00 60 20 A1 00 60 20 out Dados são enviados para o endpoint 1 – co-
mando para a leitura dos 32 bytes iniciando
no endereço 0x0060
0193-0190 21:37:30.505 1.218 ms Control Transfer Set Report (Output len:8) out Success Comando é enviado para que os dados sejam
lidos do endpoint 1 e sejam processados
0195-0184 21:37:30.520 24.063 ms Bulk or Interrupt Transfer Input Report len:8 00 00 47 1C 63 0B 4D 01 in Success Dados são lidos do dispositivo
196 21:37:30.520 Bulk or Interrupt Transfer 8 bytes buffer in
0199-0188 21:37:30.528 23.898 ms Bulk or Interrupt Transfer Input Report len:8 C3 00 1E 01 0A 81 1E 01 in Success Dados são lidos do dispositivo
200 21:37:30.528 Bulk or Interrupt Transfer 8 bytes buffer in
0203-0196 21:37:30.536 15.932 ms Bulk or Interrupt Transfer Input Report len:8 0A 81 EE 00 01 00 91 24 in Success Dados são lidos do dispositivo
204 21:37:30.536 Bulk or Interrupt Transfer 8 bytes buffer in
0207-0200 21:37:30.544 16.107 ms Bulk or Interrupt Transfer Input Report len:8 F1 23 1B 28 4A 27 00 00 in Success Dados são lidos do dispositivo
208 21:37:30.544 Bulk or Interrupt Transfer 8 bytes buffer in
Final do quarto bloco – os blocos seguintes não são mostrados pois seguem padrão semelhante
Capı́tulo 3. Sistema de aquisição de dados
3.10 Montagem
A parte interna da estação WH-1080 foi instalada dentro de uma caixa impermeável. Junto
a ela foi instalada uma fonte de alimentação e um roteador para redes de telefonia celular,
permitindo que fosse feito o upload de dados sem conexão fı́sica à internet.
22
Application Programming Interface
Capı́tulo 4. Testes e Validação
Figura 4.7: Integralização da energia gerada estimada nos 7 primeiros dias de medição
Figura 4.8: Integralização da energia gerada (intervalo contı́nuo nas duas sequências)
e sistema montado). Embora os sinais sejam sinais muito correlacionados, eles não podem ser
comparados diretamente pois são instalações em locais distintos e com intervalos de medição
muito diferentes. Ainda sim, para esta série de dados podemos afirmar que a divergência da
integral de energia foi menor que 20%.
Capı́tulo 5
Conclusão
Bibliografia
[2] J. D. Sachs, Common Wealth: Economics for a Crowded Planet. Penguin Books, 2009.
[3] U. Nations, World Population to 2300. New York: United Nations, Department of Econo-
mic and Social Affairs, 2004.
[4] P. Kruger, Alternative Energy Resources: The Quest for Sustainable Energy. John Wiley
& Sons, Inc, 2006.
[7] J. F. Manwell, J. G. McGowan, and A. L. Rogers, Wind energy explained: theory, design
and application. John Wiley & Sons, Inc, 2002.
[8] M. Brower, J. Zack, and C. Eolica, “Atlas do Potencial Eólico Brasileiro,” tech. rep., 2001.
[11] “We are 7 billion – A quick guide to the population of the planet,” The Economist Online,
2011.
[12] B. Metz, O. Davidson, P. Bosch, R. Dave, and Ipcc, “Summary for policymakers,” Climate
change, vol. 1, 2007.
[13] “G-20: Declaração dos lı́deres,” (Pittsburgh), pp. 1–28, G-20, Cúpula de Pittsburgh, 2009.
[15] J. J. A. Alves, “Análise regional da energia eólica no Brasil,” Revista Brasilera de Gestão e
Desenvolvimento Regional, vol. 6, no. 1, pp. 165–188, 2010.
[17] J. Counihan, “Adiabatic atmospheric boundary layers: a review and analysis of data from
the period 1880–1972,” Atmospheric Environment (1967), vol. 9, no. 10, pp. 871–905, 1975.
[19] S. Justice, “AN1163: USB HID Class on an Embedded Device,” tech. rep., Microchip
Technologies Inc, 2008.