CONECTANDO O PIC COM DISPOSITIVOS EXTERNOS


Embora a conexão de dispositivos periféricos nas portas do microcontrolador possa parecer óbvia para quem tem um conhecimento médio de eletrônica, para um iniciante isso pode não ser tão simples a ponto de destruir o microcontrolador.

Para evitar essa tragédia, essa página pretende dar uma noção geral de como dispositivos de entrada e saída devem ser conectados às portas do microcontrolador sem causar danos ao mesmo.

Interface básica com transistores
Conexão de reles usando transistores NPN e PNP
Conexão de motores com transistores MOSFET
Conexão de LEDs comuns
Conexão de LEDs bicolores
Conexão de LDR






INTERFACE BÁSICA COM TRANSISTORES

Quando usamos dispositivos resistivos que não exijem correntes superiores a 20mA, como um simples LED, podemos conectá-los diretamente a uma porta de I/O porém muitos dispositivos não podem ser conectados dessa maneira porque, se por um lado essas portas não conseguem fornecer corrente superior a 20mA, por outro lado essas portas também podem não conseguir drenar corrente suficiente para fazerem os dispositivos funcionarem adequadamente.

Todos os dispositivos resistivos que requerem correntes superiores a fornecida pela porta do microcontrolador devem ser conectados através de um transistor NPN, PNP, MOSFET, UJT ou de outra tecnologia.

Esses transistores devem controlar a corrente fornecida pela fonte de alimentação e entregá-la a carga que se deseja alimentar.

As duas figuras mostram as possibilidades de conexões de um rele ao PORTB<1> do microcontrolador, uma usando um transistor NPN e outra um PNP. Esses exemplos servem como base para as demais situações.

Apesar das figuras mostrarem cargas alimentadas por uma tensão de 5V, a tensão de alimentação das cargas não depende da alimentação do circuito do microcontrolador e pode ser superior a essa, bastando que o ground seja comum aos dois circuitos. Isso torna possível controlarmos cargas resistivas que usam tesões muito maiores do que a tensão de alimentação do microcontrolador.

No caso de um transistor NPN, a carga deve ser conectada a de alimentação (+5V na figura), o coletor do transistor é conectado a carga e o emissor ao ground do circuito.

No caso do transistor PNP, a conexão deve ser invertida, isto é, o emissor do transistor é conectado a alimentação (+5V na figura), o coletor é conectado a carga que, por sua vez, é conectada ao ground do circuito.

Em ambos os casos as bases dos transistores são conectadas a porta do microcontrolador por um resistor típico de 10K.

Se o transistor usado for um NPN, a ativação da carga deve ser feita colocando-se a porta do microcontrolador em nível alto.

Se o transistor usado for um PNP, a ativação da carga deve ser feita colocando-se a porta do microcontrolador em nível baixo.

Início


CONEXÃO DE RELES USANDO TRANSISTORES NPN E PNP

Além disso, há os dispositivos indutivos (que possuem bobinas) que nunca podem ser conectados diretamente a uma porta de I/O sob pena de se ter porta ou o microcontrolador inteiro danificado.Para podermos conectar tais dispositivos, usaremos transistores bipolares ou de outra tecnologia.

As duas figuras mostram as possibilidades de conexões de um rele ao PORTB<1> do microcontrolador, uma usando um transistor NPN e outra um PNP.

Quando o rele é ligado e desligado, os campos magnéticos em sua bobina crescem e colapsam fazendo surgir forças eletromotrizes e contraeletromotrizes. Os surtos de tensões gerados por essas forças são danosos para o microcontrolador e por isso devem ser evitados. Para proteger o microcontrolador, é colocado um diodo 1N4001 em paralelo com a bobina do rele.

Em ambos os casos as bases dos transistores seriam conectadas a porta do microcontrolador por um resistor típico de 10K.

Se o transistor usado for um NPN, a ativação do rele deve ser feita colocando-se a porta do microcontrolador em nível alto.

Se o transistor usado for um PNP, a ativação do rele deve ser feita colocando-se a porta do microcontrolador em nível baixo.

Início


CONEXÃO DE MOTORES COM TRANSISTORES MOSFET

Cargas que dissipam potências mais altas devem ser controladas com transistores MOSFET (Metal Oxide Semicontuctor Field Effect Transistor).

Não discutiremos aqui o funcionamento do MOSFET mas, só para abreviar, diremos que esses transistores são usados da mesma maneira que os transistores bipolares e são largamente usados para acionamento de motores e em estágios de potência de amplificadores de som.

Esses transistores, como os transistores bipolares (NPN e PNP), podem também podem ser de 2 tipos: de Canal N e de Canal P e seus terminais são designados como Gate (G) Drain (D) e Source (S) respectivamente a Base, Coletor e Emissor dos transistores bipolares.

Da mesma maneira que nos circuitos controlados por transistores bipolares quando usamos dispositivos indutivos, aqui também é usado um diodo para proteger o circuitos dos transientes provocados pelas bobinas do motor.

O circuito da figura acima está usando um transistor MOSFET IRF530 de canal N onde o Gate (G) do transistor está diretamente conectado à porta PORTB<1> do microcontrolador, o Source (S) está conectado diretamente ao Ground do circuito e o motor a uma fonte de 24V.

Início


CONEXÕES DE LEDs COMUNS

Os LEDs comuns podem ser conectados diretamente ás portas de I/O sem prejudicar o microcontrolador porém é sempre bom colocar um resistor em série para limitar a corrente. Resistores de 300 Ohms podem ser usados para esse fim.

Duas formas de conexões podem ser usadas para conectar LEDs ás portas de I/O. Essas formas estão exemplificadas nas figuras abaixo:

1 - Conexão com anodo na porta de I/O e catodo ao Ground

Para acender o LED...... bsf PORTB, 1 Para apagar o LED...... bcf PORTB, 1

2 - Conexão com anodo na fonte (5V) e catodo na porta de I/O

Para acender o LED...... bcf PORTB, 1 Para apagar o LED...... bsf PORTB, 1

Início


CONEXÕES DE LEDs BICOLORES

Os LEDs bicolores podem alternar entre duas cores e seu funcionamento é o seguinte: quando polarizado diretamente, o LED acende a luz vermelha e, quando polarizado inversamente, acende a luz verde. Para manter o LED apagado basta manter seu dois pino em nível baixo (0V). Assim, para podermos alternar as cores, vamos necessitar duas portas de I/O do microcontrolador. Por exemplo, para acender a luz vermelha, devemos manter uma porta em nível alto, enquanto a outra porta permanece em nível baixo. Para acender a luz verde basta inverter o estado das portas.

Apesar dos LEDs bicolores também poderem ser conectados diretamente às portas do microcontroloador, aconselhamos o uso de resistores em série a fim de limitar a corrente. Resistores de 300 Ohms podem ser usados para esse fim.

A figura abaixo representa um LED bicolor como se fosse dois LEDs separados mas, na realidade, os LEDs bicolores têm encapsulamento único.

Para acender a luz vermelha...... bsf PORTB, 1 bcf PORTB, 2 Para acender a luz verde......... bcf PORTB, 1 bsf PORTB, 2 Para manter o LED apagado........ bcf PORTB, 1 bcf PORTB, 2

Início


CONEXÃO DE LDR


LDR (Light Dependant Resistor) é um resistor cuja resistência muda de acordo com a incidência de luz sobre ele. Geralmente a resistência de um LDR diminui na presença da luz e aumenta com a ausência de luz.

Como a resistência do LDR varia com a luz, a tensão sobre ele também varia e pode ser medida através de uma porta analógia do microcontrolador. A figura ao lado mostra como conectar um LDR a uma porta analógica.

LDRs devem ser usados em microcontroladores que possuam portas analógias.

O exemplo abaixo mostra como ler a porta analógica RA2/AN2 (pino 4) do microcontrolador PIC18F4520 e similares. Após terminada a leitura, os valor lido será colocado no par de registradores especiais ADRESH:ADRESL.

lerADC bsf TRISA, 2 ; RA2 como entrada analogia movlw b'00001000' ; seleciona AN2, Off, Idle movwf ADCON0 ; seleciona canal 2 (AN2) movlw b'00001100' ; seleciona somente AN2 movwf ADCON1 ; configura ADCON1 movlw b'10100100' ; alinha a direita, 8 TAD, Fosc/4 movwf ADCON2 ; configura ADCON2 bsf ADCON0,ADON ; habilita o conversor bsf ADCON0,GO_DONE ; iniciar conversao espera btfsc ADCON0,GO_DONE ; espera a conversao terminar goto espera ; aguarda a conversao terminar movf ADRESL, w ; pega o LSB da conversao . ; e faz alguma coisa com ele . . movf ADRESH, w ; pega o MSB da conversao . ; e faz alguma coisa com ele . .

Início













H P S P I N

Desde 04 de Março de 2010

Atualização: 08 de Dec de 2024