collapse

* Posts Recentes

Amplificador - Rockboard HA 1 In-Ear por almamater
[Ontem às 19:13]


O que é isto ? por KammutierSpule
[26 de Março de 2024, 19:35]


Bateria - Portátil por almamater
[25 de Março de 2024, 22:14]


Emulador NES em ESP32 por dropes
[13 de Março de 2024, 21:19]


Escolher Osciloscópio por jm_araujo
[06 de Fevereiro de 2024, 23:07]


TP4056 - Dúvida por dropes
[31 de Janeiro de 2024, 14:13]


Leitura de dados por Porta Serie por jm_araujo
[22 de Janeiro de 2024, 14:00]


Distancia Cabo por jm_araujo
[08 de Janeiro de 2024, 16:30]


Meu novo robô por josecarlos
[06 de Janeiro de 2024, 16:46]


Laser Engraver - Alguém tem? por almamater
[16 de Dezembro de 2023, 14:23]

Autor Tópico: Design de front end analógico para adc de 16 bits  (Lida 13378 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Design de front end analógico para adc de 16 bits
« em: 09 de Setembro de 2012, 00:16 »
Boas noites, ando aqui a inventar uma espécie de data logger que fala por CAN, e que tem um ADC de 16 bits, e tenho algumas/muitas duvidas quanto ao design do front-end que faz o drive do ADC, pelo que vi nuns videos do site da TI, eles têm lá esta lista de equações, a minha pergunta é, de onde vem tal coisa, e conhecem algum site/app note sobre como desenhar o front-end?



Estou a pensar usar sinal uni-polar, com a entrada in- do adc ligada á massa e usar uma referência de 4.096v, e usar um op-amp como buffer e para centrar o sinal em 2.048v, alguem pode dar uma ajudinha quanto a isto?
Avr fanboy

Offline msr

  • Mini Robot
  • *
  • Mensagens: 798
Re: Design de front end analógico para adc de 16 bits
« Responder #1 em: 09 de Setembro de 2012, 00:31 »
Acho que não percebi bem a dúvida mas fez-me lembrar umas pesquisas que fiz ha algum tempo e que talvez possam ajudar.
Guardei alguns links, aqui vão eles:

http://masteringelectronicsdesign.com/design-a-bipolar-to-unipolar-converter/
http://ww1.microchip.com/downloads/en/appnotes/00842a.pdf
http://www.ti.com/lit/an/slyt394/slyt394.pdf

Está relacionado?

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Design de front end analógico para adc de 16 bits
« Responder #2 em: 09 de Setembro de 2012, 01:11 »
A minha duvida, é que supostamente entre o op-amp que faz de buffer e o adc deve haver uns condensadores e resistências para dar a corrente certa e para filtrar, nesse print que meti, tem fórmulas para um sistema diferencial, a minha duvida é como calcular esses valores para um sistema unipolar.
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Design de front end analógico para adc de 16 bits
« Responder #3 em: 09 de Setembro de 2012, 01:47 »
"Dar a corrente certa"???
Diz a teoria que, antes de entrar no ADC, o sinal deve ser filtrado para serem removidas as frequências que estão fora do teorema de Nyquist e assim evitar aliasing (uma frequência alta fora do teorema pode ser "interpretada" pelo ADC como uma frequência mais baixa; eliminando o espectro que o ADC não consegue "apanhar", resolves o problema). O teorema de Nyquist é o tal que diz que para capturar correctamente uma frequência F, a frequência de amostragem deve ser maior que o dobro de F.
NOTA: o teorema refere-se a ondas sinusoidais; uma onda quadrada de frequência F é uma mistura de sinusóides de frequência F e de outras de frequências multiplas de F.

Tu espetaste aí com esse slide, só que também não dizes ao que é que ele se refere exactamente. GBW é "gain-bandwidth product" (o produto (multiplicação) do ganho pela largura de banda) e é um termo meio "genérico". Num AMPOP o GBW indica o "tradeoff" entre ganho e largura de banda; 1MHz de GBW diz-te que uma sinusóide de 1MHz só pode ser amplificada 1x, que uma de 500KHz pode ser amplificada 2x, que uma de 2MHz será 0.5x, etc.
« Última modificação: 09 de Setembro de 2012, 01:51 por Njay »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Design de front end analógico para adc de 16 bits
« Responder #4 em: 09 de Setembro de 2012, 02:01 »
O adc tem dentro dele condensadores para fazer o sample and hold, tens de ter um buffer e um condensador na entrada do adc para quando se faz o sampling do sinal que estás a medir não teres um pico positivo ou negativo de voltagem(conforme a voltagem lida anteriormente), é essa corrente que eu me refiro, mas ando para aqui a ler, e nem sei se deva pensar num front-end unipolar ou um diferencial, ao que me parece, circuitos para passar sinais single ended para bipolar é um bocado complicado de se fazer ou com ic's ultra especificos que custam 10€ e por lá perto.

Não é um slide, é um filme que está no site da Texas chamado Engineer It: How to get data sheet values from your SAR ADC, mas o link que aquilo dá para fazer embed no forum dá barraca e não consigo que o video apareça aqui.

Mas como os sinais que quero medir são unipolares, acho que é melhor usar o adc em modo unipolar, o contra é que algumas das caracteristicas degradam-se ao usar um sinal unipolar.
« Última modificação: 09 de Setembro de 2012, 02:03 por senso »
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Design de front end analógico para adc de 16 bits
« Responder #5 em: 09 de Setembro de 2012, 02:34 »
Não faço
(...) não teres um pico positivo ou negativo de voltagem(conforme a voltagem lida anteriormente), é essa corrente que eu me refiro, (...)
Mas afinal é tensão ou corrente :)?

Bom, não sei de onde vêm essas equações, mas antes de mais é preciso perceber o problema, quais são os requisitos do circuito ao qual as equações de aplicam. Sei lá, tipo, se tens cá fora um condensador à massa, esse condensador não pode ser muito grande senão estás a atrasar/filtrar o sinal e tb não pode ser muito pequeno senão tb não tá lá a fazer o que era suposto.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Design de front end analógico para adc de 16 bits
« Responder #6 em: 09 de Setembro de 2012, 02:40 »
No filme falam mesmo em voltagem, vou-te deixar o link do adc, e em baixo tens o filme, se tiveres tempo e não te importares de o ver, dá-lhe uma vista de olhos.

A ideia é simplesmente ter um buffer á entrada do adc, para ler sinais entre 0 e 5v ou menos, conforme a referência usada(actualmente no desenho tenho uma referência de 4.098v, até porque só tenho 5v de alimentação não posso usar uma referência de 5v com uma alimentação de 5v, largura de banda dos sinais a medir, diria que no máximo 100Khz, ou menos.
O filme encontra-se ao fundo da página:
http://www.ti.com/product/ADC161S626

EDIT:
Afinal não foi no video, foi na datasheet do adc:
Citar
2.6 Input Settling
When the ADC161S626 enters acquisition (tACQ) mode at the
end of the conversion window, the internal sampling capacitor
(CSAMPLE) is connected to the ADC input via an internal switch
and a series resistor (RSAMPLE), as shown in Figure 15. Typical
values for CSAMPLE and RSAMPLE are 20 pF and 200 ohms
respectively. If there is not a large external capacitor (CEXT)
at the analog input of the ADC, a voltage spike will be observed
at the input pins. This is a result of CSAMPLE and
CEXT being at different voltage potentials. The magnitude and
direction of the voltage spike depend on the difference between
the voltage of CSAMPLE and CEXT. If the voltage at
CSAMPLE is greater than the voltage at CEXT, a positive voltage
spike will occur. If the opposite is true, a negative voltage
spike will occur. It is not critical for the performance of the
ADC161S626 to filter out the voltage spike. Rather, ensure
that the transient of the spike settles out within tACQ; for recommended
solutions, see Section 4.0 in the Application Information.
« Última modificação: 09 de Setembro de 2012, 03:07 por senso »
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Design de front end analógico para adc de 16 bits
« Responder #7 em: 09 de Setembro de 2012, 03:55 »
Sim, tou a ver, é carga a viajar entre o condensador externo (que pode ser por exemplo o de um filtro RC) e o interno (de sampling). Se essa equalização de cargas tem que se dar no máximo em tACQ pode obviamente calcular-se o valor máximo para CEXT. O pior caso será quando tens 0V num e 5V (ou 4.096V, conforme o que quiseres considerar) noutro, e assumindo que não há outras cargas. Sabes que há uma resistência de 200 Ohm pelo meio, e que ao fim de algum tempo as tensões em ambos os condensadores serão iguais. Alguma energia será dissipada na resistência. Agora podes divertir-te a pegar nas fórmulas de carga/descarga do condensador e calcular a expressão de quanto tempo levam a ficar com a mesma tensão através da resistência de 200 Ohm, que deve dar uma equaçãozinha bem jeitosa para resolver :)!
« Última modificação: 09 de Setembro de 2012, 04:00 por Njay »

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Design de front end analógico para adc de 16 bits
« Responder #8 em: 09 de Setembro de 2012, 04:30 »
Era algo desse género que já me tinha ocorrido, e para simplificar a coisa, vou só deixar um buffer bipolar na placa com o adc, e depois se precisar de condicionamento de sinal, uso uma placa dedicada a cada tipo de sensor que quiser usar.
E obrigado pelas dicas que tens dado, amanhã ou segunda vou pegar nas datasheets e ver se ainda sei fazer contas..
Avr fanboy

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Design de front end analógico para adc de 16 bits
« Responder #9 em: 09 de Setembro de 2012, 18:31 »
Descomplica.

Ao teus requisitos são estes ? ::

A ideia é simplesmente ter um buffer á entrada do adc, para ler sinais entre 0 e 5v ou menos, conforme a referência usada(actualmente no desenho tenho uma referência de 4.098v, até porque só tenho 5v de alimentação não posso usar uma referência de 5v com uma alimentação de 5v, largura de banda dos sinais a medir, diria que no máximo 100Khz, ou menos.


# Como são EXACTAMENTE os sinais a converter ?   single-ended, diferenciais AC ou diferenciais com bias ?

# Apenas entre 0 e +VREF ?  o sinal por si já tem bias e só varia 1Vpp? se sim podes aumentar a resolução

# Máximo de 100kHz ?  atenção à frequência de conversão do ADC, qq coisa menor q 400kHz vai estargar o sinal. Atenção aos filtros de entrada, convem ser Anti-Aliasing.

mais detalhes please !!!

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Design de front end analógico para adc de 16 bits
« Responder #10 em: 10 de Setembro de 2012, 01:52 »
Os sinais a converter são desconhecidos, basicamente é uma placa multi-usos com um adc de 16 bits, comunicação can, e que tem os reguladores de tensão e referências de voltagem.
Os sinais decidi-me por usar diferencial e neste placa vai ter apenas um buffer a fazer o drive do adc com os devidos componentes para tirar o melhor partido possivel dos 16 bits, eu sei que usar uma placa extra não é o mais perfeito, mas assim mantenho a placa o mais flexivel possivel e não demasiado especializada.

Os sinais a alimentar a placa, se não estou a meter o pé na poça, seram transformados em diferenciais se não o forem originalmente, com um bias de VRef/2, que está decidido ficar nos 4.096 para não ter um LSB a representar uma voltagem minuscula.
Avr fanboy

Offline Sérgio_Sena

  • Administrator
  • Mini Robot
  • *****
  • Mensagens: 1.649
    • Electronic Gear for Musicians
Re: Design de front end analógico para adc de 16 bits
« Responder #11 em: 10 de Setembro de 2012, 10:06 »
Os sinais a converter são desconhecidos, basicamente é uma placa multi-usos com um adc de 16 bits, comunicação can, e que tem os reguladores de tensão e referências de voltagem.
Os sinais decidi-me por usar diferencial e neste placa vai ter apenas um buffer a fazer o drive do adc com os devidos componentes para tirar o melhor partido possivel dos 16 bits, eu sei que usar uma placa extra não é o mais perfeito, mas assim mantenho a placa o mais flexivel possivel e não demasiado especializada.

Os sinais a alimentar a placa, se não estou a meter o pé na poça, seram transformados em diferenciais se não o forem originalmente, com um bias de VRef/2, que está decidido ficar nos 4.096 para não ter um LSB a representar uma voltagem minuscula.


Acho curioso não se saber o sinal a adquirir :D LOL !

Então se decidires fazer a placa com diferencial, eu aconselho um InAmp de precisão, feito mesmo com ampops simples boa qualidade.
Uma Vref de 4.096 <1% e um chip voltage ref de 2.048 <1% para o Vref/2, para o bias. pode ser necessário aplicar buffer neste Vref/2 para ser alimentado em várias partes do circuito.

Eu gosto particularmente dos InAmp, mesmo que quase não tenham Ganho atribuido, pelo simplicidade e alta qualidade que fornecem ao sinal. Tenho tido resultados excelentes com ampops simples de qualidade, e que consigo medições muito precisas dos sinais que por ele passam.

Dizer mais vezes nunca é demais: atenção à frequência de aquisição. Não é que não se consiga. O importante é manter a qualidade do sinal na entrada do ADC nessas frequências altas.


Offline iyahdub

  • Mini Robot
  • *
  • Mensagens: 280
Re: Design de front end analógico para adc de 16 bits
« Responder #12 em: 10 de Setembro de 2012, 13:13 »
Se calhar a minha descoberta na loja de caridade aqui dava-te jeito... Apanhei 3 livros bem bons todos juntos lol

PS- Refiro-me ao do meio, claro !!


ps-Desculpen a falta de pontuacao, mas vivo no estrangeiro e os teclados sao xenofobos !!

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.733
  • Helpdesk do sitio
Re: Design de front end analógico para adc de 16 bits
« Responder #13 em: 10 de Setembro de 2012, 19:42 »
Os sinais a converter são desconhecidos, basicamente é uma placa multi-usos com um adc de 16 bits, comunicação can, e que tem os reguladores de tensão e referências de voltagem.
Os sinais decidi-me por usar diferencial e neste placa vai ter apenas um buffer a fazer o drive do adc com os devidos componentes para tirar o melhor partido possivel dos 16 bits, eu sei que usar uma placa extra não é o mais perfeito, mas assim mantenho a placa o mais flexivel possivel e não demasiado especializada.

Os sinais a alimentar a placa, se não estou a meter o pé na poça, seram transformados em diferenciais se não o forem originalmente, com um bias de VRef/2, que está decidido ficar nos 4.096 para não ter um LSB a representar uma voltagem minuscula.


Acho curioso não se saber o sinal a adquirir :D LOL !

Então se decidires fazer a placa com diferencial, eu aconselho um InAmp de precisão, feito mesmo com ampops simples boa qualidade.
Uma Vref de 4.096 <1% e um chip voltage ref de 2.048 <1% para o Vref/2, para o bias. pode ser necessário aplicar buffer neste Vref/2 para ser alimentado em várias partes do circuito.

Eu gosto particularmente dos InAmp, mesmo que quase não tenham Ganho atribuido, pelo simplicidade e alta qualidade que fornecem ao sinal. Tenho tido resultados excelentes com ampops simples de qualidade, e que consigo medições muito precisas dos sinais que por ele passam.

Dizer mais vezes nunca é demais: atenção à frequência de aquisição. Não é que não se consiga. O importante é manter a qualidade do sinal na entrada do ADC nessas frequências altas.



Considera-o como um data-logger genérico em que o condicionamento de sinal é feito numa placa secundária, assim tanto lá meto um termopar como um giroscópio ou acelerómetro analógico, ou meço voltagens e correntes, dai não saber que sinal é, porque efectivamente o que a placa vai ver é um sinal diferencial centrado em 2.048v.

Achas que é realmente necessário usar uma referência para me dar os 2.048v ou resistência de 0.1% não servem?
Andei a ver op-amps de instrumentação e maior parte do que vi interessante, são todos single ended, já tinha pensado neles para o condicionamento de sinal em si na placa secundária, mas para front-end do adc, não sei se serão tão uteis como um op-amp diferencial a sério.
Avr fanboy

Offline Njay

  • Mini Robot
  • *
  • Mensagens: 3.598
    • Tróniquices
Re: Design de front end analógico para adc de 16 bits
« Responder #14 em: 10 de Setembro de 2012, 22:00 »
Mais estranho num datalogger genérico é a interface ser CAN!