Hello @Jeffrey1,
We are facing an issue on our side on sharing file process.
Create a X-NUCLEO-IHM16M1_HL.json file into the ~user_name\.st_workbench\hardware\board\power directory with following content:
{
"type": "power",
"name": "X-NUCLEO-IHM16M1_HL",
"descVersion": 5,
"contentVersion": "1.1",
"PN": "X-NUCLEO-IHM16M1_HL",
"longDescription": "Three-phase brushless DC motor driver expansion board based on STSPIN830 for STM32 Nucleo",
"shortDescription": "PMSM & BLDC power board based on STSPIN830 for STM32 Nucleo",
"link": "https://www.st.com/en/ecosystems/x-nucleo-ihm16m1.html",
"motorDrives": [
{
"name": "M1",
"minRatedVoltage": 7,
"maxRatedVoltage": 45,
"maxRatedCurrent": 2.12,
"maxRatedPower": 40,
"connectorType": "morpho",
"resistorOffset": 1.50,
"features": [
{
"name": "CurrentSensing",
"type": "CurrentSensing",
"tRise": 500,
"hwVariants": [
{
"type": "ThreeShunt_AmplifiedCurrents",
"help": {
"en": ["X-NUCLEO-IHM16M1: Check you are still in default config with JP4 and JP7 solder bridge opened at the bottom",
"J5 and J6 must be closed (default) to polarize Opamp U2B and select the FOC gain"
]
},
"cost": 1,
"signals": {
"CURRENT_AMPL_U": [
{
"name": "ML30",
"help": "CN7.30. Factory default. Solder R29",
"cost": 0
}
],
"CURRENT_AMPL_V": [
{
"name": "MR24",
"help": "CN10.24. Factory default Solder R42. Remove solder R41 if CN10.18 connected to a signal",
"cost": 10
},
{
"name": "MR18",
"help": "CN10.18. Factory default Solder R41. Remove solder R42 if CN10.24 connected to a signal",
"cost": 10
}
],
"CURRENT_AMPL_W": [
{
"name": "ML34",
"help": "CN7.34. Factory default Solder R36. Remove solder R34 if CN10.15 connected to a signal",
"cost": 10
},
{
"name": "MR15",
"help": "CN10.15. Factory default Solder R34. Remove solder R36 if CN7.34 connected to a signal",
"cost": 10
}
]
},
"shuntResistor": 0.33,
"amplifyingNetworkImax": 3,
"amplifyingNetworkVm": 3.3,
"amplifyingNetworkPrating": 1.4,
"offsetNetworkAttenuation": 0.764,
"opAmpGain": 2,
"polarizationOffset": 1.559,
"metaData": [
{
"type": "OpAmp",
"partNumber": "TSV994"
}
]
},
{
"type": "SingleShunt_AmplifiedCurrents",
"help": {
"en": ["X-NUCLEO-IHM16M1: Close JP4 and JP7 solder bridge at the bottom to select single Shunts",
" Close J5 and J6 to polarize Opamp U2B and select the FOC gain"
]
},
"cost": 20,
"signals": {
"CURRENT_AMPL": [
{
"name": "MR24",
"help": "CN10.24. Factory default. Solder R42",
"cost": 0
},
{
"name": "MR18",
"help": "CN10.18. Factory default. Solder R41.",
"cost": 0
}
]
},
"shuntResistor": 0.11,
"amplifyingNetworkImax": 3,
"amplifyingNetworkVm": 3.3,
"amplifyingNetworkPrating": 1.4,
"offsetNetworkAttenuation": 0.764,
"opAmpGain": 2,
"polarizationOffset": 1.559,
"metaData": [
{
"type": "OpAmp",
"partNumber": "TSV994"
}
]
},
{
"type": "SingleShunt_AmplifiedCurrents_noOffset",
"help": {
"en": ["X-NUCLEO-IHM16M1: Close JP4 and JP7 solder bridge at the bottom to select single Shunts",
" Open J5 and J6 to select 6-step Opamp configuration"
]
},
"cost": 20,
"signals": {
"CURRENT_AMPL": [
{
"name": "MR24",
"help": "CN10.24. Factory default. Solder R42",
"cost": 0
},
{
"name": "MR18",
"help": "CN10.18. Factory default. Solder R41.",
"cost": 0
}
]
},
"shuntResistor": 0.11,
"amplifyingNetworkImax": 3,
"amplifyingNetworkVm": 3.3,
"amplifyingNetworkPrating": 1.4,
"opAmpGain": 2,
"metaData": [
{
"type": "OpAmp",
"partNumber": "TSV994"
}
]
}
]
},
{
"name": "STSPIN830Protection",
"type": "DriverProtection",
"hwVariants": [
{
"type": "SingleErrorTrigger_FixedReference",
"help": "How to enable this variant",
"signals": {
"DP_TRIGGER": [
{
"name": "MR14",
"help": "CN10.14. Factory default. Solder R35",
"cost": 0
},
{
"name": "MR16",
"help": "CN10.16. Factory default. Solder R37",
"cost": 0
}
]
},
"DPTriggerFilterDuration": 0,
"DPSignalPolarity": "Active low"
}
]
},
{
"name": "PhaseVoltageGeneration",
"type": "PhaseVoltageGeneration",
"driverName": "Driver or IGBT or MOSFET name",
"driverPN": "STSPIN830",
"minDeadTime": 500,
"maxSwitchingFreq": 100,
"tNoise": 500,
"hwVariants": [
{
"type": "DrivingHighSidesAndThreeEnables",
"help": "How to enable this variant",
"signals": {
"PWM_CHU_H": [
{
"name": "MR23",
"help": "CN10.23. Factory default",
"cost": 0
}
],
"PWM_CHV_H": [
{
"name": "MR21",
"help": "CN10.21. Factory default",
"cost": 0
}
],
"PWM_CHW_H": [
{
"name": "MR33",
"help": "CN10.33. Factory default",
"cost": 0
}
],
"PWM_CHU_EN": [
{
"name": "MR30",
"help": "CN10.30. Factory Default",
"cost": 0
},
{
"name": "MR15",
"help": "X-NUCLEO-IHM16M1: CN10.15. Solder R74",
"cost": 10
},
{
"name": "MR11",
"help": "X-NUCLEO-IHM16M1: CN10.11. Solder R79",
"cost": 10
}
],
"PWM_CHV_EN": [
{
"name": "MR28",
"help": "CN10.28. Factory default",
"cost": 0
},
{
"name": "MR15",
"help": "X-NUCLEO-IHM16M1: CN10.13. Solder R78",
"cost": 10
}
],
"PWM_CHW_EN": [
{
"name": "MR26",
"help": "CN10.26. Factory default",
"cost": 0
},
{
"name": "MR15",
"help": "X-NUCLEO-IHM16M1: CN10.15. Solder R69",
"cost": 10
}
]
},
"highSideSwitchesDrivingPolarity": "Active high",
"enableDrivingPolarity": "Active high",
"deadTime": 550
},
{
"type": "DrivingHighAndLowSides",
"help": "Remove R12 resistor. Set R11 to 0ohm.",
"cost": 10,
"signals": {
"PWM_CHU_H": [
{
"name": "MR23",
"help": "CN10.23. Factory default",
"cost": 0
}
],
"PWM_CHV_H": [
{
"name": "MR21",
"help": "CN10.21. Factory default",
"cost": 0
}
],
"PWM_CHW_H": [
{
"name": "MR33",
"help": "CN10.33. Factory default",
"cost": 0
}
],
"PWM_CHU_L": [
{
"name": "MR30",
"help": "CN10.30. Factory Default",
"cost": 0
},
{
"name": "MR15",
"help": "X-NUCLEO-IHM16M1: CN10.15. Solder R74",
"cost": 10
},
{
"name": "MR11",
"help": "X-NUCLEO-IHM16M1: CN10.11. Solder R79",
"cost": 10
}
],
"PWM_CHV_L": [
{
"name": "MR28",
"help": "CN10.28. Factory default",
"cost": 0
},
{
"name": "MR15",
"help": "X-NUCLEO-IHM16M1: CN10.13. Solder R78",
"cost": 10
}
],
"PWM_CHW_L": [
{
"name": "MR26",
"help": "CN10.26. Factory default",
"cost": 0
},
{
"name": "MR15",
"help": "X-NUCLEO-IHM16M1: CN10.15. Solder R69",
"cost": 10
}
]
},
"highSideSwitchesDrivingPolarity": "Active high",
"lowSideSwitchesDrivingPolarity": "Active high",
"deadTime": 650
}
]
},
{
"name": "SpeedAndPositionSensing",
"type": "SpeedAndPositionSensing",
"hwVariants": [
{
"type": "HallEffectSensor",
"help": {
"en":["X-NUCLEO-IHM16M1: By default Hall signals are connected to pull-up resistors suitable for open-drain interface",
"If your Hall sensors signals require a push pull interface, please remove JP3"
]
},
"cost": 1,
"signals": {
"HALLSENSOR_H1": [
{
"name": "MR4",
"help": "CN10.4. Factory default. Solder R81",
"cost": 0
},
{
"name": "ML17",
"help": "CN7.17. Factory default. Solder R43",
"cost": 0
}
],
"HALLSENSOR_H2": [
{
"name": "MR19",
"help": "CN10.19. Factory default. Solder R85",
"cost": 0
},
{
"name": "MR31",
"help": "CN10.31. Factory default. Solder R86",
"cost": 0
}
],
"HALLSENSOR_H3": [
{
"name": "MR2",
"help": "CN10.2. Factory default. Solder R87",
"cost": 0
},
{
"name": "MR25",
"help": "CN10.25. Factory default. Solder R84",
"cost": 0
}
]
}
},
{
"type": "QuadratureEncoderRelative",
"help": {
"en":["X-NUCLEO-IHM16M1: By default Encoder signals are connected to pull-up resistors suitable for open-drain interface",
"If your Encoder signals require a push pull interface, please remove JP3"
]
},
"cost": 1,
"signals": {
"QENC_A": [
{
"name": "MR4",
"help": "CN10.4. Factory default. Solder R81",
"cost": 0
},
{
"name": "ML17",
"help": "CN7.17. Factory default. Solder R43",
"cost": 0
}
],
"QENC_B": [
{
"name": "MR19",
"help": "CN10.19. Factory default. Solder R85",
"cost": 0
},
{
"name": "MR31",
"help": "CN10.31. Factory default. Solder R86",
"cost": 0
}
]
}
},
{
"type": "QuadratureEncoderAbsolute",
"help": {
"en":["X-NUCLEO-IHM16M1: By default Encoder signals are connected to pull-up resistors suitable for open-drain interface",
"If your Encoder signals require a push pull interface, please remove JP3"
]
},
"cost": 1,
"signals": {
"QENC_A": [
{
"name": "MR4",
"help": "CN10.4. Factory default. Solder R81",
"cost": 0
},
{
"name": "ML17",
"help": "CN7.17. Factory default. Solder R43",
"cost": 0
}
],
"QENC_B": [
{
"name": "MR19",
"help": "CN10.19. Factory default. Solder R85",
"cost": 0
},
{
"name": "MR31",
"help": "CN10.31. Factory default. Solder R86",
"cost": 0
}
],
"QENC_Z": [
{
"name": "MR2",
"help": "CN10.2. Factory default. Solder R87",
"cost": 0
},
{
"name": "MR25",
"help": "CN10.25. Factory default. Solder R84",
"cost": 0
}
]
}
},
{
"type": "BEMFSensingADC",
"help": "How to enable this variant",
"signals": {
"BEMF_U": [
{
"name": "ML38",
"help": "CN7.38",
"cost": 0
}
],
"BEMF_V": [
{
"name": "ML37",
"help": "CN7.37",
"cost": 0
}
],
"BEMF_W": [
{
"name": "ML36",
"help": "CN7.36",
"cost": 0
}
],
"BEMF_DIVIDER": [
{
"name": "MR1",
"help": "CN10.1",
"cost": 0
}
]
},
"dividingNetworkR1": 10000,
"dividingNetworkR2": 2200
}
]
},
{
"name": "VBusSensing",
"type": "VBusSensing",
"busVoltageDivider": 16,
"hwVariants": [
{
"type": "VBusSensing",
"help": "How to enable this variant",
"signals": {
"VBUS": [
{
"name": "ML28",
"help": "CN7.28. Factory default. Solder R33",
"cost": 0
},
{
"name": "MR6",
"help": "CN10.6. Factory default. Solder R31",
"cost": 0
},
{
"name": "MR28",
"help": "X-NUCLEO-IHM16M1: CN10.28. Solder R88",
"cost": 10
}
]
},
"busVoltageDivider": 16,
"busVoltageDividerR1": 180,
"busVoltageDividerR2": 12,
"busVoltageDividerR3": null
}
]
},
{
"name": "TemperatureSensing",
"type": "TemperatureSensing",
"hwVariants": [
{
"type": "NTCThermistor",
"help": "How to enable this variant",
"signals": {
"TEMPERATURE_NTC": [
{
"name": "MR34",
"help": "CN10.34. Factory default. Solder R82",
"cost": 0
},
{
"name": "MR18",
"help": "X-NUCLEO-IHM16M1: CN10.18. Please Solder R83 with a 0 ohm resistor",
"cost": 10
}
]
},
"v0": 579,
"t0": 25,
"gain": 27.4,
"maxSensorTemperature": 110
}
]
},
{
"name": "Potentiometer",
"type": "Potentiometer",
"hwVariants": [
{
"type": "Potentiometer",
"help": "How to enable this variant",
"signals": {
"POTENTIOMETER_LEVEL": [
{
"name": "ML35",
"help": "CN7.35",
"cost": 0
}
]
},
"potVm": 3.3,
"potRmax": 10000,
"potLevelMin": 0
}
]
}
]
}
]
}