Application Notes for Technosoft Intelligent Drives

Technosoft Intelligent Servo Drives are programmable using the EasyMotion Studio software platform – an advanced tool for the configuration, setup, testing and tuning, and motion programming of the drives. Its advanced, object-oriented structure includes automatic Technosoft Motion Language (TML) code generation, allowing you to configure your motion application at a high level.

The huge potential offered by the TML environment at both configuration and motion programming levels results in a wide range of possibilities and available options for the user. The embedded PLC features of the drives, besides the motion-specific ones, offer a lot of possibilities if you want to make the most of the complete functionality of the drive.

Based on these considerations, a collection of application notes are provided below, explaining the basic problem, its aspects and specific implementation features, complete hook-up schematics, and a working EasyMotion Studio project application. Starting from basic, simple cases, the examples go on to quite complex ones, in order to provide you with a really useful tool for both beginners and advanced users of Technosoft Intelligent Drives.

On a regular basis, considering users’ suggestions and specific new application examples, the list of these applications is continuously updated and improved, also keeping the pace with the most recent upgrades of the EasyMotion Studio software.

Start  modes description

This application note describes the available start modes required at power-on or reset to enable the vector control (field-oriented control) operation of the drive. These procedures are essential for aligning the magnetic fields in the motor. Without them, the system cannot determine the actual position of the rotor field relative to the stator field.

Download Start modes description

Predefined homing methods

Homing modes are specialized functions used to align an axis with a known position. This is essential in applications where motion is restricted and there is no absolute position sensor.

This application note provides an overview of the predefined homing modes in Easy Motion Studio II and demonstrates how to home the axis to a limit switch using homing method 18 – “Homing to the Positive Limit Switch.”

Download Predefined homing methods

Custom homing modes implementation

This application note outlines the steps to implement a custom homing routine that positions the load at the center of the working area.

Download Custom homing modes implementation

Drive special inputs – Limit switches

This application note describes the default functionality of limit switch inputs and explains how to disable it to use the respective digital inputs as general-purpose inputs.

The document also details how to restrict load movement using the software limit switches option.

Download Drive special inputs – Limit switches

Drive special inputs – ENABLE

The Enable input allows connecting an emergency signal that can come from the master or simply from an emergency button.

When the Enable input becomes “inactive”, the drive performs the following actions:

  • deactivates the PWM outputs
  • sets the bit 15 (“Enable is inactive”) in the MER (Motion Error Register) error register
  • generates the “int0 – Enable input has changed” TML interrupt

Remark: With the PWM outputs being deactivated, the motor will not be energized anymore, so it will stop freely, becoming fully dependent on the load inertia and system friction.

When the Enable input changes back to “active”, the MER.15 bit is reset but the PWM outputs remain deactivated, with one exception: when the drive was executing an electronic gearing profile.

The “int0 – Enable input has changed” interrupt is triggered when the Enable input becomes active.

This application note presents an example on how to restore a predefined motion cycle (stored at the drive level), when the Enable input is reactivated.

Download Drive special inputs – Enable

Motion start/stop using two digital inputs

This application note describes how to use two digital inputs (IN0 and IN1), to start/stop the motion profile.

Download Motion start/stop using two digital inputs

TML loop with motion profiles and events

This application note outlines the procedure for constructing a loop utilizing a label and the “GOTO” TML instruction. For illustrative purposes, this loop incorporates two motion profiles, each triggered by distinct time events.

Download Motion start/stop using two digital inputs

How to call a TML function from a master

This application note describes how to create a TML function with EasyMotion Studio II and call it from an RS232, a CANopen or an EtherCAT master.

Download How to call a TML function from a master

TML interrupt routines usage

This application note describes how to activate and customize the TML interrupt services routines, using an example that sets the “Int 10 – Time period has elapsed” interrupt, to flash a LED, connected to one of the drive digital outputs.

The TML interrupts are special conditions that are continuously monitored by the drive firmware. When a TML interrupt occurs, the main TML program execution is suspended and the TML code associated with the interrupt, called Interrupt Service Routine (in short ISR), is executed. While an interrupt is active (meaning the ISR code is being executed), all the TML interrupts are globally disabled.

That is why, it is recommended to put in the ISR (Interrupt Status Register) only the minimum needed code. If this is not possible, then other interrupts can be re-enabled using the “Interrupts Settings” dialogue (will be presented in chapter 3).

Download TML interrupt services routines usage

Changing the current limit at runtime

This application note describes different methods of changing the current limit (in the case of the DC brushed and brushless motors and for the closed loop driving of stepper motors) and the run current (in the case of constant current drive used in open-loop stepper motors). These parameters may be changed during setup or at runtime through the command interpreter window or using a TML function (ex: Set 16-Bit Variable).

The current limit is a user-definable parameter representing the maximum allowed current reference used by the drive to control the motor. Considering its purpose, it should be set higher than the motor nominal current, to allow high dynamic movements, but slightly lower than the motor/drive peak current to prevent possible damage.

The run current represents the constant current value used to drive open-loop stepper motors. Its value is usually set equal to the motor’s nominal current.

Download Changing the current limit at runtime

How to restore the operation after a fault

This application presents an example on how to restore the application operation after the drive enters a fault state. The idea behind the default operation of the drive is that in case of an error the user intervention is required (to determine the reason for the error and to take the corrective actions needed to prevent it from happening again).

Default behavior in case of an error:

  • Switch off green LED
  • Switch on red LED
  • Disable the power stage by cutting the PWM outputs and suspend the controllers / trajectory generation
  • Aborts any ongoing special calls / functions / homing and terminate the execution of the TML program.

Proposed recovery sequence:

  • Switch off the green LED
  • Switch on the red LED
  • Cutoff drive PWM outputs
  • Wait until the error condition disappears
  • Program the motor to hold its current position
  • Re-activate the drive PWM outputs
  • Switch off the red LED and switch on the green LED
  • Resume the main program and process the commands received from the master.

The application uses the software protection interrupt, which monitors the following software protections:

  • Over current;
  • Over temperature – drive (if available);
  • Over temperature – motor (if available);
  • I2t drive;
  • I2t motor;
  • Over voltage;
  • Under voltage;
  • Encoder broken wire (when incremental encoder is used and digital hall sensors are also present);

The easiest way to evaluate this application is to create an over-voltage condition thus having the drive enter the fault state. This can be done by decreasing the over-voltage protection threshold value under the supply voltage value. The parameter that stores the over voltage protection threshold value is called “UMAXPROT”. We can then notice the drive behaviour and by returning UMAXPROT to its initial value, we can see the actual error recovery taking place.

Download How to restore the operation after a fault