In this tutorial, we will get experience on how to drive and control the torque of brushless AC or Permanent Magnet Synchronous Motor (PMSM) using SOLO alongside ARDUINO as a commanding unit. This control is based on Field Oriented Control principle in closed-loop sensorless mode.
Just to give you a very brief explanation about each of the mentioned terms like PMSM, FOC and Sensorless speed control, firstly we will define them and then we will proceed with the tutorial, you can skip the next 3 topics if you just want to jump into the tutorial itself and these topics are just for those who are interested and are not required to be known before using SOLO.
What is a Brushless AC or PMSM motors?
The scope of these Motors is mainly limited to low power (typically less than 50 kW) for the limitations imposed by the magnetic materials currently available to the construction of machines: the size and cost of the magnets are very high. However, this is an important field of application and in significant growth, including numerically controlled machine tools, industrial automation, robotics, light traction, heavy traction, wind generation. Furthermore, due to the virtual absence of rotor losses these machines do not require forced ventilation and are therefore suitable for applications like aerospace or contaminated environments.
These Motors consist of a cylindrical stators with symmetrical three phase windings resulting in generation of a sinusoidal magnetomotive force or BEMF, in simple language their BEMF has a sinusoidal shape in contrast to Brushless DC motors with Trapezoidal BEMF shape.
What is Field Oriented Control?
What is Sensorless Control?
The sensorless speed or Torque control refers to those type of controls in which they don’t require the user to use Encoders or other types of position sensors like Hall-Effect or Tactile sensors, so these controllers are able to detect and calculate the position and the speed of the rotor of the motors and subsequently eliminating the need for having any other kinds of sensors, but this is not their biggest advantage, their main advantages could be considered as:
1- Reduction of the components used, like sensors or the electronics used to run and condition the sensors outputs ( like the supplies, level shifters , … ) , which will reduce the probability of failure of the whole system due to having less components involved.
2- Reduction of Wiring in a system, so by using sensors of any kind, you’ll need to wire the sensors all the way from the position of fixation of the electrical motor to the control unit, this will make the assembly of the system harder plus bringing all the issues with wiring like limitation of distance, possibility of failure of the wire, bad junctions and so on.
3- Reduction of the Cost, it’s very apparent from the above mentioned reasons, how one can reduce the final cost of their system by eliminating the whole costs of sensors and wiring.
Of course like any other solutions, there will be pros and cons using sensorless methods, their main drawback can be considered as:
– Having a Minimum Speed restriction, these methods mostly rely on the feedbacks of voltage, current or BEMF coming back from the Motor, so if the motor doesn’t generate sufficient values the sensorless methods will have hard time to start their operation, as a result there’s a limit in minimum rotational speed defied, meaning that the sensorless controls can only start from a certain minimum speed in range of tens of RPM ( like 100 RPM ), so you can’t expect them to be very accurate in low speeds.
But altogether, the sensorless methods are very popular and desired in lots of systems like traction units and all the applications that the extreme precision of speed control is not a matter.
The steps of setting up and using SOLO alongside with ARDUINO:
0) Turn off the system
Make sure you have disconnected the power supply connected to SOLO or any other peripheral which is in contact with SOLO.
1) Apply the Wiring
To start with SOLO first you need to provide the Wiring of SOLO to ARDUINO as following:
As you can see SOLO is also capable of supplying ARDUINO Directly through its 5V output and as a result you will not need to have ARDUINO connected to any other devices like a PC to provide you the power.
2) Select the Motor type using Piano Switch
4) Turn On the system
Now you can turn on the main supply connected to SOLO’s power input (8-58V) and SOLO will immediately boot up with a blinking E2 LED while E1 LED is off which is the indication of a safe startup with no errors or malfunctions ( like over current, over voltage, … )
5) Put SOLO into Closed-loop mode
Under the following conditions you need to pull up and push down again the piano switch number 5 :
- In case of changing the Motor
- In case of changing the wiring of the motor ( not mandatory but better to be done )
- The very first time you run SOLO and you put it into closed-loop ( after receiving the factory made module )
6) Put SOLO into Torque control Mode
Just put the piano switch number 4 in OFF position (UP) .
7) Send PWM pulses from ARDUINO to SOLO
In this tutorial we could achieve the torque control of the shaft of the Brushless motors, which in simple language means controlling how forcefully your motor spins, this is different with controlling the speed of rotation, because as you might know, the rotational speed is a phenomenon cause by generated Torque in electrical motors. In the following video we explain better the “Torque Control” Term in Brushless Motors, but in nutshell, in torque control the goal is to keep the torque of the motors at a desired value and the speed of the rotation of the Motor depends highly on other factors like how much is the mechanical load on the shaft of the motor or the friction components and so on. As can be seen in the image below, the RED plot is representing the fixed torque on the shaft of the motor using SOLO, and the GREEN plot is the rotational speed plot while at certain points there’s an external load applied to the shaft of the motor. As can be seen whenever the load on the shaft has increased the speed decreased but still to the torque remained constant, which shows the dependency of torque control on the load. In the future in other articles we’ll try to expand this discussion.
SOLO features outstanding options for its users and one of them is enabling them to control the speed or torque of their BLDC, PMSM, BLAC motors in a sensorless closed-loop manner with cutting edge technology of Field Oriented Control, but what’s more interesting is...
Despite all the technologies available out there, brushless motors are still challenging to be properly driven and control due to their complex and mostly expensive controlling demands they require! But this article is aiming to instruct you through an easy and...
We have just finished the latest prototype of SOLO and now its time to put it into action. And guess what! We choose to test it with a real product: an Electric Scooter. We just bought a second-hand TAKIRA scooter right from Amazon and try to boost it by using SOLO...