cancel
Showing results for 
Search instead for 
Did you mean: 

EVAL-KIT-ROBOT-1

DBrag.1
Associate II

Hi,

have a question, i don't understand the difference in holding register from low register (address 0) and high register(address 1). I used QmodBus 0.2.1 and if i set degree in low register i have no problem.. But in a High register if set a value >0 the motor start with casual rpm..

Second question, i want generate the FW binary.. i Used MCworkbench and set in speed mode. Push on Generate but i have no binary but only the project. Can you help me pls?

Thx

1 ACCEPTED SOLUTION

Accepted Solutions
Enrico Poli
ST Employee

Hi @DBrag.1​ ,

The holding registers at addresses 0 and 1 set target position. The firmware manage target position in 32bit format, but MODBUS's holding registers are 16 bit only, so register#0 sets LS bytes and register#1 sets the MS ones.

Your issue could be due to the relation between final position and motion duration: the far the final position, the longer should be the time (register#2).

About your second point: the motor control SDK generates a project targeting the IDE you selected (IAR Embedded Workbench, ARM/Keil uVision or STM32CubeIDE). In order to generate the binary you need to open the project and compile it.

If you do not have an IDE already installed, I can suggest you to download and install the STM32CubeIDE from st.com. No license is required.

Please note that you need a compatible SWD programmer/debugger to download the compiled firmware into the STSPIN32F0 (e.g. STLINK-V2 or STLINK-V3)

View solution in original post

9 REPLIES 9
Enrico Poli
ST Employee

Hi @DBrag.1​ ,

The holding registers at addresses 0 and 1 set target position. The firmware manage target position in 32bit format, but MODBUS's holding registers are 16 bit only, so register#0 sets LS bytes and register#1 sets the MS ones.

Your issue could be due to the relation between final position and motion duration: the far the final position, the longer should be the time (register#2).

About your second point: the motor control SDK generates a project targeting the IDE you selected (IAR Embedded Workbench, ARM/Keil uVision or STM32CubeIDE). In order to generate the binary you need to open the project and compile it.

If you do not have an IDE already installed, I can suggest you to download and install the STM32CubeIDE from st.com. No license is required.

Please note that you need a compatible SWD programmer/debugger to download the compiled firmware into the STSPIN32F0 (e.g. STLINK-V2 or STLINK-V3)

DBrag.1
Associate II

OK thank you very much. I think there is another problem, because if motor absorption is major than 0.7A it stops working. I Have an STLINK-V3.

So i have two Kit Robot and the second i want to use it in speed mode. I generated the binary with parameter "speed" and i put in second board but i can't connect and check it with MCworkbench. I set a baudarate to 9600 and change the connections like in image.

0693W000008wHiNQAU.jpg0693W000008wHnIQAU.jpg 

Enrico Poli
ST Employee

If you want to bypass the RS485 transceiver and use the STLINK-V3 VirtualCOM instead, you need to check the following:

  • UART is properly configured in the MCWB: TX/RX mapped on PB6/PB7 and baudrate 9600
  • STR485 disabled or unmounted (I see from your pic you removed it, please check no shorts are present)
  • STLINK-V3 connection (hardware board MB1440): CN3 RX pin connected to TP13 and TC pin connected to TP14. Please note that labels on the CN3 connector could be misleading. As indicated in page 25 of the UM, TX/RX labels refer to the target not the STLINK itself.
  • Connect the ground of the EVALKIT-ROBOT-1 board (TP18 or any other ground connector) to the STLINK-V3 (e.g. CN4 pin 3)
  • Keep the connection cables as short as possible in order to avoid noise
DBrag.1
Associate II

Hi,

i followed your check point, but device doesn't connect with MCWB. My connection and parameter setted on MCWB:

0693W000008wMLiQAM.jpg0693W000008wMLOQA2.jpg0693W000008wML4QAM.jpg0693W000008wMKzQAM.jpg0693W000008wMKpQAM.jpg0693W000008wMKaQAM.jpg0693W000008wMKVQA2.jpg

Enrico Poli
ST Employee

Hi,

I notice only now that you connected the TX line to wrong test point, sorry for that.

TX is on TP14, but you connected it on TP15:

0693W000008wMXoQAM.pngLet me know if this solve your issue

DBrag.1
Associate II

Perfect! It working : )

Thx

DBrag.1
Associate II

Hi,

i would like use the speed mode FW with modbus, it is possible? For to do this i should change code or i can put the parameter (rpm) in a specific register?

Hi @DBrag.1​ 

Glad to read the board works now.

For this new question, could you please open a new post?

In the community it is better to keep topics separated, this helps other members with your same need finding what they are looking for.

If you tag me at the end of the post, I'll be promptly warned of it ;)

Thanks for your cooperation!

Laurent Ca...
Lead II

Hi @DBrag.1​ 

Yes, please, Can you open a new one.

Only one topic by thread in this forum.

Best regards

Laurent Ca...