EcoModder Forum Paul and Sabrina's Cheap 3 Phase Inverter (AC Controller) with Field Oriented Control

Register Now
 Remember

 05-26-2018, 07:42 AM #3261 (permalink) PaulH     Join Date: Feb 2008 Location: Maricopa, AZ (sort of. Actually outside of town) Posts: 3,797 Michael's Electric Beetle - '71 Volkswagen Superbeetle 500000 Thanks: 1,358 Thanked 1,093 Times in 719 Posts My understanding is, for motors with buried permanent magnets (high saliency they call it for some reason), you get some torque from the steel in the rotor, near the edges of the magnets, almost like an induction motor, and you get some torque from the buried magnets. To get the torque from both, you have to do a maximum torque per amp correction so that Id is negative (by some amount dictated by some hideously ugly formula based on several things including the "lambda" of the magnets, whatever that is). The correction isn't very hard to implement in the software though. Once you have the Id, then you can find how much of the rest of the current goes to Iq, based on the throttle command (you use the pythagorean theorem at that point to solve for Iq, since throttleCommand^2 = IdCommand^2 + IqCommand^2). For a nonsalient motor (magnets on the surface) you have your throttle command, and you have to divvy it up between Id and Iq. Usually Id = 0, and Iq = throttleCommand. If you run out of voltage, and you don't like how fast the motor is spinning, you want to fight against the permanent magnets, you make Id negative, but then you waste some of the torque of the motor. But it's a tradeoff when you want the motor to spin faster (at the cost of lower torque). __________________ kits and boards
 The Following 2 Users Say Thank You to MPaulHolmes For This Useful Post: freebeard (05-26-2018), thingstodo (05-26-2018)
 Today Popular topics Other popular topics in this forum...
 05-27-2018, 08:09 PM #3262 (permalink) EcoModding Lurker   Join Date: Feb 2018 Location: Argentina Posts: 10 Thanks: 0 Thanked 1 Time in 1 Post This idea for a hub motor was apparently good because could be adapted to any rear drum brake (plug & play) , but , again the permanent magnets and reluctance have ruined the development: "hub motors with permanent magnets are not the best technical solution " : Green Energy Management (GEM) Updates | Middle Tennessee State University
Master EcoModder

Join Date: Sep 2010
Posts: 1,261

ChargE - '92 Mazda MX6 LX
90 day: 33.89 mpg (US)

WinterTransport - '07 hyundai Sante Fe SE
Thanks: 691
Thanked 450 Times in 361 Posts
Quote:
 Originally Posted by pablitosax This idea for a hub motor was apparently good because could be adapted to any rear drum brake (plug & play) , but , again the permanent magnets and reluctance have ruined the development: "hub motors with permanent magnets are not the best technical solution " : Green Energy Management (GEM) Updates | Middle Tennessee State University
I have read about many hub motors in the past. The hub motors on bicycles and motorcycles seem to be solid. They have bearings on both sides of the hub and this appears to make a difference to reliability. That said, there are not many bicycles or motorcycles with 100,000 miles on them.

So far, all the hub motors that I have read about or seen videos on ... that are supported on one side only ... when you can get details about reliability at all ... seem to experience catastrophic failure before the first set of tires is worn out. Most of the prototypes just seem to disappear and no one wants to talk about them .. or even admit that there was a prototype at all?

The clearances on the motor do not appear to allow for much bearing wear. The wider the motor, the further the rotor is from the bearing. Plus, of course, there is no suspension on the wheel. When the rotating part meets the stationary part ... bad things happen

I'd love to be proven wrong on this one - it's such a practical idea to move the motors out of the vehicle and contain them within the wheels, get rid of the transmission, the extra weight ... there are just so many positives!
__________________
In THEORY there is no difference between Theory and Practice
In PRACTICE there IS!

EcoModding Lurker

Join Date: Jul 2011
Location: Slovenia
Posts: 65
Thanks: 0
Thanked 19 Times in 13 Posts
Quote:
 Originally Posted by MPaulHolmes The PI ratio was just a variable that was there for when the "auto" PI test was running. It gave a starting point for how to check a bunch of values. So, if you had the PI ratio be 100, the "run-pi-test" would do: Kp = 100 Ki =1 Kp = 200 Ki = 2 ..... but it doesn't come into play when you are independently setting Kp and Ki. So, let's say you did this: pi-ratio 50 kp 1000 ki 10 the variable named "pi-ratio" would still be 50, even though now Kp / Ki = 100. The rotor time constant can vary a lot from one motor to another. The motor will run horribly if you are way off. It will run OK if you are a little off, and it will run the best if it's perfect. The "run-rotor-test" only works on an unloaded motor. I"ve only ever tested it on a bench with no transmission. If a transmission is hooked up, you man need to change the default commanded Id and Iq in the rotor test function "RunRotorTest" from IdRefRef = 300 IqRefRef = 300 To something bigger. Those numbers just worked OK for me on a bench with a unloaded motor at maybe 60v or whatever it was I was using for the test. If you can't get the run-rotor-test to work, you can just try guesses from 5 up to 150 (5mS up to 150mS for the rotor time constant): rotor-time-constant 5 rotor-time-constant 6 ... rotor-time-constant 150 and see what gives the best acceleration. Arber, does your ABZ encoder have a single index pulse per mechanical revolution, or is it 4 per mechanical revolution? That's the only difference from motor type 2 to motor type 3. One possibility is your encoder doesn't like one of the settings below: I would try changing "DFLTCONbits.IMV = 0b00;" to "DFLTCONbits.IMV = 0b01;", or DFLTCONbits.IMV = 0b10;, or DFLTCONbits.IMV = 0b11; Those are the possible required states of A and B, when the index pulse happens, and I don't know what state A and B are in when the index pulse happens on your encoder, so you would just have to try them all. This is why companies pick a specific motor and specific position sensor and just make a specific controller for it. Everybody has their own standards.
Sorry i totaly missed your post there....
You just explained everything to me! My encoder has chip generated signal obtained from rotated magnet. That means signal is basicaly generic encoder AB phase shift with single pulse per circle. All signals are square weaves and at least 90deg of square is overlapped by next signal. Z signal is 1/4 of AB signal period, so is quite short pulse at the rising edge of A and falling edge of B.

This was the reason that Leaf motor wasnt willing even to start turning in mode 3. It just shook there and i could hear amps straining until inverter block was overheating.
In mode 2 it was turning good, but if i used U higher than 200V everything started downhill....

A

Attached Thumbnails