Trying the IHM07M1

I have been using SimpleFOC with the ST Nucleo G474RE and a SimpleFOCShield 2.0.4. In 3PWM mode, mostly open loop and experimenting with closed loop.

I have picked up the Nucleo IHM07M1 motor driver board. I would like to compare performance between this board and the Shield.

  1. the IHM07M1 supports hardware 6PWM on a single timer, correct?

  2. are these the right pins? And what should the enable pin be? (I am used to the Shield pins and Arduino pin names)

BLDCDriver6PWM driver = BLDCDriver3PWM(PA8, PA9, PA10, PC10, PC11, PC12, ??);

  1. I see a nice trim pot on the board for adjusting speed. Am i able to use the trim pot with SimpleFOC to fine tune the speed in OpenLoop during operation? (There was some drift at times with the Shield)

My application is a turntable, so fine tuning and speed stability are my most important needs.

Thank you!

No, it only supports 3PWM (with another 3 EN signals, but these are on a different timer). This is different from 6PWM.
The PWM pins are PA8/9/10, and the enable are PC10/11/12.

Yes you can read the trimpot and use this for speed control.
The shield actually also supports ABZ/UVW encoders, and SPI1 is still available through the shield, so if you want an encoder, you can get it working. There are some other threads on this forum about building a turntable that may be helpful. Especially, you need to make sure that your board has an external clock (HSE). The default on the G474RE is HSI, I don’t know if there is an external clock fitted or not.

Yes, I have the G474 running with HSE. It has a crystal oscillator. Much better speed stability than the F446 board which just has HSI. (Thanks to jazzboy for figuring that issue out out)

Does the X-NUCLEO-IHM16M1 support 6PWM?

Should do according to the product spec:

  • Flexible direct driving settable between 3 or 6 PWM inputs


It’s based on L6230 which doesn’t seem to do this, as far as I can tell…

[edit] oh, in response to the X-NUCLEO-IHM16M1…