# General Data

## Gearing Options

<table><thead><tr><th width="266">Gearing Option</th><th width="150">35:1</th><th width="150">63:1</th><th>150:1</th></tr></thead><tbody><tr><td>Peak Power Point</td><td>50N @16mm/s</td><td>75N @10mm/s</td><td>175N @4mm/s</td></tr><tr><td>Peak Efficiency Point</td><td>24N @24mm/s</td><td>38N @15mm/s</td><td>75N @7mm/s</td></tr><tr><td>Max Speed (no load)</td><td>32mm/s</td><td>20mm/s</td><td>8mm/s</td></tr><tr><td>Max Force (lifted)</td><td>50N</td><td>100N</td><td>200N</td></tr><tr><td>Back Drive Force</td><td>31N</td><td>46N</td><td>102N</td></tr></tbody></table>

## Stroke Options

<table><thead><tr><th width="268">Stroke Option</th><th width="150">50mm </th><th width="149">100mm </th><th>140mm</th></tr></thead><tbody><tr><td>Mass</td><td>56g</td><td>74g</td><td>84g</td></tr><tr><td>Max Side Load (extended)</td><td>40N</td><td>30N</td><td>20N</td></tr><tr><td>Closed Length (hole to hole)</td><td>118mm</td><td>168mm</td><td>208mm</td></tr><tr><td>Feedback Potentiometer</td><td>6kΩ+-50%</td><td>11kΩ+-50%</td><td>16kΩ+-50%</td></tr></tbody></table>

<table data-header-hidden><thead><tr><th width="270"></th><th align="center"></th></tr></thead><tbody><tr><td>Feedback Linearity</td><td align="center">Less than 2.00%</td></tr><tr><td>Input Voltage</td><td align="center">6VDC</td></tr><tr><td>Stall Current</td><td align="center">650mA @ 12V</td></tr><tr><td>Operating Temperature</td><td align="center">-10C to 50C</td></tr><tr><td>Audible Noise</td><td align="center">60dB @ 45cm</td></tr><tr><td>Ingress Protection</td><td align="center">IP-54</td></tr><tr><td>Mechanical Backlash</td><td align="center">0.25mm</td></tr><tr><td>Maximum Static Force</td><td align="center">250N</td></tr><tr><td>Maximum Duty Cycle</td><td align="center">20%</td></tr></tbody></table>

## Sample Code

Sample code provided by FRC team 4414. The provided code is to control the position of the L16-R Miniature Linear Servo Actuators.

<details>

<summary>Sample Code</summary>

{% code overflow="wrap" lineNumbers="true" fullWidth="true" %}

```javascript
import edu.wpi.first.wpilibj.Servo;
import edu.wpi.first.wpilibj.Timer;
import edu.wpi.first.wpiutil.math.MathUtil;
public class LinearServo extends Servo{
 double m_speed;
 double m_length;
 double setPos;
 double curPos;
 /**
 * Parameters for L16-R Actuonix Linear Actuators
 *
 * @param channel PWM channel used to control the servo
 * @param length max length of the servo [mm]
 * @param speed max speed of the servo [mm/second]
 */
 public LinearServo(int channel, int length, int speed) {
 super(channel);
 setBounds(2.0, 1.8, 1.5, 1.2, 1.0);
 m_length = length;
 m_speed = speed;
 }
 /**
 * Run this method in any periodic function to update the position estimation of your
servo
 *
 * @param setpoint the target position of the servo [mm]
 */
 public void setPosition(double setpoint){
 setPos = MathUtil.clamp(setpoint, 0, m_length);
 setSpeed( (setPos/m_length *2)-1);
 }
 double lastTime = 0;
 /**
 * Run this method in any periodic function to update the position estimation of your
servo
 */
 public void updateCurPos(){
 double dt = Timer.getFPGATimestamp() - lastTime;
 if (curPos > setPos + m_speed *dt){
 curPos -= m_speed *dt;
 } else if(curPos < setPos - m_speed *dt){
 curPos += m_speed *dt;
 }else{
 curPos = setPos;
 }
 }
 /**
 * Current position of the servo, must be calling {@link #updateCurPos()
updateCurPos()} periodically
 *
 * @return Servo Position [mm]
 */
 public double getPosition(){
 return curPos;
 }
 /**
 * Checks if the servo is at its target position, must be calling {@link #updateCurPos()
updateCurPos()} periodically
 * @return true when servo is at its target
 */
 public boolean isFinished(){
 return curPos == setPos;
 }
}
```

{% endcode %}

</details>

## Graphs

{% tabs %}
{% tab title="Load Curve" %}

<figure><img src="https://2439692285-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgEG1GkSxO05Z8fz121rw%2Fuploads%2FTZb7zDtZ7qO7OPDzi1vr%2FLoad%20Curve.png?alt=media&#x26;token=da8b39b3-d108-476c-a403-62ecb057fe6e" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Current Curves" %}

<figure><img src="https://2439692285-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FgEG1GkSxO05Z8fz121rw%2Fuploads%2FLE89rkANjgfBoFLwUOFj%2FCurrent%20Curve.png?alt=media&#x26;token=4dfbb3b1-848d-4057-aa21-b01321029dcf" alt=""><figcaption></figcaption></figure>
{% endtab %}
{% endtabs %}
