Está en la página 1de 5

Micros y laboratorio, V Semestre

Universidad Militar Nueva Granada, Bogotá, D.C.


Ingeniería en Mecatrónica

ADC y Visualización Dinámica


Cristian Steven Castañeda (7003717), Juan Diego Cagua (7003795), y Sergio Andres Ortega
(7003740)

Resumen - El presente informe tiene como objetivo el correcto “PUPDR” (Configuración del tipo de resistencia pull-up,
manejo de las configuraciones para un pin en forma ADC pull-down, ambas encendidas o ambas apagadas) [3].
(Conversión análoga a digital) y la visualización dinámica en un En el trabajo de "Manejo de SMT para el control de GPIO"
display de siete segmentos de cuatro dígitos. Mediante el proceso quiere presentar un diseño de un fimware para que permita
de conversión disponible en la tarjeta se convertira una señal oscilar los Leds de la tarjeta STM32F407; esta tarjeta permite
analogica cotinua en un voltaje a utilizar, permitiendo codificar desarrollar un alto rendimiento con alta velocidad de memoria
sensores, que para este caso, sensor de color y sensor de luz. El integrada y amplia gama de E/S [4].
desarrollo del presente evento experimental se realiza bajo el En la tesis de Daniel Arranz en el 2019 realiza un estudio de los
lenguaje de programación C++, permitiendo la creación de las microcontroladores de la familia STM32FX; busca los diferentes
respectivas clases, atributos, métodos, así mismo, todas las drivers para acentuar bases del desarrollo y la depuración del
variables necesarias para poder llevar a cabo el presente evento lenguaje Ada [5].
experimental. Una de las configuraciones principales, es la que En otro trabajo de fin de grado del año 2019 presentado por
corresponde al sensor CNY70 y una fotoresistencia, José peña pretendía estudiar el mercado de los dispositivos que
correspondiente al ADC, así mismo, la configuración del display se pueden encontrar en el momento, la comparación y búsqueda
de siete segmentos de cuatro dígitos de cátodo común, ya que se de prestaciones que el proyecto requiera, el desarrollo de los
va a codificar el valor mostrado en el display por seis pulsadores diseños y distintas ideas, la realización de los componentes y
tipo pull down, en los cuales cuatro corresponden a los números dispositivos necesarios para llevar a cabo el proyecto, la
mostrados y los dos restantes, correspondiente a suma y resta. comprobación del correcto funcionamiento y toma de datos, la
Cada proceso tiene sus requerimientos necesarios, los cuales se solución de problemas y adversidades que se puedan encontrar
deben cumplir correctamente. durante el proceso, entre otras cosas [6].
En la Adquisición de datos con microcontroladores para
Introducción aplicaciones en el internet de las cosas se refiere a la
Las tarjetas de desarrollo STM32, es un componente de bajo interconexión de varios dispositivos por medio del internet [7].
costo, que según su versión cuenta con un microcontrolador Por último la tesis de Manuel Reyes del 2007 realiza un estudio
ARM-xxx; debido a su bajo costo es usada con fines educativos, sobre la placa SMT32F7, incluye un estudio teórico del micro y
recreativos o laborales; esta tarjeta cuenta con un núcleo de 32 las edades del mismo y su configuración [8].
bits de alto rendimiento que funciona a grandes frecuencias,
estas frecuencias depende del modelo de la tarjeta, así mismo En el presente documento se evidencia los resultados que se
cuenta con memorias integradas de alta velocidad [1]. obtuvieron en el segundo evento experimental, el cual se
Junto a la familia de microcontroladores, se ha desarrollado un relaciona con el manejo de registros correspondiente a el
conjunto de herramientas gratuitas de edición y compilación componente ADC de la tarjeta STM32F7ZIT6; también la parte
bajo diferentes lenguajes de programación como C y C++ que de configuración de los puertos como entradas y salidas para
permiten la creación de grandes proyectos de cualquier visualización dinámica. En los mediantes puerto de entrada se
tamaño[2]. evidencia un número de cuatro dígitos en el display de 7
Los puertos de propósito general (GPIO), son un tipo de pines segmentos de 4 dígitos que podrá aumentar y disminuir mediante
que van a cumplir una función específica al desarrollo del el uso de interrupción externa, que junto a la conversión análoga
programa, los cuales se pueden configurar como entrada o digital, ADC, se identificara cuatro colores distintos presentando
salidas de propósito general, cada puerto debe ser configurado una configuración alfanumérica compuesta por dos letras y dos
mediante los registros de “MODER” (Configuración de entrada, números que se podrá evidenciar en el display de 7 segmentos de
salida, alternante o análoga), “OTYPER” (Configuración del cuatro dígitos.
selección de tipo push-pull u open-drain), “OSPEEEDR”
(Configuración de la velocidad baja, media, alta o muy alta ),
I. Materiales
Micros y laboratorio, V Semestre
Universidad Militar Nueva Granada, Bogotá, D.C.
Ingeniería en Mecatrónica

necesarios para este evento experimental, todos estos pines se


● Software uVision Keil. establecerán con sus configuraciones pertinentes según
● Tarjeta de desarrollo STM32F767ZIT6. requerimientos del usuario.
● Cable mini/micro USB.
● Display 7 segmentos dinámico de 4 dígitos de cátodo - Lenguaje de programación C++
común. C + + es un lenguaje de programación que proviene de la
● Protoboard. extensión del lenguaje C para que pudiese manipular objetos.
● Cables de conexión. El lenguaje de programación C++ es el más apropiado para el
● 7 resistencias de 270Ω. desarrollo de aplicaciones robustas para el manejo de la tarjeta,
● 4 resistencias de 1KΩ. por ende bajo su configuración de clases, herencias,
● Sensores de salida analógica (CNY70) polimorfismo, encapsulamiento se realiza el proceso de
● Sensor de luz (fotorresistencia) abstracción de datos de referencias para cada puerto disponibles
y de uso para la tarjeta, por ende este será usado para programar
La tarjeta de desarrollo STM32F32ZIT6 cuenta con diferentes la tarjeta de desarrollo STM32F767ZIT6.
buses de datos, donde cada uno cumple con una función
específica que para este caso, activar todos los pines de Visualización dinámica.
propósitos generales de la tarjeta con el propósito de modificar
según las necesidades del usuario o del montaje, este tipo de
información se encuentra en el manual de referencia que dispone
el fabricante.

Imagen 2. Visualización dinámica.


El manejo de GPIO, se debe realizar con el propósito de formar
números de cuatro dígitos desde 0 hasta 9999, así mismo
permitiendo realizar el aumento y disminución en una unidad.
ADC
Imagen 1. tarjeta STM32F767ZIT6

Antes de activar los puertos de propósito general de la tarjeta se


debe conocer el bus de datos al cual está conectada, por ende el
fabricante dispone de una hoja de datos de cada tarjeta, con el
propósito de conocer la disponibilidad de puertos y los Imagen 3. Conversión analógica digital ADC.
diferentes componentes de la tarjeta. En la imagen 2, se Para este laboratorio fue nesesario utilizar los convertidores
evidencia el diagrama de bloques de la tarjeta, en este en su parte analogico a digital integrados en la tarjeta; esto para facilitar la
izquierda inferior se encuentran los puertos de propósito general toma de datos proporcionados por los sensores, es importante
que se puede utilizar para las finalidades pertinentes, al conocer que para el uso de los ADC se definan los siguientes registros:
los puertos disponibles para llevar a cabo la visualización
dinámica, se ubican los puertos necesarios bajos las
configuraciones específicas en los diferentes registros de Moder,
Otyper, Ospeeder y Pupdr, por ende se ubicaran once pines de
tipo salida, en los cuales, siete corresponden al display de siete
segmentos, cuatro para cada dígito del display de cuatro dígitos.
Ocho pines de tipo entrada, cuatro para conformar el número en Imagen 4. tomado de [3]
cada digito, dos más para las interrupciones de suma y resta y En la anterior imagen observamos la activación del bus de datos
otros dos con el propósito de cambiar de estado entre al cual están conectados los pines para ADC.
visualización dinámica y conversión ADC. Dos pines en función - ADC common control register (ADC_CCR)
análoga, en los cuales se ubicaran cada uno de los sensores
Micros y laboratorio, V Semestre
Universidad Militar Nueva Granada, Bogotá, D.C.
Ingeniería en Mecatrónica

Imagen 10. tomado de [3]


El registro de control CR2, se divide en varias funciones,
“SWSTART” (inicia conversión), “ALING” (alineación de los
bits más significativos del binario o la conversión) y “EOCS”
Imagen 5. tomado de [3] (conversión regular).
El registro CCR, permite configurar la frecuencia de trabajo, - ADC status register (ADC_SR)
partiendo que a nivel general la tarjeta tiene una frecuencia de
trabajo de 16 MHz.
- ADC control register 1 (ADC_CR1)

Imagen 11. tomado de [3]


El registro de estado SR, permite definir si la conversión ya
terminó, es usado dentro de una máscara para garantizar el ciclo
Imagen 6. tomado de [3] constante de conversiones.
El control de registro CR1 permite definir la resolución o - ADC regular data register (ADC_DR)
número de bits que estarán en la conversión.
- ADC control register (ADC_CR2)

Imagen 13. tomado de [3]


Por último el registro de datos regulares DR, el va almacenando
Imagen 7. tomado de [3] la conversión que realiza el ADC.
El control de registro CR, activa el ADC en modo de conversión
constante. II. Resultados
- ADC sample register 2 (ADC_SMPR2) Se plantea el siguiente diagrama para identificar la secuencia de
programación y las herramientas necesarias para el desarrollo de
la guia:

Imagen 8. tomado de [3]


El registro de muestra tanto de SMPR 2 o SMPR 1, permiten
establecer el número de ciclos, al cual va a funcionar el ADC, es
importante destacar que este registro es seleccionado con base
en el pin relacionado o conectado al canal de ADC que se va a
utilizar.
- ADC sequence register 3 (ADC_SQR3)

Imagen 9. tomado de [3]


El registro de secuencia SQR3, permite definir qué canal se va a
utilizar para las conversiones, este se selecciona con base en el
canal asociado al pin, es importante destacar que cuando se usa
un SQR diferente al 3 en programa presenta problemas de
funcionamiento.
- ADC control register (ADC_CR2)

Diagrama 1. Logica de programacion


Micros y laboratorio, V Semestre
Universidad Militar Nueva Granada, Bogotá, D.C.
Ingeniería en Mecatrónica

en la imagen 14, haciendo que cada vez que se realice el pulso


Visualización dinámica reste uno al número obteniendo el número de la imagen 16.

ADC
Al implementar un sensor de colores junto con un sensor de luz,
se juntan y se establece la codificación para que al recibir un
color sobre él genere una codificación alfanumérica que permita
identificar cada color.

Imagen 14. Autoría propia Tabla 1. Códigos y rangos por color


Se evidencia el correcto funcionamiento, en este se realizan cinco En la tabla 1, se evidencia los rangos de trabajo que permitirán
pulsaciones para el dígito de las unidades, tres para el dígito de identificar, esto se realiza mediante un promedio en los códigos
las decenas, cinco para el dígito de las centena y uno para el de conversión de los dos sensores, permitiendo generar la
dígito de las milésimas. visualización en el display de 7 segmentos de cuatro dígitos.

Imagen 15. Autoría propia


Se prueba el correcto funcionamiento, en el cual por medio de la Imagen 17. Codificación alfanumérica color rojo
interrupción de suma se aumentan las unidades en uno, haciendo En la imagen 17, se evidencia la identificación del color rojo,
que aumente el número inicial mostrado en la imagen 14, al evidenciando su correcto funcionamiento.
número mostrado en la imagen 15.

Imagen 18. Codificación alfanumérica color azul


En la imagen 18, se evidencia la identificación del color azul,
Imagen 16. Autoría propia evidenciando su correcto funcionamiento.
Se prueba el funcionamiento de la interrupción que corresponde
a la resta de una unidad cada vez que se presione la interrupción,
por ende el número inicial que se tiene es el número presentado
Micros y laboratorio, V Semestre
Universidad Militar Nueva Granada, Bogotá, D.C.
Ingeniería en Mecatrónica

(“MODER”,”OTYPER”,”OSPEEDR”,”PUPDR”, ”IDR”,
”ODR”).
● El uso de las systick para poder ver los cambios en el
display correctamente, ya que, al presionar los pulsadores
los cambios pueden ser muy rápidos la systick ayuda a
controlar que los cambios no sean tan espontáneos y se
pueda visualizar de manera correcta.

IV. REFERENCIAS
[1] 2022. Tarjeta de Desarrollo STM32F103C8T6 ARM Cortex-M3
Imagen 19. Codificación alfanumérica color naranja STM32. [online] Available at:
En la imagen 19, se evidencia la identificación del color naranja, <https://sandorobotics.com/producto/hr0214-31/>
evidenciando su correcto funcionamiento. [Accessed 23 February 2022].
[2] Pestano Herrera, J., 2019. Microcontrolador STM32
Programación y desarrollo. 1st ed. [ebook] Bogota, Colombia:
Editorial Ra-ma, pp.15-19. Available at:
<https://books.google.com.co/books/about/Microcontrol
ador_STM32_Programaci%C3%B3n_y_d.html?id=uI6fDw
AAQBAJ&printsec=frontcover&source=kp_read_button&
hl=es&redir_esc=y#v=onepage&q&f=false> [Accessed 23
February 2022].
[3] STlife.argumented, Reference Manual RM0410, Ginebra en
Suiza: STMicroelectronics, 2018.
[4] Orjuela Rodriguez, A., Silva Garzon, P., Triviño Suarez, I.
and Rodriguez Lopez, A., n.d. MANEJO DE STM PARA
EL CONTROL DEL GPIO.
Imagen 20. Codificación alfanumérica al no identificar nada [5] Repositorio.unican.es. 2022. [online] Available at:
En la imagen 20, se evidencia que al no recibir ningún color, se <https://repositorio.unican.es/xmlui/bitstream/handle/10
genera una codificación alfanumérica descrita por la palabra 902/17843/TFG_DanielArranzOrtega.pdf ?sequence=1&is
“nope”, evidenciando su correcto funcionamiento. Allowed=y> [Accessed 26 February 2022].
III. Conclusiones [6] Repositorio.upct.es. 2022. [online] Available at:
● Como primera conclusión, se tiene que la configuración en <https://repositorio.upct.es/bitstream/handle/10317/8112
modo ADC, no lo permiten todos los pines, es necesario /tfg-pe%c3%b1-dis.pdf ?sequence=1&isAllowed=y>
revisar la tabla N°10 del datasheet de la tarjeta STM32F7, [Accessed 26 February 2022].
luego de esto se sabe que la configuración ADC permite [7] Angulo Ruiz-Morón, B., 2022. Adquisición de datos con
analizar en este caso la variación del sensor infrarrojo microcontroladores para aplicaciones en el internet de las cosas.
(CNY70), con los cambios de luz a los que será sometido, [online] E-archivo.uc3m.es. Available at:
este código que se verá en el debugger, el cual será usado <https://e-archivo.uc3m.es/handle/10016/27619#preview
para la codificación alfanumérica de cada color y se > [Accessed 26 February 2022].
procederá a mostrar en el display. [8] Idus.us.es. 2022. [online] Available at:
● El sensor CNY debe ser probado en lugares cerrados, <https://idus.us.es/bitstream/handle/11441/70500/TFG_
debido a las variaciones en el código de conversión, Manuel_Angel_Reyes_Resta.pdf ?sequence=2&isAllowed=y
generando que sea menos eficiente en lugares abiertos, por > [Accessed 26 February 2022].
esto se diseña un cubo rectangular que encierra los [9] 2022. Lógica Binaria. [ebook] pp.1-51. Available at:
sensores de luz y de colores junto con un led para que la <http://recursostic.educacion.es/secundaria/edad/4esotec
medición sea más eficiente. nologia/quincena5/pdf/quincena5.pdf> [Accessed 28
● No se tiene que olvidar las configuraciones anteriores de February 2022].
los registros del GPIO, ya que, a pesar de que la guía se
basa en la implementación de los ADC , solo se usa para
los sensores implementados, el display y demás elementos
se configuran se ha realizado en actividades anteriores con
los registros del GPIO

También podría gustarte