Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK UPS

For other supported Arduino products from Adafruit: Shields, accessories, etc.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
shafermike
 
Posts: 4
Joined: Fri Oct 20, 2017 1:51 pm

Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK UPS

Post by shafermike »

We have two MCP4725 I2C's and other devices running one one Arduino I2C channel and get occasional lockups of the processor. Take one of them off the circuit and works fine. I see where both MCP4725's have pull up resistors, should both of them have them ?

To be precise, the I2C circuit chains from the Arduino Nano to a DS3231 clock board then to a MCP4725 then to the second MCP4725. It appears to hang on the I2C circuit and if we take the last device, the MCP4725 out of the circuit, runs fine.

I have read most of the I2C circuit design literature and am not clear on the pullup resistors need for all devices.

Any help is appreciated.

User avatar
adafruit_support_bill
 
Posts: 88088
Joined: Sat Feb 07, 2009 10:11 am

Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK

Post by adafruit_support_bill »

The pullups we install are 10K which are a bit on the 'weak' side. This allows you to have several devices on the bus without having to worry about pullups. If you have too many, the combined pullups in parallel can become too strong and interfere with communication. The critical point is usually more than 3 devices, but that may vary with bus length and wiring. Have you tried removing one of the other devices from the bus to see if that makes a difference?

User avatar
shafermike
 
Posts: 4
Joined: Fri Oct 20, 2017 1:51 pm

Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK

Post by shafermike »

adafruit_support_bill wrote:The pullups we install are 10K which are a bit on the 'weak' side. This allows you to have several devices on the bus without having to worry about pullups. If you have too many, the combined pullups in parallel can become too strong and interfere with communication. The critical point is usually more than 3 devices, but that may vary with bus length and wiring. Have you tried removing one of the other devices from the bus to see if that makes a difference?
Yes, it we leave the two DAC's and pull the clock board, it is stable. I assume we can remove the pullups on the MCP4725's ?

User avatar
adafruit_support_bill
 
Posts: 88088
Joined: Sat Feb 07, 2009 10:11 am

Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK

Post by adafruit_support_bill »

Yes. Removing one or two sets of pullup should work.

User avatar
shafermike
 
Posts: 4
Joined: Fri Oct 20, 2017 1:51 pm

Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK

Post by shafermike »

adafruit_support_bill wrote:Yes. Removing one or two sets of pullup should work.
Can you show the positions of the resistors on the board ?

User avatar
adafruit_support_bill
 
Posts: 88088
Joined: Sat Feb 07, 2009 10:11 am

Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK

Post by adafruit_support_bill »

The two circled in red below.
Attachments
Capture.PNG
Capture.PNG (371.73 KiB) Viewed 625 times

User avatar
shafermike
 
Posts: 4
Joined: Fri Oct 20, 2017 1:51 pm

Re: Dual MCP4725 I2C DAC's on one I2C Arduino channel LOCK

Post by shafermike »

adafruit_support_bill wrote:The two circled in red below.
Thanks SO much !

Locked
Please be positive and constructive with your questions and comments.

Return to “Other Arduino products from Adafruit”