Comandos en LibreServo (primera parte)

He dedicado mucho tiempo a la parte de comandos en LibreServo y creo que es una de las partes más importantes del proyecto, es cómo se presenta LibreServo ante el usuario. Ofrece una flexibilidad y posibilidades que yo nunca he visto en ningún fabricante.

La documentación de los comandos la dividiré en dos artículos, este artículo está más centrado en la descripción de los comandos y la segunda parte está centrada en ejemplos y explicación de ejecución en LibreServo.


[...]

Últimos pasos para primera versión oficial


Música con LibreServo

Aunque tenía muchas partes del código ya hechas, la verdad es que juntar todo el código y realizar todas las funciones y extructura interna sin bloqueos ha sido una tarea mucho más laboriosa de lo esperado. Además, he realizado decenas de funciones de cara al usuario y la primera versión del Software de LibreServo es mucho más completa de lo que en un principio había previsto.

Actualizado software de LibreServo (versión v0.1)

Tras varios meses de trabajo, por fin LibreServo ha alcanzado la versión 0.1 en el software. ¿Qué quiere decir esto? Quiere decir que LibreServo sigue estando en versión Beta, pero ya tiene suficiente madurez para presentarse en sociedad. Esta será sólo la primera de varias entradas que iré subiendo estos días.

He actualizado el Github de LibreServo con los ficheros más recientes e intentaré mantenerlo actualizado.

En próximos días subiré la documentación de los comandos de LibreServo, pero por si alguien quiere leer el código en sí, he realizado dos pequeños diagramas para ayudar a entender el funcionamiento de LibreServo.

Curvas de movimiento

Gráfica curva de movimiento Curva en S Gráfica de curva en S. Posición, aceleración y velocidad

Un servomotor es un motor que mantiene una posición dada, ¿pero cómo llega a dicha posición?

Un servomotor normal, sólo recibe la posición final por PWM y siempre va lo más rápido que puede a dicho punto. En cambio, un servomotor inteligente generalmente recibe un comando que le indica la posición final y en cuánto tiempo tiene que alcanzar dicha posición, es en ese momento cuando el servomotor inteligente empieza a calcular la ruta hasta la posición final. Existen varias formas de trazar la ruta, eso son las curvas de movimiento.

LibreServo en Hackaday

LibreServo v2 y Hackaday

Poco más que decir, era algo que realmente quería hacer desde hace años, pero si no tengo tiempo para el proyecto en sí y la web, menos aún para tener el proyecto también en otra web.

El proyecto está avanzando últimamente bastante bien y creo que ya es hora de hacerlo más conocido en la comunidad. Aunque esté en hackaday, será en LibreServo donde estará todo la información más actualizada y en mayor detalle.

LibreServo se expande a Hackaday

LibreServo v2. Nuevas esperanzas

LibreServo v2 Soldando la primera LibreServo v2

Esta pequeña entrada es para anunciar que la nueva LibreServo ha llegado, he podido soldarla sin problema alguno y ¡está funcionando al completo! 🥳

Tras las pruebas que hice con las placas de test v1 y v2 se realizaron muchísimos cambios en el diseño de LibreServo. Debido a tantos cambios, LibreServo pasa a ser ya versión 2.

Tenemos un ganador. Resultados de las pruebas en PCB test 2


LibreServo enviando datos por RS485 a Arduino

Tras varias pruebas y análisis, el hardware de LibreServo ya está finalmente elegido y funcionando, ¡incluso el puente en H que me daba muchos problemas! En general todas las partes de LibreServo se quedan como estaban, porque ya funcionaban correctamente, salvo lo comentado en este artículo.

Nueva PCB Test v2 para LibreServo


Hola Mundo en PCB test v2 de LibreServo

Hace un mes analizaba los resultados y conclusiones obtenidos con la placa de test v1 de LibreServo e intentando no perder el impulso en este mes he diseñado, he mandado a fabricar y ¡ya he montado la placa de test v2 de LibreServo! 🥳

Es la primera PCB que diseño de 4 capas para LibreServo y espero que eso mitigue ciertos problemas con el puente en H que creo que vienen, en parte, por el ruido electrónico. Por lo demás, es una PCB en la que ya están los componentes finales, es más cercana al diseño final y en la que me he obligado a poner los componentes lo más cerca posible entre sí para ver el límite real entre lo que se diseña y lo que luego se puede soldar fácilmente sin complicar en exceso las cosas, el papel lo aguanta todo pero luego hay que llevarlo a la realidad.

Resultados y conclusiones de las pruebas

RS-485 9 Mbps Hola Mundo
RS485 Hola mundo a 9 Mbps

Tras analizar todas las partes de LibreServo, he decidido realizar de nuevo varios cambios de diseño. Estoy contento con los resultados obtenidos con la placa de test ya que sin ella hubiera sido imposible analizar todos los componentes por separado y detectar todos los errores y fallos que he encontrado, es algo que tendría que haber hecho desde un primer momento y que me hubiera ahorrado muchísimo tiempo. Los temas a tratar son:

  • Sensor de Corriente
  • Protección ante cambio de polaridad de alimentación
  • Nueva alimentación, mpm3610
  • Sensor de temperatura NTC
  • Nuevo led RGB más compacto
  • Comunicación serie RS-232 vs RS-485
  • Nuevo sensor magnético AEAT-8800
  • Puente en H
  • Próxima PCB (4 capas)

Análisis alimentación (MPM3610 + Ferrita + AP2112)

Circuito MPM3610 y AP2112 con Ferrita Circuito MPM3610 y AP2112

Una de las partes que más he cambiado y pensado en las versiones de LibreServo es la alimentación. En versiones anteriores fue un regulador lineal que reduje de tamaño, pero la verdad es que no estaba para nada agusto ya que si LibreServo era alimentado con tan sólo 12V, el regulador lineal debería de disipara hasta 1,74 Watios y en 16v 2,54 Watios... algo que era realmente irreal que pudiera hacerlo.

Hace unos meses descubrí el MPM3610, y esto hizo que por fin pudiera diseñar la alimentación como quería. Este diminuto componente es un más que potente step-down de 1,2A que admite hasta 21V de entrada y que ¡además tiene la bobina y el diodo incorporado! Es esto último lo que lo hace perfecto para mi diseño, por el reducido espacio utilizado, siendo el único step-down que se fabrica que tenga integrado bobina y diodo en el mismo encapsulado. La diferencia entre usar un step-down y un regulador linel es que un regulador lineal de 3,3V a 12V da una eficiencia de un 35%, mientras que el step-down del 80% o superior, el resto se disipa en calor, con lo que uno es mucho más propenso a sobrecalentarse que el otro. Lo malo de usar un step-down es que son bastante ruidosos y su salida no es tan limpia como la de un regulador lineal.

Suscripción

Recibe un email por cada nuevo artículo.

Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.

1 + 0 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.