Sensorless at standstill, development updates and status

Electric Motors and Controllers
User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Dec 14 2018 6:21am

Another early drill video (sorry this one is sideways to get the laptop screen in the picture):



BLDC drill running at (close to) full torque, sensorless running on saliency... meaning the phase information for the FOC control loop comes from additional code that measures the differences in the motor inductances.
This is an early version, later versions have improved accuracy for the phase detection (and so require a bit less phase current). At this point there was no transition to standard sensorless FOC yet.

Note: the voltage indicated on the laptop is double the actual voltage, a mistake in the LabVIEW program...

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Dec 14 2018 6:22am

billvon wrote:
Dec 13 2018 12:14pm
Lebowski wrote:
Dec 12 2018 12:17pm
I am not a company starter. I cannot really do anything with this tech except build a one-of-a-kind ebike :? . Want to get rid of it (sell it), maybe get a consultancy job with the buyer...
I'd recommend doing a reference design - a PWB that you can build 20 of, that will also drive a motor. (Pick a motor you like and design for that.) That gets you your controller, and it gives you the ability to easily demo it to other people. Get them to sign a non-disclosure that states they will not reverse engineer it or tell other people how it works. That's your legal protection.
A Zero would make a nice test vehicle...

User avatar
emmgee   10 W

10 W
Posts: 75
Joined: Jun 16 2010 6:34am
Location: CH

Re: Sensorless at standstill, development updates and status

Post by emmgee » Dec 14 2018 8:13am

Maybe not a Zero, but something similar... in the meantime we have 2 Quantya's sitting around unused with broken DC-Controllers and I would be happy to bring you one (street legal) for experimenting as long as you want. For the motor I'm thinking about buying a Revolt RV-160Es, not a monster (~20kWp) but enough to have fun if combined with the right controller. A nice combo for demonstration/prove of concept purposes?
Modified Scott Nitrous, 74V, MagicPieV2, waiting for Lebowski-Controller.
Quantya Evo1 and eScooter vRone, waiting for Lebowski-Controller and brushless motor.

billvon   100 MW

100 MW
Posts: 2792
Joined: Sep 16 2007 9:53pm
Location: san diego

Re: Sensorless at standstill, development updates and status

Post by billvon » Dec 14 2018 12:00pm

Lebowski wrote:
Dec 14 2018 6:22am
A Zero would make a nice test vehicle...
It could be literally anything you wanted - but ideally it should be something that other people could get their hands on too.
--bill von

User avatar
Arlo1   100 GW

100 GW
Posts: 8332
Joined: Apr 26 2009 10:36pm
Location: Nanaimo
Contact:

Re: Sensorless at standstill, development updates and status

Post by Arlo1 » Dec 15 2018 12:58am

Great work Lebowski.

This is very exciting but becomes less exciting when I read you don't want to make IC's.... SO someone like me can't play with it??
I have a new build coming on line VERY soon....

I can send you a Zero motor for Christmas if you like.
Does your project need a high performance motor drive, battery charger or other power electronics developed? Let's talk!
www.powerdesigns.ca
Leaf motor controller build. http://endless-sphere.com/forums/viewto ... 27#p963227
YSR build http://www.youtube.com/watch?v=BRo8r5g4NBg
Never above 4.2v never below 2.7v EVER!!!
Support me on Patreon. https://www.patreon.com/user/posts?u=6842045
http://www.undergroundelectrics.ca/

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Jan 03 2019 1:43pm

With transition between saliency and bemf running. The transition is around 6 k-erpm, drill can now reach top speed (44k-erpm), limited by battery voltage:



Smoke   100 W

100 W
Posts: 145
Joined: Nov 15 2018 11:04pm

Re: Sensorless at standstill, development updates and status

Post by Smoke » Jan 03 2019 3:27pm

Very cool. I wonder if there might be an analog embodiment of your technique?

If you can ditch the processor and build it on a fully depreciated Fab with a simple process (12-13 masks), you might make something cheap enough that it wouldn't be worth copying.

If you can get it in every cordless tool, vacuum cleaner and toy car, the volume might make some $$$.

I used to work for a company that did that with DC-DC switch mode regulators and saw them go from start-up to a legitimate player in the industry.
Don't let me out.

User avatar
Arlo1   100 GW

100 GW
Posts: 8332
Joined: Apr 26 2009 10:36pm
Location: Nanaimo
Contact:

Re: Sensorless at standstill, development updates and status

Post by Arlo1 » Jan 03 2019 3:56pm

Great work lebowski.
Does your project need a high performance motor drive, battery charger or other power electronics developed? Let's talk!
www.powerdesigns.ca
Leaf motor controller build. http://endless-sphere.com/forums/viewto ... 27#p963227
YSR build http://www.youtube.com/watch?v=BRo8r5g4NBg
Never above 4.2v never below 2.7v EVER!!!
Support me on Patreon. https://www.patreon.com/user/posts?u=6842045
http://www.undergroundelectrics.ca/

lizardmech   10 W

10 W
Posts: 67
Joined: May 19 2017 4:16am

Re: Sensorless at standstill, development updates and status

Post by lizardmech » Jan 05 2019 1:03am

Lebowski wrote:
Dec 12 2018 5:09am

Thinking about what to do now with this tech. I do not plan a controller IC with this as for me it is more of the same, basically lots of not interesting work. Also setup might be too difficult and would ideally require a PC with Labview for drawing performance diagrams. I was thinking about building an ebike with this, but again lots and lots of work with no real return... Am busy trying to get other companies interested, but found the whole process with the first company very stressfull, just not my cup of tea. I am a researcher, not a business person. Coming up with the concept, build a working prototype, but after that I loose interest and want 'to throw it over the wall' so to say (expression we used in Philips meaning giving it over to a product division who then build the consumer version).

Just wanted to let you guys know where I'm at with this...
What about crowd funding an initial open source release then charging for technical advice and feature requests? When it comes to open source FOC controllers there's very little around despite the demand, the only real option is the VESC which is quite good but Benjamin who made it is usually too busy to work on it and turns down paid work.

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Jan 05 2019 3:19am

Hmmm, sounds interesting. Are there examples on the net ? Which crowdfunding website would be a good one ?

User avatar
eee291   10 kW

10 kW
Posts: 944
Joined: Nov 05 2015 4:35pm
Location: Austria, Burgenland

Re: Sensorless at standstill, development updates and status

Post by eee291 » Jan 05 2019 8:24am

www.gofundme.com is pretty popular.
They take about a 8% cut.

User avatar
spinningmagnets   100 GW

100 GW
Posts: 11195
Joined: Dec 21 2007 10:27pm
Location: Ft Riley, NE Kansas

Re: Sensorless at standstill, development updates and status

Post by spinningmagnets » Jan 05 2019 11:54am

Every open source project I've found has a very happy and enthusiastic "paying customer" base. I can't speak for everyone, but from my perspective, my support of an "open source" product over proprietary is that I know if the company (or original creator) abandons the updates and support, there is a community that can (and will) provide answers to questions.

When something proprietary goes bankrupt, the products will often get orphaned. One recent example is BionX kits. Places like ES will have answers to some questions, but the best way to quickly get an orphaned BionX kit working is to hack an external controller and throttle. If the BionX controller was "open source" then many more enthusiasts would feel comfortable buying a used BionX.

One example is the KT controllers, and specifically, the KT-based Tong Sheng TSDZ2 controller. The ES thread on them is over 100 pages. It has been reported that the open-source firmware performs much better than the stock settings. Not only that, a used TSDZ2 would gladly be snapped up on sale, over a used BionX.

ES posters typically have a soldering iron and know how to use it, but there are millions of potential customers with money to spend who do not want to take the time to learn something new, then download a program and adjust the settings. Don't look at the number of customers you will lose by being open source, look at the number of customers you will gain BECAUSE you are open source. The trend for the near future is open source...

SamD performs firmware adjustments remotely on Mobipus controllers, "for a fee", so keep some of the obscure techie settings difficult to access. Like Spotify, there is a large free section with ads, and for a small monthly fee, there are additional upgraded features for the platinum-member users.

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Jan 05 2019 2:35pm

Well, I am considering writing down how the 'standard' Lebowski controller works, but not releasing the code.

All I think about when I hear open source is lots of companies getting rich of my work without any kickback to me (even though I spent a few 100k$ worth of time and thousands of my own money on computers, lab equipment and parts). Second, as an unemployed at the moment I also think about all the people who will not have a job because their company uses open source instead of a few engineers to develop their own solution...

User avatar
Arlo1   100 GW

100 GW
Posts: 8332
Joined: Apr 26 2009 10:36pm
Location: Nanaimo
Contact:

Re: Sensorless at standstill, development updates and status

Post by Arlo1 » Jan 05 2019 3:52pm

The path forward is open source. The more you share the more others want to help. Patreon is a good platform. Jordan Peterson and another guy are bringing out a new platform as well.

Jordan Peterson shared all of his lectures for free on you tube 20+year's worth and people are giving him close to $100k/month because of it though Patreon.
Does your project need a high performance motor drive, battery charger or other power electronics developed? Let's talk!
www.powerdesigns.ca
Leaf motor controller build. http://endless-sphere.com/forums/viewto ... 27#p963227
YSR build http://www.youtube.com/watch?v=BRo8r5g4NBg
Never above 4.2v never below 2.7v EVER!!!
Support me on Patreon. https://www.patreon.com/user/posts?u=6842045
http://www.undergroundelectrics.ca/

User avatar
spinningmagnets   100 GW

100 GW
Posts: 11195
Joined: Dec 21 2007 10:27pm
Location: Ft Riley, NE Kansas

Re: Sensorless at standstill, development updates and status

Post by spinningmagnets » Jan 05 2019 4:06pm

Lebowski, open a Patreon account, and I will donate today.

district9prawn   100 W

100 W
Posts: 251
Joined: Jul 20 2013 10:46pm
Location: Sydney

Re: Sensorless at standstill, development updates and status

Post by district9prawn » Jan 05 2019 7:12pm

spinningmagnets wrote:
Jan 05 2019 4:06pm
Lebowski, open a Patreon account, and I will donate today.
Yes Patreon is a good idea. It seems like everyone and their dog has a patreon account these days :P
Neu 8057 6kW left hand drive hardtail with 18 fet Vesc: viewtopic.php?f=6&t=96754

User avatar
Arlo1   100 GW

100 GW
Posts: 8332
Joined: Apr 26 2009 10:36pm
Location: Nanaimo
Contact:

Re: Sensorless at standstill, development updates and status

Post by Arlo1 » Jan 05 2019 11:51pm

Lebowski, Another thing to consider is making sure nobody else uses the same system. I meen what you have might be the same Idea as TI instaspin.
Does your project need a high performance motor drive, battery charger or other power electronics developed? Let's talk!
www.powerdesigns.ca
Leaf motor controller build. http://endless-sphere.com/forums/viewto ... 27#p963227
YSR build http://www.youtube.com/watch?v=BRo8r5g4NBg
Never above 4.2v never below 2.7v EVER!!!
Support me on Patreon. https://www.patreon.com/user/posts?u=6842045
http://www.undergroundelectrics.ca/

lizardmech   10 W

10 W
Posts: 67
Joined: May 19 2017 4:16am

Re: Sensorless at standstill, development updates and status

Post by lizardmech » Jan 06 2019 4:21am

Lebowski wrote:
Jan 05 2019 2:35pm

All I think about when I hear open source is lots of companies getting rich of my work without any kickback to me (even though I spent a few 100k$ worth of time and thousands of my own money on computers, lab equipment and parts). Second, as an unemployed at the moment I also think about all the people who will not have a job because their company uses open source instead of a few engineers to develop their own solution...
There's not much individuals or small businesses can do if someone is desperate enough to steal code, all closed source does is punish legitimate users by making it difficult to use due closed obfuscated libraries or having to try and ship locked physical MCUs. Making it opensource also doesn't mean you can't commercialize it either, you can easily release a GPL version while offering commercial licenses to companies that want to integrate it but not release all of their code. Quite a bit of software ranging from embedded stuff such as chibiOS to large game engines like unreal engine 4 use similar business models. You can also trademark the name of the software, if it becomes popular companies will pay to be allowed to use your brand in their advertising for controllers that run on the software. It's much more feasible to register and enforce a trademark vs multiple patents on software.

I don't think it would impact other engineers having jobs, Ti and many others offer sensorless software based off rotor saliency and induction, they just aren't on the public sections of their websites and are only offered to larger companies under NDA. It's unlikely many are writing their own implementations. I'm not completely sure why they have opted to be so secretive about it, I suspect the methods were patented decades ago and expired but only became relevant recently as MCUs became powerful enough. I have seen a few start ups trying to sell similar things but they never seem to appear in products or be bought out, which makes me suspect there's too much prior art for them to be bought out. Here's one I stumbled upon recently.

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Jan 06 2019 8:48am

lizardmech wrote:
Jan 06 2019 4:21am
I don't think it would impact other engineers having jobs, Ti and many others offer sensorless software based off rotor saliency and induction, they just aren't on the public sections of their websites and are only offered to larger companies under NDA. It's unlikely many are writing their own implementations. I'm not completely sure why they have opted to be so secretive about it, I suspect the methods were patented decades ago and expired but only became relevant recently as MCUs became powerful enough. I have seen a few start ups trying to sell similar things but they never seem to appear in products or be bought out, which makes me suspect there's too much prior art for them to be bought out. Here's one I stumbled upon recently.
I assume it is considered valuable IP (giving a real advantage over competitors) so they keep quiet about it. TI for instance can patent their method but everyone can read the patents and copy the system. Including the whole of China. So I can imagine they just keep quiet about it. You may also be right that they are using old expired patents and just don't want to point anyone to those.

But I build my system all on my own without any knowledge of TI's or anyone else's system. I don't think there is anything TI can do to stop me just publishing how my system works, and so take away their advantage. I have a 100 page pdf with detailed explanation on my other non-internet PC. I don't have an NDA with TI, I actually never used processors from TI because their software is/was not available for Ubuntu Linux. Maybe, without being aware, I'm using things already patented, but this also cannot stop me from telling how my stuff works.

lizardmech   10 W

10 W
Posts: 67
Joined: May 19 2017 4:16am

Re: Sensorless at standstill, development updates and status

Post by lizardmech » Jan 07 2019 2:11am

Lebowski wrote:
Jan 06 2019 8:48am


I assume it is considered valuable IP (giving a real advantage over competitors) so they keep quiet about it. TI for instance can patent their method but everyone can read the patents and copy the system. Including the whole of China. So I can imagine they just keep quiet about it. You may also be right that they are using old expired patents and just don't want to point anyone to those.

But I build my system all on my own without any knowledge of TI's or anyone else's system. I don't think there is anything TI can do to stop me just publishing how my system works, and so take away their advantage. I have a 100 page pdf with detailed explanation on my other non-internet PC. I don't have an NDA with TI, I actually never used processors from TI because their software is/was not available for Ubuntu Linux. Maybe, without being aware, I'm using things already patented, but this also cannot stop me from telling how my stuff works.
I don't think there would be any issues with documenting it or making an open source version. I mean't when it comes to making some money off it, the business model of just selling it as locked down commercial software doesn't appear to work for other smaller companies trying to do similar. Open source projects that make money off support, feature requests and the occasional commercial license request seem to have more success.

User avatar
marcos   1 kW

1 kW
Posts: 309
Joined: Nov 19 2016 11:38pm

Re: Sensorless at standstill, development updates and status

Post by marcos » Jan 07 2019 11:13am

Lebowski wrote:
Jan 06 2019 8:48am
I actually never used processors from TI because their software is/was not available for Ubuntu Linux.
TI C2000 processors come with an Eclipse-based IDE that works on linux. Been using it for quite a while in my ubuntu laptop, works ok provided your machine can haul Eclipse.
If your main value is your IP just try to jump ahead and use a FPU-enabled chip like the higher end C2000 or an STM32F4. Will save you time thinking about fixed point issues. ST can be built using much leaner tools on ubuntu (or use eclipse if you want). I prefer to develop on STM32 unless the spec requires automotive grade.

Impressive job man. :bigthumb:
Does your project need a high performance motor drive? Let's talk!
www.powerdesigns.ca
Do you like our work? Support Axiom to win the 2019 Hackaday Prize!

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Jan 07 2019 2:54pm

Been using home brew FP in my controller IC (and also this one) for some time now...

I use two words, one is between -32767 and -16384, and 16384 and 32767, the other words is the exponent. 1.0 for instance is 16384 2^-14

User avatar
marcos   1 kW

1 kW
Posts: 309
Joined: Nov 19 2016 11:38pm

Re: Sensorless at standstill, development updates and status

Post by marcos » Jan 07 2019 4:33pm

My control board is running this code
code snippet.png
All "float" variables are 32 bit, math is done with the hardware floating point instruction set.

Just my 2 cents, might speed up your algorithm-fu.
Does your project need a high performance motor drive? Let's talk!
www.powerdesigns.ca
Do you like our work? Support Axiom to win the 2019 Hackaday Prize!

lizardmech   10 W

10 W
Posts: 67
Joined: May 19 2017 4:16am

Re: Sensorless at standstill, development updates and status

Post by lizardmech » Jan 07 2019 7:42pm

marcos wrote:
Jan 07 2019 11:13am
Lebowski wrote:
Jan 06 2019 8:48am
I actually never used processors from TI because their software is/was not available for Ubuntu Linux.
TI C2000 processors come with an Eclipse-based IDE that works on linux. Been using it for quite a while in my ubuntu laptop, works ok provided your machine can haul Eclipse.
If your main value is your IP just try to jump ahead and use a FPU-enabled chip like the higher end C2000 or an STM32F4. Will save you time thinking about fixed point issues. ST can be built using much leaner tools on ubuntu (or use eclipse if you want). I prefer to develop on STM32 unless the spec requires automotive grade.

Impressive job man. :bigthumb:
I reckon the best way would be to make it into an abstracted library coded in C using floats. You could run it on any 32bit MCU with a FPU and appropriate PWM/ADC hardware. Getting it up and running would just be a matter of connecting the code to timers and other peripherals for each MCU.

User avatar
Lebowski   1 GW

1 GW
Posts: 3272
Joined: Jun 28 2011 1:38am
Location: beautiful Zurich, Switzerland

Re: Sensorless at standstill, development updates and status

Post by Lebowski » Jan 08 2019 2:48am

My code is all written in assembly :D , I use lots of macros which are faster to execute than call / return combos. Those take around 10 cycles, while most floating point functions are also roughly 10 cycles (meaning that its better to waste 10 memory locations here and there, instead of doubling the execution time)...

Code: Select all

;************************************************************************************
; fp_oneover						
;************************************************************************************
;[w13] = 1 / [w13]
									
.macro fp_oneover
	                           ;ye = -29 - xe 
    mov #-29, w0
    sub w0, [w13], [w13]
                                    ;ym = 2^29-1 / xm
    mov #0x1FFF, w1
    setm w0
    mov [++w13], w2
    repeat #17
    div.sd w0, w2
    mov w0, [w13--]

.endm
	
;************************************************************************************
; fp_mult			
;************************************************************************************
;[w13] = [w12] * [w13]
									
.macro fp_mult
	                            ;zm = xm * ym
    mov [w12+2], w0
    mul.ss w0, [++w13], w2
                                    ;find shift in w3
    fbcl w3, w0
    neg w0, w0
    subr w0, #16, w1
                                    ;shift mantissa
    sl w3, w0, w3
    lsr w2, w1, w2
    ior w3, w2, [w13--]
                                    ;calculate exponent
    add w1, [w12], w1
    add w1, [w13], [w13]

.endm
	
and

Code: Select all

;************************************************************************************
; angle_to_w0
;************************************************************************************
; reg8 and reg9 will be corrupted !
	
.macro angle_to_w0 reg8, reg9							
						;initialise
	mov #0, w10
						;to correct quadrant
	neg \reg8, w0
	cpbgt \reg9, w0, 9f
						;imag < -real, rotate over 180
	neg \reg8, \reg8
	neg \reg9, \reg9
	mov #32768, w10
9:
	cpblt \reg9, \reg8, 9f
						;imag > real, rotate over -90
	neg \reg8, \reg8
	exch \reg8, \reg9
	mov #16384, w0
	add w0, w10, w10
9:	
						;calculate to max 45 degree part, phi =(1/6.28) * 0.78049*(y/x) / (0.78049 + 0.21951*(y/x)^2)
						;keep sign in w11
	setm w11
	btss \reg9, #15
	clr w11
	btsc \reg9, #15
	neg \reg9, \reg9
	
	bset \reg8, #0
	mov \reg9, w1
	clr w0
	repeat #17
	div.ud w0, \reg8
	
	mul.uu w0, w0, w2
	mov #14386, w2
	mul.uu w2, w3, w2
	mov #51149, w2
	add w2, w3, w3
	
	mul.uu w2, w0, w0
	
	repeat #17
	div.ud w0, w3
						;times 1/6.28
	mov #10430, w1
	mul.uu w0, w1, w0
						;make neg = xor with 0xFFFF and add 1
	xor w11, w1, w1
	btsc w11, #0
	inc w1, w1
	add w10, w1, w0

	
.endm
											

Post Reply