Featherenix | Agacê Cruiser 33” | 10S2P 30Q | FSESC 4.20 | Custom DD | Blue Caguamas | 3D Printed Enclosure

Another test, this time with 60 A on the motors, performance is really good, definitely usable, braking is good enough, I may increase even more the braking current since it’s used for a short amount of time and wont heat up the motor a lot.

The only thing that lacks is low speed performance, probably because as @Gamer43 said the motor tracking is not accurate at low speeds, and since with these configuration the rpm is low for greater range of speeds you feel it more

Another issue I’ve thought it could happen and probably happened is that the active braking is not considered braking on the temperature protection logic, so if you use the temperature acceleration decrease and the motor is hot, what happens is as you transition from passive to active brakes it cuts off since its too hot. The problem is further increased due to the noise that high motor current induces in the temperature readings. @mishrasubhransu did you run in anything like this or you never get your motor that hot? not fun while you are going downhill

I have a topic about it on the VESC forum

https://www.vesc-project.com/node/997

@rpasichnyk the announce feature is really useful for tests like this, never had used it before, well done

And finally the logs, took it to some hills and climbs no problem at full speed, max motor temperature of 72 °C and consumption of 11.2 Wh/km

I will do some longer rides, increase the motor temperature limits and turn off the temperature acceleration decrease and see how hot it gets, if this turns into a direct drive for this build I will find a way to incorporate a fan to really force air through it or seal it completely and use Statorade

https://www.ebikes.ca/shop/electric-bicycle-parts/motor-hardware/cooling-mods/statorade.html

1 Like

Increase your sensorless erpm limit to some higher number. Try 10000. My motors have gotten to 75C max.

Will try that, apart from the cut it’s performing flawless, I don’t know if I really need to up it, I have less poles than your DD, maximum speed is set to 35 km/h which correspond to roughly 17k Erpm

The reason I am suggesting that is because normally you are moving the motor at much higher angular velocity but in 1:1 ratio it’s much slower.

1 Like

One more ride, now running 70 A on each motor, 79 °C max, took it at the steepest hills I have nearby and climbed it no problem without loosing speed

It’s funny that in the 1:1 with high Kv the current limits occur in the opposite way as a normal board that the motor current is reduced to keep the battery current within the limits, here the battery current climbs as you speed up and the motor stays constant. It’s expected, but nice to see

@Pedrodemio
I think I know why the VESC has poor tracking at low speeds.
So at low speeds, obviously the BEMF is very weak and small compared to sources of noise.

I realize now that in the VESC designs there is actually quite a bit of crosstalk between the current sensing section and power stage, so what is happening, is the sine waves that the VESC is applying to the motor is also showing up in the current sensing that the VESC then measures. The result is this crosstalk skews the estimated BEMF and causes the estimated BEMF to either lag or lead the actual BEMF. The strength of this crosstalk noise is proportional the to applied motor current, while the strength of the BEMF is proportional to speed.

This is explains why the tracking improves as speed increases, and also why torque appears to drop off as more current is applied, and why I can actually get my VESCs to cog at very high currents.

The solution to this is careful PCB layout and component selection to minimize and filter this crosstalk.

I recommend using current sense amplifiers such as the INA240A1, which has significantly better common mode rejection than the AD8418. Placing the amplifiers right next to or very close to the MCU will allow for the output signal from the amplifiers to be mostly unaffected by noise from the power stage. This means the current shunt kelvin connections will have to be routed through the power stage, this will cause the crosstalk to appear as a common mode signal in the differential current sense traces. Keep these traces straight and as short as possible and try to sandwich them between ground layers in order to minimize crosstalk, which the INA240’s common mode rejection will then filter out.

The INA240 costs the same amount as the AD8418, but has way better electrical characteristics. 30 dB better CMRR at DC, 20 dB better CMRR above 1kHz, much lower input offset voltage, gain error, and temperature drift.
It is also a drop-in replacement.
Why new VESC6s don’t use the INA240, or at least test with them, is beyond me.

2 Likes

That makes a ton of sense, if I were you I would make a post about it on the vesc forum

Correct me if I’m understanding it wrong, but let’s say at low speed the VESC is reading 60 A as phase current, but the real current is less than that, and part of the reading is due to cross talk? And by that the energy reading is also wrong since it come from the current

It should be pretty easy to test, just use a current clamp on one of the phases, unfortunately I don’t have one working to test

Another way to test would be to use the open loop command with the same current, one time with a really low ERPM and another with it higher and monitor the motor temperature

So there are three current values in question, What the phase current would be if there were NO BEMF, the actual phase current, and then the phase current measured by the VESC.

Let’s say, without BEMF, the phase current would be 82A, but because there is BEMF, the real value is 80A. However, because of cross-talk from the power stage, the VESC measures, let’s say 78A.
A similar situation is occurring on all three phases, the measured value may be higher than the actual or lower. The VESC determines the BEMF based off the predicted value (the first value, what current would be with NO BEMF) and the measured value, and since the measured value is off from the actual value, this causes the BEMF the VESC estimates to be incorrect. The end result is, because of the way motor control theory works, is the estimated rotor angle is incorrect by up to plus or minus 90°. Normally it’s not as bad as plus or minus 90° (it’s some value in between 0-90°, usually closer to 0, and gets closer to 0 as the motor speeds up) except in the extreme case that the VESC actually ends up locking onto the cross-talk signal instead of the actual motor BEMF. I actually have this happen on a prototype VESC I am working on.

The issue with testing this, is at low speeds, the three different current values in question are VERY close to each other, and I do not think clamp meters will be accurate enough.

A proper test would be creating probe points of the kelvin connections to the current shunts and probing that on an oscilloscope and comparing that to the outputs of the current sense amplifiers, also accessed using probe points.

1 Like

Now I get it, it’s not that the noise increases the measured current is lower, but that it tracks the own voltage instead of the BEMF and the phases phase ends up being wrong

I just see one flaw, or maybe again I didn’t understood. At low speed it’s running sensored, shouldn’t this be a non issue since it’s not depending of tracking the BEMF? If that was the case the torque should start strong, drops when it switch to sensorless and improve as it speeds up

The VESC’s speed estimators and sensored to sensorless switchover algorithm SUCKS.

There are so many things wrong with it, don’t even get me started.

It boils down to, the sensored speed estimator sucks, and when it transitions to sensorless, it’s a very ABRUPT and hard switchover, which causes other issues. Sensors lag behind the motor position due to magnetic hysteresis, and this only gets worse as speed increases. When the switchover happens, the rotor angle that the VESC is using to generate the sine waves changes very abrupty and by a large amount. This results in loss of tracking at very high currents, or an abs overcurrent fault if the difference is large enough.

The solution is purely in firmware, second order speed estimators in sensored mode, and when attempting a sensorless transition, run BOTH speed estimators simultaneously, and do the switch only when the estimators agree on speed plus or minus some tolerance. As for the angle difference, Make the switch gradual, by using a rotor angle that is between the two, and gets progressively closer to the sensorless value.

1 Like

If you know how to fix I strongly support submitting some pull requests, Vedder started to merge them again, but it sound a lot of work

After all the drama about getting a mountain board or not, and in the end coming to the conclusion I will get one, I have work to do here first

The thing is, for the mountain board become a reality I will have to take apart my Hummie build, but I also need to have a board I can take everywhere and it’s not bulky, to be honest the Hummie one is bulky enough I lots of times I leave it it home instead of riding wherever I’m going

So I ordered the cheapest 6355 motors that were sensored, ideally I wanted to go to a lower Kv, but the price difference was too big, ended up paying $27 each 6355 180Kv motor, they will be taken apart and converted to a direct drive

Now I’m on the fence about what VESC to get, the Maker X dual 4.12 looks good and is really compact, but if one side dies I have to replace everything, I may get two flipsky 4.12, you can find them for less than $50 on AliExpress

1 Like

Procrastinating in Ali express I just found a sale of Mini FSESC4.2, got two for $98 with shipping, there is a chance that they are old stock and have the cut out problem, but then its just a matter of swapping the resistors

@mishrasubhransu
What were your motor settings with the AT tires?
Also what kv motor do you have?
How is the torque on AT’s? :slight_smile:
Thanks

Torque is awesome. There is no hill I can’t climb. Make sure to change the sensorless erpm, under settings->foc-> hall sensors, to 4000 min for good torque. Because when it’s set to a low numbers say 1000 then it uses sensorless mode just after starting which doesn’t know the magnet position accurately and hence is inefficient i.e. can’t produce enough torque and motor heats up more than it should.

56KV
Motor: +50/-60
Battery: +40/-15
Sensorless erpm: 4000

6 Likes

did you 3D print the DD > AT adapter?

No I printed the wheel hub itself. Look at the eLofty thread main post.for details.

2 Likes

sweet.
Whats your max speed?
snould be ~56km/h according to the calculator?

Yep. Show 54 when I spin it in the air.

2 Likes

Starting to work on the direct drive, all is just a place holder until I have the real motor in hand, the current measurements are from a old TB 6355 that looks just like the ones I will use

I managed to get it really compact and close to the wheel, I still want to try to flip the can so I can save even more space

The Paris truck is also just a place holder, I will mill a custom one using just the base plate

8 Likes