Diminuir ruídos com ADC de 24bits

Circuitos eletrônicos, topologias, diagramas elétricos, etc...

Moderadores: 51, Renie, gpenga

Mensagempor Jozias del Rios » 26 Dez 2010 11:02

Prefiro brincar com splines...
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor styg » 28 Dez 2010 08:44

andre_teprom escreveu:
styg escreveu:... que problema pode ter eu testar/validar com um ad de 24b e depois trocar por um de 16b pra ver se satisfaz...


Já começa com o problema de ter que tabelar todo o range de valores de entrada A/D.
16Bits tabelados significa uma memória não-volátil de 2^16 words (=65K).

+++


Andre, eu nao vou tabelar, vou usar funções pra normalizar a curva.
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor andre_luis » 28 Dez 2010 10:13

styg escreveu:...Andre, eu nao vou tabelar, vou usar funções pra normalizar a curva...


Modelamento por funções não-lineares não atende ao requisito de precisão.
Como o próprio nome diz, trata-se de um "modelamento", o que significa que o sistema irá aproximar a resposta, mas não irá responder exatamente como deve ser. Funciona bem para pequenos ranges de valores, até com relativa precisão, mas no seu caso, vai de 0 á 500oC.

Para voce confirmar essa tese, execute a função de calculo do erro máximo extraído da sua funçaõ contra os valores obtidos por medição. Se ficar abaixo dos 0,1oC, pode usar essa abordagem por modelamento.

Lembrar que terá de lidar com cálculos massivos, provavelmente em float.
Além disso, calibrações em tempo de execução ficarão complicadas.

Será importante pré-tratar os valores, afim de extrair "pontos-fora-da-curva" ou normalizar os valores pela média aritmética dos pontos da vizinhança.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor die6o » 28 Dez 2010 10:22

André.
Conhecendo-se o RTD, ou o que seja, e tendo a curva padrão normatizada.
O que se faz, é dividir esta curva em N partes, onde cada uma destas partes equivalem a lineares.
Desta forma é criada uma tabela de comparação, onde mede-se a resistencia do RTD, descobre em qual das faixas se encontra, então é invocada a rotina de cálculo com as constantes polinomiais pertinentes a esta faixa.
Eu possuo um projeto, onde o PT100 foi feito desta forma com faixa de -50 a +500, foram 7 divisões lineares "ou quase". 0.038...0.0378....0.0398...etc..

entre uma faixa e outra, por n °C, a constante R°C é fixa e linear, derrepente ela muda e se mantem neste novo valor até X°C acima. Assim que se divide....

Com a matemática avançada de hoje em dia, e com a tecnologia uC, eu acho meio que desperdicio de tempo utilizar tabelas gigantescas....

Mas como dizem, funcionar é o que importa!!

Abraços
die6o
Nibble
 
Mensagens: 71
Registrado em: 07 Mar 2007 13:26

Mensagempor andre_luis » 28 Dez 2010 12:02

die6o escreveu:...O que se faz, é dividir esta curva em N partes...


Com certeza, essa estratégia pode aumentar a precisão do modelo.
Voce teve oportunidade de confrontar a acurácia alcançada contra um medidor de referencia ?

Porém, acredito que se no caso do styg, se o sensor for tratado como uma sonda ( não sendo atralado ao aparelho ), a questão da calibração terá de ser avaliada, a o uso do modelamento poderá ser comprometido.


+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor Jozias del Rios » 28 Dez 2010 12:06

Obs: usar splines já supõe a divisão em n-partes, mas não faz interpolação linear, mas geralmente cúbica dentro dessas partes.
Os vencedores são aqueles que sabem o que fazer se perderem.
Os perdedores são aqueles que não sabem o que fazer se ganharem.
Avatar do usuário
Jozias del Rios
Byte
 
Mensagens: 279
Registrado em: 31 Out 2009 03:36
Localização: SJCampos-SP

Mensagempor styg » 02 Jan 2011 17:48

Andre, no meu caso o sensor é fixo no interior do equip, então depois de feita a aproximação da curva como o diego falou (prefiro equações à tabelas) provavelmente só farei uma pré-calibração de fábrica para compensar as diferenças entre sensores.

Não comecei a mexer com essa parte do modelamento, mas uma vez já usei esse lance de várias equacoes para uma reta, mas um problema que me lembro que ocorria era o seguinte:

por exemplo, em um trecho da curva (de 15 a 70°C) a equacao da temp é de 1,0x o valor do sensor, e no próximo trecho (de 70.1 a 140°C) é de 1,1x.
Aí quando a temperatura lida estiver variando entre 70 e 70.1, quando for 70°C, aplicando a equação daria 70 mesmo, e quando desse 70.1 já entra a outra equação e o valor daria 77,1°C, entederam?? o problema que eu vejo é nos pontos da curva onde tem mudança na equação.
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Mensagempor MOR_AL » 02 Jan 2011 22:37

styg escreveu:...
Não comecei a mexer com essa parte do modelamento, mas uma vez já usei esse lance de várias equacoes para uma reta, mas um problema que me lembro que ocorria era o seguinte:

por exemplo, em um trecho da curva (de 15 a 70°C) a equacao da temp é de 1,0x o valor do sensor, e no próximo trecho (de 70.1 a 140°C) é de 1,1x.
Aí quando a temperatura lida estiver variando entre 70 e 70.1, quando for 70°C, aplicando a equação daria 70 mesmo, e quando desse 70.1 já entra a outra equação e o valor daria 77,1°C, entederam?? o problema que eu vejo é nos pontos da curva onde tem mudança na equação.

Quando se aproxima uma curva por diversos segmentos de retas, para facilitar o cálculo do valor, faz-se com que o término do seguimento anterior coincida com o início do seguimento seguinte. Justamente para não ocorrerem tais erros.
O que eu concluo de sua observação, é que ou você pegou os valores apenas como exemplo do que queria expor, ou você pegou as equações com erro.
Eu fiz uma aproximação de uma curva com seguimentos de retas, com esse detalhe e o problema não ocorre.
Outro detalhe é que as aproximações da curva por seguimentos de retas introduzem um erro. Esse erro pode ser tão pequeno quanto desejado, com o "custo" de se dividir a curva com muitos seguimentos de retas, ou seja muitas equações do tipo y = ax +b

Editado: Acesse o endereço do outro fórum, que contém muitas informações sobre este detalhe.
http://www.forumnow.com.br/vip/mensagen ... 2209&pag=1
MOR_AL
Editado pela última vez por MOR_AL em 03 Jan 2011 13:05, em um total de 2 vezes.
"Para o triunfo do mal só é preciso que os bons homens não façam nada." Edmund Burke.
"Nunca discutas com pessoas estúpidas. Elas irão te arrastar ao nível delas e vencê-lo por possuir mais experiência em ser ignorante". Mark Twain
Avatar do usuário
MOR_AL
Dword
 
Mensagens: 2934
Registrado em: 19 Out 2006 09:38
Localização: Mangaratiba - RJ

Mensagempor andre_luis » 03 Jan 2011 08:26

styg,

A média ponderada pela visinhança pode reduzir esse erro.
Quanto mais um ponto estiver dentro de uma curva, e na visinhança da outra, voce terá de elaborar alguma regra, tipo :

Código: Selecionar todos
T1*(K1(T)) + T2*(K2(T)) / 2


Onde :
--> K1 e K2 são variáveis que tem o peso reduzido conforme se afasta do final da curva ( ex.: K=1 para o final da curva e K=0 para T="alguns graus dentro da curva" ).

Ou seja, se um ponto estiver muito dentro de uma curva, o efeito da outr acurva reduz-se á zero. E se estiver na fronteira das 2 curvas, o efeito pode ser a média das 2.

+++
"Por maior que seja o buraco em que você se encontra, relaxe, porque ainda não há terra em cima."
Avatar do usuário
andre_luis
Dword
 
Mensagens: 5447
Registrado em: 11 Out 2006 18:27
Localização: Brasil - RJ

Mensagempor styg » 04 Jan 2011 16:22

beleza, logo vou começar isso e se surgir algum problema volto a discutir aqui. valeu pessoal.
Lucas
Avatar do usuário
styg
Word
 
Mensagens: 799
Registrado em: 16 Out 2006 08:24
Localização: Floripa abaixo de zero.

Anterior

Voltar para Circuitos Diversos

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x