Ligação de um Servomotor¶
Um servomotor é um pequeno motor com caixa de velocidades e electrónica de controlo. Pode dizer-lhe para que posição rodar o veio.
Em dispositivos semelhantes ao iDryer, um servomotor pode abrir um amortecedor, mover um pequeno trinco, pressionar um comutador mecânico ou redirecionar o fluxo de ar.
O erro principal com servomotores: pensar que é uma "coisa pequena" e pode alimentá-la a partir de qualquer pino 5V do controlador. Um servomotor pode desenhar corrente significativa, especialmente no arranque, movimento repentino ou quando o mecanismo se prende.
Três fios¶
Um servomotor hobby típico tem três fios:
- alimentação: geralmente
5Vou6V; - massa:
GND; - sinal: pulsos de controlo do controlador.
Cores comuns:
- vermelho - alimentação;
- preto ou castanho - massa;
- amarelo, laranja ou branco - sinal.
Mas não pode confiar cegamente nas cores. Diferentes fabricantes podem usar esquemas de cores diferentes. Antes de ligar, verifique a marcação, página de produto ou ficha técnica.
Alimentação separada, sinal separado¶
O fio de sinal não alimenta o servomotor. Apenas diz ao servomotor para onde rodar.
O servomotor desenha energia do fio de alimentação.
A lógica correta é:
- o controlador fornece apenas o sinal de controlo;
- o servomotor é alimentado por uma fonte de 5V/6V que possa lidar com a sua corrente;
- a massa do controlador e a massa de alimentação do servomotor estão ligadas em conjunto.
Source: SparkFun Electronics, CC BY-SA 4.0
Porque não pode alimentar a partir de 5V fraco¶
Muitas placas têm um pino 5V. Isto não significa que um servomotor possa ser alimentado com segurança a partir dele.
Ao mover, um servomotor pode desenhar muito mais atual do que seu tamanho sugere. Se a alimentação for insuficiente, aparecem sintomas típicos:
- controlador reinicia;
- ecrã cintila;
- ligação USB cai;
- servomotor se move aos solavancos;
- Wi-Fi em ESP32 cai;
- servomotor zumbe mas não se move;
- alimentação diminui no início do movimento.
Para um pequeno servomotor, a alimentação fornecida pela placa por vezes funciona se a placa e a fonte forem explicitamente classificadas para essa corrente. Mas para um dispositivo real com um amortecedor, trinco ou mecanismo, é melhor usar uma fonte de alimentação DC-DC ou fonte de alimentação separada de 5V/6V com margem.
Massa comum¶
Se o servomotor for alimentado por uma fonte separada, é necessária uma massa comum.
Sem uma massa comum, o controlador e o servomotor não têm um nível de sinal comum. O servomotor pode não responder, pode se mover aos solavancos ou pode comportar-se aleatoriamente.
Ligação simples:
+5Vou+6Vda fonte de alimentação vai para a alimentação do servomotor.GNDda fonte de alimentação vai para a massa do servomotor.- A
GNDdo controlador está ligada à mesma massa. - O pino PWM/GPIO do controlador vai para o fio de sinal do servomotor.
A alimentação do servomotor e a alimentação do controlador podem ser diferentes, mas a massa deve ser comum.
Que sinal é necessário¶
Um servomotor hobby posicional típico é controlado por pulsos.
Sinal típico:
- pulso aproximadamente a cada
20 ms; - cerca de
1 ms- um extremo do intervalo; - cerca de
1.5 ms- meio; - cerca de
2 ms- outro extremo do intervalo.
Isto não é PWM típico para brilho LED ou velocidade de ventilador. Aqui, a largura do pulso em microsegundos é importante.
Os limites reais de um servomotor específico podem diferir. Alguns funcionam com segurança não de 0 a 180 graus mas menos. Portanto, posições extremas precisam de teste cuidadoso.
Não prenda um servomotor contra o mecanismo¶
Um servomotor tenta manter a posição ordenada.
Se um amortecedor bate no alojamento, um braço se prende ou o mecanismo atinge uma paragem física antes do comando terminar, o servomotor continua a empurrar. Nesse ponto, a corrente sobe, o motor aquece, a caixa de velocidades se desgasta.
Isto é especialmente crítico para amortecedores e trincos.
Antes de operação permanente, verifique:
- o mecanismo se move livremente em todo o intervalo;
- nenhum desalinhamento;
- nenhuma vinculação de ligações;
- o servomotor não zumbe na posição final;
- ângulos extremos no firmware não forçam o mecanismo contra uma paragem;
- com a alimentação desligada, o dispositivo permanece seguro ou volta via mola, conforme pretendido.
Se um servomotor zumbe em repouso, frequentemente sinaliza carga, uma paragem ou geometria de alavanca errada.
Corrente de arranque e travamento¶
Um servomotor tem corrente de funcionamento normal e corrente quando o came está bloqueado. A última é frequentemente chamada de corrente de trabalho.
Uma corrente de travamento aparece quando o servomotor tenta se mover, mas o eixo está bloqueado ou o mecanismo é muito pesado.
Este modo frequentemente causa:
- diminuição de alimentação;
- reinicialização do controlador;
- aquecimento do fio;
- sobraquecimento do DC-DC;
- ruptura da caixa de velocidades.
Se a ficha técnica lista a corrente de travamento, escolha a fonte de alimentação contabilizando este valor e margem de segurança. Se não houver ficha técnica, não pode assumir que um servomotor é seguro para executar "à vista".
Condensador junto ao servomotor¶
Às vezes um condensador electrolítico entre +5V e GND junto ao servomotor ajuda.
Não substitui uma fonte de alimentação adequada, mas pode suavizar uma breve queda no início do movimento.
Para um pequeno servomotor: centenas de microfarads, como 470 uF ou mais, com classificação de tensão acima da tensão de alimentação.
A polaridade do condensador eletrolítico é importante:
- positivo do condensador para
+5V; - negativo do condensador para
GND.
Se o dispositivo precisar ser confiável, primeiro escolha a alimentação e as fibras condutoras, depois use um condensador como medida adicional.
Exemplo de configuração Klipper¶
Em Klipper, um servomotor é descrito com uma secção [servo].
Exemplo:
[servo chamber_damper]
pin: PA8
maximum_servo_angle: 180
minimum_pulse_width: 0.001
maximum_pulse_width: 0.002
initial_angle: 90
Comandos:
SET_SERVO SERVO=chamber_damper ANGLE=0
SET_SERVO SERVO=chamber_damper ANGLE=90
SET_SERVO SERVO=chamber_damper ANGLE=180
Os nomes de pinos aqui são típicos. Num dispositivo real, verifique o esquema de pinos da sua placa.
Para mecânica, não comece com 0 e 180 logo. Primeiro teste um intervalo seguro como 60, 90, 120, depois expanda os ângulos.
Exemplo de lógica Arduino/ESP32¶
A abordagem do Arduino normalmente usa a biblioteca Servo:
#include <Servo.h>
Servo damper;
void setup() {
damper.attach(9);
damper.write(90);
}
void loop() {
}
Este é apenas um exemplo da lógica do sinal. A alimentação do servomotor ainda precisa ser concebida separadamente. Mesmo que o fio de sinal esteja ligado ao Arduino ou ESP32, o motor do servomotor não deve sobrecarregar a alimentação do controlador.
O que verificar após a ligação¶
Antes de montar no alojamento:
- servomotor recebe a tensão correcta;
- fonte de alimentação pode lidar com corrente do servomotor;
- massa do controlador e massa do servomotor são comuns;
- fio de sinal está ligado ao pino correcto;
- servomotor se move na direcção correcta;
- ângulos extremos não quebram o mecanismo;
- mecanismo não se prende;
- servomotor não zumbe continuamente;
- fios não pegam na alavanca ou engrenagens;
- alimentação não diminui após movimento;
- controlador não reinicia.
Teste mecânica descarregada e sob carga real. Um amortecedor que se move facilmente à mão pode se prender após montagem no alojamento.
Erros comuns¶
- alimentar servomotor a partir de GPIO;
- alimentar servomotor a partir de um pino fraco 5V da placa;
- esquecer massa comum;
- confiar nas cores do fio sem verificar;
- ligar alimentação ao contrário;
- usar fios demasiado finos;
- não contabilizar corrente de arranque e travamento;
- forçar servomotor a empurrar contra uma paragem mecânica;
- usar ângulo
0ou180quando o mecanismo real funciona com segurança apenas num intervalo menor; - montar servomotor perto de calor sem verificar temperatura de funcionamento;
- tratar um servomotor de rotação contínua como um servomotor posicional regular.
Pontos-chave¶
- Um servomotor tem três linhas: alimentação, massa e sinal.
- O sinal não alimenta o servomotor.
- Dispositivos reais frequentemente precisam de uma fonte de alimentação separada de 5V/6V.
- Massa do servomotor e massa do controlador devem ser comuns.
- A carga mais perigosa é travamento ou vinculação mecânica.
- Ângulos extremos precisam de selecção cuidadosa, não
0e180imediatos. - Se o controlador reinicia quando o servomotor se move, primeiro verifique a alimentação e a massa comum.
Leitura relacionada¶
- Klipper Configuration Reference: Servo - official
[servo]section,SET_SERVO, angles, and pulse width. - SparkFun: Hobby Servo Tutorial - basic explanation of hobby servo, three wires, and pulse control.
- SparkFun: Servo Trigger Hookup Guide - breakdown of electrical connection, typical wire colors, and hobby servo mechanics.
- Adafruit: Arduino Lesson 14. Servo Motors - practical example of connection, power sag behavior, and capacitor next to servo.
- Arduino Servo Library Reference - official Servo library for Arduino approach.
