C. pid calculation overview – Pololu Jrk USB User Manual
Page 8

Under Linux, the two virtual COM ports created by the jrk should appear as devices with names like /dev/ttyACM0
and /dev/ttyACM1 (the number depends on how many other ACM devices you have plugged in) and you can use any
terminal program (such as screen) to send and receive bytes on those ports. Alternatively, you can use the Pololu USB
Software Development Kit which supports Linux and has example applications that control the jrk using its native
USB interface (see
).
Under Mac OS X 10.7 or later, the two virtual COM ports created by the jrk should appear as devices with names
like /dev/cu.usbmodem00034567 and you can use any terminal program (such as screen) to send and receive bytes on
those ports.
Mac OS X compatibility: we have confirmed that the jrk works on Mac OS X 10.7 and we can assist
with advanced technical issues, but most of our tech support staff does not use Macs, so basic support
for Mac OS X is limited.
1.c. PID Calculation Overview
The jrk is designed to be part of a control system in which the output (usually a motor position or speed) is constantly
adjusted to match a specified target value. To achieve this, it constantly measures the state of the system and responds
based on the latest information. The information processing performed by the jrk is outlined in the diagram below:
Diagram of a typical feedback system, showing
quantities computed by the jrk.
In this diagram, each arrow represents a specific number measured or computed by the jrk, and the blue boxes
represent the internal computations that each occur once per PID period. The PID period can be set in 1 ms increments
and is one of about 50 configurable parameters that affect the behavior of the system. For more information about
configuring the jrk, see
. The jrk uses the following measurements to determine the output:
• The input is measured as a value from 0 to 4095. In analog voltage input mode, this represents a voltage level
of 0 to 5 V. In RC mode, the number is a pulse width in units of 2/3 μs. The input is adjusted according to input
scaling parameters to determine the target, also a value from 0 to 4095 (see
Pololu Jrk USB Motor Controller User's Guide
© 2001–2014 Pololu Corporation
1. Overview
Page 8 of 45