Community Forum Share your projects and post your questions

Register or Sign In

extraneous address detected when ServoPi plugged into system

49 Views - Created 38 days ago

38 days ago

Posted by:
sbrooke

Users Avatar

using sudo i2cdetect -y 1, and the ServoPi plugged in,  I see addresses 0x40 and 0x70. If I change the ServoPi address to 0x41, then I see 0x41 and 0x70. With no board, no address are identified as expected.

When S/W communicates with the ServoPi, it halts after 5 or 6 i2c writes. Afterwards, neither  address 0x40 and 0x70 are detected and the system needs to be power cycled to detect the addresses again.  I suspect the extraneous address is the problem.

I also have the ADC Differential Pi and it behaves as expected with no extraneous address.

Does the problem indicate a suspect PCA9685?

Raspberry Pi 3B, programming in Geany C++

37 days ago

Posted by:
andrew

Users Avatar

Location:
United Kingdom

Users Twitter  Users Website  

The 0x70 address on the PCA9685 is used as an All Call address which allows the user to send commands to several devices simaltaniously using the same I2C address.  You can find more about how the All Call address works in the PCA9685 datasheet on page 25.  The All Call address shouldn't be causing any issues with I2C communication as it is enabled by default on all PCA9685 devices. 

One common cause for the Servo Pi I2C bus locking is when two programs try to access the I2C bus at the same time.  Do you have any other programs running on your Raspberry Pi that are accessing the I2C bus?

Another cause for the Servo Pi to stop responding is if there is a power drop in the supply voltage.  Are you using a common power supply for the Raspberry Pi and Servo Pi or are they separate?

Can you try running the demo_pwm.py script in our Python library and see if that causes the I2C bus to lock.  That will allow you to determine if the fault is hardware or software related.

AB Electronics UK Tech Support

36 days ago

Posted by:
sbrooke

Users Avatar

I hang my head in shame. I missed that I needed to provide +5V to the 9685. My first read through I thought that it was referring to the +5V rail on the I/O pins only.  Apparent functionality and the address issue lead me to believe that the basics were taken care of. I bridged the power link and all is good.  Thanks also for the info about the Call address.

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.