How to "tune" a FarDriver controller for field weakening?

Terrible Juan

100 µW
Joined
Jun 22, 2022
Messages
7
I have an ND72530 controller and I'd like to figure out how to tune it for field weakening. The controller can do a live readout via the bluetooth app. I've done a top speed run in the linked video and it's only getting me about 50mph. This is with a 72v 30ah battery with 90amp continuous and 150amp peak, 16" diameter tire.

The FarDriver controller seems control flux weakening by restricting current at a given RPM. How do I know when to start reducing current and then by how much?

Please note the controller is off in this picture. I have the max RPM set to 10,000 or something like that.

Controller top speed video

Screenshot_20230321_221552.jpg
 
Is the speedometer your only measuring tool?

Without knowing motor input ? You have told us what you have heard your battery can put out?

Get a CycleANALYST or equivalent means of measurement

Experiment/measure————————there is a “restore” button on those controllers for all your mess-ups—————screenshots

If I were to race you I would race you uphill—-that field weakening is then worthless.

I have the same controller with a QS 1000 motor and the bike will go up hill 6% grade at 50mph using 83 amps — carrying my big ass.

BTW there is some wind drag at 60mph. — you will need some torque.

Maybe you could get a tach and just run that motor at some outlandish rpm with the wheel off the ground?

Happiness is a warm motor
 
Last edited:
Is the speedometer your only measuring tool?

Without knowing motor input ? You have told us what you have heard your battery can put out?

Get a CycleANALYST or equivalent means of measurement

Experiment/measure————————there is a “restore” button on those controllers for all your mess-ups—————screenshots

If I were to race you I would race you uphill—-that field weakening is then worthless.

I have the same controller with a QS 1000 motor and the bike will go up hill 6% grade at 50mph using 83 amps — carrying my big ass.

BTW there is some wind drag at 60mph. — you will need some torque.

Maybe you could get a tach and just run that motor at some outlandish rpm with the wheel off the ground?

Happiness is a warm motor
The specs on my motor are 6800 RPM unloaded and it can handle 11kw and brief bursts of 14kw.

My battery has a smart BMS so I have a live readout. It is delivering 90 amps pretty steady and I have that set as my max line current.

I use a GPS and "Relive" cycling app to check speed. They all say about the same thing.

With field weakening on, I've spun it to 10k RPM with no chain attached to the motor but on the ground I can't get it that high. Am I just running out of steam when it's loaded?
 
Maybe running out of steam??

“…I have set that as my max line current”. Some 90 amp.?

Set your max current at 150 amps and test that reputed capability of 150 amps for 10 sec. 150 x 72 = 10,800 watts—less than a 14k burst on the motor.

You could lose your battery if that peak rating is a just a Chinesium-American scum selling point. Maybe from 90 amps, increment in steps of 5amps until you have satisfied your wallet requirements?
 
Last edited:
Yes, running out of steam. Maybe I am maxed out with the kw I can deliver?

The battery is made in USA by a respected builder.

I set the line amps to 125a last night and the BMS triggered off after 4-5 seconds of wide open throttle. Obviously if I set to 125amp, it still overshoots so I'm guessing thats what happened. I've been running it at 90 amp and I still see it creep to 110amp monentarily but no BMS shutoff.
 
I just checked the smart BMS and it was still set at 120 amp limit, so I will retest later with 150 amp setting.
 
I just checked the smart BMS and it was still set at 120 amp limit, so I will retest later with 150 amp setting.
The Ratios in Speed table is not the field weakening setting, it is a protection system that prevents runaway control or allowing flux weakening to make the motor exceed its mechanical rpm limit (where it grenades. Lol)

The main setting is Weak Character, with 7:none being off and 0 being max.

Normally i set all the Ratios in Speed at 100% and turn field weakening off (7:none) first, and find the rated RPM on the road and the amps at that rpm. You will see on the Fardriver app when the DC amps starts to decrease until it finds the balance between back EMF and battery voltage.

What your battery does during the baseline test will dictate how deep into field weakening you can go. I generally consider peak amps of a battery to be whatever amps make it sag from 4.2v/cell to 3.7v/cell, and max continuous is about 1/2 that amps.

If your battery is too weak, as you try to add field weakening, the added current needed cause voltage sag which will start to decrease RPM. So as you change weak character from 7 to 6, check to see what the new rpm is AND the amps needed.

If you are still below max continuous amps, voltage sag will be almost insignificant, and you can try WeakCharacter 5, 4, ….up to 0. But make sure before each increase your battery has the overhead for it and your BMS is set to allow that current.

Once you find the weak character setting your system can use properly, then go back ro the Ratios In speed table and adjust the taper at the RPM that you were able to achieve without excessive amps. This table will block any attempt for the motor to use peak amps to maintain a ridiculously high rpm.

You can also play with weak response fast or slow to make it respond better.

It will always run cooler with no field weakening so only use the level you need and use. In my case my bike goes faster than I want with no field weakening, so i leave mine at 7:none.

If your battery is the weak link you may need to upgrade it. I just upgraded my 13s5p 18650 battery (25a CDR 50a peak) with a 16s5p 21700 P42A, very conservatively rated at 60a CDR and 150a peak.
 
Thanks for this Info.

I have tried 6 , 3 and 0 and also slow and fast but I have not tried 7. With all settings I tested I had to limit top speed with the rpm limit settings as my scooter made over 115kph which was way to much for my 5kw rated motor. With the old controller without fw it got me to 103kph.

I will test 7 tomorrow.

I know which speed my actual motor can do without fw , because I had installed an Sabvoton SVMC , but a few months ago I have installed the ND72680 and soon I will install a QS 10kw hub motor with unknown top speed. That is the reason I need to turn the fw off.

Perhaps I will also upgrade to a ND721800 as my 5kw motor can take 600pA and the 10kw can take more.
My battery can easily deliver 300A and more continous.
Voltage sag @250A is 3V.
 
Tested the fw setting 7-None this mornig on the way to my working place and the top speed was slightly lower than the set rpm limit, but still 8 kph higer than with the sabvoton without fw, but still has some sort of wobling or fluctuating performance at top speed. The power changes from 8kw to 5kw and then goes back up to 11kw in a period of 30-60 seconds.

Will have a look what the graph function notes and how the battery current versus speed looks like now.
 
Now with 75V under load it still makes up to 112kph.
With the SVMC72150 without field weakening the same motor made 103kph with 82V under load.

But with the 7-none setting, the battery current drops now after 90kph. Before I had 250A battery current until 100kph.
Now I have around 160A @110kph, same as with the sabvoton with 50A fw setting.
 
Last edited:
Now with 75V under load it still makes up to 112kph.
With the SVMC72150 without field weakening the same motor made 103kph with 82V under load.

But with the 7-none setting, the battery current drops now after 90kph. Before I had 250A battery current until 100kph.
Now I have around 160A @110kph, same as with the sabvoton with 50A fw setting.
The Far-Driver documentation around field weakening won’t even mention WeakResponse and makes it seem like Field Weakening is entirely controlled by the current limit is Ratios in Speed.

KoMoto controller which clearly uses Fardriver software makes this very contradictory statement:
“WeakRSP - Magnetic field weakening
Reducing this number will effectively reduce the maximum motor RPM. The lower the number the higher level of magnet weakening is used. Set to zero by default values available 0-6 plus disable. We would suggest using 0 as a preferred setting. “

“Reducing the number” which I interpret as 6, 5,4,3,2,1,0 effectively reduces motor RPM, which should mean less FW is used.
“The lower the number” which again I interpret as going from 6,5,4,3,2,1,0 the higher level of magnetic weakening is used”

Im not very familiar with Fardriver but I didn’t see anywhere you can tell it which magnet type you use. In Votol its there “surface mount or v-type”. In fardriver is AN0 surface mount AN16 embedded, with 15 levels in between to cover various types.

Perhaps the Sabvoton with 0 FW stops a little earlier for some reason.

Or perhaps the Fardriver actually adds a tiny bit if FW at the end right when the “weak” appears in the app.

But doing no load tests its very clear WeakResponse7 is essentially FW:none, because it will not run away even with no rpm or current limits. But as soon as you choose anything from 0-6 unloaded it will go fast and seemingly no limit.

On the road i tested WeakResponse 7 (my normal mode) and i can reach that with about 40a DC and 45a phase, and when i set weakresponse 6, with current limit 100a DC and 200a phase, my DC amp seemed to level off at 80a and phase at about 90a and the rpm was about 10% faster.

The fact it didn’t go to 100a DC or 200a phase, or hit any current limit in the ratios in speed table, tells me WeakResponse 6 would be the lowest setting. Unfortunately my bike is not stable at higher speeds to try 5.4.3.2.1.0.

What seems off is that it takes 100% more current to go 10% faster. But my Kv is very high being able to go about 74kph with weakresponse 7. Going about 81 kph with WeakResponse 6. I was expecting more like 40% more power needed, 20% for the added drag, 10% for lower torque. 10% field weakening.


Theres so many settings that in theory would affect the way the controller knows how to add FW current. And there is WeakCharacter, fast middle slow, which I can only assume are some PID settings for FW algorithm, how fast it adds FW current. (Not to be confused with the master PID settings for the current loop.)

It would be easier for me to test if my motor was much lower Kv, so that i needed FW just ro go 50kph. But that might make all weak response levels take it to the moon and require the ratios in speed table to reel it back in.

But maybe weakresponse isn’t really FW level but different algorithms on how to add FW current. Or how soon to start adding it.

For performance it would need to use max DC amps and just as back emf starting pushing that down, it would add just enough FW to allow amps back to peak.
 

Attachments

  • IMG_1955.jpeg
    IMG_1955.jpeg
    123.4 KB · Views: 10
Back
Top