Магнитный энкодер мотор JGA25-370

Тема в разделе "Моторы, сервоприводы, робототехника", создана пользователем alex-119977, 27 июл 2019.

  1. alex-119977

    alex-119977 Нуб

    Добрый день!
    Недавно приобрел мотор JGA25-370 с магнитным энкодером, в состав которого входят два датчика Холла. При подключении к Arduino Uno датчики все время показывают 1, даже когда вал мотора вращается длительное время. Почему датчики не меняют показания при вращении мотора? Скетч для опроса датчиков и схема подключения прилагаются.
    Снимок.JPG
    Код (C++):
     
    Код (C++):

    int H1 = 4;
    int H2 = 5;
    int d1 = 5;
    int d2 = 5;

    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
    }

    void loop() {
      // put your main code here, to run repeatedly:
      if(digitalRead(H1) == HIGH) {
        d1 = 1;
      }
      else {
        d1 = 0;
      }
      if(digitalRead(H2) == HIGH) {
        d2 = 1;
      }
      else {
        d2 = 0;
      }
      Serial.print("First: ");
      Serial.print(d1);
      Serial.print("Second: ");
      Serial.println(d2);
      delay(1);
    }
     
  2. parovoZZ

    parovoZZ Гуру

    На выходе датчиков Холла точно цифровой. а не аналоговый? А если цифровой, то точно не ОК? Если ОК, то нужен подтягивающий резистор. Куда тянуть - к нулю или к питанию, зависит от полярности транзистора в каскаде ОК.
     
  3. alex-119977

    alex-119977 Нуб

    В Интернете пишут, что в этом моторе стоит датчик Холла марки 44Е. Это цифровой датчик с ОК. Подтянул его через резистор 10кОм к питанию (теперь уже 5В), однако ситуация не изменилась
     
  4. alex-119977

    alex-119977 Нуб

    Все, разобрался. Оказывается в распиновке неправильно указаны плюс и минус питания датчиков. Кстати, схема работает и без подтягивающего резистора. Ставлю только 220 Ом на ограничение питания.
    Спасибо!
     
  5. Daniil

    Daniil Гуру

    Зачем? Это же не светодиод.