Цель проекта - изучение дребезга контактов с помощью платы Intel® Galileo Gen 2 и нахождение способов устранения помех.
Задачи работы:
1) Пронаблюдать за дребезгом контактов на примере тактовой кнопки.
2) Изучить теорию о дребезге контактов.
3) Устранить дребезг контактов программным способом.
4) Устранить дребезг контактов аппаратным способом.
5) Сделать выводы.
Актуальность работы обусловлена необходимостью борьбы с таким нежелательным явлением в технических устройствах как дребезг контактов. Дребезг контактов — явление, происходящее в электромеханических коммутационных устройствах и аппаратах (кнопках, реле, герконах, переключателях, контакторах, магнитных пускателях и др.), длящееся некоторое время после замыкания электрических контактов. После замыкания происходят многократные неконтролируемые замыкания и размыкания контактов за счет упругости материалов и деталей контактной системы — некоторое время контакты «подпрыгивают» при соударениях, размыкая и замыкая электрическую цепь. Говоря проще, при нажатии и отпускании кнопки она переходит в нужное состояние не сразу. Было решено исследовать дребезг контактов с помощью платы Intel® Galileo Gen 2 и найти способы борьбы с ним.
В результате выполнения исследовательской работы: удалось пронаблюдать явление дребезга контактов на примере тактовой кнопки на плате Intel® Galileo Gen2. Была изучена теория о дребезге контактов. Дребезг контактов был устранён программным и аппаратным способом.
Вложение | Размер |
---|---|
drebezg_kontaktov.doc | 940.5 КБ |
stend.pptx | 1.53 МБ |
Областной конкурс конструкторской и изобретательской деятельности «Идеи молодых – дорога в будущее»
Номинация
«Проект по техническому творчеству»
ИССЛЕДОВАНИЕ ДРЕБЕЗГА КОНТАКТОВ С ПОМОЩЬЮ ПЛАТЫ Intel® Galileo Gen2 И НАХОЖДЕНИЕ СПОСОБОВ УСТРАНЕНИЯ ПОМЕХ
Максим Любавин, учащийся 11 класса
МБОУ ”Лицей г.Уварово им. А.И. Данилова”
М. А. Авдеева, учитель физики
МБОУ ”Лицей г.Уварово им. А.И. Данилова”
2015 год
Содержание:
Цель исследовательской работы 2
Описание и принцип работы фоторезистора 3
Описание экспериментальной установки 6
Заключение 11
Приложение 13
Введение
В современном мире широко развиваются информационные технологии. В связи с этим возникают множество вопросов о способах изучения информации, сортировки и хранения. Но и немало возникает вопросов с технической точки зрения. В зависимости от вида информации существуют различные устройства ввода и вывода информации. На данный момент широко используются кнопки, переключатели и другие механические устройства ввода информации.
В процессе работы возникает проблемная ситуация - дребезг контактов, который может привести к нарушению работы устройства, некорректному выводу информации и ложных срабатываний кнопки. Дребезг контактов — явление, происходящее в электромеханических коммутационных устройствах и аппаратах (кнопках, реле, герконах, переключателях, контакторах, магнитных пускателях и др.), длящееся некоторое время после замыкания электрических контактов. После замыкания происходят многократные неконтролируемые замыкания и размыкания контактов за счет упругости материалов и деталей контактной системы — некоторое время контакты «подпрыгивают» при соударениях, размыкая и замыкая электрическую цепь. Иными словами, при нажатии и отпускании кнопки она переходит в нужное состояние не сразу. Дребезг контактов — почти всегда нежелателен в технических устройствах.
Целью данной работы я выбрал: изучение дребезга контактов с помощью платы Intel® Galileo Gen 2 и нахождение способов устранения помех.
В связи с выбранной целью были поставлены следующие задачи:
1) Понаблюдать за дребезгом контактов на примере тактовой кнопки.
2) Изучить теорию о дребезге контактов.
3) Устранить дребезг контактов программным способом.
4) Устранить дребезг контактов аппаратным способом.
5) Сделать выводы.
Описание проекта.
Для индикации работы кнопки был подключён светодиод.
Для этого необходимы следующие компоненты:
1) Плата Intel Galileo Gen2. Технические характеристики (приложение 1, 2).
2) Тактовая кнопка.
3) Резистор 10 кОм.
4) Резистор 220 Ом.
5) Светодиод.
6) Контактная макетная плата.
7) Соединительные провода.
Подключается кнопка следующим образом: стягивающим резистором на 10кОм подключается к земле. Вторую ножку подключаем к 5 вольтам. Ножку с минусом соединяем с 8 пином платы.
Для проверки работы кнопки был подключён светодиод к 13 пину (рис. 1, 2).
Рисунок 1. Схема сборки
Рисунок 2. Сборка устройства
Для работы платы необходима программа, которая включает светодиод, когда с кнопки поступает единица (приложение 3).
1. Наблюдение за явлением дребезга контактов на примере тактовой кнопки
Этот код не подходил целям в полной мере, так как при отпускании кнопки светодиод сразу гас. А нужно было сделать так, чтобы он продолжал светить. Поэтому код был изменён на более рациональный (приложение 4).
На дальнейшем этапе работы появился неприятный эффект: при нажатии на кнопку не всегда получилось добиться нужного результата. Кнопка не всегда срабатывала при нажатии (https://www.youtube.com/watch?v=i6idr-Kniak).
2. Изучение теории о дребезге контактов на примере тактовой кнопки
Для выявления возникшей проблемы стала необходима повторная проверка уже выполненной работы. При выяснении причины некорректной работы кнопки я пришёл к явлению дребезга контактов. До того как контакты кнопки плотно сомкнутся они будут дребезжать, т.е. колебаться. И тем самым будут давать контролеру неверную информацию о своём состоянии. Происходит это из-за несовершенства при изготовлении всех переключателей. Ликвидировать брак на производстве невозможно.
3. Устранение дребезга контактов программным способом
Это первый способ решения этой проблемы. Программный способ. Этот дребезг длится около 50 мс. Именно с помощью этого факта и можно выявить первый способ, как побороться с этим. Для этого в цикле if() { } мы ставим delay(50);
Код
int switchPin = 8;
int ledPin = 13;
boolean lastButton = LOW;
boolean currentButton = LOW;
boolean ledOn = false;
void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
boolean debounce(boolean last)
{
boolean current = digitalRead(switchPin);
if (last != current)
{
delay(50);
current = digitalRead(switchPin);
}
return current;
}
void loop() {
currentButton = debounce(lastButton);
if (lastButton ==LOW && currentButton == HIGH)
{
ledOn = !ledOn;
}
lastButton = digitalRead(switchPin);
digitalWrite(ledPin, ledOn);
}
Демонстрация работы кнопки без дребезга (https://www.youtube.com/watch?v=esye-KCSyXU).
Программный способ устранения дребезга хорош тем, что при этом методе не нужно вносить изменения в электрическую цепь. Достаточно изменить программу на контроллере. Но у этого метода есть и минусы. Так, к примеру, дребезг иногда длится больше 50 миллисекунд и тогда помехи не устраняются. Для более точной и быстрой электроники ждать отклика кнопки такое время слишком долгое. Для использования команды delay(); занимается вся память таймера и поэтому, таймер, который стоит на плате нельзя использовать в других целях.
4. Устранения дребезга контактов аппаратным способом
Есть и другие способы бороться с дребезгом с помощью прерывания. Прерывание может быть двух видов:
1) По таймеру
2) Аппаратные
Как уже было сказано выше, прерывание по таймеру невозможно без подключения отдельного таймера к цепи, что существенно усложнит её использование. Хотя, есть и отдельные таймеры, которые можно использовать для этой цели, к примеру, микросхема 555.
Поэтому было решено использовать аппаратное прерывание. Аппаратные решения, всегда ценятся выше среди инженеров. За счёт их надёжности, облегчения программы и вообще за большую хардкорность. Но есть и минусы. Основным недостатком является то, что придётся изменять цепь. Ещё одним минусом является то, что придётся затрачивать большее количество радиодеталей.
Аппаратно на плате Galileo Gen 2 возможно выполнить четыре вида прерывания.
1) Это LOW – вид, который будет в цикле повторять прерывания каждый раз, пока контакт Galileo Gen 2 притянут к нулю.
2) Change – будет совершаться прерывание всякий раз при изменении напряжения.
3) Rising – будет срабатывать прерывание при повышении напряжения
4) Faling – с точностью до наоборот. Прерывание будет происходить, когда контакт будет уходить в ноль.
Будем использовать Faling. Для этого была собрана новая RC - цепь. RC – резистор конденсатор. По названию элементов, которые будут основными в этой схеме. По сравнению со старой схемой будет ряд изменений.
1) Замена стягивающего на подтягивающий резистор. Это нужно для того, чтобы инвертирующий триггер Шмидта сработал.
2) Установим конденсатор на 10мФ.
3) Это инвертирующий триггер Шмидта, который сгладит и инвертирует сигнал.
Подключение осуществляется следующим образом.
Заключение
Мне удалось пронаблюдать явление дребезга контактов на примере тактовой кнопки. Мне удалось устранить дребезг контактов с использованием двух методов, программного и аппаратного, на основе платы Intel® Galileo Gen 2, которая отлично подходит для осуществления цели данной работы.
Вывод
Изучил дребезг контактов с помощью платы Intel® Galileo Gen 2 и осуществил поставленные в работе задачи.
Список литературы
Приложение 1
Приложение 2
Физические характеристики
Характеристики процессора
Варианты системы хранения
Приложение 3
int switchPin = 8;
int ledPin = 13;
void setup()
{ pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop()
{
if (digitalRead(switchPin) == HIGH)
{
digitalWrite(ledPin, HIGH);
}
else
{
digitalWrite(ledPin, LOW);
}
}
Приложение 4
int switchPin = 8;
int ledPin = 13;
boolean lastButton = LOW;
boolean ledON = false;
void setup() {
pinMode(switchPin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
if (digitalRead(switchPin) == HIGH && lastButton == LOW)
{
ledOn = !ledOn;
lastButton = HIGH;
}
else
{
lastButton = digitalRead(switchPin);
}
digitalWrite(ledPin, ledOn);
}
Слайд 1
Исследование дребезга контактов с помощью платы Intel Galileo Gen 2 и нахождение способов устранения помех Максим Любавин, учащийся 11 класса МБОУ ”Лицей г.Уварово им. А.И. Данилова” М. А. Авдеева, учитель физики МБОУ ”Лицей г.Уварово им. А.И. Данилова”Слайд 2
Целью данной работы я выбрал : изучение дребезга контактов с помощью платы Intel® Galileo Gen 2 и нахождение способов устранения помех. В связи с выбранной целью были поставлены следующие задачи : 1) Понаблюдать за дребезгом контактов на примере тактовой кнопки . 2) Изучить теорию о дребезге контактов. 3) Устранить дребезг контактов программным способом . 4) Устранить дребезг контактов аппаратным способом . 5) Сделать выводы .
Слайд 3
Описание проекта. Для этого необходимы следующие компоненты : 1) Плата Intel Galileo Gen2. Технические характеристики (приложение 1, 2). 2) Тактовая кнопка . 3) Резистор 10 кОм . 4) Резистор 220 Ом . 5) Светодиод . 6) Контактная макетная плата . 7) Соединительные провода . Подключается кнопка следующим образом : стягивающим резистором на 10кОм подключается к земле . Вторую ножку подключаем к 5 вольтам . Ножку с минусом соединяем с 8 пином платы.
Слайд 4
Программным путём int switchPin = 8; int ledPin = 13; boolean lastButton = LOW; boolean currentButton = LOW; boolean ledOn = false ; void setup () { pinMode ( switchPin , INPUT); pinMode ( ledPin , OUTPUT); } boolean debounce ( boolean last ) { boolean current = digitalRead ( switchPin ); if ( last != current ) { delay (50); current = digitalRead ( switchPin ); } return current ; } void loop () { currentButton = debounce ( lastButton ); if ( lastButton ==LOW && currentButton == HIGH) { ledOn = ! ledOn ; } lastButton = digitalRead ( switchPin ); digitalWrite ( ledPin , ledOn ); }
Слайд 5
Аппаратным путём
Слайд 6
Результат работы
Слайд 7
Мне удалось пронаблюдать явление дребезга контактов на примере тактовой кнопки. Мне удалось устранить дребезг контактов с использованием двух методов, программного и аппаратного, на основе платы Intel ® Galileo Gen 2 , которая отлично подходит для осуществления цели данной работы. Заключение
Сказка на ночь про Снеговика
Сказки пластилинового ослика
Интересные факты о мультфильме "Моана"
Простые летающие модели из бумаги
Л. Нечаев. Про желтые груши и красные уши