E-HP said:
I'm having the issue of the MaxS recording erroneous values. All other speed related functions work, and the normal speed readout closely matches my GPS. When the problem occurs, the MaxS value is very high, 655 from yesterdays ride, for instance. Average speed looks normal. My CA is connected through the CA plug, with no external speed sensor (uses motor halls).
Searching on this thread, it looks like in most cases where this is mentioned, it's while using an external speed sensor, and possibly noise related. Not sure if it's the CA, something with the input signal, or maybe even a hall sensor issue. Any ideas? I don't look at the readout often, but it seems like it works correctly most of the time.
The motor hall signal is often actually very noisy, with induced signals from the motor phases. Depends on the specific motor design, as well as the cabling setup from inside the motor up to your controller, as well as the controller's pullup design and component choice, and where the hall signal is tapped from for the CA connector (right off the signal input, or post-pullup/amplifier/buffer/etc, if any).
A separate speedo sensor, using a unipolar or bipolar latching hall (like motors usually do) rather than a physical switch (like a reed, etc), and using a shielded cable, can be a lot less noisy than a motor hall, but to be as sensitive to speed changes, especially at low speed, you then have to put more magnets on the wheel for it to sense (I use three spoke magnets, and it's "good enough", but it would be more sensitive with more of them).
The reed sensors are physical switches, and can have contact-bounce, sometimes pretty badly, especially if the angle of the magnet passing them relative to the angle of the reed inside the switch is "just right", and the magnet is just far enough away. I actually completely destroyed a Grin reed-style speedo sensor, misusing it for an ebrake handle switch (to be fair, at much higher current than it was designed for), because of contact bounce and arcing. But the bounce is what causes the unreasonably high glitch numbers in the Max Speed readout. The CA should be doing good filtering on this; I'd guess there is a bug in the filtering software. Iv'e seen this reported off and on over the years, and seen it myself now and then but never reproducibly unless I had a wiring issue or a magnet/sensor alignment problem.
The info below probably won't help you fix the issue, but it might help see where it could come from:
The higher the pullup voltage of the hall signal itself, the cleaner the signal-to-noise ratio can be (because the difference between an "on" and and "off" is greater, and the higher the current flow on the hall signal when "on" (low voltage, near zero), the cleaner the signal can be (because induced currents from phases make less difference).
Many controllers use only 4.1-4.3v for hall supply power, running the 5v output thru a diode to prevent possible everything-destruction in the event of a short from that 5v supply line to a phase in the case of motor cable damage, but the pullups are usually still right at the 5v source. If they use high resistances, the current flow thru them when halls are "on" (grounding the signal) is low, and higher noise results. Most halls can only sink 10-20mA, so they don't usually use very low resistances (which would create better noise immunity against induced currents).
Some controllers use 12v (or even 15v) on the signal pullups (even if the halls are still powered by 4.1-5v), so there is a lot higher signal-to-noise ratio, even if the current flow is kept the same. I don't know if the CA's speedo input can handle that higher voltage or not; it might have to have the CA connector on the controller wired to take the speed hall signal from the pin at the MCU itself (or somewhere on the MCU side of the signal buffering) rather than where the pullups are.