Tabla de contenido:
- Paso 1: placas con Core Arduino
- Paso 2: DESCUBRIMIENTO DEL STM32F746G
- Paso 3: Arduino Due X STM NUCLEO-L476RG
- Paso 4: Dhrystone
- Paso 5: STM32L432KC X Arduino Nano
- Paso 6: STM32L432KC
- Paso 7: Instale Core Arduino para tarjetas STM32L4
- Paso 8: Instale ST-Link - Programa que registra
- Paso 9: Dirección de Json
- Paso 10: Tableros: Administrador del tablero
- Paso 11: Bibliotecas: Administrador de bibliotecas
- Paso 12: Descargar PDF
Video: ¡El increíble STM32 L4 !: 12 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:43
Quiero comenzar este artículo explicando que esta letra L (de la L4) significa Bajo (o, básicamente, Ultra Low Power). Por lo tanto, gasta poca energía y muestra por qué este STM32 es increíble. Gasta microamperios y tiene un sistema en su interior que puede identificar el gasto de cada parte del chip. Esto permite una gestión de la energía muy eficiente y con un alto rendimiento.
Ya hablé sobre este microcontrolador en el video, "¡La forma más fácil de programar un microcontrolador!" En el video, mostré cómo programar el STM32 L4 con MBED. Pero mientras investigaba más al respecto, descubrí algo que el fabricante STMicroelectronics no revela. Implementó el Core Arduino en el chip, lo que permite la programación a través del IDE de Arduino.
En esta imagen, tenemos dos versiones de L4. El STM32L432KC es idéntico al Arduino Nano y al STM32L476RG, que tienen IO equivalentes al Arduino Uno. Entonces, mientras trabaja con dos versiones de este poderoso microcontrolador, le mostraré cómo instalar Arduino Core en la familia STM32. Además, explicaré las principales características de los kits STM32.
Paso 1: placas con Core Arduino
Coloqué aquí una lista sobre la diversidad. Sin embargo, vamos a trabajar con STM32L432KC y STM32L476RG.
STM32F0
- Núcleo F030R8
- Nucleo F091RC
- 32F0308 DESCUBRIMIENTO
STM32F1
- BluePill F103C8 (soporte básico, sin USB)
- MapleMini F103CB (soporte básico, sin USB)
- Nucleo F103RB
- STM32VLDISCOVERY
STM32F2
Nucleo F207ZG
STM32F3
- Nucleo F302R8
- Nucleo F303K8
- Nucleo F303RE
STM32F4
- Nucleo F401RE
- Nucleo F411RE
- Nucleo F429ZI
- Nucleo F446RE
- STM32F407G-DISC1
STM32F7
STM32F746G-DISCOVERY
STM32L0
- Núcleo L031K6
- Núcleo L053R8
- B-L072Z-LRWAN1
STM32L1
Nucleo L152RE
STM32L4
- Núcleo L432KC
- Núcleo L476RG
- NUCLEO-L496ZG-P
- NUCLEO-L496ZG-P
- B-L475E-IOT01A
Paso 2: DESCUBRIMIENTO DEL STM32F746G
Solo para ilustrar, muestro los detalles de un STM32F746G DISCOVERY, que considero una bestia. Ya ordené este chip y espero hablar de ello pronto.
Caracteristicas:
Microcontrolador STM32F746NGH6 con 1 Mbytes de memoria Flash y 340 Kbytes de RAM en un paquete BGA216
- ST-LINK / V2-1 integrado que admite capacidades de reenumeración USB
- Habilitado para Mbed (mbed.org)
- Funciones USB: puerto COM virtual, almacenamiento masivo y puerto de depuración
- LCD-TFT en color de 4,3 pulgadas y 480x272 con pantalla táctil capacitiva
- Conector de cámara
- Códec de audio SAI
- Conector de entrada y salida de línea de audio
- Salidas de altavoz estéreo
- Dos micrófonos ST MEMS
- Conector de entrada SPDIF RCA
- Dos pulsadores (usuario y reinicio)
- Memoria Flash Quad-SPI de 128 Mbit
- SDRAM de 128 Mbit (64 Mbits accesibles)
- Conector para tarjeta microSD
- Conector de placa hija RF-EEPROM
- USB OTG HS con conectores Micro-AB
- USB OTG FS con conectores Micro-AB
- Conector Ethernet compatible con IEEE-802.3-2002
- Cinco opciones de fuente de alimentación:
- ST LINK / V2-1
- Conector FS USB
- Conector USB HS
- VIN del conector Arduino
- 5 V externos desde el conector
Salida de fuente de alimentación para aplicaciones externas:
- 3,3 V o 5 V
Conectores Arduino Uno V3
Paso 3: Arduino Due X STM NUCLEO-L476RG
Aquí hay una comparación con el Arduino Due, que es un ARM Cortex-M3. He usado este modelo en videos: Nema 23 Stepper Motor with Driver TB6600 con Arduino Due, y SpeedTest: Arduinos - ESP32 / 8266s - STM32, con STM NUCLEO-L476RG, que es un ARM Cortex-M4 Ultra Low Power, y está en la imagen del lado derecho.
Arduino debido:
Microcontrolador: AT91SAM3X8E
Voltaje de funcionamiento: 3,3 V
Voltaje de entrada (recomendado): 7-12 V
Voltaje de entrada (límites): 6-16 V
Pines de E / S digitales: 54 (de los cuales 12 proporcionan salida PWM)
Pines de entrada analógica: 12
Pines de salida analógica: 2 (DAC)
Corriente de salida CC total en todas las líneas de E / S: 130 mA
Corriente CC para pin de 3.3V: 800 mA
Corriente CC para pin de 5 V: 800 mA
Memoria Flash: 512 KB todos disponibles para las aplicaciones del usuario
SRAM: 96 KB (dos bancos: 64 KB y 32 KB)
Velocidad de reloj: 84 MHz
Longitud: 101,52 mm
Ancho: 53,3 mm
Peso: 36 g
STM NUCLEO-L476RG:
STM32L476RGT6 en paquete LQFP64
CPU ARM® de 32 bits Cortex®-M4
Acelerador adaptativo en tiempo real
(ART Accelerator ™) que permite la ejecución del estado de espera 0 desde la memoria Flash
Frecuencia máxima de CPU de 80 MHz
VDD de 1,71 V a 3,6 V
Flash de 1 MB
SRAM de 128 KB
SPI (3)
I2C (3)
USART (3)
UART (2)
LPUART (1)
GPIO (51) con capacidad de interrupción externa
Detección capacitiva con 12 canales
ADC de 12 bits (3) con 16 canales
DAC de 12 bits con 2 canales
Unidad de punto flotante o FPU
* Destaco aquí la FPU separada de STM NUCLEO-L476RG, lo que significa que el chip hace cálculos trigonométricos con una velocidad asombrosa. Esto es diferente al Arduino Due, que necesita un procesador genético para hacer eso.
Paso 4: Dhrystone
Dhrystone es un programa de referencia de computadora sintético desarrollado en 1984 por Reinhold P. Weicker, que pretende ser representativo de la programación de sistemas (enteros). Dhrystone se convirtió en un representante del rendimiento general del procesador (CPU). El nombre "Dhrystone" es un juego de palabras con un algoritmo de referencia diferente llamado Whetstone. Esta es una medida tomada de algunas operaciones genéricas.
Este programa está aquí para compilar algo dentro de estos microcontroladores en Arduino. Y el resultado de dos pruebas que hice, una con Dhrystone y otra del video SpeedTest, es el siguiente:
Pago de Arduino: US $ 37,00
Dhrystone Benchmark, versión 2.1 (Idioma: C)
Comienza la ejecución, 300,000 recorridos a través de Dhrystone
Finaliza la ejecución
Microsegundos para una ejecución a través de Dhrystone: 10,70
Dhrystones por segundo: 93, 431,43
Clasificación VAX MIPS = 53,18 DMIPS
Prueba de carrera Fernandok
Tiempo total: 2, 458 ms
- No tiene FPU
- Software Dhrystone en Arduino
www.saanlima.com/download/dhry21a.zip
STM NUCLEO-L476RG: 23,00 dólares
Dhrystone Benchmark, versión 2.1 (Idioma: C)
Comienza la ejecución, 300,000 recorridos a través de Dhrystone
Finaliza la ejecución
Microsegundos para una ejecución a través de Dhrystone: 9,63
Dhrystones por segundo: 103, 794.59
Calificación VAX MIPS = 59.07 DMIPS
Prueba de carrera Fernandok
Tiempo total: 869 ms 2.8x MÁS RÁPIDO
- PI hasta 40 Mbit / s, USART 10 Mbit / s
- 2x DMA (14 canales)
- Hasta 80 MHz / 100 DMIPS con ART Accelerator
Paso 5: STM32L432KC X Arduino Nano
La placa izquierda es la STM32L432KC, en la que STMicroelectronics colocó el pinout Arduino Nano idéntico en la imagen de la derecha.
Paso 6: STM32L432KC
Arm® Cortex®-M4 de 32 bits de potencia ultrabaja
MCU + FPU, 100DMIPS, hasta 256KB Flash, 64KB SRAM, USB FS, analógico, audio
Hasta 26 IO más rápido, más tolerante a 5 V
- RTC con calendario de HW, alarmas y calibración
- Hasta 3 canales de detección capacitiva
- Temporizadores 11x: control avanzado del motor de 1x16 bits
1x 32 bits y 2x 16 bits de uso general, 2x 16 bits básicos, 2x temporizadores de bajo consumo de 16 bits (disponibles en el modo de parada), 2x perros guardianes, temporizador SysTick
Memoria:
- Hasta 256 KB de Flash, protección de lectura de código patentada
- SRAM de 64 KB, incluidos 16 KB con verificación de paridad de hardware
- Interfaz de memoria Quad SPI
Periféricos analógicos ricos (suministro independiente)
- 1x ADC 5 Msps de 12 bits, hasta 16 bits con sobremuestreo de hardware, 200 μA / Msps
- 2 canales de salida DAC de 12 bits, bajo consumo de energía
- 1x amplificador operacional con PGA incorporado
- 2x en comparación con las interfaces de potencia ultrabaja
- 1x UPS (interfaz de audio en serie)
- 2x I2C FM + (1 Mbit / s), SMBus / PMBus
- 3x USART (ISO 7816, LIN, IrDA, módem)
- 1x LPUART (Parada 2 despertar)
- 2x SPI (y 1x SPI Quad)
- CAN (2.0B activo)
- Maestro de protocolo de un solo cable SWPMI I / F
- IRTIM (interfaz de infrarrojos)
- Controlador DMA de 14 canales
- Generador de números aleatorios
Paso 7: Instale Core Arduino para tarjetas STM32L4
- Instale el programa ST-Link que registra
- Dirección Json
- Tableros: Administrador de tarjetas
- Bibliotecas: Administrador de bibliotecas
Paso 8: Instale ST-Link - Programa que registra
Descargue el archivo en https://www.st.com/en/development-tools/stsw-link0…. Simplemente regístrese, descargue e instale el dispositivo.
Paso 9: Dirección de Json
En las propiedades, incluya la siguiente dirección:
github.com/stm32duino/BoardManagerFiles/ra…
Paso 10: Tableros: Administrador del tablero
En Arduino Board Manager, instale el STM32 Core, que tiene unos 40 MB.
Paso 11: Bibliotecas: Administrador de bibliotecas
Finalmente, instale las bibliotecas.
Personalmente me gustó el grupo STM32duino.com, que tiene varios ejemplos, algunos de los cuales instalé. También descargué un FreeRTOS, que me gustó mucho. Lo encontré rápido y confiable. También instalé (pero aún no lo he probado) LRWAN. Pronto te diré si es bueno o no.
Paso 12: Descargar PDF
Recomendado:
Convertidor Boost basado en Esp8266 con una increíble interfaz de usuario Blynk con regulador de retroalimentación: 6 pasos
Convertidor Boost basado en Esp8266 con una increíble interfaz de usuario Blynk con regulador de retroalimentación: En este proyecto, le mostraré una forma eficiente y común de cómo aumentar los voltajes de CC. Te mostraré lo fácil que puede ser construir un convertidor boost con la ayuda de un Nodemcu. Vamos a construirlo. También incluye un voltímetro en pantalla y una retroalimentación
INCREÍBLE lámpara LED para exteriores con energía solar para bricolaje: 9 pasos
INCREÍBLE lámpara LED para exteriores con energía solar DIY: ¡Hola! ¡En este Instructable puedes aprender cómo construir una lámpara LED de energía solar barata y fácil! ¡Carga una batería durante el día y enciende un LED COB muy brillante por la noche! ¡Solo sigue los pasos! ¡Puedes hacerlo! ¡Es realmente fácil y divertido! Este des
Cómo hacer un productor de sonido increíble usando LM555 IC: 10 pasos
Cómo hacer un productor de sonido increíble usando LM555 IC: Hola amigo, hoy voy a hacer un circuito generador de sonido increíble usando LM555 IC. Este circuito genera sonido como scooter, disparos de balas, silbidos
CÓMO HACER UNA VACA ROBOT INCREÍBLE ESPANTAPÁJAROS: 16 pasos (con imágenes)
CÓMO HACER UNA VACA ROBOT INCREÍBLE ESPANTAPÁJAROS: Recientemente creé Moo-Bot, un espantapájaros robot que salta sobre la luna, para una competencia local de espantapájaros. Mi inspiración fue de mi hijo cantando " hey diddle diddle, el gato y el violín. .. " Fue muy divertido trabajar en el proyecto con mi
El increíble ESP32 Wrover de Espressif: 8 pasos
The Incredible ESP32 Wrover De Espressif: Hoy, les voy a presentar el ESP32 Wrover Kit, que es un modelo diferente al ESP32 que suelo usar (el Wroom). Wrover es una placa de desarrollo que tiene muchas características y es bastante periférica. Te mostraré un ejemplo de un progr