Hi all, running out of ideas on how to solve my issue, hopefully there are some good suggestions on where else i can isolate and fix the trouble I am facing.
I have a MAX7221 chip connected to a mega2560 Arduino. Using the LED Control Library to communicate with the MAX7221.
The MAX7221 is controlling 2 x 7 segments display using DIG 0 and DIG 1.
Typically, everything works fine, but at times, the MAX7221 seems to lose DIG 1 randomly (meaning the digit stops displaying on the 7 SEG) while DIG 0 still works. At times, the whole MAX7221 stops working at all and either no displays turns up or both segments are stuck on number "8".
Already have the 10UF electrolytic capacitor and 0.1UF ceramic capacitor in the circuit. Additionally both grounds are connected. DIN, Load(CS), Clock I have also tested with 10k resistors inline but to no effect.
The MAX7221 comes from RS so I believe should be authentic. Furthermore I had swapped the chips from a separate batch to isolate this issue.
Had also tried to add code to wake from low power mode, but that does not seem to solve the issue. Only a full power cycle of the circuit would make the issue go away.
I have observed that this happens whenever a Relay triggers. Basically this relay is triggered on a timed basis (standalone timer relay from finder, not controlled by arduino) to control the heating and cooling time for a total of 31 units of heaters. This is the heating elements used:
The power supply for the heating elements is a separate 2000W 24V meanwell power supply unit. We had tried using smaller rated power supplys due to the theorotical 20watts consumption per heater, but it seems that they are unable to handle the surge in current for the heaters when initially connected.
I have isolated by removing the 24V output to the heaters from the relay and this issue with the MAX7221 does not turn up (Meaning that relay still running, but heaters are not working/being powered).