Helios64: Update PWM page with fan data

This commit is contained in:
Aditya Prayoga 2020-10-28 16:52:28 +07:00
parent ceb3ed0ccc
commit 25104da6c8
6 changed files with 46 additions and 1 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

View File

@ -46,6 +46,25 @@ Connector Pinout
| 3 | Sense | Yellow |
| 4 | Control | Blue |
## Stock Fan
![!Type-C Fan](/helios64/img/pwm/fan_stock_photo.jpg)
Fan Specification
| Parameter | Value | Unit | Remarks |
|---------------|----------|------|---------|
| Maximum Speed | 3600 | RPM | @ duty cycle 98% |
| Minimum Speed | 350 | RPM | @ duty cycle 10% |
| Shut off | Yes | | duty cycle < 6.5% and restart @ duty cycle > 9.5% |
| Implementation Type | C | | |
![!Type-C Speed Graph](/helios64/img/pwm/fan_speed_graph_stock_fan.png)
!!! info
Duty cycle data is converted from Linux PWM
## Helios64 Temperature Sensors
### SoC Temperature Sensor
@ -62,6 +81,12 @@ Helios64 has a **Digital Temperature Sensor with 2wire Interface** ([NCT75 Da
Linux use 8-bit integer to represent duty cycle. PWM value 0 represent 0% duty cycle and PWM value 255 represent 100% duty cycle.
![Duty Cycle Formula](/helios64/img/pwm/fan_duty_cycle_formula.png)
Below graphs are stock fan speed vs pwm value instead of duty cycle.
![!Stock Fan Speed Graph](/helios64/img/pwm/fan_speed_graph_stock_fan_linux.png)
### Using SYSFS interface
Linux export the fan control mechanism to SYSFS under hwmon class.
@ -128,7 +153,7 @@ INTERVAL=10
FCTEMPS=/dev/fan-p6/pwm1=/dev/thermal-cpu/temp1_input /dev/fan-p7/pwm1=/dev/thermal-cpu/temp1_input
MINTEMP=/dev/fan-p6/pwm1=40 /dev/fan-p7/pwm1=40
MAXTEMP=/dev/fan-p6/pwm1=80 /dev/fan-p7/pwm1=80
MINSTART=/dev/fan-p6/pwm1=60 /dev/fan-p7/pwm1=60
MINSTART=/dev/fan-p6/pwm1=20 /dev/fan-p7/pwm1=20
MINSTOP=/dev/fan-p6/pwm1=29 /dev/fan-p7/pwm1=29
MINPWM=20
```
@ -143,6 +168,18 @@ Maps PWM outputs to temperature sensors so fancontrol knows which temperature se
Fans (**fan-p6** & **fan-p7**) are controlled based on CPU thermal sensor (**thermal-cpu**) reading.
MINSTART
Sets the minimum speed at which the fan begins spinning. You should use a safe value to be sure it works, even when the fan gets old.
Stock fan restart at 15, added 5 for safety (in case of aging fan) give us **20**.
MINSTOP
The minimum speed at which the fan still spins. Use a safe value here, too.
Stock fan stopped at 24, added 5 for safety (in case of aging fan) give us **29**.
-----
*Following settings can be adjusted by user to tweak further.*
@ -159,3 +196,11 @@ The temperature over which the fan gets switched to maximum speed.
Fans (fan-p6 & fan-p7) runs in maximum speed if the CPU temperature above **80** degree C.
MINPWM
The PWM value to use when the temperature is below MINTEMP. Typically, this will be either 0 if it is OK for the fan to plain stop, or the same value as MINSTOP if you don't want the fan to ever stop. If this value isn't defined, it defaults to 0 (stopped fan).
!!! note
The Helios64 fancontrol configuration file can be found [here](https://github.com/armbian/build/blob/master/packages/bsp/helios64/fancontrol.conf).