Опрос кнопок микроконтроллером

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
OKF
Это не хвост, это антенна
Сообщения: 1385
Зарегистрирован: Вт июн 07, 2011 08:03:18

Re: Опрос кнопок микроконтроллером

Сообщение OKF »

Дак и кнопки разные бывают! Китайские особенно.) А если китайские задроченные?
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Опрос кнопок микроконтроллером

Сообщение Вячеслав М. »

На самой задроченной выставляешь 30.30 и всё , она становится как новая. Я теперь удивляюсь - зачем лепить внешние фильтры когда программный очень надёжный.
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6646
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Опрос кнопок микроконтроллером

Сообщение AlexS4 »

[uquote="Вячеслав М.",url="/forum/viewtopic.php?p=4691192#p4691192"]24 входа обновляются каждую миллисекунду в три байта, в последствии каждый бит проходит через фильтр переменной, устанавливаемой юзером длиной, берётся этот параметр из таблицы 24 + 24 байта, соответственно на 1 и 0 отдельно, Длина настройки байт, то есть 0....250, четверть секунды максимально.[/uquote]
а если уменьшить дискретность установки интервалов скажем в 2 раза ну или предельный интервал уменьшаем до 127 отсчетов
то нужен будет ровно 1 байт на 1 вход. а значение 0 или 1 кодировать в знаковом бите. всеравно вы симметричные лимиты ставите же :)
тоесть логика такакя:
при несоответствии знакового бита засемплированному уровню сбрасываем счетчик, иначе сбрасываем знаковый бит, инкрементим, восстанавливаем знаковый бит
а при сравнении порога тож отрезаем знаковый бит, и используем его как выходное значение если порог превышен

еше можно использовать unsigned и младший бит как признак (чет/нечет) а инкрементировать счетчики =+2 (inc; inc)
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Опрос кнопок микроконтроллером

Сообщение Just_Fluffy »

AlexS4 писал(а):нужен будет ровно 1 байт на 1 вход.
А это уже зависит от того, что в большем дефиците, флеш или ОЗУ....
Ибо в той же восьмой меге флеш всего на 4096 команд... (хотя это уже ловля блох)
Белая и Пушистая
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Опрос кнопок микроконтроллером

Сообщение Вячеслав М. »

Я уже писал что оптимизировал по скорости код, по этому да, можно разных вариантов по экономии оперативки или флеша. Но 250 ms, это же четверть секунды, это очень заманчиво. И тут ещё есть нюанс - что при включении 250 ms, приходится выдержку давать, вдруг есть такая установка, чтобы не попасть в неадекватность входа.

Добавлено after 11 minutes 49 seconds:
AlexS4, у меня в программе есть что то подобное, если пошла программа по единичке, то сбрасывается счётчик 0, и наоборот - если пошла программа по 0, то сбрасывается счётчик байтовый единичек.
Аватара пользователя
AlexS4
Друг Кота
Сообщения: 6646
Зарегистрирован: Пт сен 10, 2021 15:19:36
Откуда: Протвино

Re: Опрос кнопок микроконтроллером

Сообщение AlexS4 »

ну то усложнение, что я предложил это до +1 инструкции к исходному коду прерывания таймера и до 3-5 инструкций в функции принятия решений (а вероятно и 1:1 к исходным алгоритмам, мы ж не видели как исходное вточности реализовано ;) )

и если нужны большие интервалы то обычно непроблема ж пожертвовать дискретностью,
можно 127mS/1mS а можно 2540mS/20mS ( 2.5S !)
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Опрос кнопок микроконтроллером

Сообщение Вячеслав М. »

Лучше ничего не менять в таймингах, я специально изучал дребезг с осциллографом, так он как раз лежит в этом частотном диапазоне, где то рядом - 1 ms. Подумаешь, что на 24 входа используется 48 + 3 байта оперативки, на всё хватит.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Опрос кнопок микроконтроллером

Сообщение Just_Fluffy »

"640 кб хватит всем!"
Белая и Пушистая
AQ29
Нашел транзистор. Понюхал.
Сообщения: 198
Зарегистрирован: Сб июл 30, 2011 21:00:24

Re: Опрос кнопок микроконтроллером

Сообщение AQ29 »

[uquote="Adrift",url="/forum/viewtopic.php?p=4691056#p4691056"]Думаете много есть людей в русскоязычном пространстве которые, как минимум раньше, юзали АБ, а сейчас пишут для AVR на хорошем/современном/макро ассемблере которого нет в общем доступе, при этом С они не знают и примеры приводят на бейсике? И в каком там состоянии этот ассемблер был в 2017-м вообще не важно, вы и сейчас популяризируете то, чем другие пользоваться не могут )[/uquote]
Я ничего не популяризирую, ведь в общем доступе нет. Просто узнаю мнение.
Здесь привёл пример простого опроса кнопок, фактически, это ассемблер. Решение раскритиковали, эмоциональные оценки - ад, колхоз. А на мой взгляд, писать просто, хороший контроль за работой МК, простая отладка.
Это особенно существенно для скоростных процессов, например, следящих систем. Сталкивался с непростыми регуляторами, писали на СИ, печальная картина.
Народ сейчас и на обычном ассемблере пишет, а это прошлый век. Даже АБ используют для маленьких МК. Мне писать глобально проще.
На форуме народ подбрасывает разные идеи. В этой теме появилась мысль сделать команду опроса кнопок встроенной. Тогда написать опрос кнопок займёт несколько минут.
Для команды есть ограничения, но во многих случаях подойдёт.
[uquote="КРАМ",url="/forum/viewtopic.php?p=4691062#p4691062"][uquote="AQ29",url="/forum/viewtopic.php?p=4691015#p4691015"]Не представляю ситуацию, где можно МК напрямую подключить к сетевой фазе.[/uquote]
А в чем вы видите проблему такого подключения? Намекну, в любой стиральной машине МК подключен напрямую к сетевой фазе. Точнее, может быть подключен с вероятностью 50%.[/uquote]
Проблемы следующие.
- В сети могут быть мощные помехи, киловольтные выбросы, которые могут сбить МК.
- В сети присутствует высокое напряжение.
При прямой связи МК с сетью под напряжением оказываются кнопки, индикатор.
Бытовая техника испытывается на прочность изоляции. Подают высокое напряжение (около 1500 вольт) между сетевым проводом и корпусом в течение 1 минуты.
Стиральная машина работает с водой, её часто ставят в ванную. Наверно, испытывать надо при влажности 100 %, при которой поверхность покрывается влагой. Что будет с кнопками и индикатором – вопрос.
- В любом случае нужен преобразователь сети в постоянку 5 вольт.

Простой обратноходовой источник прекрасно решает такие проблемы.
Гальваническая развязка плюс сам по себе такой источник неплохо защищает от помех. Накачка энергии от сети и передача энергии в схему разделены по времени. На входе источника достаточно поставить простой фильтр.
Отсутствует высокое напряжение на схеме.
Источник простой, цена небольшая, при массовой поставке от производителя, наверно, несколько сот рублей. Это мелочь с учётом стоимости стиральной машины.
Никогда бы не подумал, что в стиральной машине МК подключён к сети. Ведь их делают на крупных заводах, а не китайцы в сарае.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15544
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Опрос кнопок микроконтроллером

Сообщение BOB51 »

Насчет защиты от импульсных разрядов в шины питания МК - там совсем иной подход к написанию программы требуется.
Это отдельная тема.
8)
RadioIvan
Родился
Сообщения: 19
Зарегистрирован: Ср дек 21, 2022 19:39:55

Re: Опрос кнопок микроконтроллером

Сообщение RadioIvan »

[uquote="BOB51",url="/forum/viewtopic.php?p=4692411#p4692411"]Насчет защиты от импульсных разрядов в шины питания МК - там совсем иной подход к написанию программы требуется.
8)[/uquote]
Тут, на третьей и шестой минутах, мимоходом:
https://www.youtube.com/watch?v=cB2fgYvBRHY
AQ29
Нашел транзистор. Понюхал.
Сообщения: 198
Зарегистрирован: Сб июл 30, 2011 21:00:24

Re: Опрос кнопок микроконтроллером

Сообщение AQ29 »

[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4683547#p4683547"]Просить готовую библиотеку - это подход ардуинщиков. Им алгоритм ненада, им нада библиотека. Ее втулил - и все работает. И даже думать не нада.
А, есть еще вариант. Спросить код у ИИ.[/uquote]
Использовать готовую библиотеку тоже неудобно. Где-то надо её искать, спрашивать у какого-то ИИ (не знаю, кто это такой).
Проще использовать готовую встроенную команду. Почитал описание и применил, если подходит.
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4683618#p4683618"]Чисто принцип современной разработки. Взять готовое, быстро допилить под задачу, отчитаться об выполнении. Хомяк, хомяк - и в продакшн.
А не хватит флеша или памяти - то надо взять камень потолще и привязать покрепче.[/uquote]
Хороший принцип, быстро и эффективно. К этому сейчас стремлюсь. Что не понравилось?
[uquote="Just_Fluffy",url="/forum/viewtopic.php?p=4683547#p4683547"]Но для определения пути опроса кнопок, повторю еще раз, нужна постановка задачи. Универсальных алгоритмов с идеальной реализацией на все случаи жизни не существует.[/uquote]
С этим согласен. Вот и мой опрос кнопок. Очень простой, хорошо работает.
Но пишут – это неправильно, не жить - не быть, нужен обязательно таймер с прерываниями.
У меня три опроса кнопок с проверкой – должна быть хорошая программная защита от помех.
Сторонники вертикальных и прочих счётчиков должны описать помехозащищенность своих вариантов, это существенно.

[uquote="shonty",url="/forum/viewtopic.php?p=4683465#p4683465"]если настолько сильные помехи, что влияют на трассу от кнопки до мк, то про любые интерфейсы и периферию вообще можно забыть..) да и мк лучше не включать, иначе наводка может и на вывод ресет действовать))[/uquote]
Во многих случаях это не так. Сейчас ресет – короткий проводник до микросхемы с активным выходом, соответственно, хорошо защищён.
Саму плату с МК можно хорошо защитить, например, экранировать. А вот длинные проводники от платы к кнопкам на передней панели могут ловить помехи.
Поэтому программная защита кнопок – существенный фактор. Прибор, который сбивается, например, от пуска двигателя – плохой прибор.
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Опрос кнопок микроконтроллером

Сообщение Вячеслав М. »

Скоро подтереться не дадут спокойно, без подсказки ИИ.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Опрос кнопок микроконтроллером

Сообщение Just_Fluffy »

Вячеслав М., Вообще то мы с ИИ давно уже живем и пользуемся... Поисковые машины уже давно не просто индексер ключевых слов, а большая нейросетка
Белая и Пушистая
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Опрос кнопок микроконтроллером

Сообщение Вячеслав М. »

Так живите и пользуйтесь, когда своего ума не хватает, можно и занять у кого. А поисковые машины созданы чтобы вас лживой инфо кормить, а то что есть на самом деле закрывать от вас деградирующих безумных. Думаю примеры не надо подсказывать, если ещё чего в голове осталось то значит догадываетесь о чём я, а если не вспомните то туда вам и дорога.
Аватара пользователя
Just_Fluffy
Вымогатель припоя
Сообщения: 532
Зарегистрирован: Ср июн 29, 2022 16:25:45

Re: Опрос кнопок микроконтроллером

Сообщение Just_Fluffy »

Вячеслав М., я рада, что вы до всего доходите исключительно своим умом, вундеркинд вы наш. Удачи!
Белая и Пушистая
Вячеслав М.
Нашел транзистор. Понюхал.
Сообщения: 174
Зарегистрирован: Пн янв 13, 2025 15:24:02

Re: Опрос кнопок микроконтроллером

Сообщение Вячеслав М. »

Другого ответа я и не ожидал, идите той же дорогой.
Аватара пользователя
Starichok51
Модератор
Сообщения: 19039
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Re: Опрос кнопок микроконтроллером

Сообщение Starichok51 »

Вячеслав М., для хамства тут тоже есть дорога. хочешь пройтись по ней?
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15544
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Опрос кнопок микроконтроллером

Сообщение BOB51 »

До сих пор споры...
Только вот зачем?
В любом случае каждый остаётся при своём мнении, но довольно часто ещё и подбирает чего интересного у остальных участников.
8)
Однако нужно уметь не срываться на простую перебранку без обоснованных (и соответствующих теме спора) предложений/аргументов.
:beer:
Аватара пользователя
главный колбасист
Это не хвост, это антенна
Сообщения: 1322
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край
Контактная информация:

Re: Опрос кнопок микроконтроллером

Сообщение главный колбасист »

Попались кнопки ПКБ2-8. Даже разломал одну. Забавная конструкция. Магниторезистор используется и магнит на штоке. Вот чего надо использовать, никакого тебе дребезга. Я думаю. :solder:
Ответить

Вернуться в «Периферия»