Índice:

Um anemômetro de registro de dados autossuficiente: 11 etapas (com imagens)
Um anemômetro de registro de dados autossuficiente: 11 etapas (com imagens)

Vídeo: Um anemômetro de registro de dados autossuficiente: 11 etapas (com imagens)

Vídeo: Um anemômetro de registro de dados autossuficiente: 11 etapas (com imagens)
Vídeo: Defesa de doutorado - Helio Villanueva 2024, Julho
Anonim
Um anemômetro de registro de dados autossuficiente
Um anemômetro de registro de dados autossuficiente

Adoro coletar e analisar dados. Também adoro construir aparelhos eletrônicos. Um ano atrás, quando descobri os produtos Arduino, pensei imediatamente: "Gostaria de coletar dados ambientais." Foi um dia de vento em Portland, OR, então decidi capturar os dados do vento. Eu olhei alguns dos instrutíveis para anemômetros e os achei bastante úteis, mas precisei fazer algumas mudanças de engenharia. Primeiro, eu queria que o dispositivo funcionasse independente, ao ar livre, por uma semana. Em segundo lugar, eu queria que fosse capaz de registrar rajadas de vento muito pequenas, vários dos projetos aqui exigiam ventos fortes para funcionar. Por último, queria registrar os dados. Decidi optar por um projeto de rotor realmente leve, com o mínimo de inércia e resistência possível. Para fazer isso, usei todas as peças de plástico (incluindo hastes de vinil rosqueadas), ligações de rolamento de esferas e sensores ópticos. Outros projetos usavam sensores magnéticos ou motores DC reais, mas ambos reduzem a velocidade do rotor, a óptica usa um pouco mais de energia, mas não oferece resistência mecânica. O data logger é simplesmente um Atmega328P com um chip flash de 8 Mbits. Pensei em mudar para SD, mas queria manter o custo, o consumo de energia e a complexidade baixos. Escrevi um programa simples que registrava contagens de rotação de dois bytes a cada segundo. Com 8 megabits, descobri que poderia coletar dados de cerca de uma semana. Em meu projeto original, achei que precisaria de 4 células C, mas depois de uma semana elas ainda estavam totalmente carregadas, então eu devo ter perdido uma ordem de magnitude no consumo de energia. Eu não usei reguladores lineares, eu dirigi todos os trilhos de tensão para 6V (embora algumas das peças fossem classificadas em 3,3V. Isso é um design exagerado!). Para baixar os dados, eu tinha um sistema complexo que lia o flash e o descarregava no monitor serial do arduino, e eu recortei e colei no Excel. Não perdi tempo tentando descobrir como escrever um aplicativo USB de linha de comando para descarregar o flash para o padrão, mas em algum momento vou precisar descobrir isso. O resultado foi bastante surpreendente, pude observar algumas tendências muito interessantes, que estou guardando para outro relatório. Boa sorte!

Etapa 1: construir o rotor

Construir o Rotor
Construir o Rotor
Construir o Rotor
Construir o Rotor

Tentei várias ideias diferentes para os copos de rotor: ovos de páscoa, bolas de pingue-pongue, copos plásticos e bolas vazias de enfeites de árvores de Natal. Construí vários rotores e testei todos com um secador de cabelo, que fornecia uma variedade de velocidades do vento. Dos quatro protótipos, as conchas de ornamento funcionaram melhor. Eles também tinham essas pequenas abas que tornavam a fixação mais fácil e eram feitas de um plástico rígido que funcionava bem com cimento de policarbonato. Eu tentei alguns comprimentos de eixo diferentes, pequenos, médios e grandes (cerca de 1 "a cerca de 6") e descobri que os tamanhos maiores torqueavam demais e não respondiam bem a baixas velocidades de vento, então optei pelos eixos de tamanho pequeno. Como tudo era de plástico transparente, fiz uma pequena impressão útil para ajudar a pousar as três lâminas. Materiais: Os enfeites vieram da Oriental Trading Company, item "48/6300 DYO CLEAR ORNAMENT", $ 6 mais $ 3 de frete. Os eixos de plástico e o disco estrutural vieram de uma loja local da TAP Plastics, cerca de US $ 4 a mais em peças.

Etapa 2: construir a base superior

Construir a base superior
Construir a base superior
Construir a base superior
Construir a base superior

Para reduzir a inércia rotacional, usei uma haste de náilon com rosca da McMaster Karr. Eu queria usar rolamentos, mas os rolamentos da máquina são embalados com graxa para reduzir a velocidade do rotor, então comprei alguns rolamentos de skate baratos que não tinham nenhum. Eles simplesmente cabem dentro do adaptador de tubo de 3/4 "de diâmetro interno de CPVC. Só depois de montar a estrutura é que percebi que os rolamentos do patim lidam com a carga plana e eu estava aplicando carga vertical, então deveria ter usado um rolamento propulsor, mas funcionaram muito bem e provavelmente ajudaram a gerenciar o atrito do torque de precessão. Planejei anexar um sensor óptico à parte inferior do eixo, então montei o acoplamento CPVC em uma base maior. O Home Depot é um lugar divertido para misturar e coincidir com os acessórios de CPVC / PVC. Por fim, consegui inserir o acoplamento de CPVC roscado de 3/4 "em um redutor de PVC de 3/4" a 1-1 / 2 ". Demorou muito para fazer tudo caber, mas deixou espaço suficiente para a eletrônica. Materiais: 98743A235 - Haste de nylon rosqueada preta (rosca 5/16 "-18) 94900A030 - Porcas sextavadas de nylon pretas (rosca 5/16" -18) Rolamentos baratos para skateboard Adaptador CPVC rosqueado 3/4 "3/4" a 1 Redutor de PVC de -1/2 "para tubo rosqueado de 3/4" Nota: As dimensões do acoplamento de PVC e CPVC não são iguais, provavelmente para evitar o uso indevido acidental; portanto, trocar por um adaptador normal de PVC simples de 3/4 "não funcionará, no entanto, as ROSCAS de um adaptador rosqueado são as mesmas, o que é totalmente estranho. As roscas de acoplamento de CPVC na bucha do adaptador de PVC. Adaptador … bucha … acoplamento … Provavelmente estou confundindo todos esses termos, mas 15 minutos no corredor de encanamento da Home Depot o esclarecerá.

Etapa 3: Interruptor óptico

Interruptor ótico
Interruptor ótico
Interruptor ótico
Interruptor ótico

Conforme o rotor gira, sua rotação é contada por um interruptor óptico. Pensei em usar um disco, mas isso significava que teria que conectar a fonte de iluminação e o detector verticalmente, o que seria muito difícil de montar. Em vez disso, optei pela montagem horizontal e encontrei alguns copinhos que vão na parte inferior das cadeiras para proteger o piso de madeira. Pintei e colei seis segmentos, o que me daria doze (quase) bordas uniformes, ou 12 ticks por revolução do rotor. Pensei em fazer mais, mas não estava muito familiarizado com a velocidade do detector ou com o campo de visão de sua óptica. Ou seja, se eu fosse muito estreito, o LED poderia rastejar nas bordas e ativar o sensor. Esta é outra área de pesquisa que não persegui, mas seria bom explorar. Colei o copo pintado a uma porca e prendi-o na extremidade do eixo. Materiais: Copa do protetor de perna da cadeira da Home Depot tinta preta

Etapa 4: Conecte o rotor

Conecte o rotor!
Conecte o rotor!

Nesse ponto, estava começando a ficar bem legal. As porcas de náilon são muito escorregadias, então tive que usar muitas contraporcas (caso você não tenha notado nas fotos anteriores). Eu também tive que fazer uma chave especial chata para caber na tampa abaixo do rotor para que eu pudesse travar as duas porcas.

Etapa 5: construir a base inferior

Construir a Base Inferior
Construir a Base Inferior
Construir a Base Inferior
Construir a Base Inferior

A base inferior aloja as baterias e fornece uma estrutura de suporte. Encontrei uma caixa à prova d'água muito legal online de uma empresa chamada Polycase. É um case realmente liso que veda bem e os parafusos são mais largos na base para que não caiam facilmente da parte superior. Usei um mate de PVC para a bucha de PVC superior. Este acoplamento de base inferior é apenas um acoplamento de PVC roscado de 1-1 / 2 ". A pressão da base do rotor superior se encaixa na base inferior por meio deste acoplamento. Como você verá mais tarde, não colei essas peças porque queria ser capaz de abri-lo e fazer ajustes se necessário, além de a montagem ser mais fácil ao anexar as placas de circuito. Materiais: Caixa à prova d'água de Polycase, item # WP-23F, $ 12,50 Acoplamento de PVC roscado de 1-1 / 2"

Etapa 6: construir o sensor óptico

Construir o sensor óptico
Construir o sensor óptico

O mecanismo do sensor é um LED de 940 nm e um receptor Schmitt-trigger. Eu amo amo amo o circuito de gatilho Schmitt, ele cuida de todas as minhas necessidades de debouncing e envia um sinal compatível CMOS / TTL. A única desvantagem? Operação 5V. Sim, aumentei todo o design para 6V, mas poderia ter ido para 3,3V se não fosse por esta parte. A ideia é que esse circuito seja montado embaixo da tampa do rotor, o que interrompe o feixe conforme ele gira, gerando transições lógicas para cada borda. Não tenho uma boa imagem de como isso foi montado. Eu basicamente colei dois offsets de plástico no acoplamento de PVC da base inferior e aparafusei neles por cima. Tive que esmerilhar as bordas da placa para que se encaixasse perfeitamente. Eu nem tenho um esquema para isso, é realmente fácil: basta ligar um resistor de 1k do Vin e conectá-lo de forma que o LED fique sempre ligado e a saída do detector fique ligada. Materiais: 1 LED de 940 nm resistor de 1k 1 sensor OPTEK OPL550 1 plugue de três pinos (fêmea) 1 placa de circuito de 1,5 "x 1,5" Vários comprimentos de fio Tubo termorretrátil se você gosta de seus fios agrupados

Etapa 7: construir o registrador de dados

Construir o Data Logger
Construir o Data Logger
Construir o Data Logger
Construir o Data Logger
Construir o Data Logger
Construir o Data Logger
Construir o Data Logger
Construir o Data Logger

A placa de prototipagem do Arduino era muito grande para caber no chassi. Usei o EagleCAD para fazer o layout de uma placa de circuito menor e perdi uma única camada … há quatro fios feios que preciso para preencher algumas lacunas.

(Pensei ter medido isso em ~ 50mW de potência operacional e, com base nos watts-hora das baterias, pensei que cairia abaixo de 5 V em uma semana, mas minha medição de potência ou minha matemática estava errada porque 4 células C mantinham por muito tempo.) Layout bastante simples: apenas um ressonador, o ATmega328, um chip flash, um jumper de depuração, um LED de depuração, tampa da fonte de alimentação e só. Existe algo chamado DorkBoard que eu poderia ter usado também, é basicamente tudo o que é necessário para uma placa de desenvolvimento ATMega328 do tamanho de um soquete DIP. Pensei em comprar um, mas minha abordagem discreta era cerca de 50% mais barata. Aqui está o link do dorkboard:

Aqui está a ideia básica (o código-fonte será incluído mais tarde) como a placa opera: Jumper definido para o modo "depurar": conecte uma interrupção de valor de alteração à saída do sensor óptico e pisque o LED de teste em uníssono com o detector. Isso foi muito útil para depuração. Jumper definido para o modo "registro": conecte a mesma interrupção a um contador e, no loop principal, retarde 1000 mseg. No final de 1000 mseg, escreva o número de contagens de borda em uma página flash de 256 bytes e, quando a página estiver cheia, escreva e redefina a contagem. Simples, certo? Bastante. Eu realmente gosto dos dispositivos flash Winbond, eu costumava projetar flash nos anos 90, então foi divertido programá-los novamente. A interface SPI é brilhante. Tão simples de usar. Vou deixar os esquemas e o código-fonte falarem por si. Eu mencionei que EagleCAD é incrível? É realmente. Existem alguns ótimos tutoriais no YouTube.

Etapa 8: conecte os componentes eletrônicos

Anexe a Eletrônica
Anexe a Eletrônica

Novamente, não tenho muitas fotos boas aqui, mas se você imaginar dois suportes de plástico colados no interior do PVC, ambas as placas estão aparafusadas nele. Aqui está uma imagem da placa de registro conectada na parte inferior. A placa do detector está dentro da caixa.

Etapa 9: Calibração

Calibração
Calibração
Calibração
Calibração
Calibração
Calibração
Calibração
Calibração

Fiz um teste para calibrar a besta para que pudesse converter as contagens brutas do rotor em MPH. Sim, é um 2x4. Anexei o anemômetro em uma extremidade e um Arduio de depuração na outra. O LCD exibiu as contagens do rotor. O processo foi assim: 1) Encontre uma longa estrada reta sem tráfego. 2) Segure o 2x4 para que fique o mais longe possível da janela 3) Ative a gravação de voz em seu iPhone ou Android 4) Ative um velocímetro GPS digital em seu dispositivo portátil de escolha 5) Dirija continuamente em várias velocidades e anuncie para o seu gravador, a velocidade e as contagens médias do rotor 6) Não bata 7)? 8) Mais tarde, quando não estiver dirigindo, reproduza novamente sua mensagem telefônica e insira os dados no Excel e espere um ajuste linear ou exponencial ou polinomial com um valor de R ao quadrado maior que 99%. Este número de conversão será usado mais tarde. O dispositivo apenas captura dados brutos, eu os pós-processei para MPH (ou KPH) no Excel. (Eu mencionei que apliquei uma camada foda de tinta verde oliva monótona? Eu teria chamado isso de "Anemômetro de registro de dados tático", mas então me lembrei que "Tático" significa "preto".)

Etapa 10: Vá coletar alguns dados do vento

Vá coletar alguns dados do vento!
Vá coletar alguns dados do vento!
Vá coletar alguns dados do vento!
Vá coletar alguns dados do vento!
Vá coletar alguns dados do vento!
Vá coletar alguns dados do vento!

É basicamente isso. Acho que faltam algumas fotos, por exemplo, não são mostradas as quatro células C amontoadas na base inferior. Não consegui encaixar um suporte com mola, então acabei soldando os cabos nas próprias baterias. Estou escrevendo este instrutível um ano depois de construí-lo e na revisão # 2, usei pilhas AA porque superestimei grosseiramente o consumo de energia. Usar AA me permitiu adicionar um botão liga-desliga e realmente liberou algum espaço interno, caso contrário, era muito apertado. No geral, fiquei bastante satisfeito com o design. O gráfico abaixo mostra uma semana de dados médios. As baterias começaram a morrer no dia sete. Eu poderia ter melhorado a vida da bateria executando o LED em um ciclo de trabalho mais baixo em cerca de 1kHz e não teria perdido nenhuma borda devido à velocidade angular do rotor comparativamente baixa.

Divirta-se! Avise-me se houver espaço para melhorias!

Etapa 11: Código Fonte

Em anexo está um único arquivo de origem do Arduino. Eu apliquei GPL porque, hey, GPL.

EDIT: Gostaria de salientar que minha implementação de usar um atraso de 1s () é uma ideia terrível e em h O tempo necessário para gravar no flash e ler o sensor pode parecer pequeno, mas ao longo de 7 -10s somam alguns desvios significativos. Em vez disso, use a interrupção do temporizador de 1 Hz (o temporizador nº 1 no 328P pode ser calibrado para 1 Hz perfeitamente). Para estar seguro, você deve codificar em uma cerca no caso da gravação da página e leitura do sensor por algum motivo levar mais de 1 segundo (lidar com amostras perdidas), mas uma interrupção do temporizador é A maneira de fazer coisas que precisam ser, bem, tempo- preciso. Saúde!

Recomendado: