• No results found

Vector Control for Permanent Magnet Synchronous Motor with Encoder (Implementation)

N/A
N/A
Protected

Academic year: 2021

Share "Vector Control for Permanent Magnet Synchronous Motor with Encoder (Implementation)"

Copied!
33
0
0

Loading.... (view fulltext now)

Full text

(1)

Vector Control for Permanent Magnet Synchronous Motor with

Encoder (Implementation)

RA6T1

Introduction

This application note aims at explaining vector control software for a permanent magnet synchronous motor with an encoder. The explanation includes, how to use the library of ‘Renesas Motor Workbench’ tool, which is a support tool for motor control development.

The target sample software of this application note is only to be used as reference and Renesas Electronics Corporation does not guarantee the operations. Please use them after carrying out a thorough evaluation in a suitable environment.

Target Device

Operation of the sample programs have been verified by using the following device. • RA6T1 (R7FA6T1AD3CFP)

Related Documents

• RA6T1 Group User’s Manual: Hardware (R01UH0897) • RA Flexible Software Package Documentation

• Application note: ‘Vector control for permanent magnet synchronous motor with encoder (Algorithm)’ (R01AN3789)

• Renesas Motor Workbench User’s Manual (R21UZ0004)

(2)

R01AN5923EJ0100 Rev.1.00 Page 2 of 31 Jun 29, 2021

Contents

1.

Overview ... 4

2.

System overview ... 5

2.1 Hardware configuration ... 5 2.2 Hardware specifications ... 6 2.2.1 User interface ... 6 2.2.2 Peripheral functions ... 7 2.2.3 A/D Converter ... 7 2.2.4 Modulation ... 9 2.2.5 Startup Method ... 11

2.2.6 Position Profile Generation ... 12

(Position Profile of Trapezoidal Curve for Speed Command Value) ... 12

2.2.7 Speed Measurement ... 13

2.2.8 System protection function ... 14

2.3 Software structure ... 15

2.3.1 Directory/File Structure ... 15

2.4 Software specifications ... 16

3.

Sample Application ... 17

3.1 Operating Environment ... 17

3.2 Importing the Demo Project ... 17

3.3 Building and Debugging ... 18

3.4 Motor Demonstration Project Overview... 19

3.4.1 Quick Start ... 19

3.4.2 Renesas Motor Workbench ... 19

4.

Motor control Module Detail ... 24

4.1 Contents of control ... 24

4.1.1 Configuration Options ... 24

4.1.2 Configuration Options for included modules ... 24

4.2 System Block ... 28

4.3 Stacks ... 28

4.3.1 Stack diagram... 28

4.3.2 Data flow between modules ... 29

Website and Support ... 30

Revision History ... 31

General Precautions in the Handling of Microprocessing Unit and Microcontroller Unit Products .... 1

(3)
(4)

R01AN5923EJ0100 Rev.1.00 Page 4 of 31 Jun 29, 2021

1. Overview

This application note explains how to implement the vector control sample programs of permanent magnetic synchronous motor (PMSM)*1 with an encoder using the RA6T1 microcontroller and how to use the motor

control development support tool, ‘Renesas Motor Workbench’. Note that this sample program uses the algorithm described in the application note ‘Vector control of permanent magnetic synchronous motor with encoder (Algorithm).

(5)

2. System overview

Overview of this system is explained below.

2.1 Hardware configuration

The hardware configuration is shown below.

A/D converter input

Bus voltage

Rotation speed command

PWM output

Over current detection

Power supply circuit

Switch input

Motor rotation start/stop Error reset

LED output

Over current detection input

Inverter circuit Phase current

detection Phase current Encoder input RA6T1 Vdc GND Input DC24V VR1 SW1 SW2 LED1 LED2 Up Vp Wp Vn Un Wn OC Vw Vv Vu Iu Iw P302 P301 P014 / AN005 P502 / AN017 P408 P407 P415 / GTIOC0A(Up) P503 / GTETRGC PMSM P000 / AN000 IU_AIN P002 / AN002 IW_AIN P107 / GTIOC8A U p o rt W p o rt V p o rt H U p o rt H W p o rt H V p o rt G N D p o rt Vcc p o rt ENC _ Z port ENC _ A po rt ENC _ B port G N D p o rt Vcc p o rt P106 / GTIOC8B P113 / GTIOC2A(Vp) P111 / GTIOC3A(Wp) P414 / GTIOC0B(Un) P114 / GTIOC2A(Vn) P112 / GTIOC3A(Wn) P207 LED3

(6)

R01AN5923EJ0100 Rev.1.00 Page 6 of 31 Jun 29, 2021

2.2 Hardware specifications

2.2.1 User interface

Table 2-1 is a list of user interfaces of this system. Table 2-1 User Interface

Item Interface component Function

Rotation speed Variable resistance (VR1) Rotation speed command value input (analog values)

ON / OFF Toggle switch (SW1) Motor rotation start/stop command

ERROR RESET Push switch (SW2) Command of recovery from error status

LED1 Orange LED • At the time of Motor rotation: ON

• At the time of stop: OFF

LED2 Orange LED • At the time of error detection: ON

• At the time of normal operation: OFF

LED3 Orange LED • Complete of positioning: ON

• Incomplete of positioning: OFF

RESET Push switch (SW1 on CPU

card)

System reset

Table 2-2 is a list of port interfaces of RA6T1 microcontroller of this system. Table 2-2 Port Interface

R7FA6T1AD3CFP Port name Function

P014 / AN005 Inverter bus voltage measurement

P502 / AN017 For inputting rotation speed/position command values (analog values)

P302 START/STOP toggle switch

P301 ERROR RESET push switch

P408 LED1 ON/OFF control

P407 LED2 ON/OFF control

P207 LED3 ON/OFF control

P000 / AN000 U phase current measurement

P002 / AN002 W phase current measurement

P415 / GTIOC0A PWM output (Up) / Low Active

P113 / GTIOC2A PWM output (Vp) / Low Active

P111 / GTIOC3A PWM output (Wp) / Low Active

P414 / GTIOC0B PWM output (Un) / High Active

P114 / GTIOC2B PWM output (Vn) / High Active

P112 / GTIOC3B PWM output (Wn) / High Active

P503 / GTETRGC PWM emergency stop input at the time of overcurrent detection

P107 / GTIOC8A Encoder A Phase input

(7)

2.2.2 Peripheral functions

Table 2-3 is a list of peripheral functions used in this system.

Table 2-3 Peripheral Functions List

Peripheral Purpose

12-bit A/D Converter

 Measure electric current of each phase U and W  Measure inverter bus voltage

 Rotational speed or position command input

AGT 500 [µs] interval timer

GPT

 Complementary PWM output  Encoder phase counter  Encoder count capture

POEG Sets ports executing PWM output to high impedance state when an

overcurrent is detected by external circuit. (1) 12-bit A/D converter

U phase current (Iu), W phase current (Iw), inverter bus voltage (Vdc) and rotation speed or position reference are measured by using the single scan mode (use hardware trigger). The sample-and-hold function is used for U phase current (Iu) and W phase current (Iw) measurement.

(2) Asynchronous General-Purpose Timer (AGT) 500 [µs] interval timer

The channel 0 of the AGT is used as 500 [µs] interval timer for speed and position control loop. (3) General Purpose Timer (GPT)

On the channel 0, 2 and 3, output with dead time is performed by using the complementary PWM Output Operating Mode.

(4) Phase Counting Timer (GPT)

Channel 8 is used as phase counting mode2 to measure the phase difference between encoder phase A and B signal and counts the encoder input.

(5) Port Output Enable for GPT (POE)

The ports executing PWM output are set to high impedance state when an overcurrent is detected by the external circuit (when a falling edge of the GTETRGC port is detected) or when an output short circuit is detected.

2.2.3 A/D Converter

(1) Motor rotation speed or position command value

The motor rotation speed or position command value is set by Analyzer or A/D conversion value to

measured voltage set by VR1 (analog value). The A/D converted value is used as rotation speed or position command value, as shown below.

Table 2-4 Conversion Ratio of the Rotation Speed or Position Command Value

(8)

R01AN5923EJ0100 Rev.1.00 Page 8 of 31 Jun 29, 2021

(2) Inverter bus voltage

Measured voltage is used for modulation factor calculation and over or low voltage detection. (When an abnormality is detected, PWM is stopped.)

Table 2-5 Inverter Bus Voltage Conversion Ratio Item

Conversion ratio

(Inverter bus voltage: A/D conversion value) Channel

Inverter bus voltage 0 [V] to 111 [V]: 0000H to 0FFFH AN005

(3) U, W phase current

The U and W phase currents are measured as shown in Table 2-6 and used for vector control. Table 2-6 Conversion Ratio of U and W Phase Current

Item

Conversion ratio

(U and W phase current: A/D conversion value) Channel

U, W phase current -13.75 [A] to 13.75 [A]: 0000H to 0FFFH *1 Iu: AN000

Iw: AN002 Note: 1. For more details of A/D conversion characteristics, please refer to RA6T1 Group User’s Manual:

(9)

2.2.4 Modulation

The target software of this application note uses pulse width modulation (hereinafter called PWM) to generate the input voltage to the motor. And the PWM waveform is generated by the triangular wave comparison method. U V W

ωt

ωt

ωt

ωt

Modulation wave: command voltage Carrier wave (triangular wave): PWM timer count

U phase switching waveform

V phase switching waveform

Voltage between U – V lines (U phase waveform) ー

(V phase waveform)

(10)

R01AN5923EJ0100 Rev.1.00 Page 10 of 31 Jun 29, 2021

As shown in Figure 2-3, ratio of the output voltage pulse to the carrier wave cycle is called duty.

Average voltage t V TON TOFF TON + TOFF TON Duty = × 100 [%]

Figure 2-3 Definition of PWM Duty

Here, modulation factor m is defined as follows.

E

V

m =

(11)

2.2.5 Startup Method

Figure 2-4 and Figure 2-5 show the software implementation of d-axis and encoder alignment method. The d-axis alignment method used as startup control of position control method, in initialization mode

(MTR_MODE_INIT) and Boot mode (MTR_MODE_BOOT). In drive mode (MTR_MODE_DRIVE) vector control is implemented for PMSM with Encoder. Each reference value setting of d-axis current, q-axis current and speed is managed by respective status..

MOTOR_SPEED_ID_CONST Id reference[A] Iq reference[A] Speed reference [rpm] com_f4_ref_id MOTOR_SPEED_ID_ZERO_CONST Id=0 control MOTOR_SENSE_ENCODER_MODE_BOOT RUN MODE Id reference status speed PI output 0 0 0 Iq reference status

Speed reference status

MOTOR_SENSE_ENCOD ER_MODE_INIT MOTOR_SPEED_ID_UP MOTOR_SPEED_ID_ZERO_CONST MOTOR_SPEED_IQ_ZERO_CONST MOTOR_SPEED_SPEED_ZERO_CONST MOTOR_SPEED_IQ_SPEED_PI_OUTPUT MOTOR_SPEED_POSITION_CONTROL MOTOR_SENSE_ENCODER_MODE_DRIVE MOTOR_SPEED_ID_CONST MOTOR_SPEED_ID_UP MOTOR_POSITION_CTRL_MODE_CONSTANT

Position reference status MOTOR_POSITION_CTRL_MODE_TRAPEZOID

Position reference [degree] 0 com_s2_ref_position_deg [s] [s] [s] [s]

Figure 2-4 Startup Position Control of Vector Control PMSM with Encoder Software

MOTOR_SPEED_ID_C ONST Id reference[A] Iq reference[A] Speed reference [rpm] com_f4_ref_id MOTOR_SPEED_ID_ZERO_CONST z Id=0 control MOTOR_SENSE_ENCODER_MODE_BOOT RUN MODE Id reference status speed PI output 0 0 0 Iq reference status

Speed reference status

MOTOR_SENSE_ENCOD ER_MODE_INIT MOTOR_SPEED_I D_UP MOTOR_SPEED_ID_ZERO_ CONST MOTOR_SPEED_IQ_ZERO_CONST MOTOR_SPEED_SPEED_ZERO_CONST MOTOR_SPEED_IQ_SPEED_PI_OUTPUT MOTOR_SPEED_SPEED_CHANGE MOTOR_SENSE_ENCODER_MODE_DRIVE MOTOR_SPEED_ID_C ONST MOTOR_SPEED_ ID_UP [s] [s] [s] com_s2_ref_speed_rpm

(12)

R01AN5923EJ0100 Rev.1.00 Page 12 of 31 Jun 29, 2021

2.2.6 Position Profile Generation

(Position Profile of Trapezoidal Curve for Speed Command Value)

In vector control software for PMSM with encoder, the position profile generation is used to create command value (input position value). The implementation of command value is each control cycle is used as method of managing acceleration and the maximum speed value with respect to target position value.

Figure 2-6 Position Profile Generation Enter the following variables from the Analyzer to create a command value.

 Acceleration time (com_f4_accel_time)

 Maximum speed command value (com_f4_max_speed_rpm)  Position stabilization wait time (com_u2_ref_pos_interval_time)

u1_state_pos_pf u1_pos_ref_mode Time[s] Time[s] Speed Position Constant Speed com_s2_max_speed_rpm com_u2_ref_pos_interval_time MOTOR_POSITION_CTRL_TRIANGLE MOTOR_POSITION_CTRL_TRAPEZOIDAL

MOTOR_POSITION_CTRL_TRIANGLE :f4_accel_max_speed * f4_accel_time >= f4_pos_dt_rad MOTOR_POSITION_CTRL_TRAPEZOIDAL :f4_accel_max_speed * f4_accel_time < f4_pos_dt_rad

(13)

2.2.7 Speed Measurement

In order to obtain better real-time performance and higher speed resolution at low speed, this system use encoder signal edge interval to calculate speed, the speed extrapolation is used in PI control calculation. In addition, taking the difference between rise time and fall time and the accuracy of quadrature of encoder signal into consideration, the speed is calculated with time elapsed and angle changed in one period of encoder Phase-A or Phase-B signals.

2π/Pulses per Rotation

Timer Counter Capture Capture Counter Difference Phase-A Encoder Signal Phase-B Encoder Signal

2π/Pulses per Rotation

Capture Capture

Capture Capture

Capture

Motor Rotation Speed[rad/s] = (

Count Per Rotation

) / (

Counter Difference

Timer Clock Frequency

)

(14)

R01AN5923EJ0100 Rev.1.00 Page 14 of 31 Jun 29, 2021

2.2.8 System protection function

This control software has the following error status and executes emergency stop functions in case of occurrence of respective errors. Table 2-7 shows each setting value for the system protection function. • Overcurrent error

The over-current detection is performed through both hardware detection method and software detection method. In response to over-current detection, an emergency stop signal is generated by the hardware (hardware detection). When the emergency stop signal is generated, the PWM output ports are set to high impedance state.

In addition, U, V, and W phase currents are monitored in every over-current monitoring cycle. When an over-current is detected, the CPU executes emergency stop (software detection).

• Overvoltage error

The inverter bus voltage is monitored in every over-voltage monitoring cycle. When an over-voltage is detected, the CPU performs emergency stop. Here, the over-voltage limit value is set in consideration of the error of resistance value of the detect circuit.

• Low voltage error

The inverter bus voltage is monitored in every low-voltage monitoring cycle. The CPU performs

emergency stop when low voltage is detected. Here, the low-voltage limit value is set in consideration of the error of resistance value of the detect circuit.

• Over speed error

The rotation speed is monitored in every rotation speed monitoring cycle. The CPU performs emergency stop when the speed is over the limit value.

Table 2-7 Setting Value of Each System Protection Function

Overcurrent error Over current limit [A] 3.82

Monitoring cycle [s] 50

Overvoltage error Overvoltage limit [V] 28

Monitoring cycle [s] 50

Low voltage error Low voltage limit [V] 14

Monitoring cycle [s] 50

Over-speed error Speed limit [rpm] 2100

(15)

2.3 Software structure

2.3.1 Directory/File Structure

Table 2-8 shows the directory/file structure of the software operating the Motor control module.

Table 2-8 Directory/File Structure

Directory Structure Files

ra fsp inc api rm_motor_angle_api

(16)

R01AN5923EJ0100 Rev.1.00 Page 16 of 31 Jun 29, 2021

2.4 Software specifications

Table 2-9 shows the basic specifications of target software of this application note. For details of encoder vector control, refer to the application note ‘Vector control with permanent magnetic synchronous motor with Encoder : algorithm’.

Table 2-9 Basic Specifications of Software

Item Content

Control method Vector Control

Position detection method Incremental encoder (A-B Phase)

Motor rotation start/stop Determined depending on the level of SW1 (‘Low’: rotation start, ‘High’: stop) or input from Renesas Motor Workbench.

Input voltage DC24 [V]

Carrier frequency (PWM) 20 [kHz]

Dead time 2[µs]

Control cycle • Current control : 50 [μs]

• Speed control : 500 [µs] Rotation speed control

range

CW: 0 [rpm] to 2000 [rpm] CCW: 0 [rpm] to 2000 [rpm]

Position control range At board_ui Position command generation: Voltage input divided

by VR1 (input range) -180° to 180°

At ics_ui Position command generation: Position profile of

trapezoidal curve for speed command value (input range) -32768° to 32767°

(Max speed) CW / CCW: 2000[rpm]

Dead band of position* Encoder count ±1 [cpr] (±0.3degree)

Natural frequency of each control system

Current control system : 300 Hz Speed control system : 30 Hz Position control system : 10 Hz Processing stop for

protection

• Disables the motor control signal output (six outputs), under any of the following conditions.

1. Current of each phase exceeds 3.82 [A] (monitored every 50 [μs]) 2. Inverter bus voltage exceeds 28 V (monitored per 50 [μs]) 3. Inverter bus voltage is less than 14 V (monitored per 50 [μs]) 4. Rotation speed exceeds 2100 rpm (monitored per 50 [μs])

• The ports executing PWM output are set to high impedance state when an

overcurrent is detected (when a falling edge of the GTETRGC port is detected) and when an output short circuit is detected.

(17)

3. Sample Application

3.1 Operating Environment

Table 3-1 shows the hardware requirements for building and debugging Motor control software. Table 3-1 Hardware Requirements

Hardware Description

Inverter Board RA6T1-RSSK [RTK0EM0000B10020BJ]

CPU Card RA6T1 CPU Card [RTK0EMA170C00000BJ]

Motor Brushless DC Motor (FH6S20E-X81)

On-chip debugging Emulator The RA6T1 CPU Card has an on-board debugger (J-Link OB), so there is no need to prepare an emulator.

Table 3-2 shows the software requirements for build and debug Motor control software. Table 3-2 Software Requirements

Software Version Description

GCC environment

e2studio 2021-04 Integrated development environment (IDE) for Renesas

devices.

GCC ARM Embedded V9 C/C++ Compiler. (download from e2studio installer)

Renesas Flexible Software Package (FSP)

V3.1.0 Software package for writing applications for the RA microcontroller series.

3.2 Importing the Demo Project

The sample application provided with this document may be imported into e2studio using the steps in this

section.

1. Select File → Import.

(18)

R01AN5923EJ0100 Rev.1.00 Page 18 of 31 Jun 29, 2021

2. Select “Existing Projects into Workspace”.

Figure 3-2 Import Wizard Selection

3. Click “Browse…” button and select the demo project. Click Finish button and the demo project is imported.

Figure 3-3 Import Projects

3.3 Building and Debugging

(19)

3.4 Motor Demonstration Project Overview

3.4.1 Quick Start

Follow the below steps to execute the Quick Start Sample Project.

(1) After turning on power supply or executing reset, LED1 and LED2 on the inverter board are both off and the motor stops.

(2) IF the toggle switch (SW1) on the inverter board is turned on, the motor starts to rotate. Every time the toggle switch (SW1) is changed, motor rotation starts/stops alternately. If the motor rotates normally, LED1 on the inverter board is on. And when the position reaches the command position, LED3 is on. However, if LED2 on the inverter board is also on, error is occurring.

(3) In order to change the position of the motor rotation, adjust it with the variable resistor (VR1) on the inverter board.

・ Turn the variable resistor (VR1) right : the motor rotates clockwise ・ Turn the variable resistor (VR1) left : The motor rotates counterclockwise

(4) If error occurs, LED2 on the inverter board lighten, and the motor rotation stops. To restore, the toggle switch (SW1) on the inverter board needs to be turned off, the push switch (SW2) to be pushed and rereased

(5) In order to stop the operation check, turn off the output of the stabilized power supply after making sure that the motor rotation has already stopped

3.4.2 Renesas Motor Workbench

 Launch of RMW

‘Renesas Motor Workbench’ is support tool for development of motor control system. ‘Renesas Motor Workbench’ can be used with target software of this application note to analyze the control performance. The user interfaces of ‘Renesas Motor Workbench’ provide functions like rotating/stop command, setting rotation speed reference, etc... Please refer to ‘Renesas Motor Workbench User’s Manual’ for usage and more details. ‘Renesas Motor Workbench’ can be downloaded from Renesas Electronics Corporation website.

(20)

R01AN5923EJ0100 Rev.1.00 Page 20 of 31 Jun 29, 2021

 Set up for ‘Renesas Motor Workbench’

(1) Start ‘Renesas Motor Workbench’ by clicking icon.

(2) Click on [ File ] and select [Open RMT File(O)] from drop down Menu.

Select the RMT file(xxx.rmt) from following location of e2studio/CS+ project folder.

‘[Project Folder]/src/application/user_interface/ics/’

(3) Use the ‘Connection’ [COM] select menu to choose the COM port.

(4) Click on the ‘Analyzer’ icon of Select Tool panel to open Analyzer function window. (5) Please refer to ‘4.3 Operation Example for Analyzer’ for motor driving operation.  List of Variables for Analyzer function

Table 3-3 is a list of variables for Analyzer. These variables are reflected to the corresponding variables when the same value as of g_u1_enable_write is written to com_u1_enable_write. However, note that variables with (*) do not depend on com_u1_enable_write.

Table 3-3 List of Variables for Analyzer

Variable name Type Content

com_u1_sw_userif (*) uint8_t User interface switch

0: GUI use 1: Board user interface use (default)

com_u1_mode_system (*) uint8_t State management 0: Stop mode 1: Run mode 3: Reset

com_u1_ctrl_loop_mode uint8_t Control loop mode switch

0: Speed control 1: Position control (default)

com_f4_ref_speed_rpm float Speed reference (Mechanical) [rpm]

com_s2_ref_position_deg int16_t Position command value [degree]

com_u2_mtr_pp uint16_t Number of pole pairs

com_f4_mtr_r float Resistance [Ω]

com_f4_mtr_ld float d-axis Inductance [H]

com_f4_mtr_lq float q-axis Inductance [H]

com_f4_mtr_m float Flux [Wb]

com_f4_mtr_j float Inertia [kgm^2]

com_f4_current_omega float Natural frequency of current control system [Hz]

com_f4_current_zeta float Damping ratio of current control system

com_f4_speed_omega float Natural frequency of speed control system [Hz]

com_f4_speed_zeta float Damping ratio of speed control system

com_f4_pos_omega float Natural frequency of the position loop[Hz]

com_f4_sob_omega float Natural frequency of the speed observer [Hz]

com_f4_sob_zeta float Damping ratio of the speed observer

com_f4_ref_id float d-axis current reference in open loop mode [A]

com_f4_id_up_time float d-axis current command value addition time [ms]

com_f4_max_speed_rpm float Maximum speed

com_f4_speed_limit_rpm float Over speed limit

com_u2_pos_dead_band uint16_t Dead band of position

com_u2_pos_band_limit uint16_t Positioning complete range

com_u2_encd_cpr uint16_t Encoder pulse count (4 for multiplying)

com_u2_interval_time uint16_t Time interval of the position command changes

com_f4_accel_time float Acceleration time [s] (for position control)

com_f4_speed_rate_limit float Acceleration limit [s] (for speed control)

com_f4_overcurrent_limit float Over current limit

com_f4_iq_limit float q-axis current limit

(21)

 Operation Example for Analyzer

The section shows an example below for motor driving operation using Analyzer. Operation is using ‘Control Window’ of Analyzer. Regarding specification of ‘Control Window’, refer to ‘Renesas Motor Workbench User’s Manual’.

- Change the user interface to Analyzer

(1) Confirm the check-boxes of column [W?] for ‘com_u1_sw_userif’ marks. (2) Input ‘1’ in the [Write] box of ‘com_u1_sw_userif’.

(3) Click the ‘Write’ button.

- Driving the motor

(1) Confirm the check-boxes of column [W?] for ‘com_u1_mode_system’, ‘com_s2_ref_position_deg’, ‘com_u1_enable_write’ marks.

(2) Input a reference position value in the [Write] box of ‘com_s2_ref_position_deg’. (3) Click the ‘Write’ button.

(4) Click the ‘Read’ button. Confirm the [Read] box of ‘com_s2_ref_position_deg’, ‘g_u1_enable_write’. (5) Set a same value of ‘g_u1_enable_write’ in the [Write] box of ‘com_u1_enable_write’.

(6) Write ‘1’ in the [Write] box of ‘com_u1_mode_system’. (7) Click the ‘Write’ button.

Figure 3-5 Operation Example for Analyzer - Stop the motor

(1) Write ‘0’ in the [Write] box of ‘com_u1_mode_system’ (2) Click the ‘Write’ button.

- Error cancel operation

(22)

R01AN5923EJ0100 Rev.1.00 Page 22 of 31 Jun 29, 2021

 Operation Example for User Button

The section shows an example below for motor driving operation using User Button. These buttons are already set, if you use

src/application/user_interface/ics/RA6T1_MRSSK2_SPM_ENCD_FOC.rmt.

- Driving or Stop the motor in position control mode

By setting as shown in Figure 3-6, driving and stopping change each time the button is pressed.

Figure 3-6 Driving or Stop the Motor in position control mode

- Change position

By setting as shown in Figure 3-7, enter the command position and press the button to change the position.

Figure 3-7 Change position

(23)

- Driving or Stop the motor in speed control mode

By setting as shown in Figure 3-8, driving and stopping change each time the button is pressed.

Figure 3-8 Driving or Stop the Motor in speed control mode

- Change speed

By setting as shown in Figure 3-9, enter the command speed and press the button to change the speed.

(24)

R01AN5923EJ0100 Rev.1.00 Page 24 of 31 Jun 29, 2021

4. Motor control Module Detail

4.1 Contents of control

4.1.1 Configuration Options

The configuration options of the encoder vector control module for motor can be configured using the RA Configurator. The changed options are automatically reflected to the file “hal_data.c” when generating code. The option names and setting values are listed in the Table 4-1 Configuration Options shown as follows. Table 4-1 Configuration Options for motor_encoder module

Configuration Options (rm_motor_encoder.h)

Options Description

f_overcurrent_limit Default : 3.82F

When a phase current exceeds this value, PWM output ports are set to off. f_overvoltage_limit

Default : 28.0F

When an inverter voltage exceeds this value, PWM output ports are set to off.

f_overspeed_limit Default : 2100.0F

When a rotation speed exceeds this value, PWM output ports are set to off. f_lowvoltage_limit

Default : 14.0F

When an inverter voltage becomes below this value, PWM output ports are set to off.

4.1.2 Configuration Options for included modules

The encoder vector control module for motor includes below modules.  Current Module

 Speed Module  Position Module  Angle Module  Driver Module

And also these included modules have each configuration parameters as same as the encoder vector control module. The option names and setting values are listed in the tables shown as follows.

Table 4-2 Configuration Options for Current Control [1/2] Configuration Options (rm_motor_current.h)

Options Description

u1_control_type Default:ENCODER

Select angle detection method. Please select “ENCODER”. u1_sample_delay_comp_enable

Default:Enable

Select the effectiveness of sample delay compensation process. vcomp_enable

Default: Enable

Select the effectiveness of voltage error compensation process. mtr_param.u2_mtr_pp

Default : 2U

Pole pairs of target motor. Please change to “7U”. mtr_param.f4_mtr_r

Default : 8.5F

(25)

Table 4-3 Configuration Options for Current Control [2/2] Configuration Options (rm_motor_current.h)

Options Description

d_param.f_current_omega Default : 300.0F

Current PI control omega parameter. d_param.f_zeta

Default : 1.0F

Current PI control zeta parameter.

Table 4-4 Configuration Options for Speed Control [1/2] Configuration Options (rm_motor_speed.h)

Options Description

f_speed_ctrl_period Default : 0.0005F

The period of speed control process [sec]. f_limit_speed_change

Default : 0.5F

The step of speed fluctuation [rpm]. Program controls speed by this step at acceleration and deceleration.

f_max_speed_rad Default : 2000.0F

Maximum speed [rad/s] The calculation to translate rpm to radian/second is performed internally. Therefore, user input “rpm” value simply.

f_omega_t Default : 10.0F

Speed LPF parameter omega. f_id_up_speed_rad

Default : 500.0F

The threshold speed to control d-axis current increase [rad/s]. Program increases d-axis current at start up the motor rotation until the speed reaches this value.

f_iq_limit Default : 0.42F

Limit of q-axis current [A]. Please change to “3.1177F”. f_ol_fb_speed_limit_rate

Default : 0.2F

Rate of reference speed for feedback speed limiter at Open-Loop.

u1_openloop_damping Default : Enable

Select enable/disable of damping control at Open-Loop. u1_flux_weakening

Default : Disable

Select enable/disable of flux weakening control at high speed. u1_less_switch

Default : Enable

Select enable/disable of soft switching at the transition from Open-Loop to PI control.

u1_ctrl_method Default:PID

Select the process of speed feedback loop. PID or IPD.

ol_param.f4_ol_id_up_step Default : 0.3F

The d-axis current reference ramping up rate [A/msec]. Please change to “1.0F”.

ol_param.f4_ol_id_down_step Default : 0.3F

The d-axis current reference ramping down rate [A/msec]. ol_param.f4_ol_iq_down_step_ratio

Default : 1.0F

The q-axis current reference ramping down proportion to reference before open-loop.

ol_param.f4_ol_id_ref Default : 0.3F

The d-axis current reference in open-loop drive. Please change to “1.0F”.

ol_param.f4_id_down_speed_rad Default : 600.0F

The speed threshold [rad/s] to ramp down the d-axis current. ol_param.f4_id_up_speed_rad

Default : 500.0F

The speed threshold [rad/s] to ramp up the d-axis current. ol_param.f4_opl2less_sw_time

Default : 0.025F

Time to switch open-loop to sensor-less [s]. ol_param.f4_switch_phase_err_rad

Default : 10.0F

(26)

R01AN5923EJ0100 Rev.1.00 Page 26 of 31 Jun 29, 2021

Table 4-5 Configuration Options for Speed Control [2/2]

Table 4-6 Configuration Options for Position Control Configuration Options (rm_motor_position.h)

Options Description u2_pos_dead_band Default:1U Dead band u2_pos_band_limit Default:3U

Positioning complete range f_speed_ff_ratio

Default:0.8F

Ratio of speed feed forward. f_encd_angle_diff

Default:1200F

Encoder counts per a rotation f_pos_omega

Default:10.0F

Natural frequency [Hz] for position control PI design. f_speed_ctrl_period

Default:0.0005F

Period of speed control [sec] st_profiling_set.u2_interval_time

Default:400U

Interval time for reference position change st_profiling_set.f4_accel_time

Default:0.3F

Acceleration time st_profiling_set.f4_max_accel

Default:8117.96F

Maximum acceleration parameter st_profiling_set.f4_accel_max_speed

Default:2000.0F

Maximum speed [rpm] in position profiling. st_profiling_set.f4_timer_update_step

Default:0.0005F

Position profile update cycle Configuration Options (rm_motor_speed.h)

Options Description

d_param.f_speed_omega Default : 5.0F

Speed PI Control parameter omega. Please change to “30.0F”.

d_param.f_speed_zeta Default : 1.0F

Speed PI Control parameter zeta. d_param.f_ed_hpf_omega

Default : 2.5F

Natural frequency [Hz] for HPF in open-loop damping gain design.

d_param.f_ol_damping_zeta Default : 1.0F

Damping ratio for open-loop damping gain design. d_param.f_phase_err_lpf_cut_freq

Default : 10.0F

The cut-off frequency [Hz] of phase error LPF gain design. d_param.f_observer_omega

Default:200.0F

Natural frequency [Hz] for speed observer process. d_param.f_observer_zeta

Default:1.0F

Damping ratio for speed observer process. mtr_param.u2_mtr_pp

Default : 2U

Pole pairs of target motor. Please change to “7U”. mtr_param.f4_mtr_r

Default : 8.5F

(27)

Table 4-7 Configuration Options for Sense Encoder [1/2] Configuration Options (rm_motor_sense_encoder.h)

Options Description

loop_mode Default : SPEED

Select control mode Speed or Position. f_current_ctrl_period

Default : 20.0F

Period of current control [kHz]. f_speed_ctrl_period

Default : 0.0005F

Period of speed control [sec]. encoder_config.f_carrier_frequency

Default : 20.0F

PWM carrier frequency [kHz]. encoder_config.u2_cpr

Default : 1200U

Encoder counts per a rotation. encoder_config.u2_angle_adjust_time

Default : 512U

Counts to initialize motor rotor position. encoder_config.u4_zero_speed_count

Default : 20000000U

Counts to judge the zero speed. encoder_config.f_speed_timer_frequency

Default : 120.0F

Timer counter clock frequency for speed calculation [MHz].

encoder_config.f_occupancy_time Default : 0.30F

Current control occupancy time encoder_config.f_carrier_time

Default : 0.000013F

Current control processing time Please change to “0.000035”. encoder_config.f_process_time

Default : 0.000001F

Encoder count capture processing time Please change to “0.000003”.

encoder_config.u2_highspeed_change_margin_rpm Default : 150U

Margin of toggle speed for high speed mode encoder_config.f_highspeed_lpf_parameter

Default:0.1F

Highspeed mode speed LPF parameter encoder_config.u1_position_speed_change_counts

Default:8U

Counts for mode change of position speed calculation

Table 4-8 Configuration Options for Driver Access Configuration Options (rm_motor_driver.h) u2_pwm_timer_freq

Default : 120U

PWM Timer Clock Frequency [MHz] u2_pwm_carrier_freq

Default : 50U

PWM Carrier Period [Micro seconds] u2_deadtime

Default : 240U

PWM Deadtime [Raw Counts] f_current_range

Default : 27.5F

Measurement Range of Electric current [A] f_vdc_range

Default : 111.0F

Measurement Range of Inverter Voltage [V] u2_offset_calc_count

Default : 500U

(28)

R01AN5923EJ0100 Rev.1.00 Page 28 of 31 Jun 29, 2021

4.2 System Block

The system blocks are shown below.

Decoupling Control Duty conversion Current PI Speed PI dq UVW dq UVW Encoder ω* id* ω iq* vd* θ id iq iu iw θ vu vv vw + -+ + Position P + Speed FF θ* θ iq id vq** vd** Voltage Limit iq** vq* vq* M Voltage error Compen -sation vu vv vw Encoder Interrupt Carrier Interrupt Switch Position & Speed

Calculation Mode ω θ Switch Position/Speed Loop mode Speed Observer Position Profiling θ_reference IPD Controler + Position P + Speed FF Switch Position/Speed Loop Controller

Encoder A/B Phase signal ω* id* iq* ω* ω_reference Switch Angle Adjust mode Current calculation HAL driver (GPT) HAL driver (AD) Mu Mv Mw HAL driver (GPT) speed module position control

current module driver module

sense encoder module encoder module

Figure 4-1 System Block of Vector Control with Encoder

4.3 Stacks

4.3.1 Stack diagram

The module stack diagram is shown below.

r_adc r_gpt r_gpt r_gpt r_gpt_three_phase r_gpt r_gpt rm_motor_driver rm_motor_sense_ encoder rm_motor_current rm_motor_position r_agt rm_motor_speed

rm_motor_encoder r_elc r_poeg

(29)

4.3.2 Data flow between modules

The data flow between modules is shown below. (1) encoder and speed module

Table 4-9 encoder and speed module

Data direction Description

encoder to speed

 Rotation speed command value  Rotation position command value  d-axis current value

 q-axis current value  Rotation speed  Rotation position

speed to encoder  d-axis current command value  q-axis current command value

(2) speed and position module Table 4-10 speed and position module

Data direction Description

speed to position  Rotation position  Control rotation position command value

position to speed

 d-axis current value  q-axis current value  Rotation speed  Rotation position (3) encoder and current module

Table 4-11 encoder and current module

Data direction Description

encoder to current

 d-axis current command value  q-axis current command value

 Control rotation position command value current to encoder  Control rotation speed command value  q-axis current command value

(4) current and driver module Table 4-12 current and driver module

Data direction Description

encoder to current  3-phase voltage command value

current to encoder

 U-phase current value  W-phase current value  Power supply voltage  Offset current value (5) current and sense encoder module

Table 4-13 current and sense encoder module

Data direction Description

(30)

R01AN5923EJ0100 Rev.1.00 Page 30 of 31 Jun 29, 2021

Website and Support

Visit the following vanity URLs to learn about key elements of the RA family, download components and related documentation, and get support.

RA Product Information www.renesas.com/ra

RA Product Support Forum www.renesas.com/ra/forum

RA Flexible Software Package www.renesas.com/FSP

Renesas Support www.renesas.com/support

(31)

Revision History

Rev. Date

Description

Page Summary

(32)

Unit Products

The following usage notes are applicable to all Microprocessing unit and Microcontroller unit products from Renesas. For detailed usage notes on the products covered by this document, refer to the relevant sections of the document as well as any technical updates that have been issued for the products. 1. Precaution against Electrostatic Discharge (ESD)

A strong electrical field, when exposed to a CMOS device, can cause destruction of the gate oxide and ultimately degrade the device operation. Steps must be taken to stop the generation of static electricity as much as possible, and quickly dissipate it when it occurs. Environmental control must be adequate. When it is dry, a humidifier should be used. This is recommended to avoid using insulators that can easily build up static electricity. Semiconductor devices must be stored and transported in an anti-static container, static shielding bag or conductive material. All test and measurement tools including work benches and floors must be grounded. The operator must also be grounded using a wrist strap. Semiconductor devices must not be touched with bare hands. Similar precautions must be taken for printed circuit boards with mounted semiconductor devices. 2. Processing at power-on

The state of the product is undefined at the time when power is supplied. The states of internal circuits in the LSI are indeterminate and the states of register settings and pins are undefined at the time when power is supplied. In a finished product where the reset signal is applied to the external reset pin, the states of pins are not guaranteed from the time when power is supplied until the reset process is completed. In a similar way, the states of pins in a product that is reset by an on-chip power-on reset function are not guaranteed from the time when power is supplied until the power reaches the level at which resetting is specified.

3. Input of signal during power-off state

Do not input signals or an I/O pull-up power supply while the device is powered off. The current injection that results from input of such a signal or I/O pull-up power supply may cause malfunction and the abnormal current that passes in the device at this time may cause degradation of internal elements. Follow the guideline for input signal during power-off state as described in your product documentation.

4. Handling of unused pins

Handle unused pins in accordance with the directions given under handling of unused pins in the manual. The input pins of CMOS products are generally in the high-impedance state. In operation with an unused pin in the open-circuit state, extra electromagnetic noise is induced in the vicinity of the LSI, an associated shoot-through current flows internally, and malfunctions occur due to the false recognition of the pin state as an input signal become possible.

5. Clock signals

After applying a reset, only release the reset line after the operating clock signal becomes stable. When switching the clock signal during program execution, wait until the target clock signal is stabilized. When the clock signal is generated with an external resonator or from an external oscillator during a reset, ensure that the reset line is only released after full stabilization of the clock signal. Additionally, when switching to a clock signal produced with an external resonator or by an external oscillator while program execution is in progress, wait until the target clock signal is stable. 6. Voltage application waveform at input pin

Waveform distortion due to input noise or a reflected wave may cause malfunction. If the input of the CMOS device stays in the area between VIL

(Max.) and VIH (Min.) due to noise, for example, the device may malfunction. Take care to prevent chattering noise from entering the device when the

input level is fixed, and also in the transition period when the input level passes through the area between VIL (Max.) and VIH (Min.).

7. Prohibition of access to reserved addresses

Access to reserved addresses is prohibited. The reserved addresses are provided for possible future expansion of functions. Do not access these addresses as the correct operation of the LSI is not guaranteed.

8. Differences between products

(33)

1. Descriptions of circuits, software and other related information in this document are provided only to illustrate the operation of semiconductor products and application examples. You are fully responsible for the incorporation or any other use of the circuits, software, and information in the design of your product or system. Renesas Electronics disclaims any and all liability for any losses and damages incurred by you or third parties arising from the use of these circuits, software, or information.

2. Renesas Electronics hereby expressly disclaims any warranties against and liability for infringement or any other claims involving patents, copyrights, or other intellectual property rights of third parties, by or arising from the use of Renesas Electronics products or technical information described in this document, including but not limited to, the product data, drawings, charts, programs, algorithms, and application examples.

3. No license, express, implied or otherwise, is granted hereby under any patents, copyrights or other intellectual property rights of Renesas Electronics or others.

4. You shall not alter, modify, copy, or reverse engineer any Renesas Electronics product, whether in whole or in part. Renesas Electronics disclaims any and all liability for any losses or damages incurred by you or third parties arising from such alteration, modification, copying or reverse engineering. 5. Renesas Electronics products are classified according to the following two quality grades: “Standard” and “High Quality”. The intended applications for

each Renesas Electronics product depends on the product’s quality grade, as indicated below.

"Standard": Computers; office equipment; communications equipment; test and measurement equipment; audio and visual equipment; home electronic appliances; machine tools; personal electronic equipment; industrial robots; etc.

"High Quality": Transportation equipment (automobiles, trains, ships, etc.); traffic control (traffic lights); large-scale communication equipment; key financial terminal systems; safety control equipment; etc.

Unless expressly designated as a high reliability product or a product for harsh environments in a Renesas Electronics data sheet or other Renesas Electronics document, Renesas Electronics products are not intended or authorized for use in products or systems that may pose a direct threat to human life or bodily injury (artificial life support devices or systems; surgical implantations; etc.), or may cause serious property damage (space system; undersea repeaters; nuclear power control systems; aircraft control systems; key plant systems; military equipment; etc.). Renesas Electronics disclaims any and all liability for any damages or losses incurred by you or any third parties arising from the use of any Renesas Electronics product that is inconsistent with any Renesas Electronics data sheet, user’s manual or other Renesas Electronics document.

6. When using Renesas Electronics products, refer to the latest product information (data sheets, user’s manuals, application notes, “General Notes for Handling and Using Semiconductor Devices” in the reliability handbook, etc.), and ensure that usage conditions are within the ranges specified by Renesas Electronics with respect to maximum ratings, operating power supply voltage range, heat dissipation characteristics, installation, etc. Renesas Electronics disclaims any and all liability for any malfunctions, failure or accident arising out of the use of Renesas Electronics products outside of such specified ranges.

7. Although Renesas Electronics endeavors to improve the quality and reliability of Renesas Electronics products, semiconductor products have specific characteristics, such as the occurrence of failure at a certain rate and malfunctions under certain use conditions. Unless designated as a high reliability product or a product for harsh environments in a Renesas Electronics data sheet or other Renesas Electronics document, Renesas Electronics products are not subject to radiation resistance design. You are responsible for implementing safety measures to guard against the possibility of bodily injury, injury or damage caused by fire, and/or danger to the public in the event of a failure or malfunction of Renesas Electronics products, such as safety design for hardware and software, including but not limited to redundancy, fire control and malfunction prevention, appropriate treatment for aging degradation or any other appropriate measures. Because the evaluation of microcomputer software alone is very difficult and impractical, you are responsible for evaluating the safety of the final products or systems manufactured by you.

8. Please contact a Renesas Electronics sales office for details as to environmental matters such as the environmental compatibility of each Renesas Electronics product. You are responsible for carefully and sufficiently investigating applicable laws and regulations that regulate the inclusion or use of controlled substances, including without limitation, the EU RoHS Directive, and using Renesas Electronics products in compliance with all these applicable laws and regulations. Renesas Electronics disclaims any and all liability for damages or losses occurring as a result of your noncompliance with applicable laws and regulations.

9. Renesas Electronics products and technologies shall not be used for or incorporated into any products or systems whose manufacture, use, or sale is prohibited under any applicable domestic or foreign laws or regulations. You shall comply with any applicable export control laws and regulations promulgated and administered by the governments of any countries asserting jurisdiction over the parties or transactions.

10. It is the responsibility of the buyer or distributor of Renesas Electronics products, or any other party who distributes, disposes of, or otherwise sells or transfers the product to a third party, to notify such third party in advance of the contents and conditions set forth in this document.

11. This document shall not be reprinted, reproduced or duplicated in any form, in whole or in part, without prior written consent of Renesas Electronics. 12. Please contact a Renesas Electronics sales office if you have any questions regarding the information contained in this document or Renesas

Electronics products.

(Note1) “Renesas Electronics” as used in this document means Renesas Electronics Corporation and also includes its directly or indirectly controlled subsidiaries.

(Note2) “Renesas Electronics product(s)” means any product developed or manufactured by or for Renesas Electronics.

(Rev.4.0-1 November 2017)

Corporate Headquarters

Contact information

TOYOSU FORESIA, 3-2-24 Toyosu, Koto-ku, Tokyo 135-0061, Japan

www.renesas.com

For further information on a product, technology, the most up-to-date version of a document, or your nearest sales office, please visit:

www.renesas.com/contact/.

Trademarks

References

Related documents

Appendix 1: Action Diagram describing the sub processes proposal and order handling for the customer-to- customer process in the ”standard stock customer” business process. Appendix

Source: Dave Chaffrey, E-Business and E-Commerce Management, 4 th Edition, © Marketing Insights Limited 2009... Benefits

The ferrate(VI) efficiency to remove 68 selected endocrine disrupting chemicals (EDCs) and pharmaceuticals and personal care products (PPCPs) spiked in a waste water matrix

the discrete laws 3.8 are not N-extremal solutions of the log-normal moment problem.. The reason is that N-extremal solutions are supported within the set of zeros of a certain

So You Thought You Couldn't Draw™ Workbook 150 pages Step-by-step drawing techniques and Companion Video Series for people who can't draw a straight line: You've always wanted to

contamination or assimilation. Taking into account the IAB-like isotopic compositions of the studied rocks, the parental magmas may have been formed by partial melting in

This document describes software design and implementation of sensorless vector control of permanent magnetic synchronous motor (PMSM) with shunt current measurement using Renesas

Over the coming year we will align debt advice provision with the strategy of the wider Money Advice Service and build on the work already done to integrate our