Tempo minimo do A/D do pic18f4520

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

Tempo minimo do A/D do pic18f4520

Mensagempor Guri » 13 Mai 2010 16:43

Então, eu sei que o time minimo ideal para um pic16f877a esta em torno de 50us, alguém sabe me dizer o time minimo para o A/D do pic18f4520?

Valeu,
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Re: Tempo minimo do A/D do pic18f4520

Mensagempor fabim » 13 Mai 2010 16:58

Guri escreveu:Então, eu sei que o time minimo ideal para um pic16f877a esta em torno de 50us, alguém sabe me dizer o time minimo para o A/D do pic18f4520?

Valeu,


guri, esse tempo é em função da resistencia interna antes switch e capacitor. Se acrecentar resistencia maior pra fora do pino esse tempo também aumenta proporcionalmente.
+/- Rexterno+Rinterno*C charge pump. ou capacitor de carga.

Sobre o 4520, vai na parte do ADC, tem um TDY que é o tempo de aquisição que voce escolhe entre 1 e 20 se não me engano clocks de maquina.

Quando tiver este tipo de duvida, antes de ficar meio preocupado. Basta você simplesmente dar uma passada de olho no datasheet.

Abraços e boa sorte
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor renatokodaira » 13 Mai 2010 19:45

Pelas minhas contas, considerando clock do 18F4520 a 40MHz, usando Tad de 0,8us (dividindo por 32 o clock principal), se a temperatura for de 40 graus celsius, se a resistencia da fonte de sinal for baixa da ordem de 100 ohms, eh possivel conseguir um periodo completo de conversao AD de 10us.

No caso do 16F877A, minha conta chega a um periodo de 33us.

Se voce nao tem familiaridade com datasheet, eu sugiro comprar o novo livro do Fabio Pereira : Microcontrolador PIC18 Detalhado Hardware e Software - baseado no 18F4520. Na LITEC eu paguei R$ 92 (R$ 98 no site da Editora Erica).
renatokodaira
Byte
 
Mensagens: 402
Registrado em: 11 Out 2006 15:15

Mensagempor Guri » 13 Mai 2010 22:33

valeu,


é o seguinte, no meu caso eu uso ler 3 pots sendo um em cada entrada A/D do pic18...então se eu der um delay de +/- 10us entre uma leitura e outra acredito que será o suficiente para ler os 3 pots numa boa sem "embaralhar" ou seja interferir uma leitura com a outra,

é justamente esse tempo "mínimo" que eu quero definir para poder fazer a leitura de cada pot e dar o delay necessario a descarga do CAP do A/D, entenderam...

no caso do pic 16 rodando a 5 mips eu tenho que dar um delay entre leituras de 50 us, caso contrário não dá tempo do CAP descarregar...

por esse motivo estou querendo ver a viabilidade de utilizar o A/D do pic18, supondo que o mesmo possa ser mais velôz, por isso da minha perguntinha "besta"....

valeu,
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Mensagempor fabim » 14 Mai 2010 11:08

á sim.
Então guri.
Internamente aos pinos, existem multiplex analogicos.

Suponha o seguinte.
Setei o mux1. (delay_us(10));
ADCON1.GO_DONE = 1;

while(ADCON1.GO_DONE);//fica preso enquanto não acaba conv..

Setei o mux 2 (delay_us(10));
ADCON1.GO_DONE = 1;

while(ADCON1.GO_DONE);//fica preso enquanto não acaba conv..

Agora, da seguinte maneira a observar.

O mux desligou o canal 1, e ligou-se ao canal 2.
O tempo de 10uS é o bastante ?
Depende, quando falamos de resistencia. Falamos sobre casamento de impedancia no geral. Vai ler o potenciometro ? qual a resistencia dele ?
Á fabim, 10K por exemplo. É alta pra burro, mas mesmo assim pode ser burlado sua resistencia, como ?

Colocando-se um capacitor em paralelo com saida do potenciometro e terra.
No momento em que o mux chavear para qualquer potenciometro, o capacitor de carga e filtro, vai ter uma corrente armazenada bem maior que a corrente armazenada no capacitor interno de charge pump, levando em consideração ainda o resistor interno que serve para evitar essas pancadas de DDP.

Ou seja, se tiver um capacitor de uns 100nF em paralelo, tu faz o seguinte. nos 18F tu seja o TCY do ADC pra 20 +/-, e o delay entre um e outro após setar o mux, tu pode colocar uns 5 ou 10uS...

Agoa não confunda velocidade de sample rate.

Por exemplo os 18F, caso eu não me engane agora. o maximo clock do adc é de 3mhz que seja mais.
Para você saber qual a maxima frequencia de sample, atingindo o fundo de escala de um ADC.

3 000 000/ (bim fundo de escala 1024).
= 2929.6875.. num pode esquecer que tem o TCY e ainda o delay do mux...

Bom, viu como é o buraco ?

OS cabras dizem 60ksps, em média!!!!! e não fixo. nem em 8 bits.

Veja, suponha que iriamos obsrvar como over de 10 bits, e basearnos nele pois iriamos trabalhar com interrupt.

quero 50Ksps

256+1*50 000 = 12850000
Como você consegue esse clock ? no 18f4550 que trabalha com 48mhz principal.. nem assim poderia, pois esta ultrapassando o fundo de escala de clock.

é brabo, mass fazer o que
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Guri » 16 Mai 2010 08:43

muito obrigado a todos e a vc fabim pelas explicações,

realmente, utilizando uma resistencia de 10k no pot e um delay de 50us é o mínimo que consegui para ler os tres pots na sequencia, valores menores que 50us tornam instaveis a leitura...

só mais uma perguntinha caso tenham já feito esse teste e fica de dica para os outros colegas: se eu utilizar só uma entrada do a/d e utilizar um mux tipo 4051 externo e ir selecionando os posts, fazendo a leitura individual é claro de cada um, porém na saida do mux e entre a entrada do a/d eu introduzir um O.P. com ganho 1? será que esse recurso garantiria uma impedancia bem baixa na entrada do a/d e com isso ganhariamos maior velocidade de leitura entre um pot e outro?
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais

Mensagempor fabim » 16 Mai 2010 09:29

guri.

Entre um resistor e outro vai haver DDP da mesma forma, só que ai a diferença de tensão vai influenciar pouco o 4051. Mais lembre-se, ele tem capacitancia parasita, e ainda o tempo de delay in-out etc..

Só que tu esta usando um buffer na saida. Isso vai ajudar muito.


Pode expeguimentar que vai ver que consegue facilmente coisa de 10..20uS... TCY
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor Guri » 16 Mai 2010 21:07

então fabim, eu vou testar isso amanhã e reportarei o resultado, mas acredito que seja uma boa saída para burlar esse problema...
Guri
Byte
 
Mensagens: 457
Registrado em: 25 Abr 2010 09:05
Localização: Minas Gerais


Voltar para PIC

Quem está online

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

cron

x