Hello Arduino Gurus,
I am having an issue with a project, and I'm hoping someone here might be able to offer some guidance.
I have made a wireless temperature monitor to keep track of temperatures in my smoker. I've been working on it for several months, and just put it together in its enclosure when I noticed a problem. I am using an Arduino Mega with a WiFi shield. I have 6 large 4-digit LED displays (temps) and two small 4-digit LED displays (times). Five thermistor temperature probes (Thermoworks) are wired in to analog inputs using voltage dividers. One probe is a thermocouple. I have two 10K linear potentiometers, one controlling the brightness of the large displays, and one controlling the brightness of the smaller ones. The displays are using I2C. Potentiometers are wired in through separate analog inputs.
When I increase the brightness of the large displays, the temperatures displayed rise up to 8 degrees. The higher the brightness, the larger the temp change on the display. The display related to the thermocouple is not affected. I also notice visible flickering in the smaller displays as I increase the brightness of the larger displays. Increasing the brightness of the smaller displays has no adverse effects. If I disconnect all of the large displays except for one, increasing the brightness has no effect on the temperature displayed, and does not induce the flickering in the smaller displays. So it seems like with all displays connected, as the brightness increases, the current being drawn increases, and the small displays are affected as are the voltages being measured across the thermistors. If I unplug a temperature probe and measure the voltage across the jack, at low brightness the voltage is 4.7 volts. The voltage across the jack at max brightness is about 3.7 volts, so my suspicion was confirmed.
I switched the potentiometers to the 3.3v output of the Arduino and saw no change in the behavior. If I remove the potentiometers from the circuit altogether and change the brightness of the large displays in the sketch, the behavior is the same. One final piece of info...at higher brightness levels, the unit seems to become unstable and will freeze in 5-10 minutes. At lower brightness, the unit will run at least 30 hours (the longest I've tried) without issue.
Does anyone have any ideas on what is causing this and how to solve this problem? Am I overloading the Mega driving the 6 displays at higher brightness?