Считывание ШИМ-сигнала с радиоуправляемого приемника

Я пытаюсь считывать ШИМ-сигнал с моего радиоуправляемого приемника на плате arduino Seeeduino XIAO, но значения считывания скачут с ума от 0 до 10000. Я смотрю учебник на Youtube, и их значение колеблется только от 1000 до 2000. Интересно, почему я поступил неправильно? Вот мой код

#define pin 3

unsigned long pwm_value;

void setup(){
  pinMode(pin, INPUT); //установите pin на ввод
  
  Serial.begin(9600); //начать последовательную связь
}
void loop()
{
  pwm_value = pulseIn(pin,HIGH); 
  Serial.println(pwm_value);
}

Here is the image of the Serial Plotter

, 👍1

Обсуждение

Какова частота и рабочий цикл входного сигнала?, @Sim Son

Как и где я могу это получить? Извините, я новичок в Arduino @SimSon, @Neung Chung

Эта информация должна быть включена в спецификацию вашего радиоуправляемого приемника., @chrisl

@chrisl Я только что прочитал руководство как по радиоуправляемому передатчику, так и по приемнику и не нашел никакой информации о частоте и рабочем цикле Вот ссылка получателя: https://static1.squarespace.com/static/5bc852d6b9144934c40d499c/t/6076a44d728f4b3bfdf87873/1618388047085/FGr4SUser+Manual+20210311.pdf, @Neung Chung

@SimSon Я только что снова прочитал руководство и узнал следующее : "Эта функция используется для настройки выходной частоты канала по мере необходимости для различных типов сервоприводов. эта функция включает аналоговый сервопривод (95 Гц), цифровой сервопривод (380 Гц) и пользовательские параметры частоты. Установите это значение в соответствии со спецификациями сервоприводов. если настройка частоты сервоприводов не соответствует, это может привести к дрожанию сервоприводов", @Neung Chung

функция pulseIn принимает время ожидания в качестве необязательного третьего аргумента. Единственная причина, по которой pulseIn возвращает 0, заключается в том, что этот тайм-аут превышен. Вы можете попробовать поиграть с этим таймаутом и посмотреть, имеет ли это какое-либо значение. Однако тайм-аут по умолчанию в 1 секунду не должен быть проблемой, если частота ШИМ превышает 1 Гц. Вы уверены, что ваша проводка правильная?, @Sim Son

@SimSon почти уверен, что моя проводка правильна, так как у меня есть только один провод, соединяющий выход сигнала RC-приемника с выводом 3 платы, @Neung Chung

Единственное соединение, кроме источника питания, я полагаю? Даже если вы считаете, что все подключения правильные, вам следует опубликовать фотографию настройки, @Sim Son

@SimSon Я уже решил проблему, было немного глупо, что мне нужно также подавать питание на плату arduino при подключении к USB-кабелю :), @Neung Chung


1 ответ


0

Я попытался подключить питание от RC к плате при подключении с помощью кабеля USB-порта, и проблема была решена.

,