Como criar um circuito para elevar / abaixar automaticamente uma mesa de altura ajustável?

Aug 16 2020

fundo

Olá a todos, Estou trabalhando em um pequeno projeto em que posso controlar a altura de uma mesa com altura ajustável usando um microcontrolador, transistores MOSFET e um sensor ultrassônico. Essencialmente, quero que o usuário insira uma altura e que a mesa se ajuste automaticamente a essa altura.

Detalhes técnicos

Esta é a mesa que estou usando. Possui apenas botões para cima / para baixo e não possui recursos de "memória".

Eu estava tentando usar este tutorial, mas como não tinha um acesso fácil ao motor em si, decidi "substituir" os botões para cima / para baixo por transistores MOSFET.

Este é um MOSFET que estou usando. Ele tem uma tensão limite Vgs entre 2-4 volts, que funcionará para o meu microcontrolador de 5v.

Abri a caixa do botão e aqui está o que parece.

Existem quatro fios no conector JST.

  • Vermelho: 30V
  • Preto: GND
  • Verde: baixo
  • Branco: para cima

Este é um switch ativo-alto onde conectar o Verde ou o Branco ao Vermelho moverá a mesa para baixo e para cima, respectivamente. Veja o diagrama abaixo para saber como o switch ( Omron SS-5 ) se sai no esquema.

O que eu fiz até agora

Retirei o conector JST e conectei os fios do jumper diretamente aos pinos fêmeas para criar o seguinte circuito para elevar a mesa.

A fonte de tensão no lado esquerdo é o pino de saída digital de um microcontrolador. Consegui levantar a mesa com sucesso quando o pino estava alto e parar de levantar a mesa quando o pino estava baixo.

Editar (16 de agosto de 2020): Eu medi a corrente da fonte do transistor ao fio branco, e ela atingiu ~ 3A por um breve momento, e enquanto a mesa está subindo (ou seja, quando o motor está operando), ela gerou ~ 300mA.

Também fui capaz de fazer o mesmo para abaixar a mesa, exceto que a fonte do MOSFET foi conectada ao fio Verde.

Meu problema é:

Coloquei outro transistor para aumentar e diminuir:

Editar (15 de agosto de 2020): Desculpe pelo diagrama confuso. Este diagrama usa dois pinos de saída digital. A fonte de tensão do lado esquerdo é D2 de MCU e a da direita é D3 de MCU. Os pinos compartilham um terreno comum, que é responsável pelo seguinte problema.

Isso obviamente criou um problema porque a fonte de ambos os transistores está conectada aos fios Branco e Verde, o que significa que toda vez que um transistor está ligado, ambos os fios Branco / Verde estão ALTOS. Isso é equivalente a pressionar os dois botões ao mesmo tempo, o que não move a mesa. Tentei colocar um resistor de 10k entre as duas fontes dos transistores, mas isso não resolveu o problema.

Minha pergunta

  • Como devo editar meu circuito para cumprir o que estou tentando fazer?
  • Isso é algo que posso criar apenas usando transistores? ou
  • Preciso abrir o motor para seguir os casos de uso típicos de transistor como chave?

Eu apreciaria muito se alguém pudesse dar conselhos sobre minha situação :)

Estou mais do que feliz em esclarecer qualquer confusão.

Obrigado!

Respostas

1 Neil_UK Aug 16 2020 at 10:22

Os breves 3 A durante a partida do motor significam que os fios branco e verde conduzem a corrente do motor. Seus FETs devem ser adequados para essa corrente e protegidos contra o pico de tensão quando o motor é desligado.

Seu diagrama de switch original mostra uma configuração de ponte H. Com ambos os interruptores desligados, não há corrente para o motor. Quando qualquer um dos interruptores sobe, ambos conduzem corrente para o motor, um alimentando-se de 30 V, o outro afundando para 0 V. Suas sugestões de FET mostram apenas um pullup, sem pulldown, então o motor não funcionará.

Você precisa de um driver H-bridge com uma desabilitação ou de dois drivers de meia-bridge para replicar esta funcionalidade. Dada a necessidade de mudança de nível etc. e seu conhecimento de eletrônica, seria mais sensato tentar comprar módulos de entrada de nível lógico, com saídas classificadas para pelo menos 30 V e 3 A.

Em vez de FETs, também seria razoável usar um par de relés c / o para fazer exatamente o que os switches estão fazendo. Vá para seu site de comércio eletrônico favorito e pesquise por 'módulo de retransmissão Arduino' e escolha um de 2 canais. Eles podem ser acionados a partir de 5 V, são baratos como chips, não explodem como os FETs (embora os contatos se desgastem eventualmente) e têm capacidade de manuseio CC suficiente para o seu motor de 30 V.

2 TonyStewartSunnyskyguyEE75 Aug 16 2020 at 08:29

problemas com suposições para design

  • não reconheceu o propósito do SPDT.
  • não entendi Vgs (th)
  • o motor aumentará com 10x a corrente nominal ou muito mais do que a corrente de carga real, pois provavelmente não está usando o peso máximo da carga.

Por exemplo, digamos que o motor está classificado para 1A, mas usa apenas 0,3A, exceto 10x1 = 10A na inicialização.

  • ao desligar, há um arco e volta EMF do motor atuando como gerador e comutando como freio e engrenagens como freio de fricção com bobina em curto para carga adicional.
  • portanto, você precisa de uma meia ponte POWER que funcione com níveis lógicos usando saída de 30 V com diodos de energia para lidar com picos de 10 A ou 20 A se invertidos rapidamente durante o movimento.

Problemas com projetos FET

  • você assumiu que 2 ~ 4 V era o Vgs operacional, mas é apenas o limite e você precisa de pelo menos 2,5 a 3x limite de 100uA para chegar perto de RdsOn para lidar com> 10A, que geralmente é especificado em Vgs = 5, 10 ou 12V.

  • “FETs de nível lógico“ usam Vgs (th) próximo a 1V para operar a 3V para melhor desempenho, caso contrário, eles esquentam.

  • em vez de um driver de lado alto, você precisa de um FET de potência SPDT ou half Bridge

É necessária uma meia-ponte de alimentação que usa entrada e saída de nível lógico provavelmente classificado para 30A para ter Rdson pequeno o suficiente para manter a refrigeração durante a partida. Os diodos de energia invertidos para cada trilho para a braçadeira Flyback são ambos classificados para 10A.

  • a meia ponte deve ter um pequeno tempo morto entre Fwd e Rev para evitar curto-circuito ou efeito de disparo. Isto é normal. Mas você deve garantir isso.

Recomendações

Defina a resistência da bobina do motor e escolha o IC de meia ponte de nível lógico para conduzir 30V / DCR + margem

Certifique-se de ter proteção de tempo morto com controles de entrada com retardo de diodo RC ou retardo MCU e verifique se o estado de reinicialização da inicialização está Desligado.
e quanto à proteção de fim de curso? Em caso de falha no driver ou falha de MCU? Considere Polyfuse.

Faça os cálculos de resistência térmica para dissipador de calor e isolador elétrico com graxa.

Isso é comum no design do interruptor da janela elétrica do carro, exceto mais massa, menos velocidade, mas talvez a mesma corrente (?) Resgate do cemitério do carro! Ou faça você mesmo ou compre? essas são decisões diárias de fazer / comprar de qualquer designer.

Finalmente, e quanto ao sensor de posição ou? O sensor de posição para viagens longas pode ser caro, a menos que você seja um gênio mecânico para usar o potenciômetro com CNC de 8 mm ou correia dentada menor do movimento linear para a redução da polia para o potenciômetro, então leia a tensão do potenciômetro como posição linear, calibre e use para feedback servo. Em seguida, permita que os interruptores de entrada MCU lembrem os estados inseridos para as posições e alterne para cima e para baixo próximo ou 1,2,3 +, -. Mas elimine os interruptores. Falta mais alguma coisa? Terminar interruptores? Prática STD para máquinas CNC.

1 vu2nan Aug 16 2020 at 06:09

Outra opção seria usar dois relés SPDT, com classificações de contato idênticas às dos microinterruptores SS-5 existentes.

HandyHowie Aug 17 2020 at 07:51

Se a mesa for apenas interruptores, um motor e relés, sem componentes sensíveis à polaridade, você pode simplesmente inverter a polaridade da fonte de alimentação. Você teria então um 0v comum em vez de um trilho comum de 30v.

Você poderia então usar 2 transistores NPN ou possivelmente 2 mosfets do tipo N para mudar o 0v para os fios branco e verde. O para cima e para baixo obviamente também serão invertidos.

Você precisará adicionar alguns diodos de roda livre para proteger seus transistores da fem traseira das bobinas de relé existentes e do motor.