BlueSeas said:
It's interesting the CA3 can get a stable reading, where the Sabvoton can't. Would seem to indicate the CA3 has a better ADC, able to sift through the noise.
It's more likely that the CA just uses better software filtering, and/or it simply uses a longer averaging time. The more samples averaged together, the less variation you see, so spikes in the readings still affect the final reading, but you don't see the actual spikes on the display.
I will guess...since QS and Sabvoton seem to cooperate,
Well, QS sells controllers with the name Sabvoton on them, as do other places. But that doesn't even mean that they *are* sabvotons, since that company itself vanished some years ago, and other companies have simply been using that name for whatever controller they make (many of which are similar, and are likely clones of the original, kinda like "infineon" controllers were for a while, years back, and many other ebike items are now and have been). Not that this really has anything to do with your issue....
the hard coded sensor calibration values the Sabvoton uses would match the QS default sensor. And at rest, it gives a reasonably accurate reading. Why the voltages on the CA3 don't match, is a mystery.
Probalby the CA doesn't use the same voltage pullup on the signal line that the sabvoton does, so the charts only show what the SV might use. And at that, probalby only the variation of SV that QS actually sells.
I probably need to cut the temp sense wire in the primary hall connector, totally removing the Sabvoton controller and see what happens. The motor controller software on/off makes a difference, but the hardware in the motor controller could still be influencing the circuit.
If you've got the CA and SV connected in parallel to that signal, then yes, it will, because the SV has a pullup resistor from the signal line up to whatever voltage source it uses, and so does the CA. (that's how these sensors work--they're just resistance that changes with temperature, and one common way you read a resistance is to put it in a voltage divider, and then measure the voltage drop across the unknown one. If you already know what the voltage should be for a specific temperature (like the preset CA stuff, and the preprogrammed SV stuff), then you use it to calculate the temperature you actually have based on the voltage actually seen. If you don't know (like for the programmable CA mode), then you have to use a variable setting to replace this, which is what the CA does in that mode.
Anyway, if those pullup voltages are different but connected in parallel, then I don't know what effect that will have on the signal, but it should have one. Even if they're not different, it changes the current flow thru the sensor, which changes the reading because it changes the voltage drop across the sensor (higher than it would be if only connected to one of them).
As you suggested, when I can get the motor generating some heat, I can use an IR gun on the case, add a few degrees C, and make some guesses, getting the CA3 at least sort of calibrated.
You'd be better off to heat the motor with some controlled method over time enough to bring it all to the same temperature.
To do it the way you're describing, then to get reasonably accurate results, you'll need to let the motor sit for long enough to let the winding heat soak into the stator and then into the casing, or else it could vary by quite a lot from what your IR gun reads. That could be a lot longer than you want to sit there waiting by the side of the road or whatever. (because the case will keep cooling off faster than the stator heat radiates to it, since it has it's surface area exposed to the outside airflow (even a slight breeze can carry away quite a bit of heat, especially if the air is humid).