10 месяцев назад История
README.md

Драйвер Repka Pi PWM FAN 2.0 на Python3

Официальная страниц Repka Pi PWM FAN 2.0

Основной функционал расширения

Это управление скоростью вращения вентилятора в зависимости от температуры процессора. Для управления скоростью вращения используется ШИМ(PWM) сигнал с 33 пина, вентилятор также имеет постоянный режим работы, не используемый ШИМ (PWM) сигнал, для управления режимами работы на плате установлен переключатель 3. На плату устанавливается вентилятор со скоростью вращения 8000 об/мин.

Дополнительные возможности

Для расширения вариантов питания Repka Pi на расширение установлено два дополнительных порта питания Repka Pi: 1. Штырьковый разъем XH2.54 2. Type-C разъем

Важно: Допустимое напряжение 5V

На расширение также добавлены кнопка POWER и RESET. Данные кнопки подключены к стандартному 2х2 разъему Repka Pi предназначавшемуся для этих функций и дополнительных настроек в Repka OS не требуют.

Внимание: Кнопка Reset имеет режим горячей перезагрузки Repka Pi

На плате установлены длинные дублирующие 40 и 4 пиновые гребенки что позволяет устанавливать другие расширение выше и работать с GPIO в обычном режиме.

На расширение задействованы следующие пины

Установка

Скрипты протестированы на 64-разрядной версии Repka OS 20.04.6 и Python3 (Python2 не поддерживается):

Включаем PWM

Данная инструкция предназначена для системы Repka OS. Если вы используете другую систему, то Вам необходимо самостоятельно включить PWM на 33 пине 40 пиновой гребенке(разъеме), для этого вы можете скачать DTS с официального сайта и применить следующее дерево устройств sun50i-h5-repka-pi3-alt-pwm-xxx.dtb (xxx-необходимый вариант)

Для включения PWM проделайте следующие действия!

В консоле выполните команду repka-config.

Нажимаем Ok

Далее спускаемся к 3 пункту Frequnce / Pinout Options, заходим в него

В следующем окне выбираем подходящий вариант с частотой

Далее выбираем 5 Вариант, в данном варианте включается PWM на 33 пине

Далее уже на Ваш выбор, можно перезагрузить систему или отказаться и выполнить перезагрузку после установки драйвера

Устанавливаем драйвер

Установить драйвер можно двумя способами

Способ 1

Установить при момощи скрипта установщика install.sh

    sudo apt install git
    git clone https://gitflic.ru/project/screator/pwm-fan.git
    cd pwm-fan
    sudo chmod +x *.sh
    sudo bash install.sh

Способ 2

Используя deb пакет

    sudo wget -O repkapi-pwm-fan.deb https://gitflic.ru/project/screator/pwm-fan/blob/raw?file=packed%2Frepkapi-pwm-fan-1.0.deb
    sudo dpkg --install repkapi-pwm-fan.deb

Настройка

Драйвер имеет уже настройки по умолчанию, для самостоятельной настройки необходимо отредактировать файл pwm-fan.ini расположенном в папке /etc/ или папки драйвера если не выполнялась установка. Для настройки своих диапазонов температуры и скорости вращения редактируем секцию [Temperature]. Формат установки температура=скорость, каждое новое значение пишется с новой строки

0=0
40=30
45=40
50=50
55=60
60=65
65=70
70=100

При такой настройке будут такие деапазоны.

  • В промежутке 0-40 градусов вентилятор будет выключен

  • В промежутке 40-45 градусов вентилятор будет вращаться с 30% скоростью

  • В промежутке 45-50 градусов вентилятор будет вращаться с 40% скоростью

  • В промежутке 50-55 градусов вентилятор будет вращаться с 50% скоростью

  • В промежутке 55-60 градусов вентилятор будет вращаться с 60% скоростью

  • В промежутке 60-65 градусов вентилятор будет вращаться с 65% скоростью

  • В промежутке 65-70 градусов вентилятор будет вращаться с 70% скоростью

  • Выше 70 градусов скорость вентилятора будет максимальной

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

Перезагружаем после установки и настройке

    sudo reboot

Проверка работы

Для проверки работоспособности платы необходимо нагрузить процессор. Для этого можно установить пакет stress-ng

sudo apt install stress-ng

и выполнить следующую команду

stress-ng --cpu 16 --cpu-method matrixprod --metrics --timeout 60

Температура процессора должна подняться до 60 градусов и вентилятор увеличит скорость вращения. Так же можно проверить любым другим доступным способом к примеру, запустить видео с Ютуба

Удаление

Для того что бы удалить установленные скрипты выполните

    sudo bash uninstall.sh

Применение

Для активации вентилятора вручную вы можете использовать следующую команду, также эта команда запущена как служба:

    pwm_fan_control

Данную команду можно выполнить только при условии установки deb пакета или через скрипт установщика install.sh

Ручное управление

Имеется возможность устанавливать скорость вращения в ручну, при этом программа управления pwm_fan_control должна быть запущена.

Что бы установить скорость вращения используем следующую команду:

    sudo change_speed_fan 50

Команда принимает параметр скорость (целое число от 0-100), так же команда может вызываться без параметра что бы сбросить установку скорости и вернуть управление вентилятором в зависимости от температуры

    sudo change_speed_fan

Службы

Деактевировать PWM control

    sudo systemctl disable pwm_fan_control.service

Сборка пакета deb

Заметка, по командам

    sudo apt install dpkg debconf debhelper lintian
    cd ~/pwm-fan/repkapi-pwm-fan/usr/share/pwm_fan
    sudo chmod +x pwm_fan_control.py change_speed_fan.py
    cd ~/pwm-fan/repkapi-pwm-fan/DEBIAN
    sudo chmod +x postinst postrm
    cd ~/pwm-fan/
    fakeroot dpkg-deb --build repkapi-pwm-fan
Конвейеры
0 успешных
0 с ошибкой