0% encontró este documento útil (0 votos)
25 vistas15 páginas

TPF Sintejec Taller Embebidos

Cargado por

slazo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
25 vistas15 páginas

TPF Sintejec Taller Embebidos

Cargado por

slazo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Taller de Sistemas Embebidos (TA134)

FACULTAD DE INGENIER ÍA DE LA UNIVERSIDAD DE B UENOS A IRES

T RABAJO F INAL
P RODUCTO M ÍNIMO V IABLE :
S ISTEMA DE M ONITOREO

Autores: Padrón: Correo:


Baldoni, Sofia padron sbaldoni@[Link]
Lazo, Sebastian Nahuel 106213 slazo@[Link]
Spadachini, Franco Nicolas 110032 fnspada@[Link]
Gomez, Cassandra 109695 Cgomez@[Link]

Profesor titular: Juan Manuel Cruz


Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

Índice
1. Resumen 2

2. Objetivo 2

3. Descripción del Sistema 2


3.1. Descripción del Comportamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.2. Componentes involucrados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3. Arquitectura general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3.1. Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
3.3.2. Diagramas Eléctricos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.3.3. Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.3.4. Diagrama de flujo del algoritmo de actualización de los Sensores . . . . . . . . . . . . . . . . . 7
3.3.5. Estructura de Cola Circular Utilizada en el Menú . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.3.6. Maquina de estado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.4. Tipo de Monitoreo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.4.1. Sensores Incorporados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.2. Formato de los Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.4.3. Factor de Escalado . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5. Protocolos de Comunicación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.6. Tecnologı́as utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

4. Medición de Parámetros 11

5. Análisis de Consumo 11

6. Factor de Uso de la CPU 12

7. Índice de figuras 13

8. Equipos e instrumental de medición 14

9. Bibliografı́a 14

o Página 1 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

1. Resumen
El presente proyecto fue desarrollado en el marco de la asignatura Taller de Sistemas Embebidos de la carrera de
Ingenierı́a Electrónica, aplicando conocimientos teóricos y prácticos adquiridos durante la formación intermedia.

Se trata de un sistema de monitoreo para un vehı́culo aéreo no tripulado (dron), diseñado para visualizar infor-
mación relevante como la temperatura, inclinación y altura. Estos datos se obtienen mediante un sensor inercial y se
presentan a través de un menú interactivo, que además permite configurar distintos modos de operación y consumo
energético.

2. Objetivo
Para garantizar la viabilidad del proyecto se propuso como objetivo cumplir con las siguientes caracterı́sticas:
El sistema debe visualizar en tiempo real los parámetros que caracterizan el movimiento del dron cuando se lo
solicite mediante el menú interactivo. Se debe poder intercambiar modos de operación desde el menú interactivo.
Garantizar criterios de calidad en el desarrollo del software: eficiencia en el uso de recursos, escalabilidad para
futuras mejoras o ampliaciones del sistema, y facilidad de interpretación del código para asegurar su mantenimiento y
reutilización.

Visualización en tiempo real de los parámetros del sistema simulando el comportamiento de un dron.

Transmisión de datos desde el sistema a una estación base.

Interfaz básica para monitoreo remoto.

Implementación de un menú interactivo en pantalla LCD para mostrar los datos.

Validación de técnicas de programación estructurada y bajo consumo en sistemas embebidos.

3. Descripción del Sistema


3.1. Descripción del Comportamiento
El sistema funciona de manera continua dentro de un lazo principal (super-loop) con una base temporal de 1ms. El
microcontrolador lee datos de inclinación a través de un sensor y, en función del ángulo detectado, activa dos LEDs
ubicados en la dirección correspondiente.
Además del encendido direccional, el sistema ajusta el brillo de los LEDs proporcionalmente al ángulo de inclinación.
Esto se logra mediante modulación por ancho de pulso (PWM) generada por el microcontrolador.
El menú LCD cumple una doble función:

Permite al usuario habilitar o deshabilitar el funcionamiento de los LEDs.

Muestra en tiempo real los valores actuales de inclinación en los ejes X e Y.

El sistema está organizado en diferentes modos de operación:

NORMAL: muestra los valores de inclinación y ajusta el brillo de los LEDs en tiempo real.

SET UP: permite configurar el encendido o apagado de LEDs desde el menú.

o Página 2 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.2. Componentes involucrados


Placa de desarrollo ST NUCLEO-F103RB

Microcontrolador STM32F103RBT6

Placa de prubeas autoperforada

Pulsadores

Display LCD 16x2 Segmentos.

3.3. Arquitectura general


Se establecieron las pruebas en base a dos placas experimentales, la primera correspondiente a la estación base
del sistema y la segunda correspondiente a una representación de un dron y se desarrollo el código en un entorno de
desarrollo con diferentes depuradores incorporados para ayudar a la medición de rendimiento y correción de posibles
errores.

3.3.1. Hardware

La placa base cuenta con el microcontrolador incorporado en una placa de desarrollo con diferentes puertos
accesibles para el desarrollo junto con un display lcd para visualizar el menú y los datos obtenidos, por ultimo la placa
cuenta con diferentes pulsadores para controlar el sistema en modo usuario.

Figura 1: Disposición de la placa de pruebas correspondiente a la base del sistema.

o Página 3 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

Placa de desarrollo NUCLEO-F103RB

Pulsadores

Display LCD 16x2

Resistor variable

Figura 2: Disposición del prototipo de pruebas del dron.

La segunda placa, correspondiente a la representación del dron, cuenta con cuatro leds indicadores conectados
mediante resistores para controlar la corriente suministrada.

Sensor MPU6050

Leds indicadores

Conector socket

Resistores

o Página 4 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.3.2. Diagramas Eléctricos

A continuación se detallan las principales conexiones eléctricas establecidas entre la placa de desarrollo y los
módulos del sistema, basándose en el estándar Morpho Connector de la placa NUCLEO-F103RB de STMicroelectronics,
empleado para la integración de módulos periféricos y componentes externos tales como sensores, indicadores y
elementos de control.

Figura 3: Conexión módulo MPU6050 (izquierda) y conexión LEDs indicadores (derecha).

La placa representativa del dron contiene los LEDs indicadores conectados mediante resistores de 2k2 Ω y el módulo
MPU6050, que agrupa los distintos sensores utilizados.

Figura 4: Conexiónes del display y de los pulsadores mediante el estandar Morpho connector.

La conexión del display se da con un resistor variable para el ajuste del brillo y resistores de 1 kΩ para el control de
corriente.

o Página 5 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.3.3. Software

El desarrollo del software se realizó utilizando el entorno de desarrollo provisto por STMicroelectronics (STM32CubeIDE).
Se adoptó una arquitectura de programación Bare Metal (sin sistema operativo), implementada en lenguaje C, con un
enfoque basado en eventos. El sistema fue diseñado a partir de tareas no bloqueantes, estructuradas en módulos que
responden a estı́mulos especı́ficos del entorno.
La lógica del programa sigue el paradigma de escrutar / procesar / actuar, promoviendo una estructura modular y
de fácil mantenimiento.

Lenguaje: C

Tipo de programación: Bare Metal (sin sistema operativo)

Modelo de ejecución: Basado en eventos (Event-Triggered System)

Arquitectura: Modular y estructurada (Escrutar – Procesar – Actuar)

Figura 5: Diagramas de bloques representativo de la aplicación desarrollada.

El sistema está diseñado bajo un esquema orientado a eventos y tareas. En la fase inicial, se crean e inicializan tres
tareas principales: Sensores, Menú y PWM.
Posteriormente, en el ciclo principal de ejecución, se actualizan periódicamente estas tareas mediante estructuras
iterativas (for), que permiten procesar cada tarea y sus eventos asociados de manera secuencial y organizada. Este
enfoque facilita el manejo eficiente y sincronizado de múltiples procesos concurrentes dentro del sistema embebido.

o Página 6 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.3.4. Diagrama de flujo del algoritmo de actualización de los Sensores

Inicio

Incrementar g task sensor cnt

Desactivar interrupciones

No
¿tick cnt ¿THRESHOLD? Fin

Sı́

Activar interrupciones

Inicio del bucle

Desactivar interrupciones

Sı́
¿tick cnt ¿THRESHOLD? tick cnt–, continuar

No

Activar interrupciones

Para cada sensor...

Leer botón: ¿presionado?

FSM: actualiza estado y evento

No
Repetir bucle ¿Fin de sensores?

Sı́

Fin del bucle

o Página 7 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.3.5. Estructura de Cola Circular Utilizada en el Menú

El menú utiliza una cola circular para gestionar eventos del tipo task menu ev t con una capacidad máxima de
MAX EVENTS.

Inicialización: La función init queue event task menu() resetea los ı́ndices head y tail a 0, el contador count
a 0, y establece todos los elementos de la cola a EVENT UNDEFINED, indicando que está vacı́a.

Inserción de eventos: La función put event task menu(event) añade un evento en la posición head de la cola,
incrementa head (con wrap-around) y actualiza el contador count. No verifica si la cola está llena.

Extracción de eventos: La función get event task menu() extrae el evento en la posición tail, lo elimina
(marcándolo como EVENT UNDEFINED), incrementa tail (con wrap-around) y decrementa el contador count. No
verifica si la cola está vacı́a.

Consulta de eventos: La función any event task menu() retorna true si existen eventos pendientes (cuando
head y tail son diferentes).

Figura 6: Diagrama de estructura de cola implementada en el menu.

3.3.6. Maquina de estado

Mediante la herramienta itemis CREATE se modelo el comportamiento del menú mediante la representación de
los estados, según el estado actual y una entrada determinada, la máquina realiza transiciones de estado y produce
resultados.

o Página 8 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

Figura 7: Representación de la maquina de estados del menú interactivo.

Figura 8: Representación de la maquina de estados de los pulsadores.

3.4. Tipo de Monitoreo


El monitoreo del sistema se basa en el sensor MPU6050, una unidad de medición inercial (IMU) de 6 grados de
libertad (6-DOF), que integra un acelerómetro triaxial y un giróscopo triaxial en un solo encapsulado. Este dispositivo
permite obtener parámetros dinámicos relevantes del dron, tales como aceleración lineal, velocidad angular, inclinación
y orientación espacial. Su integración en sistemas embebidos se realiza tı́picamente mediante una interfaz I2C.

o Página 9 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.4.1. Sensores Incorporados

Acelerómetro (3 ejes): mide la aceleración lineal en los ejes X, Y y Z. Permite detectar movimientos lineales y
estimar la inclinación del dispositivo con respecto al eje vertical.

Giroscopio (3 ejes): mide la velocidad angular (rotacional) en los ejes X, Y y Z. Es fundamental para determinar
los cambios de orientación del dron, comúnmente expresados como pitch, roll y yaw.

Sensor de temperatura interno (opcional): aunque no es altamente preciso, puede utilizarse para compensacio-
nes térmicas del sistema.

3.4.2. Formato de los Datos

Los datos generados por el MPU6050 son accesibles a través de registros de 16 bits (2 bytes) cada uno, comenzando
en la dirección 0x3B. Una lectura completa abarca 14 bytes e incluye:

6 bytes para aceleración (3 ejes)

2 bytes para temperatura

6 bytes para velocidad angular (3 ejes)

Estos datos son valores crudos (raw) en formato complementado a dos, y deben ser escalados de acuerdo a la
configuración de sensibilidad del sensor.

3.4.3. Factor de Escalado

La conversión de los valores crudos a unidades fı́sicas (m/s2 o °/s) se realiza mediante un factor de escala que
depende del rango de medición configurado:

Acelerómetro: por ejemplo, para un rango de ±2g, el factor de escala es 16,384 LSB/g.

Giroscopio: para un rango de ±250°/s, el factor de escala es 131 LSB/(°/s).

Con los datos del acelerómetro, es posible calcular la inclinación del dron utilizando relaciones trigonométricas:

 
ay 180
Roll = arctan ·
az π
 
−ax  · 180
Pitch = arctan  q
a2y + a2z π

Estos ángulos representan la inclinación del dron en los planos lateral y frontal, siendo claves para el monitoreo,
estabilización y control del sistema.

3.5. Protocolos de Comunicación


La comunicación del microcontrolador con los diferentes componentes del sistema se realiza mediante protocolos
que establecen la forma en que los datos se envı́an, como puede ser su codificación y la velocidad con que se envı́an.

o Página 10 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

3.6. Tecnologı́as utilizadas


IDE: STM32CubeIDE

Gestor de Versiones: GIT

Repositorio Remoto: Github

Depurador: OpenOCD

4. Medición de Parámetros

Tabla 1: Análisis de viabilidad técnica y económica del sistema embebido de monitoreo para dron
Parámetro Descripción / Método de medi- Valor obtenido / Unidad
ción estimado
Consumo promedio del sistema Estimativo 62.26 mA
Tiempo de ejecución de tareas Tiempo desde solicitud de lectura ** ms
hasta despliegue en LCD
Precisión de temperatura Según hoja de datos del sensor y ±2 °C
pruebas en laboratorio
Rango de medición acelerómetro Hoja de datos del fabricante ±2 g (g ≈ 9,8 m/s)
Precisión de altura Hoja de datos del fabricante ± 10 cm
Costo estimado del hardware Incluye MCU, sensores, pantalla, 22.62 USD
conexiones
Tiempo de desarrollo Desde planificación hasta prototi- 6 semanas
po funcional
Escalabilidad del sistema Posibilidad de integrar nuevos Alta –
sensores y expandir el menú
Facilidad de mantenimiento Código modular y documentado, Alta –
basado en tareas

5. Análisis de Consumo
Para estimar la corriente total del sistema se consideraron los consumos tı́picos de cada componente:

NUCLEO-F103RB (con ST-LINK) = 40 mA, LCD 16×2 (con retroiluminación) = 16 mA, MPU6050 = 3,9 mA y
cuatro LEDs con resistores 2k2 Ω cada uno. Se asume que los pulsadores no consumen corriente en reposo (entradas
con pull-up).

La placa se alimenta con 5V mediante la conexión del mini USB, esta placa como máximo puede entregar
120 mA y por cada pin como máximo 25 mA y 3,3 V.

La corriente de cada LED se calcula usando la ley de Ohm, suponiendo VCC = 3,3 V y caı́da en el LED Vf ≈ 2,0 V:

VCC − Vf 3,3 − 2,0


ILED = = A ≈ 590 µA.
R 2k2

Para los cuatro LEDs:


I4LEDs = 4 · ILED ≈ 4 · 590 µA = 2,36 mA.

o Página 11 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

Sumando los consumos individuales obtenemos el total en el escenario con todos los LEDs encendidos:

Itotal = IN U CLEO + ILCD + IM P U + I4LEDs = 40,00 + 16,00 + 3,90 + 2,36 mA ≈ 62,26 mA.

Se reporta 62,2 mA como consumo estimado en operación tı́pica con LEDs encendidos.
En un escenario de ahorro donde la retroiluminación o los LEDs están apagados, se excluye la corriente de los LEDs
(2.36 mA):
Iahorro = Itotal − I4LEDs ≈ 62,2 − 2,36 = 59,9 mA,

reportado como 60 mA .
Para referencia rápida, la potencia eléctrica asociada al consumo máximo estimado es:

P = VCC · Itotal = 5 V · 62,26 mA ≈ 311,32 mW.

Observaciones: los valores son estimativos y dependen de la configuración real (por ejemplo: intensidad de la
retroiluminación del LCD, actividad del ST-LINK, variantes del MCU en placa propia). Para una determinación precisa
se optarı́a por medir la corriente con un multı́metro en serie, fuente de laboratorio o con un medidor de consumo en la
placa final.

Tabla 2: Análisis de Consumo Energético del Sistema de Monitoreo


Modo de Operación Voltaje (V) Corriente (mA) Consumo (mW)
Modo Activo 5 67.5 311.32
Modo No Activo 5 60 300

6. Factor de Uso de la CPU


W CET
Factor de uso U = P eriodo

Tabla 3: Medición y análisis de tiempos de ejecución (WCET) y cálculo del Factor de Uso (U) de la CPU
Tarea WCET (ms) Periodo (ms) Factor de Uso U Observaciones
Sensores
Menú
PWM
Otras

o Página 12 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

7. Índice de figuras
1. Disposición de la placa de pruebas correspondiente a la base del sistema. . . . . . . . . . . . . . . . . . 3
2. Disposición del prototipo de pruebas del dron. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Conexión módulo MPU6050 (izquierda) y conexión LEDs indicadores (derecha). . . . . . . . . . . . . . 5
4. Conexiónes del display y de los pulsadores mediante el estandar Morpho connector. . . . . . . . . . . . 5
5. Diagramas de bloques representativo de la aplicación desarrollada. . . . . . . . . . . . . . . . . . . . . 6
6. Diagrama de estructura de cola implementada en el menu. . . . . . . . . . . . . . . . . . . . . . . . . . 8
7. Representación de la maquina de estados del menú interactivo. . . . . . . . . . . . . . . . . . . . . . . 9
8. Representación de la maquina de estados de los pulsadores. . . . . . . . . . . . . . . . . . . . . . . . . 9

o Página 13 de 14 o
Circuitos electrónicos (86.06)
Circuitos microelectrónicos (TB068)
Curso 1 - 1.º Cuatrimestre 2025
Trabajo de laboratorio 1
Fecha: 12 de agosto de 2025

8. Equipos e instrumental de medición


Osciloscopio Digital, Gratten, Modelo : GA-1102CAL

Fuente de alimentación Conmutada, Yihua, Modelo : 305D-IV

Fuente de alimentación Lineal, LTech, modelo HY-3005E-2

Multimetro Digital, ProsKit, Modelo: MT-1210

9. Bibliografı́a

Referencias
[1] René Beuchat, Florian Depraz, Andrea Guerrieri, Sahand Kashani. Fundamentals of System-on-Chip Design on Arm
Cortex-M Microcontrollers. Arm Education Media, 2021. ISBN: 978-1-911531-334-30 (print), 978-1-911531-35-7
(epub).

[2] Donald Norris. Programming with STM32: Getting Started with the Nucleo Board and C/C++. McGraw Hill TAB,
2018. ISBN: 978-1260031317.

[3] Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language. 2nd ed., Pearson, 1988. ISBN: 978-
0131103627.

o Página 14 de 14 o

También podría gustarte