Dear all,
I want to control a BLDC-motor using FOC with an external microcontroller that gets the desired values from simulink as an GUI.
Is it possible to give the Solo Uno just some setpoints, without controlling it anything? I would only need the Solo Uno for inverting the DC voltage and measuring the phase currents.
There is an image in the attachment.
Thank you all!
Best regards!
Hi @thetris93,
that gets the desired values from simulink as an GUI.
Just to clarify, what are these desired values?
As you might know the FOC in SOLO has 3 different loops, Torque, Speed, and Position Nested as shown in the image below, so as far as I understood, your MCU has access to the Position and Speed data, this means to close the FOC loops you will need SOLO to control only the Torque for you?
However, what type of sensors are you using on your BLDC? Encoders or Hall sensors?
Is it possible to give the Solo Uno just some setpoints, without controlling it anything?
For all the mentioned loops ( Torque, Speed, and Position) you just need to send the setpoint, of course before that you need to tune the controllers, but once the gains are tuned, you only need to send the references.
I would only need the Solo Uno for inverting the DC voltage
Can you explain what do you mean by this part?
measuring the phase currents.
You can have access to all the phase currents as well as converted Id and Iq currents for FOC, to know more about them you can read our UART and USB manual as well as CANopen manual that can be found in this page.
Regards
Milad
If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.
Hi Milan,
I really appreciate your fast response, thank you!
Just to clarify, what are these desired values?
The desired values would be reference speed and a limit for Iq. In further applications also a reference position.
However, what type of sensors are you using on your BLDC? Encoders or Hall sensors?
I am using hall sensors, but also absolut encoders are available, but unfortunately they are using I2C, which ist not supported by the SOLO UNO, right?
Hi @thetris93,
The desired values would be reference speed and a limit for Iq. In further applications also a reference position.
Ok great, so you need to put SOLO in closed-loop speed mode, then you have access to speed reference, and using the current Limit ( or P/F in analogue inputs) you can limit the Iq.
I am using hall sensors, but also absolut encoders are available, but unfortunately they are using I2C, which ist not supported by the SOLO UNO, right?
On SOLO UNO the absolute encoder is not supported ( it will be supported in our future products), however, the Hall sensors are fully supported and you need to set up and calibrate your hall sensors as well as find the current wirings based on the following article and included video at least once.
Let me know if you have any other questions.
Regards
Milad
If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.
Hi Milad,
Thank you very much for your help. I'm beginning the project with a SOLO UNO right now.
I just have another question. Is it possible to operate in closed loop position control with using the internal hall sensors of the BLDC? Theoretically, it should be possible because the output is similar to the one of an incremental encoder.
Thank you for your time and best regards,
TheTris93
Hi @thetris93,
I just have another question. Is it possible to operate in closed loop position control with using the internal hall sensors of the BLDC? Theoretically, it should be possible because the output is similar to the one of an incremental encoder.
The Position control now is only supported with Incremental Encoders with SOLO, so by using Hall sensors, you can only control the Torque and Speed, and if you want the position control using Hall sensors, you should close the position loop outside, in near future we will introduce a firmware update with Hall sensors position control enabled, but for now, you need to do that with an external controller.
Let us know if you have other questions.
Regards
If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.