Hi Guys,
I have a problem to make my i2c bus running. My network shows like following shematic grafic:
The Problem: Every MEGA has an 10k pullup resistor fix included and on the Logic Level Converter are also 10k Pullups are soldered on. The pullups from the UNO are deactivalable by digitalWrite(SDA, LOW) and digitalWrite(SCL, LOW) in setup() after Wire.begin().
In summary there are 3 10k pullups parallel in 5V Line, which I can't eliminate. A stable running is not possible in standard Mode (every time the bus freezes). In hours of testing I come to the result, that in 5V level a pullup resistance of only 10k works best, if I want to let to communicate one Arduino to another.
in 3v3 line the Due has an 1,5k pullup resistor and 10k Resistor from the Logic Level Converter parallel. The joint resistance is about 1,3k, which causes a sink current of 1mA.
Now my idea: Connecting a Mega directly from the SDA/SCL pins to the SDA1/SCL1 pins of the Due. This results, that a 5V voltage is pulling up the i2c bus lines.
Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Providing higher voltages, like 5V to an I/O pin could damage the board.
This text i got from the main information site of the Due from arduino.cc. I confirm to this statement, but if I have a 5V voltage an my SDA1/SCL1 pins, is this also valid?
I testet it in risk of damaging the Due by using the Wire examples "Master Writer" and "Slave reciever". Take a look on following draft:
The Master in this case is the Mega and the Slave is the Due.
I got the following results:
Due:
x is 0
x is 1
x is 2
x is 3
x is 4
x is 5
x is 6
x is 7
x is 8
x is 9
x is 10
Mega:
writing i2c: x is 0
writing i2c: x is 1
writing i2c: x is 2
writing i2c: x is 3
writing i2c: x is 4
writing i2c: x is 5
writing i2c: x is 6
writing i2c: x is 7
writing i2c: x is 8
writing i2c: x is 9
writing i2c: x is 10
It's already running for 2 hours yet, without any problems.
My Question is: Is it possible to run the Due safety with 5V pullups on i2c line permanently and without issues (concerning to the "damaging statement")?