Curso STM32F303K8 Nucleo y Plataforma Mbed OS: Manejo de ADC (Conversor analogo digital) #04.
Buenos días estimados lectores. Hoy les traigo la clase #04 del curso de programación de microcontroladores STM32 con el compilador Mbed Compiler. Para la entrada de hoy hablaremos acerca de un periferico muy importante hoy en día, en este caso se trata sobre el conversor analogo-digital mque poseen los microcontroladores. Veremos las carácteristicas de este periferico y su variante con respecto a la familia de STM32F303K8.
Conversor Analogo-Digital (ADC) del STM32F303K8
Dos convertidores de analógico a digital rápidos de 5 MSPS, con resolución seleccionable entre 12 y 6 bits, están integrados en los dispositivos de la familia STM32F303x6 / 8. Los ADC tienen hasta 21 canales externos. Algunos de los canales externos se comparten entre ADC1 y ADC2, realizando conversiones en modo de disparo único o de escaneo. Los canales se pueden configurar para que sean entradas de entrada única o entradas diferenciales. En el modo de escaneo, la conversión automática se realiza en un grupo seleccionado de entradas analógicas. Los ADC también tienen canales internos: sensor de temperatura conectado al canal 16 de ADC1, VBAT / 2 conectado al canal 17 de ADC1, referencia de voltaje VREFINT conectado al canal 18 de ADC1 y ADC2 y VOPAMP2 conectado al canal 17 de ADC2. Funciones lógicas adicionales incorporadas en el ADC la interfaz permite:
• Muestra y retención simultáneas
• Muestra y retención intercaladas
• Técnicas de lectura de corriente de fase de derivación única.
Hay tres watchdogs analógicos disponibles por ADC. El controlador DMA puede atender el ADC. La función de vigilancia analógica permite un monitoreo muy preciso del voltaje convertido de uno, algunos o todos los canales seleccionados. Se genera una interrupción cuando el voltaje convertido está fuera de los umbrales programados. Los eventos generados por los temporizadores de propósito general (TIM2, TIM3, TIM6, TIM15) y el temporizador de control avanzado (TIM1) se pueden conectar internamente al disparador de inicio y inyección de ADC, respectivamente, para permitir que la aplicación sincronice A / D conversión y temporizadores.
Para efectos de este curso, lo que haremos es trabajar el ADC de nuestra tarjeta sin utilizar interupciones u otros perifericos del micro, ya que como dije, este curso puede ser aplicado para diferentes tarjetas, y el hacerlo más complejo enredará a los que no esten utilizando este microcontrolador.
Funciones dispnibles para la lectura analoga-digital en Mbed Compiler
- read () - Esto da un valor de punto flotante de rango de 0.0 a 0.1 con una precisión de 6 decimales. Pero para calcular el valor real necesitamos multiplicar con 3.3V, que es la referencia de voltaje para el chip. Esto aumentaría la sobrecarga en el procesador que requiere que se procese más y cada operación de punto flotante se vuelve costosa. Por lo tanto, no sería óptimo para ser utilizado.
- read_u16 () - Esto da un valor corto sin firmar en el rango de 0xF000 a 0xFFFF. Aquí hay una trampa en esto, la parte superiornecesita cortarse. Así que el valor real estaría dado por(read_u16 () & amp; 0x0FFF) utilizando un bit a bit y para obtener el valor de 12 bits. Según la hoja de datos, sabemos que el ADC de LPC1768 es de 12 bits, por lo que el valor decimal máximo que puede esperar es 4095 y el Voltaje de referencia 3.3, por lo que para obtener el voltaje real necesitamos el siguiente cálculo: (read_u16 () & amp; 0x0FFF) * 3.3 / 4096 Por lo tanto, incluso si no queremos tener el valor exacto de la tensión, podemos utilizar el valor digital que no necesitaría la operación de punto flotante pesado. Esto hace que el uso de read_u16 () sea más económico en términos de tamaño de código y rendimiento.
Ya sabiendo a groso modo las características de nuestro mcircontrolador en cuanto a su periferico ADC, veremos el siguiente vídeo donde aprenderemos a manejar el conversor analogico-digital:
Y esto sería todo en la clase de hoy. Espero que les haya gustado esta entrada donde nos muestra el manejo del conversor analogo-digital en microcontroladores STM32 con el compilador Mbed Compiler. En la siguiente entrada veremos el uso del pwm que posee el microcontrolador usado en este curso.
Si no han visto los vídeos anteriores de este curso, a través del siguiente link podrán verlos: Curso STM32F303K8 Nucleo y Plataforma Mbed OS
Escrito por: Breismam Alfonso Rueda Díaz
Bien muchachos, esto es todo por hoy. Estén pendientes de mi canal, de mi blog y de mi pagina de Facebook para más contenido.
Twitter: https://twitter.com/BreismamR
Cualquier duda, trabajo, tutoria personalizada por correo electrónico o pagina en facebook:
Correo: ElectronicaLibreXC@outlook.com