Help with JrK21 PID settings

Hi all,
I am using a JrK21 w/sw version 1.3, I have 12Vdc goin to VIN, and am driving a fairly large DC motor that is geared and turning a couple of trim wheels via chain and sprocket. It is being controlled by PWM R/C signal with a 10K potentiometer for feedback. I have the feedback system set-up perfect and it positions the motor perfectly, when it does turn.

The problem I am having is that JrK seems very inconsistent, by this I mean, sometimes it turns the motor perfectly, other times it won’t move it. I have tried a myriad of different settings but being so inconsistent it is hard to tell if anything helped. The motor seems to work better forward direction vs reverse direction. Sometimes it will work perfect for a couple of direction changes then it stops. Nothing is binding as I can shut motor off and turn it all by hand easily. I checked the output during one of the times it was commanding the motor to move, NO errors, the output was only 1.5vdc on my Fluke. That motor needs way more than that. I will attach one of my saved config files. It worked about 65% of the time with this one. Any ideas would be much appreciated.
trimwheel.txt (1.4 KB)

Hello, Rob.

I am sorry you are observing that behavior. Your integral coefficient seems quite high, but I was able to load your settings file onto a jrk 21v3 in my office and control one of our Concentric linear actuators with feedback without any of the behavior you are noticing. Can you tell me more about how you are using your jrk? What are you using to supply 12V to VIN? What kind of movement are you commanding from your RC transmitter? For example, are you starting and stopping your motor from the same position and consistently moving a certain distance forward before moving backward, or is your behavior more random? Are you commanding full-speed forward to full-speed reverse (or vice versa)? Can you also upload a video that clearly shows your connections and the behavior you are seeing?


I am using 12V from a salvaged PC power supply.
Basically this is being driven as a servo. It turns a set of trim wheels and an indicator that matches the trim setting in the flightsim. Example, the trim goes from 0 to 16. I’m at 5 and hit a button that drives the value down to one in the sim. the signal is sent to the Jrk to move the motr to match the trim position of the Sim. I am using an arduino that outputs the correct signal to move to position ‘x’ (x being the current trim position in the sim. So from 5 degrees to 180deg corresponds with 0 to 16 on my trim. The Jrk when it works, positions it dead on every time. I notice that when the motor doesnt move, the current output is less than 20% I will try and get a video of it tomorrow. I may need to go up to 15vdc as it needs the extra voltage to gain a little starting torque.


Do you have problems if you directly control your jrk using the “Set Target” slider in the Jrk Configuration Utility? (If you have not done so, remember to check the “Automatically set target” checkbox in the lower right for approximately real-time control.) If you do not have problems when controlling from the utility, the issue might be with your Arduino sketch. If that is the case, can you post the simplest version of your code that should work, but does not?

Also, how much current can your PC power supply provide?



The PC power supply states it is capable of 20A on the 12V line.

The motor behaves the same when set to serial mode and using the slider and the Auto Set Target box checked.

I monitored the Target position and it works perfectly after I calibrated it to the servo out from the arduino.
I also monitored the Current output and the JrK never got over +/-40% It is acting like it is being limited but I have the settings maxed in the Motor tab section.

If I put the Proportional at anything below 10 the motor won’t even move
Is there an Over Temp protection feature on the JrK? It also acts like that sometimes, Works for about 30 to 90secs then quits. Sometimes and can turn the trim wheels to help it get started turning then it works.


What is the stall current of your motor? (If you do not know, do you have a link to its specifications?) Can you also post pictures that show your setup and how the jrk is connected?

I tested your settings file again, and this time I actually noticed the same behavior you were getting after about 30 seconds of use. During the time the jrk was not responsive to USB control, I noticed that the Jrk Configuration Utility returned a “Yes” for the “PID period exceed” field at the top middle GUI. This is a warning for when the analog sampling takes more time than the specified PID period. Since it looks like you changed the “analog samples” value to 512, I suspect you might be having the same problem. If this is the case, could you change it back to the default value of 128 and power cycle your system to see if the problem persists?

By the way, it looks like you have adjusted quite a few settings in the Jrk Configuration Utility, like the “PWM frequency” and “Current calibration” fields on the “Motor” tab. Unless you have a specific reason for changing those settings from the default values, you should probably leave them untouched. Can you try making a new settings file (i.e. clicking File > Reset to default settings…) and changing the minimum amount of settings (e.g. PID coefficients and scaling for the input and target values) to get your motor working over USB?


I think I may have found the issue but i’m disappointed it didn’t show up in the error TAB. I went to test the motor by hooking it directly to the power supply. It pegged my 5A supply at start. When I disconnected the JrK it was so hot it burnt my hand. I know it’s only a 3A continuous controller. So it seems to me that it was shutting down on thermal and not reporting over current for some reason. There is no info on the motor that I can find. Once the motor is turning it only pulls 1.5 to 2A It’s the start amps that are killing it. Wish we could use start capacitors LOL

The jrk does not report when its driver goes into over-temperature shutdown, so it might be that the motor driver was shutting down (from over-temperature) without the current draw ever exceeding your “Max. current” limit. I am glad you measured how much current your motor draws on startup. Without that information, or other motor specifications like the stall current and no load current draw, it is difficult to keep issues like yours in context. To get around the high current demand of your motor, you can probably just implement acceleration limiting by changing that parameter under the Motor tab of the Jrk Configuration Utility.