The saturation actually looks ok its around ±3A which is more or less ±1.5V (for the 3.3V logic).
Are you running your motor in the open loop?
What is the phase resistance of your motor?
It is eniterely possible that you have 3A on the motor and that you can stop it by hand, it really depens on your motor.
Also the power supply current is not equal to the phase current. The power is conserved (voltage*current) rather than the current magnitude (roughly).
So if you have a 20V power supply and you read 750mA. When you set 5V volatge to your motor you should read 20*0.7/5 = 3A. This is just an example though.
So it seems to me that this is likely a combination of the physical saturation of your current sensing and a high motor current.
I’m using 12V and I’m seeing your point (V limit is 3V). I guess it’s time to pull out the scope.
I was using closed loop Velocity in voltage mode. Estimated current kind of works but FOC current the motor just shakes and squeals a lot. The PSU is current limited to 4A and it clamps at 4A.
Well at least i understand now why the current sense initialization was failing with all currents same magnitude!, the ADC was clipping.
(i have touched something and the WebController is not connecting again, i’m getting initialization errors… will try again later)
We have already had a couple of users that tried to use these boards and have had issues with the current sensing circuit design. Even though the board is capable of outputting 10+ Amps it is not capable of measuring more than 4A.
You would need to change the shunt resistors to a smaller value to allow measuring a larger range.
It is really a pity that they’ve done it this way.
So it you use voltage or estimated current control you do not use the current sensing circuit and you can use the full potential of the board. If you use the foc current control mode you will be limited to 4 amps.
There has been progress (just been busy and repairing my GPU that blew up xD)!
I’ve had to set the motor0.current_limit to 0.25A for initialization and before i start the the main loopFOC I set the limit to 4A. I seem to get consistent results now.
The motor now runs in FOC modes without going crazy. Still tuning the velocity, position and current loops again as i keep getting either vibrations or commands that don’t even send much current to the motors. I’m not sure if the vibrations are an AS5600 issue…
I may get some smaller shunt resistors or place some in parallel.
Need to assemble the parts, but I’ve improved the magnet centering on the motor and decreased the distance between the encoder and motor. Added some extra room for ventilation too as at 4A they do get quite toasty and I’m worried about the longer term stability with PLA xD
Well… that sure is a difference in performance and loop speed. From a loop time of under 2kHz to nearly 7kHz… I’m going to redo all the filters and parameters again because now instead of oscillations that would shake it to bits it’s now a squeal xD