Hey guys,
Ues, I can hear my servo clearly. However, for me it’s more like a notification that it still works rather than an annoyance. 1khz is definitely in the audible range! However, this makes using all the other standard libraries possible. For a sail boat this might still be too loud, depending on your setup.
Steinert seems to be pretty expensive, yes. I eye balled the milliseconds per cycle in my first experiments and realized that Steinert causes an overrun such that I was forced to increase the loop time. I implemented Steinert only because that’s what I knew was working with the temp sensors I had sitting around. I bought them for a different project. Plus, I didn’t understand your code completely with respect to which value to change when using different resistances than yours. Having said that, I tested both algorithms and they seem to come to very similar results. So if you could confirm what values to change in your code, we can continue to use your temp code.
Watchdog: Yeah, I just don’t like seeing my uC resetting with me not knowing why. That’s all.
ADC filtering is good here because it untangles the code and it’s a simple fix for potentially noisy signals. Each channel has it’s own filter coefficient.
Yes, I’m running at 97% flash. That’s kinda insane and I haven’t found a good reason why, so far. Commenting the display out, doesn’t help. So it should be something else.
A huge optimization would be to implement Steinert or anything else computationally expensive using a lookup table. That would eliminate most computations. We just need to provide a script that spits put the lookup table for any given sensor and hardware implementation. ADC to temperature mapping is that a matter of a linear scale between two of the LUT values
Ues, I can hear my servo clearly. However, for me it’s more like a notification that it still works rather than an annoyance. 1khz is definitely in the audible range! However, this makes using all the other standard libraries possible. For a sail boat this might still be too loud, depending on your setup.
Steinert seems to be pretty expensive, yes. I eye balled the milliseconds per cycle in my first experiments and realized that Steinert causes an overrun such that I was forced to increase the loop time. I implemented Steinert only because that’s what I knew was working with the temp sensors I had sitting around. I bought them for a different project. Plus, I didn’t understand your code completely with respect to which value to change when using different resistances than yours. Having said that, I tested both algorithms and they seem to come to very similar results. So if you could confirm what values to change in your code, we can continue to use your temp code.
Watchdog: Yeah, I just don’t like seeing my uC resetting with me not knowing why. That’s all.
ADC filtering is good here because it untangles the code and it’s a simple fix for potentially noisy signals. Each channel has it’s own filter coefficient.
Yes, I’m running at 97% flash. That’s kinda insane and I haven’t found a good reason why, so far. Commenting the display out, doesn’t help. So it should be something else.
A huge optimization would be to implement Steinert or anything else computationally expensive using a lookup table. That would eliminate most computations. We just need to provide a script that spits put the lookup table for any given sensor and hardware implementation. ADC to temperature mapping is that a matter of a linear scale between two of the LUT values