I am making a project to control speed and position of multiple 3 Phase BLDC Motors using a Raspberry Pi 5. I am struggling with the number of PWM channels I will need and the lack thereof on the Pi itself. Through a lot of research, it sounds like PWM directly off the Pi is a bad idea anyways. I understand that the Pi is not the best MCU for this application, but it is what I have and what I want to try to make work. I have an IC that will control the IGBT's and the IC needs 6 PWM channels. This means I need 6 PWM channels per motor and I am starting with 2 motors. I picked the IC and all subsequent components already and have them in hand, they were picked with the foresight to control higher powered motors in the future.
I am planning on using a harmonic drive reducer to increase torque at the sacrifice of speed, which super high speed isn't that critical to me anyways.
All of this is to say, any recommendations on how to get the 6 PWM channels needed per motor out of the RPi5? Even if it means adding another IC between the RPi5 and the DGD2136M, I don't mind. The only ideas I had were this Adafruit PWM board, 16-Channel 12-bit PWM/Servo Driver - I2C interface - PCA9685:
It seems to greatly reduce PWM frequency though, which cuts speed control by alot. Also seems to be more geared towards LED control or Servo motor control.
All help is greatly appreciated.