I’ve been having this problem with the chips where they would stop responding to the motor control number that I program it to.
I have 4 motor controllers on one serial line … yesterday they all responded properly to their control numbers when called upon, then the circuit was turned off, turned back on a couple minutes later, suddenly motor controller #4 (which was programmed to respond to 0x06), stopped working. I took it off my main circuit and plugged it into a test circuit, then send it the global motor (0x00) command, and it turned on just fine, but would not turn on to 0x06. So i reprogrammed the chip to respond to 0x08 and it started working again. The circuit was turned off and now it’s giving me the same issues.
Any ideas as to why this is happening? Why are these chips not holding onto their programming?
Is the same unit always losing its ID? If so, it could just a problem with that chip. By the way, the setting is stored in EEPROM, which has a limited number of erase/write cycles. It’s typically in the millions, which should be more than enough for normal use, but if you get some loop to repeatedly set the value, you could get to a million pretty quickly.
Yes, two of the four controllers keep losing their ID’s.
The chips are programmed without any loops. It’s weird though because they work once they get reprogrammed, but after some down time, they stop responding to the ID’s.
So your saying the chips got messed up?
I’m not saying the chips got messed up; I’m just pointing out that if you’re doing the same thing with all four and only one is causing trouble, it could just be that one unit being bad. With two out of four, I get a bit more concerned about if it’s something you’re doing. All four have been on the same serial line every time those two units failed? If so, I think we should just replace the two. If those two are on a separate line, it’s possible that there is more noise on the serial line that is happening to get interpreted as new “change ID” commands.