Saída analógica (2-10V ou 4-20mA) com o Arduino

1,166 views
Skip to first unread message

Markos

unread,
Jul 1, 2015, 11:54:17 AM7/1/15
to sis_emb...@googlegroups.com
Oi Pessoal,

Gostaria de fazer a automação de uma bomba usada em laboratório e pretendo usar o Arduino.

Mas gostaria antes de verificar com vocês se estou seguindo um raciocínio correto, e peço a paciência de vocês para algumas perguntas básicas.

O manual dessa bomba está disponível em:
http://www.coleparmer.com/Assets/manual_pdfs/A-1299-0860.pdf

Ela possui um conector DB9 na parte traseira que permite fazer o controle de velocidade aplicando uma tensão de 2-10 entre os pinos 1 e 3 do conector DB9 (e jumpeando os pinos 7 e 6)

Eu estou pensando em medir a resistência entre os pinos 1 e 3 para checar quanto de corrente será drenado ao aplicar tensões de até 10V.

No entanto a placa Arduino não possui saída analógica. Então eu teria que transformar a saída PWM em uma saída analógica.

Encontrei 2 tutorias:
https://arduino-info.wikispaces.com/Analog-Output
http://www.instructables.com/id/Arduino-RC-Circuit-PWM-to-analog-DC/

Ainda vou estudar esses tutorias com calma.

No tutorial https://arduino-info.wikispaces.com/Analog-Output ele usa um AO como seguidor de voltagem.

Mas como a saída do Arduino é de no máximo 5 V estou pensando em colocar na saída do seguidor de voltagem um Amplificador Não-Inversor, ou seja, com realimentação negativa e aplicação de sinal na entrada não-inversora (http://www.c2o.pro.br/hackaguas/apb.html#idp3664872) com Rf = Ri e ganho 2.

Gostaria de ouvir os comentários de vocês para saber se estou no caminho certo ou se existe uma forma mais simples e acessível de fazer isso.

A bomba ainda possui a possibilidade de controlar a velocidade aplicando um sinal de 4 a 20mA entre os pinos 2 e 3.

Mas ainda não sei como gerar a saída de 4-20mA com o Arduino. Alguma dica?

Obrigado,
Markos

Francesco

unread,
Jul 1, 2015, 2:00:49 PM7/1/15
to sis_emb...@googlegroups.com
Olá Markos,

Tudo bem?
Entendi o funcionamento do seu circuito e o que pretende fazer. Acho que posso te ajudar nessa interface. Vamos lá.

Como você não conhece o circuito interno da bomba, não pode garantir que a resistência entre os pinos 1 e 3 é linear. Muito provavelmente existe um amplificador para fazer o condicionamento desse sinal, e isso vai te retornar um valor de resistência maluca que não vai fazer sentido.

Quando a corrente necessária é importante, normalmente ela é documentada. Como não há indicação, acredito que a corrente seja baixa o suficiente para ser considerara praticamente zero. Se você fizer um condicionador de sinal para saídas de alguns mili-ampéres, deve atender. Um amplificador operacional vai te dar uns 2mA pelo menos, isso deve ser o suficiente.

Quanto ao Arduino ter uma saída de 0 a 10V, você pode utilizar um DAC externo, mas o PWM deve atender.
Os circuitos de filtro que indicou nos links também devem ser o suficiente. Você pode alterar o circuito http://www.gammon.com.au/images/PWM_to_Analog3.png colocando um amplificador com ganho na saída.

Um amplificador não inversor deve atender. http://ecetutorials.com/wp-content/uploads/2014/01/noninvrt.gif
Alimentando o amplificador com uns 15V e garantindo um ganho de 3 vezes já devem ser o suficientes para ter uma saída de mais de 10V. Aí você coloca a tensão mínima de 2V por software.

O que acha?
Um abraço.

Francesco
--
Você recebeu essa mensagem porque está inscrito no grupo "sis_embarcados" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para sis_embarcado...@googlegroups.com.
Para postar nesse grupo, envie um e-mail para sis_emb...@googlegroups.com.
Acesse esse grupo em http://groups.google.com/group/sis_embarcados.
Para mais opções, acesse https://groups.google.com/d/optout.

Markos

unread,
Jul 2, 2015, 10:55:59 AM7/2/15
to sis_emb...@googlegroups.com
Oi Francesco,

Eu não tinha noção que a corrente forneceida pelos AOs eram tão baixas.

Estou com dificuldade para encontrar essa informação nos Datasheets.

Por exemplo, no datasheet do TL084CN eu não encontro o parâmetro Output Current.

Como eu localizo essa informação?

Você chegou a citar o uso de um DAC externo.  Você sugere algum CI, fácil de comprar, que pudesse simplificar essa tarefa?

Obrigado pelas orientações.

Um Abraço,
Markos

ala...@bonseletrons.com.br

unread,
Jul 2, 2015, 11:24:07 AM7/2/15
to sis_emb...@googlegroups.com

Em alguns OpAmps você precisa analisar os parâmetros de OutputVoltageSwing que geralmente vêm com uma especificação da resistência de carga. Mas geralmente é baixa, inclusive a do TL082/4 é uma das mais baixas

Mas saída de 4 a 20mA não vem direto de um OpAmp...

Enviado através do AquaMail para Android
http://www.aqua-mail.com

Francesco

unread,
Jul 2, 2015, 12:54:55 PM7/2/15
to sis_emb...@googlegroups.com
Olá Markos,

Tudo bem?
Gostei dos pontos que levantou. Vamos lá.

Quanto a corrente de saída do TL084CN. Estou usando este datasheet para te dar a informação:
http://ampslab.com/PDF/tl084cn.pdf

Repare no circuito da página 2 que existe três resistores, dois de 100R e um de 200R. Caso a corrente venha pelo transistor de cima, um resistor de 100R estará em série em relação ao 200R. Caso seja o transistor de baixo, outro 100R estará em série com 200R. Seja qual for o transistor, para o seu amplificador sempre haverá uma resistência de 300R em série. Como a alimentação máxima é de + ou - 18V, aplicando U=R*I teremos uma corrente máxima de saída de:
18V=300R*I
I=60mA

Se olharmos o Ios do datasheet (Output Short Circuit Current ), o valor típico é de 40mA, e o máximo 60mA. Isso condiz com o nosso cálculo.

Se analisarmos outro amplificador operacional, o CA3140 por exemplo, teremos um campo mais claro.
http://www.b-kainka.de/Daten/OPV/CA3040.pdf
Se olhar o "Maximum Output Current" verá 10mA para Source (fornecer) e 1mA para Sink (drenar).

Tudo bem quanto aos amplificadores?

Sobre o sei equipamento, no datasheet que enviou localizei uma informação importante.
Do documento http://www.coleparmer.com/Assets/manual_pdfs/A-1299-0860.pdf, dê uma olhada na página 14.
Existe um campo chamado "2-10V input", que indica uma impedância típica de entrada de 10K.

Sendo assim, você pode considerar que a corrente máxima que ele vai exigir é (aplicando novamente U=R*I):
10V=10K*I
I=1mA

Se você estiver com receio que a corrente do amplificador não seja suficiente, pode colocar um transistor de saída para garantir. Escrevi um artigo sobre isso:
http://www.embarcados.com.br/buffers-e-seguidores-de-tensao/

Quanto ao DAC, dependendo da precisão que precisar você pode usar um padrão R-2R. Essa montagem é bastante simples.
http://ikalogic.cluster006.ovh.net/wp-content/uploads/8bitdac_2.jpg
Resistores de 1K e 2K com 1% resolvem sua vida.

No entanto, se quiser um circuito integrado para fazer isso, pode usar o DAC0832.
http://www.ti.com/lit/ds/symlink/dac0830.pdf
Você pode encontrá-lo no: http://www.soldafria.com.br/circuito-integrado-dac0832-p-1239.html

Existe também o MCP4725, que comunica SPI e consegue gerar sinais analógicos para você:
http://www.filipeflop.com/pd-1eb0b7-conversor-digital-analogico-mcp4725.html?ct=&p=1&s=1

Espero ter ajudado.
Um abraço.

Francesco

Rafael Dias

unread,
Jul 2, 2015, 1:50:24 PM7/2/15
to sis_emb...@googlegroups.com
olha que legal este artigo que encontrei no EDN: 

acredito que seja possível alterar o projeto para usar componentes mais fáceis de encontrar nos distribuidores nacionais. 


ala...@bonseletrons.com.br

unread,
Jul 2, 2015, 2:07:09 PM7/2/15
to sis_emb...@googlegroups.com

Bem legal esse circuito!

Mas se quiser apenas um precisão de apenas 2% dá para usar LM358 e transistores...

Enviado através do AquaMail para Android
http://www.aqua-mail.com

Rafael Dias

unread,
Jul 2, 2015, 2:32:54 PM7/2/15
to sis_emb...@googlegroups.com
e também não se esqueça de fazer um sistema para calibração. 

Markos

unread,
Jul 3, 2015, 2:38:23 PM7/3/15
to sis_emb...@googlegroups.com
Oi Francesco,

Muito obrigado pelas explicações didáticas.

Me ajudou a tirar mais informações dos datasheets e conhecer um pouco mais as características dos AOs.

Obrigado pela paciência de ler o manual da bomba. Não tinha percebido que haviam informações importantes no final do manual.

Li o seu artigo sobre seguidores de tensão. Muito didático, vou colocar o link no meu site.

Eu já tinha visto rapidamente a técnica R2R, mas não me lembrava dela.

Apenas mais uma pergunta.

Para esse tipo de aplicação eu poderia usar uma fonte simples ao invés de uma fonte simétrica?

Você citou no seu artigo o LM741, o LM324 e o CA3140.

Tive a impressão que apenas o LM324 poderia ser alimentado por uma fonte simples.

Será que eu poderia usar também, um 741 ou o TL084CN ou o CA3140, com uma fonte simples para essa aplicação?

Além disso estou tendo dificuldade para encontrar uma lista de AOs que trabalham com fonte simples.

Você teria uma lista de AOs feitos para trabalhar com fonte simples mas disponíveis comercialmente?

Obrigado pela atenção,
Markos

Andre Alexandre

unread,
Jul 3, 2015, 8:27:18 PM7/3/15
to sis_emb...@googlegroups.com
Qualquer op-amp pode ser alimentado por fonte simples... Você só precisa entender as limitacoes que tera ao fazer isso. O que acontece, principalmente nos modelos similares ao 741, é que o op-amp não consegue atingir na saída a mesma tensão de alimentação... normalmente é uns 2 volts a menos no positivo e no negativo.

Logo p/ sua aplicação, onde no que eu entendi os sinais não tem parte negativa, não é obrigatório a fonte simétrica.  

Faça os calculos p/ verificar se essa limitação na saida nao te atrapalha... ou siga a solução fácil e use um op amp rail to rail. Eles não tem essa limitação (ou é bastante reduzida).

Abraços

Markos

unread,
Jul 4, 2015, 9:26:37 PM7/4/15
to sis_emb...@googlegroups.com
Valeu Rafael e Alain.

Francesco

unread,
Jul 6, 2015, 5:45:17 PM7/6/15
to sis_emb...@googlegroups.com
Olá Markos,

Acabei ficando offline esse final de semana e só vi sua mensagem agora.
Fico feliz que esteja amparado. O Alain e o Rafael te deram um suporte.

Apenas complementando as informações que o Rafael colocou, tomando o TL084CN como referência, vamos analisar este datasheet:
http://ampslab.com/PDF/tl084cn.pdf

Se reparar na página 3, no topo da página ele toma como característica uma alimentação de + ou - 15V. Repare a linha Vopp: repare que a tensão de saída é de 13,5V para uma carga de 10K (seu caso). Isso significa que ele perdeu 1,5V internamente, como comentou o Rafael.

No seu caso, você tem duas coisas a fazer:
1) Uma saída analógica.
Você pode usar um jogo de resistores (R-2R) ou um DAC dedicado. Também pode usar um PWM e um filtro passa-baixa para a saída. Em qualquer caso, seu sinal não passará dos 5V. Para chegar em 10V, precisa de uma amplificação.

2) Um amplificador para ganho.
Você pode usar seu TL084, uma vez que sabemos que a saída dele pode gerar o suficiente para a entrada do seu circuito. Um ganho de 2 vezes atende, mas pense que pode haver uma perda. Se colocar 3 vezes, pode definir o limite por software.

Nessas condições, uma solução bem didática seria:


- Onde você vê VS, entenda como a saída do seu microcontrolador.
- Os valores R1 e C1 seriam calculados para 10 vezes menos a frequência do seu PWM. Se você usar 500Hz, deve calcular para 50Hz.
- Os valores RA e RB devem ser calculados para um ganho de 3 vezes.
- Lembre-se de alimentar o +VCC e -VCC respectivamente com +15V e GND. Assim terá folga na tensão de saída.


Espero ter ajudado.
Um abraço.

Francesco

Markos

unread,
Jul 8, 2015, 11:37:17 AM7/8/15
to sis_emb...@googlegroups.com
Oi Francesco,

Obrigado pela atenção.

Essa troca de mensagens tem sido muito instrutiva.

Peço um pouco mais da sua paciência para analisar uma idéia que tive esta manhã.

Na tentativa de simplificar ainda mais o circuito, estive pensando se seria possível usar um acoplador ótico para gerar os pulsos de PWM já na tensão próxima dos 10V.

A idéia é a seguinte, considere o uso de um acoplador ótico no modo "emitter load" como descrito na configuração da direita da figura www.renesas.eu/media/products/opto/technology/usage/images/connection01.gif

Se eu aplicar em Vcc uma tensão próxima de 10V e aplicar o sinal PWM no led do fotoacoplador eu poderia gerar um sinal PWM já próximo da faixa de 10V que eu preciso.

Então usaria no emissor do fototransístor um filtro RC como você sugeriu.

Dessa forma eu poderia dispensar o uso do AO para amplificar o sinal.

Talvez não seja uma solução muito elegante, mas será que poderia funcionar?

O que você acha dessa idéia?

Um Abraço,
Markos

ala...@bonseletrons.com.br

unread,
Jul 8, 2015, 12:05:56 PM7/8/15
to sis_emb...@googlegroups.com

1) da para fazer mais simples e mais confiável com dois transistores
2) mesmo assim não fica bom porque vai ficar muito mais difícil de filtrar
3) e ainda vai precisar de um OpAmp na saída como buffer...

Enviado através do AquaMail para Android
http://www.aqua-mail.com

Francesco

unread,
Jul 20, 2015, 5:18:49 PM7/20/15
to sis_emb...@googlegroups.com
Olá Markos,

Como está?
Você chegou a testar alguma solução?
Um abraço.

Francesco

Marcelo Jo

unread,
Jul 20, 2015, 5:35:07 PM7/20/15
to sis_emb...@googlegroups.com
  Ei.. tava pensando.. já q não usa nada de corrente, um ldo programável + um dac não resolveria o problema? =D Tipo, na tensão de feedback a gente coloca o DAC de forma q a gente tenha a tensão de saída entre 0 e 10V! 

  Marcelo

Markos

unread,
Jul 21, 2015, 10:30:47 AM7/21/15
to sis_emb...@googlegroups.com
Oi Francesco,

As suas sugestões (e dos demais colegas) estão sendo muito úteis para ajudar um colega que está tentando automatizar o controle de bombas peristálticas em laboratório.

A demanda original partiu de uma pergunta que foi postada na lista https://br.groups.yahoo.com/neo/groups/agua-olhar-integral/conversations/messages/618

A partir desse pedido eu também passei a procurar ajuda para auxiliar o colega e postei as perguntas na lista sis_embarcados.

A demanda original do colega é fazer o controle de bombas de laboratório, mas eu também me interessei pelo assunto para futuras aplicações em eletroquímica.

Se você quiser acompanhar como rolou esse bate-bola vai encontrar na página:
https://br.groups.yahoo.com/neo/groups/agua-olhar-integral/conversations/messages

as mensagens com o tópico "Vazão Bomba Masterflex".

Eu procurei também compartilhar na lista as contribuições que recebi na lista sis_embarcados (https://br.groups.yahoo.com/neo/groups/agua-olhar-integral/conversations/messages/642).

E aproveitando a mensagem, encontrei na página:
http://sim.okawa-denshi.jp/en/PWMtool.php

Um calculador muito prático que ajuda a determinar os melhores valores de R e C em filtros passa baixa.

Encontrei essa página através do artigo http://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/

Logo que tiver meus próprios exemplos, compartilho na lista.

Um Abraço,
Markos

marcelo martins

unread,
Jul 21, 2015, 10:50:36 AM7/21/15
to sis_emb...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages