Servos Arduino SG90, MG995, MG996: diagrama de conexión y control. Servos Arduino SG90, MG995, MG996: diagrama de conexión y control Esquema y tipos de servos

Para desmontar nuestro servoaccionamiento necesitamos un destornillador. Porque Estoy desmontando un servoaccionamiento muy pequeño, por lo que necesito el destornillador correspondiente. Personalmente, uso destornilladores de algún juego chino barato. Lo compré en un quiosco en el pasaje subterráneo por unos 5 dólares, así que no es muy caro.

Para abrir el servodrive sólo es necesario desatornillar cuatro tornillos. Están ubicados en la cubierta inferior. Destornillar:

Quitando la tapa se puede examinar la unidad de control. No entraré en detalles, lo eliminaré de aquí de todos modos. También puedes ver el motor al que conducen dos cables.

También hay una tapa en la parte superior, después de quitarla se pueden ver los engranajes de la caja de cambios. Vale la pena señalar que dos de ellos están conectados al 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; simplemente lo usaremos como 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 carcasa empujándolo con cuidado desde la parte inferior del servo con un destornillador.

Ahora, de hecho, ha llegado el momento de no retorno. Por supuesto, siempre será posible volver a soldar todo, pero esto es más difícil. Entonces, el potenciómetro muerde.

Luego, usando el mismo método, separamos el tablero de control con los cables de alimentación y señal.


Luego arrancamos los cables del motor. Tenga cuidado aquí y no muerda los contactos del motor; si no está seguro, es mejor dejar el cable con reserva. Luego se puede desoldar. Muerdo el cable hasta el contacto.

Hagamos un inventario.

Todo parece estar en su lugar. Ahora tomemos nuestro potenciómetro.

El hecho es que ahora también gira solo en un cierto ángulo. Y como es el eje y en él se fija el engranaje más grande, sobre el que posteriormente fijaremos la rueda, debemos asegurarnos de que gire constantemente. Sacamos dos placas metálicas que lo impiden. Obtenemos:

Espero que la foto muestre lo que hice. Lo arranqué con unos alicates pequeños, ya que no tenía nada más adecuado a mano.
Ahora necesitas cortar el limitador del propio engranaje. Parece una protuberancia en la parte inferior del engranaje. Es fácil de encontrar, se ve así.

Lo cortamos.

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

A continuación, una marcha a la vez, empezando por la más pequeña. Tenga cuidado al insertar la última marcha: está especialmente unida al eje del potenciómetro anterior, ya que la punta del eje tiene forma de letra. D. Este saliente debe encajar en el hueco del engranaje. Resulta algo similar a la siguiente imagen.

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

Bueno, no queda mucho. Cogemos el cable con el conector que previamente arrancamos del tablero y separamos el cableado en él. No conviene separarlos a gran distancia, de hecho, un centímetro es suficiente.

Limpiamos dos de ellos (básicamente cualquiera, pero yo 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 nos moleste.

Pasemos a lo caliente. Es hora de calentar el soldador. Mientras el soldador se calentaba, hice que el servoaccionamiento en la empuñadura fuera más cómodo.

Lo primero que debemos hacer es eliminar los restos de soldadura antigua que quedan en los contactos del motor. Hago esto usando una bomba desoldadora, después de precalentar el contacto con un soldador hasta tal punto que la soldadura se derrita. Lo principal aquí es no exagerar: la cubierta trasera del motor sigue siendo de plástico y no le gusta calentarse durante mucho tiempo. El proceso se parece a esto:

Entiendo que puede que no se note mucho lo que hice, pero prácticamente no quedaba soldadura en los contactos, que es lo que quería.

Hay artículos maravillosos sobre soldadura en DI HALT. En general, me parece un genio. Enlace a su blog, en realidad hay muchas cosas además de soldadura, solo haga una búsqueda.
En resumen, para hacer una buena soldadura, primero siempre debes deshacerte de la soldadura vieja.
Quedan dos cables por soldar. Cualquiera que esté familiarizado con la soldadura puede hacerlo en 5 segundos. Para alguien como yo, que normalmente utiliza un soldador por segunda vez en su vida, le llevará un poco más de tiempo, pero aun así es muy sencillo, cualquiera puede hacerlo.
Cuando sueldo, utilizo fundente, lo que, sin duda, facilita mucho el trabajo y es mucho más fácil garantizar la calidad de la soldadura. Personalmente, siguiendo el consejo, nuevamente, de DI HALT, ya me enamoré del LTI-120 en su blog, lo tengo en un frasco tan de moda con un cepillo.

Apriete los cuatro tornillos.

Eso es todo, se acabó la modificación del servo. Una vez que haya vuelto a colocar el servoaccionamiento de manera más cómoda y firme en la empuñadura, puede comenzar a probar.

Esta vez no me complicaré con el controlador, simplemente aplicaré un voltaje de 5 V desde la fuente de alimentación a los cables verde y rojo. Atención, en el vídeo se escucha un sonido bastante fuerte del disco.

Como podéis ver, ahora nada impide que nuestro servo gire sin parar. En realidad, el sonido que produce el accionamiento no es silencioso, pero en principio es tolerable. Probablemente eso sea todo por hoy.

Este artículo analiza los servos: su diseño, propósito, consejos para conectarlos y controlarlos, tipos de servos y su comparación. Sigamos adelante y comencemos con lo que es un servo.

Concepto de servo

Por servoaccionamiento, la mayoría de las veces se entiende 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 completamente completa.

Para ser más precisos, un servoaccionamiento es un accionamiento controlado mediante retroalimentación negativa, lo que permite un control preciso de los parámetros de movimiento. Un servoaccionamiento es cualquier tipo de accionamiento mecánico que contiene un sensor (posición, velocidad, fuerza, etc.) y una unidad de control del accionamiento que mantiene automáticamente los parámetros necesarios en el sensor y el dispositivo de acuerdo con un valor externo determinado.

En otras palabras:

    El servodrive recibe como entrada el valor del parámetro de control. 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: por ejemplo, girar, acelerar o desacelerar para que el valor del sensor interno se acerque lo más posible al valor del parámetro de control externo.

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 típico de hobby.

¿Cómo se diseñan los servos?

Dispositivo de servoaccionamiento

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, la velocidad de rotación del motor suele ser demasiado alta para un uso práctico. Se utiliza para reducir la velocidad. caja de cambios: 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 queramos controlar. Sin embargo, para que la posición sea controlada por el dispositivo, es necesario sensor de retroalimentación - codificador, que convertirá el ángulo de rotación nuevamente en una señal eléctrica. Para ello se suele utilizar un potenciómetro. Cuando gira el control deslizante del potenciómetro, su resistencia cambia, proporcional al ángulo de rotación. Por tanto, se puede utilizar para determinar la posición actual del mecanismo.

Además del motor eléctrico, caja de cambios y potenciómetro, el servodrive cuenta con componentes electrónicos que se encargan de recibir un parámetro externo, leer los valores del potenciómetro, compararlos y encender/apagar el motor. Ella es responsable de mantener los comentarios negativos.

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 un servo externamente.

Control de servoaccionamiento. Interfaz de señal de control

Para indicar la posición deseada al servomotor, se debe enviar una señal de control a través del cable previsto para tal fin. La señal de control son 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 impulsos presente en él produce su propio impulso, cuya duración se determina mediante un potenciómetro. La otra parte del circuito compara la duración de dos pulsos. Si la duración es diferente, el motor eléctrico se enciende. El sentido de rotación está determinado por cuál de los impulsos es más corto. Si las longitudes de los impulsos son iguales, el motor eléctrico se detiene.

La mayoría de las veces, los servidores aficionados producen pulsos 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 longitud 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 para la duración del pulso. En la biblioteca Servo para Arduino, las siguientes longitudes de pulso están configuradas de forma predeterminada: 544 μs para 0° y 2400 μs para 180°.

Tenga en cuenta que es posible que su dispositivo específico no tenga la configuración predeterminada de fábrica. Algunos servos utilizan un ancho de pulso de 760 µs. La posición media corresponde a 760 μs, de forma similar a como en los servos convencionales la posición media corresponde a 1520 μs.

También vale la pena señalar que estas son longitudes generalmente aceptadas. Incluso dentro del mismo modelo de servo, pueden existir tolerancias de fabricación que hagan que el rango operativo de longitudes de pulso varíe ligeramente. Para un funcionamiento preciso, cada servo específico debe calibrarse: mediante experimentación, es necesario seleccionar el rango correcto específico para él.

Otra cosa a la que vale la pena prestar atención es la confusión terminológica. A menudo, el método para controlar los servos se denomina PWM/PWM (modulación de ancho de pulso) o PPM (modulación de posición de pulso). Esto no es cierto 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 duración de los pulsos es extremadamente importante y la frecuencia de su aparición no es tan importante. 50 Hz es normal, pero el servo funcionará correctamente tanto a 40 como a 60 Hz. Lo único que debes tener en cuenta es que si se reduce mucho la frecuencia, puede funcionar a tirones y con potencia reducida, y si se aumenta mucho la frecuencia (por ejemplo, 100 Hz), puede sobrecalentarse y fallar.

Características del servoaccionamiento

Ahora averigüemos qué tipos de servos existen y qué características tienen.

Velocidad de torsión y giro

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

El momento de fuerza, o par, es una cantidad física vectorial igual al producto del radio vector dibujado desde el eje de rotación hasta el punto de aplicación de la fuerza y ​​el vector de esta fuerza. Caracteriza la acción rotacional de una fuerza sobre un cuerpo sólido.

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

La velocidad del servo se mide por la cantidad de tiempo que le toma al brazo del servo 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 sucede que cuando se describen servos, esta unidad se usa con mayor frecuencia.

Vale la pena señalar que a veces existe un equilibrio entre estas dos características, ya que si queremos un servo confiable y resistente, debemos estar preparados para que esta poderosa unidad gire lentamente. Y si queremos un accionamiento muy rápido, será relativamente fácil desalojarlo de su posición de equilibrio. Cuando se utiliza el mismo motor, el equilibrio está determinado por la configuración de los engranajes en la caja de cambios.

Por supuesto, siempre podemos coger una unidad que consuma más energía, lo principal es 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ño

    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 dichos servos es muy pequeño.

Interfaz interna

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

Externamente, no se diferencian: los motores eléctricos, las cajas de cambios y los potenciómetros son iguales, solo se diferencian en la electrónica de control interno. En lugar de un servomicrocircuito analógico especial, la contraparte digital tiene un microprocesador en la placa que recibe pulsos, los analiza y controla el motor. Así, en el diseño físico, la única diferencia está en el método de procesar los impulsos y controlar el motor.

Ambos tipos de servoaccionamiento aceptan los mismos impulsos de control. Luego, el servo analógico decide si cambiar la posición y envía una señal al motor si es necesario. Esto suele ocurrir con una frecuencia de 50 Hz. Por tanto, obtenemos 20 ms, el tiempo mínimo de reacción. En este momento, cualquier influencia externa puede cambiar la posición del servoaccionamiento. Pero este no es el único problema. En reposo, no se aplica voltaje al motor eléctrico; en caso de una ligera desviación del equilibrio, se envía una señal corta 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 servoaccionamiento no podrá hacer girar rápidamente el motor ni desarrollar un par elevado. Las “zonas muertas” se forman en el tiempo y la distancia.

Estos problemas pueden solucionarse aumentando la frecuencia de recepción, el procesamiento de señales y el control del motor eléctrico. Los servos digitales utilizan un procesador especial que recibe pulsos de control, los procesa y envía señales al motor con una frecuencia de 200 Hz o más. Resulta que el servoaccionamiento digital es capaz de reaccionar más rápido a las influencias externas, desarrollar rápidamente la velocidad y el par requeridos, lo que significa que es mejor mantener una posición determinada, lo cual es bueno. Por supuesto, también consume más electricidad. Además, los servos digitales son más difíciles de fabricar y, por tanto, cuestan mucho más. 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 están hechos de diferentes materiales: plástico, carbono, metal. Todos ellos son muy utilizados, la elección depende de la aplicación concreta y de las características que se requieran en la instalación.

Los engranajes de plástico, generalmente de nailon, son muy ligeros, no están sujetos a desgaste y son más comunes en los servos. No soportan cargas pesadas, pero si se espera que las cargas sean ligeras, 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 metálicos son los más pesados, pero pueden soportar cargas máximas. Se desgastan bastante rápido, por lo que hay que cambiar de marcha casi todas las estaciones. Los engranajes de titanio son los favoritos entre los engranajes metálicos, tanto por sus características técnicas como por su precio. Desafortunadamente, te costarán bastante.

Motores con y sin escobillas

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

Un motor central convencional (derecha) tiene un rotor de hierro denso con un alambre enrollado e imanes alrededor. El rotor tiene múltiples secciones, por lo que cuando el motor gira, el rotor hace que el motor vibre ligeramente a medida que las secciones pasan por los imanes, lo que da como resultado un servo que vibra y es menos preciso que un servo con motor sin núcleo. El motor de rotor hueco (izquierda) tiene un único núcleo magnético con un cilindro o forma de campana enrollado alrededor del imán. El diseño sin núcleo es más liviano y no tiene secciones, lo que resulta en 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 en comparación con los estándar.

Los servoaccionamientos con motores sin escobillas han aparecido hace relativamente poco tiempo. Las ventajas son las mismas que las de otros motores sin escobillas: no hay escobillas, lo que significa 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 a los motores con escobillas. Los servos con motor sin escobillas son los 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 a Arduino. Para hacer esto, de ellos sale un bucle de tres cables:

    rojo - nutrición; 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 Arduino.

Para conectarse a Arduino, será conveniente utilizar una placa expansora de puertos como Troyka Shield. Aunque con unos cuantos cables adicionales puedes 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 una biblioteca Servo estándar para simplificarla.

Restricciones de la dieta

Un servoaccionamiento típico para aficionados consume más de 100 mA durante su funcionamiento. Al mismo tiempo, Arduino es capaz de entregar hasta 500 mA. Por lo tanto, si necesita utilizar un servoaccionamiento potente en un proyecto, tiene sentido pensar en separarlo en un circuito con potencia adicional.

Veamos el ejemplo de conexión de un servoaccionamiento de 12 V:

Limitación del número de servos conectados.

En la mayoría de las placas Arduino, la biblioteca Servo admite el control de un máximo de 12 servos; en Arduino Mega, este número aumenta a 48. Sin embargo, existe un pequeño efecto secundario al usar esta biblioteca: si no estás trabajando con un Arduino Mega , entonces resulta imposible utilizar la función analogWrite() en 9 y 10 pines independientemente de si los servos están conectados a estos pines o no. En Arduino Mega podemos conectar hasta 12 servos sin interrumpir la funcionalidad PWM/PWM, si usamos más servos no podremos usar analogWrite() en los pines 11 y 12.

Funcionalidad de servobiblioteca

La biblioteca Servo permite el control por 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 opciones de sintaxis 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 servoaccionamiento, min y max son las longitudes de pulso en microsegundos, 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() - ordena 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.

    writeMicrosegundos() - da un comando para enviar un pulso de cierta longitud al servodrive; es un análogo de bajo nivel del comando anterior. La sintaxis es: servo.writeMicrosegundos(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(), que devuelve un valor entero entre 0 y 180.

    adjunto(): comprueba si una variable se ha adjuntado a un pin específico. La sintaxis es la siguiente: servo.attached() , devolviendo verdadero lógico si la variable estaba adjunta a cualquier pin, falso en caso contrario.

    detach(): realiza la acción opuesta a adjuntar(), es decir, separa la variable del pin al que fue asignada. La sintaxis es: servo.detach().

Todos los métodos de la biblioteca Servo2 son iguales a los métodos Servo.

Ejemplo de 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 y otros son más precisos. Y antes de comprar un servo, conviene tener en cuenta que puede que no tenga las mejores características, siempre y cuando sea adecuado para tu proyecto. ¡Buena suerte en tus esfuerzos!

Los robots más simples son los de 2 o 4 ruedas. Un robot de este tipo podría basarse en el chasis de un coche radiocontrolado, pero puede que no todo el mundo lo tenga a mano o que sea una pena desperdiciarlo. También puedes hacer el chasis tú mismo, pero colocar las ruedas directamente sobre el motor no es una muy buena solución; el motor necesita reducir la velocidad, lo que requiere una caja de cambios. Obtener un chasis o una caja de cambios listos para usar, o un motor con 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 caja de cambios.

Las ruedas se pueden pegar directamente al balancín de dicho motor y el cuerpo del servo es conveniente para montar.

¡ATENCIÓN! El diseño de otros servos puede diferir y, por tanto, este manual es sólo parcial.

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

Primero, vamos a desarmarlo.

Primero, eliminamos los componentes electrónicos innecesarios, mordimos al conductor y controlamos el motor directamente. A continuación procedemos a modificar la mecánica, retiramos la primera marcha con el eje externo y retiramos del mismo el tope de carrera.

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

Volvemos a montar toda la mecánica y comprobamos que todo funciona bien.

El siguiente paso es soldar el cable al motor.

Montamos el servo anterior en un motor nuevo con caja de cambios.

Todo está listo, si no has cometido ningún error, puedes disfrutar de tu trabajo.

Los servos suelen tener un ángulo de rotación limitado de 180 grados. En este caso, consideraremos un servo “modificado” con un ángulo de rotación del eje ilimitado.


Características de rendimiento de la página del vendedor.

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

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

Conjunto de entrega estándar

4 mecedoras de diferentes formas.
4 casquillos, 4 amortiguadores de goma y 4 tornillos para fijar el servo
y otro pequeño tornillo para fijar el balancín al eje se escapó de la foto :)

La apariencia inspira confianza, el tacto también está bien, las pequeñas jambas de fundición están solo en el área de las orejas de montaje, la pegatina está aplicada ligeramente torcida (¡una tautología, sí!). El cable es suave, el conector encaja bien en los pines.

Bueno, ahora la autopsia:

Quién no sabía cómo funciona: en el caso hay un motor, un tablero de control y una resistencia variable, en función de cuya posición el servo determina el ángulo del eje.
La caja de cambios de este servo es de plástico, su vida útil es menor que la de una de metal y no le gustan las cargas pesadas. El casquillo del eje central es de cobre o algún tipo de aleación. Hay un rodamiento en el eje de salida. Se pueden agregar lubricantes

parte electrica

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

Y ahora atención, un “truco de vida”, cómo convertir un servo normal en un servo de rotación constante

En el original, la variable con su eje está pegada al eje de salida desde el interior del servo; en la versión modificada, el eje fue arrancado/roto a mordiscos, aparentemente en la etapa de montaje, la resistencia está colocada en la posición central para que el eje no gira en reposo. Si vas más allá, puedes tirarlo por completo y reemplazarlo con 2 resistencias constantes idénticas, es conveniente poner algo SMD en el tablero de control.

Total:
serva como serva, no espacio, pero tampoco bienes de consumo,
Se puede encontrar más barato y con caja de cambios de metal.

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

Las opciones de control más comunes:
1) conecte la alimentación por un lado, por el otro la salida a 3 “consumidores” (servidores, motores, etc.) de potencia y señal PPM, puede usar el mango para ajustar la velocidad y dirección de rotación del servo
2) El equipo RC en las salidas del receptor tiene la misma señal de ppm.
3) dirigir con un arduino

Video

PP
Como consecuencia 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, toma en cuenta este punto si vas a comprarlo.

Estoy pensando en comprar +17 Agregar a los favoritos Me gustó la reseña +31 +56

En este artículo hablaremos de 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 del sensor con algún movimiento preciso, por ejemplo, abrir una puerta o girar los sensores en la dirección deseada. El artículo analiza cuestiones de control de servos, posibles esquemas para conectar servos a 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 ángulo específico o mantener una rotación continua en un período preciso.

El circuito operativo del servodrive se basa en el uso de retroalimentación (un circuito cerrado en el que las señales de entrada y salida no coinciden). El servoaccionamiento puede ser cualquier tipo de accionamiento mecánico, que incluye un sensor y una unidad de control que mantiene automáticamente todos los parámetros establecidos en el sensor. El servoaccionamiento consta de un motor, un sensor de posición y un sistema de control. La tarea principal de estos 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 proyectos de robótica Arduino, el servo se utiliza a menudo para acciones mecánicas simples:

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

Por supuesto, el ámbito de aplicación de los servos en proyectos reales es mucho más amplio, pero los ejemplos dados son los esquemas más populares.

Esquema y tipos de servos.

El principio de funcionamiento de un servoaccionamiento se basa en la retroalimentación de una o más señales del sistema. El indicador de salida se envía 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 opción de implementación más simple es una resistencia variable, que está controlada por el eje: cuando los parámetros de la resistencia cambian, los parámetros de la corriente que suministra el motor cambian.

En los servos reales, el mecanismo de control es mucho más complejo y utiliza chips controladores integrados. Dependiendo del tipo de mecanismo de retroalimentación utilizado, existen cosa análoga Y digital servos. Los primeros usan algo similar a un potenciómetro, los segundos usan controladores.

Todo el circuito de servocontrol está ubicado dentro de la carcasa, las señales de control y la alimentación se suministran, por regla general, a través de tres cables: tierra, tensión de alimentación y señal de control.

Servo de rotación continua 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 la rotación servolimitada radica en los elementos mecánicos del diseño que pueden bloquear el movimiento del eje fuera de los ángulos especificados por los parámetros. Al alcanzar un ángulo de 180, el eje actuará sobre el limitador y dará la orden de apagar el motor. Los servomotores de rotación continua no tienen tales limitadores.

Materiales de servoengranajes

Para la mayoría de los servos, el enlace de conexión 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 asequibles: engranajes de metal o plástico. En modelos más caros se pueden encontrar elementos fabricados en fibra de carbono e incluso titanio.


Las opciones de plástico son naturalmente más baratas, más fáciles de fabricar y, a menudo, se utilizan en servos económicos. Para proyectos educativos donde el servo hace algunos movimientos, esto no es gran cosa. Pero en proyectos serios, el uso de plástico es imposible debido al rápido desgaste de dichos engranajes bajo carga.

Los engranajes metálicos son más fiables, pero esto, por supuesto, afecta tanto al precio como al peso del modelo. Los fabricantes económicos pueden fabricar algunas piezas de plástico y otras de metal, algo que también hay que tener en cuenta. Y, por supuesto, en los modelos más baratos, incluso la presencia de un engranaje metálico no es garantía de calidad.

Los engranajes de titanio o carbono son la opción más preferible si no estás limitado por el presupuesto. Ligeros y fiables, estos servos se utilizan ampliamente para crear modelos de automóviles, drones y aviones.

Ventajas de los servomotores.

El uso generalizado de servoaccionamientos se debe a que tienen un funcionamiento estable, alta resistencia a las interferencias, tamaño pequeño y una amplia gama de control de velocidad. Las características importantes de los servos son la capacidad de aumentar la potencia y proporcionar retroalimentación de información. Y de ello se deduce que en la dirección de avance 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 un servo y un 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 unidos 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: codificadores. El servoaccionamiento ya contiene todo lo necesario para obtener información sobre los parámetros de rotación actuales y puede apagarse de forma independiente 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 bajo cargas variables. Además, los servomotores tienen mayor potencia. Los motores paso a paso no tienen retroalimentación, por lo que se puede observar el efecto de pérdida de pasos; en los servomotores, se excluye la pérdida de pasos; todas las violaciones se registrarán y corregirán. Con todas estas ventajas obvias, los servomotores son dispositivos más caros que los motores paso a paso, tienen un sistema de conexión y control más complejo y requieren un mantenimiento más calificado. Es importante tener en cuenta que los motores paso a paso y los servos no son competidores directos: cada uno de estos dispositivos tiene su propia área de aplicación específica.

Dónde comprar servos populares SG90, MG995, MG996

La opción de servo más asequible SG90 1,6 KG Servodrives SG90 y MG90S para Arduino a un precio inferior a 70 rublos
Otra opción para el servo SG90 Pro 9g de un proveedor confiable en Ali Servo SG90 del proveedor confiable RobotDyn
probador de servos Varias opciones para servoprobadores.
Servoaccionamiento protegido con un par de 15 kg Servo JX DC5821LV 21KG totalmente impermeable Core mental gear 1/8 1/10 RC coche Scaler Buggy Crawler TRAXXAS RC4WD TRX-4 SCX10 D90
Servo MG996R MG996 Servo Engranaje metálico para Futaba JR Servo 13KG 15KG Servos digitales MG995 MG996 MG996R Servo engranaje de metal

El factor decisivo en el control de los servoaccionamientos es la señal de control, que consta de impulsos de frecuencia constante y anchura variable. La longitud del pulso es uno de los parámetros más importantes que determina la posición del servo. Esta longitud se puede configurar en el programa manualmente usando el método de selección de esquinas o usando comandos de 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. Cuando las longitudes de los pulsos son iguales, el motor se detiene.

La frecuencia estándar a la que se dan 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 servoaccionamiento: cuando la duración aumenta, la rotación es en el sentido de las agujas del reloj y cuando disminuye, 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 utilizada de amperka.ru)

Es importante tener en cuenta que en un dispositivo específico la configuración puede diferir ligeramente de los valores generalmente aceptados. Para algunos dispositivos, la posición y el ancho promedio del pulso pueden ser 760 µs. Todos los valores aceptados también pueden variar ligeramente debido a errores que puedan ocurrir durante la producción del dispositivo.

El método de control del variador 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 garantizará un funcionamiento correcto tanto a 40 Hz como a 60 Hz; sólo contribuirá una fuerte disminución o aumento de la frecuencia. Si hay una caída brusca, el servoaccionamiento comenzará a funcionar entrecortadamente; si la frecuencia aumenta por encima de 100 Hz, el dispositivo puede sobrecalentarse. Por tanto, es más correcto llamarlo PDM.

Según la interfaz interna, se pueden distinguir los servos analógicos y digitales. No hay diferencias externas: todas las diferencias se encuentran únicamente en la electrónica interna. El servoaccionamiento analógico contiene un chip especial en su interior, mientras que el servoaccionamiento digital contiene un microprocesador que recibe y analiza pulsos.

Al recibir una señal, el servo analógico decide si cambia o no la posición y, si es necesario, suministra una señal con una frecuencia de 50 Hz al motor. Durante el tiempo de reacción (20 ms), pueden ocurrir influencias externas que cambien la posición del servodrive y el dispositivo no tendrá tiempo de reaccionar. Un servoaccionamiento digital utiliza un procesador que suministra y procesa señales a una frecuencia más alta, desde 200 Hz, por lo que puede responder más rápido a las influencias externas y desarrollar rápidamente la velocidad y el par deseados. Por lo tanto, el servo digital podrá mantener mejor la posición establecida. Al mismo tiempo, los servoaccionamientos digitales requieren más electricidad para funcionar, lo que aumenta su coste. La complejidad de su producción también influye en gran medida en el precio. El alto coste es el único inconveniente de los servos digitales; técnicamente son mucho mejores que los dispositivos analógicos.

Conexión de un servomotor a Arduino

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

No se recomienda conectar servos potentes directamente a la placa, porque... Crean una corriente para el circuito de alimentación de Arduino que no es compatible con la vida; tendrás suerte si la protección funciona. Muy a menudo, los síntomas de sobrecarga y suministro inadecuado de energía al servo son "sacudidas" del servo, un sonido desagradable y el reinicio de la placa. Para el suministro de energía, es mejor utilizar fuentes externas, asegúrese de combinar las masas de los dos circuitos.

Boceto para controlar un servo en 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 de servos integrada en el entorno de desarrollo Arduino. Consideraremos todos los matices de la programación y el trabajo con servos en un artículo aparte. Aquí damos un ejemplo simple del uso de Servo.

El algoritmo operativo es simple:

  • Primero conectamos Servo.h
  • Crear un objeto de la clase Servo.
  • En el bloque de setup indicamos 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 le suministramos 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 servoaccionamiento.

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

#incluir Servoservo; // Crea un objeto void setup() ( servo.attach(9); // Indica a un 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); // Gira el servo 90 grados retardo(1000); servo.write(1800); retardo(100); servo.write(90); retardo(1000); servo.write (0); retraso(1000); )

Boceto para dos servos.

Y en este ejemplo trabajamos con dos servos a la vez:

#incluir servoservo1; // Primer servoaccionamiento Servo servo2; // Segundo servo void setup() ( servo1.attach(9); // Indica al objeto de clase Servo que el servo está conectado al pin 9 servo2.attach(10); // Y este servo está conectado al pin 10) void loop() ( // Establece las posiciones servo1.write(0); servo2.write(180); delay(20); // Cambia las posiciones servo2.write(0); servo1.write(180); )

Servocontrol mediante 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 de mapa:

//Fragmento de un ejemplo estándar del 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); // Convierte el número en el rango de 0 a 1023 al nuevo rango, de 0 a 180. servo.write(val); delay(15); )

Características y conexión del SG-90

Si va a comprar el servoaccionamiento más barato y sencillo, la mejor opción será el SG 90. Este servo se utiliza con mayor frecuencia para controlar mecanismos pequeños y livianos con un ángulo de rotación de 0° a 180°.

Especificaciones SG90:

  • Velocidad de ejecución del comando 0,12 s/60 grados;
  • Potencia 4,8 V;
  • Temperaturas de funcionamiento de -30C a 60C;
  • Dimensiones 3,2 x 1,2 x 3 cm;
  • Peso 9 gramos.

Descripción SG90

Los colores de los cables son estándar. El servoaccionamiento es económico y no proporciona ajustes precisos para las posiciones inicial y final. Para evitar sobrecargas innecesarias y el característico crujido en las posiciones de 0 y 180 grados, es mejor configurar los puntos extremos en 10° y 170°. Al utilizar el dispositivo, es importante controlar la tensión de alimentación. Si este indicador se sobreestima mucho, los elementos mecánicos de los mecanismos de engranajes pueden resultar dañados.

Servoaccionamientos MG995 y MG996 tower pro

El servo MG995 es el segundo modelo de servo más popular que se conecta con mayor frecuencia a proyectos Arduino. Se trata de servomotores relativamente económicos con un rendimiento mucho mejor que el 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á alojado en una carcasa de plástico.

  • Peso 55 gramos;
  • Par de torsión 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 0 °C a -55 °C.

Descripción MG995

La conexión con Arduino también se realiza mediante tres cables. En principio, para proyectos de aficionados es posible conectar el MG995 directamente al Arduino, pero la corriente del motor siempre creará una carga peligrosa en las entradas de la placa, por lo que se recomienda alimentar el servo por separado, sin olvidar conectar la tierra. de ambos circuitos de potencia. Otra opción que hará la vida más fácil sería utilizar servocontroladores y escudos ya preparados, que analizaremos en un artículo aparte.

El MG996R es similar al MG995 en sus características, sólo que viene en una caja de metal.

Conversión de un servoaccionamiento en 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 en el potenciómetro. Si desconecta el eje y el potenciómetro, el servomotor tomará la posición de la corredera del potenciómetro como en el punto medio. Todas estas acciones darán lugar a que se eliminen los comentarios. Esto le permite controlar la velocidad y la dirección de rotación a través del 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 en un ángulo determinado y realizar un número de revoluciones estrictamente especificado.

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

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

#incluir Servo myservo; configuración vacía())( myservo.attach(9); myservo.write(90); ) bucle vacío())( )

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

Este método tiene varias desventajas: detener completamente la resistencia es inestable; con el más mínimo choque/calentamiento/enfriamiento, el punto cero ajustado puede perderse. Por lo tanto, es mejor utilizar el método de sustitución del potenciómetro por un recortador. Para hacer esto, retire el potenciómetro y reemplácelo con una resistencia recortadora con la misma resistencia. El punto cero debe ajustarse mediante un croquis de calibración.

Cualquier método para convertir un servo en un servo de rotación continua tiene sus inconvenientes. En primer lugar, es difícil ajustar el punto cero, cualquier movimiento puede alterarlo. 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 ampliar el rango mediante programación en Arduino.

Conclusión

Los servos juegan un papel muy importante en muchos proyectos Arduino, desde robótica hasta sistemas domésticos inteligentes. Todo lo relacionado con el movimiento tradicionalmente requiere conocimientos especiales y crear un impulso completo y que funcione correctamente no es una tarea fácil. Pero con la ayuda de servomotores, la tarea se puede simplificar en muchos casos, razón por la cual los servomotores se utilizan constantemente incluso en proyectos básicos.

En este artículo, intentamos cubrir varios aspectos del uso de servos en proyectos Arduino: desde la conexión hasta la escritura de bocetos. Al elegir el modelo de servo más simple (por ejemplo, sg 90), podrá 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.