Arduino UNO R4 - Módulo MOSFET

Neste guia, vamos aprender a usar um módulo MOSFET como chave de potência com o Arduino UNO R4. Em detalhes, vamos aprender:

Arduino UNO R4 e módulo MOSFET AOD4184, LR7843 ou FR120N

Sobre o Módulo MOSFET

Um pino do Arduino UNO R4 fornece apenas 5V e uma corrente muito pequena. Isso é suficiente para um LED pequeno, mas não para uma fita LED de 12V, um ventilador ou uma bomba. Um módulo MOSFET fica no meio: o Arduino UNO R4 envia um sinal fraco, e o módulo abre ou fecha um caminho forte de 12V para a carga.

Existem três módulos populares: AOD4184 (às vezes vendido como D4184), LR7843 e FR120N. As placas são parecidas. Elas têm o mesmo tamanho, os mesmos pinos e a mesma ligação, e usam o mesmo código. A única diferença é o chip MOSFET na parte de cima.

Por que usar um módulo MOSFET e não um relé?

  • Ele é silencioso. Nada se move e nada faz clique.
  • Ele comuta muito rápido, então pode fazer PWM. Isso significa que você pode reduzir o brilho de uma luz ou diminuir a velocidade de um ventilador. Um relé só consegue ficar totalmente LIGADO ou totalmente DESLIGADO.
  • Ele não tem contatos que se desgastam, então dura muito tempo.
  • O limite: ele funciona somente com cargas DC. Nunca o use com a rede elétrica AC. Para dispositivos AC, veja o tutorial Arduino UNO R4 - Relé.
AOD4184 LR7843 FR120N
Chip MOSFET AOD4184A (canal N) IRLR7843 (canal N) IRFR120N (canal N)
Tensão máxima da carga (especificação do chip) 40V DC 30V DC 100V DC
Corrente máxima (especificação do chip) 50A 161A 9.4A
Resistência ligado RDS(on) cerca de 7 mΩ cerca de 3.3 mΩ cerca de 210 mΩ
Corrente real sem dissipador de calor cerca de 10–15A cerca de 15A cerca de 2A
Sinal de controle 3.3V / 5V, ativo em HIGH 3.3V / 5V, ativo em HIGH 3.3V / 5V, ativo em HIGH
Isolamento optoacoplador PC817 optoacoplador PC817 optoacoplador PC817
PWM sim, até cerca de 1 kHz sim, até cerca de 1 kHz sim, até cerca de 1 kHz
Tipo de carga somente DC somente DC somente DC

Como escolher um:

  • LR7843: tem a menor resistência, então fica mais frio quando uma corrente grande passa. Escolha-o para cargas fortes de 12V ou 24V, como uma fita LED longa ou um motor grande. O limite dele é 30V.
  • AOD4184: uma boa escolha para a maioria dos projetos. Ele aguenta até 40V e uma corrente forte, então cargas de 12V, 24V e 36V funcionam bem.
  • FR120N: aceita a maior tensão (até 100V), mas sua resistência é alta. Mantenha a corrente baixa, cerca de 2A sem dissipador de calor. Ele serve para cargas pequenas de 24V ou 48V.

※ Nota:

Os números grandes, como 50A ou 161A, são os limites apenas do chip. O módulo pequeno não consegue suportar tanto, porque o calor é o limite real. Depois de alguns minutos de funcionamento, toque no MOSFET. Se estiver quente demais para encostar, reduza a corrente ou adicione um dissipador de calor.

Como Funciona

O sinal do Arduino UNO R4 não toca o MOSFET diretamente. Ele passa primeiro por um optoacoplador PC817: pino 9 → pino PWM → resistor pequeno → LED dentro do PC817 → luz → fototransistor dentro do PC817 → gate do MOSFET. O MOSFET é do tipo canal N e fica entre os terminais LOAD e − (uma chave do lado baixo). Seu dispositivo fica entre + e LOAD.

Então o que acontece para cada sinal no pino 9? Vamos ver os três casos.

Pino 9 em LOW (0V): O Dispositivo Está Desligado

  1. Nenhuma corrente entra no LED dentro do optoacoplador. Ele permanece apagado.
  2. O fototransistor permanece desligado, então um resistor no gate mantém o gate do MOSFET em 0V.
  3. O MOSFET está DESLIGADO. Ele funciona como uma chave aberta entre LOAD e −.
  4. O fio − do dispositivo não tem caminho para o terra. Nenhuma corrente flui, e o dispositivo recebe 0V.

No código: digitalWrite(MOSFET_PIN, LOW) ou analogWrite(MOSFET_PIN, 0).

Pino 9 em HIGH (5V): O Dispositivo Recebe Potência Total

  1. Alguns mA fluem para o LED dentro do optoacoplador, e ele acende. Ele fica dentro do chip, então você não o vê.
  2. O fototransistor liga. Agora o gate do MOSFET recebe cerca de metade da tensão de alimentação da carga, cerca de 6V em um adaptador de 12V.
  3. O MOSFET liga totalmente. Ele funciona como uma chave fechada com uma resistência muito baixa: alguns mΩ para o AOD4184 ou o LR7843, cerca de 0.2Ω para o FR120N.
  4. A corrente flui em um circuito: adaptador + → terminal + → dispositivo → terminal LOAD → MOSFET → terminal − → adaptador −.
  5. O dispositivo recebe quase os 12V completos e funciona com potência total.

No código: digitalWrite(MOSFET_PIN, HIGH) ou analogWrite(MOSFET_PIN, 255). Uma placa de 3.3V pode fazer o mesmo trabalho, porque o LED do optoacoplador precisa de apenas uma corrente pequena.

O Pino 9 Envia PWM: O Dispositivo Recebe Parte da Potência

  1. O pino 9 alterna entre LOW e HIGH muito rápido, cerca de 500 a 1000 vezes por segundo (500 Hz a 1 kHz).
  2. O MOSFET copia o sinal: LIGADO em cada parte HIGH, DESLIGADO em cada parte LOW.
  3. O dispositivo recebe pulsos curtos de 12V. O ciclo de trabalho (duty cycle) é a fração do tempo em que o sinal fica em HIGH. Tensão média e potência média = ciclo de trabalho × valor total.

Com analogWrite(MOSFET_PIN, value), o valor vai de 0 a 255, e o ciclo de trabalho é value / 255. Alguns exemplos com um adaptador de 12V:

  • analogWrite(MOSFET_PIN, 0): 0%, sempre desligado, 0V de média.
  • analogWrite(MOSFET_PIN, 64): cerca de 25%, ligado um quarto do tempo, cerca de 3V de média, cerca de um quarto da potência.
  • analogWrite(MOSFET_PIN, 128): cerca de 50%, ligado metade do tempo, cerca de 6V de média, cerca de metade da potência.
  • analogWrite(MOSFET_PIN, 191): cerca de 75%, ligado três quartos do tempo, cerca de 9V de média.
  • analogWrite(MOSFET_PIN, 255): 100%, sempre ligado, 12V, potência total.

O que você vê: uma fita LED fica com menos brilho (ela pisca, mas rápido demais para os seus olhos). Um ventilador, motor ou bomba gira mais devagar, porque a parte giratória suaviza os pulsos.

Por que a frequência importa: o PC817 é uma peça lenta. Se o PWM for rápido demais, o MOSFET não consegue comutar por completo. O dispositivo não recebe pulsos limpos, e o MOSFET esquenta. A frequência padrão do analogWrite() do Arduino UNO R4 já está na faixa segura, então você não precisa mudar nada.

Outros Pontos

  • O optoacoplador isola o lado do Arduino UNO R4 do lado de 12V. O GND do sinal e o GND da carga não são ligados entre si no módulo.
  • A tensão do gate vem da alimentação da carga, então a alimentação da carga deve ser de cerca de 6V ou mais. Uma alimentação de carga de 5V não vai funcionar bem. Se a carga consome mais do que alguns amperes, use 9V ou mais.
  • A placa não tem diodo flyback. Motores, bombas, solenoides e bobinas de relé precisam de um. Adicione um diodo, como 1N5819 ou 1N4007, em paralelo com a carga: o lado com a faixa (cátodo) vai ao + da carga, e o outro lado (ânodo) vai ao − da carga.

Pinagem

Pinagem do módulo MOSFET AOD4184, LR7843 e FR120N

O lado de controle é um conector de 2 pinos (passo de 2.54mm):

  • Pino PWM: conecte a um pino do Arduino UNO R4. Este pino recebe o sinal LIGA/DESLIGA ou PWM.
  • Pino GND: conecte ao GND do Arduino UNO R4.

O lado de potência tem três bornes de parafuso:

  • Pino +: conecte ao fio positivo da fonte de alimentação da carga (por exemplo, 12V) e ao fio positivo da carga. Os dois fios compartilham este único terminal.
  • Pino LOAD: conecte ao fio negativo da carga. Este é o lado que o MOSFET comuta.
  • Pino −: conecte ao fio negativo (terra) da fonte de alimentação da carga.

Os rótulos podem ser um pouco diferentes de um lote para outro. Sempre leia o texto impresso na sua própria placa.

Diagrama de Ligação

O Arduino UNO R4 aciona apenas os pinos PWM e GND, enquanto o adaptador de 12V alimenta a carga pelos bornes de parafuso.

Diagrama de ligação do Arduino UNO R4 com módulo MOSFET AOD4184, LR7843 ou FR120N

This image is created using Fritzing. Click to enlarge image

De Para
Pino 9 do Arduino UNO R4 PWM do módulo MOSFET
GND do Arduino UNO R4 GND do módulo MOSFET
Adaptador de 12V + (pelo DC power jack) + do módulo MOSFET
Adaptador de 12V − (pelo DC power jack) − do módulo MOSFET
Fita LED + + do módulo MOSFET
Fita LED − LOAD do módulo MOSFET

O optoacoplador já está no módulo, então não é preciso adicionar um transistor nem um resistor. Isso facilita a ligação ou a soldagem. Nunca conecte os fios de 12V a nenhum pino do Arduino UNO R4.

Mais Dispositivos que Você Pode Conectar

E se você quiser acionar um ventilador, uma bomba ou uma fechadura no lugar da fita LED? Mantenha o pino 9 e o GND como estão. Muda apenas o lado dos bornes de parafuso. Estas são as regras que valem para todos os dispositivos:

  • Adaptador de alimentação: + vai ao terminal +, − vai ao terminal −.
  • Dispositivo: o fio + dele também vai ao terminal + (compartilhado com o + do adaptador), o fio − vai ao LOAD.
  • Tensão: combine o adaptador com o dispositivo (dispositivo de 12V, adaptador de 12V). Nunca use menos de 6V.
  • Corrente: o FR120N serve apenas para dispositivos pequenos (cerca de 2A sem dissipador de calor). Para os maiores, escolha o AOD4184 ou o LR7843.
  • Diodo: um dispositivo com bobina por dentro (ventilador, motor, bomba, solenoide) precisa do diodo flyback 1N5819 ou 1N4007 da parte Como Funciona. Faixa no + do dispositivo, a outra ponta no − do dispositivo.

Você não precisa de código novo. O código acima funciona para todos eles. A única mudança é para solenoides: use potência total ou desligado (100% / 0%) e pule o fade.

Exemplo de Ligação: Ventilador de 12V

Ligação do módulo MOSFET com o Arduino UNO R4 e um ventilador de refrigeração de 12V

This image is created using Fritzing. Click to enlarge image

  • Fio vermelho no +, fio preto no LOAD.
  • Tem um terceiro fio amarelo? Esse é o sinal de velocidade. Deixe-o livre.
  • Adicione o diodo. Ele custa quase nada e não faz mal.
  • O PWM muda a velocidade. Comece acima de cerca de 30%, porque muitos ventiladores não giram com um ciclo de trabalho muito baixo.

Exemplo de Ligação: Fita LED de 12V

Fita LED de uma cor de 12V conectada ao módulo MOSFET

This image is created using Fritzing. Click to enlarge image

  • + da fita (muitas vezes marcado como 12V) no +, − da fita no LOAD.
  • Sem diodo aqui. Uma fita LED não tem bobina.
  • O PWM muda o brilho.
  • Fitas longas consomem mais corrente. Verifique a corrente da sua fita antes de escolher o módulo.
  • Use uma fita de uma cor só. Fitas RGB e endereçáveis precisam de outra ligação.

Exemplo de Ligação: Bomba de Água de 12V

Bomba de água de 12V conectada ao módulo MOSFET

This image is created using Fritzing. Click to enlarge image

  • + da bomba no +, − da bomba no LOAD.
  • Coloque o diodo em paralelo com a bomba.
  • O PWM muda a vazão.
  • Não deixe a bomba funcionar sem água.

Exemplo de Ligação: Motor DC de 12V

Ligação do motor DC de 12V e do módulo MOSFET

This image is created using Fritzing. Click to enlarge image

  • + do motor no +, − do motor no LOAD.
  • Coloque o diodo em paralelo com o motor: faixa no lado + do motor.
  • O PWM muda a velocidade.
  • O motor gira em apenas um sentido. Precisa invertê-lo? Use um driver de motor como o L298N. Veja o tutorial Arduino UNO R4 - Motor DC.

Exemplo de Ligação: Fechadura Solenoide de 12V

Fechadura solenoide de 12V ligada ao módulo MOSFET

This image is created using Fritzing. Click to enlarge image

  • + da fechadura no +, − da fechadura no LOAD.
  • O diodo é obrigatório.
  • Somente totalmente LIGADO ou DESLIGADO. Sem PWM.
  • Não a deixe LIGADA por muito tempo, ou ela esquenta. Dê a ela um pulso curto de LIGADO para destrancar.

Exemplo de Ligação: Válvula Solenoide de 12V

Válvula solenoide de 12V normalmente fechada com módulo MOSFET

This image is created using Fritzing. Click to enlarge image

Veja A melhor forma de alimentar o Arduino Uno R4 e outros componentes.

  • + da válvula no +, − da válvula no LOAD.
  • O diodo também é obrigatório aqui.
  • Esta é uma válvula normalmente fechada: LIGADA abre, DESLIGADA fecha.
  • Apenas ligue ou desligue. Não use PWM.

Como Programar o Módulo MOSFET

Nenhuma biblioteca é necessária. O código usa apenas funções nativas.

  • Defina o pino do Arduino UNO R4 que se conecta ao pino PWM do módulo:
const int MOSFET_PIN = 9;
  • Configure o pino como saída:
pinMode(MOSFET_PIN, OUTPUT);
  • Ligue a carga totalmente ou desligue-a totalmente:
analogWrite(MOSFET_PIN, 255); // full power analogWrite(MOSFET_PIN, 0); // off
  • Defina um nível de potência em porcentagem. Converta primeiro 0–100% para a faixa de 0–255:
int duty = map(percent, 0, 100, 0, 255); analogWrite(MOSFET_PIN, duty);

Se você só precisa de LIGADO e DESLIGADO, digitalWrite(MOSFET_PIN, HIGH) e digitalWrite(MOSFET_PIN, LOW) também funcionam.

Código Arduino UNO R4 - Módulo MOSFET

O código abaixo executa um ciclo repetidamente:

  • A carga fica com potência total por 2 segundos.
  • A carga fica desligada por 2 segundos.
  • A potência sobe de 10% a 100%, 10% a mais a cada 0.5 segundo.
  • A potência desce de 90% a 0% da mesma forma.
  • O código espera 1 segundo e começa de novo.
/* * Este código de Arduino UNO R4 foi desenvolvido por pt.newbiely.com * Este código de Arduino UNO R4 é disponibilizado ao público sem nenhuma restrição. * Para tutoriais completos e diagramas de ligação, visite: * https://pt.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-mosfet-module */ const int MOSFET_PIN = 9; // Arduino UNO R4 pin connected to the PWM pin of the MOSFET module void setup() { Serial.begin(9600); pinMode(MOSFET_PIN, OUTPUT); analogWrite(MOSFET_PIN, 0); // start with the load OFF } void setLoad(int percent) { int duty = map(percent, 0, 100, 0, 255); // convert 0-100% to 0-255 analogWrite(MOSFET_PIN, duty); Serial.print("Load power: "); Serial.print(percent); Serial.println("%"); } void loop() { // turn the load fully ON, then fully OFF Serial.println("Load: ON"); setLoad(100); delay(2000); Serial.println("Load: OFF"); setLoad(0); delay(2000); // increase the power step by step (PWM) for (int percent = 10; percent <= 100; percent += 10) { setLoad(percent); delay(500); } // decrease the power step by step (PWM) for (int percent = 90; percent >= 0; percent -= 10) { setLoad(percent); delay(500); } delay(1000); }

Passos Rápidos

Siga estas instruções passo a passo:

  • Se esta é a sua primeira vez usando o Arduino Uno R4 WiFi/Minima, consulte o tutorial sobre como configurar o ambiente para o Arduino Uno R4 WiFi/Minima na Arduino IDE.
  • Ligue os componentes conforme o diagrama fornecido. Deixe o adaptador de 12V desconectado da tomada por enquanto.
  • Conecte a placa Arduino UNO R4 ao seu computador usando um cabo USB.
  • Abra a Arduino IDE no seu computador.
  • Selecione a placa Arduino UNO R4 apropriada (por exemplo, Arduino UNO R4 WiFi ou Arduino UNO R4 Minima) e a porta COM.
  • Copie o código acima e cole-o na Arduino IDE.
  • Clique no botão Upload para enviar o código ao Arduino UNO R4.
  • Conecte o adaptador de 12V à tomada.
  • Abra o Serial Monitor e defina o baud rate como 9600.
  • Observe a fita LED: ela fica com brilho total por 2 segundos e depois apagada por 2 segundos. Depois disso, ela fica mais brilhante aos poucos e depois mais fraca aos poucos. Com um ventilador, você vai ouvir a velocidade subir e descer.
∞
Newbiely | Arduino IDE 2.3.8
──
☐
✕
File
Edit
Sketch
Tools
Help
Arduino Uno R4 WiFi
Newbiely.ino
···
8 Serial.println("Hello World!");
Output
Serial Monitor
Message (Enter to send message to 'Arduino Uno R4 WiFi' on 'COM15')
New Line
9600 baud
Load: ON Load power: 100% Load: OFF Load power: 0% Load power: 10% Load power: 20% Load power: 30% Load power: 40% Load power: 50% Load power: 60% Load power: 70% Load power: 80% Load power: 90% Load power: 100% Load power: 90% Load power: 80% Load power: 70% Load power: 60% Load power: 50% Load power: 40% Load power: 30% Load power: 20% Load power: 10% Load power: 0%
Ln 11, Col 1
Arduino Uno R4 WiFi on COM15
2

Se a fita LED não acender de jeito nenhum, verifique primeiro a alimentação de 12V. Depois, confira se os fios PWM e GND vão ao pino 9 e ao GND do Arduino UNO R4.

Para saber mais sobre o controle de brilho com PWM, veja o tutorial Arduino UNO R4 - Fade LED.

Vídeo

※ NOSSAS MENSAGENS

  • Fique à vontade para compartilhar o link deste tutorial. Porém, por favor, não use nosso conteúdo em outros sites. Investimos muito esforço e tempo para criar este conteúdo, por favor respeite nosso trabalho!