как подключить энкодер

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем kulver, 14 май 2012.

  1. nailxx

    nailxx Официальный Нерд Администратор

    Похоже на правду. Если получается строгий ноль, сопротивление таки маловато. Нужно пробовать 10К, 100К. Неужели под боком магазина не найдётся?
     
  2. kulver

    kulver Нерд

    Попробовал 7к, кажет 0. Печаааааль =\
     
  3. Для гарантирования правильного считывания положительного сигнала используют стягивающий резистор, установленный одним концом в промежуток между вводом данных и пином микросхемы/микроконтроллера, а другим соединенным с землей (GND). В этом случае все шумы, способные дать неверный сигнал, стекают в землю. В роли стягивающего резистора применяют сопротивления более 10 kOm, чтобы при активной "1" не происходило короткого замыкания. Когда активная "1", ток из-за большого сопротивления резистора не уходит весь в землю и сигнал поступает на контакт схемы. Так же для подавления помех используют резисторы терминаторы и 1 из способов их включения приведен на рисунке. При этом вы учтите со скольки вольт у Ардуины начинается "1"
     

    Вложения:

  4. kulver

    kulver Нерд

    Да я вроде так и подключил. про резисторы "терминаторы" я не очень понял, как мне в данном случае поможет последовательно подключённый резистор? Если у меня на МК приходит всегда логический "0", то добавление резистора ещё снизит напряжение, т.е. тем более "0" будет на МК. Либо я чего-то не понимаю. В любом случае я жду, когда приедут резисторы из магазина на 10к и 100к.
     
  5. kulver

    kulver Нерд

    Я потестил со стягиванием на 100кОм - никакой разницы, всё та же синусоида. Кстати, сплошной 0 у меня был, когда контакт выходной отходил просто. Либо я подключаю что-то не так, либо хз что тут делать вообще, чтобы он заработал...

    Мой код:
    Код (Text):
    void setup() {
      pinMode(2, INPUT);
      pinMode(11, OUTPUT); //to the emitter
      pinMode(8, OUTPUT); //to the sensor
      Serial.begin(9600);
      analogWrite(11, 88); //1.6V to the emitter
      digitalWrite(8, HIGH); // + for sensor
    }
     
    void loop() {
      Serial.println(digitalRead(2)); //
      delay(100);              // wait some
    }
    Схема[​IMG] приложена тоже. Там у енкодера ноги по порядку - анод, катод, земля для сенсора, питание для сенсора, выход 1, выход 2.
     

    Вложения:

    • Clipboard01.png
      Clipboard01.png
      Размер файла:
      84 КБ
      Просмотров:
      748
  6. Unixon

    Unixon Оракул Модератор

    Не-не-не, Дэвид Блейн. Так питание в 1.6В через ШИМ сигнал подавать не надо! :eek:
    Если по другому нельзя, то хотя бы емкость добавьте в несколько десятков-сотен микрофарад.
    А то вы 5В мигаете и неизвестно как там энкодер отрабатывает с таким стробоскопом.

    У вас переменный резистор есть? Поставьте вместо 100K и покрутите, попробуйте подобрать величину опротивления, при котором происходит устойчивое считывание сигнала.

    Аналоговые входы на МК тоже можете использовать в качестве вольтметра, т.е. вообще подключите выход энкодера к аналоговым входам, а не к цифровым, тогда вообще можно с любыми уровнями напряжения работать, в рамках разрешающей способности АЦП атмеги. Ну по крайней мере для настройки. Пусть программа постоянно пишет в порт величины сигналов с аналоговых входов (отмасштабируйте в 0..5В) и в таком режиме настраивайте.
     
  7. RxdTxd

    RxdTxd Нуб

    Друзья, помогите, пожалуйста с подключением кнопки энкодера KY-040. Без 5 вольт не работает. Земли кнопки и самого модуля общие. Куда ставить pull-up резистор? Подключение SW-контакта к пину ардуино не дает никаких результатов.
     
  8. 9xA59kK

    9xA59kK Гик

    По даташиту 1.6V это максимальное падение напряжения на диоде при прямом включении. А питание может быть любым(не меньше 3V), главное чтобы максимальный ток был не более 50мА.Напряжение при котором он полностью разгорится (загорится, застветится)= 3V. Можете подать питание на диод 5V подключив его через сопротивление ну например 150-200 Ом.
    Ищите в интернете примеры энкодера переделанные из мышки компьютерной, там точно такой же сенсор и есть скетчи под ардуину.
     
    Последнее редактирование: 5 дек 2016