Вообщем. Нужно сделать управление светом по pwm для плавного розжига и тушения света. Управление по 3 входам. Т.к. 3 внешних прерывания много,и не везде есть,а брать огромный контроллер для такой цели бред,можно воспользоваться прерыванием по таймеру. Я прав? Делать что-то вроде прерываний раз 100 в секунду с опросом кнопок? Логика работы готового устройства примерно такова. Есть лампа подключенная к пину. Есть 3 кнопки. Одна признак открытия двери,и две открытие/закрытие замка. Если происходит открытие двери зажигаем плавно лампу,после закрытия плавно тушим,тут проблем нет. Если происходит открытие замка то плавно зажигаем лампу и тушим либо после открытия и последующего закрытия двери либо после закрытия замка. Я ведь прав на счет прерывания по таймеру для того чтобы не пропустить сигнал,или есть другие способы? Заранее спасибо.
а что его пропускать то? он же не микросекунду длится и фронт не надо ловить с микросекундной точностью. Обычный софтверный цикл с опросом портов и флагами предыдущих состояний, по которым определяется нужный фронт и запускается действие. Не надо выдумывать себе проблем.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Нужно сделать управление светом по pwm для плавного розжига и тушения света.
Прежде чем давать советы... желательно сначала определиться с самим устройством. Питание? От сети / батарейное? От сети не требуется энергосберегающий режим МК. Значит режим SLEEP не требуется. Значит и прерывания не нужны. Значит можно просто опрашивать непрерывно все кнопки в основном цикле, вообще без таймеров. При этом не требуются дополнительные резисторы и диоды в схеме. Соответственно и схема проще.
barsik_32rus писал(а):
раз 100 в секунду с опросом кнопок?
Практика показывает, что для чёткого срабатывания кнопок частоту опроса лучше брать побольше... минимум 1000 раз в секунду. Иначе кнопки работают с небольшой задержкой... (т.е. не чётко отрабатывают). Сам принцип работы с кнопками везде одинаковый. Напрмиер в промышленных контроллерах частота опроса дискретных входов (кнопок) доходит до 100.000 раз в секунду... Просто там требования более жёсткие. http://cxem.net/promelectr/promelectr5.php И т.д.
для чёткого срабатывания кнопок частоту опроса лучше брать побольше... минимум 1000 раз в секунду
это плохой совет. дребезг контактов длится в среднем от 10 до 20 мс, поэтому опрашивать чаще 100 раз в секунду - абсолютно бессмысленно. опрос реже можно делать с какой угодно частотой, но другая крайность - запаздывание реакции: человек физически не может отреагировать быстрее 100 мс, но хорошо замечает разницу моментов разных событий примерно с 40 мс, а на слух и того меньше. так что делать опрос кнопок реже 25 раз в секунду тоже неразумно.
roman.com писал(а):
в промышленных контроллерах частота опроса дискретных входов (кнопок) доходит до 100.000 раз в секунду...
не путайте божий дар с яичницей: дискретный вход и кнопка - разные вещи, и для разного служат. на дискретный вход вешают оптический энкодер, например, который легко может выдавать тысячи импульсов в секунду, и для их надежной фиксации требуется столь высокая частота опроса.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
это плохой совет. дребезг контактов длится в среднем от 10 до 20 мс, поэтому опрашивать чаще 100 раз в секунду - абсолютно бессмысленно.
Ничего подобного. Дребезг контактов непредсказуем и зависит от того, насколько "раздолбана" кнопка. Старые кнопки с плохими контатками... никакого "среднего" дребезга там нет. Но, благодаря повышеной частоте опроса программа может работать и с такими кнопками - реагирует даже на кратковременное нажатие... и т.д. Вообще частоту проса лучше подбирать экспериментально, в процессе отладки схемы. А частота опроса 1000 раз в секунду и более - это просто двято "с запасом". Вот и всё))
ARV писал(а):
дискретный вход и кнопка - разные вещи, и для разного служат.
пример должен подтверждать основную мысль, и в этом качестве он крайне неудачен. я объяснил, почему.
roman.com писал(а):
Но, благодаря повышеной частоте опроса программа может работать и с такими кнопками - реагирует даже на кратковременное нажатие...
или вы сами не понимаете, что для кнопок с долгим дребезгом как раз снижение частоты опроса дает меньше ложных срабатываний, или считаете, что программная фильтрация потока "срабатываний" на каждый фронт дребезга - это пустячок, не требующий пояснений... обе причины перечеркивают ваш совет, о чем я так же написал.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
ARV много текста... прописные истины... ничего конкретного)) Лучше ТС давайте советы..))
barsik_32rus Ну раз мы в теме "Микроконтроллеры и ПЛИС » AVR" тогда берите простейший дешёвый МК AVR... типа ATtiny13... или ATmega48. Там и аппаратный pwm и выводов для кнопок с запасом.. )) Непрерывный опрос трёх кнопок в основном цикле. Аппаратный pwm с плавным включением/выключением лампочки. У ATmega48 ток потребления маленький (при 3V порядка ~3 ma). У автомобильного аккумулятора 12 саморазряд больше. На месяц точно хватит))
Сейчас этот форум просматривают: Varlakotam и гости: 25
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения