Оглавление:

Система защиты от обледенения: 8 шагов
Система защиты от обледенения: 8 шагов

Видео: Система защиты от обледенения: 8 шагов

Видео: Система защиты от обледенения: 8 шагов
Видео: Греющий саморегулирующий кабель. 7 советов по монтажу. Вам это не расскажет продавец. 2024, Ноябрь
Anonim
Система защиты от обледенения
Система защиты от обледенения

Этот проект направлен на предотвращение образования льда или снега за счет использования рассола в качестве антиобледенителя. Используя датчик влажности и температуры для определения условий окружающей среды, спринклер распределяет рассол, которым управляет Raspberry Pi. ИК-датчик используется для обнаружения людей и животных. При обнаружении людей ороситель отключается.

весь набор инструкций по созданию и использованию проекта приведен на моей странице GitHub.

GitHub: система защиты от обледенения

Шаг 1. Ссылка на GitHub

Пожалуйста, посетите нашу страницу GitHub, чтобы узнать о различных компонентах, инструментах и пакетах, используемых для сборки системы.

Система защиты от обледенения

обратитесь к приведенной выше ссылке, чтобы узнать больше о проекте, так как у него есть разные страницы, включая readme и связанные с ним вики, которые помогут вам легко создать свою собственную систему защиты от обледенения.

Я предоставлю пошаговые инструкции, начиная с третьего шага и далее, чтобы энтузиастам RPi было проще собрать его из инструкций:)

Шаг 2. Демонстрация в прямом эфире на YouTube

посетите нашу страницу YouTube для живой демонстрации. ссылка приведена ниже:

Демо-версия системы Anti-Icing на YouTube

Шаг 3: Необходимые компоненты

Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты
Необходимые компоненты

Аппаратное обеспечение:

1. ИК-датчик: ИК-датчик движения HC-SR501 Напряжение: 5–20 В Потребляемая мощность: 65 м Выход ATTL: 3,3 В, 0 В Время блокировки: 0,2 секунды Способы запуска: L - отключить повторный триггер, H - включить повторный триггер Диапазон срабатывания: менее 120 градусов, в пределах 7 метров Температура: -15 ~ + 70 Размер: 32 * 24 мм, расстояние между винтами 28 мм, M2, Размер линзы в диаметре: 23 мм

2. Датчик влажности и температуры: DHT22 (AM2302)

Низкая стоимость Питание от 3 до 5 В и ввод / вывод Максимальный ток 2,5 мА при преобразовании (при запросе данных) Подходит для показаний влажности 0-100% с точностью 2-5% Подходит для показаний температуры от -40 до 80 ° C с точностью ± 0,5 ° C Не более частота дискретизации более 0,5 Гц (один раз каждые 2 секунды). Данные по одной шине используются для связи между MCU и DHT22, это стоит 5 мсек для одноразовой связи.

3. Бесщеточный двигатель постоянного тока Decdeal QR50E

Низкая стоимость и универсальность 12 В, мощность 5 Вт Насос 280 л / ч может работать с различными типами растворов, включая соленую воду (рассол) и масло при различных температурах.

4. Аккумулятор / блок питания 12 В постоянного тока

Шаг 4: Как реализовать код и подключения

Код:

  1. Клонируйте репозиторий.
  2. Скопируйте код / html в / var / www / html
  3. В папке Code можно запустить основной файл.
  4. Если вы изменили номер контакта ввода / вывода, вы можете использовать CMake для восстановления основного файла.
  5. Откройте браузер, введите адрес raspberryPi для доступа к пользовательскому интерфейсу.

Подключения:

Мы используем нумерацию WiringPi в нашем коде, поэтому:

мощность GPIO: 4.

мотор GPIO: 3.

Датчик PIR GPIO: 0.

Датчик DHT22 GPIO: 7.

Шаг 5: установка

Поскольку в нашем проекте задействованы Mysql, Php, веб-сервер, есть несколько команд для настройки рабочей среды следующим образом:

Проверка актуальности системы raspberry pi

sudo apt-get update

sudo apt-get upgrade

Установка поддержки apache2, php, mysql

sudo apt-get install apache2 -y

sudo apt-get install php7.0

sudo apt-get установить mysql-server

sudo apt-get установить mysql-client

sudo apt-get default-libmysqlclient-dev

После установки опор для среды необходимо создать базу данных и соответствующую таблицу для чтения и записи данных.

Если вы хотите создать конкретную учетную запись для входа, а не использовать «root», вы можете просто выполнить следующие команды:

Создание нового пользователя с именем 'pi'

sudo mysql -u root для входа в базу данных mysql.

mysql> ИСПОЛЬЗУЙТЕ mysql;

mysql> СОЗДАТЬ ПОЛЬЗОВАТЕЛЯ 'pi' @ 'localhost' ИДЕНТИФИЦИРОВАНО '';

mysql> ПРЕДОСТАВЛЯЙТЕ ВСЕ ПРИВИЛЕГИИ НА *. * 'pi' @ 'localhost';

mysql> ОБНОВЛЕНИЕ пользователя SET plugin = 'mysql_native_password' WHERE User = 'pi';

mysql> ПРИВИЛЕГИИ ПРОМЫВКИ;

mysql> выход;

перезапуск службы mysql

Создание базы данных для raspberry pi

mysql> создать датчик базы данных;

mysql> использовать датчик;

mysql> создать таблицу th_sensor (name char (20) not null primary key, value float (10, 2) not null, value2 float (10, 2);

mysql> выход;

Теперь вы можете скопировать папку / Code / html в каталог localhost по умолчанию как / var / www / html.

Создание загрузочного скрипта для запуска системы после открытия пи.

Например, создание файла с именем boot.desktop в директории:.config / autostart /

Содержание файла следующее:

[Desktop Entry]

Тип = Приложение

Имя = testboot

NoDisplay = true

Exec = xxx / xxx / xx./main

«Xxx / xxx / xx» - это каталог вашего основного файла.

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

Шаг 6: Дизайн печатной платы

Дизайн печатной платы
Дизайн печатной платы
Дизайн печатной платы
Дизайн печатной платы
Дизайн печатной платы
Дизайн печатной платы

Схема и печатная плата Мы выбрали Orcad Capture и редактор плат для рисования печатной платы.

Цепь датчиков:

Исходный файл схемы. Откройте этот файл с помощью Orcad Capture.

Исходный файл печатной платы. Пожалуйста, откройте этот файл с помощью редактора плат.

Схема цепи датчиков приведена выше вместе с файлами печатной платы. Для нашего проекта достаточно 16 контактов, поэтому мы использовали только заголовок с 16 контактами.

J2 для датчика PIR

J3 для датчика влажности и температуры

J4 для GPIO

R1 и R2 - подтягивающие резисторы.

Светодиод D1 предназначен для проверки двигателя. Этот сигнал используется для управления двигателем.

Светодиод D2 предназначен для наблюдения. Он покажет, работает ли схема.

Цепь управления двигателем:

Исходный файл схемы. Откройте этот файл с помощью Orcad Capture.

Исходный файл печатной платы. Пожалуйста, откройте этот файл с помощью редактора плат.

Схема и печатная плата для моторного привода

Схема драйвера двигателя приведена выше вместе с файлами печатной платы

J1 - для источника питания.

J2 для двигателя.

J3 предназначен для управляющего сигнала, поступающего от GPIO.

J4 предназначен для переключателя.

Q1 предназначен для управления двигателем.

Светодиод D2 предназначен для проверки правильности работы схемы.

Шаг 7: Подробная диаграмма потока управления системой

Подробная диаграмма потока управления системой
Подробная диаграмма потока управления системой

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

как всегда, приветствуются дальнейшие предложения по улучшению и модификации:)

Шаг 8: Код

Пакет кода был загружен в виде файла.zip, который вы можете использовать для извлечения и компиляции в вашем raspberry pi.

Мы используем GitHub в качестве нашего программного обеспечения для контроля версий, поскольку оно бесплатное, простое в обслуживании и выпускает новые версии, в которых регистрируются все изменения, внесенные в программу.

Процесс клонирования пакета и компиляции с помощью команды make должен быть проще по сравнению с кодированием каждой строки (сложно писать разные типы кода для разных компонентов и задач на разных языках в разных файлах).

Отказ от ответственности: это никоим образом не следует воспринимать как рекламу или демотивацию для другого веб-сайта, поскольку я считаю, что мы - открытое и зрелое сообщество, работающее вместе, чтобы постепенно построить лучшее будущее:)

Надеюсь, вам понравится строить этот проект так же, как и нам:)

Ваше здоровье!

Рекомендуемые: