Primeros pasos con PEController utilizando STM32CubeIDE

Introducción

Este artículo describe cómo empezar con el desarrollo embebido en PEController.

Requisitos previos

Las siguientes herramientas son requisitos previos para comprender y poner en práctica el ejemplo que se ofrece en este artículo:

  1. STM32CubeIDE 1.9 o posterior
  2. STM32Cube_FW_H7_V1.7.0 o posterior
  3. STM32CubeMX 6.0.0 o posterior
  4. Paquete de soporte de la tarjeta PEController

Visión general del hardware

Módulo controlador ARM de doble núcleo PEController

Prepara el PEController para ejecutar la aplicación demo, siguiendo los siguientes pasos.

  1. Encienda el PEController. (En el caso del PEController autónomo, utilice el adaptador de 15 V para encender el PEController).
  2. Conecte el ICP USB al ordenador mediante un cable USB de tipo A.

Paquete de soporte de la tarjeta PEController

El PEController está soportado por librerías C embebidas de código abierto en GitHub. El paquete de código abierto se denomina PEController Board Support Package (BSP). Estas librerías también incluyen ejemplos de aplicación que pueden acelerar el desarrollo. Estas bibliotecas son un requisito previo para este artículo.

Descarga del PEController BSP #

Descargue la versión actual de PEController BSP siguiendo estos pasos:

Paso 1: Vaya al enlace https://github.com/Taraz-Technologies/PEControllerBSP.

Paso 2: Pulsa el botón "Code" como se muestra en la imagen inferior y haz clic en "Download ZIP" para obtener la versión más reciente de PEController BSP.

PEControllerBSP Github descargar

Paso 3: Extraiga la carpeta del archivo zip descargado.

Paso 4: Haga clic aquí para acceder a la documentación de PEControllerBSP

PEController BSP Breve #

Visión general del directorio

La siguiente sección describe la estructura actual de directorios del PEController BSP:

Descripción general del directorio PEControllerBSP

Conductores #

Esta carpeta contiene los controladores de dispositivo para PEController.

  • BSP: Contiene los controladores BSP proporcionados por Taraz Technologies.
    • PEController
      • ADC: Contiene los controladores de dispositivos relacionados con ADC.
      • Común: Contiene el uso compartido general y las definiciones relacionadas con los controladores de dispositivos.
      • Componentes: Contiene los diferentes controladores de componentes.
      • DigitalPins: Contiene los controladores de dispositivos relacionados con Digital IO.
      • Pantalla: Contiene los controladores de dispositivos relacionados con la pantalla.
      • intelliSENS: Contiene los controladores de dispositivo para la integración del software intelliSENS.
      • PWM: Contiene los controladores de dispositivos relacionados con PWM.
  • CMSIS: Contiene los controladores de dispositivo estándar Common Microcontroller Software Interface Standard (CMSIS).
  • STM32H7xx_HAL_Driver: Contiene el dispositivo proporcionado por STMicroelectronics.

Middlewares

Esta carpeta contiene las bibliotecas de soporte para los controladores.

  • ST: Contiene las librerías de soporte para USB y Redes, etc. proporcionadas por STMicroelectronics.
  • Taraz: Contiene las librerías de soporte para el Diseño de Sistemas de Control (tales como Conversiones Clarke/Park, Filtrado Digital, generación PLL, etc.) proporcionadas por Taraz Technologies.
  • Third_party: Contiene bibliotecas de soporte de terceros como LWIP, FreeRTOS y FatFS.

Proyectos

Esta carpeta contiene los ejemplos de aplicación incluidos en el BSP.

  • PEController
    • Aplicaciones.
      • PEController_Template: Proyecto plantilla para crear nuevos proyectos rápidos.
      • PELab_OpenLoopVFD: Implementación básica de control V/f de bucle abierto Implementado para diferentes variantes de PELab, así como para tarjetas PEController independientes.

Ejecución del ejemplo V/f de bucle abierto #

Este artículo utiliza el proyecto de ejemplo PELab_OpenLoopVFD para demostrar el uso con PEController. Asegúrese de instalar todas las herramientas necesarias antes de continuar.

Paso 1: Abra el directorio que contiene el PEController BSP descargado de GitHub.

Step 2: Open the “.project” file in {Project_path}/ Projects/PEController/Applications/PELab_OpenLoopVFD. This will add the project with its two nested projects in the STM32CubeIDE workspace.

PEControllerBSP Proyecto Vf Abierto

Paso 3: Abra el Explorador de Proyectos desde Ventana en el Menú como se muestra en la siguiente imagen:

PEControllerBSP Mostrar Explorador de Proyectos

Paso 4: Asegúrese de activar la barra de herramientas de la ventana en el menú como se muestra a continuación:

PEControllerBSP Mostrar barra de herramientas

Paso 5: Expanda el proyecto PELab_OpenLoopVFD. Es visible en el proyecto, que el proyecto tiene dos proyectos anidados, uno para el núcleo CM4 mientras que el otro es para el núcleo CM7 como se ve en la siguiente imagen:

Vista del proyecto PEControllerBSP

Paso 6: La lógica en el BSP se divide de tal manera que la adquisición de medidas, la pantalla LCD y otras funcionalidades auxiliares son controladas por el núcleo CM4 mientras que el núcleo CM7 se utiliza para la implementación del algoritmo de control para un mejor rendimiento del control.

Paso 7: Ambos proyectos contienen la siguiente estructura:

  • BSP: Contiene los controladores BSP.
  • Común: Contiene los archivos compartidos tales como configuraciones que son compartidas por ambos núcleos CM4 y CM7.
  • Núcleo: Contiene el archivo principal y otros archivos generados por el software STM32CubeMX.
  • Controladores: Contiene los controladores de STMicroelectronics.
  • Archivos de usuario: Contiene los archivos relacionados con el proyecto.

Paso 8: Edite la siguiente información en el archivo "user_config.h" en Common/Inc:

  • Seleccione el tipo de hardware en el parámetro PECONTROLLER_CONFIG. Seleccione PEC_CUSTOM para PEController independiente, mientras que para PELab seleccione la configuración PELab adecuada.
  • En caso de que el PEController esté montado en el PELab, seleccione el valor adecuado de PELAB_VERSION y CURRENT_SENSITIVITY_mVA. La información pertinente está disponible en la hoja de datos del PELab.
  • Seleccione el módulo de visualización adecuado para su PEController.
PEControllerBSP user config

Paso 9: Haga clic con el botón derecho en PELab_OpenLoopVFD_CM4 y haga clic en build project:

PEControllerBSP build

Paso 10: Haga clic con el botón derecho en PELab_OpenLoopVFD_CM7 y haga clic en construir proyecto.

Paso 11: Haga clic en Ejecutar y luego en Ejecutar configuraciones... en Elementos de menú:

Configuraciones de ejecución de PEControllerBSP

Paso 12: Vaya a la pestaña Startup en PELab_OpenLoopVFD_CM4:

PEControllerBSP Configuraciones de ejecución CM4

Paso 13: La figura anterior muestra que el proyecto PELab_OpenLoopVFD_CM4 está configurado para no construir o descargar el código del núcleo CM4. Esta opción permite depurar los núcleos CM4 y CM7 al mismo tiempo. El proyecto CM7 como se muestra en la siguiente figura es responsable de programar tanto el núcleo CM7 como el CM4:

PEControllerBSP CM7 configuraciones de ejecución

Paso 14: Asegúrese de que el proyecto CM7 está seleccionado en la ventana anterior y pulse Ejecutar para cargar el código en ambos núcleos.

Aplicación y resultados

Esta sección proporciona la implementación práctica del Control V/f de Lazo Abierto en una carga inductiva.

Equipo necesario

Para verificar de forma práctica el funcionamiento del controlador V/f se necesita el siguiente equipo.

  1. PELab con PEController integrado
  2. Carga trifásica (motor de inducción o inductores)
  3. Fuente de alimentación CC

Detalles de la aplicación

La implementación es posible para diversas configuraciones de PELab. El PEController autónomo requiere una etapa de potencia externa y la carga trifásica para la implementación de este ejemplo. En esta guía se analizan los resultados del ejemplo V/f de bucle abierto en PELab (PLB-6PH) con inductores internos como carga trifásica.

El ejemplo demuestra el control del índice de modulación basado en la frecuencia de la corriente, ya que la tensión de enlace de CC es constante. Al inicio de la demostración, la frecuencia de salida es de 1 Hz. La frecuencia aumenta con un factor de aceleración designado hasta que alcanza el valor de frecuencia requerido. Esto demuestra la capacidad de arranque suave para motores trifásicos, de modo que pueden evitarse los requisitos de alta corriente en el arranque.

En la tabla siguiente figuran las especificaciones de aplicación pertinentes:

PARÁMETROVALOR
Frecuencia PWM40 KHz
Salida Frecuencia requerida25 Hz
Salida Frecuencia inicial1 Hz
Tensión de enlace CC50 V
Inductancia2,5 mH

Resultados

Esta sección proporciona las formas de onda de corriente de salida para las tres fases a la frecuencia requerida. Cada forma de onda de corriente se representa utilizando un color diferente. Las medidas relevantes también están disponibles en la imagen.

PEControllerBSP Resultados V/f

Depuración del ejemplo #

Esta sección describe el procedimiento para depurar simultáneamente los núcleos CM7 y CM4 del proyecto. Utilice los siguientes pasos para depurar el proyecto de lazo abierto v/f.

Paso 1: Haga clic en la flecha situada junto al icono Depurar de la barra de herramientas y haga clic en el elemento de menú Configuraciones de depuración, como se muestra en la imagen siguiente:

PEControllerBSP Configuraciones de depuración

Paso 2: Seleccione la configuración de lanzamiento PELab_OpenLoopVFD_CM7 y pulse el botón Debug:

PEControllerBSP depuración CM7

Paso 3: Pulse el botón reanudar en la barra de herramientas una vez que se haya cargado la aplicación. Asegúrese de que la aplicación está completamente cargada antes de pulsar el botón de reanudar para evitar errores.

Paso 4: Haga clic en la flecha situada junto al icono Depurar de la barra de herramientas y haga clic en el elemento de menú Configuraciones de depuración:

PEControllerBSP depuración CM4

Paso 5: Seleccione la configuración de lanzamiento PELab_OpenLoopVFD_CM4 y pulse el botón Debug.

Paso 6: La ventana de depuración debe parecerse a la imagen de abajo, donde ambos proyectos se estarán ejecutando:

Vista de depuración de PEControllerBSP

Paso 7: Abra la pestaña Expresiones en vivo, escriba adcVals en la columna de expresiones y pulse intro. Pulse la flecha al lado de adcVals para ver el valor en vivo de los canales analógicos. La estructura de adcVals está definida en adc_config.h y sus miembros pueden variar dependiendo de su configuración. La vista de retroalimentación en vivo será similar a la imagen de abajo y los valores cambiarán constantemente:

Expresiones en vivo de PEControllerBSP

Paso 8: Pulse el botón Terminar en la barra de herramientas de ambos proyectos para finalizar la sesión de depuración.

Desarrollado por BetterDocs