Main Content

Circuitos_1

Cada vez mais, quando estamos a desenhar um circuito, encontramos componentes que funcionam com tensões diferentes das do micro-controlador.
Isto obriga a que para que os mesmos possam comunicar seja necessário implementar um “level shifter”, ou seja, assegurar que existe uma transição entre tensões dos componentes.

Foram implementados dois circuitos, um para a comunicação RX/TX e o outro para o bus I2C/TWI. No primeiro caso trata-se de um level-shifter unidirecional e no segundo caso um level-shift bidirecional.

No primeiro circuito a parte mais complexa de fazer é assegurar que a tensão baixa sobe o suficiente para garantir que o que é considerado a 1 na lógica de 3.3V também é considerada a 1 na lógica de 5V (TX de 3.3V para 5V). No sentido oposto a solução é mais simples podendo ser usado um divisor de tensão com resistências (RX de 5V para 3.3V).

No segundo circuito (baseado no trabalho de Jim Hagerman) cada uma das linhas do Clock (SCL) e de Data (SCA) é convertida através do uso de dois transístores NPN e duas resistências. O circuito acrescenta uma resistência adicional para controlar se o sinal está ou não ativo (ENABLE).

Existem já placas especificamente preparadas para fazer este trabalho, no entanto os circuitos apresentados são suficientemente simples para ser implementados com poucos componentes e de forma rápida.

Esquemático

Circuitos_3_Schematics

Componentes (BOM)

Circuito 1:

  • 2x NPN Transístor 2N2222 (Q1 e Q2)
  • 5x Resistência de 1K Ohms (R1 a R4 e R6)
  • 1x Resistência de 2K Ohms (R5)

Circuito 2:

  • 6x Resistência de 10k Ohms (R7 a R12)
  • 4x NPN Transístor 2N2222 (Q3 a Q6)

Pin-out dos IC

Circuitos_4_Pinout