liba 0.1.15
An algorithm library based on C/C++
 
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
Loading...
Searching...
No Matches
pid_neuro.h File Reference

single neuron proportional integral derivative controller More...

#include "pid.h"
Include dependency graph for pid_neuro.h:

Go to the source code of this file.

Data Structures

struct  a_pid_neuro
 instance structure for single neuron PID controller More...
 

Macros

#define a_pid_neuro_init(ctx)
 initialize for single neuron PID controller
 

Typedefs

typedef struct a_pid_neuro a_pid_neuro
 
typedef struct a_pid_neuro a::pid_neuro
 

Functions

void a_pid_neuro_set_kpid (a_pid_neuro *ctx, a_real k, a_real kp, a_real ki, a_real kd)
 set proportional integral derivative constant for single neuron PID controller
 
void a_pid_neuro_set_wpid (a_pid_neuro *ctx, a_real wp, a_real wi, a_real wd)
 set proportional integral derivative weight for single neuron PID controller
 
a_real a_pid_neuro_run (a_pid_neuro *ctx, a_real set, a_real fdb)
 compute for single neuron PID controller
 
a_real a_pid_neuro_inc (a_pid_neuro *ctx, a_real set, a_real fdb)
 compute for incremental single neuron PID controller
 
void a_pid_neuro_zero (a_pid_neuro *ctx)
 zeroing for single neuron PID controller
 

Detailed Description

single neuron proportional integral derivative controller

{xi=e(k)xp=e(k)e(k1)xd=e(k)2e(k1)+e(k2)

{ωp(k)=ωp(k1)+ηpe(k)u(k)xp(k)ωi(k)=ωi(k1)+ηie(k)u(k)xi(k)ωd(k)=ωd(k1)+ηde(k)u(k)xd(k)

u(k)=u(k1)+Kwp(k)xp(k)+wi(k)xi(k)+wd(k)xd(k)|ωp(k)|+|ωi(k)|+|ωd(k)|