HobbyKing.com New Products Flash Sale
Reply
Thread Tools
Old Feb 18, 2011, 02:04 PM
homo ludens modellisticus
Ron van Sommeren's Avatar
The Netherlands, GE, Nijmegen
Joined Feb 2001
10,868 Posts
New Hacker F3A controller MASTER Senstrol, sinusoidal commuation.

And on the Atmel site
AVR435: BLDC/BLAC Motor Control Using a Sinus Modulated PWM Algorithm

Prettig weekend Ron
Ron van Sommeren is offline Find More Posts by Ron van Sommeren
Last edited by Ron van Sommeren; Feb 18, 2011 at 02:09 PM.
Reply With Quote
Sign up now
to remove ads between posts
Old Feb 18, 2011, 03:15 PM
Registered User
Scotland
Joined May 2005
2,082 Posts
Sinusoidal control

Thanks, Ron. Very interesting.
George Shering is offline Find More Posts by George Shering
Reply With Quote
Old Feb 18, 2011, 03:16 PM
Registered User
Trevor_G's Avatar
Bedfordshire, UK
Joined Feb 2006
356 Posts
Quote:
Originally Posted by George Shering View Post
I have been working on Takao's program for the Thunderbird 9 ESC.
See further back in this thread.
I got it working fine with a lot of modifications.
Then I changed to a ramp startup after discussions here with Trevor.
Also worked fine.
Then I found, by chance, that it works even better with no start-up at all!
Faster than Takao's inductive kick and smoother than the ramp?
Is this just a coincidence with this particular setup?
Has anyone else seen it?
Quax, do you use a ramp?
I seem to remember saying that the best way to deal with startup is to ignore it. Which is very much what you have found. The only reason to ramp up is that there is an ideal speed to run at while you are starting and this varies from motor to motor. So I usually change the speed during startup that way if I have a difficult motor to start there is a good chance of hitting the "sweet spot". For this purpose I have used both ramp up and ramp down without noticable difference.

Perhaps I should have said I only ramp over a limited rev range ~ 2:1. Never go down to zero.

I can't help feeling there is a better way to start a motor. Despite trying a number of methods I have yet to find it!
Trevor_G is offline Find More Posts by Trevor_G
Reply With Quote
Old Feb 19, 2011, 05:24 AM
Registered User
quax's Avatar
NRW, Germany
Joined Apr 2004
711 Posts
Quote:
Originally Posted by George Shering View Post
....
Quax, do you use a ramp?
No, I don't use a ramp. For the commutation I start directly with BEMF evaluation. The commutation is forced by timeout, if the expected feedback doesn't come.

In the beginning this was done in a single loop, that served the startup and run mode. After a while I divided the single loop in a startup loop and a run loop, because there were problems with side effects between the modes.

cu
quax
quax is offline Find More Posts by quax
Last edited by quax; Feb 19, 2011 at 02:40 PM. Reason: word correction
Reply With Quote
Old Feb 19, 2011, 12:21 PM
Xtreme Power Systems
Lake Havasu, AZ
Joined Jun 2005
15,914 Posts
Sinus is much easier to do when the motor is sensored.
JimDrew is offline Find More Posts by JimDrew
RCG Plus Member
Reply With Quote
Old Feb 19, 2011, 01:24 PM
Registered User
Greece
Joined Nov 2009
443 Posts
I received my USBasp adapter.I must get some MCUs now...
AL3xGR is offline Find More Posts by AL3xGR
Reply With Quote
Old Feb 20, 2011, 09:33 AM
homo ludens modellisticus
Ron van Sommeren's Avatar
The Netherlands, GE, Nijmegen
Joined Feb 2001
10,868 Posts
Quote:
Originally Posted by JimDrew View Post
Sinus is much easier to do when the motor is sensored.
The Hacker Senstrol RPM controller uses sensors whereas the SLS controller series is sensorless and used for traction as well. Will we see sensored sinus-controllers first, later followed by sensorless controllers?

@Takao Shimizu
Any sinus controller development updates from Japan?





Ron van Sommeren is offline Find More Posts by Ron van Sommeren
Last edited by Ron van Sommeren; Feb 20, 2011 at 09:38 AM.
Reply With Quote
Old Feb 20, 2011, 12:33 PM
Xtreme Power Systems
Lake Havasu, AZ
Joined Jun 2005
15,914 Posts
There are already a couple of sensorless-sinus controllers available from Germany. The advanage of sinus controllers is they make very little noise while running (you hear just the prop) and have far less of an issue of losing commutation (sensorless). Of course sensored controllers/motors is the solution for applications where the motor is under constant load changes (boats for example). The downside to sinus controllers is that a true sinus controller can never run at "full throttle". The work around for that is to modify the sinus routine to expand the edges to allow full throttle, at which point it is a hybird - which I think is the best solution.
JimDrew is offline Find More Posts by JimDrew
RCG Plus Member
Reply With Quote
Old Feb 20, 2011, 02:53 PM
Registered User
Greece
Joined Nov 2009
443 Posts
(not about hacker esc...)
Any free C compiler? To compile Takao's sketches and use the source code without arduino....Any way to use AVR studio for compiling?(but without paying something)I think I must get one or two hex files(I will upload them to the IC using eXtreme Burner application and USBasp (?) )Please help..
AL3xGR is offline Find More Posts by AL3xGR
Reply With Quote
Old Feb 21, 2011, 03:26 AM
Suspended Account
Joined Dec 2010
11,764 Posts
Arduino/avrstudio? Can't you just use WinAVR?
timecop is offline Find More Posts by timecop
Reply With Quote  (Disabled)
Old Feb 21, 2011, 03:43 AM
Registered User
Tokyo, Japan
Joined Nov 2002
868 Posts
>Any sinus controller development updates from Japan?

It is already available.

http://www.semicon.toshiba.co.jp/eng...ver/index.html

ps
I had talked with MOSFET driver manufacture guy about new MOSFET driver technique. And Si-C device is available( from R-ohm).
So, I am testing new Si-C MOSFET and all new driver with Arduino.

Takao
Takao Shimizu is offline Find More Posts by Takao Shimizu
Reply With Quote
Old Feb 21, 2011, 08:02 PM
Registered User
Tokyo, Japan
Joined Nov 2002
868 Posts
Fixed the photo focus.
Takao Shimizu is offline Find More Posts by Takao Shimizu
Reply With Quote
Old Mar 03, 2011, 02:49 AM
Registered User
Tokyo, Japan
Joined Nov 2002
868 Posts
Arduino Sensorless BLDC some useful subroutines

You need the cranking to start for small power with these useful Arduino Sketch subroutines as step1.
(I am still contine writing the jet control program and testing new MOSFET driver).

Takao
Takao Shimizu is offline Find More Posts by Takao Shimizu
Last edited by Takao Shimizu; Mar 03, 2011 at 03:07 AM.
Reply With Quote
Old Mar 07, 2011, 02:53 AM
Registered User
Scotland
Joined May 2005
2,082 Posts
Timing

The algorithm I use, thanks Takao, measures the time from the commutation to the BEMF zero crossing, then adds on half again for the next commutation. So the zero crossing occurs at 2/3 of the way down the phase and as a phase is 60 degrees electrical this means at 40 degrees down the phase. Neutral timing might be at 30 degrees, so the above might be considered 10 degrees advance. Is this understanding correct?

If 3/4 is added on (easily calculated) it would be about 4 degrees, and if the full time is added it would be zero degrees.

Castle Creations offer 10 degrees, 5 degrees and 0 degrees as options. They suggest 0 degrees for outrunners. I thought I had read somewhere that 15 degrees was best for outrunners?

Trevor and Quax, what do you think?
George Shering is offline Find More Posts by George Shering
Reply With Quote
Old Mar 07, 2011, 06:25 AM
Registered User
Trevor_G's Avatar
Bedfordshire, UK
Joined Feb 2006
356 Posts
Quote:
Originally Posted by George Shering View Post
The algorithm I use, thanks Takao, measures the time from the commutation to the BEMF zero crossing, then adds on half again for the next commutation. So the zero crossing occurs at 2/3 of the way down the phase and as a phase is 60 degrees electrical this means at 40 degrees down the phase. Neutral timing might be at 30 degrees, so the above might be considered 10 degrees advance. Is this understanding correct?
Hi George,
Lets hold the discussion of what is the correct amount of advance to another time. It is to big a topic to be added in here.

Your calculations of advance seem to be correct. The question seems to be how easy is it to implement this on an ESC.

The first thing I discovered was that everything works around the State time. Your algorithm allows sudden changes in State time. Generally this is not good and can make starting and response to load changes difficult. In extreme cases it can cause the motor to stall. At the very least you will get timing jitter.

This is all very dependant on the motor you are running. You assume that the three coils are exactly 120 degrees apart and produce an identical magnetic field. From experience this is not a reasonable assumption. As a result the BEMF timings will jitter between states even when the motor is running at constant speed.

Let me explain how I do it. Firstly working in assembler (AVR) and wanting to keep the maths as fast as possible I like to keep to powers of 2.

1) I define a tick as 1/64 th of the state time. ~1 degree but dividing by 64 is much faster than dividing by 60.
2) Multiply tick time by advance and add it to half the state time. This is the target BEMF point.
3) When crossing occurs I work out the difference between the target and actual time. I divide this by 2 (to reduce the size of any change) and adjust the State time with this value.

The advantages of this approach are:
1) The maths are kept simple and are performed at time when the processor is not busy.
2) Advance can be adjusted in ~1 degree steps. I can do this while the motor is running
3) I avoid the sudden changes in State time that can cause timing jitter and othe problems.

Does this help?

Trevor
Trevor_G is offline Find More Posts by Trevor_G
Reply With Quote
Reply


Thread Tools

Similar Threads
Category Thread Thread Starter Forum Replies Last Post
Help! Output Waveform Of Reciever And The Bldc Controller CLEMENT DIY Electronics 4 Feb 01, 2010 08:08 AM
Discussion BLC-40 Thunder Tiger(ACE) BLDC controller Shread Power Systems 0 Mar 31, 2007 07:25 AM
BLDC controller advice needed Foxy DIY Electronics 13 Jul 10, 2004 07:37 AM