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

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

Сообщение OKF »

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

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

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

Сообщение 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)
Вымогатель припоя
Аватара пользователя
Сообщения: 551
Зарегистрирован: Ср июн 29, 2022 16:25:45

Сообщение Just_Fluffy »

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

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

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

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

Сообщение AlexS4 »

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

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

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

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

Сообщение Just_Fluffy »

"640 кб хватит всем!"
Белая и Пушистая
Я не ИИ, поэтому могу ошибаться.
Прорезались зубы
Сообщения: 214
Зарегистрирован: Сб июл 30, 2011 21:00:24

Сообщение 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 вольт.

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

Сообщение BOB51 »

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

Сообщение RadioIvan »

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

Сообщение 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

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

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

Сообщение Just_Fluffy »

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

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

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

Сообщение Just_Fluffy »

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

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

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

Сообщение Starichok51 »

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

Сообщение BOB51 »

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

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

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

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