• Welcome to LusoRobótica - Robótica em Português.
 

Design de front end analógico para adc de 16 bits

Started by senso, 09 de September de 2012, 00:16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Sérgio_Sena

Quote from: senso on 10 de September de 2012, 19:42
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.



O Amplificador de Instrumentação é em sim um amplificador Diferencial com saída Single-Ended.

Em vez de usares InAmps já integrados num só, faz tu mesmo com vários ampops seguindo o esquema de princípio. Segue o livro da Analog Devices http://www.analog.com/static/imported-files/design_handbooks/5812756674312778737Complete_In_Amp.pdf, na pág 2-2, fig 2-4, tens um excelente exemplo. Usas bons ampops rail-to-rail e aplicas a Vref/2  onde diz reference.

Eu não aprecio mt o ADC dos Atmel, pelo menos dos XMEGA B que usei.... foram precisas algumas voltas em hardware para colmatar as estranhezas de decisões que eles tomaram dentro do chip.
Por isso aconselho a usar a forma single-ended.

Aliás... vais usar um ADC externo, correcto? ... há por aí uns mt bons :: Analog Devices, Burr-Brown (TI)...
Só tens que comunicar depois por SPI rapidamente com o micro.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Quote from: Njay on 10 de September de 2012, 22:00
Mais estranho num datalogger genérico é a interface ser CAN!

Ando com a mania de brincar com CAN, como ando de volta de um projecto semi comercial que é uma ignição programavel para motores 2 tempos, para uso em competição, adicionar um data logger ou dois para medir umas coisas, pode vir a ser vantajoso, dai a utilização de CAN.

O conversor que estou a pensar usar é da ex-National agora TI, referência ADC161S626, basicamente pesquisei na Mouser pelo que lá há(infelizmente não vendem nada da Analog, nem da LT, mas isso é outro caso...), e escolhi com base nas caracteristicas, que são as seguintes:

Conversion Rate: 50 kSPS to 250 kSPS
DNL:+ 0.8 / ? 0.5 LSB
INL: ± 0.8 LSB
Offset Error Temp Drift:2.5 µV/°C
Gain Error Temp Drift:0.3 ppm/°C
SNR: 93.2 dBc
THD: ? 104 dBc

Parece-me relativamente bom comparado com o preço, antes de escolher este adc tinha um outro da TI em vista, mas como não existe na Mouser, optei por este modelo, o op-amp diferencial que estou a pensar usar como buffer/front-end é o THS4531:
    Ultra Low Power:
        Voltage: 2.5 V to 5.5 V
        Current: 250 µA
        Power-Down Mode: 0.5 µA (typ)
    Fully-Differential Architecture
    Bandwidth: 36 MHz
    Slew Rate: 200 V/µs
    THD: –120 dBc at 1 kHz (1 VRMS, RL= 2 k?)
    Input Voltage Noise: 10 nV/?Hz (f = 1 kHz)
    High DC Accuracy:
        VOS Drift: ±4 µV/°C (–40°C to +125°C)
        AOL: 114 dB
    Rail-to-Rail Output (RRO)
    Negative Rail Input (NRI)
    Output Common-Mode Control

Que me parece apropriado, a referência de voltagem é uma REF4120 tambem ela da TI.
O micro-controlador elegido, será por agora um atmega, com o processamento de sinal a ser feito numa placa á parte que trata de criar logs, aplicação de filtro e outras funcionalidades, se quiser mover parte do processamento para o atmega e ele não der conta do recado, passo para um dsPic, um pic32 para tirar partido do raw power ou um cortex-m3, mas acredito que o atmega dê conta da coisa-.
Avr fanboy

Sérgio_Sena

Quote from: senso on 11 de September de 2012, 04:11
Quote from: Njay on 10 de September de 2012, 22:00
Mais estranho num datalogger genérico é a interface ser CAN!

Ando com a mania de brincar com CAN, como ando de volta de um projecto semi comercial que é uma ignição programavel para motores 2 tempos, para uso em competição, adicionar um data logger ou dois para medir umas coisas, pode vir a ser vantajoso, dai a utilização de CAN.

O conversor que estou a pensar usar é da ex-National agora TI, referência ADC161S626, basicamente pesquisei na Mouser pelo que lá há(infelizmente não vendem nada da Analog, nem da LT, mas isso é outro caso...), e escolhi com base nas caracteristicas, que são as seguintes:

Conversion Rate: 50 kSPS to 250 kSPS
DNL:+ 0.8 / ? 0.5 LSB
INL: ± 0.8 LSB
Offset Error Temp Drift:2.5 µV/°C
Gain Error Temp Drift:0.3 ppm/°C
SNR: 93.2 dBc
THD: ? 104 dBc

Parece-me relativamente bom comparado com o preço, antes de escolher este adc tinha um outro da TI em vista, mas como não existe na Mouser, optei por este modelo, o op-amp diferencial que estou a pensar usar como buffer/front-end é o THS4531:
    Ultra Low Power:
        Voltage: 2.5 V to 5.5 V
        Current: 250 µA
        Power-Down Mode: 0.5 µA (typ)
    Fully-Differential Architecture
    Bandwidth: 36 MHz
    Slew Rate: 200 V/µs
    THD: –120 dBc at 1 kHz (1 VRMS, RL= 2 k?)
    Input Voltage Noise: 10 nV/?Hz (f = 1 kHz)
    High DC Accuracy:
        VOS Drift: ±4 µV/°C (–40°C to +125°C)
        AOL: 114 dB
    Rail-to-Rail Output (RRO)
    Negative Rail Input (NRI)
    Output Common-Mode Control

Que me parece apropriado, a referência de voltagem é uma REF4120 tambem ela da TI.
O micro-controlador elegido, será por agora um atmega, com o processamento de sinal a ser feito numa placa á parte que trata de criar logs, aplicação de filtro e outras funcionalidades, se quiser mover parte do processamento para o atmega e ele não der conta do recado, passo para um dsPic, um pic32 para tirar partido do raw power ou um cortex-m3, mas acredito que o atmega dê conta da coisa-.



# os sinais poderão ser de 100kHz máx ?... então convém teres pelo menos 4x sampling-rate para teres alguma coisa de jeito...  2x é pouco para se ter uma boa resolução. Claro que há filtragens, mas... é uma decisão tua.

# esse ampop da TI só permite uma entrada diferencial máx de 1V.  É mesmo isso quer procuras ?

Quanto ao micro, exige mt velocidade de processamento matemático. Vê lá qual deles se adequa melhor ao teu projecto.
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Grande falha de seleção...
Estranhamente esse parametro não aparece nas pesquisas da Mouser, se calhar a melhor opção é mesmo fazer um op-amp diferencial a partir de vários single-ended.
Avr fanboy

Sérgio_Sena

Quote from: senso on 11 de September de 2012, 16:53
Grande falha de seleção...
Estranhamente esse parametro não aparece nas pesquisas da Mouser, se calhar a melhor opção é mesmo fazer um op-amp diferencial a partir de vários single-ended.


eu tenho usado os CLC2011, gosto mt das specs e são baratos

Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Obrigado pela referência, mas esse tem uma voltagem de saida máxima de 2.5v aproximadamente.
Avr fanboy

Sérgio_Sena

Quote from: senso on 12 de September de 2012, 22:20
Obrigado pela referência, mas esse tem uma voltagem de saida máxima de 2.5v aproximadamente.


como assim?  é IN/OUT rail-to-rail

ver VOUT characteristics @ Vs = +5V
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Na página 8, gráfico Output Swing vs. Load, o máximo e minimo são respectivamente +1.35v e -1.35v e na página 4, na tabela que fala sobre a voltagem de saida, a voltagem máxima é de 2.68v com uma carga de 10K na saida, mas nas features sim diz lá que é rail to rail IO, portanto estou um bocado confundido com isto tudo..
Avr fanboy

Sérgio_Sena

Quote from: senso on 12 de September de 2012, 22:34
Na página 8, gráfico Output Swing vs. Load, o máximo e minimo são respectivamente +1.35v e -1.35v e na página 4, na tabela que fala sobre a voltagem de saida, a voltagem máxima é de 2.68v com uma carga de 10K na saida, mas nas features sim diz lá que é rail to rail IO, portanto estou um bocado confundido com isto tudo..


na prática uso rail-to-rail a 3.3 e 5.0 e não falha !
para veres, uma montagem a fazer InAmp, alimento o andar final a +3.3V, tenho bias a 1.65 e faço swing desde 0.05V até 3.25V

mas este é um exemplo de ampop, se tens dúvidas arranja um e experimenta ou então testa com outro que aches melhor.
esta é só a minha experiência prática. Tive exactamente a mesma dúvida que tu qd vi o datasheet pela primeira vez, mas depois de experimentar conclui q afinal faz o rail-to-rail
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Eu acho que é a parte de falar lá em Vs/2 nos gráficos, as vezes as datasheets são muito pouco claras no que mostram, mas acredito na tua palavra, e se ele diz que é rail to rail e tu experimentalmente comprovas isso, só te tenho a agradecer, e por toda a ajuda que tens vindo a oferecer.
Avr fanboy

Sérgio_Sena

Quote from: senso on 12 de September de 2012, 23:11
Eu acho que é a parte de falar lá em Vs/2 nos gráficos, as vezes as datasheets são muito pouco claras no que mostram, mas acredito na tua palavra, e se ele diz que é rail to rail e tu experimentalmente comprovas isso, só te tenho a agradecer, e por toda a ajuda que tens vindo a oferecer.

ora essa, não é preciso agradecer
se por acaso fizeres alguns testes e comprovares um funcionamento desviado do meu, diz-me, para podermos comparar as notas. Assim aprende-se sempre !
Cumprimentos,
Sérgio Sena

Electronic Gear for Musicians

Instagram

senso

Pelo preço, quando o Hugo fizer a encomenda á Mouser mando vir uns quantos, e acho que finalmente dei com o filão certo de app-notes da Analog e da TI, quando acabar de ler deixo aqui links das melhores para quem quiser, assim como o esquema e talvez do layout final, porque metade da performance está no layout do pcb, não sei se vale a pena usar um pcb de 4 layer, se meter o design em 5x5cm na iTead são pouco mais de 60€ uma pcb de 4 layers.
Avr fanboy

senso

Bem, o Altium é cá uma dor de cabeça, agora que tenho um esquema que ocupa uma folha A3 completa está-me a dar uns erros de Unknown pin..

Dá em dois condensadores e num diodo, decidi apagar os condensadores e o diodo e os erros desapareceram, mas mal adiciono até um 1N4001 da lib Standart dá logo o mesmo erro :/

Imagens:


Alguem faz ideia de que raio de erros são estes?




E o que me aparece se meter até um componente standart:
Avr fanboy

Hugu

unknow pins... ao que parece n será por ter pinos no ar, mal ligados? mas pode ser dakeles erros que nem tem haver com o proprio erro, mas a bug qq, do tipo, limite maximo de comps atingidos no altium? tipo: qual a licença do teu altium?

senso

Licença de estudante..........................

Não, o problema é por ser um componente da lib standart com um footprint não standart, apaguei, reiniciei, refiz e passou-lhe as manias..
Avr fanboy