На самой задроченной выставляешь 30.30 и всё , она становится как новая. Я теперь удивляюсь - зачем лепить внешние фильтры когда программный очень надёжный.
24 входа обновляются каждую миллисекунду в три байта, в последствии каждый бит проходит через фильтр переменной, устанавливаемой юзером длиной, берётся этот параметр из таблицы 24 + 24 байта, соответственно на 1 и 0 отдельно, Длина настройки байт, то есть 0....250, четверть секунды максимально.
а если уменьшить дискретность установки интервалов скажем в 2 раза ну или предельный интервал уменьшаем до 127 отсчетов то нужен будет ровно 1 байт на 1 вход. а значение 0 или 1 кодировать в знаковом бите. всеравно вы симметричные лимиты ставите же тоесть логика такакя: при несоответствии знакового бита засемплированному уровню сбрасываем счетчик, иначе сбрасываем знаковый бит, инкрементим, восстанавливаем знаковый бит а при сравнении порога тож отрезаем знаковый бит, и используем его как выходное значение если порог превышен
еше можно использовать unsigned и младший бит как признак (чет/нечет) а инкрементировать счетчики =+2 (inc; inc)
Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.
Я уже писал что оптимизировал по скорости код, по этому да, можно разных вариантов по экономии оперативки или флеша. Но 250 ms, это же четверть секунды, это очень заманчиво. И тут ещё есть нюанс - что при включении 250 ms, приходится выдержку давать, вдруг есть такая установка, чтобы не попасть в неадекватность входа.
Добавлено after 11 minutes 49 seconds: AlexS4, у меня в программе есть что то подобное, если пошла программа по единичке, то сбрасывается счётчик 0, и наоборот - если пошла программа по 0, то сбрасывается счётчик байтовый единичек.
ну то усложнение, что я предложил это до +1 инструкции к исходному коду прерывания таймера и до 3-5 инструкций в функции принятия решений (а вероятно и 1:1 к исходным алгоритмам, мы ж не видели как исходное вточности реализовано )
и если нужны большие интервалы то обычно непроблема ж пожертвовать дискретностью, можно 127mS/1mS а можно 2540mS/20mS ( 2.5S !)
Лучше ничего не менять в таймингах, я специально изучал дребезг с осциллографом, так он как раз лежит в этом частотном диапазоне, где то рядом - 1 ms. Подумаешь, что на 24 входа используется 48 + 3 байта оперативки, на всё хватит.
Думаете много есть людей в русскоязычном пространстве которые, как минимум раньше, юзали АБ, а сейчас пишут для AVR на хорошем/современном/макро ассемблере которого нет в общем доступе, при этом С они не знают и примеры приводят на бейсике? И в каком там состоянии этот ассемблер был в 2017-м вообще не важно, вы и сейчас популяризируете то, чем другие пользоваться не могут )
Я ничего не популяризирую, ведь в общем доступе нет. Просто узнаю мнение. Здесь привёл пример простого опроса кнопок, фактически, это ассемблер. Решение раскритиковали, эмоциональные оценки - ад, колхоз. А на мой взгляд, писать просто, хороший контроль за работой МК, простая отладка. Это особенно существенно для скоростных процессов, например, следящих систем. Сталкивался с непростыми регуляторами, писали на СИ, печальная картина. Народ сейчас и на обычном ассемблере пишет, а это прошлый век. Даже АБ используют для маленьких МК. Мне писать глобально проще. На форуме народ подбрасывает разные идеи. В этой теме появилась мысль сделать команду опроса кнопок встроенной. Тогда написать опрос кнопок займёт несколько минут. Для команды есть ограничения, но во многих случаях подойдёт.
Не представляю ситуацию, где можно МК напрямую подключить к сетевой фазе.
А в чем вы видите проблему такого подключения? Намекну, в любой стиральной машине МК подключен напрямую к сетевой фазе. Точнее, может быть подключен с вероятностью 50%.
Проблемы следующие. - В сети могут быть мощные помехи, киловольтные выбросы, которые могут сбить МК. - В сети присутствует высокое напряжение. При прямой связи МК с сетью под напряжением оказываются кнопки, индикатор. Бытовая техника испытывается на прочность изоляции. Подают высокое напряжение (около 1500 вольт) между сетевым проводом и корпусом в течение 1 минуты. Стиральная машина работает с водой, её часто ставят в ванную. Наверно, испытывать надо при влажности 100 %, при которой поверхность покрывается влагой. Что будет с кнопками и индикатором – вопрос. - В любом случае нужен преобразователь сети в постоянку 5 вольт.
Простой обратноходовой источник прекрасно решает такие проблемы. Гальваническая развязка плюс сам по себе такой источник неплохо защищает от помех. Накачка энергии от сети и передача энергии в схему разделены по времени. На входе источника достаточно поставить простой фильтр. Отсутствует высокое напряжение на схеме. Источник простой, цена небольшая, при массовой поставке от производителя, наверно, несколько сот рублей. Это мелочь с учётом стоимости стиральной машины. Никогда бы не подумал, что в стиральной машине МК подключён к сети. Ведь их делают на крупных заводах, а не китайцы в сарае.
Просить готовую библиотеку - это подход ардуинщиков. Им алгоритм ненада, им нада библиотека. Ее втулил - и все работает. И даже думать не нада. А, есть еще вариант. Спросить код у ИИ.
Использовать готовую библиотеку тоже неудобно. Где-то надо её искать, спрашивать у какого-то ИИ (не знаю, кто это такой). Проще использовать готовую встроенную команду. Почитал описание и применил, если подходит.
Чисто принцип современной разработки. Взять готовое, быстро допилить под задачу, отчитаться об выполнении. Хомяк, хомяк - и в продакшн. А не хватит флеша или памяти - то надо взять камень потолще и привязать покрепче.
Хороший принцип, быстро и эффективно. К этому сейчас стремлюсь. Что не понравилось?
Но для определения пути опроса кнопок, повторю еще раз, нужна постановка задачи. Универсальных алгоритмов с идеальной реализацией на все случаи жизни не существует.
С этим согласен. Вот и мой опрос кнопок. Очень простой, хорошо работает. Но пишут – это неправильно, не жить - не быть, нужен обязательно таймер с прерываниями. У меня три опроса кнопок с проверкой – должна быть хорошая программная защита от помех. Сторонники вертикальных и прочих счётчиков должны описать помехозащищенность своих вариантов, это существенно.
если настолько сильные помехи, что влияют на трассу от кнопки до мк, то про любые интерфейсы и периферию вообще можно забыть..) да и мк лучше не включать, иначе наводка может и на вывод ресет действовать))
Во многих случаях это не так. Сейчас ресет – короткий проводник до микросхемы с активным выходом, соответственно, хорошо защищён. Саму плату с МК можно хорошо защитить, например, экранировать. А вот длинные проводники от платы к кнопкам на передней панели могут ловить помехи. Поэтому программная защита кнопок – существенный фактор. Прибор, который сбивается, например, от пуска двигателя – плохой прибор.
Так живите и пользуйтесь, когда своего ума не хватает, можно и занять у кого. А поисковые машины созданы чтобы вас лживой инфо кормить, а то что есть на самом деле закрывать от вас деградирующих безумных. Думаю примеры не надо подсказывать, если ещё чего в голове осталось то значит догадываетесь о чём я, а если не вспомните то туда вам и дорога.
До сих пор споры... Только вот зачем? В любом случае каждый остаётся при своём мнении, но довольно часто ещё и подбирает чего интересного у остальных участников. Однако нужно уметь не срываться на простую перебранку без обоснованных (и соответствующих теме спора) предложений/аргументов.
Попались кнопки ПКБ2-8. Даже разломал одну. Забавная конструкция. Магниторезистор используется и магнит на штоке. Вот чего надо использовать, никакого тебе дребезга. Я думаю.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 5
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения