[DUVIDA] como atingir 5v(1024) no amp op lm324 pos PWM ?

Olá galera,

    Tenho uma duvida sobre conversão PWM para analogico que não consegui matar e preciso de ajuda.

    Fiz uma montagem, ligando a saida PWM de um arduino na entrada analogica, AO de um segundo arduino, obvio, que se ligar direto a leitura é maxima 1023 direto, ou seja, não rola.

    Dai foi utilizado um filtro RC,   com um resistor de 10k e um capacitor de 10uF.

    Se a ligação fosse só até aqui, a saida 5v (1023) estaria garantida,  mas mesmo colocando vários RC em série, as oscilações ocorrem.

    A saida foi colocar um amplificador operacional, eu usei um LM324, e os resultados foram bem mais estaveis.

    Porem, o lm324 consome parte da carga e o máximo que ele permite de saida é 3,75v (tendo sido alimentando com 5V), e mesmo utilizando os 4 amplificadores do lm324, não se obtem ganho em tensão, apenas melhora a estabilidade.

A DUVIDA:  Como faço pra alimentando o circuito descrito acima com 5V,  ter a saida maxima de 5v(1023) na leitura do segundo arduino sem usar artifícios nesse ultimo arduino como a funcao map ?

Exibições: 1768

Responder esta

Respostas a este tópico

Weider,

Eu tentaria subir a frequência do PWM do Arduino, assim você teria menos oscilação. Além disso, diminuiria o valor do capacitor. Não acho que uma cascata de AmpOp ajudaria muito.

Só não entendi porque não atinge 5V. Talvez esteja descarregando o capacitor na entrada do AmpOp quando conectado, dando uma tensão de entrada menor, porque na saturação, com ganho alto, deveria saturar no V+.

Dá uma olhada nesse link, talvez ajude:

http://provideyourown.com/2011/analogwrite-convert-pwm-to-voltage/

Boa sorte!

Marcelo,

   Obrigado por responder.

   Vamos lá,  eu não sabia que dava pra mudar a frequencia do PWM do arduino, nem sabia que os pinos  3,9,10,11 trabalha com 488 Hz, enquanto os pinos 5 e 6, trabalham com o dobro quase 977 Hz, acho que pouca gente sabe disso.

   Realmente com a dica, eu liguei a saida PWM que tava no pino 3,  no pino 5 e o resultado, só com o Filtro RC ficou muito mais estável que antes.

    Porem, ele continua com um valor menor que o do primeiro,  mas agora a diferença é bem melhor.

    Vou ler com mais calma todo o tutorial, e posto mais coisas.

   Mas por enquanto valeu mesmo.  OBRIGADO.

Para o meu ponto de vista, esse negócio de usar PWM para gerar sinal analógico é uma p---- gambiarra !

Eu usaria um DAC ( conversor digital analógico). 

Olá,

Concordo com o Marcelo, que aumentando a frequência, aumentará a estabilidade.

Era esperado ocorrer problemas ao ler um sinal PWM em porta analógica.

Seria muito esclarecedor saber o propósito de tal ligação pois não é a melhor forma de se enviar uma informação de um arduino ao outro.

Caso queira insistir no circuito, tenho algumas dicas:

 - Aumente a frequencia do PWM (sugerido pelo Marcelo)

 - Utilize apenas 1 circuito RC

 - Certifique-se que não há nenhum resistor Pull-UP ou  Pull-Down

 - Se quiser usar o LM324, alimente-o com pelo menos 7 volts para garantir que chegue a 5V

 - Ainda, se quizer usar o LM324 e precisar que a saída chegue a 0V, alimente-o com fonte negativa no lugar do GND

 - Considerando os 2 itens anteriores, alimente os LM324 com fonte simétrica a partir de 7V (-7V e +7V)

 - Valores RC muito altos pode fazer com que o circuito demore para responder principalmente com a ajuda do LM324, portanto, calcule os valores para poder atender o seu propoósito.

 - (o mais importante) Boa sorte!

  'Eiju

Obter 5V na saída se o integrado é alimentado com 5V não tem como, ele sempre vai ter perdas.

Vc pode pensar em:

- Minimizar as perdas usando um operacional "melhor" como o TL084, que inclusive tem a mesma pinagem.

- Usar uma realimentação capacitiva no AmpOp, isso gera um integrador que é um super filtro. Para essas frequancias seria até um exagero.

- Aumentar a alimentação (se quer 1023 mesmo é fundamental).

- Diminuir a tensão de alimentação/referencia do integrado receptor (gambiarra) de forma que o maximo dele seja por ex 3.3V.

- Aceitar a perda e fazer um map();

- Já sofri com isso no 8051 pq a saída dele tem impedancias diferentes quando está para GND e quando está para VCC (todos são assim, alguns piores). Apesar de ter (diferente do 8051 de 1978 tão criticado) o pushpull as impedancias são diferentes. Isso gera uma não linearidade. Na epoca pra melhorar eu coloquei um pullup externo de valor baixo, mesmo usando pushpull, que elevava um pouco o sinal embora como efeito colateral tirava o 0 um pouco do 0. Mas mais elevava o positivo que prejudicava o 0.

Enfim, tenta reforçar a impedancia no nivel 1 com um pullup de 1K por ex.

Para obter uma excursão de sinal próxima aos limites da alimentação o amplificador deve ser Rail-to-Rail. Os amplificadores que normalmente são citados aqui, não possuem essa característica.

Em primeiro lugar, queria agradecer e dizer que é uma honra estar ao lado de mentes tão brilhantes.

RESPONDENDO AS DUVIDAS:

 1ª- O PORQUE DA QUESTÃO LEVANTADA? :

  - Estou sempre a estudar variados temas, um dos temas de meu interesse no momento é a transmissão via radio de dados, e esses quando chegarem, serem entregues conforme o equipamento receptor necessitar, ou seja: Digital, PWR ou Analogico.
   Para tanto mandei pegar na china o modulo conversor D/A Mcp4725 que trabalha via I2C, e tenho aqui comigo o CI MCP4822 que trabalha via SPI, mas ainda não botei pra funcionar, devo começar a estudar ele em breve.
   A questão é que desejo ter uma base de comparação entre os resultados entregues por cada um:
- Utilizando filtro RC
- Utilizando filtro RC+Amp OP
- com conversão via Mcp4725
- e com conversão via MCP4822

A pergunta é:
- Quem me dá melhor precisão em relação a fonte geradora ?
- Quem apresenta o sinal com maior estabilidade e menos ruidos e oscilações ?
- Qual tem melhor custo?

- Qual é mais facil de aplicar e exige menos recursos ?


 
 2ª - É IMPERATIVO O USO DO AMP OP LM324? :  

  - Não, ele é apenas uma das formas de testar pra ver como a conversão se comporta, porem, conforme sugerido pelo eiju, quanto mais simples, parece ser melhor, a ideia é saber o melhor atendendo os requisitos citados.


 3ª -  PORQUE O EXEMPLO UTILIZANDO DOIS ARDUINOS?  :

   - É que estou sem osciloscopio, e multimetro, tanto analogico como digital, não me dão a devida leitura, pois fazem compensação, dai, o PWM esta sendo lido como sinal analogico em ambos, logo a melhor forma de verificar a qualidade de um sinal PWM sendo convertido a analogico, dentro das limitações que possuo,  é colocar um arduino pra ver o sinal gerado por outro, colocando entre eles as opções citadas(conversores DA e filtros).

   FINALIZANDO:

    O que pude perceber é que realmente mexer na frequencia do arduino provoca resultados significativos, e digo isso apenas através da mudança de pinos,   fiz a leitura sem o AMP OP, com o teste de colocar em um pino de melhor frequencia com capacitor de 10uF e resistor de 10k e o resultado foi excelente.

   Vou ler mais sobre o assunto pra poder entender como melhorar mais ainda.

Quem dá a maior precisão ? o DAC, é claro.

Zé , ainda não comecei a mexer com os DAC,  admito que os resultados com o filtro RC alterando a freqüência da saida pwm, são animadores.

O grande curioso desse mundo Arduíno, é que a porta de entrada é larga e fácil, mas a proporcao que adentramos as profundezas, cada novo espaço a ser conquistado depende de muito esforço e estudo.

    O DAC MCP4822 por exemplo, ainda não sentei pra estuda-lo, mas numa rápida busca encontrei pouquíssimo material.

Weider, já estudei bastante sobre ADCs e DACs a muitos anos atrás. 

Se deseja obter alguma ajuda ou esclarecimento, sugiro que abra um novo tópico sobre MCP4822. Para não misturar os assuntos.

Olá,

Vejo que acertei mais uma vez ao dizer que é imperativo saber qual o propósito da questão.

Se a questão for verificar a qualidade do sinal PWM e não tem um osciloscópio, use a solução https://www.zeitnitz.eu/scope_en, é bastante interessante.

Se a questão for transmissão via rádio, o PWM do Arduino funciona em frequencia inadequada para ser transmitida, é muito baixo.

Se a questão for saber a melhor forma do Arduino fornecer sinal analogico em baixa frequencia, use o DAC ou implemente o circuito R2R.

Se a questão for saber qual a melhor forma de se transmitir um sinal analógico para medição precisa para controle industrial, estude o padrão que usa a malha de corrente 4-20mA e o protocolo HART

Portanto, é por isso que eu digo para as pessoas caprichar mais no enunciado do post. Do contrário, o post ficará girando em torno de comentários diversos demorando a chegar na solução e a perda de tempo é grande.

Boa sorte,

  'Eiju

Ao Zé Gustavo,
   Cara, mais uma vez muito obrigado, com certeza estarei abrindo um novo topico que possa ser util a todos.

Ao Eiju,
   Eu já conhecia a solução de utilização da placa de som para diversos fins alem de escutar musica, agradeço a indicação, mas para o fim pretendido acho que a montagem indicada foi mais util.
   A questão é:  precisão e qualidade na entrega do sinal de uma transmissão sem fio.
   Veja bem, ao usuário estamos transmitindo a propria tensão que esta sendo captada, porem, sabemos que nos valemos dos truques da eletrônica para codificar o sinal, transmitir, decodifica-lo e entrega-lo.
   A ideia é ter a melhor qualidade nesse processo.
   Não acredito na transmissão de pulsos, pois a qualidade de um sinal transmitindo pulsos dependerá de fatores alheios a nos como distancia, barreiras intermitentes, campos eletromagneticos, etc.  logo, acredito que a interpretação e transformação do sinal em dado e a trasmissão desse dado e posterior decodificação e emulação é o que tende a dar o melhor resultado, pois lacunas na transmissão podem ser complementadas com codificação lógica.
   Porem, o objetivo do topico não é discutir o modelo do protocolo da comunicação dos radios, e sim a questão das pontas, ou seja: sinais AD e DA.
   Para a ponta de entrada, estou estudando soluções como amplificadores operacionais,  amplificadores de intrumentação, aumento da taxa de bits na conversão AD,  restrinção da faixa de analise de sinal, e outros.
   Já para a ponta de saida tô começando a estudar agora, e abri esse topico,  dai temos proposto os Filtros RC(marcelo) e os conversores DA(você e o zé gustavo).
 
   Me vejo na obrigação de independente qual seja a melhor forma,  estudar e aprender todas, pois se tem uma coisa que aprendi, é que tudo tem sua utilidade uma hora.

  Duvida: você fala sobre filtro R2R e não RC é isso mesmo ?
  

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço