Servo de rotación constante. Servo de rotación continua. Esquema de servocontrol de Arduino

En este artículo, hablaremos sobre servos en proyectos Arduino. Es gracias a los servomotores que los proyectos electrónicos ordinarios se vuelven robóticos. Conectar un servo a un proyecto Arduino le permite responder a las señales de los sensores con algún movimiento preciso, como abrir una puerta o girar los sensores en la dirección correcta. El artículo analiza los problemas del control de los servos, los posibles esquemas para conectar un servo a un arduino, así como ejemplos de bocetos.

Un servoaccionamiento es un tipo de accionamiento que puede controlar con precisión los parámetros de movimiento. En otras palabras, es un motor que puede girar su eje en un cierto ángulo o mantener una rotación continua en un período preciso.

El esquema de funcionamiento del servo se basa en el uso retroalimentación(un circuito cerrado en el que la señal en la entrada y la salida no coinciden). Cualquier tipo de accionamiento mecánico puede actuar como servoaccionamiento, que incluye un sensor y una unidad de control que mantiene automáticamente todos los parámetros establecidos en el sensor. La estructura del servoaccionamiento consta de un motor, un sensor de posición y un sistema de control. La tarea principal de tales dispositivos es la implementación en el campo de los servomecanismos. Además, los servoaccionamientos se utilizan a menudo en áreas como el procesamiento de materiales, la producción de equipos de transporte, el procesamiento de madera, la producción de láminas de metal, la producción de materiales de construcción y otros.

En los proyectos de robótica de arduino, a menudo se usa un servo para acciones mecánicas simples:

  • Gire el telémetro u otros sensores a un cierto ángulo para medir la distancia en el estrecho campo de visión del robot.
  • Da un pequeño paso con el pie, movimiento de una extremidad o de la cabeza.
  • Crear manipuladores robóticos.
  • Para implementar el mecanismo de dirección.
  • Abra o cierre una puerta, amortiguador u otro objeto.

Por supuesto, el alcance de los servos en proyectos reales es mucho más amplio, pero los ejemplos dados son los circuitos más populares.

Esquema y tipos de servos.

El principio de funcionamiento de un servo se basa en la retroalimentación de una o más señales del sistema. El indicador de salida se alimenta a la entrada, donde su valor se compara con la acción de configuración y se realizan las acciones necesarias, por ejemplo, se apaga el motor. La implementación más simple es una resistencia variable, que está controlada por un eje; cuando cambian los parámetros de la resistencia, cambian los parámetros de la corriente que suministra al motor.

En los servos reales, el mecanismo de control es mucho más complicado y utiliza chips de control integrados. Dependiendo del tipo de mecanismo de retroalimentación utilizado, hay cosa análoga y digital servos Los primeros usan algo que parece un potenciómetro, los últimos usan controladores.

Todo el circuito de control del servo se encuentra dentro de la caja, las señales de control y la alimentación se suministran, por regla general, pasan por tres cables: tierra, tensión de alimentación y señal de control.

Servo de rotación continua de 360, 180 y 270 grados

Hay dos tipos principales de servomotores: con rotación continua y con un ángulo fijo (la mayoría de las veces, 180 o 270 grados). La diferencia entre un servo de rotación limitada radica en los elementos de diseño mecánico que pueden bloquear el movimiento del eje fuera de los ángulos especificados por los parámetros. Habiendo alcanzado un ángulo de 180, el eje afectará al limitador y dará la orden de apagar el motor. Los servomotores de rotación continua no tienen tales limitadores.

Materiales del servoengranaje

En la mayoría de los servos, el enlace entre el eje y los elementos externos es un engranaje, por lo que es muy importante de qué material está hecho. Hay dos opciones más disponibles: engranajes de metal o plástico. En modelos más caros, puedes encontrar elementos de carbono e incluso titanio.


Las variantes de plástico son naturalmente más baratas, más fáciles de fabricar y, a menudo, se utilizan en servomodelos económicos. Para proyectos de entrenamiento, cuando el servo hace varios movimientos, esto no es un problema. Pero en proyectos serios, el uso de plástico es imposible, en vista del rápido desgaste de dichos engranajes bajo carga.

Los engranajes de metal son más confiables, pero esto, por supuesto, afecta tanto el precio como el peso del modelo. Los fabricantes ahorrativos pueden fabricar algunas piezas de plástico y otras de metal, esto también debe tenerse en cuenta. Y, por supuesto, que en los modelos más económicos, ni siquiera la presencia de un engranaje metálico es garantía de calidad.

Los engranajes de titanio o carbono son la mejor opción si tienes un presupuesto limitado. Ligeros y confiables, estos servos se usan ampliamente para crear modelos de automóviles, drones y aviones.

Ventajas de los servomotores

El uso generalizado de servoaccionamientos se debe al hecho de que tienen un funcionamiento estable, alta resistencia a las interferencias, tamaño pequeño y amplio rango de control de velocidad. Las características importantes de los servoaccionamientos son la capacidad de aumentar la potencia y proporcionar información de retroalimentación. Y se deduce que en la dirección directa, el circuito es un transmisor de energía, y en la dirección inversa, es un transmisor de información que se utiliza para mejorar la precisión del control.

Diferencias entre servo y motor convencional

Al encender o apagar un motor eléctrico convencional, podemos generar un movimiento giratorio y hacer que se muevan ruedas u otros objetos adheridos al eje. Este movimiento será continuo, pero para saber en qué ángulo ha girado el eje o cuántas revoluciones ha dado, será necesario instalar elementos externos adicionales: encoders. El servo ya contiene todo lo necesario para obtener información sobre los parámetros de rotación actuales y puede apagarse cuando el eje gira al ángulo requerido.

Diferencias entre servo y motor paso a paso

Una diferencia importante entre un servomotor y un motor paso a paso es la capacidad de trabajar con altas aceleraciones y con una carga variable. Los servomotores también tienen mayor potencia. Los motores paso a paso no tienen retroalimentación, por lo que se puede observar el efecto de la pérdida de paso, la pérdida de paso se excluye en los servomotores; todas las violaciones se registrarán y corregirán. Con todas estas claras ventajas, los servomotores son más caros que los motores paso a paso, tienen un cableado y un sistema de control más complejos y requieren un mantenimiento más especializado. Es importante tener en cuenta que los motores paso a paso y los servoaccionamientos no son competidores directos; cada uno de estos dispositivos tiene su propio alcance específico.

Dónde comprar los populares servos SG90, MG995, MG996

La opción de servo SG90 1.6KG más asequible Servos SG90 y MG90S para Arduino a un precio inferior a 70 rublos
Otra opción de servo SG90 Pro 9g de un proveedor confiable en Ali Servo SG90 del proveedor confiable RobotDyn
Probador de servos Varias opciones de probador de servo
Servo protegido con par de 15 kg Servo JX DC5821LV 21KG engranaje mental de núcleo totalmente impermeable 1/8 1/10 escalador de coche RC Buggy Crawler TRAXXAS RC4WD TRX-4 SCX10 D90
Servo MG996R MG996 Servo Metal Gear para Futaba JR Servo 13KG 15KG Servos Digital MG995 MG996 MG996R Servo Metal Gear

El factor decisivo en el control de los servos es la señal de control, que es un pulso de frecuencia constante y ancho variable. La duración del pulso es uno de los parámetros más importantes que determina la posición del servo. Esta longitud se puede configurar manualmente en el programa usando el método de selección a través de la esquina o usando los comandos de la biblioteca. Para cada marca de dispositivo, la longitud puede ser diferente.

Cuando la señal ingresa al circuito de control, el generador emite su pulso, cuya duración se determina mediante un potenciómetro. En otra parte del circuito se compara la duración de la señal aplicada y la señal del generador. Si estas señales tienen una duración diferente, se enciende el motor eléctrico, cuya dirección de rotación está determinada por cuál de los pulsos es más corto. Si las longitudes de pulso son iguales, el motor se detiene.

La frecuencia estándar con la que se aplican los pulsos es de 50 Hz, es decir, 1 pulso cada 20 milisegundos. En estos valores, la duración es de 1520 microsegundos y el servo está en la posición media. Cambiar la longitud del pulso conduce a la rotación del servo: con un aumento en la duración, la rotación es en el sentido de las agujas del reloj, con una disminución, en el sentido contrario a las agujas del reloj. Hay límites de duración: en Arduino en la biblioteca Servo para 0 °, el valor del pulso se establece en 544 μs (límite inferior), para 180 ° - 2400 μs (límite superior).

(Imagen usada de amperka.ru)

Es importante tener en cuenta que en un dispositivo en particular, la configuración puede diferir ligeramente de los valores generalmente aceptados. Para algunos dispositivos, la posición promedio y el ancho de pulso pueden ser de 760 µs. Todos los valores aceptados también pueden diferir ligeramente debido al error que se puede permitir durante la fabricación del dispositivo.

El método de control de la unidad a menudo se denomina erróneamente PWM / PWM, pero esto no es del todo correcto. El control depende directamente de la duración del pulso, la frecuencia de su aparición no es tan importante. Se proporcionará un correcto funcionamiento tanto a 40 Hz como a 60 Hz, sólo contribuirá una fuerte reducción o aumento de frecuencia. Con una caída brusca, el servoaccionamiento comenzará a funcionar bruscamente; si la frecuencia aumenta por encima de 100 Hz, el dispositivo puede sobrecalentarse. Por lo tanto, es más correcto llamar a PDM.

Según la interfaz interna, se pueden distinguir servos analógicos y digitales. No hay diferencias externas, todas las diferencias están solo en la electrónica interna. Un servoaccionamiento analógico contiene un microcircuito especial en su interior, uno digital contiene un microprocesador que recibe y analiza pulsos.

Al recibir una señal, el servo analógico decide si mueve o no la posición y, si es necesario, envía una señal al motor a una frecuencia de 50 Hz. Durante el tiempo de reacción (20 ms), pueden ocurrir influencias externas que cambiarán la posición del servo y el dispositivo no tendrá tiempo de reaccionar. El servo digital utiliza un procesador que envía y procesa señales a una frecuencia más alta, desde 200 Hz, para que pueda responder más rápido a las influencias externas, desarrollar rápidamente la velocidad y el par deseados. Por lo tanto, el servo digital mantendrá mejor la posición establecida. Al mismo tiempo, el servo digital requiere más electricidad para funcionar, lo que aumenta su costo. La complejidad de su producción también contribuye en gran medida al precio. El alto costo es la única desventaja de los servos digitales, técnicamente son mucho mejores que los dispositivos analógicos.

Conectando un servomotor a un arduino

El servo tiene tres contactos, que están coloreados en diferentes colores. El cable marrón conduce a tierra, el cable rojo conduce a una alimentación de +5 V, el cable naranja o amarillo es señal. El dispositivo está conectado a Arduino a través de la placa de pruebas como se muestra en la figura. El cable naranja (señal) está conectado al pin digital, negro y rojo, a tierra y alimentación, respectivamente. Para controlar un servomotor, no es necesario conectarse específicamente a los pines de la cuña; ya hemos descrito el principio del servocontrol anteriormente.

No se recomienda conectar servos potentes directamente a la placa. crean una corriente que no es compatible con la vida del circuito de alimentación de Arduino; tendrá suerte si la protección funciona. Los síntomas más comunes de sobrecarga y fuente de alimentación incorrecta del servo son sacudidas del servo, sonido desagradable y reinicio de la placa. Para la alimentación, es mejor usar fuentes externas, asegúrese de combinar las tierras de los dos circuitos.

Esquema de servocontrol de Arduino

Controlar un servo directamente cambiando la duración del pulso en el boceto no es una tarea trivial, pero afortunadamente tenemos una excelente biblioteca Servo integrada en el entorno de desarrollo de Arduino. Consideraremos todos los matices de la programación y el trabajo con servos en un artículo separado. Aquí damos el ejemplo más simple del uso de Servo.

El algoritmo de trabajo es simple:

  • Primero incluimos Servo.h
  • Crear un objeto de la clase Servo
  • En el bloque de configuración, especifique a qué pin está conectado el servo
  • Usamos los métodos del objeto en la forma habitual de C++. El más popular es el método de escritura, al que alimentamos un valor entero en grados (para un servo 360, estos valores se interpretarán de manera diferente).

Un ejemplo de un boceto simple para trabajar con un servo

Un ejemplo de un proyecto en el que inmediatamente primero configuramos el servomotor en ángulo cero y luego lo giramos 90 grados.

#incluir servo servo // Crea un objeto void setup() ( servo.attach(9); // Indica al objeto de la clase Servo que el servo está conectado al pin 9 servo1.write(0); // Establece la posición inicial) void loop() ( servo.write (90); // Rotar el servo 90 grados delay(1000); servo.write(1800); delay(100); servo.write(90); delay(1000); servo.write(0) ; retraso (1000 ); )

Boceto para dos servos

Y en este ejemplo, estamos trabajando con dos servos a la vez:

#incluir servoservo1; // Primer servo Servo servo2; // Segundo servo void setup() ( servo1.attach(9); // Dile al objeto de la clase Servo que el servo está conectado al pin 9 servo2.attach(10); // Este servo está conectado al pin 10) void loop () ( // Establecer posiciones servo1.write(0); servo2.write(180); delay(20); // Cambiar posiciones servo2.write(0); servo1.write(180); )

Servocontrol con potenciómetro

En este ejemplo, giramos el servo dependiendo del valor recibido del potenciómetro. Leemos el valor y lo convertimos a un ángulo usando la función map:

//Fragmento del ejemplo estándar de uso de la biblioteca Servo void loop() ( val = analogRead(A0); // Lee el valor del pin al que está conectado el potenciómetro val = map(val, 0, 1023, 0, 180); // Convertir el número en el rango de 0 a 1023 al nuevo rango - 0 a 180. servo.write(val); delay(15); )

Características y conexión del SG-90

Si está buscando comprar el servo más barato y simple, entonces la mejor opción es el SG 90. Este servo se usa con mayor frecuencia para controlar máquinas pequeñas y livianas con un ángulo de rotación de 0° a 180°.

Especificaciones SG90:

  • Velocidad de procesamiento de comandos 0,12 s/60 grados;
  • Fuente de alimentación 4,8 V;
  • Temperaturas de funcionamiento de -30C a 60C;
  • Dimensiones 3,2 x 1,2 x 3 cm;
  • Peso 9 g.

Descripción de SG90

Los colores de los cables son estándar. El servo es económico y no proporciona ajustes precisos para las posiciones inicial y final. Para evitar sobrecargas innecesarias y crujidos característicos en la posición de 0 y 180 grados, es mejor configurar los puntos extremos en 10° y 170°. Al operar el dispositivo, es importante monitorear el voltaje de suministro. Con una fuerte sobreestimación de este indicador, los elementos mecánicos de los mecanismos de engranajes pueden dañarse.

Servos profesionales de torre MG995 y MG996

El servo MG995 es el segundo modelo de servo más popular conectado con mayor frecuencia a proyectos Arduino. Estos son servomotores relativamente económicos con mucho el mejor rendimiento en comparación con SG90.

Especificaciones MG995

El eje de salida del MG995 gira 120 grados (60 en cada dirección), aunque muchos vendedores indican 180 grados. El dispositivo está hecho en una caja de plástico.

  • Peso 55 g;
  • Torque 8,5 kg x cm;
  • Velocidad 0,2 s/60 grados (a 4,8 V);
  • Potencia de trabajo 4,8 - 7,2 V;
  • Temperaturas de funcionamiento - de 0C a -55C.

Descripción de MG995

La conexión con el arduino también se produce a través de tres cables. En principio, para proyectos de aficionados, está permitido conectar el MG995 directamente al Arduino, pero la corriente del motor siempre creará una carga peligrosa para las entradas de la placa, por lo que se recomienda seguir alimentando los servos por separado, recordando conectar la tierra de ambos circuitos de potencia. Otra opción que facilita la vida es usar servocontroladores y protectores listos para usar, que revisaremos en un artículo separado.

El MG996R es similar al MG995 en términos de características, solo que viene en una caja de metal.

Convertir un servo a un servo de rotación continua

Como se describió anteriormente, el servo está controlado por pulsos de ancho variable que establecen el ángulo de rotación. La posición actual se lee del potenciómetro. Si el eje y el potenciómetro están desconectados, el servomotor asumirá la posición del deslizador del potenciómetro en el punto medio. Todas estas acciones conducirán al hecho de que se eliminarán los comentarios. Esto le permite controlar la velocidad y la dirección de rotación en el cable de señal y crear un servo de rotación continua. Es importante tener en cuenta que un servo de rotación constante no puede girar a través de un cierto ángulo y hacer un número de revoluciones estrictamente especificado.

Para realizar los pasos anteriores, deberá desmontar el dispositivo y realizar cambios en el diseño.

En el IDE de Arduino, debe crear un pequeño boceto que colocará el balancín en la posición media.

#incluir Servo miservo; void setup()( myservo.attach(9); myservo.write(90); ) void loop()( )

Después de eso, el dispositivo debe estar conectado al Arduino. Cuando esté conectado, el servo comenzará a girar. Es necesario lograr su parada completa ajustando la resistencia. Después de que se detenga la rotación, debe encontrar el eje, sacar el elemento flexible e instalarlo nuevamente.

Este método tiene varios inconvenientes: configurar la resistencia para que se detenga por completo es inestable, con el más mínimo golpe / calentamiento / enfriamiento, el punto cero ajustado puede desviarse. Por lo tanto, es mejor usar el método de reemplazar el potenciómetro con un recortador. Para hacer esto, saque el potenciómetro y reemplácelo con un trimmer con la misma resistencia. El punto cero debe ajustarse con un croquis de calibración.

Cualquier método de convertir un servo a un servo de rotación continua tiene sus inconvenientes. En primer lugar, es difícil ajustar el punto cero, cualquier movimiento puede hacerlo bajar. En segundo lugar, el rango de control es pequeño: con un pequeño cambio en el ancho del pulso, la velocidad puede cambiar significativamente. Puede expandir el rango programáticamente en Arduino.

Conclusión

Los servoaccionamientos juegan un papel muy importante en muchos proyectos de Arduino, desde robótica hasta sistemas. casa inteligente. Todo lo que está relacionado con el movimiento tradicionalmente requiere un conocimiento especial y crear una unidad que funcione correctamente no es una tarea fácil. Pero con los servomotores, puede simplificar la tarea en muchos casos, por lo que el servo se usa constantemente incluso en proyectos de nivel de entrada.

En este artículo, tratamos de cubrir varios aspectos del uso de servos en proyectos arduino: desde la conexión hasta la escritura de bocetos. Al elegir el más modelo sencillo servos (por ejemplo, sg 90) puede repetir fácilmente los ejemplos dados y crear sus primeros proyectos en los que algo se mueve y cambia. Esperamos que este artículo te ayude con esto.

Los servoaccionamientos suelen tener un ángulo de rotación limitado de 180 grados. En este caso, considere un servo "modificado" con un ángulo ilimitado de rotación del eje.


TTX de la página del vendedor

Tamaño: 40*20*37,5 + eje de transmisión de 5mm
peso: 38g
longitud del cable: 320 mm

Velocidad: 0,19 s/60 grados (4,8 V)
0,22 s/60 grados (6 V)
lo más probable es que las velocidades estén mezcladas, a 6 voltios el servo debería ser más rápido
esfuerzo de torsión: 5 kg. cm. a (4,8 V)
5.5kg.cm.a (6V)
voltaje: 4.8V-6V

Estándar de conjunto de entrega

4 mecedoras de diferentes formas
4 bujes, 4 amortiguadores de goma y 4 tornillos para montar el servo
y otro pequeño tornillo para sujetar la mecedora al eje se escapó de la foto :)

Apariencia inspira confianza, nada al tacto, pequeños cardúmenes de fundición solo en la zona de las orejas de montaje, una pegatina está ligeramente torcida (sí, ¡una tautología!). El cable es suave, el conector se asienta bien en los pines.

Bueno, ahora la apertura:

Quién no sabía cómo funciona: en el caso hay un motor, un tablero de control y una resistencia variable, por cuya posición el servo determina el ángulo del eje.
La caja de cambios en este servo es de plástico, el recurso es menor que el de uno de metal y no le gustan las grandes cargas. El casquillo del eje central es de cobre o de alguna de sus aleaciones. El eje de salida tiene un cojinete. Se pueden agregar lubricantes

parte electrica

Cerebros que controlan la dirección y la velocidad de rotación, un rezjuk variable y un motor eléctrico.

Y ahora, atención, "truco de la vida", cómo convertir un servo regular en un servo de rotación constante

En el original, la variable está pegada con su eje en el eje de salida desde el interior del servo, en el eje modificado, aparentemente, fue mordido/roto en la etapa de ensamblaje, la resistencia se coloca en la posición central para que el el eje no gira en reposo. Si va más allá, puede tirarlo por completo y reemplazarlo con 2 resistencias constantes idénticas, es conveniente poner algo smd-shnoe en el tablero de control.

Total:
serva como serva, no espacio, pero no bienes de consumo,
se puede encontrar más barato y con caja de cambios metálica

PD
Como se señaló correctamente en los comentarios, olvidé por completo mencionar cómo se controla el servo, el servo funciona con 5-6 voltios y una señal de ppm a través del tercer cable.

Las opciones de control más comunes:
1) conectamos la potencia por un lado, por otro lado, la salida para 3 "consumidores" (servidores, motores, etc.) potencia y señal PPM, puedes ajustar la velocidad y sentido de giro del servo con la perilla
2) El equipo RC en el receptor emite la misma señal ppm.
3) conducir un arduino

Video

pps
Como resultado de la “modificación”, el servo ha perdido retroalimentación, el cerebro no sabe la posición real del eje y el sentido de giro, considere este momento si lo va a comprar.

planeo comprar +17 Agregar a los favoritos Me gustó la reseña +31 +56

Los más simples de los robots son los de 2 o 4 ruedas. Un robot de este tipo puede basarse en un chasis de un coche radiocontrolado, pero puede que no todo el mundo lo tenga a mano o que sea una pena estropearlo. También puede hacer el chasis usted mismo, pero poner las ruedas directamente sobre el motor no es una buena solución, el motor necesita cargarse para reducir la velocidad, para esto necesita una caja de cambios. Conseguir un chasis listo para usar o una caja de cambios o un motor con una caja de cambios resultó no ser una tarea tan fácil, a diferencia de los servos. Casi cualquier servoaccionamiento se puede convertir fácilmente en un motor con una caja de cambios.

Las ruedas se pueden pegar directamente a la mecedora de dicho motor, y el cuerpo del servo es conveniente para el montaje.

¡ATENCIÓN! El diseño de otros servos puede diferir y, por lo tanto, este manual solo será parte del mismo.

Se tomó como base el servo más simple y económico:

Primero, vamos a desmontarlo.

Primero, eliminamos la electrónica innecesaria, mordemos el controlador, controlaremos el motor directamente. A continuación, comencemos a modificar la mecánica, retire el primer engranaje con un eje externo y retire el limitador de carrera.

Sacamos la resistencia y mordemos el limitador ubicado en su cuerpo.

Recopilamos todas las mecánicas y comprobamos si todo se mueve correctamente.

El siguiente paso es soldar el cable al motor.

Ensamblamos el antiguo servo en un nuevo motor con una caja de cambios.

Todo está listo, si no ha cometido ningún error, puede disfrutar del trabajo.

Este artículo trata sobre los servos: su dispositivo, propósito, consejos para conectar y controlar, tipos de servos y su comparación. Comencemos y comencemos con lo que es un servo.

El concepto de un servo

Un servoaccionamiento suele entenderse como un mecanismo con un motor eléctrico, al que se le puede pedir que gire en un ángulo determinado y mantenga esta posición. Sin embargo, esta no es una definición completa.

Para decirlo de manera más completa, un servoaccionamiento es un accionamiento con control a través de retroalimentación negativa, lo que le permite controlar con precisión los parámetros de movimiento. Un servoaccionamiento es cualquier tipo de accionamiento mecánico que incluye un sensor (posición, velocidad, fuerza, etc.) y una unidad de control de accionamiento que mantiene automáticamente los parámetros necesarios en el sensor y el dispositivo de acuerdo con un valor externo dado.

En otras palabras:

    El servoaccionamiento recibe el valor del parámetro de control como entrada. Por ejemplo, el ángulo de rotación.

    La unidad de control compara este valor con el valor de su sensor.

    Según el resultado de la comparación, el variador realiza alguna acción, como girar, acelerar o desacelerar, de modo que el valor del sensor interno se acerque lo más posible al valor de la variable de control externa.

Los más comunes son los servos que mantienen un ángulo determinado y los servos que mantienen una velocidad de rotación determinada.

A continuación se muestra un servo de hobby típico.

¿Cómo se organizan los servos?

Dispositivo servo

Los servoaccionamientos tienen varios componentes.

Accionamiento - motor eléctrico con caja de cambios. Para convertir la electricidad en rotación mecánica, necesita motor eléctrico. Sin embargo, a menudo la velocidad de rotación del motor es demasiado alta para un uso práctico. Se utiliza para reducir la velocidad reductor: un mecanismo de engranajes que transmite y convierte el par.

Al encender y apagar el motor eléctrico, podemos girar el eje de salida, el engranaje final del servo, al que podemos conectar algo que queremos controlar. Sin embargo, para que la posición sea controlada por el dispositivo, sensor de retroalimentación - codificador, que volverá a convertir el ángulo de dirección en una señal eléctrica. A menudo se utiliza un potenciómetro para esto. Cuando se gira el control deslizante del potenciómetro, su resistencia cambia, proporcional al ángulo de rotación. Por lo tanto, se puede utilizar para establecer la posición actual del mecanismo.

Además del motor eléctrico, la caja de cambios y el potenciómetro, el servodrive cuenta con un relleno electrónico, que se encarga de recibir un parámetro externo, leer valores del potenciómetro, compararlos y encender/apagar el motor. Ella es responsable de mantener la retroalimentación negativa.

Hay tres cables que van al servo. Dos de ellos son responsables de alimentar el motor, el tercero entrega una señal de control que se utiliza para establecer la posición del dispositivo.

Ahora veamos cómo controlar el servo externamente.

Servomando. Interfaz de señal de control

Para indicar la posición deseada al servo, se debe enviar una señal de control a lo largo del cable destinado para ello. Señal de control: pulsos de frecuencia constante y ancho variable.

La posición que debe tomar el servo depende de la duración de los pulsos. Cuando una señal ingresa al circuito de control, el generador de pulso produce su propio pulso, cuya duración se determina a través de un potenciómetro. Otra parte del circuito compara la duración de los dos pulsos. Si la duración es diferente, el motor eléctrico se enciende. La dirección de rotación está determinada por cuál de los pulsos es más corto. Si las longitudes de pulso son iguales, el motor eléctrico se detiene.

La mayoría de las veces, en los servos de hobby, los pulsos se producen a una frecuencia de 50 Hz. Esto significa que se emite y recibe un pulso una vez cada 20 ms. Normalmente, una duración de pulso de 1520 µs significa que el servo debe tomar la posición media. Aumentar o disminuir la duración del pulso hará que el servo gire en el sentido de las agujas del reloj o en el sentido contrario a las agujas del reloj, respectivamente. En este caso, existen límites superior e inferior de la duración del pulso. En la biblioteca Servo para Arduino, las longitudes de pulso predeterminadas son 544 µs para 0° y 2400 µs para 180°.

Tenga en cuenta que en su dispositivo en particular, la configuración de fábrica puede ser diferente a la estándar. Algunos servos usan un ancho de pulso de 760 µs. En este caso, la posición media corresponde a 760 µs, al igual que en los servoaccionamientos convencionales la posición media corresponde a 1520 µs.

También vale la pena señalar que estas son solo longitudes generalmente aceptadas. Incluso dentro del mismo modelo de servo, puede haber un error de fabricación que provoque que el rango operativo de longitudes de pulso sea ligeramente diferente. Para un funcionamiento preciso, cada servo específico debe calibrarse: a través de experimentos, es necesario seleccionar el rango correcto que es específico para él.

A lo que más vale la pena prestar atención es a la confusión en la terminología. A menudo, la forma de controlar los servos se llama PWM / PWM (Modulación de ancho de pulso) o PPM (Modulación de posición de pulso). Este no es el caso, y el uso de estos métodos puede incluso dañar la unidad. El término correcto es PDM (modulación de duración de pulso). En él, la longitud de los pulsos es extremadamente importante y la frecuencia de su aparición no lo es tanto. 50 Hz es la norma, pero el servo funcionará correctamente tanto a 40 como a 60 Hz. Lo único a tener en cuenta es que con una fuerte disminución de la frecuencia, puede funcionar a tirones y con potencia reducida, y con un fuerte aumento de la frecuencia (por ejemplo, 100 Hz), puede sobrecalentarse y fallar.

Especificaciones de los servos

Ahora averigüemos qué son los servos y qué características tienen.

Par y velocidad de giro

Primero, hablemos de dos características muy importantes de un servo: esfuerzo de torsión y sobre velocidad de giro.

El momento de la fuerza, o torque, es una cantidad física vectorial igual al producto del radio vector trazado desde el eje de rotación hasta el punto de aplicación de la fuerza por el vector de esta fuerza. Caracteriza la acción rotacional de la fuerza sobre un cuerpo rígido.

En pocas palabras, esta característica muestra qué tan pesada es la carga que el servo puede mantener en reposo en una palanca de una longitud determinada. Si el par del servo es de 5 kg × cm, esto significa que el servo sostendrá una palanca de 1 cm de largo sobre el peso en posición horizontal, en cuyo extremo libre se cuelgan 5 kg. O, equivalentemente, una palanca de 5 cm de largo, de la que cuelga 1 kg.

La velocidad del servo se mide por la cantidad de tiempo que tarda el brazo del servo en girar 60°. Una característica de 0,1 s/60° significa que el servo gira 60° en 0,1 s. A partir de él, es fácil calcular la velocidad en un valor más familiar, revoluciones por minuto, pero sucedió que al describir los servos, dicha unidad se usa con mayor frecuencia.

Vale la pena señalar que a veces es necesario encontrar un compromiso entre estas dos características, porque si queremos un servo confiable y resistente, debemos estar preparados para que esta poderosa instalación gire lentamente. Y si queremos un disco muy rápido, será relativamente fácil desequilibrarlo. Cuando se usa el mismo motor, el equilibrio está determinado por la configuración de los engranajes en la caja de cambios.

Por supuesto, siempre podemos optar por una planta que consuma más energía, siempre que sus características se ajusten a nuestras necesidades.

Factor de forma

Los servos varían en tamaño. Y aunque no existe una clasificación oficial, los fabricantes se han adherido durante mucho tiempo a varios tamaños con una disposición de sujetadores generalmente aceptada. Se pueden dividir en:

    pequeña

    estándar

Tienen las siguientes dimensiones características:

También existen los llamados servos de "tipo especial" con dimensiones que no entran en esta clasificación, pero el porcentaje de tales servos es muy pequeño.

Interfaz interna

Los servoaccionamientos son analógicos o digitales. Entonces, ¿cuáles son sus diferencias, ventajas y desventajas?

En apariencia, no son diferentes: los motores eléctricos, las cajas de cambios y los potenciómetros son los mismos, solo difieren en la electrónica de control interna. En lugar de un servochip analógico especial, la contraparte digital se puede ver en el tablero con un microprocesador que recibe pulsos, los analiza y controla el motor. Así, en la versión física, la diferencia está solo en la forma en que se procesan los pulsos y se controla el motor.

Ambos tipos de servos toman los mismos pulsos de control. El servo analógico luego decide si cambiar la posición y envía una señal al motor si es necesario. Esto suele ocurrir a una frecuencia de 50 Hz. Por lo tanto, obtenemos 20 ms, el tiempo de reacción mínimo. En este momento, cualquier influencia externa puede cambiar la posición del servo. Pero este no es el único problema. En reposo, no se aplica tensión al motor eléctrico; en caso de una ligera desviación del equilibrio, se suministra una señal breve de baja potencia al motor eléctrico. Cuanto mayor sea la desviación, más fuerte será la señal. Por lo tanto, con pequeñas desviaciones, el servo no podrá girar rápidamente el motor ni desarrollar un gran par. Las "zonas muertas" se forman en el tiempo y la distancia.

Estos problemas se pueden solucionar aumentando la frecuencia de recepción, el procesamiento de la señal y el control del motor. Los servos digitales usan un procesador especial que recibe pulsos de control, los procesa y envía señales al motor a una frecuencia de 200 Hz o más. Resulta que el servo digital puede responder más rápido a las influencias externas, desarrollar la velocidad y el par necesarios más rápido, lo que significa que es mejor mantener una posición determinada, lo cual es bueno. Por supuesto, al mismo tiempo consume más electricidad. Además, los servos digitales son más difíciles de fabricar y, por lo tanto, notablemente más caros. En realidad, estas dos desventajas son todas las desventajas que tienen los servos digitales. En términos técnicos, derrotan incondicionalmente a los servos analógicos.

Materiales de engranajes

Los engranajes para servos vienen en una variedad de materiales: plástico, carbono, metal. Todos ellos son ampliamente utilizados, la elección depende de la tarea específica y de qué características se requieren en la instalación.

Los engranajes de plástico, generalmente de nailon, son muy livianos, no están sujetos a desgaste y son más comunes en los servoaccionamientos. No soportan cargas pesadas, pero si se espera que las cargas sean pequeñas, los engranajes de nailon son la mejor opción.

Los engranajes de carbono son más duraderos, prácticamente no se desgastan y son varias veces más resistentes que los de nailon. La principal desventaja es el alto costo.

Los engranajes de metal son los más pesados, pero pueden soportar cargas máximas. Se desgastan bastante rápido, por lo que hay que cambiar las marchas casi todas las temporadas. Los engranajes de titanio son los favoritos entre los engranajes de metal y ambos especificaciones técnicas, así como por el precio. Desafortunadamente, le costarán bastante.

Motores con escobillas y sin escobillas

Hay tres tipos de servomotores: motor de núcleo convencional, motor sin núcleo y motor sin escobillas.

Un motor de núcleo convencional (derecha) tiene un rotor de hierro denso con bobinados de alambre e imanes a su alrededor. El rotor tiene varias secciones, por lo que a medida que el motor gira, el rotor hace que el motor vibre ligeramente cuando las secciones pasan por los imanes, lo que da como resultado un servo que vibra y es menos preciso que un servo de motor sin núcleo. El motor de rotor hueco (izquierda) tiene un solo núcleo magnético con un devanado en forma de cilindro o campana alrededor del imán. El diseño sin núcleo es más liviano y no tiene secciones, lo que da como resultado una respuesta más rápida y un funcionamiento suave y sin vibraciones. Estos motores son más caros, pero proporcionan un mayor nivel de control, par y velocidad que los motores estándar.

Los servoaccionamientos con motor sin escobillas han aparecido hace relativamente poco tiempo. Las ventajas son las mismas que para otros motores brushless: no hay escobillas, por lo que no crean resistencia a la rotación y no se desgastan, la velocidad y el par son mayores con un consumo de corriente igual al de los motores colectores. Los servos de motor sin escobillas son los servos más caros, pero ofrecen un mejor rendimiento que los servos con otros tipos de motores.

Conexión a Arduino

Muchos servos se pueden conectar directamente al Arduino. Para ello, parten de un cable de tres hilos:

    rojo - comida; se conecta al pin de 5V o directamente a la fuente de alimentación

    marrón o negro - tierra

    amarillo o blanco - señal; se conecta a la salida digital de Arduino.

Para conectarse al Arduino, será conveniente utilizar una placa expansora de puertos, como Troyka Shield. Aunque con algunos cables adicionales es posible conectar el servo a través de la placa de pruebas o directamente a los pines de Arduino.

Es posible generar pulsos de control usted mismo, pero esta es una tarea tan común que existe la biblioteca estándar Servo para simplificarla.

Restricción de alimentos

Un servo de hobby típico consume más de 100 mA durante el funcionamiento. Al mismo tiempo, Arduino es capaz de entregar hasta 500 mA. Por lo tanto, si necesita usar un servo potente en un proyecto, tiene sentido pensar en aislarlo en un circuito con potencia adicional.

Considere el ejemplo de conectar un servo de 12V:

Limitación en el número de servos conectados

En la mayoría de las placas Arduino, la biblioteca Servo admite un máximo de 12 servos, en Arduino Mega este número aumenta a 48. Hay un pequeño efecto secundario al usar esta biblioteca: si no está trabajando con un Arduino Mega, se vuelve imposible use la función analogWrite () en los pines 9 y 10 independientemente de si los servos están conectados a estos pines o no. Se pueden conectar hasta 12 servos al Arduino Mega sin romper la función PWM/PWM, si usamos más servos no podremos usar analogWrite() en los pines 11 y 12.

Funcionalidad de la biblioteca de servos

La biblioteca Servo permite el control de software de los servos. Para ello se crea una variable de tipo Servo. La gestión se lleva a cabo mediante las siguientes funciones:

    adjuntar () - Adjunta una variable a un pin específico. Hay dos sintaxis posibles para esta función: servo.attach(pin) y servo.attach(pin, min, max) . En este caso, pin es el número del pin al que está conectado el servo, min y max son las longitudes de pulso en microsegundos, que son responsables de los ángulos de rotación de 0° y 180°. De forma predeterminada, están configurados en 544 µs y 2400 µs, respectivamente.

    write() - le indica al servo que acepte algún valor de parámetro. La sintaxis es: servo.write(ángulo) donde ángulo es el ángulo que debe girar el servo.

    writeMicroseconds() - da un comando para enviar un pulso de cierta longitud al servo, es un análogo de bajo nivel del comando anterior. La sintaxis es: servo.writeMicroseconds(uS) donde uS es la longitud del pulso en microsegundos.

    read() - lee el valor actual del ángulo en el que se encuentra el servo. La sintaxis es: servo.read() devuelve un valor entero entre 0 y 180.

    adjunto () - Comprueba si una variable se ha adjuntado a un pin específico. La sintaxis es: servo.attached() devuelve boolean true si la variable se ha adjuntado a cualquier pin, o false en caso contrario.

    detach() - realiza la acción opuesta de adjuntar() , es decir, separa la variable del pin al que se asignó. La sintaxis es: servo.detach() .

Todos los métodos de la biblioteca Servo2 son los mismos que los métodos Servo.

Un ejemplo del uso de la biblioteca Servo

En lugar de una conclusión

Los servoaccionamientos son diferentes, algunos son mejores, otros son más baratos, algunos son más confiables, otros son más precisos. Y antes de comprar un servo, debes tener en cuenta que puede no tener las mejores características, siempre y cuando sea adecuado para tu proyecto. ¡Buena suerte en tus esfuerzos!

Para desmontar nuestro servo necesitamos un destornillador. Porque Desarmo un servo muy pequeño, luego necesito un destornillador apropiado. Personalmente, uso destornilladores de algún kit chino barato. Lo compré en un quiosco en el paso subterráneo por unos $5, así que no es muy caro.

Para abrir el servo, debe desatornillar solo cuatro tornillos. Están ubicados en la cubierta inferior. Destornillar:

Después de quitar la cubierta, puede ver la unidad de control. No entraré en detalles, lo quitaré de aquí de todos modos. También puede ver el motor al que conducen dos cables.

También hay una cubierta en la parte superior, quitando la cual puedes ver los engranajes de la caja de cambios. Vale la pena señalar que dos de ellos están fijos en el potenciómetro; esto es bastante importante, ya que para que la caja de cambios continúe realizando su función, tendremos que romper el potenciómetro; lo usaremos simplemente como un eje para los engranajes.

En realidad, es necesario quitar todos los engranajes del servoaccionamiento y dejarlos a un lado por un tiempo. Sacamos el potenciómetro (por cierto, también es una resistencia variable) de la caja empujándolo suavemente desde la parte inferior del servo con un destornillador.

Este es el momento del punto de no retorno. Por supuesto, siempre será posible volver a soldar todo, pero esto ya es más difícil. Entonces, muerde el potenciómetro.

Luego, utilizando el mismo método, separamos la placa de control con cables de alimentación y señal.


Luego mordemos los cables del motor. Aquí, tenga cuidado y no muerda los contactos del motor; si no está seguro, es mejor dejar el cable con un margen. Entonces se puede soldar. Muerdo el alambre hasta el mismo contacto.

Hagamos un inventario.

Todo parece estar en su lugar. Ahora tomamos nuestro potenciómetro en la mano.

El hecho es que ahora también gira solo en un cierto ángulo. Y dado que es un eje y el engranaje más grande está unido a él, en el que montaremos la rueda más adelante, debemos asegurarnos de que gire constantemente. Sacamos dos placas de metal que impiden esto. Obtenemos:

Espero que las fotos dejen claro lo que hice. Lo arranqué con unos alicates pequeños, ya que no había nada más adecuado a mano.
Ahora necesita cortar el limitador en el engranaje mismo. Parece una repisa desde la parte inferior del equipo. Es fácil de encontrar, se ve así.

Rezhem.

Y, de hecho, después de eso, puede comenzar a ensamblar la caja de cambios nuevamente en la carcasa. Volvemos a insertar el eje que hicimos anteriormente desde el potenciómetro.

A continuación, uno a uno los engranajes empezando por el más pequeño. Tenga cuidado al insertar el último engranaje: está especialmente unido al eje del potenciómetro anterior, ya que la punta del eje tiene forma de letra. D. Es necesario que esta protuberancia entre en el hueco del engranaje. Resulta algo similar a la siguiente imagen.

Colocamos la cubierta superior en la caja de cambios para que no se deshaga durante el trabajo posterior.

Bueno, no quedan muchos. Tomamos un cable con un conector que previamente cortamos de la placa y separamos el cableado en él. No debes separarte de una gran distancia, de hecho un centímetro es suficiente.

Limpiamos dos de ellos (de hecho, ninguno, pero usé rojo y verde). Basta con cortar unos 3 mm de aislamiento. Para nuestros propósitos, más que.

Simplemente doblamos el cable restante sin pelar para que no interfiera con nosotros.

Pasemos a lo caliente. Es hora de calentar el soldador. Durante el tiempo que se calienta el soldador, hice que el servoaccionamiento fuera más cómodo en el agarre.

En primer lugar, deberemos eliminar los restos de la soldadura antigua que quedó en los contactos del motor. Hago esto con una bomba desoldadora, precalentando el contacto con un soldador hasta tal punto que la soldadura se derrita. Lo principal aquí es no exagerar: la cubierta posterior del motor sigue siendo de plástico y no le gusta calentarse durante mucho tiempo. El proceso se parece a esto:

Entiendo que es posible y no se nota mucho lo que hice, pero prácticamente no quedó soldadura en los contactos, que es lo que estaba tratando de lograr.

Hay artículos maravillosos sobre soldadura en DI HALT "a. En general, me parece un genio. Enlace a su blog, hay muchas cosas además de soldadura, de hecho, solo busque.
En resumen, para hacer una buena soldadura, siempre debes deshacerte de la soldadura vieja al principio.
Queda por soldar dos cables. ¿Quién está familiarizado con la soldadura? Haga frente en 5 segundos. Quien, como yo, por segunda vez en mi vida, normalmente tomó un soldador, tomará un poco más de tiempo, pero aún así, es muy simple, todos pueden hacer esto.
Durante la soldadura, uso un fundente que, ciertamente, facilita el trabajo a veces y la calidad de la soldadura con él es mucho más fácil de garantizar. Personalmente, por consejo mío, nuevamente, DI HALT "y en su blog ya logré enamorarme del LTI-120. Lo tengo en un frasco tan de moda de inmediato con un cepillo.

Aprietamos cuatro tornillos.

Eso es todo, la alteración del servo ha terminado. Una vez que haya vuelto a fijar el servo de forma más cómoda y firme en la empuñadura, puede comenzar a probar.

Esta vez no seré sofisticado con el controlador, simplemente aplicaré voltaje de la fuente de alimentación a 5V a los cables verde y rojo. Atención, el video muestra un sonido bastante fuerte del funcionamiento de la unidad.

Como ves, ahora nada impide que nuestro servo gire sin parar. El sonido que emite el disco no es realmente silencioso, pero en principio es tolerable. Eso es probablemente todo por hoy.