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

Cara, seja mais detalhista,  não dá pra entender bem o que você deseja,  visto que se você esta dizendo que já esta recebendo o valor de 0 a 1023,  só que isso é normalmente um valor em formato digital, dai pelo que sei entraria numa porta digital e não analogica.

  No caso do arduino, a conversão é simples,  ele lê o valor de entrada e envia ( analogWrite()  )  em uma porta PWM,

  Não entendi direito seu problema,  explica melhor.

boa tarde.

vamos lá, se irá receber via rf provavelmente será via serial. pegue o valor lido e divida por 4 para colocar no pwm. a saída do seu circuito que vai entrar no PLC é de 0-10V ?

Walterney amigo,

    Se você fosse professor,  você iria morrer de fome,  pois cada vez que tenta explicar, você complica mais,  mas vamos ver se eu entendi.

   Vamos lá, 

1-recebemos o valor pela serial, OK

2-dentro do arduino mandamos dividir o valor por 4,  OK

3-com o resultado matematico manda imprimir o valor em uma porta PWM.  OK

Agora vem o problema,  se você lida com o arduino, ele trabalha com 0 a 5v e não 0-10v,   se você deseja, que o arduino controle com sua saida de 0-10v   você vai ter que usar um transistor NPN,  tendo o arduino controlando o fluxo atraves da base,  no coletor você coloca os 10v e no emissor o Terra.   Na ligação entre os 10v da fonte e o pino coletor, você coloca a saida a ser lida em paralelo.

  Dai quando o arduino, mandar 0 para  a base, o fluxo será cortado e não haverá passagem de corrente nem tensão,  a proporção que a base for sendo alimentada, proporcionalmente haverá fluxo e passagem de corrente entre o coletor e o emissor, e ai você lê o resultado disso no meio do caminho,.

Bem, pelo que entendi é isso ai.

eu estou usando um circuito para gerar uma saída de 0-10V com o arduino(pwm)+filtro+amplificador operacional, bem parecido como um que é mostrado aqui mesmo no fórum. foi por isso que perguntei se o CLP teria entrada de 0-10V.

não entendi porque a minha pergunta te incomodou tanto.

Boa noite, entao, respondendo sua pergunta.

eu tenho um sinal de nivel de um tanque, varia de 4 a 20 mA, usei um conversor para 0 a 5 , joguei na entrada analogica A0 e envia via 2.4ghz.

recebo esse sinal dentro da sala eletrica que fica a quase 1 km de distancia, agora a duvida, como tiro esse sinal de dentro do arduino e entro com ele em um cartao analogico do plc que lê de 0 a 5 ? .... pq meu valor recebido na serial esta variando de :

4mA ------ 0 na serial

20mA ----- 1023 na serial.

no aguardo de alguma ideia 

abs

cara acho que o que você deseja é isso aqui.

Testa antes por favor na protoboard, pois tô em casa agora, e não no meu laboratorio, mas tenho quase certeza que é isso aqui:

Olá Weider!!!

ta faltando um resistor de coletor, se não a entrada do PLC sempre vai receber os 10V, alem disso quando o transistor estiver saturado teremos um curto entre coletor e emissor, mandando os 10V direto pro GND!!!

Abraços!!!

Olá Weider,

Este circuito não serve pro nosso colega.

1- Mesmo corrigindo os problemas apontados pelo Ângelo (falta do resistor), o circuito ainda não converte os pulsos PWM para um sinal analógico.

2- Os pulsos do PWM são invertidos, pois o sinal no coletor de um trasnsitor NPN está defasado do sinal aplicado na base, o circuito apenas muda o nivel dos pulsos de 0v para 10V e de  5V para 0V.

3- Quem falou em sinal de 0 a 10V foi o Walterney, e o Bruno precisa de um sinal analógico de 0 a 5V pro CLP.

4- O circuito pra converter o sinal PWM para 0 a 5V ou para 0 a 10V pode ser visto no link abaixo:

link

Abraço.

Seu PLC não tem entrada 4~20mA?

Tem sim, é possivel eu converter a saida pwm ja pra 4 a 20mA?
No aguardo e agradeço a todos pela atençao ate o momento!

Ola Bruno,

É possível sim, mas pra isso vc terá que converter pra 0~5V, isso o amigo Wiechert já deu a sugestão, usando um filtro passa baixa, na verdade nunca testei esse filtro, mas pelo que eu venho observando o amigo Wiechert é muito coerente e sabe o que diz, até gostaria de aproveitar o tópico pra que ele falasse mais sobre esse filtro.

bom... caso vc tenha uma entrada 0~5V ou 1~5V, vc só precisa do filtro, caso vc tenha uma entrada 0~20mA ou 4~20mA, vc vai precisar do circuito amplificador.

eu particularmente prefiro usar o filtro + o amplificador, pois com ele fica fácil ter 0~5V, 1~5V, 0~10V, 1~10V, 0~20mA ou 4~20mA, que são os padrões de instrumentação industrial.

segue abaixo o circuito que eu implementaria, aproveitando o filtro do amigo Wiechert:

Nesse circuito, se vc for usar 0~20mA ou 4~20mA a carga é a entrada do cartão do PLC, se vc for usar 0~5V ou 1~5V sua carga sera um resistor de 250R e em paralelo com esse resistor vc terá a sua entrada do PLC, caso vc for usar uma entrada 0~10V, sua carga sera 2 resistores de 1KR em paralelo e essa associação de resistores ficaram em paralelo com a entrada do seu PLC como na versão de 0~5V...

Esse circuito funciona de 0~20mA ou 0~5V nato, para vc conseguir o zero vivo, no caso 4mA ou 1V, é necessário alterar a faixa do PWM, de 0~256 para 51~256...

0 --> 0mA --> 0V

51 --> 4mA --> 1V

256 --> 20mA --> 5V

Outra observação é que se repararmos o resistor R1 do circuito, ele não tem um valor de mercado, mas pra quem trabalha com instrumentação industrial em 4~20mA, é facil de achar (isso eu sei pq trabalhei 10 anos com isso), caso vc não encontre, use um tripot de 1KR e ajuste ele pra 250R.

espero ter ajudado de alguma maneira!!!

 

Angelo Neto e demais muito obrigado, testei esse filtro e n tive sucesso, ele dava era queda de tensao e minha saida caia. Mais fazendo alguns testes conseguir fazer a saida pwm ser equivalente so apenas fala tentar melhoras pois ela esta indo apenas ate 4,5v

Vou ver se descubro algo para aumentar para os 5 v

Usei esse codigo
Int pwmPin = 3;
Int val;
InputPin =A0;

pinMode (pwmPin,OUTPUT);



Val = valor_recebido_serial ;// recebe o sinal via rf
Int sensor = (analogRead(val))/4;

analogWrite(pwmPin,sensor);



// porem meu sinal ta variando de 0 a 4,5 e n de 0 a 5
Da pra melhorar isso?

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço