Panel de Control (Resumen e Indice)

mayo 16, 2018 circuiteando 0 Comments

Este proyecto de panel de control surge con el fin de introducirme y aprender sobre los microcontroladores de 32 bits ARM Cortex-M.

A su vez, el panel me servirá para mi otro hobby, la simulación aérea. Con él trato de explorar las herramientas, frameworks e IDEs para esta plataforma que más recomiendan y que están disponibles de forma gratuita.

Panel de Control v.3

Las características del panel son las siguientes:
  • 26 Botones.
  • 40 Interruptores de 2 posiciones.
  • 21 Interruptores de 3 posiciones.
  • 4 Rotatorios.
  • 2 Encoders.
  • 1 Minijoystick.
  • 2 MFDs de 20 botones cada uno.
  • 1 Panel LED LCD de 15.1" a modo de monitor.
  • Una sola conexión al PC mediante USB.
  • Un solo cable de alimentación.
  • Posibilidad de usar solamente la parte que incluye el monitor o añadirle una expansión con más interruptores, incluso mientras está en funcionamiento.
Firmware:
  • Comunicación con control de errores (CRC 16).
  • Protección contra desbordamientos de la pila.
  • Reinicio automático en caso de fallo. (Watchdog).
  • USB modo HID en RAW. (para no utilizar drivers).
El programa de PC se encarga de recibir los datos del panel y emular un teclado. Pudiendo crear/lanzar distintos perfiles.

Software para PC


Las características del programa son las siguientes:
  • Realiza comprobación de errores (CRC 16) en la comunicación.
  • Emula secuencias de teclas mediante scancodes.
  • Capturar pulsaciones del teclado y traducirlas a scancodes.
  • Crear y modificar perfiles de teclas.
  • Cargar automáticamente el último perfil utilizado.
  • Informar del estado actual del panel y modo de ejecución.
  • Poder probar los perfiles y controles para asegurar su correcto funcionamiento.
  • Recuperación de errores mediante reinicio automático de procesos.
  • Lectura y envío de informes USB HID.
Todos los programas y librerías utilizados son gratuitos y la mayoría opensource. Dejo una relación de los mismos junto con su página web.

En la fase previa al desarrollo final se han utilizado:
  • IDE oficial de ST para los ARM Cortex: SystemWorkbench.
  • Aplicación de ST para disposición de pines, calculo de consumo, configuración de micros y generación automática de código de forma gráfica: CubeMX
  • Para Mbed de forma local se ha utilizado Atom con PlatformIO.
Todos los ficheros utilizados: planos 3D, 2D, serigrafía, firmwares, etc. se encuentran disponibles en los siguientes repositorios:
Para más información sobre las distintas etapas del proyecto, pinchar en los siguientes enlaces:

0 comentarios: