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
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:
Name | Type | Description |
---|---|---|
power | number | The 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. |
rpm | number | The desired RPM of the motor. Must be between 100 and 5040 . |
units | string | The 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:
Parameter | Type | Default | Description |
---|---|---|---|
bearing | string | steel | Specifies the bearing type. Must be either steel or hybrid . |
voltage | number | 460 | Operating voltage of the motor. Must be 415 , 460 , or 575 . |
comm | string | modbus | Communication protocol used. Must be either modbus or bacnet . |
grounding | string | wye | Grounding configuration. Must be either wye or hrg . |
temperature | number | 40 | Ambient temperature in Celsius. Must be between -25 and 50 . |
altitude | number | 1000 | Altitude 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:
Name | Type | Description |
---|---|---|
catnumber | string | The catalog number of the motor. |
frame | string | The frame type of the motor. |
horsepower | number | The power of the motor in horsepower. |
kilowatts | number | The power of the motor in kilowatts. |
rated_rpm | number | The rated RPM of the motor. |
min_rpm | number | The minimum RPM of the motor. |
max_rpm | number | The maximum RPM of the motor. |
torque_nm | number | The torque of the motor in Newton meters. |
torque_lbft | number | The torque of the motor in pound-feet. |
amps | number | The operating current of the motor in Amps. |
efficiency | number | The efficiency of the system (motor and drive). |
frequency | number | The frequency of the motor in Hertz. |
voltage | number | The operating voltage of the motor. |
bearing | string | The type of bearing used in the motor. |
shaft | string | The type of shaft used in the motor. |
comm | string | Additional motor communication details. |
availability | string | The availability of the motor. |
length_in | number | The length of the motor in inches. |
length_cm | number | The length of the motor in centimeters. |
diameter_in | number | The diameter of the motor in inches. |
diameter_cm | number | The diameter of the motor in centimeters. |
weight_lbs | number | The weight of the motor in pounds. |
weight_kg | number | The weight of the motor in kilograms. |
datasheet_url | string | The URL for the datasheet of the motor*. |
drawings_url | string | The URL for the drawings of the motor. |
stepfile_url | string | The URL for the step file of the motor. |
derated | boolean | Indicates whether the motor has been derated. |
Sample Requests
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.
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:
Name | Type | Description |
---|---|---|
derated_horsepower | number | The derated power of the motor in horsepower. |
derated_kilowatts | number | The derated power of the motor in kilowatts. |
derated_torque_nm | number | The derated torque of the motor in Newton meters. |
derated_torque_lbft | number | The derated torque of the motor in pound-feet. |
derated_amps | number | The derated current draw of the motor in Amps. |
derated_efficiency | number | The derated efficiency of the motor. |
derated | boolean | Indicates whether derating has been applied to the motor. |
/get-operating-point
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:
Name | Type | Description |
---|---|---|
catnumber | string | The catalog number of the motor. Must be a valid motor catalog number. |
power | number | The desired power at the operating point. Can be in HP or kW (see units). |
rpm | number | The desired RPM at the operating point. Must be between 100 and 5040. |
units | string | The 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:
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
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
Name | Type | Description |
---|---|---|
catnumber | string | The catalog number of the motor used for this calculation. |
input_horsepower | number | The input power at the specified operating point in HP. |
input_kilowatts | number | The input power at the specified operating point in kW. |
input_rpm | number | The input RPM at the specified operating point. |
result_torque_nm | number | The calculated torque at the specified operating point in Newton meters (Nm). |
result_torque_lbft | number | The calculated torque at the specified operating point in pound-feet (lb-ft). |
result_efficiency | number | The estimated efficiency (%) of the motor at the specified operating point. |
result_amps | number | The 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.