This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Having some problem with few ADS1115 on my PCB. All of them is behaving the same, so I suspect there is a communication error somewhere.
As you see, I get a value around 1.2v (1.20003662221137) which is very exact every time. Also sometimes a lower value which is more random.
I've tried to run with different data speeds, 860SPS and 64SPS, adding a conversion delay(up to 30ms) before reading the value. The delays seems to improve it a little bit, but still far from good.
I've got the same error on multiple ADS's on different I2C buses.
Any idea what is causing this and how to eliminate the error?
Hi Pelle,
What are the register configurations for your readings?
Are you using continuous or single-shot mode?
Also, would it be possible to provide some captures of your digital communications with a logic analyzer to look for potential problems? if possible, a schematic as well.
Best Regards,
Angel
Here is a line from the log when it's reading wrongly:
bin(self.readRegister(self.CONFIG_REG))='0b10001011100011', bin(self.readRegister(self.CONVERSION_REG))='0b1100100000000'
Figured that the bit string 1100100000000 correspond to a register on another device on the same I2C bus, and running it at slower measuring interval solved that problem.
Hi Pelle,
Are you able to probe your digital communication lines with a scope/logic analyzer to see what is actually on the data lines?
This would help to debug if there is a problem with the digital communication.
It seems likely, since you mention slowing it down helps fix the problem.
Also, what are the register configurations used?
Best Regards,
Angel