tdse-tp4_02-pwm

FIUBA - Electrónica - Taller de Sistemas Embebidos - Trabajo Práctico N°: 4 - PWM
Index Commits Files Refs README
commit 20c88d2f31268b093d67ba6748e22c5e6354e17a
parent 15b35c448c79fd89b6eafae5d47b573ddb0824b0
Author: Martin Kloeckner <mjkloeckner@gmail.com>
Date:   Sun,  2 Nov 2025 17:51:45 -0300

Updated `app/pwm.*`

Diffstat:
Aapp/pwm.png | 0
Mapp/pwm.txt | 51++++++++++++++++++++++++---------------------------
2 files changed, 24 insertions(+), 27 deletions(-)
diff --git a/app/pwm.png b/app/pwm.png
Binary files differ.
diff --git a/app/pwm.txt b/app/pwm.txt
@@ -1,15 +1,7 @@
-Para este proyecto se configura el Timer 3 del microcontrolador para generar una
-señal PWM. Para hablar de timers es necesario primero definir a que frecuencias 
-trabajan los periféricos y buses del microcontrolador.
-
-Los relojes del microcontrolador
-
-, en particular parte del código generado por CubeMX para inicializar
-el timer se encuentra en el archivo `main.c`, en la función `MX_TIM3_Init`. Para
-habl
-
-Eliminando comentarios utilizados por CubeMX, resulta en el código a
-continuación:
+Para este ejemplo se configura el Timer 3 del microcontrolador para generar una
+señal PWM. Parte del código generado por CubeMX para inicializar el timer se
+encuentra en el archivo `main.c`, en la función `MX_TIM3_Init`. Eliminando
+comentarios utilizados por CubeMX, resulta en el código a continuación:
 
 ```c
 static void MX_TIM3_Init(void)
@@ -49,18 +41,23 @@ static void MX_TIM3_Init(void)
 }
 ```
 
-Se configura el timer 3 para contar de manera ascendente de 0 a 65536, esto
-en conjunto con el reloj del timer define el período de la señal. El prescaler
-se configura en 0 por lo que el reloj del timer es el reloj del bus al que esta
-conectado, en el caso del timer 3, el bus es APB3, este cuenta con un reloj 
-
-
-```
-TIM_MasterConfigTypeDef sMasterConfig = {0};
-TIM_OC_InitTypeDef sConfigOC = {0};
-```
-
-Estas estructuras se usan para:
-
-* sMasterConfig: configurar opciones maestro-esclavo entre temporizadores.
-* sConfigOC: configurar parámetros del canal de salida (Output Compare / PWM).
+Del codigo generado (y tambien de la interfaz en CubeMX) se observa que se
+configura el timer 3 para contar de manera ascendente de 0 a 65536, esto en
+conjunto con el reloj del timer define el período de la señal. El prescaler se
+configura en 0 por lo que el reloj del timer es el reloj del bus al que esta
+conectado, en el caso del timer 3, el bus es APB3, este bus es el bus de alta
+velocidad y en este caso utiliza la misma frecuencia del microcontrolador, ya
+que no hay prescaler.
+
+El periodo en segundos total de la señal PWM generada viene dado por la
+siguiente relacion:
+
+$$
+T = Frecuencia / ((Periodo + 1)*(Prescaler + 1))
+$$
+
+Con la frecuencia del microcontrolador 64 MHz, prescaler nulo y periodo 65535 el
+periodo resulta aproximadamente 1 ms, 1.024 ms para ser exactos. Para verificar
+esto se puede ver en la captura `pwm.png` en la cual se observar que la
+frecuencia (1/delta T arriba a la izquierda) es 976.5 Hz y el periodo (delta T)
+1.02ms.