Você sabia que existem dispositivos digitais que trabalham com sinais de 3,3V ao invés dos 5V já conhecidos do Arduino e que é necessário fazer a conversão lógica desses sinais para conseguirmos integrá-los sem o risco de danificar o componente? Isso é o que vamos mostrar no post de hoje!
Nos circuitos digitais, um nível lógico é aquele que possui um número finito de estados que um sinal pode variar (0 – LOW ou 1 – HIGH). As tensões de sinal costumam ser de 3.3V ou 5V, valores esses que podem variar dependendo da tecnologia de fabricação (TTL – Lógica Transistor-Transistor ou CMOS – Lógica MOS Complementar), o que pode restringir o uso de alguns módulos e dispositivos. É importante salientar que circuitos que operam em 5V não podem se comunicar diretamente com circuitos que operam em 3.3V, já que existe o risco de queima caso ele não seja tolerante a essa tensão (na duvida, sempre consulte o datasheet). No caso de circuitos que operam seu sinal em 3.3V, a ligação em circuitos que operam em 5V não danificará nenhum dos dois circuitos, mas existem alguns dispositivos onde sua margem de sinal para ser considerado como nível lógico 1 está acima dos 3.3V, o que fará com que o sinal não seja interpretado.
Tendo isso em mente, vamos te mostrar algumas maneiras práticas de fazer a conversão entre esses valores de sinal e aumentar ainda mais a sua gama de possibilidades para trabalhar com Arduino, ESP ou qualquer outro microcontrolador.
Existem basicamente dois tipos de conversores de nível lógico:
São conversores simples que trabalham convertendo apenas da maior para a menor tensão. Os mais comumente utilizados são os divisores de tensão e os reguladores com diodo Zener. São circuitos que funcionam muito bem para comunicações seriais como UART e SPI, onde a transmissão e recepção dos dados acontecem em fios diferentes. Já em comunicações OneWire, como a I2C, apresentam baixa eficiência, já que a transmissão e recepção de dados é feita por um único fio. Vamos conhecer mais sobre cada um:
– Divisor de tensão: Sabe aquele circuitinho à base de resistores que você usa no pino RX quando precisa conectar um módulo Bluetooth ao Arduino? Ele está atuando como um conversor de nível lógico, já que o módulo trabalha com 3.3V no RX e o Arduino envia 5V em seus pinos digitais. Como dito anteriormente, essa conversão é necessária para que não ocorra a queima do módulo de menor tensão e essa associação de resistores é uma maneira bem prática de se resolver o problema. Suas desvantagens incluem a necessidade de cálculo para encontrar os valores de resistor sempre que for necessária a conversão e principalmente a variação da tensão, já que nem sempre é possível encontrar resistores com valores iguais aos obtidos nos cálculos, sendo necessário fazer uso da aproximação, o que pode ser perigoso, já que um arredondamento para mais pode reduzir o valor da tensão e consequentemente causar erros de leitura. Do contrário, caso o valor seja arredondado para menos, existe o risco do aumento da tensão e consequentemente a queima do módulo de 3.3V. Veja abaixo a montagem do circuito divisor de tensão e a fórmula para o cálculo dos resistores:
– Regulador Zener: Consiste num circuito que tem por base um diodo Zener inversamente polarizado, fazendo-o funcionar como um regulador de tensão. Sua principal vantagem em relação ao divisor de tensão está na possibilidade de se utilizar uma gama maior de resistores.
Os conversores representam a maneira correta, segura e eficiente para se converter níveis lógicos. São circuitos dedicados, com seu funcionamento baseado em MOSFETs de canal N e resistores de pull-up, que permitem a conversão nos dois sentidos, seja de 5V para 3.3V ou de 3.3V para 5V.
Seu funcionamento é relativamente simples. O circuito deve ser alimentado com as tensões de referência, tanto 5V como 3.3V. Os referenciais estão conectados aos resistores de pull-up e serão eles os responsáveis pela conversão, conforme o chaveamento do MOSFET. Veja a lógica de acionamento para cada uma das situações possíveis:
– Nível 1, entrada 3.3V: Se um sinal HIGH é enviado no pino de 3.3V, que por sua vez está conectado ao pino Source do MOSFET, o mesmo não será acionado (note que o pino Gate do MOSFET está conectado à linha de 3.3V, logo não há diferença de potencial entre Source e Gate), fazendo com que o resistor de pull-up R2 conectado à linha de 5V seja o caminho mais fácil para o tráfego da corrente.
-Nível 0, entrada 3.3V: Quando o nível lógico no Source for LOW, haverá diferença de potencial entre Source (0V) e Gate (3.3V) e o MOSFET entrará em condução, oferecendo um caminho de menor resistência para a corrente e essa, por sua vez, enviará um sinal LOW para o pino de saída.
– Nível 1, entrada 5V: Ao receber um Sinal HIGH na entrada de 5V (Dreno), novamente não haverá diferença de potencial entre Source e Gate, já que o Gate continua conectado à linha de 3.3V, enquanto que o resistor de pull-up R1 envia os mesmos 3.3V à saída com tensão reduzida e ao Source.
– Nível 0, entrada 5V: Quando o nível lógico no Dreno for LOW, o diodo interno do MOSFET será polarizado diretamente e o mesmo será acionado, novamente oferecendo um caminho de menor resistência à corrente e enviando o nível lógico LOW da entrada para a saída.
Os conversores bidirecionais apresentam diversas vantagens, dentre elas podemos listar a possibilidade de serem utilizados em aplicações onde circuitos unidirecionais são tipicamente utilizados – mesmo sendo seu destaque em aplicações onde apenas um fio é utilizado tanto para enfio como para recebimento de informações, trabalho em altas frequências e a disposição de vários conversores em um único módulo. Em nossa loja temos um conversor bidirecional, na qual você consegue converter até 8 sinais simultâneos de maneira prática e rápida. Veja abaixo como efetuar as conexões nesse módulo:
Nota: Este módulo não foi projetado para funcionar como regulador de tensão. Use-o apenas para conversão de dados!
Hoje você aprendeu sobre a utilização e a importância dos conversores de nível lógico, bem como as diferenças e características entre eles. Esperamos que tenha sido proveitoso e que as informações aqui contidas sirvam para ampliar seu conhecimento no fantástico mundo da eletrônica digital.
Um forte abraço e até a próxima.
Já que você chegou até aqui, não deixe de conferir os produtos da nossa loja, bem como nos seguir no Instagram para conferir diversos conteúdos relacionados ao fantástico mundo da robótica e da eletrônica.
Tenha a Metodologia Eletrogate na sua Escola! Conheça nosso Programa de Robótica Educacional.
|
A Eletrogate é uma loja virtual de componentes eletrônicos do Brasil e possui diversos produtos relacionados à Arduino, Automação, Robótica e Eletrônica em geral.
Conheça a Metodologia Eletrogate e Lecione um Curso de Robótica nas Escolas da sua Região!