STM32 ADC #1. How to configure ADC || Single Channel Polling Mode
Summary
TLDREn este video, se inicia una nueva serie centrada en el periférico ADC de los microcontroladores STM32. El presentador explica cómo configurar el ADC utilizando el modo de sondeo para leer un solo canal, mostrando cómo trabajar con diferentes series de STM32, incluyendo el STM32H750 y STM32F4. Se detallan aspectos como la configuración de la resolución del ADC, la selección de canales y cómo mapear los valores ADC a un rango específico. Además, se exploran las limitaciones del modo de sondeo y se menciona el uso de interrupciones y DMA en videos futuros para mejorar la eficiencia del proceso.
Takeaways
- 😀 El video introduce una serie sobre el periférico ADC de los microcontroladores STM32, comenzando con el STM32H750.
- 😀 Se explica cómo configurar el ADC en el IDE de Cube, habilitando el canal ADC 3 en el pin PA6 de la placa STM32H750.
- 😀 La resolución del ADC se puede configurar entre 8 y 16 bits en la STM32H750, mientras que en otros microcontroladores como el STM32F446RE la resolución varía entre 6 y 12 bits.
- 😀 En el STM32F103C8, la resolución del ADC es fija a 12 bits, lo que limita la configuración a esa resolución.
- 😀 El modo simple de lectura de ADC es utilizando el 'polling', que consiste en esperar a que termine la conversión para leer el valor del ADC.
- 😀 El video muestra cómo leer valores de un ADC utilizando un bucle 'while', con un retraso de 500 ms entre cada lectura para ver las variaciones del valor.
- 😀 El valor leído del ADC se almacena en una variable de 16 bits y se muestra en el depurador en tiempo real para monitorear el comportamiento.
- 😀 Se utiliza una función de mapeo para convertir los valores del ADC de su rango original (0-65535) a un rango más útil (0-100), por ejemplo, para representar porcentajes.
- 😀 Al ajustar el potenciómetro, se observa cómo el valor del ADC cambia, con un valor máximo cercano a 65535 y un valor mínimo de aproximadamente 1700.
- 😀 Aunque el método de 'polling' es fácil de implementar, bloquea la CPU mientras espera que la conversión del ADC termine, lo que limita la capacidad del sistema para realizar otras tareas simultáneamente.
- 😀 En los próximos videos, se abordarán métodos alternativos como interrupciones y DMA para evitar el bloqueo de la CPU durante las conversiones del ADC.
Q & A
¿Qué es lo que se cubre en esta serie de videos?
-Esta serie de videos cubre el uso y la configuración del periférico ADC (Conversor Analógico a Digital) en los microcontroladores STM32, mostrando diferentes maneras de leer datos de dispositivos analógicos.
¿Qué placas de desarrollo se utilizan en esta serie?
-Se utiliza la placa de desarrollo STM32H750 a lo largo de la serie, pero también se cubren configuraciones para otras placas como la STM32F4 y STM32F103.
¿Por qué se usa un cristal externo de 25 MHz en la placa STM32H750?
-El cristal externo de 25 MHz se usa para proporcionar el reloj al sistema, lo cual es esencial para la configuración del microcontrolador y la operación del ADC.
¿Cómo se habilita el ADC en la configuración del Cube IDE?
-En el Cube IDE, se habilita el ADC accediendo a la configuración del periférico y seleccionando el canal que se desea utilizar. En este caso, se seleccionó el canal 3 de la placa STM32H750.
¿Qué es la resolución del ADC y cómo se configura?
-La resolución del ADC determina la cantidad de bits utilizados para representar el valor digitalizado. En este tutorial, se seleccionó una resolución de 16 bits, lo que permite que el valor varíe entre 0 y 65535.
¿Cuál es la diferencia entre el modo de conversión continua y el modo discontinuo?
-En el modo de conversión continua, el ADC comienza una nueva conversión inmediatamente después de completar la anterior. En el modo discontinuo, el ADC no inicia una nueva conversión hasta que se le indique explícitamente.
¿Por qué no se utiliza el modo de escaneo en este tutorial?
-El modo de escaneo se utiliza cuando se tienen múltiples canales habilitados. Como en este caso solo se está utilizando un canal (el canal 3), el modo de escaneo se deja deshabilitado.
¿Cómo se obtiene el valor del ADC en el código?
-El valor del ADC se obtiene utilizando un ciclo while en el que se espera que el ADC termine su conversión, luego se lee el valor de la conversión y se almacena en una variable definida previamente.
¿Qué significa la alineación de datos del ADC y cómo se configura?
-La alineación de datos determina cómo se almacenan los datos del ADC en la memoria. Puede ser 'derecha' o 'izquierda'. En este tutorial, se configuró la alineación a la derecha debido a la resolución de 12 bits del ADC.
¿Cuál es el propósito de la función 'map' utilizada en el código?
-La función 'map' se utiliza para reescalar el valor del ADC a un rango específico. En este caso, se mapea el valor del ADC (que va de 1000 a 65535) a un rango de 0 a 100.
¿Por qué se usa el modo de sondeo (polling) para leer el valor del ADC?
-El modo de sondeo es adecuado para situaciones donde no se necesita una lectura rápida o continua del ADC. Permite que el microcontrolador lea el valor del ADC y se detenga hasta que se complete la conversión, lo que es sencillo pero bloquea la CPU durante el proceso.
Outlines

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowMindmap

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowKeywords

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowHighlights

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowTranscripts

This section is available to paid users only. Please upgrade to access this part.
Upgrade NowBrowse More Related Video
5.0 / 5 (0 votes)