All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrei Kartashev <a.kartashev@yadro.com>
To: Landon <cld795@163.com>
Cc: "fercerpav@gmail.com" <fercerpav@gmail.com>,
	"openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>
Subject: Re:  openBMC pwm-fan control policy
Date: Tue, 7 Dec 2021 11:05:23 +0300	[thread overview]
Message-ID: <fabdbd3d04e3db2cef14346bc5b7e3fe71101c40.camel@yadro.com> (raw)
In-Reply-To: <8e645b4.344b.17d93d37f8d.Coremail.cld795@163.com>

Sorry, I probably miss your question.

I still don't understand, what kind of help do you need, but I will try
to explain the idea:
PID-control daemon use concept of the PID systems, where you have
inputs (sensors) and outputs (FANs). To configure PIDs in pid-control
the zone concept is used: thermal zone can have several fans and
several sensors. 
Then you should select PID-loop type and set parameters for each sensor
and FAN. For normal temperature sensor you generally will use normal
PID-loop, were you setup PID coefficients and setpoint (target
temperature). When the value of one (or more) sensor exceed setpoint
PID-control will increase the speed of the fans in the zone trying to
keep temperatures below the setpoints.
For current sensors you probably should use stepwise mode, but I'm not
familiar here.

On Tue, 2021-12-07 at 15:37 +0800, Landon wrote:
>   
>   
> On 12/7/2021 09:45,Landon<cld795@163.com> wrote: 
> > 
> >  Hello,
> > Can you take a look at it, please?
> >  
> > Thanks!
> > On 12/2/2021 17:11,Landon<cld795@163.com> wrote: 
> > > Hello,
> > > 
> > > I read the
> > >  "https://github.com/openbmc/phosphor-pid-control/blob/master/configure.md":
> > > 
> > > How to Configure Phosphor-pid-control
> > > 
> > > type == "temp"
> > > 
> > > Exactly the same as margin but all the inputs are supposed to be
> > > absolute temperatures and so the maximal value is used to feed
> > > the PID loop.
> > > type == "stepwise"
> > > 
> > > "name": "temp1",
> > > "type": "stepwise",
> > > "inputs": ["temp1"],
> > > "setpoint": 30.0,
> > > "pid": {
> > >   "samplePeriod": 0.1,
> > >   "positiveHysteresis": 1.0,
> > >   "negativeHysteresis": 1.0,
> > >   "isCeiling": false,
> > >   "reading": {
> > >     "0": 45,
> > >     "1": 46,
> > >     "2": 47,
> > >   },
> > >   "output": {
> > >     "0": 5000,
> > >     "1": 2400,
> > >     "2": 2600,
> > >   }
> > > }
> > > and
> > >  in  "https://github.com/openbmc/entity-manager/blob/master/configurations/R1000%20Chassis.json
> > > "
> > > {
> > >             "Class": "temp",            "FFGainCoefficient": 0.0,
> > > "FFOffCoefficient": 0.0,            "ICoefficient": -4.64,      
> > > "ILimitMax": 100,            "ILimitMin": 30,           
> > > "Inputs": [                "Exit Air Temp"            ],        
> > > "Name": "Exit Air Temp",            "NegativeHysteresis": 5.0,  
> > > "OutLimitMax": 100,            "OutLimitMin": 30,           
> > > "Outputs": [],            "PCoefficient": -0.15,           
> > > "PositiveHysteresis": 0.0,            "SetPoint": 75.0,         
> > > "SlewNeg": -1,            "SlewPos": 0.0,            "Type":
> > > "Pid",            "Zones": [                "Zone 1",           
> > > "Zone 2",                "Zone 3",                "Zone 4",     
> > > "Zone 5",                "Zone 6"            ]        },
> > >  but  I don't understand how to control the fan by temperature ?
> > > I was wondering if you could help me explain ?
> > > Thank you very much !
> > > On 11/29/2021 18:22,Andrei Kartashev<a.kartashev@yadro.com>
> > > wrote: 
> > > > Hello,
> > > > 
> > > > Please read phosphor-pid-control documentation:
> > > > https://github.com/openbmc/phosphor-pid-control
> > > > https://github.com/openbmc/phosphor-pid-
> > > > control/blob/master/configure.md
> > > > https://github.com/openbmc/phosphor-pid-
> > > > control/blob/master/tuning.md
> > > > https://github.com/openbmc/phosphor-pid-
> > > > control/tree/master/examples
> > > > 
> > > > Keep in mind that there are two different ways to configure
> > > > phosphor-
> > > > pid-control: statically with JSON config files and dynamically
> > > > with
> > > > DBUS (generally, using EntityManager JSON configuration) and
> > > > same
> > > > parameters with this two ways mostly have different names.
> > > > The way you want to use is generally depend on either you use
> > > > EM
> > > > for
> > > > your platform or not.
> > > > 
> > > > On Mon, 2021-11-29 at 17:43 +0800, Landon wrote:
> > > >  
> > > > >  Thank you!  
> > > > >  I have read it
> > > > >  :  https://github.com/openbmc/entity-
> > > > > manager/blob/master/configurations/R1000%20Chassis.json
> > > > >  But I don't understand,
> > > > >  Is there an explanation for this part?
> > > > >  Are there general instructions on how to control fan output
> > > > > by
> > > > >  temperature?
> > > > >  
> > > > >  and how to use phosphor-pid-control  to set this ?
> > > > >   
> > > > >  Is there“ phosphor-pid-control ”the instructions for this
> > > > > part?
> > > > >  Thank you very much !
> > > > >  On 11/27/2021 05:57,Paul Fertser<fercerpav@gmail.com> wrote:
> > > > >  
> > > > > > On Fri, Nov 26, 2021 at 01:55:31PM +0800, Landon wrote:
> > > > > >   
> > > > > >  
> > > > > > > add: I just want to know in  OpenBMC by reading different
> > > > > > >  temperature values  or
> > > > > > >   current values to  control the fan  output, so as  to
> > > > > > > cool down,
> > > > > > >   how does  this
> > > > > > >   strategy work? An example of this.
> > > > > > 
> > > > > >  This is using temperature values to control the fans so as
> > > > > > to cool
> > > > > >  down, it works by configuring phosphor-pid-control
> > > > > > appropriately, I
> > > > > >  hope it's enough of an example:
> > > > > >  
> > > > > >  https://github.com/openbmc/entity-
> > > > > >  manager/blob/master/configurations/R1000%20Chassis.json
> > > > > >  
> > > > > >  If you think phosphor-pid-control is missing some
> > > > > > documentation
> > > > > >  please
> > > > > >  read its source code and send documentation patches for
> > > > > > review.
> > > > > >  
> > > > 

-- 
Best regards,
Andrei Kartashev



  reply	other threads:[~2021-12-07  8:06 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.0.1637828525.15424.openbmc@lists.ozlabs.org>
2021-11-25  8:29 ` openBMC pwm-fan control policy Landon
2021-11-25  8:46   ` Paul Fertser
2021-11-26  5:26     ` Landon
2021-11-26  5:55       ` Landon
2021-11-26 21:57         ` Paul Fertser
2021-11-29  9:43           ` Landon
2021-11-29 10:22             ` Andrei Kartashev
2021-12-02  9:11               ` Landon
2021-12-07  1:45                 ` Landon
2021-12-07  7:37                   ` Landon
2021-12-07  8:05                     ` Andrei Kartashev [this message]
2021-12-15  2:39                       ` Landon
2021-12-15  3:21                       ` OpenBMC web sometimes jump back to the login screen problem Landon
2021-12-15  3:46                         ` OpenBMC appear SQUASHFS error problem Landon
2021-12-15  5:36                           ` Landon
2021-12-16  3:19                           ` Landon
2021-12-17  6:39                           ` Landon
2021-12-17 13:09                           ` Patrick Williams
2021-12-15 18:51                         ` OpenBMC web sometimes jump back to the login screen problem Bills, Jason M
2021-12-16  7:05                       ` Landon
2021-12-17 13:10                         ` Patrick Williams
2022-01-21  3:12                           ` OpenBMC Switching function of web Landon
2022-01-21  4:24                           ` Landon
2022-01-24  8:24                             ` Landon
2022-06-13  7:49                               ` OpenBMC state manager problem Landon
2022-06-16  7:34                                 ` CHLI30
2022-06-13  8:13                               ` Landon
2022-06-14  1:58                                 ` Landon
2022-06-15  7:42                                   ` Landon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fabdbd3d04e3db2cef14346bc5b7e3fe71101c40.camel@yadro.com \
    --to=a.kartashev@yadro.com \
    --cc=cld795@163.com \
    --cc=fercerpav@gmail.com \
    --cc=openbmc@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.