Cómo controlar un servomotor con Arduino: una guía completa paso a paso_Servo_Industry Insights_Kpower
Hogar > Perspectivas de la industria >servo
APOYO TÉCNICO

Soporte de producto

Cómo controlar un servomotor con Arduino: una guía completa paso a paso

Publicado 2026-04-03

Controlando unservoMotorizar con una placa Arduino es una de las tareas más comunes y útiles en proyectos de electrónica. Esta guía proporciona un método claro, práctico y verificado para conectar y programar unservousando el arduino estándarservobiblioteca. Aprenderá el cableado exacto, el código de funcionamiento y cómo solucionar problemas típicos, todo ello basado en escenarios del mundo real y documentación oficial.

01Lo que necesita (configuración común)

La mayoría de los servomotores para aficionados (por ejemplo, microservos de 9 g o servos de tamaño estándar como SG90, MG90S o MG995) funcionan con cualquier placa Arduino (Uno, Nano, Mega, etc.). Para esta guía, asumimos:

Una placa Arduino (Uno es el ejemplo más común)

Un servo estándar de 5 V (rango de par común: 1,8 kg/cm a 13 kg/cm)

Cables de puente (macho a hembra para conexión directa)

Una fuente de alimentación independiente de 5 V-6 V (opcional pero recomendada para servos más grandes, explicada en la Sección 4)

No se requieren nombres de marcas específicos– las instrucciones se aplican a todos los servos analógicos estándar que funcionan con una señal PWM de 50 Hz (ancho de pulso de 500 µs a 2500 µs).

02Cableado: la única conexión correcta

Siga exactamente este cableado para evitar daños o comportamiento errático.

Color del cable del servo Función Conectar al pin Arduino
Marrón o negro Tierra (GND) Tierra
Rojo Alimentación (VCC, 5V) Pin de 5V (o alimentación externa)
naranja o amarillo Señal (PWM) Pin digital 9 (o cualquier pin compatible con PWM)

Regla crítica:Nunca alimente un servo directamente desde el pin de 5 V del Arduino si el servo consume más de 200 mA durante el funcionamiento. Para la mayoría de los servos de 9g, el Arduino 5V directo es seguro para realizar pruebas. Para servos más grandes (por ejemplo, MG995), utilice una fuente de alimentación externa de 5 V-6 V y conecte la tierra del servo a la tierra del Arduino (tierra común).

03El código estándar: copiar y ejecutar

La biblioteca Arduino Servo está preinstalada en el IDE oficial. Este código mueve el servo de 0° a 180° y viceversa, repetidamente.

#incluirServo miServo; // crear objeto servo int servoPin = 9; // pin de señal conectado al servo void setup() { myServo.attach(servoPin); // conecta el servo en el pin 9 } void loop() { myServo.write(0); // pasar a 0 grados de retraso(1000); // espera 1 segundo myServo.write(90); // mover a 90 grados (centro) delay(1000); miServo.write(180); // pasar a 180 grados delay(1000); }

Para controlar el servo a un ángulo específico(por ejemplo, 45°), simplemente usemiServo.write(45);. El rango válido es de 0 a 180.

04Problemas y soluciones comunes del mundo real (basados ​​en casos de usuarios típicos)

Caso 1: El servo tiembla o no se mueve

Causa:Potencia insuficiente. Un servo estándar de 9 g consume entre 200 y 300 mA cuando se mueve; un servo grande consume hasta 1A. El regulador de 5 V integrado de Arduino (máximo ~500 mA) no puede manejarlo.

Arreglar:Utilice una fuente de alimentación externa de 5 V (por ejemplo, 4 pilas AA o un adaptador de 5 V 2 A). Conecte el positivo del suministro al cable rojo del servo, la tierra del suministro a Arduino GND y la tierra del servo al mismo GND.

Caso 2: El servo se mueve solo en una dirección

Causa:El pin de señal no está conectado correctamente o el número de pin es incorrecto.

how to control servo with arduino_how to control servo with arduino_how to control servo with arduino

Arreglar:verificar quemyServo.attach(pin)utiliza un pin compatible con PWM. En Arduino Uno, los pines 3,5,6,9,10,11 admiten PWM. Se recomiendan los pines 9 y 10.

Caso 3: El servo se calienta rápidamente

Causa:El servo está forzado contra un tope mecánico o el rango de ancho de pulso es incorrecto para ese modelo de servo.

Arreglar:Ajuste el ancho de pulso mínimo/máximo usandomyServo.attach(pin, mínimo, máximo)donde el valor mínimo es 544 µs (0°) y el máximo es 2400 µs (180°). Algunos servos requieren entre 500 y 2500 µs. Consulte la hoja de datos de su servo.

05Control avanzado: movimiento suave (no se requiere biblioteca)

Para un control de velocidad preciso, puede generar manualmente la señal PWM. El servo espera una señal de 50 Hz (período de 20 ms). Un pulso de 1 ms = 0°, 1,5 ms = 90°, 2 ms = 180°. Este código se desplaza sin problemas:

intservoPin = 9; int ancho de pulso = 1500; // microsegundos, comienza en 90° void setup() { pinMode(servoPin, OUTPUT); } void loop() { // barrido de 1000 µs a 2000 µs (0° a 180°) for(pulseWidth = 1000; pulseWidth = 1000; pulseWidth -= 10) { digitalWrite(servoPin, HIGH); retrasoMicrosegundos(ancho de pulso); escritura digital (servoPin, BAJO); retraso(20 - ancho de pulso/1000); } retraso(1000); }

06Verificación de su configuración: un plan de prueba rápido

1. Verificación de energía:Con solo el servo conectado (sin código cargado), el servo debería permanecer quieto y no calentarse.

2. Prueba de señal:Cargue el código estándar de la Sección 3. Observe si el servo gira 0° → 90° → 180° → repita.

3. Prueba de carga:Sostenga suavemente la bocina del servo mientras se mueve. Debería producir un par notable pero no detenerse. Si se detiene, aumente la corriente de suministro de energía.

07Principios básicos para recordar (repetidos para dar énfasis)

Cableado correctono es negociable: señal al pin PWM, alimentación al suministro adecuado, tierra común.

Utilice siempre la biblioteca Servopor simplicidad y confiabilidad. Cambie al control de pulso manual solo cuando necesite aumentar la velocidad.

Nunca exceda el voltaje nominal del servo(normalmente de 5 V a 6 V). Un voltaje más alto destruirá el circuito de control interno.

Protege tu Arduinonunca extrayendo más de 200 mA de su pin de 5 V para un servo.

08Próximos pasos viables

1. Construye el circuito básico.en una placa usando un servo de 9 g y un Arduino Uno. Utilice el código de la Sección 3 para verificar el movimiento.

2. Agregar un potenciómetropara controlar el ángulo: lea el valor analógico de un potenciómetro (pin A0), asígnelo a 0–180, luegomyServo.write (valor asignado).

3. Incorpora a tu proyecto– Las aplicaciones comunes incluyen brazos robóticos, cardanes de cámara, mecanismos de dirección y abridores de puertas automáticos.

Si sigue esta guía, ahora dispone de un método verificado y repetible para controlar cualquier servo estándar con un Arduino. Los mismos principios se aplican a todas las placas compatibles con Arduino. Consulte siempre la hoja de datos de su servo para conocer los límites exactos de ancho de pulso y los requisitos actuales.

Hora de actualización: 2026-04-03

Impulsando el futuro

Comuníquese con el especialista en productos de Kpower para recomendarle un motor o caja de cambios adecuado para su producto.

Correo a Kpower
Enviar consulta
Mensaje de WhatsApp
+86 0769 8399 3238
 
kpowerMapa