LibreServo v2.3 schematics. Candidate version

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

A few days ago I presented LibreServo version 2.2 and announced that I had one last final change... this time the wait has not been long and I bring the new version of LibreServo, version 2.3.
This version should already be the final hardware version of LibreServo .
The biggest change that LibreServo has had in this latest version with respect to the previous one is the H-bridge. Risky move seeing what it cost me to make it work but I think it will be a remarkable improvement and the missing component to make LibreServo the definitive option.

LibreServo v2.2. Pre-Release version?

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

Pre-final version. This was going to be the final version, was going to be, because in the end it is not going to be.

  • The oscillator has been changed for a more compact one.
  • The position of several components has been slightly reworked
  • Ground planes have been generated on the outer layers
  • The position of the silk-screen printing has been repositioned with the idea that the vias will be capped and it will be possible to silkscreen on top of them
  • The PCB has been narrowed by a few tenths of a millimeter to fit perfectly to the servomotors
  • The two PCBs have been joined by using mouse-bites

In general, they are all small changes, but... just before placing the order I went back to review each and every one of the components, and there is one that I have decided to change and it is a very important one that has been in LibreServo from the beginning. In the next article I will unveil the final change 😉

LibreServo v2.1 Schematics

LibreServo v2.1 PCB LibreServo v2.1 PCB

These schematics will not last long because new changes have already been made and will be sent to manufacture in the coming days if all goes well. The order of the next version will coincide with the Chinese vacations, but I hope not to have any problem except some small delay already announced by the manufacturer JLCPCB.

In this LibreServo version, the main PCB, goes from 4 to 6 layers because JLCPCB, as we mentioned in the article of changes in LibreServo v2.1, has made a very aggressive offer in which it is cheaper to manufacture a 6-layer PCB instead of 4, taking into account that in 6 layers you get for free the ENIG finish (in gold) and the vias are filled and covered, in other words, a totally professional finish. It is a really crazy offer.

Despite all this, of course LibreServo will maintain full compatibility with 4 layers and only when generating the gerbers the central layers are removed and the matter is solved.

LibreServo v2 Schematics

PCB para test LibreServo LibreServo v2 PCB

I had pending for months to upload the schematics to the web. The schematics are exactly the same with which I made the LibreServo v2 PCBs but with the texts corrected in position so they read better.

In previous posts as you can read in the article of the first LibreServo test board and in the conclusions of the second LibreServo test-board, the LibreServo changes were massive in each and every aspect. Virtually every component was overhauled and moved to a two PCB, four-layer design.

We have a winner. Test results in PCB test 2

LibreServo sending data via RS485 to Arduino plotter

After several tests, the LibreServo hardware is finally chosen and it's working, even the H-bridge that gave me a lot of problems! In general, all the parts of LibreServo remain as they were, because they were already working correctly, except the parts are discussed in this article.

New PCB Test v2 for LibreServo

Hello World in LibreServo PCB test v2

A month ago I was analyzing the results and conclusions obtained with the LibreServo test PCB v1 and trying not to lose momentum this month I have designed, I have ordered new PCBs and I have already assembled the LibreServo test PCB v2! 🥳

It is the first PCB that I have designed with 4 layers for LibreServo and I hope that this will mitigates some issues with the H-bridge that I think comes, in part, from electronic noise. For the rest, it is a PCB with the final components, it is closer to the final design in which I have forced myself to put the components as close as possible to each other to see the real limit between what is designed and what can be easily welded without overcomplicating things, everything holds up on paper but then you have to bring it to reality.

Results and conclusions of the tests

RS-485 9 Mbps Hello World
RS485 Hello World at 9 Mbps

After analyzing all the parts of LibreServo, I have decided to make several design changes again. I am happy with the results obtained with the test board since without it, it would have been impossible to analyze all the components separately and detect all the errors and faults that I have found, it is something that I should have done from the beginning and it would have saved me a lot of time. The topics to be discussed are:

  • Current Sensor
  • Protection against change of power polarity
  • New power supply, mpm3610 + ap2112
  • NTC temperature sensor
  • New more compact RGB led
  • RS-232 vs RS-485 serial communication
  • New AEAT-8800 magnetic sensor
  • H bridge
  • Next PCB (4 layers)

Power Analysis (MPM3610 + Ferrite + AP2112)

MPM3610 and AP2112 circuit with Ferrite MPM3610 and AP2112 circuit

One of the parts that I have changed the most in LibreServo and thought about is the power supplies. In previous versions it was a linear regulator that I reduced in size, but the truth is that I was not at all comfortable since if LibreServo was powered with only 12V, the linear regulator should dissipate up to 1.74 Watts and in 16v 2.54 Watts... something that was really unreal that it could handled.

A few months ago I discovered the MPM3610, and this finally made it possible for me to design the power supply as I wanted. This tiny component is a powerful 1.2A step-down that supports up to 21V input and also has a built-in diode and coil! It is the latter that makes it perfect for my design, due to the reduced space used, being the only step-down that is manufactured that has an integrated coil and diode in the same package. The difference between using a step-down and a linear regulator is that a linear regulator from 3.3V to 12V gives an efficiency of 35%, while a step-down of 80% or higher, the rest is dissipated in heat, so one is much more prone to overheating than the other. The downside of using a step-down is that they are quite noisy and their output is not as clean as one from a linear regulator.

Análisis del sensor de corriente ZXCT1010

Circuito básico ZXCT1010 con protección Zener MMSZ5226BS Circuito básico ZXCT1010 con protección Zener

El primer componente que voy a analizar en mi nueva placa para testear LibreServo es el sensor de corriente ZXCT1010, el cual es una versión mejorada del sensor ZXCT1009. La mejora sobre todo es en la parte baja del sensor, cuando hay poca caída en Rsense, parte en la que quería estar ya que no quiero que se desperdicie tensión en Rsense. Además, aparejado al sensor de corriente está el diodo Zener MMSZ5226BS para evitar que la tensión de salida del sensor de corriente pueda superar los 3,3V y quemar el microcontrolador.

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