You are here

Sensorless temperature compensation

4 posts / 0 new
Last post
ESCam
Offline
Last seen: 1 year 8 months ago
Joined: 2018-10-22 23:31
Posts: 24
Sensorless temperature compensation

For a motor without a temperature sensor installed, would it be possible to measure/estimate the motor temperature based on the resistance of the motor coils? Would it be possible to measure that while the motor is running, or only when still? Has anyone ever done this with a VESC? 

I have a sealed motor, so installing a NTC on the coils would be difficult. The VESC runs the motor very well at first, but struggles to start correctly 100% of the time after the windings get hot. 

ESCam
Offline
Last seen: 1 year 8 months ago
Joined: 2018-10-22 23:31
Posts: 24

Also, I am guessing that the temp compensation on the sensorless tab of FOC only works with a sensor. Is that correct?

kukaso96
Offline
Last seen: 1 year 8 months ago
Joined: 2021-04-30 16:55
Posts: 1

would be a great feature, also don't know if it would work

Roby_88
Offline
Last seen: 6 months 14 hours ago
Joined: 2022-07-21 08:10
Posts: 2

yes, it would be a very good improvement!

Take a look on this blog, the guy implemented this method coding the STM32F4, the code is inside the blog and there is the test on a YouTube video. I think also the flux linkage has to be adjusted according to the actual temperature, it linearly decreases with it depending on the material.

I would be grateful if Benjamin or someone else can add this feature inside :) thanks !

https://build-its-inprogress.blogspot.com/2019/10/motor-temperature-estimation-without.html

Alternatively, to save the motor from burning, a function written in lisp might be used. For example detecting the rpm and the current delivered by the VESC this function creates a variable duty cycle to deliver at the fan power supply which cools down the motor at low speed and high current working conditions, while smoothly reduces the fan power if one or both the variables change. The example with the LED used by Vedder is more or less reusable in this case to manage the duty cycle and a math function would adjusts its width, the output pins of the VESC are the same.