Дмитрий
Дмитрий
1562 просмотров0 комментариев

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


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

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

Новые посты

Навигация

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