Brushless Direct Current Motor Control: the P-way
ErNa
Posts: 1,752
in Propeller 2
This thread hopefully will show a way how sensorless BLDC motor control can be realized with the help of a propeller. The P][ offers more comfort and space to replicate a job once done with the help of the P1.
Motor control and motion control are strongly linked and it can often not be separated. So is speed control and position control. There is a chance to gain new insight into a very old sphere of R&D.
Or, to scite Alan Key
“A change of perspective is worth 80 IQ points.”
For those who are interested how complicated something simple can sound the patent application is attached
Comments
This page will show links to different CMaps (Concept Maps) that will show aspects of the motor control project and those of interest for the P][ in general.
Long ago there was a try: PropellerRoot
Intentionally left blank
Intentionally left blank
I admit, I was too curious to let this opportunity pass and went through that document.
I have never in my life filed a patent application and, after reading that document I must say, I have no intention to ever attempt that no matter what brilliant, innovative and useful idea I might come up with in the future, if any. It must've taken a lot of time and money to prepare that application. I do not dare to ask if it was worth it. Do not tell.
Let me ask just one question. Is this better than +/-5 degrees accuracy achieved at any allowable load ? I'm trying to figure out what sort of application it can be good for.
If such a method was used to directly drive the minute hand of the clock that would mean less than =/- 1 minute at any given time. Not bad, but not great either. I could use that clock when going for a lunch but I wouldn't do it if I was to board a train or a bus.
Yes, it is a PITA to create such a document as it must tell everything and nothing. There are many methods known to drive a BLDC motor the moment the "BEMF" can be measured. But a more simple method to determine the rotor position is not known to me. Once the position is known (normally to less then 5° of the electrical rotation (mechanical for a 2-pole motor) there still has to be a strategy to create the torque wanted. The point is: torque is equal the current times the torque producing constant. But this constant itself depends on the angle difference between the rotor position and the phase angle of the current applied. An ideal BLDC motor has a well defined motor constant: in state 0 of the driver current flows from terminal A to terminal B. From 0° to 60° rotor position the motor creates constant torque 1. From 60° to 120° the constant slope changes from 1 to 0. From 120° to 180° the constant changes from 0 to -1. 180° to 240° the motor creates constant negative torque of -1, from 240° to 360° (0°) the constant changes from -1 to +1 and so on. So to have constant torque the state of the driver has to change to 1, that is: current flows out of B and in to C. Terminal A is disconnected while terminal C now is connected. The commutation of the current takes some time, so the switching always leads to a dip in torque-production, even in an ideal motor. Real motors show variations in the torque constant, both in angle and current value. That makes the task of sensorless motor control a little more difficult. (Littlein this case can mean anything.) Driving a motor with three phase AC is more sophisticated as there is no floating terminal and the motors response can only be measured indirectly.
The commutation point now has to be determined without the chance to commutate as the torque dip could stall the motor. But mostly there is a way as we may see..
I don't now @erna if you where able to follow the zoom-meeting about field control live, because the youtube thing is missing the important part.
But there is some attempt of @Chip to do something alike, he was measuring current of all 3 coils while PWM the motors. I have trouble to follow his explanations, often, but as far as I got it his attempt was to measure the unused coils also to get a finer reading.
But the planned board has just one shunt for all half bridges so I am not sure if this is needed.
I also tried to understand the legal language of the patent application, but if you could write it down in some understandable German words I would be very happy.
I am sometimes very slow to understand things, because I need to really grook the concept, not just the solution.
But I need to replace a 15+ year old design of a motor controller, we have some 40 left to build but need a new batch. And I think it is really time to redesign this.
I have to do with cars electrified way before there was a Tesla hype. Sometimes 20 years ago. Interesting cars and also interesting people. And we have a good source for batteries from mostly Nissan cars.
So we repower them older cars with more range. It's more like a hobby because most of them customers are - hmm - retired and kind of friends over the years, somehow like in this forum...
But if I follow correctly what I THINK you propose will be very efficient energy wise because you can hit the right coil at the right angle position at the right time thru watching the current.
Very interesting.
We need the Edge with ram and the driver board to test this out but this is really cool.
Enjoy!
Mike
>
>
Why would you say that ?
Do you expect the motor control application to be so much RAM hungry ? Or is it for a non related reason that you need more RAM on the P2 board ?
I thought @ErNa was considering @ManAtWork excellent KISS board as a hardware base (which does not have an external RAM chip) plus @ManAtWork has also developed a nice motor control driver board that might also be suitable. I'm not sure of the current development status of that board, however, but it surely looked very promising.
well, the ram is unrelated, just needed for my personal application.
And yes, this should work with any h bridges, but I am here in CA so it is more easy to get stuff from Parallax then out of Germany.
Enjoy,
Mike
Tachyon runs on the P2 too. Unified hardware makes things just simpler. The new power stage Chip showed has everything needed for BLDC motor control. Three terminal voltages and a single shunt...
OK, having a unified hardware certainly helps but that hardware should come in line with the project goals so maybe it is time to start with these ?
That should help to select the right hardware components for this project.
Why am I bringing this up ?
Because there may be users interested in this project who have already invested in the Edge board, the KISS board, the P2 eval board or the Retroblade2 or even are lucky enough to have a P2D2. Any one of these boards can be used since each of them can be fairly easily made to boot TAQOZ (even the Reloaded version) but at least some of them will have difficulties to be directly interfaced to whatever external motor control driver board. Moreover, some of these boards may be more easily (faster or cheaper or both) obtained for some customers but not for the others (take the EU and the US and AU - everywhere is different).
So I'm thinking that maybe we should specify the control signals involved and the specifications for the motors that we know will work and let the user pick their choice of the components that are right for the project and right for them ?
Just a thought. Because I, for one, have zero interest in the Edge board or the P2 eval board - nice boards they are but they just don't fit neither my needs nor budget.
@msrobots: The problem with patent applications is the very special language. It needs to be specific enough to justify the claim of the invention but the author, of course, wants to reveal as little information as possible so it's of no real commercial use to the readers which are his competitors.
But if you intend to build electric cars or big machines with servos you don't need ErNa's ideas at all. Servo motors usually have encoders and hall sensor signals so you already know the rotor position. All you need is a "six pack" 3-phase full bridge power stage, shunt resistors or current sensors and software to do the field oriented control.
ErNa's patent describes a method to detect the rotor position if you don't have or don't want encoder/hall feedback. This is especially interesting for very small drives where the cost of additional sensors (+ cables, +connectors) has to be avoided or there are other reasons to decide against them (dirt, shock, vacuum, X-rays, whatever....).
What ManAtWork wrote is correct, there are some more reasons why you may want to run sensorless, e.g. check the sensor and as a fail safe instrument. Also the signal are complex, what is a disadvantage on the first glance, but can be seen as an advantage if you know the sources of complexity. Then you are able to check the motors health. The point with the application is: many claim they can run motors sensorlessly and to compete you have to proof you are better what may not be the case in the whole field of motor applications. But to detect the rotor position precisely is a known issue as there is no mathlab model for the asymmetric behavior the motor shows ;-) And MathLab is finis terrae for most of us.
really?
P1-Tachyon V5.7 runs on a P2 ?
how does this work?
did you try?
OK, Tachyon and TAQOZ to me is the same: open land I do not own ;-)
@MJB Funny you noticed this as well.
Let's just assume it was meant like that "Tachyon for the P2" = TAQOZ. In that sense ErNa is right.
But of course, you are right 100% too. Tachyon is for P1 only and TAQOZ is for the P2 only. The're platform dependent.