Forum

SOLO connected to P...
 
Notifications
Clear all

[Solved] SOLO connected to Protoneer GRBL CNC board connected to Arduino UNO

16 Posts
2 Users
0 Likes
1,808 Views
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

I have connected the SOLO with a brushless motor as per the attached wiring diagram and please see attached the motor data sheet.

I have adhered to the following instructions (in Italics):

Ok, as I see in the wiring, there are some points you need to consider:

- As you are going to control the Speed and probably in Closed-loop mode, you need to connect the speed controlling wire to "S/T" input and not "P/F". The "S/T" pin, gets the reference for Speed or Torque (by PWM or analogue voltages), while "P/F" input  has two functionalities:

 

1- In Open loop mode: it's useful it defines the power injected into the motor, The reason you see the temperature in the motor is rising, is that you are increasing only the Power ( in open-loop), so SOLO will only push more current into the Motor without sniping it.

2- In closed loop mode: it used for limiting the current, and I highly recommend you to use SOLO in closed-loop mode.

The fast tips to setup your system:

0) Turn off SOLO
1) Make sure all the piano switches of SOLO are in Up position
2) Turn potentiometers “Kp”, and “Ki” in clockwise direction all the way back until they get blocked
3) Apply the required wiring
4) Select the Motor type using Piano Switch by putting Pin 1 Down and Pin 2 Up to select Normal Brushless Motor
5) Turn On SOLO
6) Put SOLO into Closed-loop mode by pushing piano switch number 5 Down, you should see a little vibration in the motor for a second
7) Put SOLO into Speed control Mode by pushing the piano switch number 4 in Down position
8) Tune the Kp and Ki potentiometers, rotate around 5 degrees the Kp and 1 degree the Ki in Counter clockwise direction
9) Increase the voltage on “S/T” pin by changing the pulse width ( if PWM pulses are sent) to increase or decrease the Speed of your Motor
10) You can limit the current by increasing the voltage at “P/F” input using current Limit potentiometer, the higher the voltage at “P/F” the lower will be the current, the value of current limit can be calculated from:

The current Limit value = ((5.0 – Analogue Voltage applied at P/F input)/5.0) * 32

I recommend, in the first steps, you leave the "P/F" input UN-connected ( No current Limit)

To learn more please follow:

    firstly, to lean about how to setup SOLO for doing Closed-loop control on Brush-less motors and Arduino pls read :
https://www.solomotorcontrollers.com/blog/bldc-motor-arduino-closed-loop-sensorless/

    To see another examples and  videos that I teach how to tune SOLO for different types of Brush-less motors please go to :

    - https://www.solomotorcontrollers.com/blog/control-speed-pmsm-arduino-closed-loop-sensorless-mode/
    - https://www.solomotorcontrollers.com/blog/control-speed-brushless-motor-manually-closed-loop-sensorless-mode/

The DC brushless motor specs are as follows:

7700 kV

12V max voltage

440 Watts

When I followed the above instructions (except having the resistor on the signal from Arduino), the motor initially vibrates and then makes a ringing noise and oscillates back and forward! If I turn KP all the way counter clock, it oscillates and rotates but the motor gets very hot.

I am not sure what I am doing wrong?

Any advice and assistance would be much appreciated?

This topic was modified 2 years ago 3 times by Solo

   
Topic Tags
SOLO Team
(@milad)
Illustrious Member Admin
Joined: 4 years ago
Posts: 546
 

Hi @gs76,

The motor you are using is actually a very fast Motor, so you need to put SOLO into the "Ultra-fast Brushless" Motor type. to do that, you need to repeat the fast track tips mentioned above, and in Step 4, you need to select UltraFast Brushless motors, by leaving Both Pin 1 and 2 in UP position. Then you need to follow the rest of the steps, make sure you re-identify the motor while the type of the Motor is correctly set on Piano Switch. ( Always select the type of the Motor first, Run the ID. by putting Pin No# 5 Up and then pushing it back DOWN while SOLO is powered)

For these types of Motors, you need to increase the speed Kp and Ki (potentiometers) for very small values ( maybe 2 degrees for Kp and 1 degree for Ki), and especially the Kp. Start increasing the speed for the first time from 0 to some values slowly and observe how the system behaves.

Please also watch the following video from 17.00 to see how I set up a motor similar to your's with SOLO:

https://www.youtube.com/watch?v=zNKuu76kWMY&ab_channel=SOLOMotorControllers

Let me know the results.

Regards
Milad

 

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

Thank you.

I will try this and get back to you.

Regards,

Gary


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

Hi @milad,

I followed your suggestions.

The motor went silent initially and then when I issued commands to increase speed it started vibrating again. I then turned the "Kp" counter-clockwise and it rotates but vibrates at the same time. I then increased the speed and there was an increaser in speed and less vibration until it stopped and then the error lights "E1" and "E2" came on. I quickly cut power.

What could I be doing wrong? Perhaps I should connect a less powerful motor to protect the board for now?

Thank you again for all the guidance.


   
SOLO Team
(@milad)
Illustrious Member Admin
Joined: 4 years ago
Posts: 546
 

Hi @gs76

Ok, Just one thing that I forgot to ask you was How many poles your motor has? 

Number of Poles = Number of pole pairs * 2

so in Motion Terminal, we need to set this value as well, for example, if your motor has 4 poles, you need to set that using the Motion terminal.

to do another test, I recommend you this time, you try to run the Motor, only using Motion Terminal so we make sure the issue is not with your hardware, to do that, pls do the following steps:

 

  1. Put Piano Switch Number 5 Down, and the rest UP ( just to remain in Closed-loop mode with fast brushless motors selected)
  2. Turn ON SOLO and Open the Motion terminal and connect to SOLO
  3. put the number of poles ( if your motor has less than 4 poles, leave 4 poles for now as the value)
  4. select the Motor type as BLDC-PMSM ultra-fast
  5. Run the Identification ( it's needed only 1 time, and the values will remain in non-volatile memory, even after power recycle)
  6. from the "Command Mode*" select Digital, as we are going to control SOLO now in Digital Mode, using data packets sent through USB or UART
  7. from the "Control type*" select the Speed
  8. put the "Speed/Torque Control Mode*" on Sensorless
  9. set for speed Kp and Ki, some values, for example, start with 0.0002 for Kp and 0.0001 for Ki
  10. Now you can set the desired speed, so by putting as an example 2000RPM, inside "Speed Reference [RPM]" and see how the motor behaves
  11. Now you can tune the parameters, if the motor didn't move at all, try to increase Kp, very slowly, maybe just adding 0.0001 each time
  12. once the Motor started to move try to increase the speed with known steps of 500 RPM each time and see where is the limit.

 

Please try these steps and let me know the results.

 

By the way, during the past two months, we've been laser-focused on "Ultrafast brushless motors" and we could increase the performance of SOLO much more, a firmware now is passing the last tests, and within approximately 10 days, the new firmware will be released which will enhance much more the quality of speed control for ultra-fast motors. For now, I hope we can make your motor running with the tips I've mentioned above, and then once the new firmware comes, we will have a better experience.

I will remain available.

Regards

Milad

 

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

Thank you for the information.

I will try this today and let you know.

I look forward to the firmware upgrade. I can wait another 10 days. It is not a problem for me.

Thank you again for your support. 


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

How are you?

Please the "screenshot" attached of the settings I used. The motor is identified as it rotates over a small angle and vibrates.

I have then increased speed Kp of 0.0002 by 0.0001.

I have got to a certain value and it is still not rotating.

What does this tell you?

Thank you.

 SOLO Terminal Values

   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

I opened the motor.

I see 3 slots in the stator. Please see attached pic.

Does this mean it has 6 pole?

 20201118 085523

   
SOLO Team
(@milad)
Illustrious Member Admin
Joined: 4 years ago
Posts: 546
 

Hi @gs76

Regarding the Number of Poles, you should check the Rotor of the Motor, I think the picture is from the stator part of the motor, the Rotor is the part that rotates and the stator is the part that stays firm. Once you look at the rotor, the number of magnets on the rotor defines the Number of Poles.

Regarding your tuning of Speed controller gains:

Posted by: @gs76

I have then increased speed Kp of 0.0002 by 0.0001.

please keep increasing the Kp with steps of 0.0001 and see what changes, at a certain point the Motor should start rotating, also, you need to give it some time, once the KP gain is very low, it might take some seconds until the motor starts rotating. ( you need to be sure that you properly put the Motor into Digital Mode, so after setting the command Mode, make sure the reading also shows you the mode is in Digital  )

pls also after setting any parameters, Read them, to make sure they are properly set on SOLO. I also like to see what you Read for Current Controller Kp and Ki? can you attach their readings?

 

Posted by: @gs76

I look forward to the firmware upgrade. I can wait another 10 days. It is not a problem for me.

Yes, certainly the next firmware will behave considerably better, but still, I expect you could start running the motor with your firmware version as well. so please try these and let me know.

 

Regards
Milad

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

Please see the screenshot of the values "read" back from SOLO. This is after I entered 2000 rpm.

I check the rotor. It is solid. There are no segments.

 SOLO Terminal Values Read

   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

Please see attached the values read from SOLO, for the motor identification! Not sure what this tells us.

 SOLO Terminal Values Motor Identification Read

   
SOLO Team
(@milad)
Illustrious Member Admin
Joined: 4 years ago
Posts: 546
 

Hi @gs76,

sorry for the late response, I was doing the last checks on the newest firmware on Ultra-fast brushless motors which I will share with you some of the results. but before that I will go through your questions:

Posted by: @gs76

Please see attached the values read from SOLO, for the motor identification! Not sure what this tells us.

it seems that the Identification went fine as the current controller gains are looking rational to me so it seems we are not having any problem at this stage.

another test that we can go through will be identifying the Motor as an Ultrafast motor, but controlling its speed like a Normal brushless motor, just to see how the speed controller behaves, to test this, you need to do the same steps in Motion Terminal except some changes that I will explain below in Bold italic:

  1. Put Piano Switch Number 5 Down, and the rest UP ( just to remain in Closed-loop mode with fast brushless motors selected)
  2. Turn ON SOLO and Open the Motion terminal and connect to SOLO
  3. put the number of poles ( if your motor has less than 4 poles, leave 4 poles for now as the value)
  4. select the Motor type as BLDC-PMSM ultra-fast
  5. Run the Identification ( it's needed only 1 time, and the values will remain in non-volatile memory, even after power recycle)
  6. Put the PWM frequency at 79kHz and set it.
  7. Now put the Motor Type in Motion Terminal on "BLDC-PMSM" which is the Normal Brushless type
  8. from the "Command Mode*" select Digital, as we are going to control SOLO now in Digital Mode, using data packets sent through USB or UART
  9. from the "Control type*" select the Speed
  10. put the "Speed/Torque Control Mode*" on Sensorless
  11. set for speed Kp and Ki, some values, for example, start with 0.0002 for Kp and 0.0001 for Ki
  12. Now you can set the desired speed, so by putting as an example 2000RPM, inside "Speed Reference [RPM]" and see how the motor behaves
  13. Now you can tune the parameters, if the motor didn't move at all, try to increase Kp, very slowly, maybe just adding 0.0001 each time
  14. once the Motor started to move try to increase the speed with known steps of 500 RPM each time and see where is the limit.

In this setup, you need to go through the tuning of speed controller Kp and Ki again like before and see how the speed increases. so in nutshell, we identified the Motor as an Ultrafast, but we are controlling it like a normal one.

The manual setting of PWM frequency is due to the fact that, once you select "Normal Brushless" motor using a Piano switch or using the motion terminal, by default 20kHz will be selected for PWM frequency, but your motor needs much higher frequencies, so in order to overwrite the default value of SOLO, we set it manually in Motion Terminal. ( you can go back to default values by resetting to the factory settings).

So please carefully check this and let me know what has changed.

Posted by: @gs76

I check the rotor. It is solid. There are no segments.

ok, so it's not very clear the number of Poles, maybe you should check it's manufacturer website or where you bought it, I think either it should be 2 or 4, but for current tests, pls put it at 4 in Motion terminal, this will not affect our tests at the current stage. 

 

by the way, do you have the part number of your motor? or the website you bought it?

 

Regarding the last Firmware, which will be approximately released by the end of next week, alongside with an update in Motion terminal for Monitoring critical variables, I did a test using the following motor and the results are as below:

The Motor under test(4150 KV): 

https://hobbyking.com/en_us/turnigy-trackstar-sct-5t-sensored-brushless-motor-4150kv-550-size.html?___store=en_us

The Speed/Torque controlling Results using SOLO in Motion Terminal:

As you can see below, in New firmware, SOLO is able to control the speed of this motor up to 20000RPM in this test in Sensorless Mode. The Red Plot is the Speed Plot and the Purple one is the Torque. This firmware is passing it's last tests, and very soon it will be available for you and other SOLO users.

Forum 17

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

Please see the attached image.

The motor started rotating... Thank you. Small victory!

It then got to 4000 rpm (incrementing in 500rpm steps from 2000 rpm) and then it stopped with both error lights coming on?

Progress. What should we try next?

 SOLO Terminal Motion Achieved

   
SOLO Team
(@milad)
Illustrious Member Admin
Joined: 4 years ago
Posts: 546
 

Hi @gs76,
Ok great, actually for the type of Motor you are using with 7700 KV we are approaching the limits of the Firmware Version V004 which your SOLO has, but this is a good sign, as in Version V005 which is coming soon, the performance for these types of motors will be significantly better, and I can expect that we can reach to 20000 to 30000 RPM there in sensorless mode.

The process in the next firmware will be exactly the same, and there you'd be able to put SOLO back into Ultra Fast brushless motors type.

I think for now, you can try to find the best tunings for Kp and Ki, or changing the number of poles for 6 or 8 and see if the behavior changes, but in general, to get a reasonable response, it's better to wait for the next firmware within approximately end of the next week.

Just a question, for the type of application you have in CNC, what speed is your goal? and how you want to approach the specimen? are you going to do the machining while the Motor is already in contact with the specimen or you will reach the speed and then put them in contact?

Regards
Milad

 

 

If you found the answers helpful and you could solve your problems, please kindly verify here to help others in the future.


   
Forum 1
 GS76
(@gs76)
Trusted Member
Joined: 3 years ago
Posts: 48
Topic starter  

@milad

Thank you for the feedback.

My intention was to bring the motor up to the correct speed for diameter of end mill (this will be a max speed of 30000rpm for now) and then touch the surface. Why do you ask? Are you asking as the speed will drop and torque requirements will go up when touching the surface.

My machine will be doing the same operation as this link shows. Very similar arrangement.

https://youtu.be/w1SaQ8PfMlI

 


   
Page 1 / 2
Share: