ADC Pi overheating
The ADC Pi is an Analogue to Digital converter for the Raspberry Pi
31/10/2023
Posted by:
super-e-
First time writing in this forum, hope I'm not breaking any rules nor etiquette.
I have a ADC Pi that was working fine connected to my RPi Zero W till few days ago, lately instead when I try using it via python I get the following error:
Traceback (most recent call last):
File "/home/pi/garagedoor.py", line 87, in
31/10/2023
Posted by:
super-e-
First time writing in this forum, hope I'm not breaking any rules nor etiquette.
I have a ADC Pi that was working fine connected to my RPi Zero W till few days ago, lately instead when I try using it via python I get the following error:
Traceback (most recent call last):
File "/home/pi/garagedoor.py", line 87, in module
main()
File "/home/pi/garagedoor.py", line 66, in main
adc = ADCPi(0x6A, 0x6B, 12)
File "/usr/local/lib/python3.9/dist-packages/ADCPi/ADCPi.py", line 211, in __init__
self.set_bit_rate(rate)
File "/usr/local/lib/python3.9/dist-packages/ADCPi/ADCPi.py", line 445, in set_bit_rate
self.__bus.write_byte(self.__adc1_address, self.__adc1_conf)
File "/usr/local/lib/python3.9/dist-packages/smbus2/smbus2.py", line 414, in write_byte
ioctl(self.fd, I2C_SMBUS, msg)
OSError: Input/output error
and even after few minutes of being powered the component has a typical "hot circuitry" smell and especially the back side at the center of the board, beneath the MCP3424 chips.
Is my ADC Pi toast? is there anything I could try?
As a side note, I tried putting both a ADC-DAC Pi and ADC Differential Pi on the same RPi Zero W and they do not overheat.
Thanks for your help.
-E-
31/10/2023
Posted by:
andrew
The OSError: Input/output error normally means the Raspberry Pi can no longer communicate with the ADC Pi over the I2C bus.
A "hot circuitry" smell is normally a sign that either one or both of the MCP3424 chips have probably developed a fault. Was anything connected to the ADC Pi when it stopped working?
If you run the command "sudo i2cdetect -y 1" with the ADC Pi connected, do either of the ADC chips appear in the listing? They will normally show up on 0x68 and 0x69. If one of the chips still appears on the bus, that will allow you to know which has failed.
You could also try running the "sudo i2cdetect -y 1" with the ADC Differential Pi connected to ensure there isn't a fault with the I2C bus on the Raspberry Pi.
31/10/2023
Posted by:
super-e-
first of all many thanks for your prompt reply, I really appreciate.
The ADC Pi was connected to a draw wire linear encoder for a small home project, but the connections and voltage range should be safe to use, not what might have caused the issue.
Your suggestion was indeed useful, with the i2cdetect command I see the 0x69 chip is responding while the 0x68 is not.
Is there a way to by-pass the 0x68 chip and work with the second unit only?
I tried replacing
adc = ADCPi(0x68, 0x69, 12)
with
adc.set_i2c_address1(0x69)
adc.set_bit_rate(12)
but I'm receiving the same error as before.
Any suggestion is appreciated.
Thanks
-E-
31/10/2023
Posted by:
super-e-
Thanks again
-E-
31/10/2023
Posted by:
andrew
Before connecting your linear encoder to the other ADC chip, it may be worth checking the voltage with a multimeter to make sure it does not go above 5V. Also, check that the cable from the encoder to the ADC does not run parallel to any high-voltage wires, as this could induce voltage spikes on the ADC cable.
09/11/2023
Posted by:
super-e-
It's my first such DIY project (I'm a software guy) and I'm very proud.
Thanks Andrew for your help, saved me the cost of a new ADC to say the least.
Cheers
-E-
Note: documents in Portable Document Format (PDF) require Adobe Acrobat Reader 5.0 or higher to view.
Download Adobe Acrobat Reader or other PDF reading software for your computer or mobile device.