Compensating for Non Linear Feedback

I want to start off by saying I am very impressed with the capabilities of the Jrk12v12. Both the software and the hardware are very intuitive, powerful, and easy to use. Keep up the good work.

My issue is that I am trying to tune the PID for my Jrk12v12 motor controller and I am having problems obtaining a symmetrical response when going from neutral to max and going neutral to min. Going neutral to max is a very quick and accurate response, but going from neutral to min is slow, jerky and doesn’t work as desired. You can clearly see it not following the setpoint when watching it on the plot window. I unhooked the feedback and manually spun it between center and max then center to min and discovered my feedback pot (which is a hobby servo rewired) isn’t linear and is most likely what is causing my issue. I there a way to compensate for this? I played around with all of the software configuration settings and could not achieve my desired results.

Another issue I am having is when I quickly and repetitively toggle forward/reverse, the system occasionally overshoots my max setting on the feedback and isn’t aware of it. It passes the max position and thinks it is at the max. I attempted to scale back the range of the feedback to prevent from over rotating it and breaking it but this may be causing my issue. Is there a way to prevent/correct this?


Unfortunately, the only kind of scaling that the jrk can do for the Feedback is linear. So if your feedback pot is non-linear and your PID parameters are tuned well in one regime, they won’t be tuned will in the other.

Regarding the other issue: if your system is overshooting the target, then maybe your derivative (D) term is not high enough. Scaling back the range of the feedback as you did to prevent damage is a good idea, and I don’t think it would cause this issue.