H P S P I N E l e t r ô n i c a D i g i t a l e P r o g r a m a ç ã o d e M i c r o c o n t r o l a d o r e s P I C |
HOME PROJETOS PROGRAMAÇÃO |
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 |
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ícioAlé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ícioCargas 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ícioOs 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 |
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 |
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 |