csinko / io-master

Dominate the I/O!
MIT License
4 stars 1 forks source link

MCU Voltage Levels Not Close to 0V/3.3V #58

Open codeThatThinks opened 4 years ago

codeThatThinks commented 4 years ago

The MCU logic levels on the IO_OUT, IO_TRIS, IO_CLK pins do not appear to be close to the expected HIGH/LOW voltages: 3.3V and 0V. The issue is mainly with the LOW voltage.

codeThatThinks commented 4 years ago

All MCU pins have 100K pull-up/pull-down resistors to set a defined state when the MCU pin is not being driven (i.e. MCU is starting up, pin configured as an input, etc.).

Upon inspection of the circuit connected to the MCU pin, it appears that the pin voltage can rise above 0V in a specific situation.

IMG_20200307_000822

When the IO_TRIS pin is set HIGH (3.3V), the combination of the LED current limiting resistor and pull down resistor form a voltage divider, causing the voltage on the MCU pin to go to ~0.7V. When IO_TRIS is LOW (0V), this issue does not exist. This issue also does not exist when the MCU is actively driving the pin HIGH and LOW.

For Rev 2, the output LED should be changed so that it is no longer between two MCU pins. The IO_TRIS pin should get its own indicator LED.

codeThatThinks commented 4 years ago

More bench testing with the LM7171 on a breakout board:

The LM7171 inputs appear to float to ~5V when not connected to anything. With the inverting input tied to 1.65V and the non-inverting input pulled down to ground through a 100K resistor, the voltage on the non-inverting input is around 0.228V. This indicates an input current of around 2uA. It might be a good idea to make the pull down resistors smaller, possibly 10K.