Tuesday 8 May 2018

Picaxe moving average


Eu tenho um Picaxe 40x1 que eu gostaria de usar para exibir um nível de combustível no meu carro. Eu tenho um remetente 10-180ohms que eu tenho ligado e funcionando e pode obter valores sensíveis de volta para o picaxe Eu tenho uma rotina de outro projeto (controle de aquecimento para minha casa) que leva uma leitura uma vez por minuto, embaralha a leitura mais antiga (mantenha 5 amostras no total) e, em seguida, calcula a média desses números para produzir uma média móvel bruta. Eu gostaria de fazer algo parecido com o "Fat Gauge". ie 1) faça uma leitura a cada minuto, 2) verifique se é sensato (digamos que dentro de 5 da média móvel) em caso afirmativo 3) embaralhe todas as entradas pela lista, solte as mais antigas e inclua essa nova no slot 1 4) Adicione-os juntos e, em seguida, média Eu estou bem em tudo isso, exceto para a matemática para verificar se a média móvel está dentro de 5 do valor acabou de ler - alguém pode me dar algumas dicas sobre como eles iriam enfrentar o lado de matemática por favor média slot1 slot2 slot2 slot3 slot4 slot5 / 5 105percent média 105/100 95percent média 95/100 se newval gt 105percent OR newvalue lt 95percent then rejectvalue É que o tipo de coisa que você quer dizer Não há nada errado com o princípio Andrew deu mas aqui está outro método: average slot1 slot2 slot3 slot4 slot5 / 5 média de tolerância 5/100 IF newvalue gt média THEN variance newvalue - média ELSE variance average --novovalue ENDIF Se a variância gt tolerância THEN rejectvalue Uma vantagem é que, se você quiser ajustar a tolerância, é necessário apenas altere um valor. Um porém aqui é: o que quando o tanque de combustível é baixo 5 de um tanque quase vazio é quase zero assim a tolerância pode ser zero e todas as leituras resultantes podem ser rejeitadas. Poderia deixar o medidor sentado, digamos, 5 cheio, já que na realidade ele se esvazia. eek: Eu acho que uma vez por minuto é muito lento. O nível de combustível no seu tanque muda constantemente quando o veículo está em movimento (e muda muito). Medidores de combustível de veículos usam um módulo de quotslosh (sério, é assim que é chamado) para calcular essa leitura que muda rapidamente e mostrar uma leitura precisa no painel. Os medidores mecânicos usavam freqüentemente um elemento de aquecimento ligado à agulha do medidor de combustível acionado pelo emissor do combustível (uma das razões pelas quais os emissores de combustível costumam ter baixa resistência). A corrente através deste elemento mudaria rapidamente à medida que o combustível se espalhava, mas o elemento não mudava rapidamente a temperatura, de modo que a corrente acabou ficando mais compactada ao longo do tempo e a temperatura do elemento permaneceu estável (o que também tornou a agulha estável). Medidores posteriores usaram um divisor capacitor / resistor para obter um resultado similar. Também existem outros circuitos eletrônicos, normalmente integrados ao próprio cluster, mas todos eles servem ao mesmo propósito - para medir a voltagem de rápida resposta do remetente. Acho que eu faria uma leitura a cada 0.5 segundos por 30 segundos e, em média, as 60 leituras, então mostraria isso como o nível real de combustível. Não há necessidade de acompanhar o nível de combustível anterior, pois as 60 leituras devem dar um resultado bastante preciso. Você poderia tentar um capacitor / resistor para medir a voltagem para você. Tue, 2014-06-03 07:29 DBodnar Jim - Eu comecei com a família de microcontroladores BASIC Stamp nos anos 90 e logo me cansei do custo de um experimento ruim, especificamente um chip de 30 ou 50 soprado Quando me deparei o PICAXE mais de uma década atrás fiquei impressionado com suas capacidades (iguais ou além do Stamp) e o custo (chips simples ficaram abaixo de 5.00) Quando comecei a ficar sem espaço de programação comecei a usar processadores PIC, o irmão mais velho do PICAXE . Quanto ao Arduino, eu os uso e realmente gosto das bibliotecas e programas que você pode encontrar na Internet e nas baratas placas chinesas. Por outro lado, sinto que o quotCquot é difícil para iniciantes - o BASIC é muito mais fácil de entender e depurar. Alguns dos meus projetos de Arduino estão aqui: trainelectronics / Arduino / index. htm Eu estarei fazendo um workshop sobre a PICAXE na Convenção NMRA no próximo mês - se você estiver lá, pare e diga HI Mon, 2014-06-09 14:20 DBodnar Bom dia - Surgiu uma questão sobre o uso de um computador Mac com o PICAXE. Eu sei muito pouco sobre Macs, então peguei um emprestado de um amigo e consegui trabalhar com o PICAXE. Eu coloquei minhas anotações na minha página aqui: A boa notícia é que não é muito diferente do que trabalhar com um PC - o software é mais simples e tem menos recursos, mas faz o trabalho. Por favor, deixe-me saber se você tem algum sucesso ou perguntasUm PICAXE Infrared quotloggingquot Termômetro 21 Julho Editar - Veja como eu usei o termômetro infravermelho em minhas Experiências Laser instructables / id / LASER-HEAT / Intro: Você já pode ter um desses IR muito útil termômetros. apenas aponte, dispare e leia a temperatura. Eles não são ótimos eu tenho dois. Mas, e se você quiser registrar as leituras de temperatura no seu PC Este Instructable mostrará a você como construir seu próprio termômetro infravermelho que irá registrar no PC - um benefício adicional é que os dados podem ser representados graficamente no Excel ou exibidos em tempo real usando um programa gratuito Shareware chamado StampPlot Pro da empresa SelmaWare Solutions. O custo total das peças deve ser inferior a 50, mas uma quantidade significativa da compra pode ser reutilizada em seu próximo projeto PICAXE. O dispositivo se comunica com o PC em um link USB. Após a construção, você pode modificar facilmente o dispositivo se desejar se comunicar por uma porta COMM livre no PC. Isso liberará o adaptador USB para uso em outro projeto. Depois de montar tudo e fazer a programação e os testes, transferi as peças para uma minibox e adicionei um regulador de 5V para que eu pudesse executar o projeto a partir de uma bateria de 9V. O trabalho de terra para este PICAXE veio de P. H. Anderson em phanderson e usei seu código com permissão por escrito. O site é uma excelente fonte para os chips PICAXE e para o sensor MLX90614 IR da Melexis. Claro, existem outras fontes, mas minha experiência pessoal com pedidos de penhores tem sido muito positiva. Se você é novo na programação básica da PICAXE, o site tem muitos exemplos bem documentados em seu site. Parte um. Inventário de peças e vendedores em potencial 1) PICXE-20X2 e Protoboard quotAquot 2) Melexis MLX90614 quotAquot 3) 10K resistor de 1/4 watts ct 4) 22K resistor de 1/4 watt cs 5) 4.7K resistor de 1/4 watt X 2 quotBb fornecedores Lista de Peças (sugerido): Um dispositivo / picaxe B RadioShack Nota: O Protoboard PICAXE-20X2 inclui o Protoboard, o chip PICAXE, resistores de pullup e interface USB por um preço. Parte Dois: Baixe o software gratuito Para programar o seu PICAXE, você precisará do Editor de Programação PICAXE gratuito em: rev-ed. co. uk/picaxe/software. htm Basta fazer o download do software e instalá-lo no seu PC. Seu protótipo e PICAXE virão programados com um programa de teste simples para garantir que tudo esteja funcionando corretamente. o programa de teste simplesmente pisca o LED vermelho. Você também precisará do software do driver USB. Está disponível aqui: ftdichip / Drivers / VCP. htm Parte Três: Conectando o MLX90614 ao power e ao PICAXE Construa o circuito no protoboard com cuidado para observar a pinagem do MLX90614. Uma imagem de visão inferior está incluída neste Instructable. No nosso caso (vista de baixo), o Pin4 é VSS, que é aterrado para o nosso design USB de 5V. O Pin3, VDD, será conectado a 5 volts. Tanto o pino 1 quanto o pino 2 têm resistores de 4,7 K (amarelo-violeta-vermelho) que são conectados a 5 V. O pino 1 é conectado ao pino 11 da PICAXE e o pino 2 é conectado ao pino 13 da PICAXE. O resto da fiação no protoboard pode ser deixado exatamente como foi enviado. Apenas certifique-se de testar a placa quando ela chegar e que o LED vermelho pisca corretamente. Você pode encontrar alguns componentes que precisam ser colocados na breadboard se a unidade não aparecer. Parte Quatro: Programando o PICAXE com o código de aquisição de temperatura Para construir seu termômetro, o código de amostra localizado aqui: phanderson / picaxe / mlx90614.html deve ser ligeiramente modificado e disponibilizei a modificação no código abaixo. Abra o Editor de Programação, conecte o cabo USB ao PC, instale o driver do software USB. Em seguida, copie o código abaixo em uma janela vazia no Editor de programação e salve-o com um nome como MLX90614.BAS. Para programar o seu PICAXE, basta clicar no botão "Programa" no editor. (Dica: se você tiver um erro de sintaxe, pode ser necessário colar o código no Bloco de Notas primeiro, salvá-lo e carregá-lo no Editor.) O código está no formato TXT no arquivo anexado. Baixe e renomeie para. BAS para utilizar no editor de programas PICAXE. Parte Cinco: Trabalhando com o PC e seu termômetro Agora que você tem uma conexão do seu projeto de temperatura para o PC, você pode querer representar graficamente os dados ou salvar os dados em um arquivo de registro no disco. Há muitas opções disponíveis, mas vou discutir duas abordagens simples para capturar os dados em formato de texto. 1) Use o Editor de Programação PICAXE quotTerminalquot para capturar a saída serial. Este projeto enviará dados seriais a 2400 BAUD, sem paridade, 8 bits de dados e 1 bit de parada. (2400, n, 8,1) 2) No Microsoft Windows XP, você pode usar o Hyper Terminal para capturar dados usando as configurações em 1 Ambos os cenários acima permitirão que você copie dados para o buffer do sistema operacional e, em seguida, transfira esses dados para outro programa, como o Excel, simplesmente digitando o texto no buffer. Outra opção é que você pode usar um programa gratuito como o StampPlot Pro do SelmaWare para plotar os dados seriais em tempo real. Eu usei a opção de gráfico quotCalc-n-Plotquot do StampPlot Pro porque eu posso adicionar uma função matemática ao programa que funciona em cada elemento de dados recebido recebido do PIC. Os dados do projeto estão em graus Kelvin e o último dígito é a casa decimal, então você deve dividir por 10 para recuperar o decimal. Você pode então trabalhar com Kevin diretamente ou converter para Celsius ou Fahrenheit por simples matemática. A fórmula para converter os graus Kelvin (o último dígito de dados seriais é a décima). É no seguinte exemplo: /109/5-459.67 (assumindo A2 é o primeiro elemento de dados. A3 seria o próximo, etc.) Espero que você se divirta com o seu novo termômetro de registro de temperatura IV. Atualizações: 20110721 - Removido código embutido e refletido arquivo TXT anexado para melhorar a legibilidade 20110701 - Atualizado para refletir nova placa de circuito gravada (negociando para alguns no eBay em breve. Verificar de volta) 20110701 - Atualizado para mostrar caixa de novo projeto (Newark H97, 9V sobre 5)

No comments:

Post a Comment