Wednesday, 7 August 2019

Picaxe moving average


Eu agradeço os pensamentos dos povos sobre isso. Estou pensando em expandir minha estação meteorológica remota, adicionando amostragem de velocidade do vento. Todos os valores do sensor são amostrados atualmente em intervalos de 1 minuto e transmitidos para a base. Entre amostragem e transmissão, o PicAxe remoto dorme. Existem vários modelos de anemômetro. Mais simples e tradicional, é contar as revoluções dos copos rotativos. Isso seria fácil de conseguir com um PicAxe que está sempre ligado. Mas eu não quero o meu PicAxe sempre ligado, porque eu quero usar energia mínima. O que estou propondo é usar ICs de contador CMOS que desenhem (parece) uma potência muito menor do que um PicAxe quando ativado. Estou pensando em: 2 x 74HC165 contadores duplos de 4 bits. Encaixe estes juntos para dar um contador de ripple de 16 bits. Tenha essa interface para 2 x 74HC165 8bit paralelo em registros de saída de série. Então, em intervalos de minutos, o PicAxe carrega o registro e lê o resultado do contador em série. Eu acho que talvez eu precise desativar a contagem enquanto eu estou carregando no registro. Eu realmente não queria usar um contador de 16 bits, mas isso permitirá uma variação de onda de furacão no vento. De qualquer forma, eu sei que isso parece uma maneira difícil de conseguir uma contagem simples, no entanto oferece a única solução eletrônica de contagem de baixa potência I Pode pensar. As contagens serão detectadas através de um interruptor de junção no eixo rotativo - Parece melhor (menos energia) usar o interruptor de junco do que o óptico. Outra idéia que eu tive era usar a idéia do gerador onde um motor é usado como um gerador. Talvez eu possa de alguma forma alimentar a saída em um capacitor e depois ler a tensão a cada minuto (o que seria fácil, usando um único pino PicAxe). Não tenho certeza de como a tensão poderia ser feita para ser proporcional à velocidade do vento, no entanto, no entanto. A outra idéia que eu tinha era ter um arranjo de tipo de velocidade mecânica com um amortecedor de resposta lenta para dar uma resposta média média lenta. Em seguida, experimente a posição do amortecedor. No entanto, a amostra digital da posição com precisão parece complicada. Todos os pensamentos apreciados Por que não usar o tipo de medida de palheta em movimento, mas conecte a vane a uma panela e leia o valor quando o picaxe acorda. Isso parece simples e usa hardware existente. A velocidade do vento como uma verificação local não pode ser muito melhor que a média durante um período. Se você precisasse, você poderia medir as leituras na estação base. Concordo que pareceria muito mais fácil simplesmente tirar um instantâneo instantâneo sempre que o PICAXE acordasse a cada minuto, seja uma vaga e um pote ou fazendo uma contagem de pulsos durante um curto período de tempo . O tempo (ou seja, a corrente usada) para fazer isso provavelmente não é mais do que ler um valor de contador. Com relação às leituras médias, parece melhor que o PICAXE faça o menor possível, de modo que seja ativado por um mínimo de tempo e deixe A estação base classifica o que os dados significam. Se você escolher uma solução de contador de hardware, confira o 74HC4040 (12 bit, 0-4095) e o 74HC4020 (11 bits, 0-2047 com divisão por 8 pré-escalador). Ambos devem estar amplamente disponíveis, cerca de 80uA max. Eu também sugeriria o 4040, mas desconfie de ler contadores de ondulação com micros. Não se esqueça de dissipar os pulsos de entrada antes da leitura apenas no caso de você ler ao mesmo tempo que ondula. Eu sei que as chances de que isso aconteça parecem baixas, mas me surpreendeu no passado. Tenho a ideia de montar dois transdutores ultra-sônicos a cerca de 30 cm de distância em uma ventoinha. A vare coloca os transdutores sempre na direção do vento e você mede a velocidade do vento pelo tempo necessário para que o ultra-som perca as duas direções entre os sensores. Existem dispositivos comerciais que usam 4 tranducers em ângulos de 90 graus para medir o vetor de vento (velocidade e direção), mas acho que replicar isso é muito caro e você precisaria do co-pro de matemática também. Não tenho certeza se quero saber velocidade ou direção do vento ou ambos. Estou pensando no meu jardim de trás, a velocidade não é importante ou relevante (muitos obstáculos e defletores), então, pode apenas medir a direção no final. Você pode medir a velocidade do vento medindo a temperatura de um elemento aquecedor. A velocidade mais alta do vento leva o calor mais rápido. Eu vi isso, mas detalhes me escapam. Obrigado pelas respostas. Eu ainda gosto da idéia de ter um contador de baixa potência funcionando continuamente. O instantâneo do contador dará uma leitura média ao longo do intervalo de minutos. Eu sei que um instantâneo de velocidade em cada minuto pode ser calculado de forma média, mas eu sou um otário para tentar obter precisão -) Eu acho que vou olhar para usar um contador de ondulação de 74 bits de 74HC4040 como sugerido e alimentar isso em 2 x 74HC165 registros de deslocamento de 8 bits. Eu acho que também poderia alimentar 4 bits de dados de direção do vento nestes registros de deslocamento também ao mesmo tempo. Um anemômetro de fio quente que eu espero que precise de uma corrente significativa. De qualquer forma, obrigado novamente. Você poderia obter um anemômetro de fio quente de qualquer carro injetado moderno, mas o uso atual seria alto. À medida que você está preocupado com a potência utilizada, por que não usar um motor passo a passo para 1 fornecer os impulsos e 2 carregar a bateria, de fato, um motor do fuso rígido funcionaria bem, eles não puxam muito e, portanto, ainda funcionariam a baixas velocidades do vento. Cerca de 40 anos atrás Eu construí um integrador de anemômetro para suavizar gravações de gráficos do enxame usual de abelhas: -). Simplesmente usei construído naqueles dias um contador com um conversor DA no gráfico - no seu caso, esta saída DA poderia ir para o AD no PICAXE e o contador ser reposto a cada vez que ele é lido - o contador sendo o CMOS pode ser de potência muito baixa e Poderia ter uma configuração de resistência de escada binária para DA ou para menos bits com um pré-scaler, basta usar resistências ponderadas binárias do contador ao ponto de soma. Divirta-se Obrigado Premelec. Não pensei em uma escada de resistência - poderia também pensar nisso. Você pode explicar a ideia pré-escalar de pré-mesas de leitura de counterD2AA2D, pensou que usar uma bomba de carga pode ser uma opção. Alimente os pulsos em um one-shot para que você obtenha uma largura de pulso conhecida com cada pulso. Agora você tem um sinal PWM proporcional à velocidade do vento. Isso pode ser alimentado em um RC e o PICAXE A2D ou em um integrador selecionável. Pode até ser possível usar a pulsina PICAXE. Um pré-escalador é um divisor entre um contador e sua entrada. Deve ser pré-escala - que é algum contra-estágio para apenas diminuir os impulsos do anemômetro antes de entrar nos estágios de armazenamento de conversão DA real do contador. Há muito empirismo aqui - o que quer que trabalhe E a fonte de dados é um pouco descuidada, então você tem muito espaço para fudge. São necessários 12 bits de integração realmente necessários. -) Se você tiver um anemômetro de saída anaologo - como um gerador DC com uma hélice, você pode fazer um integrador analógico com um amplificador OP e capacitor e reiniciá-lo quando lido. Boa sorte. Deve funcionar bem ... Obrigado Beaniebots, Premelec. Sim, pensei em uma bomba de carga - poderia funcionar, mas acho que eu tentei o contador inicialmente. 12 bits é o que eu preciso dos meus calcos ásperos para uma amostra de um minuto: Diga que o diâmetro do círculo do copo é de 32cm, circunferência de 1 metro. Então, se apenas 8 bits, então, podem se registrar em ventos de 256 metros por minuto, ou 15 kmh (10 mph). Se os ventos aberrantes no Reino Unido cerca de 80 mph (talvez), então, precisam de 11 bits - faça isso 12. (Espero que minha estação meteorológica tenha sido surpreendida até então) - Poderia haver algum alcance para fazer a medida ao contrário. Tenha um O contador desencadeia uma interrupção após os pulsos X e depois veja quanto tempo demorou para chegar a essa contagem. Essa é uma idéia interessante da Beaniebots. Seria ótimo se a interrupção pudesse desencadear um PicAxe adormecido - mas duvido disso: o manual não é tão claro, mas eu suspeito que não será como) o PicAxe provavelmente não verifica se há interrupções durante o sono e b) parece verificar a interrupção É feito entre comandos (exceto pausa) e só seria ativado após a conclusão dos comandos de suspensão. Também em ventos baixos, levaria anos para obter uma interrupção, a menos que o contador fosse apenas alguns bits - mas isso significaria muitas interrupções na alta velocidade do vento. Bom ponto de interrupção, enquanto dormindo ou napping. Talvez uma combinação de todos os métodos Counter with (software) interrumpe a consulta. Enquanto estiver acordado, examine uma bandeira do contador que indica que os impulsos X passaram. Então, leia a contagem ou tenha outra bandeira que indique que a contagem precisa ser lida se você estiver dormindo demais para obter a contagem padrão. Provavelmente melhor ficar com a idéia do contador CMOS original -) Eu tenho trabalhado em um projeto que requer um contador e conversor DA e ocorreu-me que um Potenciômetro Digital com controle de entrada atualizado poderia servir meu propósito - usando os pulsos de contagem ou para baixo Contar pulsos para produzir a contagem para saída DA. Eu não preciso de muita resolução e estou olhando para o análogo AD5220 com 128 etapas. A taxa de contagem é de mais de 100KHz. O que está faltando é um pino de reinicialização. Então uma contagem de explosão para redefini-lo, alta ou baixa seria necessária - alguns dos DigPots mais sofisticados têm uma redefinição para a escala média, mas estes têm entrada SPI ou I2C que não é o que eu quero usar para contagem de pulsos simples. Se alguém souber de um ud Digital Pot com uma reinicialização, deixe-me saber como não consegui um. Thaks. Background: Temos um sistema embutido que converte posições lineares (0 mm - 40 mm) de uma tensão de potenciômetro para seu valor digital usando um conversor analógico / digital de 10 bits. Mostramos ao usuário a posição linear com incrementos de 1 mm. Ex. 1mm, 2mm, 3mm, etc. O problema: nosso sistema pode ser usado em ambientes eletromagneticamente noisy que podem causar a posição linear para cintilar devido ao ruído que entra no ADC. Por exemplo, veremos valores como: 39,40,39,40,39,38,40, etc., quando o potenciômetro estiver a 39 mm. Uma vez que estamos arredondando para cada 1 mm, veremos cintilação entre 1 e 2 se o valor alternar entre 1,4 e 1,6 mm, por exemplo. Solução de software proposta: supondo que não possamos mudar o hardware, gostaria de adicionar alguma histerese ao arredondamento de valores para evitar esse cintilação. Tais que: Se o valor estiver atualmente em 1mm, ele só pode ir para 2mm se o valor bruto for 1.8 ou superior. Da mesma forma, se o valor atual for 1mm, ele só pode ir para 0mm se o valor bruto for igual ou inferior a 0,2. Eu escrevi o seguinte aplicativo simples para testar minha solução. Por favor, deixe-me saber se estou no caminho certo, ou se você tiver algum conselho. Eu tive que lidar com algo semelhante, há algum tempo, onde eu tive que ler a saída de tensão de um circuito e exibir um gráfico na tela do computador. A linha inferior é, isso realmente depende dos requisitos do seu sistema. Se o requisito for de 1 mm de precisão, não há nada que você possa realmente fazer. Caso contrário, como mencionado acima, você poderia ir com vários métodos que podem ajudá-lo a diminuir a cintilação. Você pode: Calcular a média desses valores durante um determinado período de tempo que o usuário pode configurar. Permita que o usuário defina um limite de Sensibilidade. Esse limite pode ser usado para decidir sobre o clima para considerar o novo valor como válido ou não. No seu exemplo, o limite pode ser configurado para 2mm, em que casos, como 39, 40, 39, 38, leriam como 39mm. Além disso, você pensou em colocar um estabilizador externo entre o seu aplicativo eo próprio hardware respondia 1 de maio de 12 em 21:50 Obrigado pela visão. Você pode elaborar sobre este estabilizador externo. Ndash Ryan R 1 de maio 12 às 22:07 Sua resposta 2017 Stack Exchange, Inc

No comments:

Post a Comment