Skip to content

Reverse type of controller #14

Description

@bmandl

This two lines of code are made for DIRECT type of pid controller. What if user wants reverse type? Output will never step in other direction. We have to swap +'s and -'s.

    //oscillate the output base on the input's relation to the setpoint

    if(refVal>setpoint+noiseBand) *output = outputStart-oStep;
    else if (refVal<setpoint-noiseBand) *output = outputStart+oStep;

To this:

    //oscillate the output base on the input's relation to the setpoint

    if(refVal>setpoint+noiseBand) *output = outputStart+oStep;
    else if (refVal<setpoint-noiseBand) *output = outputStart-oStep;

Activity

  1. br3ttb commented on May 30, 2015

    @br3ttb
    Owner

    this is a valid problem. if you (or someone) deals with it in a branch I will merge.

  2. bmandl commented on May 30, 2015

    @bmandl
    Author

    I wouldn't find out if I wouldn't strugle with this issue for a month. First, when I had no idea what is wrong, I tried to solve it with setting output step to negative value. Oscilation acctualy worked, but parameters were negative. So I jumped into source of library.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions