ADC PIC18F4553

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

ADC PIC18F4553

Mensagempor brasilma » 08 Ago 2012 17:40

Olá Colegas,

Estou fazendo a leitura utilizando referencia interna e o comando adc_read(X) do MikroBasic porem o valor não fica estável (variação chega a 7-8 unidades para um sinal estável - seria necessário uma variação de 10mV para isto, o que não ocorre).

Se curto circuitar a entrada com o terra a leitura fica zerada.

Alguém pode me dar dicas de algum teste que posso fazer para descobrir o que está acontecendo?

Obrigadúuuuuuuuuuuuuuu
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Andre_Cruz » 08 Ago 2012 23:09

brasilma véi !

Como esta configurado os tempos de conversão do CAD ?
Passa mais informações da tensão que esta sendo usada como referência e qual circuito você tem ligado no canal do CAD que esta apresentando problema.
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor ze » 09 Ago 2012 09:18

oi bra. Talvez não lhe seja totalmente inútil...
já passei por isso com um sinal de termopar. ao amplificar 200x ele amplificava tudo até mesmo uma tal de corrente parasita que vinha do gnd. O truque pra resolver foi colocar os terras direito: que o terra do sinal morra direto no pino gnd do pic e dali não vá pra lugar nenhum. Tipo assim: gnd sinal, gnd amplificador, gnd mc. Como a variação com o tempo era irrisória, considerei como dc, coloquei um R em serie e um C entre a entrada e gnd. Ficou lisinho (ui!) até mesmo num protoboard. E olha que o ref era o +5 do mc. Ah, também fiz a media de varias leituras. p.ex some 10 leituras e divida por 10
sucessos colega!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor brasilma » 09 Ago 2012 10:14

Obrigado a todos,

Para não ter dúvidas sobre a estabilidade do sinal, estou usando no momento como fonte de sinal uma pilha palito AA.

Como referência já utilizei referência interna 5V e externa com um LM385, a qual ajustei para 2,000V.

Vou implementar a ideia do terra direto no pino do PIC!!!

André, me fala mais sobre esta questão dos tempos de conversão, como funciona e pode afetar na estabilidade, apesar de acreditar que a função adc_read(X) do MikroBasic já configure isto automáticamente.

Mais uma informação, estou usando Clock externo com cristal.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor Djalma Toledo Rodrigues » 09 Ago 2012 10:35

Correto Lellis

Qualquer Circuito Analógico, gnd é fundamental

Ressalva é fazer o uC dividir por 10 tadinho

porque não por 8 ? 2³ gira gira gira

DJ
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor ze » 09 Ago 2012 10:46

só complementando/corrigindo... que o terra da fonte VÁ direto no pino do mc e não VENHA através do circuito do ad.
Peço também que considere a dica do amigo DJ (que chegaram a dizer que é outro eu. as vezes fico na dúvida). 10 facilita a conta na nossa cabeça. 8 na dos mc. 10 DJ! ou melhor, 8!
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor Djalma Toledo Rodrigues » 09 Ago 2012 10:52

brasilma escreveu:Obrigado a todos,

Como referência já utilizei referência interna 5V e externa com um LM385, a qual ajustei para 2,000V.
.


2.000V ? Resulta mV / Bit fracionado

Ref. fracionada 2.048V = 2^11 fica bem mais facil

redondinho
Avatar do usuário
Djalma Toledo Rodrigues
Dword
 
Mensagens: 2334
Registrado em: 03 Ago 2008 13:22

Mensagempor Andre_Cruz » 09 Ago 2012 12:44

brasilma,

Leia a página 21 do datasheet do PIC que você esta usando, o registrador ADCON2 é o responsável pro configurar quanto tempo o CAD vai levar para efetuar a conversão.
Se este tempo estiver muito pequeno você pode ter leituras incorretas.
Não sei como isso é configurado no mikrobasic deve ter alguma função, senão encontrar configure diretamente no registrador.

Nesta página tem uma explicação melhor do que estou dizendo http://extremeelectronics.co.in/microchip-pic-tutorials/using-analog-to-digital-converter-%E2%80%93-pic-microcontroller-tutorial/

Aproveitando a dica do DJ e lellis use de referência tensão multipla 4096 para facilitar as contas internamente no PIC, e evite dividir por números diferente de 2^x tipo 2^1 = 2^2 = 4, e assim sucessivamente.
Andre_Cruz
Word
 
Mensagens: 559
Registrado em: 03 Jan 2009 14:06

Mensagempor brasilma » 09 Ago 2012 13:17

Obrigadão Lellis, Djalma e André!!!

Prossigo com os testes agora a tarde, e assim que tiver outras informações retorno.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor brasilma » 10 Ago 2012 08:27

Fiz alteração no terra, ajustei a referência para 2,048V, e testei vários valores para o Tad e Tclock no ADCON2 mas até agora nada de parar completamente a variação.

Uma coisa interessante é que com a referência no valor que inseri (2,048V) a leitura multiplicada por 0,0005 (o AD é de 12bits) deveria dar exatamente o valor que está na entrada, e está dando mais, para exibir o valor correto preciso utilizar uma referência de 2,151V.

Bom, já estou praticamente conformado e já querendo seguir em frente, pelo momento estou amenizando a coisa fazendo uma media de leituras, porem surgiu mais uma ideia:

A configuração dos fuse bits poderia de alguma forma estar influenciando a questão???

Uso clock externo com cristal de 8MHz, qual seria a configuração correta?
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Mensagempor andre_luis » 10 Ago 2012 20:42

Brasilma,


Será que poderia ser ruído gerado internamente pelo próprio uC ?
Já tive problemas com a família PSoC no passado.

Experimenta despejar um pouco de gás congelante ( ex.: limpa-contato ) sobre o CI e verifica se a amplitude do ruído diminui um pouco.


+++
"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 RobL » 10 Ago 2012 21:15

Por acaso estas chaveando (saidas ) portas vizinhas (cross talk) à sua porta de entrada do ADC?

Se estiver, pode estar aí o problema. Silencie elas e teste.

Melhor, pare todo tipo de chaveamento (portas como saida) e teste seu ADC.
RobL
Dword
 
Mensagens: 1546
Registrado em: 20 Fev 2007 17:56

Mensagempor MOR_AL » 10 Ago 2012 21:46

Se sua tensão de referência for de 2,048V e o seu CAD tiver 12 bits, então seu bit menos significativo corresponderá a 500uV, o que é bem pouco em relação a comutações próximas de 5V.
O seu circuito analógico deverá ser bem isolado do circuito digital.
Um filtro passa-baixas (analógico ou digital) poderia reduzir o expalhamento da tensão, mas vai limitar a sua taxa de leitura.
MOR_AL
"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 Jorge_Francisco » 10 Ago 2012 23:59

Não esquece do capacitor em Vusb,mesmo não usando esta função OK.
Avatar do usuário
Jorge_Francisco
Dword
 
Mensagens: 1009
Registrado em: 12 Out 2006 09:53
Localização: Rio de Janeiro

Mensagempor brasilma » 12 Ago 2012 16:19

Obrigado a TODOS, as informações realmente são muito relevantes, irei testar tudo e assim que descobrir a causa volto aqui.

Abraços.
" A Teoria orienta e a Prática decide" ;-)
Avatar do usuário
brasilma
Dword
 
Mensagens: 3621
Registrado em: 11 Out 2006 15:39
Localização: Planeta Terra

Próximo

Voltar para PIC

Quem está online

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

cron

x