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
https://next-mst-ts-jdubba1.vercel.app/api/v5/motor-selection
Request Method
GET
Request Parameters
The API accepts three query parameters as input:
Name | Type | Description |
---|---|---|
power | Number | The desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter. |
rpm | Number | The desired RPM of the motor. |
units | String | The units of power to use for the query. Must be exactly 'hp' for horsepower or 'kw' for kilowatts. |
Sample Request
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:
Name | Type | Description |
---|---|---|
catnumber | String | The catalog number of the motor. |
frame_type | String | The frame type of the motor. |
rated_hp | Number | The power of the motor in horsepower. |
rated_kw | 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. |
rated_amps | Number | The rated current of the motor in Amperes. |
voltage | Number | The rated voltage of the motor. |
efficiency | Number | The efficiency of the system (motor and drive). |
frequency_hz | Number | The frequency of the motor in Hertz. |
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. |
availability | String | The availability of the motor. |
Input Parameter Limitiations
- The
power
parameter must be a number. If theunits
parameter is 'hp', the power must be between 1 and 15 inclusive. If theunits
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
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:
Name | Type | Description |
---|---|---|
catnumber | String | The catalog number of the motor. |
power | Number | The desired power of the motor. Can be in horsepower (hp) or kilowatts (kw), determined by the 'units' parameter. |
rpm | Number | The desired RPM of the motor. |
units | String | The 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:
// 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
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.
Name | Type | Description |
---|---|---|
motor_variant | String | Motor type: 'standard' or 'custom' |
efficiency_result | Object | Efficiency Result for input. See format below. |
query_motor | Object | See /v5/motor-selection response format. |
efficiency_result
Name | Type | Description |
---|---|---|
system_efficiency (%) | Number | The estimated efficiency at the requested operating point. |
input_current (Amps) | Number | The 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.