Дмитрий
Дмитрий
2552 просмотров1 комментариев

PWM (ШИМ) вентиляторы от Raspberry Pi на Repka Pi

Содержание


В данной статье поговорим о PWM (ШИМ) вентиляторах и настроим 2 вентилятора от Raspberry Pi на Repka Pi

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

Для чего необходим PWM вентилятор?

Скоростью вращения PWM вентилятора можно управлять и отсюда следует что он может вращаться медленней или вовсе отключаться в зависимости от температуры процессора.

PWM и I2C на Raspberry Pi и Repka Pi #

Давайте сначала сравним расположение пинов на котором расположен PWM и I2C

Распиновка Raspberry Pi #

Распиновка Repka Pi 3

По схемам видно что у Repka Pi аппаратный PWM расположен на 33 пине (PWM0) и у Raspberry Pi на этом же пине расположен PWM1.

По схеме также видно что интерфейс I2C1 у Raspberry Pi и у Repka Pi расположены на 3 и 5 пине

Включаем PWM и I2C1 на Repka Pi #

Что-бы включить PWM необходимо воспользоваться утилитой repka-config

При запуске будет показана текущая максимальная частота, нажимаем “Ok

Далее выбираем пункт 3 как на скриншоте ниже

Далее выбираем частоту ту которая вам необходима и после выбираем “5 Вариант” как на скриншоте

и перезагружаем репку.

После перезагрузке на пине 33 включится поддержка аппаратного PWM, а на 3 и 5 пине I2C1.

Если необходимо включить только I2C1 то выбираем подходящий вариант кроме “1 Вариант

Geekworm SupTronics x735 v2.5 на Repka Pi #

Первым мы рассмотрим вентилятор от Geekworm, у меня версия 2.5 но на данный момент уже продается версия 3.0

Официальная страница 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 #

Первым делом смотрим в документации какие пины использует данный вентилятор

Из таблицы видно что на 33 пине (PWM1) находится управление скоростью вращения, 36 пин датчик вращения, 29-38 менеджер питания. Мы будем использовать все кроме 38 пина. 29 пин это кнопка “Momentary Switch”

Установка #

Устанавливаем 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 #

Рассмотрим еще вариант PWM вентилятора. Данному вентилятору для работы необходим только интерфейс I2C1.

Данный вентилятор имеет 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 нельзя удалять, переименовывать или перемещать.

После перезагрузки вы должны увидеть информацию на экране

Скорость вращения, RGB и информацию на экране можно настроить в файле RGB_Cooling_HAT.py, находится в конце файла

Также в папке расположены скрипты примеры, а на сайте модуля есть более подробное описание http://www.yahboom.net/study/RGB_Cooling_HAT

Если после установки не горит LED подсветка, вентилятор не срабатывает при температуре более 45 градусов или не выводится на экран информация то необходимо проверить и возможно заменить адрес i2c устройств. Давайте рассмотрим подробней как это сделать

Смотрим подключенные устройства к I2C1 следующей командой

i2cdetect  -y 1

Вывод команды должен быть похожим

В данном случае 0d это адрес чипа управления подсветкой и вентилятором, а 3c это адвес экранчика.

Если у вас другие адреса то необходимо отредактировать файл 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


Комментарии (1)

Для участия в обсуждении Вы должны быть авторизованным пользователем
ejsanyo
ejsanyo  

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

Темы

Навигация

ВойтиРегистрация