Не удается прочитать сигнал ШИМ из 2-контактного разъема вентилятора

Я пытаюсь получить значения ШИМ от 2-контактного разъема вентилятора на плате DuetWifi (это плата контроллера 3D-принтера). Вот некоторая информация о подключении вентилятора на этой плате.

Из их форума я узнал, что выход вентилятора с открытым стоком и может работать с частотой до 65535 Гц (частота для каждого вентилятора настраивается).

Прежде всего я подключил Duet FAN- к Arduino D7 и попробовал этот код:

int pin = 7;
unsigned long duration;

void setup() {
  Serial.begin(9600);
  pinMode(pin, INPUT_PULLUP);
}
 
void loop() {
  duration = pulseIn(pin, HIGH);
  Serial.println(duration);
}

Но он показывает постоянные показания между 6-7 в Serial Monitor:

7
6
7
7
7
7
7
6
6
7

Кроме того, любая регулировка скорости вращения вентилятора в интерфейсе Duet также не влияет на эти показания.

После этого я перепробовал множество различных библиотек и подходов к программированию с форума Arduino, чтобы получить подходящие показания ШИМ от FAN-pin, но безуспешно.

, 👍0

Обсуждение

Пожалуйста, покажите нам, как вы подключили Arduino к вентилятору., @VE7JRO


1 ответ


Лучший ответ:

1

Ваше изображение показывает, что вы подключили только одну линию к Arduino. У вас нет точки соприкосновения между Arduino и контроллером вентилятора. Вам нужно соединить основания вместе.

Напряжение похоже на высоту, для его измерения требуется две точки. Если я укажу на холм и скажу: «Насколько высок этот холм?» сначала кажется, что на этот вопрос довольно легко ответить. Но быстро становится двусмысленным. Хотим ли мы сказать, насколько он высок по сравнению с землей вокруг него? Или как высоко над уровнем моря? Или как высоко от того места, где мы стоим? Вы просто не можете сказать, насколько высок холм, если не договоритесь о том, откуда следует измерять.

То же самое и с напряжением. Вы не можете измерить напряжение, если у вас нет потенциала, который вы можете считать точкой 0 для измерения. Эта точка 0 является заземляющим проводом. И поскольку вы нарисовали схему, две платы не согласны с тем, где они будут считать 0 вольт.

,

Спасибо за такое подробное объяснение., @uk25