Evgeny 0 28 марта, 2023 Опубликовано 28 марта, 2023 (изменено) · Жалоба Здравствуйте. 😀 Мне нужно с помощью МК определять замкнутый контакт галетника. Решил применить микросхему-шифратор. Набросал схемку, спаял. Если что - резистивные делители и инверторы нужны для согласования, т.к. с галетника в моем случае приходит +12В, а активный вход 555ИВ3 выбирается нулем. Выходы шифратора читаю по прерыванию таймера, отбрасывая при этом состояния, когда они все в 1, т.е. ни один из входов не активен. Такой метод работает, ложных срабатываний не получаю. Но у меня сомнения - а не нужно ли здесь применять еще и софтовое подавление дребезга? На первый дилетантский взгляд, мне кажется, что не нужно, т.к. дребезг уже фильтруется проверкой на 0x0F, а по-другому он здесь не проявляется. Что скажут уважаемые профессионалы? Я правильно думаю? Изменено 28 марта, 2023 пользователем Evgeny Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба 39 минут назад, Evgeny сказал: Мне нужно с помощью МК определять замкнутый контакт галетника. Все неподвижные контакты галетника соединяете между собой последовательно, по кругу, резисторами одного и того же номинала. Два крайних контакта подключаете к земле и питанию МК соответственно. Получаете переключаемый резистивный делитель напряжения. Центральный (скользящий) контакт галетника подключаете напрямую ко входу АЦП МК. Для надежности переключения нужно поставить небольшой конденсатор между входом АЦП и землей МК - примерно 1 нф. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeny 0 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба Спасибо, конечно, за ответ, то мне такой метод не подходит. Во-первых, я уже изготовил печатку, а во-вторых - мне удобнее и проще сразу считать BCD-код через порт. 🙂 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба 2 минуты назад, Evgeny сказал: Спасибо, конечно, за ответ, то мне такой метод не подходит. Во-первых, я уже изготовил печатку, а во-вторых - мне удобнее и проще сразу считать BCD-код через порт. 🙂 Стоимость вашего удобства, в виде кучи лишних деталей в схеме, Вас не смущает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeny 0 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба Нет, полностью устраивает. Всего-то три копеечных микры и несколько квадратных см тектолита. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
quark 48 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба 15 минут назад, Evgeny сказал: Нет, полностью устраивает. Всего-то три копеечных микры и несколько квадратных см тектолита. Если изделие штучное (несерийное), то нет смысла тратиться на переделку... Но, вообще-то, это называется "из пушки по воробьям". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeny 0 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба 1 минуту назад, quark сказал: Если изделие штучное (несерийное), то нет смысла тратиться на переделку... Это чисто домашний любительский проект. Да и кодинг для меня - хобби, т.е. уровень соответствующий. Потому мне и выгоднее немного уложнить схемотехнику, упростив при этом программу. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 89 28 марта, 2023 Опубликовано 28 марта, 2023 · Жалоба 1 час назад, Evgeny сказал: На первый дилетантский взгляд, мне кажется, что не нужно, т.к. дребезг уже фильтруется проверкой на 0x0F, а по-другому он здесь не проявляется. Хорошие галетники не дребезжат, у них конструкция не позволяет, а плохие - могут. Можно поставить конденсатор по 100пФ что бы помеха не лезла. Лучше проверить - просто прицепить ваши резисторы к галетнику, пощелкать и посмотреть на осциллограмму. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgeny 0 29 марта, 2023 Опубликовано 29 марта, 2023 · Жалоба Хм, только сейчас меня посетила мысль, что нужно использовать инверторы 74HC14. По цоколовке они такие же, а на входе есть триггер Шмитта. Это здорово должно помочь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 29 марта, 2023 Опубликовано 29 марта, 2023 · Жалоба 15 hours ago, Evgeny said: Но у меня сомнения - а не нужно ли здесь применять еще и софтовое подавление дребезга? Если у вас период таймера больше, чем возможное время дребезга (где то до 30ms в среднем), то не нужно 15 hours ago, Evgeny said: мне кажется, что не нужно, т.к. дребезг уже фильтруется проверкой на 0x0F, а по-другому он здесь не проявляется. Если у вас нет состояния когда ни один контакт с галетника не подсоединён, то проявляться не будет. Если же есть, то может дребезжать между ним и реально подключенным выводом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 89 29 марта, 2023 Опубликовано 29 марта, 2023 · Жалоба 8 часов назад, Evgeny сказал: Хм, только сейчас меня посетила мысль, что нужно использовать инверторы 74HC14. По цоколовке они такие же, а на входе есть триггер Шмитта. Это здорово должно помочь. Немного поможет, но получится прямоугольный дребезг от нуля до плюса) Лучше вообще поставить триггеры и завести на них сборс с контроллера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dimka76 63 29 марта, 2023 Опубликовано 29 марта, 2023 · Жалоба On 3/29/2023 at 3:02 PM, HardEgor said: Лучше вообще поставить триггеры и завести на них сборс с контроллера. И превратить схему в схему на дискретной логике, где микроконтроллер будет исключительно для украшения Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
HardEgor 89 29 марта, 2023 Опубликовано 29 марта, 2023 · Жалоба 8 минут назад, dimka76 сказал: И превратить схему в схему на дискретной логике, где микроконтроллер будет исключительно для украшения Tx/Rx, т.е. передачу данных без микроконтроллера сложновато делать) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
San66 (albor) 4 20 апреля, 2023 Опубликовано 20 апреля, 2023 · Жалоба IMHO входные буфера тут лишние, достаточно одного приоритетного шифратора. Разве что галетник далеко от прибора расположен но и там можно программно антидребез обработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mitya1698 18 20 апреля, 2023 Опубликовано 20 апреля, 2023 · Жалоба По опыту галетники не дребезжат, в принципе достаточно через 10 мс считывать до получения двух (n) последних одинаковых значений, что и считать истиной. Код простой и надежный. Кстати для галетников бывает нужно чтобы программа отработала все промежуточные состояния, при очень быстром перещелкивании, это можно легко сделать. Для обработки нужно использовать знание, что достигнуть значения 5 из 1 можно только пройдя 2 3 и 4. Мне в одном устройстве понадобился такой приём. Не используя его, не всегда все значения приходили. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться