Hello everybody,
We are using the I2C expander PCF8575TS/1,118. We have defined some inputs (3.3V inputs activated by a membrane keypad) and also some outputs (activation of leds in the membrane keypad) as you can see in the picture I'm attaching. Membrane keypad is connected via a zif connector (J4) to the board.
The problem comes when recognizing a change of status in the inputs. The membrane keypad which turns input signals to high. However, we've seen that despite seeing that the keypad is able to provide 3.3V to the track when the expander is not soldered, the voltage drops to 0.5V when we the expander is soldered.
Any idea of which could be the reason for this wrong behaviour of the expander?
Thanks a lot.
Solved! Go to Solution.
Hello,
We finally managed to solve the problem. We saw the inizialitation of the device was not being correct as the inputs where low so we realized the library was not doing it properly.
Thanks for your help.
Good to know, now what microcontroller are you using?
Can I see your code?
Hello,
We finally managed to solve the problem. We saw the inizialitation of the device was not being correct as the inputs where low so we realized the library was not doing it properly.
Thanks for your help.
Hello,
I just double-checked your schematic with the team.
The inputs and outputs of the expander have a Quasi-bidirectional function, which means that you have to write a high with an external device, in this case, your keypad. Could you verify that your keypad is using a pull-up configuration and is detecting a high when you are not pressing a button and a low when you press a button without connecting it to the expander?
Hi Erika,
Thanks for your help.
Now we have pull-ups to 3.3V in all the inputs. The keypad is giving a high when the button is not pressed and gives a low when it is pressed. We've measured both 0V and 3.3V in the input of the expander. Nevertheless, we are not able to see that change when reading the value of the pin via the expander.
We've seen that many people have suffered some problems with this module so may be someone has already found the solution.
Waiting for your reply.
Hello,
Yes, the input current could be the reason for this issue.
VOL depends on pull-down MOSFET Ron and sinks current in the application, please refer to the FUNCTIONAL DESCRIPTION on the datasheet.
Hi,
Sorry but I dont see the relation between the input current and the VOL. I have a few questions for you about the expander:
First, we should pull up all the inputs to 3.3V? Which should be the resistor value?
Second, which is the minimun or maximun input current value to the expander to detect the HIGH?
Thanks for your help.
Hello,
Are you using pull-up resistors on your SDA and SCL lines?
Thanks for your reply,
Yes, we've pulled up both signals. By the way, we've seen that connecting directly one of the inputs using a wire to 3.3V the expander detects the change. However, connecting a input to 3.3V using a 10 ohms resistor does not work. Could the input current be the reason for this issue?