MST API

Motor Selection API Usage Guide

Overview

The Motor Selection API provides a way to query for compatible Aircore EC motors based on user-defined parameters, as well as the ability to get performance estimates for specific motor operating points. This API is designed to facilitate and streamline the process of motor selection for developers.


Endpoints:

/motor-selection

url
https://mst.goinfinitum.com/api/motor-selection

This endpoint allows users to query for compatible Aircore EC motors based on specified operating conditions and configuration preferences. By providing parameters such as power, RPM, voltage, and other configuration options, users can retrieve motors that best match their requirements.

The API returns either a single standard motor (if an exact match exists) or a custom-nameplated motor alongside the closest standard motor. If derating factors (temperature and altitude) are applied, the response includes adjusted performance metrics.

Required Parameters

The route requires three query parameters as input:

NameTypeDescription
powernumberThe desired power of the motor. Can be in horsepower or kilowatts, determined by the 'units' parameter. Must be between 1 and 15 HP, or 0.8 and 11.2 kW.
rpmnumberThe desired RPM of the motor. Must be between 100 and 5040.
unitsstringThe units of power to use for the query. Must be exactly hp for horsepower or kw for kilowatts.

Optional Parameters

The route also accepts up to six additional query parameters:

ParameterTypeDefaultDescription
bearingstringsteelSpecifies the bearing type. Must be either steel or hybrid.
voltagenumber460Operating voltage of the motor. Must be 415, 460, or 575.
commstringmodbusCommunication protocol used. Must be either modbus or bacnet.
groundingstringwyeGrounding configuration. Must be either wye or hrg.
temperaturenumber40Ambient temperature in Celsius. Must be between -25 and 50.
altitudenumber1000Altitude in meters. Must be between 0 and 4000.

If values are not provided for these parameters, the API will use the default values. Note that the temperature and altitude parameters may result in a derated motor response. Please read the section on derating before using these parameters.

The API will use other four optional parameters to customize the motor catnumber to reflect the configuration options. Note that not all motors are available in all configurations (especially for voltages other than 460). This means you can expect a smaller valid input range for 415V and 575V queries. For more information on the catnumber format, read the last page of any of the motor datasheets found here (opens in a new tab) (look for the "Catalog number decoder").

Response Format

The API will return an array of motor objects in JSON format. If the request matches one of our standard motors, the response will contain one object - that standard motor. Otherwise, the response will be an array of two motor objects: a custom motor, configured to the input operating point, followed by the closest matching standard motor.

Each motor object includes the following attributes:

NameTypeDescription
catnumberstringThe catalog number of the motor.
framestringThe frame type of the motor.
horsepowernumberThe power of the motor in horsepower.
kilowattsnumberThe power of the motor in kilowatts.
rated_rpmnumberThe rated RPM of the motor.
min_rpmnumberThe minimum RPM of the motor.
max_rpmnumberThe maximum RPM of the motor.
torque_nmnumberThe torque of the motor in Newton meters.
torque_lbftnumberThe torque of the motor in pound-feet.
ampsnumberThe operating current of the motor in Amps.
efficiencynumberThe efficiency of the system (motor and drive).
frequencynumberThe frequency of the motor in Hertz.
voltagenumberThe operating voltage of the motor.
bearingstringThe type of bearing used in the motor.
shaftstringThe type of shaft used in the motor.
commstringAdditional motor communication details.
availabilitystringThe availability of the motor.
length_innumberThe length of the motor in inches.
length_cmnumberThe length of the motor in centimeters.
diameter_innumberThe diameter of the motor in inches.
diameter_cmnumberThe diameter of the motor in centimeters.
weight_lbsnumberThe weight of the motor in pounds.
weight_kgnumberThe weight of the motor in kilograms.
datasheet_urlstringThe URL for the datasheet of the motor*.
drawings_urlstringThe URL for the drawings of the motor.
stepfile_urlstringThe URL for the step file of the motor.
deratedbooleanIndicates whether the motor has been derated.

Sample Requests

bash
https://mst.goinfinitum.com/api/motor-selection?power=5&rpm=1480&units=hp

The above request will return two motors that are compatible with the input operating point of 5 HP and 1480 RPM. The first motor will be a custom motor, configured exactly to the input operating point. The second motor will be the closest matching standard motor.

bash
https://mst.goinfinitum.com/api/motor-selection?power=5&rpm=3600&units=hp

Since this request exactly matches a standard AE13-0500-3600 motor, the response will contain only one motor object (the AE13-0500-3600).

Derating

When the temperature is between 40–50°C or the altitude is between 1000–4000 meters, we adjust motor performance using a calculated derate factor. This factor reduces the torque of each compatible motor accordingly.

For example, the AE20-1500-1800 has a rated torque of 60 Nm.
At 45°C, its torque is reduced to 53.6 Nm.

Because of this adjustment, a motor selection made without temperature or altitude inputs may return a different (often smaller) motor than the same query with derating applied. Higher temperatures or altitudes may require a larger motor to compensate for the reduced torque.

If these inputs are provided, the API will may return a derated motor response. This will look similar to a normal response, but the standard motor will have some additional derated attributes.

The derated attributes are as follows:

NameTypeDescription
derated_horsepowernumberThe derated power of the motor in horsepower.
derated_kilowattsnumberThe derated power of the motor in kilowatts.
derated_torque_nmnumberThe derated torque of the motor in Newton meters.
derated_torque_lbftnumberThe derated torque of the motor in pound-feet.
derated_ampsnumberThe derated current draw of the motor in Amps.
derated_efficiencynumberThe derated efficiency of the motor.
deratedbooleanIndicates whether derating has been applied to the motor.

/get-operating-point

url
https://mst.goinfinitum.com/api/get-operating-point  

This endpoint is used to estimate the performance of any infinitum motor at a specific operating point.

Request Parameters

The API accepts four query parameters as inputs:

NameTypeDescription
catnumberstringThe catalog number of the motor. Must be a valid motor catalog number.
powernumberThe desired power at the operating point. Can be in HP or kW (see units).
rpmnumberThe desired RPM at the operating point. Must be between 100 and 5040.
unitsstringThe units of power. Must be hp for horsepower or kw for kilowatts.

Note - The catnumber can be any valid infinitum motor - a custom name-plated motor, or a standard off-the-shelf motor. This means that any custom motor recommended by the /api/motor-selection endpoint can be used as the catnumber input for this endpoint. For more information on how to decode the new catnumber format, read the last page of any of the motor datasheets found here (opens in a new tab). For another easy way to find motors / generate catnumbers, check out the Motor Selection Tool (opens in a new tab).

Currently, this endpoint does not support derated motors. However, temperature and altitude inputs will be supported in a future update.

For your convenience, here is a list of standard 'off-the-shelf' motors that can be used as the catnumber input for this endpoint:

motor-catalogue.txt
AE13-0500-3600-AAAS-AA40  
AE13-0500-4200-AAAS-AA40  
AE15-0500-1800-AAAS-AA40  
AE15-0500-2400-AAAS-AA40  
AE15-0750-2400-AAAS-AA40  
AE15-0750-3600-AAAS-AA40  
AE18-0750-1800-AAAS-AA40  
AE18-1000-2400-AAAS-AA40  
AE18-1000-3600-AAAS-AA40  
AE20-1000-1800-AAAS-AA40  
AE20-1500-2700-AAAS-AA40  
AE20-1500-3600-AAAS-AA40  
AE20-1500-1800-AAAS-AA40  

Sample Request

url
https://mst.goinfinitum.com/api/get-operating-point?catnumber=AE13-0500-3600-AAAS-AA40&power=1.1&rpm=2750&units=hp

The above request will return an efficiency object (containing the estimated efficiency at that operating point and the accompanying input current), and a motor object (the queried motor).

Response Format

Response Format

NameTypeDescription
catnumberstringThe catalog number of the motor used for this calculation.
input_horsepowernumberThe input power at the specified operating point in HP.
input_kilowattsnumberThe input power at the specified operating point in kW.
input_rpmnumberThe input RPM at the specified operating point.
result_torque_nmnumberThe calculated torque at the specified operating point in Newton meters (Nm).
result_torque_lbftnumberThe calculated torque at the specified operating point in pound-feet (lb-ft).
result_efficiencynumberThe estimated efficiency (%) of the motor at the specified operating point.
result_ampsnumberThe estimated current draw in Amps at the specified operating point.

Input Parameter Limitations

  • The power parameter must be less than or equal to the requested motor's rated power.
  • The rpm parameter must be less than or equal to the 120% of the motor's rated RPM. For example, if the motor is rated for 3600 RPM, the maximum RPM that can be requested is 4320 RPM.
  • The calculated torque must not exceed the motor’s rated torque. If exceeded, the API returns an error message including the computed torque.
  • The units parameter must be exactly: 'hp' for horsepower or 'kw' for kilowatts.

Error Handling

The API returns detailed error messages with appropriate HTTP status codes (400 Bad Request) when required parameters are missing, out of range, or invalid. Errors include useful details such as rejected parameters and expected ranges.

Typescript Support

This API is built in TypeScript and is end-to-end typesafe. All parameters, responses, and error messages are strictly typed. Please feel free to reach out if you encounter any issues.