Olá,
Estou tentando montar o seguinte sistema:
No multímetro tenho os seguintes valores:
máximo: 0.319V
médio: 0.255V
minimo: 0.189V
máximo =Valor máximo que o RX enviar para o SERVO mover-se
médio = Valor quando o RX não recebe sinal do TX, ou seja, posição zero do servo!
minimo = Valor minimo que o RX envia para o servo mover-se
Conforme a imagem:
TX = Controle HK6S
RX: Receiver 2.4Ghz HK6S
UBEC: HK 30A
SERVO: HK 9g
BATERIA 12V 2200mAh
O TX envia o sinal para o RX
O RX alimentado pela BATERIA pela porta 4 recebe o sinal e envia essa variação para o SERVO pela porta 3.
O servo move-se a quantidade pedida pelo TX
O que eu preciso é:
O Arduíno mantem o servo na posição zero(predefinida) que seria no "valor médio"
Caso esse "valor médio" mude, para mais ou para menos, o Arduíno para de controlar o servo!
Quando o valor volta ao "valor médio" o Arduíno volta a controlar o servo.
O problema é: Nao consigo fazer a leitura dessa voltagem pelo ardunio,embora no multimetro eu leia perfeitamente.
Desde já, Obrigado!
Tags:
Oi C, boa tarde.
Você tem certeza deste valores de RX, pois você mediu com voltímetro,
e este "sinal" deve ser um PWM e não um valor de DC.
Um servo funciona com variação do duty cycle de PWM.
Rui
Boa tarde,
Sim, medi com multimetro e me da aqueles valores, mas quando eu tento medi-los no ardunio, ele fica me dando valores aleatorios.
Olá Rui, nesse caso poderia calcular um filtro RC simples, de forma a extrair o nivel DC do sinal PWM?
Oi FH.
Você pode construir um circuito integrador (RC) para medir a voltagem,
mas precisa conhecer a frequência para fazer um circuito correto.
Rui
Depois de dar uma estudada mais afundo, consegui com um codigo bem simples.
int ch1;
void setup() {
pinMode(7, INPUT);
Serial.begin(9600);
}
void loop() {
ch1 = pulseIn(7, HIGH, 25000);
if(ch1>1940 && ch1 < 2040){
Serial.print("PONTO MEDIO");
Serial.println(ch1);
}else{
Serial.print("RECEBENDO COMANDO");
Serial.println(ch1);
}
}
Obrigado!
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por