예제 #1
0
 private void InitPid()
 {
     pidA = new PIDControllerA(0, 0, 0, 0, 0, 0, PidDirection.DIRECT, (ulong)samplingIntervalMilliSeconds); // PIDControllerA.GetMillis());
     //pidA.SetOutputLimits(850.0d, 2200.0d);
     pidA.SetSampleTime((int)samplingIntervalMilliSeconds);
 }
        private void InitPid(ulong millis)
        {
            double kp = 0.8d;
            double ki = 0.01;
            double kd = 0.04;

            pidA = new PIDControllerA(0, 0, 0, kp, ki, kd, PidDirection.DIRECT, millis);

            pidA.SetSampleTime(pidSampleTimeMs);

            pidA.SetOutputLimits(-600, 600, 70);

            pidA.Initialize();
        }