Сразу хочу сказать что Repka Pi скоро выпустить свою версию PWM (ШИМ) вентилятора который будет немного дешевле рассмотренных вариантов в данной статье. Также шапка будет оснащена штатными кнопками включения/выключения и перезагрузки, длинной сквозной 40 пиновой гребенной чтобы сохранить возможность подключения других модулей, разъемом Type-C и разъемом XH2.54 2Pin для подключения питания.

Для чего необходим PWM вентилятор?
Скоростью вращения PWM вентилятора можно управлять и отсюда следует что он может вращаться медленней или вовсе отключаться в зависимости от температуры процессора.
PWM и I2C на Raspberry Pi и Repka Pi #
Давайте сначала сравним расположение пинов на котором расположен PWM и I2C
Распиновка Raspberry Pi #

Распиновка Repka Pi 3
По схеме также видно что интерфейс I2C1 у Raspberry Pi и у Repka Pi расположены на 3 и 5 пине
Включаем PWM и I2C1 на Repka Pi #
Что-бы включить PWM необходимо воспользоваться утилитой repka-config
При запуске будет показана текущая максимальная частота, нажимаем “Ok”
Далее выбираем пункт 3 как на скриншоте ниже
После перезагрузке на пине 33 включится поддержка аппаратного PWM, а на 3 и 5 пине I2C1.
Если необходимо включить только I2C1 то выбираем подходящий вариант кроме “1 Вариант”
Geekworm SupTronics x735 v2.5 на Repka Pi #
Официальная страница https://wiki.geekworm.com/X735
Купить на AliExpress https://aliexpress.ru/item/33010555081.html
Давайте ближе рассмотрим данный вентилятор
-
Множество разъемов питания
-
Имеется 2 подключаемые кнопки но по факту работает 1, в версии 3.0 осталась 1 кнопка
-
Кнопка на плате
-
Вентилятор с датчиком вращения
-
Низкий шум вентилятора
-
Размер 40х40мм
-
Расположен над процессором Repka Pi
Минусы
-
Высокая цена
-
Разъемы подключения выходят за пределы основной платы
-
Работает только авто включение
-
Низкие GPIO, на Repka Pi необходимо будет заменить радиаторы на более низкие
Запускаем на Repka Pi #
Первым делом смотрим в документации какие пины использует данный вентилятор
Установка #
Устанавливаем RepkaPi.GPIO SysFS
sudo apt-get update
sudo apt-get install python3-dev python3-setuptools git
git clone https://gitflic.ru/project/repka_pi/repkapigpiofs.git
cd repkapigpiofs
sudo python3 setup.py install
* Если вы устанавливаете под пользователем, то подробная документация как настроить права пользователю расположена на странице проекта.
Устанавливаем подготовленные скрипты Geekworm SupTronics x735 v25
git clone https://gitflic.ru/project/screator/suptronics-x735-v2-5.git
cd suptronics-x735-v2-5
sudo chmod +x *.sh
sudo bash install.sh
sudo reboot
Внимание: после установки папку suptronics-x735-v2-5 нельзя удалять, переименовывать или перемещать.
После перезагрузки проверяем работоспособность при помощи чтения скорости вращения. Скрипт установщик добавляет службу для автоматического запуска контроля скорости и поддержку кнопки
python3 read_fan_speed.py
Скорость вращения можно изменить в файле pwm_fan_control.py, указывается в процентах
-
для перезагрузки нажмите кнопку и удерживайте 1-2 секунды
-
для безопасного отключения нажмите кнопку и удерживайте 3 секунды
-
чтобы принудительно выключить нажмите кнопку и удерживайте 7-8 секунд.
Если вы хотите отключить обработку кнопки то для этого необходимо отключить службу
sudo systemctl disable x735pwr.service
Для отключения управления скоростью вращения, также отключаем службу
sudo systemctl disable pwm_fan_control.service
Удаление #
Для удаления достаточно выполнить скрипт uninstall.sh
sudo bash uninstall.sh
YAHBOOM RGB Cooling HAT #
Данный вентилятор имеет RGB подсветку и возможность установить I2C OLED экран.
Официальная страница: http://www.yahboom.net/study/RGB_Cooling_HAT
Купить на AliExpress: https://aliexpress.ru/item/1005003472541765.html
Плюсы
-
Вентилятор бесшумный
-
Управляемая LED подсветка
-
Подключаемый I2C экранчик
-
Низкий шум вентилятора
-
Размер 40х40мм
-
Управление по I2C интерфейсу
-
Не занимает PWM
-
Высокий GPIO, хорошо подходит к Repka Pi
Минусы
-
Высокая цена
-
Нет контроля питания и дополнительных разъемов питания
-
Расположение вентилятора не над процессором
-
Не отключается при отключение питания
Установки #
В начале статьи мы рассмотрели как включить интерфейс I2C, если вы его еще не включили, то вам необходимо его включить.
Устанавливаем библиотеку для работы с OLED, RepkaPi Oled разрабатывается для Repka Pi 3
sudo apt-get update
sudo apt-get install python3-dev python3-setuptools git i2c-tools python3-smbus python3-pip
sudo pip3 install pillow smbus2
git clone https://gitflic.ru/project/screator/repkapi-oled.git
cd repkapi-oled
sudo python3 setup.py install
Устанавливаем скрипты управления RGB Cooling HAT, скрипт был адаптирован для работы с Repka Pi
git clone https://gitflic.ru/project/screator/yahboom-rgb-cooling-hat.git
cd yahboom-rgb-cooling-hat
sudo chmod +x \*.sh
sudo bash install.sh
sudo reboot
Внимание: после установки папку yahboom-rgb-cooling-hat нельзя удалять, переименовывать или перемещать.
После перезагрузки вы должны увидеть информацию на экране
Если после установки не горит LED подсветка, вентилятор не срабатывает при температуре более 45 градусов или не выводится на экран информация то необходимо проверить и возможно заменить адрес i2c устройств. Давайте рассмотрим подробней как это сделать
Смотрим подключенные устройства к I2C1 следующей командой
i2cdetect -y 1
Вывод команды должен быть похожим
Если у вас другие адреса то необходимо отредактировать файл RGB_Cooling_HAT.py, адреса находятся в начале файла
Чтобы отключить модуль необходимо выполнить
sudo systemctl disable RGB_Cooling_HAT.service
Удаление #
Для удаления достаточно выполнить скрипт uninstall.sh
sudo bash uninstall.sh
Простой PWM вентилятор #
Вы можете также взять вентилятор со встроенным PWM, также есть еще дополнительно с датчиком оборота и LED.
https://aliexpress.ru/item/1005002509296525.html - вентилятор PWM с 3 проводами
https://aliexpress.ru/item/1005002518918026.html - вентилятор PWM с 3 проводами и LED
https://aliexpress.ru/item/1005003661639143.html - вентилятор PWM с датчеком скорости 4 провода
https://aliexpress.ru/item/1005005039538251.html - вентилятор PWM с WS2812 RED подсветкой
Для управления скоростью вентилятора необходимо также включить PWM.
Схема подключения #
Данные вентиляторы имеют 3 или 4 провода (красный, черный, синий и желтый)
-
Красный - 5v (плюс) подключаем на 2 или 4 пин
-
Черный - GND (минус) подключаем на 6 пин или любой другой GND
-
Синий - PWM (ШИМ сигнал) подключаем на 33 пин лучше поставить еще резистор 100Ом
-
Желтый - Tacho (Тахо датчик оборотов) можно подключить к любому GPIO но на схеме подключаем к 36 пину лучше поставить еще резистор 100Ом, также нужна подтяжка к 3.3v через резистор 5,1кОм

Скрипт
Если вы подключили по схеме то можно использовать скрипт для Geekworm SupTronics x735 v2.5
Вопрос разработчикам этого самого Repka-PWM Fan (если, конечно, они читают здесь комментарии): если вы однажды всё же его выпустите, можно ли будет его поставить на родной корпус Репы без "колхоза и доработки напильником"? Думаю, это было бы весьма существенно.