Diseños

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

Nuevos diseños para el futuro

Encóder magnético vs potenciómetro

Llevo un tiempo dándole vueltas y desde el primer momento que me plantee LibreServo había un componente que me generaba dudas... el potenciómetro. En Selección de componentes para LibreServo ya lo comenté y hasta ahora siempre había más ventajas en utilizar el potenciómetro de Murata que un caro encóder magnético, al menos para una primera versión de LibreServo. Pero puede que eso haya cambiado.

Diseños, esquemas y PCB

Tras detectar el error en el diseño en la parte de comunicación serie como comenté en las prisas, esa mala consejera, tuve que actualizar los diseños y por lo tanto, los diseños anteriormente compartidos aquí y aquí están desactualizados. Como esto podría ocurrir más veces en adelante, y como también quiero compartir los ficheros en sí, dejo en ésta entrada la última edición de los diseños en foto y además, en Github dejo los ficheros subidos. Del fichero del diseño de la PCB, hay 4 versiones. Las versiones a, b y c corresponden a las versiones especiales que mandé a fabricar como comenté y expliqué en la entrada de mi primer pedido de LibreServo.

Esquemas y diseños
Buses

Diseños, PCB

No es objetivo de esta entrada explicar las decisiones de "routing" que se han llevado a cabo, eso sí, apuntar que todo el routado lo he realizado a mano. Comentaré sólo ciertos aspectos generales.

Debido al estrechísimo espacio que dispongo, me veo obligado a usar 3 placas separadas interconectadas por un "bus" de siete pines formado por una tira de pines con paso de 2mm, y por otros dos pines. Además, el potenciómetro es tan "grande", que a dicho nivel sólo se subirán los pines necesarios.

Buses en LibreServo
Buses

Diseños, esquemas

Sin poder entrar en todos los detalles y decisiones tomadas, en el propio diseño electrónico y esquemático, se ha seguido siempre el propio datasheet de los componentes seleccionados, en algún caso aumentando los condensadores de desacoplo. Dejo a continuación el esquema general completo (se ha corregido a posteriori algún detalle), y comentaré las partes en los que ha habido algún pequeño cálculo.

Primer diseño esquemático de LibreServo
LibreServo sch

Selección de componentes

Una de las principales características de LibreServo, es que no sólo valga para mis Hitec 5990TG, sino para otros servomotores de tamaño estándar. Con la idea de que éstos sean potentes y baratos y LibreServo los haga precisos e inteligentes.

 

Banco de pruebas, servomotores

Con dicha idea en mente, decidí comprar posibles servos baratos de características mecánicas similares a mis hitec. La idea es:

  • No gastar más de 30-35€ en cada servo (los hitec rondaban los 100€ y los Dynamixel MX-28T, del mismo par pero inteligentes... ¡250€ a día de hoy!).
  • 30Kg/cm de fuerza o más.
  • De tamaño estándar.
  • Engranajes de titanio. Esta característica encarece mucho el precio...
  • Motores coreless. Los motores brushless que ahora se empiezan a usar, son un tanto complicados de manejar, y por otro lado, los motores normales de escobillas tienen una vida útil bastante limitada, así que los coreless serán nuestra elección.

Teniendo todo esto en cuenta nos encontramos [...]