Tarjetas Hub12 con Stm32 en Cube IDE
Decidimos aprovechar toda la potencia que tienen estos micros de ST y desarrollando Tarjetas Hub12 con Stm32 en Cube IDE. Empezando desde el clásico STM32F103c8, STM32F401, STM32F411, STM32F407 y STM32F446.
Los recursos que utilizamos de estos uC son el DMA, GPIO, TIM. Toda la transferencia de datos se encarga el DMA dejando al procesador principal libre, para realizar otras operaciones como recibir o leer datos que llegan de diferentes dispositivos.
En un principio el diseño se realizo con IC y no con una tarjeta de desarrollo. Debido a la subida del precio de los MCU’S decidimos diseñarlos por ahora con tarjetas de desarrollo (Black Pill, Blue Pill y DevEbox).
Características Tarjeta STM32:
Hemos incorporado una memoria Eeprom. Un circuito de protección contra voltajes inversos. un circuito para activar lamparas de 220V AC. Tiene puertos i2C y uart. Hasta con 48 puertos hub12 tenemos un rango de control de hasta 672*3840 leds. Finalmente Estos micro controlares STM32F vienen incorporado con un RTC interno. Para hacer uso de este modulo Reloj debemos agregarle una Batería de respaldo CR2032-3.2V. Bueno además en la tarjeta le agregamos una entrada para un modulo RF de 04 canales o simplemente podrías agregarle botones.
Programación STM32:
Todo el desarrollo del código esta escrito en C para STM32Cube IDE versión 1.7. En la pagina de STM electronics https://www.st.com/content/st_com/en.html Tienen todas las librerías para controlar los periféricos, bueno entonces decidimos probar. Hasta ahora nos va bien.
Librería Hub12 para STM32F:
Esta desarrollado por nosotros. llevando al limite los TEMPORISADORES y DMA para conducir estos paneles o módulos P10 con entrada de datos hub12. Lo que limita para conducir un mayor rango de control son la velocidad núcleo, memoria ram y salidas digitales. Bien ahora veamos el rango de control para cada uno de estos microcontroladores.
Características de librería Hub12
Rango de Control:
- STM32F407 hasta 672*3840 (5040 panales) a 168Mhz núcleo con 42 puertos hub12.
- STM32F411 hasta 128*1920 (480 panales) a 100Mhz núcleo con 08 puertos hub12.
- STM32F103 hasta 128*960 (240 panales) a 72Mhz núcleo con 08 puertos hub12.
Comunicación:
- Uart usando RingBufer con DMA-115200 rate.
- i2c a 400Kbs.
- 08 entradas Digitales por interrupción.
- Alto tasa refrescamiento mayor a 256 FPS.
- 02 Salida digital para activar Relay de estado Solido.
lo dejamos en uart para que este pueda ser convertido a otros tipos de comunicación como RS232, RS485, ETHERNET, WIFI,RF,SIGBEE, BLUETOOTH, MODBAS, CAN y otros.
Tipos módulos(paneles) soportados:
Modelo P10 un color 16*32 outdoor scan 4s con tipo de IC 74HC595, DP5020, DP5125.
La librería tiene todas las funciones para dibujar letras, trazos geométricos, circulo y imágenes a 1 bpp. trabaja con 04 tamaños de Letras. además tiene un efecto Scrolling Horizontal. no tenemos mas efectos por que los proyectos realizados son mayormente para mostrar variables. En la siguiente imagen podemos ver un proyecto de monitoreo de placas vehiculares para una empresa.
Lo que realiza básicamente este proyecto es recibir 2000 caracteres como máximo por puerto UART para luego mostrarlas en la pantalla de forma ordenada y con efecto de desplazamiento vertical.
Documentación y Código:
El código fuente esta escrito en C para STM32 Cube IDE. Tanto el Esquemático como el código tienen su costo. Los interesados enviar mensaje al WhatsApp +51988767604 correo: yonywashin@gmail.com
También realizamos proyectos a medida utilizando sensores.
Finalmente les muestro un video donde explico a detalle como agregar la librería en STM32 Cube IDE: https://www.youtube.com/watch?v=4U2rbAewpVU&t=632s