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:
- 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.
- 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 ...).
- 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!
fonte
Respostas:
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.
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.
fonte
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.
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.
fonte
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.
fonte
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.)
fonte