Esquemas

LibreServo v2.3.1. Versión Lanzamiento

LibreServo v2.3.1 Servo hack Versión Final LibreServo v2.3.1

¡Finalmente LibreServo ha llegado a la primera versión final del Hardware (versión 2.3.1)!

party

Ha sido un largo camino y aún queda mucho camino por recorrer, pero ahora en la parte software. El proyecto LibreServo tampoco parará en el software y más adelante vendrán nuevos proyectos que hagan uso de LibreServo, como un posible robot bípedo en 3D, pero todo ello llegará en el futuro y todo ello lo anunciaré aquí. Pero dejemos de elucubrar y hablemos del ahora.

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 😉

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.

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.

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.

Manual primer proyecto STM32. Parte 1: Diseño Electrónico

Hace años me costó bastantes dolores de cabeza tener todas las piezas claras y como sé que el artículo más visitado de LibreServo es Software para programar STM32, voy a intentar realizar un artículo que conglomere todos los pasos necesarios para poner a funcionar desde cero un microcontrolador STM32, tanto a nivel de diseño electrónico, como de programación. Como LibreServo está basado en el microcontrolador STM32f302K8, todo irá referenciado a éste microcontrolador por facilidad, pero los pasos son exportables a todos los microcontrolador más comunes de la familia STM32 ARM Cortex de ST, de hecho, si es tu primer proyecto no sería la mejor opción con la que empezar, más que nada por el encapsulado que trae. El STM32F302C8 sería el gemelo pero en un encapsulado mucho más sencillo de soldar. Pero hay literalmente decenas de microcontroladores según lo que cada uno requiera.

Esquema electrónico mínimo para STM32 Esquema electrónico mínimo para STM32

"Magic Smoke" en LibreServo ¡Otra vez!

Estaba muy contento con el blanco del led Asmb-mtb0-0A3a2 y empecé a configurar el puerto serie.

El puerto serie debido a la altísima velocidad que puede alcanzar (9Mbps) hay que configurarlo mediante DMA, en otras palabras, que el envío y recepción de datos se haga en background sin usar ciclos de reloj de nuestro microcontrolador. El envío es fácil, pero la recepción requiere que se sepa de antemano el número de bytes a recibir... lo cual no sabemos. Habrá que darle alguna vuelta a la programación, pero tengo alguna idea.

Sea como fuere, primero empecé a configurar el puerto serie de transmisión, TX. Y tras unas pruebas... fumata blanca.

TX de LibreServo v1.c funcionando
TX de LibreServo v1.c funcionando

Resistencias para el LED RGB [Asmb-mtb0-0A3a2]

Tras muchísimos cálculos matemáticos... Todo se ha ido al garete y la realidad es bastante distinta a la calculada. ¡Menos mal que decidí comprar un montón de valores de resistencias para poder hacer las pruebas! El mayor problema que he tenido, es que el datasheet de Asmb-mtb0-0A3a2 no muestra dato alguno para cuando el led funciona a menos de 5mA, que es precisamente en el rango en el que funciona en LibreServo el LED.