Veronte MC24

This document describes the main functionalities of the MC24 Speed Controller.

_images/MC24frontview.png

MC24 front view

_images/MC24rearview.png

MC24 rear view

Veronte MC24 speed controller is capable of driving any type of 3-phase PMSM motor. It can be used with a wide variety of UAVs or eVTOL vehicles and also in automotive applications (Bikes, Karts, Cars).The MC24 uses FOC algorithm for motor control together with MOSFET technology.

MC24 Speed Controller offers IP68 protection, allowing the operation under rain and extreme humidity environments.

MC24 Speed Controller working voltage range is 60-120V with a maximum input continuous current of 200A (up to 24kW).

The system has a temperature range of -20 to 55ºC. For higher temperature, a power limitation will be applied.

System Layout

Hardware Installation

When installing the MC24 speed controller in the vehicle, the following limitations shall be considered:

  • The distance between the battery, the controller system and the motor should be as short as possible in order to maximize the efficiency. It is preferable to place the controller system as close to the battery as possible and extend the cables from the controller to the motor. Calibration will be needed depending on the final setup.

  • The wire connections type between the power items must be crimped not soldered.

  • The system must be placed in a ventilated place with proper air flow. If this is not possible, it is necessary to install an external fan.

  • The vehicle must have an inrush current limiter when powering MC24 for the first time.

Note

When working voltage is higher than 60V, use of insulating gloves are mandatory for installation and the system must have a chassis fault detection system.

Warning

logo_alert Careful! The system slowly discharges the voltage on the input terminals when the battery is disconnected. Capacitors may remain charged unless enough time has passed.

MC24 Controller

Description

This section includes the driver and control systems. The block diagram of the system is shown below.

_images/system_diagram.png

Peripheral used for motor control:

  • Opto Isolated PWM

  • CAN bus

Peripheral use for ESC telemetry:

  • Serial RS-232

  • Serial RS-485

  • USB

Any of the serial interfaces can be used to configure the internal variables of the MC24.

The ESC includes an internal SD memory which is used to record operating logs. The variables to store can be selected through the corresponding interface.

Note

The selected configuration interface cannot be used to send telemetry.

Pinout

The user connector pinout is shown in the following table:

_images/lemo24.PNG
User Connector

Pin

Signal

Type

Comment

1

ERROR_SIGNAL

Digital Status Signal

High: OK, Low: NO OK

2

OPTO_PWM

Optocoupled Digital Input

3

VCC

Digital Supply

8-20V

4

GND

Digital Ground

5

CANA_P

CAN Communications

6

CANA_N

CAN Communications

7

CANB_N

CAN Communications

8

GND

Digital Ground

9

RS485_OUT_P

RS-485 Communication

10

RS485_OUT_N

RS-485 Communication

11

FAN_PWM

Digital Output

12

GND

Digital Ground

13

RS485_IN_P

RS-485 Communication

14

RS485_IN_N

RS-485 Communication

15

RS485_GND

RS-485 Communication

16

OPTO_RETURN

Optocoupled Return

17

GND

Digital Ground

18

CANB_P

CAN Communications

19

USB_N

USB Communication

20

RS232_RX

RS-232 Communication

21

GND

Digital Ground

22

RS232_TX

RS-232 Communication

23

USB_P

USB Communication

24

CAN_GND

CAN Ground

The sensors connector pinout is shown in the following table:

_images/lemo16.png
Sensors Connector

Pin

Signal

Type

Comment

1

HALL_1

Hall Sensor 1 Input

2

NC

No Connect

3

NC

No Connect

4

NC

No Connect

5

COS_SIGNAL

Cosine Input

SIN/COS Encoder

6

SIN_SIGNAL

Sine Input

SIN/COS Encoder

7

ISO_GND

Isolated Ground

8

NTC/PTC

NTC/PTC Input

9

ISO_GND

Isolated Ground

10

HALL_3

Hall Sensor 3 Input

11

HALL_2

Hall Sensor 2 Input

12

ISO_GND

Isolated Ground

13

ISO_GND

Isolated Ground

14

5V

Isolated 5V

15

VOLTAGE_REF

Voltage Reference Output

Use for NTC

16

ISO_GND

Isolated Ground

Peripheral Specification

VCC

This is the main power input for the secondary part of the driver. It must be powered with a voltage of 8 to 20V.

The consumption of this pin also depends on the loads connected to 5V pin.

Status

Value

Standby

6.6W

Active

13.2W

Note

No load on 5V output.

HALL Inputs

These inputs are used to add to the system a feedback in sensored mode (incremental type, usually magnetic).

FAN_PWM

This 0-3.3V output is used to control an external fan in case it is needed.

Opto PWM Input

This input is an optocoupled control digital signal.

The input is interpreted as 0-100% of the maximum RPM. An initial dead band can be configured to prevent the engine from starting.

Electrical Characteristics

Type

Specification

Input voltage range

0-5V

Minimum input current

2.5mA

Maximum frequency

250Hz

NTC/PTC Input (External Temperature Sensing)

A PTC or NTC sensor can be integrated. The maximum voltage on this pin is 2V.

The PTC/NTC should be connected on the low side of an external resistor divider. This is the configuration by default. A high side connection can be used too, but a custom modification is needed.

The isolated Voltage_ref output should be left floating in default mode. The iso_ground is the return path of the NTC/PTC sensor.

ERROR_SIGNAL

This signal indicates if there is an error within the MC24. A positive voltage of 3.3V means that there is no problem.

SIN/COS_SIGNAL

These signals are those dedicated to the SIN / COS type analog sensor. There is a 100K ohms resistor to act as divider so the maximum voltage on the pin does not exceed ±250mV.

USB

This is the interface normally used to configure the MC24 internal parameters.

The connection and disconnection of the USB related signals should always be done when the power supply (via the VCC input) is on.

Note

Not recommended for sending telemetry by default.

RS-232

Single ended serial type protocol:

Electrical Characteristics

Type

Specification

ESD Protection

±15 kV (HBM)

Requirements

TIA/EIA-232-F and ITU v.28

Speed

Max. 250 kbit/s

Input Voltage

-25 to 25V

Output Voltage

-13.2 to 13.2V

RS-485

Differential serial type protocol:

Electrical Characteristics

Type

Specification

ESD Protection

±15 kV (HBM)

Requirements

TIA/EIA-485-A

Speed

Max. 25 Mbit/s

Input Voltage(D)

-0.5 to 7V

Output Voltage (D)

1.5 to 2.4V

CAN

Differential communication protocol:

Electrical Characteristics

Type

Specification

ESD Protection

±4 kV (HBM)

Requirements

ISO11898-2

Speed

Max. 5 Mbit/s

Input Voltage(D)

-12 to 12V

Output Voltage (D)

2.9 to 4.5V

Mounting Instruction

The MC24 system has the following dimensions and position of the mounting holes:

_images/VERONTEMC24DIMENSIONS.png

Dimensions

_images/VERONTEMC24MOUNTINGS.png

Mounting Holes

Operational Characteristics

Electrical Characteristics

Type

Specification

Voltage

60-120DC

Cont. Current (rms at battery input)

5 - 200A

Peak Current (<5s)

400A

Maximum speed (1 pole)

600000 ERPM

Motor PWM Frequency

20Khz

Weigth

N/A

ESC-Motor Wiring

The polarity and connection is indicated in the following image.

_images/VERONTEMC24CONNECTIONS.png

The section of the cables must be dimensioned according to input/output max power

Note

The polarity connection of the input must be respected, otherwise a short circuit may occour. Connection of the phases can be done freely, however, it will affect the direction of rotation of the motor.

Software Setup

To properly connect to a MC24 unit you must previously install Veronte Link and MC110 PDI Builder.

  1. Veronte Link: This tool is the HUB that manages all Veronte and Embention devices that use a COM port. Here the user can check, configure and list the devices that are currently connected.

  2. MC110 PDI Builder: This tool is used to set all the configurable parameters. Here the user can set, tune and define the motor, control and sensors that are going to be used alongside the ESC.

MC110 PDI Builder

After installing, MC110 PDI Builder the main menu will show as follows:

_images/main.PNG
  1. MC110 PDI Builder: Create a new PDI set of files to be saved and exported.

  2. Update MC110: Update motor controller firmware version to a later one. Ask Embention support (support@embention.com) for firmware updates, future features or suggestions.

  3. Upload PDI: Upload a previously created set of files to the current motor controller flash memory.

  4. Open MC110: Edit the current MC24 settings.

At this point, the user can either create its own configuration offline by clicking on “MC110 PDI Builder” or start editing the one that is already loaded to the controller by clicking on “Open MC110”. The same menu will pop up:

_images/openloop.PNG

Open Loop Ramp

This menu sets the start ramp before engaging the closed loop control. There basically three parameters:

  1. Speed fraction: Fraction of maximum speed (third field) to be reached before changing to closed loop.

  2. Startup Accelaration: angular ancceleration to reach maximum speed. In rad/s^2.

  3. Maximum Speed: Final speed to be reached before closing the control loop. In rad/s.

  4. Invert: Change spining direction of the rotor. This is the main way to invert the motor direction and will also affect the control and closed loop functionalities.

Motor

This tab sets all the physical parameters of the motor that will be used with Veronte MC24. These are:

_images/motor.PNG
  1. Stator internal resistance: This is the resistance that is usually specified in datasheets. Expressed in Ohms.

  2. Quadrature Inductance: Usually called “Lq”. Expressed in Henries (H).

  3. Direct Inductance: Usually called “Ld”. Expressed in Henries (H).

  4. Pole pairs: Number of poles divided by two. For instance, if your motor has 42 poles, you must input 21 here.

  5. Maximum RPMs: The maximmum RPMs the motor can reach in combination with your propeller. This parameter is only used to determine the equivalence between the maximum command (PWM or CAN) and the commanded RPM in speed closed loop mode.

  6. Startup Iq: The current used to start the motor.

  7. Maximum Iq: Maximum current the speed control loop can command to the quadrature current control loop. Please refer to FOC background section for further reference.

  8. Time to hold Max Iq: Maximum time to hold the previous value before going to off.

Warning

All the current are expressed in amperes/1000. So if in order to input 35 Apk, 0.035 must be typed.

FOC (Field Oriented Control) Background

In order to achieve better dynamic performance, a more complex control scheme needs to be applied, to control the PM motor. With the mathematical processing power offered by the microcontrollers, we can implement advanced control strategies, which use mathematical transformations in order to decouple the torque generation and the magnetization functions in PM motors. Such de-coupled torque and magnetization control is commonly called rotor flux oriented control, or simply Field Oriented Control (FOC).

The Field Orientated Control consists of controlling the stator currents represented by a vector. This control is based on projections which transform a three phase time and speed dependent system into a two co-ordinate (d and q co-ordinates) time invariant system. These projections lead to a structure similar to that of a DC machine control. Field orientated controlled machines need two constants as input references: the torque component (aligned with the q co-ordinate) and the flux component (aligned with d co-ordinate). As Field Orientated Control is simply based on projections the control structure handles instantaneous electrical quantities. This makes the control accurate in every working operation (steady state and transient) and independent of the limited bandwidth mathematical model.

A basic scheme for the FOC is represented as follows:

_images/foc_sch.PNG

As it can be seen, there some key pieces in this algorithm:

  1. Park/Clark transform: These output a two co-ordinate time invariant system and a outputs a two co-ordinate time variant system respectively. As mentioned before, this is part of the process of getting two scalar values from a three phase time dependent system.

  2. PI Controllers: There are three of them: two to control quadrature current and direct current (torque and flux) and one to control speed. This last one is placed as the one that controls Iq PI (cascade control) which means that in order to get more speed the system will command more torque (or Iq).

  3. Speed estimator: This block is able to estimate mechanical speed from current and voltage using the so-called “Sliding Mode Observer” algorithm.

The main dificulty of this control proposal is to tune these three PI controller although in most cases both current PI are exactly the same due to PMSM properties. In addition, there is an extra gain that needs to be tuned as part of the angular speed estimator algorithm.

This last part is optional but highly recommended in case an external sensor is used such as a hall effect sensor or a SIN/COS sensor.

Sensorless RPM Observer/ Estimator

Once the basis of the FOC are covered, the rest of the features of this MC24 can be explained. This tab covers the observer parameters, which in this case is only one. The observer that is implemented has an ON/OFF controller that gets the estimated electrical angle. This electrical angle is later derived to find the angular speed. As it can be seen, here only this gain must be selected:

_images/observer.PNG

After this gain is properly tuned, the electrical angle should look like this:

_images/eangle.png

Note

The algorithm includes an adaptive filter that automatically moves its cutoff frequency with the current mechanical angular speed, so the signal the user is monitoring is already filtered.

Warning

It is recommended to tune this estimator even if an external sensor is used for feedback (sensored control). As it will be described in the next section, the control will automatically jump in case the primary source of feedback fails to a sensorless control.

FOC Control

This is the main control menu, here all parameters regarding closed loop control are set. As mentioned before, the basic blocks that define the FOC control are three PI (Proportional, Integral controllers). First, both current PI are defined.

_images/foc_1.PNG _images/foc_currents.PNG

The form of the PI is the classical parallel form:

_images/pi.gif

Where integral gain refers to the quotient 1/Ti. Lower and upper saturation gain are the limits at which the PI limit its output. In this case, as it is illustrated in FOC background, these outputs are Vq and Vd.

Note

All limits values are normalized, which means that are values between 0 and 1.

Equally, the speed controller can be set here as shown below. In this example this PI controller is limited to be output 95 A.

_images/foc_speed.PNG

In addition, there is a rate limiter that could be used in case the slope needs to be limited with the input comand. Please note that is expressed in rad/s.

Control input allows the user to select the input source and several extra parameters such as:

  1. CAN Timeout: Whenever this timeout is met, the control input will be changed to the next option if available. If none of them is available, it will end up in failsafe mode.

  2. PPM Timeout: Same as before, but in this case the only option after this one is failsafe.

  3. Value for Fail Safe: Value between 0 and 1. It will be written in case none of the previous options is available.

_images/inputmgr.PNG

The input flow is the following in case the mode m_CAN_PPM is selected:

_images/input_flow.png

There some extra options than can be set under FOC control menu:

  1. Regenerative Braking: Activates regnerative braking feature which is basically consisting of thoughing some current back to battery whenever the motor is loosing speed (it uses the kinetic energy to charge de battery). This not recommended in case the power side is not connected to a battery.

  2. Input deadband: This is the value that defines when to start moving the motor. For example, it might be wanted to be different from zero in case an RC stick outputs around 0.1 of duty cycle by default.

Note

In case CAN Bus is used to command (see CAN I/O section), this deadband can be calculated as (desired deadband RPM)/(maximum RPM).

  1. Speed filter cutoff: Cutoff frequency (in Hz) that will be applied to filter Hall effect sensors and SIN/COS sensors only.

Finally, a state machine diagram is presented to clarify how the control and feeback sources work:

_images/control_flow.png

SIN/COS Sensor

In case an external SIN/COS sensor needs to be used as a source of feedback of electrical angle/velocity the main interface to do it is though ADC inputs. This menu allows the user to customize the main characteristics of its sensor:

  1. Min Voltage: Minimum voltage of the signal. Measured in Volts (V).

  2. Max Voltage: Maximum voltage of the signal. Measured in Volts (V).

  3. ADC factor: A factor multiplying what is read from the ADC port, specially useful if a voltage divider (or any other signal level adaptor) is installed.

  4. Sin ADC input channel: ADC channel at which the SIN signal is connected.

  5. Cos ADC input channel: ADC channel at which the SIN signal is connected.

  6. Invert: Inverts the resulting electrical angle. Useful to correct installation inversions.

_images/foc_sincos.PNG

I/O Setup

This panel is used to stablish the mapping of ports and the duties they are performing. The layout and principles of function of this feature are common in all Veronte products, a complete explanantion can be found here .

_images/io.PNG

CAN I/O

This a common part that is shared with Veronte Autopilot products, please refer to this page for further information.

_images/can_io.PNG

Altough, most of this menu could be familiar to veronte users, there is one new feature : CAN CMD. This is the input ESC expects to command the motor. By default, it uses the ID 1434 (standard) and the message structure is the following:

_images/can_io_cmd.PNG _images/canmsg.PNG

Warning

Note that what is represented as PWM1 is in fact sent as a value between 0 and 2500 as a result of the decoding factor. This last 24 bit value is in fact an RPM value.

SCI

The following fields can be configured:

  1. Baud rate: This field specifies how fast data is sent over a serial line.

  2. Length: This field defines the number of data bits in each character.

  3. Stop: Stop bits sent at the end of every character.

  4. Parity: is a method of detecting errors in transmission. When parity is used with a serial port, an extra data bit is sent with each data character, arranged so that the number of 1 bits in each character, including the parity bit, is always odd or always even.

_images/sci.PNG

CAN High Speed Telemetry

MC24 is equipped with an special CAN telemetry, which is faster than the regular one. This is meant to monitor all variables that are RPM dependent and can be crucial to tune your ESC during initial stages. For instance, seeing electrical angle can be extremely difficult with a low samplig rate at high RPMs and as a consequence, tuning the observer gain can be tough. Likewise, monitoring the current that is measured in each phase can represent the same issue and make PI tuning really time-consuming.

_images/highcan.PNG

There are only two parameters here:

  1. Base ID: The first ID to be used. The next IDs will be reserved depending on the variable list.

  2. Decimation: The number of clock steps the ESC skips before sending a High Speed CAN telemetry packet.

Note

MC24 is running at 10kHz.

Note

A separate tool is offered to see MC24 telemetry, please ask support@embention.com