Расширитель портов PCA9534 / PCF8574 и энкодер

Тема в разделе "Arduino & Shields", создана пользователем RogerRU, 20 окт 2017.

  1. RogerRU

    RogerRU Нерд

    Делаю модуль работы с энкодером и I2C расширителем портов.
    Очень хорошая статья про микруху PCF8574: http://we.easyelectronics.ru/part/i2c-rasshiritel-portov-pcf8574.html
    Я использую PCA9534, но имхо они похожи как близнецы братья.
    Вот моя схема: [​IMG]
    А проблема вот в чем. Я подаю на ноги энкодера плюс, вроде это как неправильно, НО я использую для борьбы с дребезгом триггер Шмидтта, а он инвертирует сигнал и при замыкании контактов пин микрухи должен бы прижиматься к земле и вроде должно быть все ок, но на деле все плохо.
    Если никак не инициализировать PCA9534 то на пинах твориться хаос (хотя кнопка энкодера вроде отрабатывает адекватно), а вот если инициализировать микруху единицами как собственно и надо сделать (по даташиту), то на пинах микрухи ВСЕГДА единицы, хотя прерывание срабатывает исправно.
    В чем проблема – не пойму. Прошу помощи. Спасибо.
     
  2. qwone

    qwone Гик

    -Раз ромашка, два ромашка,три ромашка,пять ромашка.
    - А я четветую сорвал.
    А теперь по теме: Какой идиот "лечит" кнопочный дребезг тригерром Шмита.
     
  3. DIYMan

    DIYMan Guest

    Строго говоря - вполне нормальное применение триггера Шмидта, одно из применений как раз - подавление дребезга контактов: http://www.electronicsblog.ru/cifrovaya-sxemotexnika/trigger-shmitta.html

    Идиоты, идиоты кругом! :)
     
  4. RogerRU

    RogerRU Нерд

    Что это было?
     
  5. DIYMan

    DIYMan Guest

    Хандра осенняя, видимо :)
     
  6. qwone

    qwone Гик

    Ну разве что такое включение. Вот только напрямую пустить и считать что ..ложки нет дребезга нет
     
  7. RogerRU

    RogerRU Нерд

    Уважаемый, если вам нечего сказать по ТЕМЕ вопроса, а я вижу что нечего, плз, не разводите пустой флуд. Спасибо.
     
  8. qwone

    qwone Гик

    Вам же ясно показали схему включения тригера Шмитта. Сначало поправьте и потом дальше будем что-то делать. А иначе разумеется привет флуд.ПС:верхний резистор 10 Ком и выше, а нижний 100 Ом и ниже. Но это надо подбирать на осцилографе. Я уже забыл как точнее их расчитать и учесть входной ток на тригер Шмитта.[​IMG]
     
    Последнее редактирование: 20 окт 2017
  9. RogerRU

    RogerRU Нерд

    Вы вообще читали мой пост? Схему смотрели? Сравнивали с этой? Разницу заметили? Какие нах резисторы осцилографом? Плз, покиньте ветку и не флудите здесь, показывая свою тупость и неосведомленность в вопросе. Спасибо.
     
  10. 9xA59kK

    9xA59kK Гик

    Посмотри вот эту статью , я собирал один раз по ней схему. Но, до конца не протестировал, пока нету осцилографа. Надеюсь в скором времени протестирую. Вроде как по этой схеме отлично все работает и аппаратное подавление дребезга энкодера тоже.
    ps\ Единственное что я изменил, это подтяжку не к GND ,а к +Vcc .
     
  11. RogerRU

    RogerRU Нерд

    У меня к подавлению дребезга вопросов нет, все работает на 5 баллов (кстати у меня схема точно такая же) ;). Вопрос именно про расширитель портов PCA9534 / PCF8574. Если с выходов триггера подать сразу на пины ардуинки, то все прекрасно и правильно работает.
     
  12. 9xA59kK

    9xA59kK Гик

    Последнее редактирование: 21 окт 2017
  13. RogerRU

    RogerRU Нерд

    Пробовал. ИМХО проблема аппаратная. Я напрямую читаю\пишу байт данных прямо из микрухи, а эта библиотека просто надстройка для удобства и наглядности.
     
  14. 9xA59kK

    9xA59kK Гик

    Если с энкодера, вернее после подавления антидребезга аппаратно , при врщениии на один щелчек появляется один импульс, то по идее подключив к данной микросхеме на любой пин и судя по примерам из библиотеки , можно зафиксировать(прочитать вход) этот импульс и на ардуино. Вроде должно все работать. Проверь дребезг еще раз с помощью осцилографа.
    У меня есть пара подобных модулей, но руки не дошли для проверки.
    ps\ И схема у вас совсем не как в той статье на которую я ранее давал ссылку. У вас только часть этой статьи где используется подавление антидребезга для кнопок, для энкодера смотрите далее в статье другая схема более усовершенствованная. Вот ее я и имел ввиду. Это абзац "Бонус — как заменить энкодером кнопки".
     
    Последнее редактирование: 21 окт 2017
  15. RogerRU

    RogerRU Нерд

    1. Моя схема 100% рабочая, проверена на другом проекте (она точная копия схемы из вашей ссылки, только чуть по другому нарисована ;)).
    2. по даташиту для правильной работы микрухи надо прижимать ногу к земле, моя задумка была такая: я подаю на контакты энкодера плюс и при замыкании контактов плюс появляется на триггере, а т.к. он еще и инвертирующий, то сигнал инвертируется, но на практике что то пошло не так и данные в регистре микруха не меняет хотя прерывание генерирует, что странно.
    3. осцилографа у меня нет, к сожалению.