Счетчик импульсов для измерения расхода: 0 Проблемы с импульсами

Я использую расходомер Netafim серии M, соединенный с Arduino UC-32. Целью этого является создание счетчика импульсов, который, в свою очередь, позволит нам определять расход в счетчике. (1 галлон США на импульс для этой модели.)

Я использую относительно простую программу для проверки проводки и подключения расходомера к UC-32. Я включу это сюда:

int pin = 30;
volatile unsigned int pulse;
const int pulses_per_litre = 450;

void setup()
{
  Serial.begin(9600);

  pinMode(pin, INPUT);
  attachInterrupt(0, count_pulse, RISING);
}

void loop()
{
  pulse = 0;
  interrupts();
  delay(1000);
  noInterrupts();

  Serial.print("Pulses per second: ");
  Serial.println(pulse);
}

void count_pulse()
{
  pulse++;
}

Код был получен из источника в Интернете, так как позже я создам свой собственный, соответствующий моим конкретным потребностям. Проблема в том, сколько бы я ни изменял этот код, я получаю 0 импульсов (даже при подаче воздуха в счетчик). Поэтому я сузил проблему до проводки.

Я использую небольшой макет с резистором сопротивлением 1 кОм. Для расходомера требуется входное напряжение 12 В, которое подается через разъем питания в UC-32. Я покажу изображение моей схемы. Судя по тому, что я вижу, это должно работать, но я чувствую, что схожу с ума, просматривая эту схему снова и снова, поэтому мне хотелось узнать мнение со стороны.

Макет UC32

Извините за изображения большого размера, но, по моему мнению, это простая схема, которая должна работать. Я могу сильно ошибаться. Кто-нибудь, имеющий опыт работы с расходомерами такого типа, видит какие-либо проблемы с моим кодом/схемой?

, 👍0


1 ответ


1

Исправлено, вау. Иногда описание проблемы помогает ответить на вопрос. Положение резистора было неправильным, необходимо отрегулировать провод Vin.

,