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 с ошибкой