Como detectar alta corrente


9

Estou trabalhando no projeto que envolve a operação de um motor DC que é usado para elevar / abaixar o vidro da janela no veículo.

Durante a operação, o motor consome cerca de 1,5 A de corrente. No entanto, quando a janela chega ao final dos controles deslizantes e o motor não consegue mais subir / abaixar o vidro, ele começa a puxar para 15A até você soltar o botão.

Quero usar o microcontrolador AVR para controlar esse motor e gostaria de parar o motor quando a janela atingir a barreira. Eu consegui encontrar três soluções até agora:

  1. Use interruptores que acionarão e informarão o microcontrolador quando a janela atingir a barreira. Eu gostaria de evitar isso porque isso significa instalar dois switches por janela e passar cabos extras no microcontrolador.
  2. Use a função de timer que desligará o motor após um período específico de tempo. Isso não é aplicável porque a tensão pode variar e o motor pode girar mais rápido ou mais lento que o normal. Além disso, a janela pode estar em uma posição desconhecida ao iniciar o cronômetro (totalmente, no meio ...).
  3. Use algum tipo de detector de alta corrente e encaminhe-o para a entrada do microcontrolador, alertando o programa quando o limite de corrente for atingido (por exemplo, 5A). Algo como um transistor, relé ou dispositivo similar que pode suportar a corrente tão alta na entrada.

Eu sou praticamente iniciante no que diz respeito à eletrônica, então estava pensando se existe uma maneira de detectar essa corrente alta (o motor está funcionando com ~ 12V) e fornecer esse sinal ao microcontrolador (que está funcionando com 5V).

Agradeço qualquer ajuda. Obrigado!


Respostas:


6

Isso deve ser bem fácil. Você pode detectar a diferença entre 1.5A e 15A usando um resistor simples. Um valor de 0,3 ohms fornecerá 0,45v a 1,5A e 4,5v a 15A.

insira a descrição da imagem aqui

Um pino de entrada digital no microcontrolador lerá 0 a 1,5A e 1 a 15A.

Você poderia conectar isso diretamente ao pino de entrada do microcontrolador, mas provavelmente seria melhor adicionar um pouco de proteção e filtragem.

RF e C1 fornecem um filtro passa-baixo para tornar a tensão mais estável.

D1 fornece proteção contra sobretensão, caso a corrente exceda em muito 15A.


Um motor de 12V que fica parado em 15A tem uma resistência de armadura de 0,8Ω, então haverá cerca de 3,3V em R1 que dissipará quase 36W!
9119 MikeJ-UK

@ MikeJ-UK - Quanto tempo? O MCU desligará o motor dentro de um milissegundo ou dois. A dissipação de energia típica será de apenas 0,675W.
Rocketmagnet

2
É verdade, suponho, desde que o OP não defina pontos de interrupção inconvenientes no depurador!
MikeJ-UK 9/08/12

@ MikeJ-UK - Haha! Sim. Eu queimei motores antes por causa de pontos de interrupção. Mas esse problema é o mesmo, independentemente do que for usado para detectar a corrente. Não esqueça que a dissipação do motor será de 180 W durante a parada!
Rocketmagnet

10

O Allegro possui vários CIs de sensor de corrente, baseados nos sensores de efeito Hall. O ACS712 pode detectar correntes de até 50 A.

insira a descrição da imagem aqui

O ACS712ELCTR-20A-T possui uma sensibilidade de 100 mV / A; portanto, você pode usar o ADC do microcontrolador para detectar quando o limite de 500 mV (5 A) é atingido, ou melhor, usar um comparador, que interrompe o microcontrolador. Muitos AVRs têm um comparador no chip, com uma interrupção atribuída exclusivamente a ele.

O ACS712 possui uma resistência atual do caminho de detecção de apenas 1,2 mΩ , portanto, mesmo a 15 A, ele dissipará apenas 270 mW , o que pode sustentar para sempre. Essa é a principal vantagem sobre um resistor de sensor de corrente mais tradicional, como na resposta do Rocketmagnet. Lá, você precisa de uma resistência relativamente alta para obter um nível alto em 15 A. Mike calculou que o resistor sensor do Rocketmagnet dissipará 36 W quando o motor parar, portanto o tempo é crítico lá (por um momento, desconsiderando a dissipação de 131 W no motor). Mesmo assim, um tipo de 5 W é recomendado para o resistor sensor.


O tempo é crítico, independentemente da solução. Todo mundo está focado na dissipação de 36W do resistor, mas esquecendo completamente a dissipação de 180W do motor! Esse motor vai queimar muito rapidamente.
Rocketmagnet

@Rocket - I fez mencionar a motor, única mina é 131 W, que é alto o suficiente. Você está certo, porém, que deve responder rapidamente, mas pelo menos o sensor Allegro não será um problema. Menciono os 5 W porque a maioria dos resistores não permite> 10 x potência nominal, nem por um momento. Eu acho que o seu resistor sensor pode ser escolhido menor, já que a maioria dos controladores verá 0,7 Vcc já tão alto e, a 15 A, é 0,23 & Omega ;.
Stevenvh

1

Existem essas coisas chamadas chaves magnéticas de palheta. Basicamente como um relé; uma corrente causa um campo que fecha alguns contatos. Se você jogar um em série com o motor, poderá encontrar um que permanecerá aberto em 1,5 ou 2A, mas próximo em 15A. Aterre um dos contatos do comutador, puxe a outra extremidade até sua lógica + V e voila, um sinal de entrada digital isolado.


2
Você tem um link para interruptores reed que podem alternar 15 A?
stevenvh

o interruptor reed não muda a corrente 15A. A corrente 15A ativa a chave reed. O próprio switch alterna uma quantidade muito pequena de corrente na tensão lógica. Isso fornece a entrada digital para o micro, que desliga o que quer que seja, para fornecer o 15A em primeiro lugar.
JustJeff

0

Não é realmente uma solução eletrônica, mas uma mecânica: se você tiver controle sobre a mecânica, poderá usar uma solução de chave no motor, por exemplo, transferindo de uma engrenagem pequena para uma grande que girará menos de uma vez durante todo o processo. Um dente nessa engrenagem pode acionar um interruptor. (É assim que o abridor da porta da garagem faz isso.)

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.