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

Обсуждаем контроллеры компании Atmel.
Ответить
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср апр 12, 2017 16:30:29

Сообщение barsik_32rus »

Вообщем. Нужно сделать управление светом по pwm для плавного розжига и тушения света. Управление по 3 входам. Т.к. 3 внешних прерывания много,и не везде есть,а брать огромный контроллер для такой цели бред,можно воспользоваться прерыванием по таймеру. Я прав? Делать что-то вроде прерываний раз 100 в секунду с опросом кнопок? Логика работы готового устройства примерно такова. Есть лампа подключенная к пину. Есть 3 кнопки. Одна признак открытия двери,и две открытие/закрытие замка. Если происходит открытие двери зажигаем плавно лампу,после закрытия плавно тушим,тут проблем нет. Если происходит открытие замка то плавно зажигаем лампу и тушим либо после открытия и последующего закрытия двери либо после закрытия замка. Я ведь прав на счет прерывания по таймеру для того чтобы не пропустить сигнал,или есть другие способы? Заранее спасибо.
Реклама
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

а что его пропускать то? он же не микросекунду длится и фронт не надо ловить с микросекундной точностью. Обычный софтверный цикл с опросом портов и флагами предыдущих состояний, по которым определяется нужный фронт и запускается действие. Не надо выдумывать себе проблем.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

NE555 уже не канает? А логику работы на КМОП серии. И мудрить ни с питанием, ни с программой не надо.
Docendo discimus
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Аватара пользователя
Сообщения: 2081
Зарегистрирован: Пт май 31, 2013 17:14:38
Откуда: Украина, Винница

Сообщение Ярослав555 »

pyzhman Ностальгия по былым временам не отпускает? :)))
Реклама
Друг Кота
Сообщения: 9177
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

barsik_32rus писал(а):Нужно сделать управление светом по pwm для плавного розжига и тушения света.
Прежде чем давать советы... желательно сначала определиться с самим устройством.
Питание? От сети / батарейное? От сети не требуется энергосберегающий режим МК. Значит режим SLEEP не требуется. Значит и прерывания не нужны. Значит можно просто опрашивать непрерывно все кнопки в основном цикле, вообще без таймеров. При этом не требуются дополнительные резисторы и диоды в схеме. Соответственно и схема проще.
barsik_32rus писал(а):раз 100 в секунду с опросом кнопок?
Практика показывает, что для чёткого срабатывания кнопок частоту опроса лучше брать побольше... минимум 1000 раз в секунду. Иначе кнопки работают с небольшой задержкой... (т.е. не чётко отрабатывают). Сам принцип работы с кнопками везде одинаковый.
Напрмиер в промышленных контроллерах частота опроса дискретных входов (кнопок) доходит до 100.000 раз в секунду... Просто там требования более жёсткие. http://cxem.net/promelectr/promelectr5.php
И т.д.
Реклама
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Сообщения: 9177
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

ARV писал(а):это плохой совет. дребезг контактов длится в среднем от 10 до 20 мс, поэтому опрашивать чаще 100 раз в секунду - абсолютно бессмысленно.
Ничего подобного. Дребезг контактов непредсказуем и зависит от того, насколько "раздолбана" кнопка. Старые кнопки с плохими контатками... никакого "среднего" дребезга там нет. Но, благодаря повышеной частоте опроса программа может работать и с такими кнопками - реагирует даже на кратковременное нажатие... и т.д. Вообще частоту проса лучше подбирать экспериментально, в процессе отладки схемы. А частота опроса 1000 раз в секунду и более - это просто двято "с запасом". Вот и всё))
ARV писал(а):дискретный вход и кнопка - разные вещи, и для разного служат.
Это просто как пример. Не более.
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18678
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск

Сообщение pyzhman »

[uquote="Ярослав555",url="/forum/viewtopic.php?p=3383408#p3383408"]...Ностальгия...[/uquote]
Нет, токмо ради облегчения мучений ТС.
Docendo discimus
Контактная информация:
Первый раз сказал Мяу!
Сообщения: 26
Зарегистрирован: Ср апр 12, 2017 16:30:29

Сообщение barsik_32rus »

Питание аккумуляторное. В любом случае,врятли даже в обычном цике потребление будет на столько большим чтобы за месяц высадить 12 аккум.
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

barsik_32rus писал(а):Нужно сделать управление светом по pwm
Так вам нужно сделать или у вас уже есть готовое устройство?
Друг Кота
Сообщения: 9177
Зарегистрирован: Вт мар 13, 2012 12:16:13
Откуда: .ru

Сообщение roman.com »

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

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

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Ответить

Вернуться в «AVR»