Portas Lógicas com Transistores
Representação virtual da placa de circuito
Esse projeto se inicio da curiosidade de como as portas lógicas seriam implementadas dentro de circuitos impressos, em algebra booleana estudamos superficialmente a implementação destes circuitos, mas devido a tantas particularidades, diferentes tipos de transistores, PNP, NPN, NMOS, MOSFET, CMOS, BJT e cada tecnologia com suas particularidades sob minha ótica imaginei que não fosse talvez apenas curiosidade minha particular em ver esses circuitos funcionando na prática, portanto decidi implementar algumas das portas lógicas mais famosas para elucidar o seu funcionamen. A tecnologia escolhida para a fabricação desses protótipos é a de transistores BJT (Bipolar Junction Transistor), esta escolha foi baseada na replicabilidade, sendo eles fáceis de encontrar e de uso relativamente simples. Apesar de se diferenciarem relativamente bastante dos de tecnologia NMOS ou CMOS, os mais amplamente usados nos computadores hoje em dia, embutidos em pastilhas de silício, ainda são usados em muitos equipamentos que ainda utilizam componentes discretos, ainda mais considerando as cargas relativamente altas que podem controlar.
Um exemplo de transistor BJT
Apresentando uma visão geral sobre os transistores BJT, eles são fabricados de silício e possuem esse nome devido a sua fabricação que possui três "camadas" de silício se conectando, formando assim duas junções (BIpolar junction). Essas camadas podem ser do tipo P ou do tipo N, as camadas do tipo P são "ricas" em cargas positivas e as N em cargas negativas, e a interação entre essas camadas criam diferenças de potêncial que dependendo da forma como são conectadas facilitam ou dificultam a passagem de elétrons, sendo assim uma ótima chave.
Transistores PNP e NPN representando suas junções internas
Existem dois tipos de transistores comumente usados os PNP e os NPN. Mais a frente, junto aos exemplos de uso citarei as diferenças entre cada um deles, para não cabar sendo algo muito teórico. Estes transistores tem tres terminais elementares, onde cada um corresponde a uma das placas que fazem parte da junção, são chamados de Coletor (C), Base (B) e Emissor(E), como representado na primeira figura pelas letras tanto na figura do componente como no respectivo esquemático. É por meio da Base do transistor que se controla o fluxo de corrente entre o Coletor e o Emissor, ao colocarmos uma diferença de potencial, onde dependendo do transistor é de milivolts, entre a Base e o Emissor permite-se o fluxo de corrente entre Coletor e Emissor tambem. A questão que sempre é levantada é a seguinte, "por que controlarum dispositivo com uma determinada tensão na base se ao invés de usar um transistor poderia aplicar essa tensão direto no equipamento final?" e a resposta é que na base aplicamos uma diferença de potencial de milivolts (um sinal) e entre o coletor e emissor pode-se ter diferenças de potencias da ordem de dezenas ou até centenas de volts, sendo assim uma forma de controlar tensões muito maiores com sinais de baixa potência.
Dessa forma sendo chaves ativadas por sinais podemos fazer diversas combinações onde uma determinada chave ativa outra, e outra, e outra, e por aí vai, criando assim circuitos complexos. Como peças fundamentais desses circuitos temos os operadores lógicas da álgebra booleana. Portas do tipo AND, OR e NOT compõe praticamente todos os sistemas eletronicos de processamento conhecidos, no entanto por questões de padronização, economia de silício e consequentemente dinheiro em projetos, graças as Leis de Morgan prova-se que qualquer circuito lógico pode ser implementado usando-se apenas NAND's ou NOR's, assim sendo essas as portas usadas na prática.
Neste projeto tentarei implementar o maior numeor de portas possíveis, e iniciaremos pela porta AND.
O foco deste projeto é construir protótipos de circuitos que representam as portas lógicas de forma que seja visível em seu hardware a implementação usando-se transistores, de modo que seja utilizado para facilitar o aprendizado de como elas são teoricamente implementadas em hardware. Como decisão de projeto as portas aqui discutidas serão de apenas duas entradas, onde as entradas serão definidas por DIP-Switchs. Para cada switch havera um led que representará seu estado, desligado para representar 0 e ligado para representar 1, da mesma forma ser a a respresentação do output. Visando um dispositivo para uso em sala e que seja robusto, ao ponto de ser operado pelos alunos e barato, optaremos por usar os transistores da série BC, o BC548 como representante de transistor NPN e o BC558 como representante de transistor PNP. Essas escolhas de transistores foram baseadas em seus preços, facilidade de acesso e faixa de operação, com tensões de gate-emissor (para 'ligar' o transistor) inferiores a 1.0V e tensão entre coletor e emissor (tensão do circuito que eles controlam) de até 60V, apesar de operarmos a apenas 9V utilizando uma bateria.
A porta AND
Representação da porta AND e sua tabela verdade
Observando-se o fato de que a porta AND com duas entradas poder ser descrita utilizando-se duas chaves em série, onde apenas se as duas estiverem ligadas simultamenamente o circuito estara fechado, representando 1 na saida, seguimos o mesmo raciocínio utilizando transistores. Desenvolvendo o circuito para essa implementação obteve-se resultados interessantes os quais acho interessante discutir.
A primeira consideração interessante aqui citada é que tipo de transistor utilizaremos. O circuito poderia ser implementado usando-se tanto transistores PNP como NPN, basicamente o que mudaria seria a polaridade que seria enviada para as bases dos transistores, no caso de PNP colocamos a base com tensão a nível VCC para ativá-lo e em NPN colocamos a nível GND, por opção a escolha foi de se implementar usando-se dois transistores BC558.
AND com chaves
Primeiro circuito pensado
O primeiro circuito pensado exigia a nessecidade de um componente especial denominado diodo zenner, em resumo ele é um componente, que quando polarizado reversamente (ou seja, ligado seu polo positivo ao negativo do sistema e o negativo ao positivo do sistema), torna-se uma "barreira" contra tensão, onde ele só permite que flua corrente após a tensão atingir determinado valor. Por que isso? Explica-se, ao deixarmos fluir corrente na base do transistor mais proximo a VCC na figura, a corrente tenderia a fluir entre o gate e emissor e entre coletor e emissor deste primeiro transistor, no entanto como o emissor do primeiro transistor esta conectado ao coletor do segundo transistor que esta desativado, já que no segundo transistor não ha corrente fluindo por sua base, então a porta responde como o esperado na tabela verdade, 1 and 0 = 0; no entanto ao ativarmos apenas o segundo transistor teriamos um problema caso não houvesse o diodo zenner, ao colocarmos corrente na base deste segundo transistor ele fluiria naturamente para o emissor que por consequencia iria direto para o let e por fim ao GND, colocando o led em estado aceso, mesmo que com um pequeno brilho, já que a tensão entre base e emissor seria baixa, mas considerável, assim a tabela para 0 and 1 = 1 e estaria errada. Desta forma necessita-se colocar um diodo do tipo zenner limitador de tensão de 3V, calculado a partir dos resistores de 2k2 postos na base. Com esse diodo, a diferença de potencia entre o a base do diodo e o coletor não seria superior a 3V, permanecendo então desligado, até que o primeiro transistor, por sua vez seja ligado e permita que a corrente flua por completo através dos dois transistores, superand assim os 3V e ativando o led.
Particularmente achei essa implementação um tanto complicada de ser feita e completamente dependente de variações da bateria, diversos cálculos de redes de Kirchoff teriam de ser realizados para uma simples implementação. A segunda implementação parte de uma mudança sutil mas crucial no sistema. Ao movermos o led do output para antes dos dois transistores, nenhuma corrente de base-emissor fluiria por meio dele, ja que agora ele está antes dos transistores. Dessa forma apenas estaria ligado caso os dois transistores estivessem com suas bases energizadas, seguindo perfeitamente a tabela verdade da porta AND.
Segundo circuito pensado, sem diodo zenner
Montando a Porta AND
A implementação do circuito em plada de circuito foi feita utilizando uma placa de fenolite tradicional, e como metodo para a gravação das trilhas na placa foi utilizada a técnica de gravação com caneta de retroprojetor dada a simplicidade do circuito, dessa forma, para que houvesse um melhor aproveitamento da solução de percloreto de ferro, boa parte da placa foi "pintada", estas areas são as negativas da placa. Aproveitar o máximo de cobre a não ser retirado em placas de circuito é uma boa prática já que isso acelera a reação de extração do mesmo nas áreas onde ele será necessariamente retirado. Como esta técnica é rudimentar apenas em projetos de pouca complexidade das trilhas é possível fazer isso. A cópia das trilhas para a placa foi feita a mão livre baseado no modelo gerado pelo kicad.
Desenho das trilhas na superfície de cobre
Após ter desenhado as trilhas foi feito o processo tradicional de retirada da do cobre das áreas indesejadas utilizando percloreto de ferro, e na sequência soldados os componentes, que não eram muitos mas dependiam de certo cuidado nesse processo devido a proximidade das trilhas, o resultado foi o seguinte:
Disposição dos componetes na placa
Soldas feitas e resultado final da extração do cobre
O resultado final foi execelente, conectado a uma bateria de 9V comum funciona perfeitamente como desejavamos. Com algumas pequenas modificações nesse circuito poderemos fazer uma porta OR, que em breve sera discutida aqui.