Boa tarde,

Preciso de uma ajuda, se alguém puder me dar uma ideia de como converter uma onda quadrada em contínua de forma que a tensão seja proporcional a largura do pulso. Preciso aplicar em uma entrada analógica e medir esse valor.

O sinal tem este formato:

Exibições: 1269

Responder esta

Respostas a este tópico

Olá você já experimentou usar um pequeno filtro RC.

Artigos interessantes

Allegro

TI

Microchip

Oi ALS, bom dia,
O nome retificação, é originário da retificação matemática de uma senoide.
Realmente o que voce quer é transformar a quadrada em "continua".

Porque precisa transforma-la em analógica para medi-la?
Medindo o tempo de duração do pulso em "HIGH" não daria certo?

Rui

Olá Rui, obrigado

Então, sim eu gostaria de transformar o sinal em contínuo sendo proporcional a largura do pulso.

Eu tentei medir a duração pulso usando a função pulseln que pelo que entendi, inicia uma contagem de tempo quando o sinal passa para nível alto e para a contagem quando o pulso passa para nível baixo, o problema é que os valores estão variando muito mesmo, entendo que uma pequena variação seria aceitável mas os valores são muito diferentes.

Penso que se eu convertesse para contínua seria mais fácil de medir. Mas se existir uma forma melhor aceito ideias.

Oi ALS;

quais são as características do sinal?

Freqüência;

Nível +;

Variação do duty cycle (de % até % do pulso total);

Quem gera este sinal:

Quem recebe este sinal.

Se for medido por um arduino, use interrupt para iniciar a contagem de tempo do pulso,

e aguarde ele ficar LOW para terminar.

Ou

https://luizbitencourt.wordpress.com/2015/05/04/lendo-frequencias-e...

http://www.benripley.com/diy/arduino/three-ways-to-read-a-pwm-signa...

Rui

Então, na verdade esse tópico é uma continuação de um outro tópico meu http://labdegaragem.com/forum/topics/medidor-de-fator-de-pot-ncia?x... esse sinal é saída de uma porta ex-or e é proporcional ao fator de potência.

Joguei o sinal em uma porta do arduino mas os valores oscilam muito e não consigo uma leitura estável, o sinal não está variando tanto assim.

Quanto a questão de usar interrupção, tenho uma dúvida eu posso utilizar ela dentro de uma função, no meu código tenho 3 funções principais, uma pra ler tensão, uma pra corrente e outra pra FP. Se eu usar a interrupção o sistema iria parar todas as vezes que a condição da interrupção acontecer?

Oi ALS, 

a interrupção funciona independente de função. Ela sim, chama uma função que fará algo.

Eu comparo o interrupt como uma esposa.

Se ela te chamar, não importa o que você está fazendo, tem que parar tudo ,

fazer o que ela quer, e depois  volta a fazer o que você estava fazendo.

kkkkkk

Rui

Boa comparação Rui kkkk,

Mas minha dúvida é justamente nisso se a interrupção for acionada enquanto o programa está lendo a tensão por exemplo irá interromper e parar a leitura de tensão, como o tempo de duração do pulso é muito pequeno acho que o código ficaria preso na interrupção o tempo todo, ou estou entendendo errado?

Qual é o tempo do Pulso?

Rui

A largura do pulso está proporcional ao FP, por exemplo para um FP 0,87 o pulso tem 3,5 ms.

Oi ALS, 

além do duty cycle, a largura do pulso também varia?

Rui

Minha sugestão  - dá para medir largura de pulso.

Tutorial : Analisador Lógico com Arduino

http://labdegaragem.com/profiles/blogs/tutorial-analisador-l-gico-c...

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço