Você está na página 1de 7

UNIVERSIDAD POPULAR AUTONOMA DEL ESTADO DE

PUEBLA

Interfaces Digitales

PRÁCTICA 2: COMUNICACIÓN
SERIAL Y LECTURA DE 3 SEÑALES
ADC

Profesor: Marco Antonio Ramírez Barrientos

Integrantes de Equipo:

Sarahy Contreras Lima 5801813

Luis Felipe Velázquez Rangel 55801870

Oscar Hernandez García 5801722

Francisco Javier Turiján Vázquez 5801823

FACULTAD: ELECTRONICA

04/10/2017
Objetivo:
Realizar la comunicación serial de la tarjeta STM32F411 con mbed y dentro de esta,
realizar un programa que haga la Lectura de 3 señales ADC, las cuales son: Valor
decimal de un Potenciómetro alimentado de 0 a 3.3, Voltaje de un Potenciómetro
alimentado de 0 a 3.3, Temperatura en grados C de un LM35

Marco Teórico
Las señales analógicas
Con anterioridad se ha visto cómo funcionan las señales digitales, que son aquellas que
pueden tomar dos valores, 0 y 1 (representando valores que normalmente con stm32f411
serán 0 y 3.3V, o en su caso de 0 y 5 V).

Figura 1: Señales Digitales.


Además, hay otro tipo de señales, llamadas analógicas. Lo que hace especial a las señales
analógicas es que éstas pueden tomar cualquier valor [1].

Figura 2: Señales Analógicas.

Un microcontrolador solo entiende señales digitales (1’s y 0’s), por lo tanto para poder leer
señales analógicas necesitamos los convertidores Analógico a Digital (ADC)

El microcontrolador de STM32F411 contiene internamente un conversor analógico a digital


que tiene una resolución de 12 bits, devolviendo enteros entre 0 y 4095. [2].

Cómo funciona un conversor analógico a digital:


Figura 3: ADC.

Los microcontroladores STM32F411 forman parte de las líneas STM32 Dynamic


Efficiency ™. Estos dispositivos son el nivel de entrada a la serie F4 de alto
rendimiento y ofrecen el mejor equilibrio entre el consumo de energía dinámico (en
modo de funcionamiento) y el rendimiento de procesamiento.. En la figura 4 se
muestran los pines de dicha tarjeta [3].

Figura 4: Pines del STM32F411

Materiales
 Tarjeta STM32F411.
 Protoboard.
 DipSwitch
 Jumpers
 LEDs
 Cables.
 Cable de alimentación.

Desarrollo

Las entradas analógicas se caracterizan por leer valores de tensión de 0 a 3.3


Voltios con una resolución de 4096 (12 bits). Si dividimos 3.3 entre 4096 tenemos
que ser capaz de detectar variaciones en el nivel de la señal de entrada.

Para hacer la lectura primero se declara AnalogIn con el nombre de lo que se leerá,
y el pin que recibirá la señal. También se declara serial pc para hacer la
comunicación serial entre la tarjeta y mbed.

Dentro del código las variables son declaradas como float para que nos arroje el
valor en decimal y sea más fácil la lectura. Después se hicieron las conversiones
necesarias para convertir a voltaje las lecturas, ya que cuando se lee el valor
analógico la función nos devolverá un valor que va de 0 a 1, y para que dé un valor
de 0 a 4095 es necesario multiplicar el valor por 4095, en proporción al nivel de la
señal de entrada. Para una entrada nula obtendremos el valor 0, para una entrada
de 1.65 Voltios 2047 (la mitad de 4095) y para 3.3 Voltios 4095, es decir que el
primer potenciómetro arrojará solamente los valores decimales.

Para el segundo potenciómetro, es necesario que la pantalla muestre el voltaje, pero


como ya se tiene la señal de entrada basta con multiplicar el valor decimal por 3.3v,
y de esta manera la pantalla arrojara el valor en volts.

Finalmente, para el LM35, de la misma manera que los potenciómetros se midió el


valor analógico y se dividió entre 0.001, debido a que 1°=1mV, de esta manera en
la pantalla se muestra el valor en grados centígrados del ambiente. En este
programa en específico se buscó tener el valor en °C y °F. A continuación se
muestra el programa utilizado.
Codigo

Figura 5: Programa de Lectura de un DipSwitch.

Resultados
Figura 6:
a) Pantalla Tera Term; b) y c) Circuito conectado, dos potenciómetros y un
LM35.

Observaciones: Se observó que la lectura en decimal y el valor de voltaje


podían ser realizados con un solo potenciómetro, pero es mejor utilizar dos para
observar los valores independientes en cada potenciómetro. Después de eso no
hubo ninguna complicación en la práctica.

Conclusiones
De acuerdo con la práctica realizada podemos concluir que para leer entradas
analógicas en la tarjeta STM32F411, es necesario utilizar los pines analógicos y
desarrollar un programa que sea capaz de leer dichas entradas. Por lo tanto,
esta práctica fue de mucha utilidad ya que permite leer datos de sensores para
poder verlos de manera más sencilla en una pantalla y así poder desarrollar
nuevos programas que ayuden incluso a controlar sistemas de más alta
complejidad.

Referencias
[1] PÉREZ, G. (2015). “Entradas Analógicas”. Open Webinars. Recuperado de:
http://c.conclase.net/borland/?borlandfun=getch
[2] SÁNCHEZ, J. (2016). “Conversor Analógico Digital (ADC)”. WordPress.
Recuperado de:
https://www.ibm.com/support/knowledgecenter/es/SSZJPZ_9.1.0/com.ibm.s
wg.im.iis.ds.basic.doc/topics/r_dsbasic_CHAR_function.html
[3] STMicroelectronics. (2017). “STM32F411”. Sales Terms & Conditions.
Recuperado de:
http://www.st.com/en/microcontrollers/stm32f411.html?querycriteria=product
Id=LN1877