Робототехника — прикладная наука, занимающаяся разработкой автоматизированных технических систем. Она входит в новую парадигму — STEM-образование. Роботы задействованы во многих сферах жизни человека. На предприятиях люди не могут обойтись без них. Роботизированные системы помогают человеку обрабатывать данные, следят за соблюдением техники безопасности, помогают заботиться о здоровье. Данная статья посвящена изучению основ проектирования роботизированных устройств на платформе Arduino Uno. Рассмотрены вопросы о влиянии внешней среды на здоровье человека. Разработанное устройство способно предупреждать человека при возникновении неблагоприятных условий как в домашних условиях, так и на производстве.
Ключевые слова: робототехника, программирование, Arduino, анализатор воздуха
Цель работы: определить предельно допустимые уровни параметров внешней среды для человека. Разработать устройство «Анализатор воздуха» на базе Arduino и апробировать алгоритм его работы в различных ситуациях.
Задачи работы:
- Проанализировать специальную литературу, изучить основные принципы робототехники, а также особенности построения устройств на базе Arduino.
- Определить факторы внешней среды, влияющие на здоровье человека.
- Разработать устройство «Анализатор воздуха» и алгоритм его работы.
- Провести серию испытаний в различных условиях и проанализировать результаты работы устройства.
Платформа ArduinoUNO. Платы расширения, сенсоры идатчики
Первый прототип платы семейства Arduino был разработан в 2005 году программистом Массимо Банци. На сегодняшний день платформа Arduino представлена не одной платой, а целым семейством (Arduino Due, Leonardo, Uno, Nano, Mega и др.). Платы представляют собой наборы, состоящие из электронного блока и программного обеспечения. Электронный блок — это плата с установленным микроконтроллером и элементами, необходимыми для работы. Он является аналогом материнской платы компьютера. На нем имеются разъемы для подключения внешних устройств, а также разъем для связи с компьютером, по которому и осуществляется программирование.
Практическая часть в рамках данного исследования будет реализована на базе платформы Arduino Uno. Плата выполнена на базе процессора ATmega с тактовой частотой 16 МГц, обладает памятью 32кБ, из которых 2 кБ выделено под bootloader (для прошивки через USB), 2 кБ SRAM-памяти (для хранения временных данных), 1 кБ EEPROM-памяти (долговременное хранение). На платформе расположены 14 контактов (pin) цифрового ввода и вывода, 6 контактов аналогового ввода и входной контакт Reset.
Отличительной особенностью плат семейства Arduino является наличие «шилдов» (shields), т. е. плат расширения. Для подключения необходимых датчиков к анализатору воздуха с помощью стандартных 3-проводных шлефов используется Troyka Shield.
Рис. 1. Платформа Arduino Uno и Troyka Shield
Для проведения измерений существует большое количество различных датчиков и сенсоров. Датчики широко используются в научных исследованиях, испытаниях, контроле качества, системах автоматизированного управления и других областях. Для исследования состава воздуха использованы следующие:
– Датчик широкого спектра газов MQ-2 способен определить концентрацию углеводородных газов (пропан, метан, н-бутан), дыма (взвешенных частиц, как результата горения) и водорода. MQ-2 относится к полупроводниковым приборам.
– Датчик угарного газа MQ-7 необходим для определения наличия и концентрации угарного газа (CO) в окружающей среде.
Принцип работы этих двух сенсоров основан на изменении сопротивления слоя диоксида олова SnO2 при контакте с молекулами газа. Чувствительный элемент состоит из керамической трубки с покрытием Al2O3 и нанесенного чувствительного слоя SnO2. Внутри трубки проходит элемент, нагревающий чувствительный слой до температуры, при которой он начинает реагировать на газ. Чувствительность к разным газам достигается варьированием состава примесей в чувствительном слое.
– Цифровой датчик температуры и влажности DHT11 является составным датчиком, который выдаёт сигнал с соответствующими показаниями. Сенсор включает в себя резистивный компонент измерения влажности и компонент измерения температуры с отрицательным температурным коэффициентом, которые подключены к 8-битному микроконтроллеру. Благодаря тому, что сенсор делает измерения только по запросу, достигается энергоэффективность.
– Troyka-модули зуммер и светодиоды. Используются для подачи сигнала в случае превышения предельно допустимой концентрации одной из исследуемых величин, а также для индикации работы устройства.
Рис. 2. Датчики MQ-2, MQ-7 и DHT11; зуммер и светодиод
Анализ влияния «качества» воздуха на здоровье человека
Для составления алгоритма работы необходимо установить допустимые значения концентрации газов в помещении (ПДК), температуры и влажности, а также изучить их влияние на здоровье человека.
- Угарный газ (монооксид углерода). При содержании 0,08 % во вдыхаемом воздухе человек чувствует головную боль и удушье. При повышении концентрации до 0,32 % возникает паралич и потеря сознания (смерть наступает через 30 минут). При концентрации выше 1,2 % сознание теряется после двух-трёх вдохов, человек умирает менее чем через 3 минуты. Более подробно влияние угарного газа, а также содержания карбоксигемоглобина (HbCO) в крови (соединение гемоглобина и угарного газа), избыток которого приводит к кислородному голоданию, головокружению, или даже смерти, рассмотрено в таблице 1.
Таблица 1
Влияние угарного газа на здоровье человека
CO, мг/м³ |
Время воздействия, ч |
HbCO вкрови,% |
Основные признаки исимптомы острого отравления |
≤100 |
3.5–5 |
2.5–10 |
Снижение скорости психомоторных реакций, увеличение кровотока к жизненно важным органам, боль в груди при нагрузке, одышка |
220 ≤600 |
6 1 |
10–20 |
Головная боль, снижение работоспособности, одышка, нарушения зрительного восприятия. |
≤600 800 |
2 1 |
20–30 |
Головная боль, головокружение, раздражительность, расстройство памяти, тошнота, нарушение координации движений рук |
≤600 800 |
4 2 |
30–40 |
Сильная головная боль, слабость, тошнота, нарушение зрения, спутанность сознания |
800–1100 |
2 |
40–50 |
Галлюцинации, тяжёлая атаксия, тахипноэ |
1250 2000 |
2 30 мин |
50–60 |
Обмороки или кома, конвульсии, тахикардия, слабый пульс, дыхание Чейна — Стокса |
1800 2300–3400 |
1.5 30 мин |
60–70 |
Кома, конвульсии, угнетение дыхания и сердечной деятельности. Возможен летальный исход |
5700–11500 |
2–5 мин |
70–80 |
Глубокая кома со снижением или отсутствием рефлексов, нитевидный пульс, аритмия, смерть. |
14000 |
1–3 мин |
70–80 |
Потеря сознания (после двух—трёх вдохов), рвота, конвульсии, смерть. |
- Метан (СН4). ПДК метана в воздухе рабочей зоны — 7000 мг/м3. Метан представляет собой бесцветный газ без запаха. Метан относится к токсическим веществам, действующих на центральную нервную систему. При содержании в воздухе 25–30 % появляются признаки асфиксии (учащение пульса, увеличение объёма дыхания и т. д.). Более высокие концентрации вызывают у человека головную боль. Накапливаясь в закрытом помещении, метан взрывоопасен.
- Водород (H2). Лёгкий бесцветный газ. При смеси с воздухом образует взрывоопасную смесь — «гремучий газ». Наибольшую взрывоопасность имеет при объёмном отношении водорода и кислорода 2:1, или водорода и воздуха 2:5. Взрывоопасные концентрации водорода с кислородом возникают от 4 % до 96 % объёмных. Однако исследования показывают, что водород в больших объёмах может быть взрывоопасен и при меньшей концентрации. Нижний концентрационный предел распространения пламени (НКПР) составляет 34 мг/м3.
- Сжиженные углеводородные газы (LPG: бутанC4H10, пропан C3H8). Предельно допустимая концентрация в воздухе — 300 мг/м3. При атмосферном давлении не обладает отравляющим воздействием на организм человека, но попадая в воздух, газ смешивается с ним, вытесняет и уменьшает содержание кислорода в воздухе. Человек, находящийся в такой атмосфере, будет испытывать кислородное голодание, а при значительных концентрациях газа в воздухе может погибнуть от удушья. Образуют с воздухом взрывоопасные смеси при концентрации пропана от 2,3 до 9,5 %, бутана от 1,8 до 9,1 %, при давлении 0,1 МПа и температуре 15–20°C.
- Температура и влажность воздуха. Согласно «Санитарно-эпидемиологические требования к условиям проживания в жилых зданиях и помещениях» (СанПиН 2.1.2.2645–10) в жилых помещениях приемлемыми считаются:
Таблица 2
Температура и влажность воздуха в помещении
Назначение помещений |
Температурный режим воздуха, (предельные значения, °С) |
Влажность (относительная), (не более,%) |
Жилая комната (холодный сезон года) |
18–24 |
60 |
Жилая комната (теплый сезон года) |
20–28 |
65 |
Помещение кухни, санузел |
18–26 |
Не нормируется |
Межквартирные коридоры |
16–22 |
60 |
Высокие температуры оказывают отрицательное воздействие на здоровье. Работа в таких условиях сопровождается интенсивным потоотделением, что приводит к обезвоживанию, потере минеральных солей и витаминов, вызывает стойкие изменения в деятельности сердечно-сосудистой системы, оказывает влияние на функционирование других органов — ослабляется внимание, ухудшается координация, замедляются реакции. При недостаточной влажности у людей наблюдается сонливость и рассеянность, повышается утомляемость и снижается иммунитет. Слишком низкая влажность воздуха увеличивает риск распространения респираторных инфекций. При высоких показателях грибок распространяются в углах и на стенах помещения. Влажность выше 70 % также отрицательно влияет на человека. При высокой температуре воздуха и повышенной влажности человек сильно потеет, но испарения влаги не происходит, что приводит к перегреву организма и «тепловому удару». При низких температурах повышенная влажность воздуха, наоборот, приводит к сильному охлаждению организма.
Проектирование анализатора воздуха. Алгоритм работы
Для создания устройства использовались описанные ранее плата Arduino Uno, Troyka Shield, датчики MQ-2, MQ-7, DHT11. Для подачи сигналов при работе устройства (например, о превышении порогового значения параметра или о сбоях) предусмотрено два светодиода и зуммер. Процесс сборки устройства можно разбить на несколько этапов:
- Установка Troyka Shield на плату Arduino Uno. Проблем на данном этапе не возникло, т. к. данный «шилд» полностью совместим с платформами Arduino.
- Подключение Troyka-модулей: датчиков, диодов, зуммера. Все описанные выше сенсоры выполнены в виде специальных модулей, что упрощает их подключение к «шилду». Для этого используются трехпроводные шлейфы. Контакты для подключения соединены с линиями управляющей платы следующим образом:
– сигнал (S) — с соответствующим цифровым или аналоговым пином, а именно:
- диоды — 9 и 11 цифровые пины;
- зуммер — 10 цифровой пин;
- датчик MQ-2–1 аналоговый пин (A1);
- датчик MQ-7–4 аналоговый пин (A4);
- датчик влажности и температуры — 8 цифровой пин.
– питание (V) — с рабочим напряжением;
– земля (G) — с землёй.
- Сборка корпуса. Для этого использовались специальные пластины «Стурктора». Это решётчатый конструктор для быстрой сборки корпусов и механических узлов устройства. «Структор» разработан и выпускается компанией «Амперкой». Изготовлены детали из 5 мм вспененного ПВХ.
Рис. 3. Подключение датчиков к устройству и Анализатор воздуха в сборке
Следующим шагом стало программирование устройства. в среде Arduino IDE. Общая идея алгоритма была следующей:
– программно подключить датчики к платформе;
– настроить режим работы датчиков и, при необходимости, их откалибровать;
– снимать показания последовательно с каждого датчика и выводить их в специальный монитор порта;
– если показатели в норме, зажечь зеленый диод; при превышении порогового значения какого-либо из измеряемых параметров включить красный диод и зуммер на непродолжительное время.
Для работы с датчиками использовались библиотеки dht.h (для работы с датчиком температуры и влажности) и TroykaMQ.h (для работы с датчиками MQ-2 И MQ-7).
Далее приведен полный скетч работы устройства:
#include
#include
#include
#define LED_1 9
#define LED_2 11
#define PIN_MQ2 A1
#define PIN_MQ7 A4
#define BUZZER_PIN 10
DHT sensor = DHT();
MQ2 mq2(PIN_MQ2);
MQ7 mq7(PIN_MQ7);
void setup()
{ // настраиваем пины светодиодов в режим выхода
pinMode(LED_1, OUTPUT); pinMode(LED_2, OUTPUT);
sensor.attach(8);
// выполняем калибровку датчиков газов
mq2.calibrate(); mq7.calibrate();
digitalWrite(LED_1, HIGH);
Serial.begin(9600);
Serial.print("\nTemp(C)"); Serial.print("\t\t");
Serial.print("Humidity"); Serial.print("\t");
Serial.print("LPG"); Serial.print("\t\t");
Serial.print("Methane"); Serial.print("\t\t");
Serial.print("Smoke"); Serial.print("\t\t");
Serial.print("Hydrogen"); Serial.print("\t");
Serial.println("Carbon Monoxide");
Serial.println("------------------------------------------------------------------------");
}
void loop() {
int val, frequency;
Serial.println("\n");
// ДАТЧИК ТЕМПЕРАТУРЫ И ВЛАЖНОСТИ
sensor.update();
switch (sensor.getLastError()) {
case DHT_ERROR_OK:
Serial.print(sensor.getTemperatureInt());
Serial.print("\t\t");
Serial.print(sensor.getHumidityInt());
Serial.print("\t\t");
break;
default:
Serial.print("Er \r\n");
break;
}
delay(5000);
// датчик широкого спектра газов mq2
Serial.print(mq2.readLPG());
Serial.print("\t\t");
Serial.print(mq2.readMethane()); Serial.print("\t\t"); delay(5000);
Serial.print(mq2.readSmoke()); Serial.print("\t\t");
Serial.print(mq2.readHydrogen()); Serial.print("\t\t"); delay(5000);
// датчик угарного газа mq7
Serial.print(mq7.readCarbonMonoxide());
// светодиоды и зуммер
val = 500;
frequency = map(val, 0, 1023, 3500, 4500);
// зажигаем светодиод: зеленый - ОК, красный – DANGER
if ((sensor.getTemperatureInt() > 35) || (sensor.getTemperatureInt() < 15) || (sensor.getHumidityInt() > 80) || (sensor.getHumidityInt() < 20) || (mq7.readCarbonMonoxide() > 90) || (mq2.readLPG() > 100) || (mq2.readMethane() > 100) || (mq2.readHydrogen() > 400)) {
digitalWrite(LED_1, LOW);
digitalWrite(LED_2, HIGH);
tone(BUZZER_PIN, frequency, 2000); delay(500);
tone(BUZZER_PIN, frequency, 2000); delay(500);
tone(BUZZER_PIN, frequency, 2000);
} else {
digitalWrite(LED_1, HIGH);
digitalWrite(LED_2, LOW);
}
delay(5000);
}
Анализ результатов эксперимента
В ходе исследования был проведен ряд экспериментов в жилой комнате и школьном кабинете. На графиках представлены фрагменты результатов проведенных экспериментов.
Рис. 4. Измерения параметров воздуха в жилой комнате
Рис. 5. Измерения параметров воздуха в школьном кабинете
Как можно заметить, в первую минуту работы, датчик выдает завышенные значения Smoke, Methane и Hydrogen. Ошибка была выявлена в ходе пробных экспериментов. Возникновение подобной ситуации обусловлено особенностями строения и работы сенсоров, описанным в первой главе исследования. Это происходит из-за некоторого засорения датчиков, которое сходит на нет при их дальнейшем разогревании. Однако, поскольку главной целью исследования было отследить изменения состава воздуха, то при проведении экспериментов выбирались достаточно длительные периоды времени.
Также были проведены измерения параметров среды в жилой комнате, в ходе которых произошло искусственное загрязнение воздуха путем распыления смеси сжиженных пропана и бутана (газ для зажигалки). Затем в место распыления было внесено пламя на короткий промежуток времени. После чего газ был распылен снова. Результаты эксперимента можно увидеть на графике ниже.
Рис. 6. Измерение параметров воздуха в жилой комнате (искусственное загрязнение)
Заключение
Испытания показали, что «Анализатор воздуха» способен корректно обрабатывать внешние данные и выдавать результаты, которые соответствуют реальным значениям. В результате проведенных экспериментов был сделан вывод о допустимых уровнях параметров внешней среды в жилых и школьных помещениях. Концентрация газов, ранее представленная на графике, является оптимальной для работы и проведения досуга.
Данное устройство может быть использовано для различных целей. Начиная от сигнализаций в жилых квартирах и кабинетах, заканчивая рабочими зданиями и опасными производствами. Устройство может быть оптимизировано и доработано в соответствии с конкретными целями и условиями использования. Направления модификации:
– добавление GPRS-модуля, позволяющего опрашивать датчики на расстоянии и получать уведомления с помощью SMS-сообщений;
– использование дополнительных датчиков. Например, можно подключить анемометр для измерения скорости потоков воздуха, барометр для измерения атмосферного давления и т. д.;
– данное устройство можно использовать в качестве модуля «умного дома», подключив к нему систему пожаротушения.
Однако, несмотря на перечисленный возможности усовершенствования, цели исследования были достигнуты. Таким образом, можно сделать вывод, что, имея определенный «багаж» знаний в области проектирования и программирования роботизированных устройств, а также умея решать прикладные задачи в различных областях жизнедеятельности человека, можно разрабатывать различные устройства, способные помочь человеку в быту и на производстве. В частности, разработанное устройство способно если не защитить человека от вредных воздействий различных факторов окружающей среды, то, как минимум, предупредить его об опасности. Работа по изучению и применению на практике роботизированных устройств будет продолжена.
Литература:
- Банци М. Arduino для начинающих волшебников. — М.: Рид Групп, 2012.
- Блум Д. Изучаем Arduino. — СПб.: БХВ-Петербург, 2015.
- Монк С. Программируем Arduino. Основы работы со скетчами. — СПб.: Питер, 2016.
- Соммер У. Программирование микроконтроллерных плат Arduino/Freeduino. — СПб.: БХВ-Петербург, 2012.
- Амперка. Вики [Электронный ресурс]. URL: http://wiki.amperka.ru/
- (Дата обращения: 12.12.2016г.)
- Инженерный справочник DPVA.ru [Электронный ресурс]. URL: http://www.dpva.ru/Guide/GuideChemistry/Concentration/GasesConcentration/ (Дата обращения: 10.02.2017г.)
- Информационный портал «Помощь по ГОСТам» [Электронный ресурс]. URL: http://www.gosthelp.ru/text/gn21669598predelnodopusti.html (Дата обращения: 14.02.2017г.)
- Информационный портал «Энонтек» [Электронный ресурс]. URL: http://www.enontek.ru/CO2/zdorove-cheloveka (Дата обращения: 17.12.2016г.)