Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 06:38:28
Встал на лапы
Зарегистрирован: Вс фев 27, 2011 01:01:11 Сообщений: 86 Откуда: Республика Крым
Рейтинг сообщения:0
eufs писал(а):
20 мс, это очень мало. Да и не к чему. 50 раз в секунду никто кнопки нажимать не будет, а помехоустойчивость выше. Это я в руководстве по программированию МК лет 10 назад еще читал (еще для 51,но суть дела не меняет). Там очень тесно связывалась моторика и физиология человека с подобными вещами. Приводились выкладки зачем и почему выбираются те или иные интервалы.
Для Вас специально привожу пример, который запомнился оттуда же. Подготовленная реакция человека на событие (зажигается например светодиод и этого человек пристально ждет) лежит в диапазоне 100-150мс, а неподготовленная, то есть та, которая происходит внезапно - 300-500мс, а если пьяный, то до 2 сек доходит. Можете проверить это каким либо образом на себе. я убежден, что цифры правильные. А теперь скажите, зачем делать подавление дребезга 20мс, если все равно никаких действий, чаще чем 10 раз в секунду (100мс) Вы все равно пальцами сделать не сможете, а даже если у вас это получится - все равно отреагировать на каждое нажатие неполучится. Проще и грамотнее делать автоповтор нажатия на кнопку. По поводу нажал-отпустил за 100мс - аргумент еще проще - нафига было нажимать. Мы же заботимся об эргономике и помехоподавлении, а не об играх с кнопками.
Мы давим дребезг контактов нажимаемой кнопки (сработавшего реле, датчика и т.д.) Т.о. определяющим будет являться не реакция человека а время за которое наступит стабильный контакт (или его отсутствие). Вот, например, параметр из даташита на кнопочный переключатель (энкодер) PEC12: Contact Bounce (15 RPM).................5.0 ms. maximum Из него следует, что ожидая больше 5 мс мы только попросту тратим время, поскольку дребезг длится менее 5 мс. Просмотрев кучу даташитов я убедился, что задержка в 20 мс -достаточна для практически любой контактной пары (если не рассматривать очень медленные процессы) Как я уже говорил, дребезг и помехоустойчивость - это разные вещи и подход к ним должен быть соответствующий, а связывать дребезг с моторикой и эргономикой (как на мой взгляд) вообще лишено смысла... Мы же боремся чисто с дребезгом контактов а не руки человека...
_________________ Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 06:52:26
Опытный кот
Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19 Сообщений: 838 Откуда: с Земли
Рейтинг сообщения:0
Спасибо, поржал
eufs писал(а):
С таким подходом к школьному курсу физики Ваш контроллер вообще ничего не посчитает...Сколько в секунде миллисекунд?
А какой должен быть подход к школьному курсу физики? У меня 1с=1000мс, а у Вас? Или, со вчерашнего дня, ввели новую СИ (Система Интернациональная, если Вы не в курсе). Если задержка 100 миллисек, это (у меня) = 0.1с. 5 нажатий в секунду, подразумевает и 5 отпусканий - поправьте меня, если я не прав. Итого 5+5=10 переключений. 1секунда/10 переключений = 0.1с. 0.1с = 100мс. И как это будет работать? Прежде чем советовать, мозг включите и подумайте Молодеж, такая-же как Вы, забудет включить мозг, и "забацает" такую задержку. И потом стопицот постов "А-А-А памагите, не работает..." Это Вам нужно в школу, класс этак во 2-й, арифметику подучить Я понимаю, что праздники, водка ...
_________________ Все будет только лучше, в крайнем случае - хуже.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 07:05:28
Опытный кот
Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19 Сообщений: 838 Откуда: с Земли
Рейтинг сообщения:0
VirZh писал(а):
Мы давим дребезг контактов нажимаемой кнопки (сработавшего реле, датчика и т.д.) Т.о. определяющим будет являться не реакция человека а время за которое наступит стабильный контакт (или его отсутствие). Вот, например, параметр из даташита на кнопочный переключатель (энкодер) PEC12: Contact Bounce (15 RPM).................5.0 ms. maximum Из него следует, что ожидая больше 5 мс мы только попросту тратим время, поскольку дребезг длится менее 5 мс. Просмотрев кучу даташитов я убедился, что задержка в 20 мс -достаточна для практически любой контактной пары (если не рассматривать очень медленные процессы) Как я уже говорил, дребезг и помехоустойчивость - это разные вещи и подход к ним должен быть соответствующий, а связывать дребезг с моторикой и эргономикой (как на мой взгляд) вообще лишено смысла... Мы же боремся чисто с дребезгом контактов а не руки человека...
Вот это грамотный подход!
_________________ Все будет только лучше, в крайнем случае - хуже.
Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.
Тут нет предмета для споров. При выборе времени задержки опроса для антидребезга нижнее значение - максимально возможное время дребезга контактов, верхнее значение - минимально возможный период воздействия на контакты - не важно рукой или кнопкой. И внутри этого диапазона можно выбирать.
asteroid7 писал(а):
реакция говорите?..
"Полет Шмуля" - классный тест на антидребезг. Если бы ф-но было бы электрическим, хошь-не-хошь пришлось бы ставить антидребезговые триггеры.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 11:37:18
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4470 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
На счёт антидребезга. Кто как делает. Я делаю так: Если нажалась кнопка, то жду 10 мс, за тем снова её проверяю. Если действительно нажалась, то жду ещё 10 мс, потом застреваю в цикле до тех пор, пока кнопку не отпустят. Если во время повторной проверки, кнопка оказалась разорваной, то перепрыгиваю снова в начало её опроса, предварительно задержавшись на 10 мс. Если всё равно разорвана, то выход из опроса, иначе всё повторяется (задержка 10мс и за тем вторая проверка) Вот такой хитрый алгоритм. На помехи и наводки не реагирует. Проверено вблизи мощного передатчика. Обычно я пишу опрос кнопок в виде отдельной подпрограммы, если опрос нескольких кнопок. Подпрограммы сделаны в виде цикла, при остановке которого, в одном из регистров остаётся номер нажатой кнопки. Цикл разрывается, если какая-то из кнопок будет нажата. Если не нажимались кнопки, то в том регистре остаётся значение, указывающее, что за весь цикл ничего не нажималось. Типа драйвер получается.
_________________ I am DX168B and this is my favourite forum on internet!
Если действительно нажалась, то жду ещё 10 мс, потом застреваю в цикле до тех пор, пока кнопку не отпустят.
А за это время завод взорвался. Пример. Работает автомат защиты, отслеживая параметры двигателя . Пришел злодей, нажал кнопку ПЕРЕКЛЮЧИТЬ ИНДИКАЦИЮ ПАРАМЕТРА и держит. Получите Чернобыль. Делаю просто. У меня регулярный жесткий 20мс-ный цикл. Один раз в цикл считываю кнопки, сохраняя их в 3-байтовом сдвиговом регистре. Еще в одном байте - слово состояния прибора. Если 3 значения требуемого бита совпали и противоположны значению этого же бита в слове состояния, фиксирую событие ТРЕБУЕТСЯ ОБРАБОТКА, и в свободное от основного алгоритма время обрабатываю событие. Этот пример - первое, что пришло на ум из моей практики, может быть, потому, что работает в сотнях экземпляров в нехилых производствах.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 19:22:08
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4470 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Всё зависит от поставленных задач. Забыл дописать ранее. Ожидание отпускания кнопки можно всунуть в ограниченный цикл. Тогда к кнопке можно приделать вторую функцию. Например, событие короткого нажатия и событие длительного нажатия. Естественно, в таких местах, которые вы перечислили нужен другой подход к опросу кнопок. Но в моём случае, мой вариант мне больше подходит для моих задач. Я лишь привёл свой пример.
_________________ I am DX168B and this is my favourite forum on internet!
Последний раз редактировалось DX168B Вт апр 26, 2011 19:24:56, всего редактировалось 1 раз.
А какой должен быть подход к школьному курсу физики? У меня 1с=1000мс, а у Вас? Или, со вчерашнего дня, ввели новую СИ (Система Интернациональная, если Вы не в курсе). Если задержка 100 миллисек, это (у меня) = 0.1с. 5 нажатий в секунду, подразумевает и 5 отпусканий - поправьте меня, если я не прав. Итого 5+5=10 переключений. 1секунда/10 переключений = 0.1с. 0.1с = 100мс. И как это будет работать? Прежде чем советовать, мозг включите и подумайте Молодеж, такая-же как Вы, забудет включить мозг, и "забацает" такую задержку. И потом стопицот постов "А-А-А памагите, не работает..." Это Вам нужно в школу, класс этак во 2-й, арифметику подучить Я понимаю, что праздники, водка ...
МолодежЬ, такая как Вы, рассказывает об отключенном мозге, не подозревая даже о том, что 10 раз в секунду(задержек на отпускание не предусмотрено) нажимать не понадобиться, для ускорения ввода с кнопок существуют функции автоповтора.
Выбирать подавление дребезга нужно не исходя из даташитов на кнопки, а исходя из необходимого времени реакции системы, так как у любой контактной группы есть износ, загрязнения и есть импульсные и другие помехи. И, если эта система завязана на человеке (то есть нажимает и смотрит на дисплей или еще куда), нет необходимости выбирать его меньше чем 100мс. Все равно - чаще человек просто не отреагирует - смотрите ссылки. С натяжкой соглашусь на вдвое меньшую - 50мс. Но не менее. Другое дело, где я соглашусь, это механический валкодер. Но опять же-надо с максимальной скоростью крутнуть (с выбранным диаметром рукоятки) и выбрать время, половину от полученного. Я работаю с промышленной электроникой и привык разрабатывать и делать ее по-нормальному. Так как были случаи, когда в промышленных приборах такие как Вы не удосужились сделать программное подавление дребезга вообще, повесив кондеры по 100н. Впрочем - делайте как хотите.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 19:28:25
Друг Кота
Карма: 67
Рейтинг сообщений: 1012
Зарегистрирован: Чт сен 18, 2008 12:27:21 Сообщений: 18798 Откуда: Столица Мира Санкт-Петербург
Рейтинг сообщения:0 Медали: 1
Чувствую, пора отпочковывать отдельную тему "антидребезг"
_________________ [ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ] Измерить нннада?
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 19:30:34
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4470 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Так, кажется я когда-то заводил такую тему. Она была связана с клавиатурами, опросами кнопок и с борьбой с дребезгом контактов. Только вот тема не оказалась популярной.
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Вт апр 26, 2011 21:32:13
Встал на лапы
Зарегистрирован: Вс фев 27, 2011 01:01:11 Сообщений: 86 Откуда: Республика Крым
Рейтинг сообщения:0
eufs писал(а):
Выбирать подавление дребезга нужно не исходя из даташитов на кнопки, а исходя из необходимого времени реакции системы, так как у любой контактной группы есть износ, загрязнения и есть импульсные и другие помехи.
Позволю себе не согласиться. Если в даташите написано что дребезг не превышает 5 мс, то 20 мс - хватит с головой.
eufs писал(а):
И, если эта система завязана на человеке (то есть нажимает и смотрит на дисплей или еще куда), нет необходимости выбирать его меньше чем 100мс. Все равно - чаще человек просто не отреагирует - смотрите ссылки. С натяжкой соглашусь на вдвое меньшую - 50мс. Но не менее.
Прошу прощения за повтор - мы же говорим о подавлении дребезга а не о скорости реакции человека. У меня исходя из Ваших доводов вспоминается студенческая поговорка: "Лучше переесть, чем недоспать" . В общем-то разные вещи и не надо их сводить в одно.
eufs писал(а):
Другое дело, где я соглашусь, это механический валкодер. Но опять же-надо с максимальной скоростью крутнуть (с выбранным диаметром рукоятки) и выбрать время, половину от полученного. Я работаю с промышленной электроникой и привык разрабатывать и делать ее по-нормальному. Так как были случаи, когда в промышленных приборах такие как Вы не удосужились сделать программное подавление дребезга вообще, повесив кондеры по 100н. Впрочем - делайте как хотите.
Я тоже работаю с промышленной электроникой и делаю "по нормальному" с опторазвязкой, подавлением дребезга и помех...
_________________ Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Позволю себе не согласиться. Если в даташите написано что дребезг не превышает 5 мс, то 20 мс - хватит с головой.
Прошу прощения за повтор - мы же говорим о подавлении дребезга а не о скорости реакции человека. У меня исходя из Ваших доводов вспоминается студенческая поговорка: "Лучше переесть, чем недоспать" . В общем-то разные вещи и не надо их сводить в одно.
Я тоже работаю с промышленной электроникой и делаю "по нормальному" с опторазвязкой, подавлением дребезга и помех...
Так вот лучше перебдеть, чем недобдеть, и потом по пятнадцать раз бегать(если не ездить) по подстанциям и перешивать уже готовые и сданые в работу приборы. Повторюсь - время подавления дребезга выбирается НАИБОЛЬШИМ из возможного - от этого только лучше(или я не прав?). Ограничение здесь - чтобы это было(по возможности) не так заметно, тому кто нажимает. Поэтому я(лично) выбираю эту задержку по средней скорости реакции человека на событие, которое генерит нажатие на кнопку, то есть в пределах 100-150мс. Чего и Вам рекомендую. Мне странно слышать от человека, который занимается (по его словам) промэлектроникой, который говорит об помехоподавлении в 20мс. Простите, Вы были хоть раз на силовой подстанции с осциллографом?
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср апр 27, 2011 00:06:14
Опытный кот
Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19 Сообщений: 838 Откуда: с Земли
Рейтинг сообщения:0
Я не хочу продолжать этот пустой спор. Взял дешевую кнопку, китайскую, да еще и разъе... короче долго эксплуатировалась. Схема простая: кнопка + подтяжка 4.7к на +5V Сколько я ее не нажимал, получить дребезг даже в 1мкс не удалось. Попробовал другую, новую - результат аналогичный. Никаких выводов! Просто информация PS: Если интересует, могу порыться в старых коробках, поискать советские концевички.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср апр 27, 2011 06:10:55
Встал на лапы
Зарегистрирован: Вс фев 27, 2011 01:01:11 Сообщений: 86 Откуда: Республика Крым
Рейтинг сообщения:0
eufs писал(а):
Так вот лучше перебдеть, чем недобдеть, и потом по пятнадцать раз бегать(если не ездить) по подстанциям и перешивать уже готовые и сданые в работу приборы. Повторюсь - время подавления дребезга выбирается НАИБОЛЬШИМ из возможного - от этого только лучше(или я не прав?). Ограничение здесь - чтобы это было(по возможности) не так заметно, тому кто нажимает. Поэтому я(лично) выбираю эту задержку по средней скорости реакции человека на событие, которое генерит нажатие на кнопку, то есть в пределах 100-150мс. Чего и Вам рекомендую. Мне странно слышать от человека, который занимается (по его словам) промэлектроникой, который говорит об помехоподавлении в 20мс. Простите, Вы были хоть раз на силовой подстанции с осциллографом?
Я про Ваню, ты про баню!!! Не надо смешивать дребезг и помехи! Это разные вещи. Если для дребезга 20 мс достаточно, то для помех нужно рассматривать каждый случай в отдельности, поскольку помехи имеют под собой разную природу. И тупая задержка хоть в час тут ничего не даст. Принесу с работы осциллограмму с электромагнитной помехой от движка на индуктивный датчик, а Вы мне по этой осциллограмме скажете какая должна быть задержка!
coredumped писал(а):
Я не хочу продолжать этот пустой спор. Взял дешевую кнопку, китайскую, да еще и разъе... короче долго эксплуатировалась. Схема простая: кнопка + подтяжка 4.7к на +5V Сколько я ее не нажимал, получить дребезг даже в 1мкс не удалось. Попробовал другую, новую - результат аналогичный. Никаких выводов! Просто информация PS: Если интересует, могу порыться в старых коробках, поискать советские концевички.
Абсолютно согласен, что подтверждает то что говорил и я - читать даташит не вредно! Для этого их и пишут.
_________________ Опыт и мудрость приходят с годами... К некоторым годы приходят одни...
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср апр 27, 2011 07:04:28
Опытный кот
Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19 Сообщений: 838 Откуда: с Земли
Рейтинг сообщения:0
eufs писал(а):
МолодежЬ, такая как Вы, рассказывает об отключенном мозге, не подозревая даже о том, что 10 раз в секунду(задержек на отпускание не предусмотрено) нажимать не понадобиться, для ускорения ввода с кнопок существуют функции автоповтора.
Ну, если при отпускании у Вас дребезга нет... Похоже Вы - теоретик? Те, из Ваших слов, напрашивается вывод, что Вы ни одного устройства не сделали, а просто флудите на старости лет
eufs писал(а):
Впрочем - делайте как хотите.
Уже пару лет использую бесконтактные технологии, всем рекомендую http://www.atmel.com/products/bsw/defau ... global_nav Если кого заинтересует, могу поделиться реальным опытом (есть некоторые ньюансы при трассировке плат) PS: 2 Модератор. Может и правда стоит перенести это обсуждение в отдельную тему, как предложил Gudd-Head?
_________________ Все будет только лучше, в крайнем случае - хуже.
Взял дешевую кнопку, китайскую, да еще и разъе... короче долго эксплуатировалась. Схема простая: кнопка + подтяжка 4.7к на +5V Сколько я ее не нажимал, получить дребезг даже в 1мкс не удалось. Попробовал другую, новую - результат аналогичный. Никаких выводов! Просто информация
Ну как же без выводов ! Резюме : дребезга в принципе не существует, это все происки и выдумки. Аминь! Непонятно только, зачем в таком случае на бесконтактную технологию переходить.
Ну, если при отпускании у Вас дребезга нет... Похоже Вы - теоретик? Те, из Ваших слов, напрашивается вывод, что Вы ни одного устройства не сделали, а просто флудите на старости лет
А у меня напрашивается вывод, что Вы не читали соответствующие книги по теории программирования, если так рьяно настаиваете, что дребезг не относится к помехам для работы устройства, а что-то отдельное, и обрабатывать это надо как-то отдельно. Приведите мою цитату,( доблестный практик) где я написал, что дребезга при отпускании нет. Подпрограмма обработки НАЖАТИЙ на кнопку может и не обрабатывать отпусканий - читайте теорию.
И вообще, по поводу сделанных устройств - пиписьками мерятся не собираюсь, как и оправдываться тоже - считайте свои.
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср апр 27, 2011 12:42:15
Друг Кота
Карма: 25
Рейтинг сообщений: 99
Зарегистрирован: Вс янв 24, 2010 19:19:52 Сообщений: 4470 Откуда: Главный Улей России (Moscow)
Рейтинг сообщения:0
Вот на этой плате запаяна самая проблемная кнопка. Пока кнопка была новой, проблем небыло, но через время начала глючить. А именно появился дребезг. Пришлось мне потом прошивку модифицировать. До этого задержка была 15 мс и пришлось увеличить до 50 мс. Вот вам и отсутствие дребезга.
ЗЫ: Заканчиваем флуд.
_________________ I am DX168B and this is my favourite forum on internet!
Заголовок сообщения: Re: Ассемблер (ASM) для AVR в вопросах и ответах
Добавлено: Ср апр 27, 2011 19:14:02
Опытный кот
Карма: 3
Рейтинг сообщений: 43
Зарегистрирован: Вт апр 12, 2011 18:38:19 Сообщений: 838 Откуда: с Земли
Рейтинг сообщения:0
Jack_A писал(а):
зачем в таком случае на бесконтактную технологию переходить.
Основная причина - трудности в изготовлении "морд" для готовых изделий, особенно если речь идет о мелкосерийном производстве и изготовление весьма дорогостоящих штампов неоправдывается. Кнопки - это еще пол-беды, а вот где найти/изготовить подходящие "толкатели", сделать под них отверствия ... Вот и получается, что пространства для маневра не так уж много. А тут проблема решена - делается морда из плекса, на внутренней стороне рисуются (шелкографией) кнопки, слайдеры итп. Потом приклеивается плата и все. Дизайнерам, опять-же, есть где разгуляться. Короче - дешево, надежно, практично
_________________ Все будет только лучше, в крайнем случае - хуже.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 26
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения