ABI Encoder/AS5047 Help

Hi all,

I’ve been off this platform for a while but I’m back with some help needed.

I am working on a Rover project where we are using these motors:

with these encoders with a vesc (Flipsky 6.6):

Going through FOC calibration, the motors detect the encoders and calibrate the parameters; however, from standstill the motors don’t take off smoothly and need a little more throttle/current until they move correctly. This seems like the encoders aren’t working correctly, but they show their steps/degrees in realtime data. Has anyone worked with these ABI encoders or similar and know where I can start to troubleshoot?

Since using these we also tried working with AS5047 encoders and they work in FOC mode a lot smoother, but once we add the gearbox to the motor, the motor stutters and has trouble moving. I’ve reached the end of my limited knowledge and would appreciate any help!

If it’s better to divide this into two separate posts, please let me know!

2 Likes

@Andy87 has used these encoders before, and has a nice write up about them here: How to set up AS5047 encoder on vesc based escs - Tutorials - FreeSK8

Maybe he can help.

Have you tried doing FOC calibration with the gearbox on?

1 Like

You can try either using the 2kg outrunner in the motor wizard, or try to manually detect the foc parameters by tweaking time constants and currents.

Encoders have received a decent amount of support, but I’d make sure you are on the latest firmware.

I think you will get better support in the VESC Development Discord. Link on vedder’s bldc github readme.

1 Like

Yes, I actually followed this write up and it was very helpful. Hopefully Andy can chime in at some point.

I haven’t tried running FOC with the gearbox on, I was under the impression you should be running detection with no weight but I could be wrong. I can tried running it with the gearbox connected.

Thank you!

1 Like

Yes, I’ll try and run through detection again with different settings.

Joining the discord will also be helpful. Thanks for that!

@leadBreather @jaykup

Running FOC with the gearbox didn’t help much. The motor tries to move and dumps 50-60 amps of current. Running sensorless with the gearbox also dumps a lot of amps when starting to move, but then drops down to ~5 amps when moving.

Any ideas why sensorless seems to move it okay but FOC gets stuck?

@Andy87 would you happen to know what could be going on here?

Thanks everyone.

1 Like

How are you powering the motors?

Motors are being power with a 7s 22ah LiPo

I’d try a 12s battery. Such low kv motors like high voltage, and the motor you are using recommends 12s. In esk8 such a low kv motor would require at least 16s but more like 21s.

1 Like

You generally want to run the motor detection unloaded. The detection runs in openloop, similar to a 3d printer stepper motor, so it may “skip steps” and provide bad values if there is too heavy of a load on it when running the wizard.

Can you take a screenshot of the motor detection results?

I looked up the motor, 40 poles which is a lot more than a typical 14 pole esk8 motor. eRPMs are on the high side (96k @ 12s with cells at 4v ea), but 7s should be fine. The wizard may not be able to properly deal with this type of motor, so you might have to do a manual detection on the FOC tab.

Here you can play with the amps, and time constant (try 500uS) to see if you can get a better detection result.

There is a guy on the VESC Discord that had some issues getting a larger version of a 40 pole motor running, but was ultimately successful.

1 Like

Not much I can contribute to it unfortunately. For me, I had never issue running AS5047 encoder. With chains off or chains and wheels on during motor detection.
Definitely make sure you choose the right motor size category during motor detection.