Boa tarde, estou com muita dificuldade nisso, ja que a saida pmw nao me atende


preciso ler o valor recebido via rf  que no caso é entre 0 a  1023 e pegar esse valor na saida , entrando em um cartao analogico de um PLC.   Alguem tem alguma sugestao de como posso fazer isso?
no ultimo caso pensei em usar um servo motor rodando um potenciometro, mais acho q ficaria bem gambiarrado, no aguardo!

Exibições: 12602

Responder esta

Respostas a este tópico

então Bruno, se vc for usar somente o filtro, vc terá atenuação, pois este é um filtro passivo, mas se vc usar o circuito amplificador, ai vc terá um filtro ativo.

Vc falou que seu sinal ta variando de 0 a 4,5V na saida do filtro? si for isso é só vc montar o circuito amplificador e trocar o resistor R1 de 250R por um de 220R... ai vc terá uma saida 0 a 20.4mA.

E como te disse antes se vc for usar 4 a 20mA, no seu codigo vc usa o map, tipo:

Int pwmPin = 3;
Int val;
InputPin =A0;
pinMode (pwmPin,OUTPUT);

Val = valor_recebido_serial ;// recebe o sinal via rf
Int sensor = map(Val, 0, 1024, 52, 255);
analogWrite(pwmPin,sensor);

faz os testes ai e vamos ver se dá certo, acredito que sim...
aguardando o retorno!!!!
Angelo neto, esse filtro realmente nao consegui fazer funcionar
Mais fiz o seguinte, usei sua funçao do map deu certo, porem eu coloquei a saida alimentando um resistor de 250R
Quando envio 0 na serial
Saida igual a 4 mA

Quando envio 1023 na serial
Saida igual a 18,9mA

Vou ver se consigo modificar algo aqui para subir para 20 mA
Mais mesmo que eu nao consiga, consigo configurar no cartao do plc para ler sinal
De 4 a 18,9 e esta tudo resolvido

Abraço e obrigado a todos!

Ola Bruno, vc ta alimentando o circuito amplificador operacional com 5V? com essa tensão de alimentação, vc só poderia ter uma carga de 200R, sugiro que vc alimente o circuito amplificador com 24V, pois vc terá uma gama maior de impedância na saida, tipo: um posicionador que tem uma impedância media de mais ou menos 550R, mas pra todos os casos com 24V vc terá 20mA com cargas de até 850R.

Não sei qual CLP vc ta usando, mas a maioria dos cartões de entrada de corrente 4~20mA a impedância é bem baixa, variando entre 125R até 280R.

Mas de modo geral use 24V na alimentação do AmpOp, que provavelmente vc deve ter próximo do cartão!!!!

abraços!!!

Olá meu amigo,

Muito interessante este circuito, tenho uma dúvida, como calcular estes resistores do AmpOp caso a fonte do pwm seja outro dispositivo de maior tensão, por exemplo um PWM gerado apartir de um PLC com saída 24vcc? Outra dúvida a frequencia do PWM pode influenciar no dimensionamento do filtro passa baixa?

Obrigado

Boa tarde pessoal,

Estou com querendo fazer algo que esta relacionado a este assunto.

vou tentar exemplificar a necessidade:

tenho 2 Arduinos, no 1° vou ter uma variável que vai ficar mudando o valor periodicamente, e quero pegar esse valor e transformar ele em valores de 0 a 5v (0 a 1023), o 2° Arduino fica lendo em uma porta analógica os valores, nessa eu preciso que entre os valores de 0 a 1023.

o 1° arduino está ligado no outro da seguinte forma, o GND e o pino 9 do 1° Arduino no pino analogico A3 do 2° Arduino (obs: não estou usando outras portas como Rx e Tx porque já estão sendo usandos para outras finalidades)

estou usando o map para ter os valores corretos para utilizar o analogWrite(), mas o problema é que o analogWrite torna a onda quadrada, e quando eu escrevo o valor 1° Arduino pino PWM 9 no outro lado eu recebo HIGH e LOW em seus devidos tempos dependendo dos valores do ciclo.

Alguém tem alguma ideia do que posso fazer?

E preciso que chegue os valores 0 a 1023 porque uso esses números para converter em %.

Grato.

Achei uma resposta do Wiechert em outro tópico que acredito que resolva esse meu problema, irei testar e posto novamente aqui o resultado.

http://labdegaragem.com/forum/topics/arduino-pode-ler-pwm

Ola Wagner!

Estive olhando as publicações no link acima, o circuito do Wiechert funciona!! esse circuito é um filtro RC de primeira ordem, mas sugiro que vc monte mais um filtro RC igual ao que vc fez só que em serie, tornando um filtro RC de segunda ordem, acredito que vá diminuir o erro no sinal!! caso o erro ainda esteja fora do admissível faça mais um filtro em serie, ai vc terá um filtro RC de terceira ondem, como mostrei nessa mesma discussão em um esquemático, vc só não vai precisar fazer o circuito do amplificador operacional!!!

espero ter ajudado!

abçs!!

Existe uma diferença que tenho que avaliar para ver se não tem impacto no projeto. caso não dê certo vou tentar fazer por i2c.

Vlw

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço