The steps of setting up and using SOLO in Standalone mode
0. Turn off the system and Reset the Piano switchMake sure you have disconnected the power supply connected to SOLO or any other peripheral which is in contact with SOLO, after that you need to push UP all the pins of the piano switch which is their default position.
1. Apply the WiringsTo start with SOLO first you need to provide the Wiring of SOLO as following:
– The “DIR” is a 3.3V input, and it’s NOT 5v tolerant, to apply a 5V input you MUST use a resistor with a value between 1kΩ to 2.2kΩ, as can be seen here.
– By connecting or disconnecting the “DIR” input to the “GND” or the ground of the system, the direction of the rotation of the motor will change from C.W to C.C.W or vice versa. You can do the same by connecting DIR to +3.3V or to a +5V input using a 1kΩ resistor mentioned above
2. Select the Motor type using the Piano Switch
In This tutorial we are using a BLDC motor, and as you can see here, in the piano switch we should put the pin number 1 Down and pin number 2 Up to select the first type brushless motor with 20kHz of switching frequency at the output, this switching frequency is satisfactory for a wide range of Brushless and PMSM motors, but if your Brushless motor has a very low inductance ( below 400uH of phase inductance usually) you can select the ultrafast Brushless motor type and the switching frequency in that case will 80kHz.
You can also set any arbitrary switching frequency from 8kHz to 80kHz using digital commanding methods which SOLO provides through UART, CAN and USB for you.
3. Turn On the system
Now you can turn ON the main supply connected to SOLO’s power input 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, … )
4. Put SOLO into Open-loop mode
Since the control type we are using here is open-loop control, you need just to leave the piano switch number 5 in UP position.
5. Turn the Power potentiometer to increase or decrease the Power
This input acts in a way that, when you increase the voltage at “P/F” input, by turning the Power Potentiometer, from Zero volts (maximum resistance, here 10kΩ) to maximum of +5V, the peak voltage fed to the motor at the output of SOLO goes all the way up from 0V to the peak value of Vbus/sqrt(3) or Vbus*0.577 , since SOLO utilizes SVPWM modulation.
Vbus, here is the applied DC voltage at the input of SOLO using a power supply or a battery. So in practice you are increasing the peak voltage at the output, but due to that, the amount of injected current into the motor will also increase ( due to internal stator resistance ) and finally more power will be injected into the Motor.
-Be careful when you increase this value since in open-loop mode there will be no control over the maximum fed current into your motor, SOLO will stop the system if the current fed to the motor goes above 32A.
6. Turn the Speed potentiometer to increase or decrease the Speed
After you’ve applied some power into the motor by increasing the Power Potentiometer, you can now increase the speed potentiometer value to achieve some desired speeds, the maximum speed you can achieve is when you apply +5V at the “S/T” input by turning the potentiometer all the way up to the minimum resistance, the formula to calculate the speed relative to the voltage applied at “S/T” input can be calculated as :
Open-loop Speed in RPM for Normal Brushless Motor = (voltage applied at “S/T”)/(5.0* Number of Pole pairs)*12000
Open-loop Speed in RPM for Ultrafast Brushless Motor = (voltage applied at “S/T”)/(5.0* Number of Pole pairs)*30000
Open-loop Speed in RPM for AC induction Motors = (voltage applied at “S/T”)/(5.0* Number of Pole pairs)*12000
Number of Pole Pairs = Number of Poles / 2
The number of Pole Pairs by default in SOLO is 4 ( 8 poles), you can either change this value using UART, USB or CAN or you can try to recalculate the value of Speed based on your motor number of pole pairs and the mentioned formula.
For example in our case if we want to reach to 500 RPM with a motor with 8 poles, we should apply 0.83 V on “S/T” input: (500/12000)*(5.0*8/2)
– In open-loop control, if you force the motor to go to the speeds more than its nominal speed either it will go out of synchronization resulting in stopping or it will have different speeds than expected. – You need to make sure the amount of power applied into the motor is enough for your motor to reach to the requested speed depending on the load existing on the shaft of the motor
ResultsThe open loop speed control of 3 phase motors like brushless motors or AC induction motors are provided in SOLO just for those users who want to apply the simplest form of control over their motor, this method can be used for applications like FANs or specific other needs that the load on the shaft of the motor is not variable and fixed, if you want SOLO to control the speed of your motor intelligently and safely with unknown loads on the shaft of the motor, you should use the Closed-loop methods like Torque or Speed control which SOLO offers them both.
How to control speed of PMSM using ARDUINO and SOLO in closed loop sensorless mode | ESC | FOC | Sensorless
This Tutorial is dedicated to guide you step by step into controlling speed of a permanent magnet synchronous motor which are also known as PMSM or AC brushless motors. The method proposed here is the sensorless closed loop speed control which will result in the...
How to control the speed of BLDC motor using Arduino and SOLO in Closed-loop sensorless mode |FOC|BLDC|Sensorless
In this tutorial we are going to see SOLO controlling the speed of a BLDC motor using ARDUINO UNO as the commanding unit. SOLO, here, controls the speed of this brushless DC motor which is rated for 150W in closed-loop sensorless mode using FOC ( field oriented...
In this tutorial we are going to have our hands on SOLO controlling the speed of a DC motor using ARDUINO as the commanding unit. SOLO, here, controls the speed of the DC brushed motor in a closed-loop sensorless manner with nested Torque-Speed loops. If you are not...