Esquemas LibreServo v2.3. Versión candidata

LibreServo v2.3 PCB servo hack LibreServo v2.3 PCB

Hace escasos días presenté la versión 2.2 de LibreServo y anuncié que tenía un último cambio final... ésta vez la espera no se ha hecho esperar mucho y traigo la nueva versión de LibreServo, la versión 2.3.
Esta versión debería de ser ya la versión final de LibreServo en el apartado hardware.
El mayor cambio que ha tenido LibreServo en ésta última versión con respecto a la anterior es en el puente en H. Movimiento arriesgado viendo lo que me costó hacerlo funcionar pero que creo que va a ser una mejora notable y el componente que faltaba para hacer de LibreServo la opción definitiva.

Tracespace y LibreServo

LibreServo tracespace.io

Ahora los gerbers de LibreServo se van a ver mucho mejor. Desde hace un tiempo viendo usando la web tracespace para poder ver los gerbers de manera fácil y rápida antes de hacer ningún pedido.
Me ha gustado tanto la web que investigando descubrí que se pueden crear links estáticos a mis ficheros gerbers, así que dicho y hecho, he modificado los últimos artículos de esquemas de LibreServo y les he añadido un botón que enlaza directamente con tracespace y así podáis ver los esquemas con más detalle y de manera interactiva.

LibreServo v2.2. ¿Versión de pre-lanzamiento?

LibreServo v2.2 PCB servo hack LibreServo v2.2 PCB

Versión pre-final. Esta iba a ser la versión final, iba a ser, porque al final no lo va a ser.

  • Se ha cambiado el oscilador por uno más compacto
  • Se ha retocado un poco la posición de varios componentes
  • Se han generado planos de tierra en las capas externas
  • Se ha retocado la posición de la serigrafía con la idea de que las vías estarán cubiertas y se podrá serigrafiar encima
  • Se ha estrechado unas décimas de milímetro el PCB para que quede perfectamente ajustado a los servomotores
  • Se han unido las dos PCB mediate mouse bites

En general, son todo cambios pequeños, pero... justo antes de hacer el pedido volví a revisar todos y cada uno de los componentes, y hay uno que he decidido cambiar, uno que es muy importante y que está desde el principio de LibreServo. En el siguiente artículo desvelaré el cambio final 😉

¡Qué bien le sienta el oro a LibreServo!

LibreServo v2.1 Servo hack Nueva LibreServo v2.1

Hace unos pocos días me llegaron las placas de LibreServo que había ordenado a JLCPCB. Como os comenté en el artículo de cambios en LibreServo v2.1, la nueva versión de LibreServo sumaba dos capas extra para alcanzar las 6 capas y así tener la oferta de JLCPCB y tras recibirlas y verlas... sólo tengo palabras de absoluto asombro.

El resultado es magnífico, no sólo el acabado en dorado le sienta estupendo 😎, la propia serigrafía es muchísimo mejor que cuando pides placas de cuatro capas o menos y las vías rellenas de epoxy y tapadas en cobre dan un resultado extraordinario, no sólo a nivel eléctrico/rutado y para soldar es una mejora enorme, sino que también permite serigrafiar encima de vías sin problema alguno, lo cual en LibreServo con la filosofía que tiene de señalar todos los componentes para facilitar luego a la hora de soldar, viene genial.

Esquemas LibreServo v2.1

PCB LibreServo v2.1 PCB de LibreServo v2.1

Estos esquemas no van a durar mucho porque ya se han realizado nuevos cambios y se van a enviar a fabricar en los próximos días si todo va bien. El pedido de la siguiente versión coincidirá que son las vacaciones chinas, pero espero no tener ningún tipo de problema salvo algún pequeño retraso ya anunciado por el fabricante JLCPCB.

En esta versión LibreServo, la PCB principal, pasa de 4 a 6 capas debido a que JLCPCB, como comentamos en el artículo de cambios en LibreServo v2.1, ha realizado una oferta muy agresiva en la que sale más barato fabricar una PCB de 6 capas en vez de 4, teniendo en cuenta que en 6 capas te regalan el acabado ENIG (en oro) y las vías te las rellenan y tapan, ósea, un acabado totalmente profesional, es una auténtica locura de oferta.

A pesar de todo ello, por supuesto LibreServo mantendrá total compatibilidad con 4 capas y tan sólo a la hora de generar los gerbers se quitan las capas centrales y asunto arreglado.

Cambios en LibreServo v2.1

En el artículo anterior de cómo ajustar un PID, se puede apreciar cómo LibreServo está ya funcionando completamente. Todos los datos recogidos que se ven en las gráficas son datos devueltos por LibreServo y los movimientos del vídeo son también movimientos reales de LibreServo. Con esto quiero decir que LibreServo ya está muy cerca de una versión final y madura del proyecto, al menos en la parte hardware, ya que en la parte software siempre se pueden añadir funciones y mejorar las ya presentes.

Con todo lo anterior dicho, he realizado una nueva versión del hardware mejorando las pequeñas cosas que he ido viendo en estos último meses. Aunque a primera vista no se note, se han realizado cambios y retoques por toda la placa.


[...]

Cómo ajustar correctamente un PID

En Internet hay cientos de guías de cómo ajustar un PID y todos se pueden resumir en los siguientes sencillos pasos:

  • Poner a cero KD y KI e incrementar KP hasta que el sistema corrija el error y empiece a oscilar. Ese sería el máximo de KP
  • Incrementar KD hasta que la oscilación de KP se detenga
  • Incrementar KI levemente para que el sistema corrija totalmente el error

Parecen tres pasos sencillos y rápidos, pero la realidad es que al final se convierte en una suerte de intentar adivinar las constantes y tras cientos de pruebas y horas, si tienes suerte, consigues un PID relativamente estable. Es una tarea bastante engorrosa que pocas veces consigue llegar a un resultado totalmente satisfactorio.

Olvidémonos de todo ello e intentemos obtener KP y KD de forma matemática.


Vídeo comparativa PID

Esquemas LibreServo v2

PCB para test LibreServo PCB de LibreServo v2

Tenía pendiente desde hace meses subir los esquemas a la web. Los esquemas son exactamente los mismos con los que fabriqué las PCB de LibreServo v2 pero con los textos corregidos en posición para que se vean mejor.

En entradas anteriores como puedes leer en el artículo de la primera placa de test de LibreServo y en las conclusiones de la segunda placa de test de LibreServo, los cambios de LibreServo fueron masivos en todos y cada uno de los aspectos. Prácticamente todos los componentes fueron revisados y se pasó a un diseño de dos PCB de cuatro capas.

Nueva versión de las piezas 3D del encóder


Vídeo del montaje del encóder de LibreServo

Para saber la posición del eje del servomotor, LibreServo hace uso del encóder AEAT-8800 de 16bits. Este encóder sustituye al potenciómetro que tienen los servomotores y con ello conseguimos tener mucha más precisión y permite que el servomotor gire 360 grados.

Para lograr ello, LibreServo hace uso de una minúscula PCB de 10,2x11,2 mm al que se le acopla una pieza impresa en 3D del mismo tamaño y forma que el potenciómetro original. Dicha pieza impresa en 3D consta de 3 pequeñas partes, un rodamiento de 4x7x2 mm y un pequeño imán magnetizado diametralmente de 6x2,5mm. Tan sólo es neceario un punto de pegamento para fijar el imán. El resto de piezas, rodamiento y PCB están diseñados para que encagen a presión y queden fijas.

Comandos en LibreServo (segunda 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 ejemplos y explicación de ejecución y el otro artículo está centrado en la descripción de los comandos de LibreServo.

LibreServo cuenta con un administrador de tareas para la parte del manejo del motor de alta prioridad y otro administrador de tareas independiente de baja prioridad sólo para el envío de datos al usuario (comandos GX). Hay que tenerlo en cuenta ya que el orden y la temporización serán independientes entre los comandos de recibir datos y el resto de comandos.


[...]

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.

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