- Explicación del hardware de la placa de desarrollo STM32 Nucleo 64
- Programación de las placas de desarrollo STM32 Nucleo 64
- Introducción a STM32F401
- Conclusión
- Vídeo
Para la mayoría de las personas, la primera placa de desarrollo integrada en la que habrían trabajado probablemente sería una placa Arduino. Pero, como todos pueden estar de acuerdo, su Arduino podría llevarlo solo hasta cierto punto y algún día tendrá que pasar a una plataforma de microcontrolador nativa. Este proceso se puede hacer mucho más fácil con esta placa de desarrollo STM32, ya que puede admitir todos los escudos Arduino para ayudarlo en el lado del hardware y también tiene muchas bibliotecas y funciones integradas para ayudarlo en el lado del software. También familiarizarse con los microcontroladores STM32 lo ayudará a explorar fácilmente otros módulos de desarrollo de ST como el SensorTile.Box que revisamos anteriormente. Entonces, en este artículo, echemos un vistazo completo a estas placas de desarrollo STM32 Nucleo-64 y aprendamos a usarlas.
Ahora hay muchas versiones de placas STM32 disponibles y esta en particular que tengo en la mano se llama STM32F401 Nucleo-64. El nombre STM32 representa que tenemos un microcontrolador de 32 bits en nuestra placa de desarrollo, y el nombre Nucleo-64 representa que el microcontrolador tiene 64 pines. Del mismo modo, hay muchas otras versiones de placas Nucleo 64 como STM32F103, STM32F303, etc., pero una vez que aprendes sobre una placa, todas las demás son bastante similares.
Explicación del hardware de la placa de desarrollo STM32 Nucleo 64
Comencemos desempaquetando nuestra placa de desarrollo. Como puede ver, el paquete completo solo consta de nuestra placa de desarrollo y una tarjeta de instrucciones. La tarjeta de instrucciones menciona las especificaciones del controlador, sus pines y, en la parte posterior, tenemos información sobre cómo comenzar y las opciones disponibles de la cadena de herramientas.
Mirando más de cerca el tablero, podemos encontrar que el tablero está dividido en dos regiones. La sección superior es el depurador y programador ST-Link / V2, mientras que la sección inferior es su placa de desarrollo real. De esta manera, puede programar y depurar fácilmente su placa desde el primer momento con solo un cable USB adicional que se puede conectar al mini puerto USB de la placa.
A primera vista, puede parecer que el tablero tiene muchos puentes y componentes, pero todos están ahí para facilitarnos las cosas. Los dos puentes que se encuentran a cada lado de la placa CN11 y CN12 son en realidad puentes falsos, estos puentes se pueden utilizar para otros fines si es necesario en el futuro. Los dos puentes de CN2 se utilizan para conectar la sección del programador y el depurador con nuestra placa de desarrollo. En el futuro, puede quitar estos puentes para usar el programador para otros microcontroladores ST a través de estos pines. Y este pin JP1 del conector se puede cerrar para limitar la corriente USB a 100 mA, si se deja abierto, la corriente máxima será de 300 mA. Aquí tenemos un LED Tricolor (LD1) que se enciende en rojo cuando la placa está encendida y se vuelve verde cuando la placa está programada correctamente y se vuelve naranja cuando hay una falla de comunicación.
Bajando a la sección de desarrollo, tenemos nuestro componente más importante aquí, el microcontrolador STM32F401RET6. Este es un microcontrolador de 64 pines y 32 bits con un procesador ARM Cortex M4 que funciona a 84 MHz. También tiene 512 Kb Flash y 96KB SRAM. El microcontrolador tiene 10 temporizadores de 16 y 32 bits y un solo ADC de 12 bits. También cuenta con tres USART, tres I2C, cuatro SPI y un USB 2.0 para comunicaciones externas. Puede consultar la hoja de datos STM32F401 para obtener más información técnica.
Ahora aquí viene la parte interesante, como les dije antes, la placa es compatible con todos los escudos Arduino. La placa tiene dos juegos de conectores, los pines hembra son para los escudos Arduino que se ajustan perfectamente a nuestro Escudo Wi-Fi ESP8266 y nuestro Escudo Semtech Arduino LoRa como puede ver en la imagen a continuación.
Los otros machos se llaman pines ST morpho que se pueden usar para utilizar los pines de escariado en nuestro microcontrolador de 64 pines. Luego tenemos un botón de reinicio aquí y un botón configurable por el usuario que está conectado al pin PC13 y también un LED aquí que está conectado al pin D13 al igual que Arduino. Para alimentar la placa, podemos usar el puerto USB o proporcionar directamente 5V regulados al E5V o al pin de 5V aquí. Recuerde cambiar este puente para indicar cómo está alimentando la placa; U5V indica que la placa está alimentada por USB. También tenemos otro pin de puente interesante aquí llamado IDD que se puede usar para medir la cantidad de corriente que consume su microcontrolador conectando un amperímetro a estos pines.
Programación de las placas de desarrollo STM32 Nucleo 64
Al llegar a la sección de software, la placa tiene una gran biblioteca y soporte de programación y se puede programar usando Keil, IAR workbench y muchos otros IDE. Pero lo interesante es que admite el entorno de desarrollo ARM Mbed y STM32Cube. Por el bien de este artículo, decidí usar la plataforma ARM Mbed porque es una herramienta en línea y la encontré muy interesante porque no solo puedes usar tus placas ST sino muchas otras placas de desarrollo que usan el microcontrolador ARM.
Para aquellos que son nuevos, ARM MBED es una plataforma de desarrollo en línea proporcionada por ARM y le brinda un sistema operativo integrado, servicios en la nube y características de seguridad para crear fácilmente soluciones integradas basadas en IoT. Es una enorme comunidad de código abierto y para obtener más detalles será necesario un artículo aparte.
Introducción a STM32F401
Pero, para comenzar, use un mini cable USB para conectar su placa de desarrollo STM32 con su computadora. Una vez encendido, debería notar que los LED LD1 y LD3 se iluminan en rojo, y el LED programable LD2 parpadeará en color verde como este.
También notará una nueva unidad flash en su computadora llamada “NODE_F401RE”. Ábralo y encontrará dos archivos, a saber, details.txt y mbed.htm, como se muestra a continuación.
Puede iniciar el archivo Mbed.htm para comenzar directamente a programar su placa en línea usando arm Mbed. Pero, antes de llegar allí, hemos instalado los controladores necesarios y nos hemos registrado en Mbed. Busque el software del controlador STSW-link009 y descárguelo directamente del sitio web de ST, instale el controlador y asegúrese de que el dispositivo se detecte correctamente en el administrador de dispositivos, como se muestra aquí.
Vuelva a su plataforma mbed para registrarse en MBED.com con sus credenciales. Luego, haga clic en el archivo MBED.HTM y será recibido con la siguiente página.
Desplácese hacia abajo y haga clic en " Abrir compilador Mbed ". Como puede ver, el compilador ya ha reconocido nuestra plataforma como Nucleo-F401RE y nos está proporcionando muchos programas básicos de ejemplo. Por ahora, permítanme seleccionar el " Código LED intermitente " y modificarlo para que el LED se apague cada vez que presione el botón.
Una vez que el código esté listo como se muestra a continuación, puede hacer clic en el botón de compilación, que le proporcionará un archivo bin, simplemente copie el archivo bin y péguelo en su unidad flash para programar su placa. Notará que el LED LD1 se vuelve verde una vez que se completa la programación. Ahora presione el botón azul y notará que el LED verde se apaga. Así puedes probar cualquiera de los programas de ejemplo para aprender diferentes funcionalidades de la placa. También puede volver a la página principal para obtener otros documentos técnicos y apoyo de la comunidad.
También puede ver el video vinculado en la parte inferior de esta página, para ver la revisión completa en este tablero.
Conclusión
En general, creo que estos tableros son excelentes opciones si está tratando de mejorar sus habilidades y desarrollar aplicaciones avanzadas. Con su soporte de hardware práctico y su comunidad en línea, la curva de aprendizaje de estas placas también es bastante simple, por lo que es posible que desee intentarlo. Espero que hayas disfrutado del artículo y hayas aprendido algo útil de él. Si tiene alguna pregunta, déjela en la sección de comentarios a continuación o use nuestros foros para otras preguntas técnicas.