Требуется исполнитель:
- присутствие не требуется
Надо изготовить:
Прошивку для ESP32/8266, которая реализует в себе WEB сервер и создаёт WiFi AP, где указан SSID с паролем, который можно будет изменить, после входа в устройство, что бы оно стало AP клиентом, например, как реализовано в https://github.com/Aircoookie/WLED
Общий pin для подключения датчиков 1-wire 18b20 (до 4х штук),
по 2 pin на каждый вентилятор: один для чтения скорости, другой для её задания (PWM 500Hz или более (можно будет указать в исходнике прошивки или в параметрах через WEB) и изменяемое значение скважности/заполнения) - например pin 1,2 - FAN1; pin 3,4 - FAN2; pin 5,6 - FAN3; pin 7,8 - FAN4;
Отдельные кнопки для автоматического определения минимального и максимального значения для FAN1; FAN2; FAN3; FAN4
Логика работы:
Увеличиваем ШИМ до 100% на 20 секунд, потом по 10% убавляем каждые 3 секунды, наблюдая за оборотами и как только обороты равны 0, запоминаем это значение ШИМ в переменную, напрмер constmin, далее делаем ШИМ 50%, ждём 2 секунды и изменяем до запомненного значения constmin+1 (перезаписываем результат, напрмер опять constmin), проверяем, что обороты не равны 0, иначе повторяем это действие до тех пока не определим рабочий минимум - это минимальные значение для этого вентилятора.
На графике можно будет указать минимальную скорость вентилятора, которую определили через кнопку (значение ниже определённого установить нельзя).
Так же должна быть ещё отдельная страница, которая в текстовом виде или json выводит свои текущие значения (обновляются при каждом запросе страницы), например:
или
===========
Планируемый бюджет:
10'000 российских рублей.
Сроки:
- до 01 апреля 2025 года или быстрее (без доплаты).
Оплата:
- После выполнения проекта.
Для связи:
Форум.
Исходная задача была здесь, но исполнитель так и не показал вариант работы.
- присутствие не требуется
Надо изготовить:
Прошивку для ESP32/8266, которая реализует в себе WEB сервер и создаёт WiFi AP, где указан SSID с паролем, который можно будет изменить, после входа в устройство, что бы оно стало AP клиентом, например, как реализовано в https://github.com/Aircoookie/WLED
Общий pin для подключения датчиков 1-wire 18b20 (до 4х штук),
по 2 pin на каждый вентилятор: один для чтения скорости, другой для её задания (PWM 500Hz или более (можно будет указать в исходнике прошивки или в параметрах через WEB) и изменяемое значение скважности/заполнения) - например pin 1,2 - FAN1; pin 3,4 - FAN2; pin 5,6 - FAN3; pin 7,8 - FAN4;
- Определить все подключенные датчики 1-Wire 18b20, указать соответствие для вентилятора (выпадающим списком);
- Создать на основе этих датчиков зависимость заполнения ШИМ при определённой температуре и для каждого датчика соответствие своего выхода (для задания PWM) (картинка 1);
- Так же считывать с вентиляторов текущую скорость оборотов и температуру с датчиков, и отображать ниже (картинка 1);
- При включении устройства задать 100% шим на 3 секунды, потом выровнять скорость согласно заданным выше параметрам;
- Указываемые параметры хранить в ПЗУ (идентификаторы датчиков 18b20, минимальные и максимальные значения PWM, параметры для графиков и соотношения температур к скорости);
- Если была замена датчика или он исчез, то отображать другим цветом, что в этом канале уже нет текущего датчика. (картинка 2);
- Если датчик всего один, тогда в остальных каналах, где он не выбран, выбрать прочерки или "нет датчика" (картинка 2).
Отдельные кнопки для автоматического определения минимального и максимального значения для FAN1; FAN2; FAN3; FAN4
Логика работы:
Увеличиваем ШИМ до 100% на 20 секунд, потом по 10% убавляем каждые 3 секунды, наблюдая за оборотами и как только обороты равны 0, запоминаем это значение ШИМ в переменную, напрмер constmin, далее делаем ШИМ 50%, ждём 2 секунды и изменяем до запомненного значения constmin+1 (перезаписываем результат, напрмер опять constmin), проверяем, что обороты не равны 0, иначе повторяем это действие до тех пока не определим рабочий минимум - это минимальные значение для этого вентилятора.
На графике можно будет указать минимальную скорость вентилятора, которую определили через кнопку (значение ниже определённого установить нельзя).
Так же должна быть ещё отдельная страница, которая в текстовом виде или json выводит свои текущие значения (обновляются при каждом запросе страницы), например:
Text:
FAN1: 23%; 230RPM; 35C
FAN2: 20%; 330RPM; 40C
FAN3: 5%; 130RPM; 16C
FAN4: 63%; 730RPM; 55C
JSON:
{
"FAN1": {
"percentage": "23",
"rpm": "230",
"temperature": "35"
},
"FAN2": {
"percentage": "20",
"rpm": "330",
"temperature": "40"
},
"FAN3": {
"percentage": "5",
"rpm": "130",
"temperature": "16"
},
"FAN4": {
"percentage": "63",
"rpm": "730",
"temperature": "55"
}
}
===========
Планируемый бюджет:
10'000 российских рублей.
Сроки:
- до 01 апреля 2025 года или быстрее (без доплаты).
Оплата:
- После выполнения проекта.
Для связи:
Форум.
Исходная задача была здесь, но исполнитель так и не показал вариант работы.