Оглавление:
- Шаг 1: Необходимые детали
- Шаг 2: электрические соединения
- Шаг 3: Программа для управления скоростью вентилятора
- Шаг 4: Запустите программу при запуске
Видео: Вентилятор с ШИМ-регулировкой в зависимости от температуры процессора для Raspberry Pi: 4 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Многие корпуса для Raspberry Pi поставляются с небольшим вентилятором на 5 В для охлаждения процессора. Однако эти вентиляторы обычно довольно шумные, и многие люди подключают их к контакту 3V3, чтобы уменьшить шум. Эти вентиляторы обычно рассчитаны на 200 мА, что довольно много для регулятора 3V3 на RPi. Этот проект научит вас регулировать скорость вращения вентилятора в зависимости от температуры процессора. В отличие от большинства руководств, посвященных этой теме, мы не только включаем или выключаем вентилятор, но и будем контролировать его скорость, как это делается на обычном ПК, с помощью Python.
Шаг 1: Необходимые детали
В этом проекте мы будем использовать только несколько компонентов, которые обычно входят в комплекты электроники для любителей, которые вы можете найти на Amazon, например этот.
- Raspberry Pi работает под управлением Raspbian (но должен работать с другими дистрибутивами).
- Вентилятор 5 В (но вентилятор на 12 В можно использовать с адаптированным транзистором и источником питания 12 В).
- Транзистор NPN, поддерживающий не менее 300 мА, как 2N2222A.
- Резистор 1К.
- 1 диод.
Необязательно, чтобы поместить компоненты внутрь корпуса (но еще не сделано):
- Небольшой кусок макетной платы для пайки компонентов.
- Большая термоусадка для защиты платы.
Шаг 2: электрические соединения
Резистор можно подключить любым способом, но будьте осторожны с направлением транзистора и диода. Катод диода должен быть подключен к проводу + 5V (красный), а анод должен быть подключен к проводу GND (черный). Проверьте свою транзисторную документацию на контакты эмиттера, базы и коллектора. Земля вентилятора должна быть подключена к коллектору, а земля Rpi должна быть подключена к эмиттеру
Чтобы управлять вентилятором, нам нужно использовать транзистор, который будет использоваться в конфигурации с открытым коллектором. Таким образом, у нас есть переключатель, который будет подключать или отключать заземляющий провод от вентилятора к земле raspberry pi.
Проводимость NPN BJT-транзистора зависит от тока, протекающего в его затворе. Ток, который может протекать от коллектора (C) к эмиттеру (E), равен:
Ic = B * Ib
Ic - это ток, протекающий через коллектор эмиттер, Ib - ток, протекающий через базу к эмиттеру, а B (бета) - значение, зависящее от каждого транзистора. Мы приближаем B = 100.
Поскольку наш вентилятор рассчитан на 200 мА, нам нужно не менее 2 мА через базу транзистора. Напряжение между базой и эмиттером (Vbe) считается постоянным и Vbe = 0,7В. Это означает, что когда GPIO включен, у нас есть 3,3 - 0,7 = 2,6 В на резисторе. Чтобы получить 2 мА через этот резистор, нам понадобится резистор с максимальным сопротивлением 2,6 / 0,002 = 1300 Ом. Мы используем резистор на 1000 Ом, чтобы упростить и сохранить погрешность. У нас будет 2,6 мА через вывод GPIO, что совершенно безопасно.
Поскольку вентилятор в основном представляет собой электродвигатель, он имеет индуктивный заряд. Это означает, что, когда транзистор перестает проводить ток, ток в вентиляторе будет продолжать течь, поскольку индуктивный заряд пытается сохранить постоянный ток. Это приведет к появлению высокого напряжения на заземляющем контакте вентилятора и может повредить транзистор. Вот почему нам нужен диод, подключенный параллельно к вентилятору, который будет обеспечивать постоянный ток через двигатель. Такой тип диодной установки называется диодом маховика.
Шаг 3: Программа для управления скоростью вентилятора
Для управления скоростью вращения вентилятора мы используем программный сигнал ШИМ из библиотеки RPi. GPIO. Сигнал ШИМ хорошо приспособлен для управления электродвигателями, так как время их реакции очень велико по сравнению с частотой ШИМ.
Используйте программу calib_fan.py, чтобы найти значение FAN_MIN, запустив в терминале:
python calib_fan.py
Проверьте несколько значений от 0 до 100% (должно быть около 20%) и посмотрите, какое минимальное значение для включения вашего вентилятора.
Вы можете изменить соответствие между температурой и скоростью вращения вентилятора в начале кода. Должно быть столько же tempSteps, сколько значений speedSteps. Это метод, который обычно используется в материнских платах ПК, перемещая точки на 2-осевом графике температуры / скорости.
Шаг 4: Запустите программу при запуске
Чтобы программа запускалась автоматически при запуске, я создал сценарий bash, в который помещаю все программы, которые хочу запустить, а затем запускаю этот сценарий bash при запуске с помощью rc.locale.
- Создайте каталог / home / pi / Scripts / и поместите в него файл fan_ctrl.py.
- В том же каталоге создайте файл с именем launcher.sh и скопируйте приведенный ниже сценарий.
- Отредактируйте файл /etc/rc.locale и добавьте новую строку перед «exit 0»: sudo sh '/home/pi/Scripts/launcher.sh'
Сценарий launcher.sh:
#! / bin / sh # launcher.sh # перейдите в домашний каталог, затем в этот каталог, затем выполните скрипт python, затем вернитесь в homelocalecd / cd / home / pi / Scripts / sudo python3./fan_ctrl.py & cd /
Если вы хотите использовать его, например, с OSMC, вам нужно запустить его как службу с помощью systemd.
- Загрузите файл fanctrl.service.
- Проверьте путь к вашему файлу python.
- Поместите fanctrl.service в / lib / systemd / system.
- Наконец, включите службу с помощью sudo systemctl enable fanctrl.service.
Этот метод более безопасен, поскольку программа будет автоматически перезапущена, если ее убьет пользователь или система.
Рекомендуемые:
Блок охлаждающего вентилятора Raspberry Pi с индикатором температуры процессора: 10 шагов (с изображениями)
Блок охлаждающего вентилятора Raspberry Pi с индикатором температуры процессора: в предыдущем проекте я представил схему индикатора температуры процессора Raspberry Pi (далее RPI). Схема просто показывает различные уровни температуры процессора RPI 4 следующим образом: - Зеленый светодиод загорается, когда Температура процессора в пределах 30 ~
Индикатор температуры процессора Raspberry Pi: 11 шагов (с изображениями)
Индикатор температуры процессора Raspberry Pi: ранее я представил простую схему индикатора рабочего состояния Raspberry Pi (далее - RPI). На этот раз я объясню еще одну полезную схему индикатора для RPI, работающего без монитора (без монитора). Схема выше показывает Темп
Mood Speaker - мощный динамик для воспроизведения музыки с настроением в зависимости от температуры окружающей среды: 9 шагов
Mood Speaker - мощный динамик для воспроизведения музыки настроения в зависимости от температуры окружающей среды: Привет! Для моего школьного проекта в MCT Howest Kortrijk я сделал динамик Mood Speaker, это умный динамик Bluetooth с различными датчиками, ЖК-дисплеем и WS2812b светодиодная лента в комплекте. Динамик воспроизводит фоновую музыку в зависимости от температуры, но может
Контроллер вентилятора с приводом от процессора и графического процессора: 6 шагов (с изображениями)
Контроллер вентилятора с процессором и графическим процессором: недавно я обновил свою видеокарту. Новая модель графического процессора имеет более высокий TDP, чем мой процессор и старый графический процессор, поэтому я также хотел установить дополнительные вентиляторы корпуса. К сожалению, у моего MOBO всего 3 разъема для вентиляторов с регулировкой скорости, и их можно подключить только к
Подставка для ноутбука DIY - Потрясающие лайфхаки с вентилятором процессора - Креативные идеи - Компьютерный вентилятор: 12 шагов (с изображениями)
Подставка для ноутбука DIY | Потрясающие лайфхаки с вентилятором процессора | Креативные идеи | Компьютерный фанат: Вам нужно просмотреть это видео до конца. для понимания видео