Go Down

Topic: UNO board I2C pullups? Can be enabled/disabled? (Read 3 times) previous topic - next topic

Erdin

That seems all good, except the breadboard.
So many people have bad connections with breadboards.

What I2C chip are you using ?
What is your code ?

Grumpy_Mike

What exactly is the problem you are having.
Can the arduino "see" the I2C device, try an I2C scanner program to see what addresses it picks up. Often it is the address that you are using that is wrong.

louarnold

#7
Feb 25, 2013, 06:02 pm Last Edit: Feb 25, 2013, 06:08 pm by louarnold Reason: 1

That seems all good, except the breadboard.
So many people have bad connections with breadboards.

What I2C chip are you using ?
What is your code ?

I've moved the module on the breadboard, but there is no change.
The manual and chip datasheet can be found here: (http://www.gravitech.us/i2c1kto68pro.html)
The schematic is attached. The manufacturer replaced the switches with solder bridges: OE on, Address 0x2E, I2C pullups enabled. Power LED enabled.
The module is sent two bytes of data that correspond to a frequency that the LTC6904 chip must produce. The data format is stated in the datasheet.
The sketch is attached. Error codes often occur: 2- address error, 3- Data error, 4- Other error, but sometimes things work. Especially when I download the sketch and then power down the UNO and the module, .....but not always.

louarnold


What exactly is the problem you are having.
Can the arduino "see" the I2C device, try an I2C scanner program to see what addresses it picks up. Often it is the address that you are using that is wrong.


The problem is simply that sometimes the module's output frequency doesn't change. There is no real pattern to the errors (2, 3, 4) in Wire.endTransmission.

As for the UNO seeing the module, one could say that it sees it sometimes and not at others. I'll try the address scan, but I don't think it will give us any more information.

Grumpy_Mike

Quote
The problem is simply that sometimes the module's output frequency doesn't change.

That code will only set the modules output frequency to one value once per run only. Therefore if you run the code again it will not change. Only when you power it down will it change.

Quote
but sometimes things work.

That points to decoupling problems. Where are the output wires going to? Maybe this is causing interference that is being picked up. I would add extra decoupling capacitors to the supply.

Go Up