Публикации
Гроупедия
Перейти к содержанию
Ганжубанжист

Регулятор оборотов вентилятора esp8266

Рекомендуемые сообщения

Брази, всем привет :hi2:

так случилось, что микробоксеры зачастую имеют нетипичные проблемы во время выращивания mj и такие проблемы требуют нетипичного решения)

Так произошло и со мной. Ращу во всеми любимом Chieftec Big Tower 4 цикла. Проблем было много и разных, по этому есть чем поделиться)

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

Теперь перейдем к главному :re16:

В какой то момент я стал счастливым обладателем пары вертушек Noctua NF-F12 InustrialPPC PWM 3000)))) мне кажется, каждый микрогровер в курсе за эти вертушки, какие они бодрые-производительные-с большим статически давлением! И с офигенным уровнем шума! Когда я воткнул пару этих вентиляторов в фильтр и врубил - я понял, что это не мой вариант. Надо каким то образом регулировать обороты. Использовать просто китайский pwm мне было западло :re16:

и я решил прикрутить туда хитрую железку)

Хитрость железки заключается в автоматической регулировке оборотов от температуры в боксе по средствам pwm микроконтроллера:

-Поползла температура вверх? контроллер автоматически накидывает обороты на вентиляторы!

-Упала температура? зачем нам лишний шум? скинем обороты на вентиляторах!

Вобщем здоровская железячка, которой я пользуюсь уже почти год. Получилась интеллектуальная система контроля оборотов :D

на практике показала себя оч неплохо)

Прошу любить и жаловать - ESP8266 NodeMCU =)))

Спойлер

NodeMCU_DEVKIT_1.0.thumb.jpg.7ff6cdf75102c49d6f7b7b2381b40160.jpg

 

Сильно они понравились мне за свою демократичную цену (в районе 200р) и дикий функционал для этой цены)

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

так же для регулировки нам понадобится самый простяцкий датчик температуры ds18b20

Спойлер

Исполнений этих датчиков достаточно)

можно взять сразу в герметичной гильзе

https://aliexpress.ru/item/4000895660165.html

 

 

Итого в районе 300р + ко всем этому делу надо будет блок питания на 5в а-ля телефонна зарядка.

Для изготовления нашей поделки нам прийдется установить Arduino IDE https://www.arduino.cc/en/software на своем ПеКа и прочитать статйку http://psenyukov.ru/знакомство-с-esp8266-и-nodemcu/

что бы понять как нашу железку настроить в среде разработки Arduino IDE :D

Чую, я вас уже немного устал со своей теоретической частью, но думаю тема найдет своих читателей. Тем более я хочу продолжать освящать тему автоматизации наших боксов на платформе esp8266. В данный момент у меня на этой железке сидит телеграм бот, который пишет мне темпу-влажность-обороты. Но об этом попозже)

Продолжим с нашими настройками среды разработки)

Теперь, для поддержки датчика ds18b20 нам прийдется установить библиотеку в Arduino IDE

 

Спойлер

 

Чтобы установить библиотеку, перейдите в раздел «Скетч»→ «Подключить библиотеку» → «Управление библиотеками…». Подождите, пока менеджер библиотеки загрузит индекс библиотек и обновит список установленных библиотек.

Чтобы отфильтровать результаты поиска, введите «ds18b20». Там должна быть пара записей. Ищите DallasTemperature от Miles Burton. Нажмите на эту запись, а затем выберите Установка.

e2620436209e6cee38b4b1a1b48f2a3d232d9c7d.png

 

Эта библиотека DallasTemperature является аппаратно-зависимой библиотекой, которая обрабатывает функции более низкого уровня. Она должна быть связана с библиотекой OneWire для связи с любым устройством 1-Wire, а не только с DS18B20. Установите и эту библиотеку.

7a847c66349830b811cc41e4fca99d3b3cff2de4.thumb.png.0e7968f820ee8f964c8ad00955b3e598.png

 

 

Ну все! Со средой разработки закончено!

Пришла пора настраивать нашу железку)

Будет много пошаговых фоточек под спойлером)

Спойлер

 

1. Запускаем Arduino IDE

1233731221_Screenshotat2021-12-0311-38-59.thumb.png.2bd5a482a73f7a40cbf664cbff079296.png

spacer.pngspacer.pngspacer.png2. Подключаем нашу железку через USB

photo_2021-12-03_11-41-59.thumb.jpg.ed80a8050e5e61d1102e871be2d58b9f.jpg

3. Заходим в меню Инструменты - Плата и выбираем плату NodeMCU 1.0

nodemcu6.thumb.png.7576afe292c72d1264356a734b304147.png

4. Затем выбираем порт на котором у нас висит устройство (фотки с разных источников. у меня чот не хочет скриншоты делать с открытыми менюшками)

Selecting COM Port

5. Следующим шагом будет настройка скорости соединения. Заходим в меню Инструменты - Монитор порта

serial-1-1024x478.jpg

и в скорости соединения выставляем значение 115200

 

Железку с IDE подружили - пришло время волшебства))))

Спойлер

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS D4 // Указываем пин, на котором у нас будет висеть датчик ds18b20
int fanPin = 14; // Указываем пин, через который будем управлять вентиляторами
int dutyCycle = 0;
unsigned long timing;
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float readSensorTemp() {
  sensors.requestTemperatures();
  Serial.print("Temperature: ");
  Serial.println(sensors.getTempCByIndex(0));
  return sensors.getTempCByIndex(0);
}
void controlFanSpeed (int fanSpeedPercent) {
  Serial.print("Fan Speed: ");
  Serial.print(fanSpeedPercent);
  Serial.println("%");
  analogWrite(fanPin, fanSpeedPercent);
}
void setup() {
  Serial.begin(115200);
  pinMode(fanPin, OUTPUT);
  sensors.begin();
  analogWriteRange(100);
  analogWriteFreq(15000);
}
void loop() {
  if (millis() - timing > 10000) { // тут значение 10000ms это время повторного снятия показателей с датчиков и обновления оборотов вентилятора. можно изменить значение на свое усмотрение.
    timing = millis();
    float sensorTemp = readSensorTemp();
    int fanSpeedPercent = map(sensorTemp, 23, 36, 30, 100);
    controlFanSpeed (fanSpeedPercent);
  }
}

данный код мы можем смело копировать и вставлять в Arduino IDE

код простой, без каких либо извращений и работает как автомат Калашникова

Нажимаем на верхней панели кнопку Загрузить (в виде стрелочки) и наслаждаемся прошивкой контроллера)

image.thumb.png.cb07ef33fb74669cf9d0a4ddab22f77f.png

после прошивки нам надо открыть Монитор порта в меню Инструмены и начать наблюдать следующую картину:

image.thumb.png.a1a3705c0c65db6d08ccd29062d82c07.png

если ваши данные будут такими же - вы все сделали по красоте - осталось подключить датчики и вентиляторы. Чем мы сейчас и займемся)))

Берем датчик ds18b20 который я давал ссылочку выше и подключаем его к контроллеру кому как нравится

image.thumb.png.237b67879f95284541bea4fc0ee5caab.png

мне для так сказать прототипирования удобно подключать так - вам может быть удобнее припаяться на будущее)

если вы купили датчик ds18b20 в гильзе, то красный провод вам необходимо подключить к пину 3.3v, черный - GND, а желтый (он же DATA вывод) подключаем к пину D4

и в Мониторе порта наблюдаем следующую картину:

image.thumb.png.13151cb0d00ecc167c7685bd0034a5df.png

датчик выполняет свои функции!

Дам общую схему подключения всего добра

image.thumb.jpeg.60b5c8628763f1c8738eb8e44f5ffa2e.jpeg

spacer.pngТема получилась большая и первый пост прийдется редактировать для большей ясности)

 

 

 

Изменено пользователем Ганжубанжист
  • Респект! 3

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сразу забью первый пост на пояснения и обозначу, что я, если тема привлечет внимаение, готов развивать тему автоматизации)

в текущий момент есть наработки по фототелеграм боту. так же есть наработки по ph-ppm метру в дополнение к текущему контроллеру.

Дорогу осилит идущий! Предлагаю всем дерзать и фантазировать на тему автоматики тут)

  • Респект! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Гость

Тоже когда-то баловался такого рода вещами, ещё 3 года назад делал телеграмм бота, который высылал мне показания с датчиков, только было это всё на ардуино. Видел, как люди на других форумах даже сервисы писали и развёртывали приложения, которые им всякого рода графики чертили. Даже голосовое управление делают через „умные колонки”.

Но какой в этом сакральный смысл?

У меня тоже чиф full tower и в нём стоят 2 noctua industrial, только я купил шим регулятор с али за 2 доллара, один раз настроил кнопкой и даже не вешал на него потенциометр. Зачем его постоянно регулировать, крутить из стороны в сторону? Один раз всё настраивается и вот уже работает второй год.  Кстати, вмести с ним в комплекте был термодатчик и можно было настроить дельту температуры и оборотов. Никаких прошивок, программирования и прочего, у него всего одна кнопка. Теперь думаю что переплатил за этот шим регулятор, можно было простым резистором обойтись…

Купил себе ещё за 4$ термогигрометр от xiaomi, у него встроенная память и график тоже мне рисует прямо в телефоне.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Клево конечно, но я считаю лишними попытки максимально упростить текст в страхе, что это утомит и не будут читать. Тем кому лень вникать и повторять все это не будут... 
Не ясно по какому принципу работает вентилятор, как завязана температура и обороты.  Я в коде можно сказать вообще не рублю, но по тому что написано я не вижу где, к примеру, заданы пределы температуры при которой надо крутить вент по максимуму и так далее. 

Такие темы здесь часто проскакивают, но становятся не очень популярными, как я наблюдаю. 

Изменено пользователем Doomnik

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тема интересна, у самого руки не из плеч, но надо грамотно запитать и автоматизировать 2-3 штуки NF14 (Chieftec BA-02B-B-B)
До посещения этой темы были мысли лишь о реобасе. Главное требование лично у меня - никакой грядки блоков питания на пилоте, вся разводка внутри и в системник заходит лишь 1 кабель питания.
Так же хочу сказать спасибо Doomnik за ролик на ютубе с тестом кульков - очень полезно!

  • Респект! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Создать...

Успех! Новость принята на премодерацию. Совсем скоро ищите в ленте новостей!