Difference between revisions of "Component: DC Motor ()"

From Flowcode Help
Jump to navigationJump to search
 
(10 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
DC Motor that can be driven in one or both directions using digital output pins, PWM or HBRIDGE peripherals.
 
DC Motor that can be driven in one or both directions using digital output pins, PWM or HBRIDGE peripherals.
  
==Component Pack==
+
==Component Source Code==
  
MECHATRONICS
+
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_Motor_with_reverse.fcfx FC_Comp_Source_Motor_with_reverse.fcfx]
 +
 
 +
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_Motor_with_reverse.fcfx FC_Comp_Source_Motor_with_reverse.fcfx]
  
 
==Detailed description==
 
==Detailed description==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 32: Line 48:
  
 
==Examples==
 
==Examples==
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
  
  
Line 45: Line 75:
 
{{Fcfile|Motors.fcfx|Motors}}
 
{{Fcfile|Motors.fcfx|Motors}}
  
==Downloadable macro reference==
 
  
 +
 +
 +
 +
 +
 +
 +
 +
 +
 +
==Macro reference==
 +
 +
===Break===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Coast'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Break'''
 
|-
 
|-
| colspan="2" | Turn off power to the motor by setting the pins according to the 'Coast Pattern' property. 
+
| colspan="2" | Actively drives both ends of the motor by setting the pins according to the 'Brake Pattern' property. 
 
|-
 
|-
 
|-
 
|-
Line 60: Line 101:
  
  
 +
===Coast===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Break'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Coast'''
 
|-
 
|-
| colspan="2" | Actively drives both ends of the motor by setting the pins according to the 'Brake Pattern' property. 
+
| colspan="2" | Turn off power to the motor by setting the pins according to the 'Coast Pattern' property. 
 
|-
 
|-
 
|-
 
|-
Line 73: Line 115:
  
  
 +
===Disable===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 86: Line 129:
  
  
 +
===Enable===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forwards'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Enable'''
 
|-
 
|-
| colspan="2" | Set the motor turning in the forwards direction by setting the pins according to the 'Reverse Pattern' property. 
+
| colspan="2" | Enables the motor output 
 
|-
 
|-
|-
 
| 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 104: Line 143:
  
  
 +
===Forwards===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Enable'''
+
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Forwards'''
 +
|-
 +
| colspan="2" | Set the motor turning in the forwards direction by setting the pins according to the 'Reverse Pattern' property. 
 +
|-
 
|-
 
|-
| colspan="2" | Enables the motor output 
+
| 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 117: Line 162:
  
  
 +
===Reverse===
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
|-
 
|-
Line 133: Line 179:
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
| width="90%" style="border-top: 2px solid #000;" | ''Return''
 
|}
 
|}
 
 
  
  
Line 143: Line 187:
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
 +
|-
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Control Type
 
|-
 
|-
 
|-
 
|-
Line 160: Line 208:
 
| colspan="2" | Decides how the motor outputs are enabled. 
 
| colspan="2" | Decides how the motor outputs are enabled. 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" | Channel
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Connections
 
|-
 
|-
| colspan="2" | PWM Channel selector 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Alt Pin Enable
 
|-
 
| colspan="2" | Alternative Pin Enable (if available on target device) 
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Port
+
| width="90%" | PinA
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | First control pin - set 'pattern' properties below to set the pin's function. 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Remap Pin
 
|-
 
| colspan="2" |  
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
| width="90%" | Period Register
 
|-
 
| colspan="2" | PWM Period Register value 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Prescaler Divide
 
|-
 
| colspan="2" | Prescaler Divider value 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | PWM Timer
 
|-
 
| colspan="2" | Timer associated with PWM to drive the output. Warning - All PWM channels linked to the same timer will share the same period and prescaler settings. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Frequency (KHz)
 
|-
 
| colspan="2" |  
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
| width="90%" | Direction Pin
+
| width="90%" | PinB
 
|-
 
|-
| colspan="2" |  
+
| colspan="2" | Second control pin - set 'pattern' properties below to set the pin's function. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Channel
+
| width="90%" | Forwards Pattern
 
|-
 
|-
| colspan="2" | PWM Channel selector 
+
| colspan="2" | The state of pins A and B required to drive the motor in a forwards direction. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Polarity
+
| width="90%" | Reverse Pattern
 
|-
 
|-
| colspan="2" | Selects the active output voltage.  Active high - Pins will be low when inactive and high when active. Active Low- Pins will be high when inactive and low when active. 
+
| colspan="2" | States of pins A and B required to drive the motor in a reverse direction. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Timer
+
| width="90%" | Coast Pattern
 
|-
 
|-
| colspan="2" | Timer associated with PWM to drive the output.  Warning - All PWM channels linked to the same timer will share the same period and prescaler settings. 
+
| colspan="2" | States of pins A and B required to stop the motor. 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
| width="90%" | Prescaler Divide
+
| width="90%" | Brake Pattern
 
|-
 
|-
| colspan="2" | Prescaler Divider value 
+
| colspan="2" | States of pins A and B required to stop the motor. 
|-
 
| width="10%" align="center" | [[File:Fc9-type-14-icon.png]]
 
| width="90%" | Period Register
 
|-
 
| colspan="2" | PWM Period Register value 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | A Pin
 
|-
 
| colspan="2" | Output Pin A 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | B Pin
 
|-
 
| colspan="2" | Output Pin B 
 
 
|-
 
|-
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
+
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
| width="90%" | C Pin
+
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation Settings
 
|-
 
|-
| colspan="2" | Output Pin C 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | D Pin
 
|-
 
| colspan="2" | Output Pin D 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | A Remap Pin
 
|-
 
| colspan="2" | Remap Pin A - Specifies the pin used for the A output.  Only available on devices supporting remappable hardware pins. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | B Remap Pin
 
|-
 
| colspan="2" | Remap Pin B - Specifies the pin used for the B output.  Only available on devices supporting remappable hardware pins. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | C Remap Pin
 
|-
 
| colspan="2" | Remap Pin C - Specifies the pin used for the C output.  Only available on devices supporting remappable hardware pins. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | D Remap Pin
 
|-
 
| colspan="2" | Remap Pin D - Specifies the pin used for the D output.  Only available on devices supporting remappable hardware pins. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="90%" | Frequency (KHz)
 
|-
 
| colspan="2" | Calculated PWM output frequency in KHz. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Rising Bits
 
|-
 
| colspan="2" | Number of bits assigned to the rising edge dead band counter. Auto populated based on selected target chip. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Falling Bits
 
|-
 
| colspan="2" | Number of bits assigned to the falling edge dead band counter. Auto populated based on selected target chip. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Rising Count
 
|-
 
| colspan="2" | Number of cycles to wait after a falling edge and before a rising edge. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
 
| width="90%" | Falling Count
 
|-
 
| colspan="2" | Number of cycles to wait after a rising edge and before a falling edge. 
 
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-15-icon.png]]
Line 319: Line 270:
 
|-
 
|-
 
| colspan="2" | Which way the motor will rotate when the 'forwards' command is sent. 
 
| colspan="2" | Which way the motor will rotate when the 'forwards' command is sent. 
 +
|-
 +
| width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
 +
| width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Linkage
 +
|-
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]]
 
| width="10%" align="center" | [[File:Fc9-type-17-icon.png]]
Line 324: Line 279:
 
|-
 
|-
 
| colspan="2" | An object or group to link the motor to - the object will move along with the motor. 
 
| colspan="2" | An object or group to link the motor to - the object will move along with the motor. 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Connections'''
 
|-
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
 
| width="90%" | PinA
 
|-
 
| colspan="2" | First control pin - set 'pattern' properties below to set the pin's function. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Forwards Pattern
 
|-
 
| colspan="2" | The state of pins A and B required to drive the motor in a forwards direction. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Reverse Pattern
 
|-
 
| colspan="2" | States of pins A and B required to drive the motor in a reverse direction. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Coast Pattern
 
|-
 
| colspan="2" | States of pins A and B required to stop the motor. 
 
|-
 
| width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
 
| width="90%" | Brake Pattern
 
|-
 
| colspan="2" | States of pins A and B required to stop the motor. 
 
|-
 
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-conn-icon.png]]
 
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Simulations'''
 
|-
 
 
|}
 
|}

Latest revision as of 13:12, 7 February 2023

Author Matrix Ltd.
Version 1.2
Category


DC Motor component

DC Motor that can be driven in one or both directions using digital output pins, PWM or HBRIDGE peripherals.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_Motor_with_reverse.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_Motor_with_reverse.fcfx

Detailed description

No detailed description exists yet for this component

Examples

Simple example showing how to drive the motor components and how to create sub assemblies attached to the motor output shafts in the simulation panels. FC6 Icon.png Motors






Macro reference

Break

Fc9-comp-macro.png Break
Actively drives both ends of the motor by setting the pins according to the 'Brake Pattern' property. 
Fc9-void-icon.png - VOID Return


Coast

Fc9-comp-macro.png Coast
Turn off power to the motor by setting the pins according to the 'Coast Pattern' property. 
Fc9-void-icon.png - VOID Return


Disable

Fc9-comp-macro.png Disable
Disable the motor output 
Fc9-void-icon.png - VOID Return


Enable

Fc9-comp-macro.png Enable
Enables the motor output 
Fc9-void-icon.png - VOID Return


Forwards

Fc9-comp-macro.png Forwards
Set the motor turning in the forwards direction by setting the pins according to the 'Reverse Pattern' property. 
Fc9-u16-icon.png - UINT Duty
Sets the motor power for PWM or H-Bridge outputs 
Fc9-void-icon.png - VOID Return


Reverse

Fc9-comp-macro.png Reverse
Set the motor turning in the reverse direction by setting the pins according to the 'Reverse Pattern' property. 
Fc9-u16-icon.png - UINT Duty
Sets the motor power for PWM or H-Bridge outputs 
Fc9-void-icon.png - VOID Return


Property reference

Fc9-prop-icon.png Properties
Fc9-conn-icon.png Control Type
Fc9-type-16-icon.png Control Method
Controls how the motor is controlled. On/Off requires output pins PWM requires a hardware PWM channel H-Bridge requires a hardware H-Bridge channel 
Fc9-type-16-icon.png Bridge Type
 
Fc9-type-16-icon.png Enable Method
Decides how the motor outputs are enabled. 
Fc9-conn-icon.png Connections
Fc9-type-5-icon.png PinA
First control pin - set 'pattern' properties below to set the pin's function. 
Fc9-type-5-icon.png PinB
Second control pin - set 'pattern' properties below to set the pin's function. 
Fc9-type-16-icon.png Forwards Pattern
The state of pins A and B required to drive the motor in a forwards direction. 
Fc9-type-16-icon.png Reverse Pattern
States of pins A and B required to drive the motor in a reverse direction. 
Fc9-type-16-icon.png Coast Pattern
States of pins A and B required to stop the motor. 
Fc9-type-16-icon.png Brake Pattern
States of pins A and B required to stop the motor. 
Fc9-conn-icon.png Simulation Settings
Fc9-type-15-icon.png Speed
Speed of the motor when turned on. Positive speed -> Counter-clockwsie Negative speed -> Clockwise  
Fc9-type-15-icon.png Acceleration
Speed change per second when the motor us powered. Set to zero for instantaneous speed changes.  
Fc9-type-15-icon.png Deceleration
Speed change per second when the motor is coasting with no power. Set to zero for instantaneous speed changes. 
Fc9-type-7-icon.png Show Actuator
When active, an actuator is shown on the motor spindle to make the animation easier to observe. 
Fc9-type-16-icon.png Forwards Direction
Which way the motor will rotate when the 'forwards' command is sent. 
Fc9-conn-icon.png Linkage
Fc9-type-17-icon.png Target Object
An object or group to link the motor to - the object will move along with the motor.