Component: Actuators (BL0127) (E-blocks 2): Difference between revisions
Appearance
No edit summary |
m Text replacement - "style="background-color:#EAE1EA;"" to "class="mtx-class-propfolder"" |
||
| (17 intermediate revisions by 3 users not shown) | |||
| Line 15: | Line 15: | ||
The Actuators board allows for investigation into several different motor types. Included on the board is a DC motor with both analogue and digital feedback, a servo motor and a stepper motor plus the circuitry to drive the motors. | The Actuators board allows for investigation into several different motor types. Included on the board is a DC motor with both analogue and digital feedback, a servo motor and a stepper motor plus the circuitry to drive the motors. | ||
== | ==Version information== | ||
Library Version, Component Version, Date, Author, Info | |||
4, 1.0, 08-05-25, BR, Added autodetect port on Ev_PostInitialise | |||
==Detailed description== | ==Detailed description== | ||
| Line 43: | Line 53: | ||
{{Fcfile| | |||
Demo program using the Eblocks 2 Actuators Board BL0127 connected to BL0011 PIC programmer | |||
{{Fcfile|BL0127 Actuators Demo PIC.fcfx|BL0127 Actuators Demo for PIC}} | |||
==Macro reference== | ==Macro reference== | ||
{| class="wikitable | ===DCMotor_Break=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DCMotor_Break''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Actively drives both ends of the motor by setting the pins according to the 'Brake Pattern' property. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===DCMotor_Coast=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DCMotor_Coast''' | ||
|- | |- | ||
| colspan="2" | Turn off power to the motor by setting the pins according to the 'Coast Pattern' property. | |||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 83: | Line 96: | ||
{| class="wikitable | ===DCMotor_DC_Feedback=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DCMotor_DC_Feedback''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===DCMotor_DC_FeedbackSim=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" class="mtx-class-macrohead" | '''DCMotor_DC_FeedbackSim''' | |||
|- | |- | ||
| | | colspan="2" | | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| Line 106: | Line 124: | ||
{| class="wikitable | ===DCMotor_Disable=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DCMotor_Disable''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Disable the motor output | ||
|- | |- | ||
|- | |- | ||
| Line 119: | Line 138: | ||
{| class="wikitable | ===DCMotor_Enable=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DCMotor_Enable''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Enables the motor output | ||
|- | |- | ||
|- | |- | ||
| Line 132: | Line 152: | ||
{| class="wikitable" | ===DCMotor_Forwards=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''DCMotor_Forwards''' | |||
|- | |||
| colspan="2" | Set the motor turning in the forwards direction by setting the pins according to the 'Forwards Pattern' property. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | Duty | |||
|- | |- | ||
| colspan="2" | Sets the motor power for PWM or H-Bridge outputs | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 145: | Line 171: | ||
{| class="wikitable | ===DCMotor_Reverse=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''DCMotor_Reverse''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Set the motor turning in the reverse direction by setting the pins according to the 'Reverse Pattern' property. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | | | width="90%" | Duty | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets the motor power for PWM or H-Bridge outputs | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 163: | Line 190: | ||
{| class="wikitable" | ===Servo_AutoMoveToPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Servo_AutoMoveToPosition''' | |||
|- | |||
| colspan="2" | Automatically moves towards the new position at a fixed rate determined by the AutoMoveSpeed. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Channel | |||
|- | |- | ||
| colspan="2" | The channel to assign the new position. Range: 0-7 | |||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Position | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Position to automatically move to. Range: 0-255 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 181: | Line 214: | ||
{| class="wikitable | ===Servo_AutoMoveToPositionInt=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_AutoMoveToPositionInt''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Automatically moves towards the new 16-bit position at a fixed rate determined by the AutoMoveSpeed. | ||
|- | |- | ||
|- | |- | ||
| Line 197: | Line 231: | ||
| width="90%" | Position | | width="90%" | Position | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Position to automatically move to. Range: 0-65535 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable" | ===Servo_DisableServo=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Servo_DisableServo''' | |||
|- | |||
| colspan="2" | Disables a servo channel effectivly disabling the motor. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Channel | |||
|- | |- | ||
| colspan="2" | The channel to set the position for. First channel is zero. | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 217: | Line 257: | ||
{| class="wikitable" | ===Servo_EnableServo=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Servo_EnableServo''' | |||
|- | |||
| colspan="2" | Enables a servo channel effectivly setting the position of the motor to the value in the local position variable. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Channel | |||
|- | |- | ||
| colspan="2" | The channel to set the position for. First channel is zero. | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Servo_Initialise=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_Initialise''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets up the servo motor interrupts | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Servo_IsAutoMoving=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_IsAutoMoving''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Is the AutoMoveToPosition movement complete. Returns 1 if the servos are still moving. Returns 0 if all servo movement is complete. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Servo_IsServoAutoMoving=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_IsServoAutoMoving''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Is the AutoMoveToPosition movement complete for a specific servo output. Returns 1 if the servo is still moving. Returns 0 if the servo movement is complete. | ||
|- | |- | ||
|- | |- | ||
| Line 272: | Line 316: | ||
| width="90%" | Channel | | width="90%" | Channel | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Servo Motor Output Range: 0-7 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | |||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | |||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Servo_MoveToPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_MoveToPosition''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Moves a single step towards the new position, the rate of movement is determined by how often the move to macro is called. Returns 1 if the position has been reached. | ||
|- | |- | ||
|- | |- | ||
| Line 295: | Line 335: | ||
| width="90%" | Channel | | width="90%" | Channel | ||
|- | |- | ||
| colspan="2" | The channel to | | colspan="2" | The channel to assign the new position. Range: 0-7 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Position | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Target position to move towards. Range: 0-255 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Servo_MoveToPositionInt=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_MoveToPositionInt''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Moves a single step towards the new position, the rate of movement is determined by how often the move to macro is called. Returns 1 if the position has been reached. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Channel | ||
|- | |- | ||
| | | colspan="2" | The channel to assign the new position. Range: 0-7 | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | Position | |||
|- | |- | ||
| colspan="2" | Target position to move towards. Range: 0-65535 | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
{| class="wikitable | ===Servo_SetAutoMoveSpeed=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_SetAutoMoveSpeed''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Speed | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | 1=Slowest (Default), 2= Double, 3=Triple, 4=Quadruple | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 351: | Line 390: | ||
{| class="wikitable | ===Servo_SetAutoMoveSpeedInt=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_SetAutoMoveSpeedInt''' | ||
|- | |- | ||
| colspan="2" | Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property. | | colspan="2" | Sets the speed of the auto move to position macro. Default speed is shown in the Servo_Period_Multiplier property. | ||
| Line 369: | Line 409: | ||
{| class="wikitable | ===Servo_SetPosition=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_SetPosition''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Moves directly to the specified position with no interpolation. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90% | | width="90%" | Channel | ||
|- | |- | ||
| | | colspan="2" | The channel to assign the new position. Range: 0-7 | ||
|- | |- | ||
| | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | Position | |||
|- | |- | ||
| colspan="2" | Position to jump to. Range: 0-255 | |||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 395: | Line 433: | ||
{| class="wikitable | ===Servo_SetPositionInt=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_SetPositionInt''' | ||
|- | |- | ||
| colspan="2" | Moves directly to the specified position with no interpolation. | | colspan="2" | Moves directly to the specified position with no interpolation. Uses a 16-bit position parameter to add extra precision. | ||
|- | |- | ||
|- | |- | ||
| Line 408: | Line 447: | ||
| colspan="2" | The channel to assign the new position. Range: 0-7 | | colspan="2" | The channel to assign the new position. Range: 0-7 | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT | ||
| width="90%" | Position | | width="90%" | Position | ||
|- | |- | ||
| colspan="2" | Position to jump to. Range: 0- | | colspan="2" | Position to jump to. Range: 0-65535 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 418: | Line 457: | ||
{| class="wikitable | ===Servo_SetTrim=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Servo_SetTrim''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Allows the level of trim for each servo channel to be adjusted progmatically. | ||
|- | |- | ||
|- | |- | ||
| Line 442: | Line 469: | ||
| width="90%" | Channel | | width="90%" | Channel | ||
|- | |- | ||
| colspan="2" | The channel to | | colspan="2" | The channel to set the position for. First channel is zero. | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE | ||
| width="90%" | | | width="90%" | Trim | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Legacy: 0=0us, 1=+25us, 2=+50us, 3=+75us, 4=+100us, 5=-25us, 6=-50us, 7=-75us, 8=-100us or Smooth: 0-200 | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 454: | Line 481: | ||
{| class="wikitable | ===Stepper_DecrementStep=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Stepper_DecrementStep''' | ||
|- | |- | ||
| colspan="2" | | | colspan="2" | Move the motor backwards by one step. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | [[File:Fc9- | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" | | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |||
===Stepper_DisableMotor=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | ||
| width="90%" class="mtx-class-macrohead" | '''Stepper_DisableMotor''' | |||
|- | |- | ||
| | | colspan="2" | Turn off the motor. It will no longer respond to any other macros. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| Line 477: | Line 509: | ||
{| class="wikitable" | ===Stepper_EnableMotor=== | ||
{| class="mtx-class-macrotable wikitable" | |||
|- | |||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Stepper_EnableMotor''' | |||
|- | |||
| colspan="2" | Turn on the motor. This must be done before it will respond to any other macros. | |||
|- | |- | ||
|- | |- | ||
| | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | |||
|} | |||
===Stepper_IncrementStep=== | |||
{| class="mtx-class-macrotable wikitable" | |||
|- | |- | ||
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]] | |||
| width="90%" class="mtx-class-macrohead" | '''Stepper_IncrementStep''' | |||
|- | |- | ||
| | | colspan="2" | Move the motor forward by one step. | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID | ||
| width="90%" style="border-top: 2px solid #000;" | ''Return'' | | width="90%" style="border-top: 2px solid #000;" | ''Return'' | ||
|} | |} | ||
==Property reference== | ==Property reference== | ||
{| class="wikitable | {| class="mtx-class-macrotable wikitable" | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-macrohead" | '''Properties''' | ||
|- | |- | ||
|- | |- | ||
| Line 515: | Line 555: | ||
| colspan="2" | Select if the feedback is a digital or analogue value. Note, if using an Arduino shield and port D is selected, then only digital type will be available. | | colspan="2" | Select if the feedback is a digital or analogue value. Note, if using an Arduino shield and port D is selected, then only digital type will be available. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Connections | ||
|- | |- | ||
|- | |- | ||
| Line 524: | Line 564: | ||
| colspan="2" | Port C is not available on the Arduino shield, If port C is slected, it will default to port B. | | colspan="2" | Port C is not available on the Arduino shield, If port C is slected, it will default to port B. | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Servo | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Trim | ||
|- | |- | ||
|- | |- | ||
| width="10%" align="center" | | width="10%" align="center" class="mtx-class-propfolder" | [[File:Fc9-conn-icon.png]] | ||
| width="90%" | | width="90%" class="mtx-class-propfolder" | Pulse Width | ||
|- | |- | ||
|- | |- | ||
| Line 551: | Line 591: | ||
| colspan="2" | Number of instructions for 1 / 256th of the positional accuracy. This sets the default movement speed to maintain legacy move speeds. Also sets the multiplication factor to convert from a byte 0-255 to a clocked position value. | | colspan="2" | Number of instructions for 1 / 256th of the positional accuracy. This sets the default movement speed to maintain legacy move speeds. Also sets the multiplication factor to convert from a byte 0-255 to a clocked position value. | ||
|} | |} | ||
==Component Source Code== | |||
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_EB_Actuators_BL0127.fcfx FC_Comp_Source_EB_Actuators_BL0127.fcfx] | |||
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_EB_Actuators_BL0127.fcfx FC_Comp_Source_EB_Actuators_BL0127.fcfx] | |||
Latest revision as of 14:37, 13 July 2026
| Author | Matrix TSL |
| Version | 1.0 |
| Category | E-blocks 2 |
Actuators component
The Actuators board allows for investigation into several different motor types. Included on the board is a DC motor with both analogue and digital feedback, a servo motor and a stepper motor plus the circuitry to drive the motors.
Version information
Library Version, Component Version, Date, Author, Info 4, 1.0, 08-05-25, BR, Added autodetect port on Ev_PostInitialise
Detailed description
No detailed description exists yet for this component
Examples
Demo program using the Eblocks 2 Actuators Board BL0127 connected to BL0011 PIC programmer
BL0127 Actuators Demo for PIC
Macro reference
DCMotor_Break
| DCMotor_Break | |
| Actively drives both ends of the motor by setting the pins according to the 'Brake Pattern' property. | |
| Return | |
DCMotor_Coast
| DCMotor_Coast | |
| Turn off power to the motor by setting the pins according to the 'Coast Pattern' property. | |
| Return | |
DCMotor_DC_Feedback
| DCMotor_DC_Feedback | |
| Return | |
DCMotor_DC_FeedbackSim
| DCMotor_DC_FeedbackSim | |
| Return | |
DCMotor_Disable
| DCMotor_Disable | |
| Disable the motor output | |
| Return | |
DCMotor_Enable
| DCMotor_Enable | |
| Enables the motor output | |
| Return | |
DCMotor_Forwards
DCMotor_Reverse
Servo_AutoMoveToPosition
Servo_AutoMoveToPositionInt
Servo_DisableServo
| Servo_DisableServo | |
| Disables a servo channel effectivly disabling the motor. | |
| Channel | |
| The channel to set the position for. First channel is zero. | |
| Return | |
Servo_EnableServo
Servo_Initialise
| Servo_Initialise | |
| Sets up the servo motor interrupts | |
| Return | |
Servo_IsAutoMoving
| Servo_IsAutoMoving | |
| Is the AutoMoveToPosition movement complete. Returns 1 if the servos are still moving. Returns 0 if all servo movement is complete. | |
| Return | |
Servo_IsServoAutoMoving
Servo_MoveToPosition
Servo_MoveToPositionInt
Servo_SetAutoMoveSpeed
Servo_SetAutoMoveSpeedInt
Servo_SetPosition
Servo_SetPositionInt
Servo_SetTrim
Stepper_DecrementStep
| Stepper_DecrementStep | |
| Move the motor backwards by one step. | |
| Return | |
Stepper_DisableMotor
| Stepper_DisableMotor | |
| Turn off the motor. It will no longer respond to any other macros. | |
| Return | |
Stepper_EnableMotor
| Stepper_EnableMotor | |
| Turn on the motor. This must be done before it will respond to any other macros. | |
| Return | |
Stepper_IncrementStep
| Stepper_IncrementStep | |
| Move the motor forward by one step. | |
| Return | |
Property reference
Component Source Code
Please click here to download the component source project: FC_Comp_Source_EB_Actuators_BL0127.fcfx
Please click here to view the component source code (Beta): FC_Comp_Source_EB_Actuators_BL0127.fcfx