V5 API

Motor Selection V5 API Usage Guide

Overview

The Updated Infinitum Motor Selection API provides a way to query for compatible Infinitum electric motors based on user-defined parameters. This API is designed to facilitate and streamline the process of motor selection for developers. The endpoints under the /v5/ route have been updated to reflect the latest motors in Infinitum's catalogue.


Note

The response format for both endpoints have been updated. Ensure you read through the documentation before making any requests with the new API. Also, the get-operating-point endpoint now uses Infinitum's updated catnumber format. Old catnumbers, like for example IES130-5-3600-460, will not work with the new API. A list of new catnumbers will be provided in in the get-operating-point endpoint documentation.

Endpoints:

/api/v5/motor-selection

url
https://next-mst-ts-jdubba1.vercel.app/api/v5/motor-selection

Request Method

GET

Request Parameters

The API accepts three query parameters as input:

NameTypeDescription
powerNumberThe desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter.
rpmNumberThe desired RPM of the motor.
unitsStringThe units of power to use for the query. Must be exactly 'hp' for horsepower or 'kw' for kilowatts.

Sample Request

bash
https://next-mst-ts-jdubba1.vercel.app/api/v5/motor-selection?power=5&rpm=1480&units=hp

The above request will return a list of two motors that are rated to run at 5 horsepower and 1480 RPM.

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.
frame_typeStringThe frame type of the motor.
rated_hpNumberThe power of the motor in horsepower.
rated_kwNumberThe 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.
rated_ampsNumberThe rated current of the motor in Amperes.
voltageNumberThe rated voltage of the motor.
efficiencyNumberThe efficiency of the system (motor and drive).
frequency_hzNumberThe frequency of the motor in Hertz.
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.
availabilityStringThe availability of the motor.

Input Parameter Limitiations

  • The power parameter must be a number. If the units parameter is 'hp', the power must be between 1 and 15 inclusive. If the units parameter is 'kw', the power must be between 0.8 and 11.2 inclusive.
  • The rpm parameter must be a number between 540 and 5040 inclusive.
  • The units parameter must be one of two strings: 'hp' for horsepower and 'kw' for kilowatts.

/api/v5/get-operating-point

url
https://next-mst-ts-jdubba1.vercel.app/api/v5/get-operating-point

Request Method

GET

Request Parameters

The API accepts four query parameters as inputs:

NameTypeDescription
catnumberStringThe catalog number of the motor.
powerNumberThe desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter.
rpmNumberThe desired RPM of the motor.
unitsStringThe units of power to use for the query. Must be exactly '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 recomended by the /api/v5/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).

Nonetheless, below is a list of off-the-shelf motors that can be used as the catnumber input for this endpoint:

motor-catalogue.js
// gen4 mapping
const standard_catnumbers = {
  "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://next-mst-ts-jdubba1.vercel.app/api/v5/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 query motor).

Response Format

The API will return an object with three attributes. The first, motor_variant (string) will contain the type of motor - either 'standard' or 'custom'. The second, efficiency_result (object) contains the estimated system efficiency and input current calculated for the target motor at the input operating point. The third, query_motor (object) is a motor object corresponding to the input catnumber.

For more information on the motor object, see the response format for the /v5/motor-selection endpoint. This motor object will contain the same attributes as the motor object returned by the /v5/motor-selection endpoint. Note that this motor object's efficiency and amps attributes may be different from the system efficiency and input current attributes in the efficiency_result object, as these represent the system efficiency and input current at the motor's rated operating point.

So, if your request is a AE15-0500-1800-AAAS-AA40 + 2 horsepower + 1430 RPM, the efficiency_result will contain the estimated efficiency and amps for that motor running at 2 horsepower, 1430 RPM, while the query_motor will contain the system efficiency and input current for the AE15-0500-1800-AAAS-AA40 running at 5 horsepower, 1800 RPM.

NameTypeDescription
motor_variantStringMotor type: 'standard' or 'custom'
efficiency_resultObjectEfficiency Result for input. See format below.
query_motorObjectSee /v5/motor-selection response format.

efficiency_result

NameTypeDescription
system_efficiency (%)NumberThe estimated efficiency at the requested operating point.
input_current (Amps)NumberThe corresponding input current for the operating point.

Input Parameter Limitiations

  • 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 requested motor's rated rpm. For example, if the motor's rated rpm is 3600, the maximum rpm that can be requested is 4320.
  • Computed torque from the above two values must not exceed the motor's rated torque. The endpoint will respond with an error message including the computed torque to assist in this process.
  • The units parameter must be exactly: 'hp' for horsepower or 'kw' for kilowatts.

Additional Notes

Error Handling

The API provides clear error messages and appropriate HTTP status codes (400) in the event of a bad request due to missing or invalid parameters. Furthermore, the API will return lots of useful information in the event of a bad request - including which parameters were rejected, what was missing, etc.

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.