Main Content

Servo Output

Write to standard servo output channels

  • Servo Output block

Libraries:
Simulink Desktop Real-Time

Description

The Servo Output block sets the shaft position of a standard servo motor.

To rotate the servo shaft, send values to the block input.

Sending out-of-range values to the block input has the same effect as sending the minimum or maximum input values.

The block input inherits the data type of the upstream block.

Examples

Ports

Input

expand all

Servo position (angle). The minimum and maximum values for shaft position vary with the Block input signal (units) argument value:

Block input signal

Minimum Servo Data

Maximum Servo Data

Degrees (default)

0

180

Radians

0

pi

Normalized bipolar

-1

1

Normalized unipolar

0

1

Example: 90

Data Types: double | single | int8 | uint8 | int16 | uint16 | int32 | uint32

Output

expand all

In Connected IO mode, returns the number of timer ticks that your model lags behind the real-time kernel. When the model lags by more than Maximum missed ticks, the software reports an error and simulation stops.

Dependency

When you select Show “Missed Ticks” port, this port is visible.

Data Types: double

Parameters

expand all

When you click Install new board, the software displays a list of manufacturers of supported boards. When you select a manufacturer, the software displays a list of boards available from that manufacturer. When you select a board, the software adds the board to the list of registered boards and makes that board the current board.

By default, the initial selection in the list of registered boards is < no board selected >.

For more information about driver support for I/O boards, see Hardware Support from Simulink Desktop Real-Time.

Dependency

When you select a board in the list of registered boards, the Delete current board and Board setup buttons are available.

Programmatic Use

Block Parameter: DrvName

To delete the current board, click this button. The initial selection of the list of registered boards changes to < no board selected >.

Dependency

To activate this parameter, select a board in the list of registered boards.

When you delete the current board, the Delete current board and Board setup buttons are no longer available.

Programmatic Use

Block Parameter: DrvName

To set up the board, click this button.

A board-specific dialog box opens to set up the board. For more information, see the board manufacturer documentation.

Dependency

To activate this parameter, select a board in the list of registered boards.

To deactivate this parameter, click Delete current board.

Programmatic Use

Block Parameter: DrvAddress
Block Parameter: DrvOptions

Enter a value, in seconds, that represents how frequently you want the block to execute and interact with the I/O hardware. The block synchronizes your model with the real-time clock at this sample rate.

If you are using a fixed-step solver, enter the value that you entered as the Fixed step size configuration parameter or an integer multiple of that value.

Programmatic Use

Block Parameter: SampleTime

In Connected IO mode, enter the number of timer ticks that your model can lag behind the real-time kernel. When the model lags behind by this number or fewer timer ticks, the software assumes that the lag is temporary. It allows the model to catch up, even if the model misses some ticks. When the model lags by more than this number, the software reports an error and simulation stops.

In Run in Kernel mode, the software ignores this value.

Programmatic Use

Block Parameter: MaxMissedTicks

In Connected IO mode, select this check box to send the number of missed ticks to output port Missed Ticks.

In Run in Kernel mode, the Missed Ticks port is zero.

Programmatic Use

Block Parameter: ShowMissedTicks

In Connected IO mode, select this check box to grant other programs more CPU time while the kernel waits for a response from the hardware.

In Run in Kernel mode, the software ignores this value.

Programmatic Use

Block Parameter: YieldWhenWaiting

Enter a channel vector that selects the other output channels that you are using on this board. The vector can be any valid MATLAB® vector form. For example, to select the first two other output channels, enter:

[1,2]

or

[1:2]

Programmatic Use

Block Parameter: Channels

Select the units of the block input signal that specifies servo position.

Programmatic Use

Block Parameter: RangeMode

Select the duration of the control pulse that corresponds to the minimum servo angle. Because not all servos are the same, this parameter lets you calibrate the input signal to the actual servo angle.

Programmatic Use

Block Parameter: MinPulseDuration

Select the duration of the control pulse that corresponds to the maximum servo angle. Because not all servos are the same, this parameter lets you calibrate the input signal to the actual servo angle.

Programmatic Use

Block Parameter: MaxPulseDuration

Enter the initial value for each output channel that you entered in the Output channels box.

Programmatic Use

Block Parameter: InitialValue

Enter the final value for each output channel that you entered in the Output channels box.

Programmatic Use

Block Parameter: FinalValue

Version History

Introduced in R2018b

expand all

See Also