cancel
Showing results for 
Search instead for 
Did you mean: 

EVLDRIVE101-HPD firmware example is missing.

JamesPark
Associate

I would like to have a firmware example for EVLDRIVE101-HPD.
Do you know where I can find firmware examples for this board?

10 REPLIES 10
ADAVE.1
ST Employee

Hi @JamesPark 

here's the board description file (JSON file) of the board that you can import and use to generate the code.

Alessio

Hi ADAVE.1

Are there any MCWB example project files available for the EVLDRIVE101-HPD?

This JSON file you published only accesses the "General Info" on the product, which is all on the ST web site. Where is the example project file? The EVLDRIVE101-HPD is not listed under "Control Board" or "Power Board" from New Project.

The nearest combination of STDRIVE101 plus STM32G071 selectable in MCWB appears to be:

EVALSTDRIVE101

NUCLEO-G071RB

X_NUCLEO-IHM09M2

but there the trail stops - "Next >" is greyed out, so we can't even port the code.

Is there an .ioc file available for the EVLDRIVE101-HPD (CubeMX doesn't recognise the EVLDRIVE101-HPD)? At least that would be a starting point.

John T.

What version of MCWB are you using? I have it on v6.3.0.

It should be listed there. It's under "Inverter". 

Thanks Mitch1

We're using MCWB 6.3.0, yes.

OK, we have it now. You can only select one of the specific motor types that are included in MCWB. Not a "generic" motor type which you can tailor later in the tool. If you select the "Inverter" without a specific motor type, then both the "Next" and "OK" are greyed out, so not project file is generated.

Best regards

John T

Hi @John Thorne 

you can either

- when creating the project and selecting the motor, you can clone an existing one by clicking on the bottom right icon of an existing motor and tailor the values with your ones

- import a new motor file, created by yourself, using an existing one as a template

- create the project with an existing motor and change the values inside the project

Regards

Alessio

Thanks @ADAVE.1 Alessio

Hi ADAVE.1 or other ST Employees

I just started to use EVLDRIVE101-HPD for a 36V 50W hallsensor PMSM motor. The SW creation process (MotorControllerWorkBench -> STMCubeMx -> STMCubeIDE -> Build Project) works fine and I can build and debug the code. However, your whitepaper "um3257-getting-started-with-the-evldrive101hpd-compact-circular-reference-design-based-on-stdrive101-for-highcurrent-brushless-motors-stmicroelectronics" indicates that this motor control EVK shall include means (HW+SW) for easy start/stop via J8-5 and speed control via a potentiometer connected to J8-7. Something the content of your JSON file confirms. But the code generated does not contain this function and CubeMX do not assign the pins.

Can you please say where to find (or send me) example code to get this operational, e.g a code that starts/stops via J8-5 and regulate speed via J8-7?

 

Thanks

Magnus

 

Hi @Mohrlund ,

to regulate the speed via J8-7 you need to connect an external potentiometer to that pin as explained in the json file. The generation of the code is activated enabling the flag "Potentiometer" in the section "Stage configuration" of the workbench.

As far as the start/stop via J8-5 is concerned, this pin is meant to be used with an external hardware trigger switch. When J8-5 is not grounded the power supply is disconnected from the MCU and no communication is then possible with the board (please refer to schematics). So, there's no code to handle it. On the other hand, if you want the motor to spin as soon as you press the trigger switch, you only need to add the API function call   MC_StartMotor1() in main.c, in the position indicated by the attached picture.

Alessio

Capture.PNG

Thanks for a very swift and accurate reply Alessio!

Activating the "POTENTIOMETER" flag made CubeMX add that pin, but nothing shows up in the code as far as I can see. What is the intended function of this flag in the code (and behavour when running the motor?)

Adding MC_StartMotor1() to main.c made indeed the motor to start spin, but only for 1-2 seconds. Then it stops without any information. Do you know why?

Can you please also tell how to use the UART interface to monitor the motor?

Thanks!

Magnus