Обсуждаем контроллеры компании Atmel.
Ответить

Частый опрос входов/нехватка внешних прерываний.

Вт май 22, 2018 19:18:38

Вообщем. Нужно сделать управление светом по pwm для плавного розжига и тушения света. Управление по 3 входам. Т.к. 3 внешних прерывания много,и не везде есть,а брать огромный контроллер для такой цели бред,можно воспользоваться прерыванием по таймеру. Я прав? Делать что-то вроде прерываний раз 100 в секунду с опросом кнопок? Логика работы готового устройства примерно такова. Есть лампа подключенная к пину. Есть 3 кнопки. Одна признак открытия двери,и две открытие/закрытие замка. Если происходит открытие двери зажигаем плавно лампу,после закрытия плавно тушим,тут проблем нет. Если происходит открытие замка то плавно зажигаем лампу и тушим либо после открытия и последующего закрытия двери либо после закрытия замка. Я ведь прав на счет прерывания по таймеру для того чтобы не пропустить сигнал,или есть другие способы? Заранее спасибо.

Re: Частый опрос входов/нехватка внешних прерываний.

Вт май 22, 2018 19:22:24

а что его пропускать то? он же не микросекунду длится и фронт не надо ловить с микросекундной точностью. Обычный софтверный цикл с опросом портов и флагами предыдущих состояний, по которым определяется нужный фронт и запускается действие. Не надо выдумывать себе проблем.

Re: Частый опрос входов/нехватка внешних прерываний.

Вт май 22, 2018 20:28:29

http://avrproject.ru/publ/poleznaja_inf ... /4-1-0-138

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 06:49:24

NE555 уже не канает? А логику работы на КМОП серии. И мудрить ни с питанием, ни с программой не надо.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 08:24:16

pyzhman Ностальгия по былым временам не отпускает? :)))

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 09:21:56

barsik_32rus писал(а):Нужно сделать управление светом по pwm для плавного розжига и тушения света.

Прежде чем давать советы... желательно сначала определиться с самим устройством.
Питание? От сети / батарейное? От сети не требуется энергосберегающий режим МК. Значит режим SLEEP не требуется. Значит и прерывания не нужны. Значит можно просто опрашивать непрерывно все кнопки в основном цикле, вообще без таймеров. При этом не требуются дополнительные резисторы и диоды в схеме. Соответственно и схема проще.
barsik_32rus писал(а):раз 100 в секунду с опросом кнопок?

Практика показывает, что для чёткого срабатывания кнопок частоту опроса лучше брать побольше... минимум 1000 раз в секунду. Иначе кнопки работают с небольшой задержкой... (т.е. не чётко отрабатывают). Сам принцип работы с кнопками везде одинаковый.
Напрмиер в промышленных контроллерах частота опроса дискретных входов (кнопок) доходит до 100.000 раз в секунду... Просто там требования более жёсткие. http://cxem.net/promelectr/promelectr5.php
И т.д.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 09:34:53

roman.com писал(а):для чёткого срабатывания кнопок частоту опроса лучше брать побольше... минимум 1000 раз в секунду
это плохой совет. дребезг контактов длится в среднем от 10 до 20 мс, поэтому опрашивать чаще 100 раз в секунду - абсолютно бессмысленно. опрос реже можно делать с какой угодно частотой, но другая крайность - запаздывание реакции: человек физически не может отреагировать быстрее 100 мс, но хорошо замечает разницу моментов разных событий примерно с 40 мс, а на слух и того меньше. так что делать опрос кнопок реже 25 раз в секунду тоже неразумно.
roman.com писал(а):в промышленных контроллерах частота опроса дискретных входов (кнопок) доходит до 100.000 раз в секунду...
не путайте божий дар с яичницей: дискретный вход и кнопка - разные вещи, и для разного служат. на дискретный вход вешают оптический энкодер, например, который легко может выдавать тысячи импульсов в секунду, и для их надежной фиксации требуется столь высокая частота опроса.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 09:54:20

ARV писал(а):это плохой совет. дребезг контактов длится в среднем от 10 до 20 мс, поэтому опрашивать чаще 100 раз в секунду - абсолютно бессмысленно.

Ничего подобного. Дребезг контактов непредсказуем и зависит от того, насколько "раздолбана" кнопка. Старые кнопки с плохими контатками... никакого "среднего" дребезга там нет. Но, благодаря повышеной частоте опроса программа может работать и с такими кнопками - реагирует даже на кратковременное нажатие... и т.д. Вообще частоту проса лучше подбирать экспериментально, в процессе отладки схемы. А частота опроса 1000 раз в секунду и более - это просто двято "с запасом". Вот и всё))
ARV писал(а):дискретный вход и кнопка - разные вещи, и для разного служат.

Это просто как пример. Не более.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 10:02:09

roman.com писал(а):Это просто как пример. Не более.
пример должен подтверждать основную мысль, и в этом качестве он крайне неудачен. я объяснил, почему.
roman.com писал(а):Но, благодаря повышеной частоте опроса программа может работать и с такими кнопками - реагирует даже на кратковременное нажатие...
или вы сами не понимаете, что для кнопок с долгим дребезгом как раз снижение частоты опроса дает меньше ложных срабатываний, или считаете, что программная фильтрация потока "срабатываний" на каждый фронт дребезга - это пустячок, не требующий пояснений... обе причины перечеркивают ваш совет, о чем я так же написал.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 12:47:17

...Ностальгия...

Нет, токмо ради облегчения мучений ТС.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 15:09:05

Питание аккумуляторное. В любом случае,врятли даже в обычном цике потребление будет на столько большим чтобы за месяц высадить 12 аккум.

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 16:11:54

barsik_32rus писал(а):Нужно сделать управление светом по pwm
Так вам нужно сделать или у вас уже есть готовое устройство?

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 16:17:47

ARV много текста... прописные истины... ничего конкретного)) Лучше ТС давайте советы..))

barsik_32rus Ну раз мы в теме "Микроконтроллеры и ПЛИС » AVR" тогда берите простейший дешёвый МК AVR... типа ATtiny13... или ATmega48. Там и аппаратный pwm и выводов для кнопок с запасом.. ))
Непрерывный опрос трёх кнопок в основном цикле. Аппаратный pwm с плавным включением/выключением лампочки.
У ATmega48 ток потребления маленький (при 3V порядка ~3 ma). У автомобильного аккумулятора 12 саморазряд больше. На месяц точно хватит))

Re: Частый опрос входов/нехватка внешних прерываний.

Ср май 23, 2018 17:56:53

roman.com писал(а):ничего конкретного
я был вполне конкретен - ваши советы вредны.
roman.com писал(а):Лучше ТС давайте советы.
позвольте мне самостоятельно решать, что делать
Ответить