Difference between revisions of "Nucleo Boards for Control Systems"
Line 1: | Line 1: | ||
__TOC__ | __TOC__ | ||
− | + | {{mbox}} | |
+ | # header | ||
<h1> Lectura y escritura de pines </h1> | <h1> Lectura y escritura de pines </h1> |
Revision as of 18:13, 5 February 2023
Contents
- header
Lectura y escritura de pines
Encoder
PWM
Teoría
Principales registros
Prescaler (PSC)
El preescalado es un registro que especifica entre cuánto se debe dividir la frecuencia de referencia del reloj usado por el timer. En concreto, la reducción de frecuencia se aplica de la siguiente manera:
f_PWM = f_CLK / (PSC + 1)
Por lo tanto, hay que tener en cuenta que si queremos mantener la misma frecuencia que la del reloj de referencia debemos fijar PSC=0. Los timers del STM32 admiten valores de preescalado de hasta 65535, mediante registros de 16 bits.
Auto Reload Register (ARR) y Capture Compare Register (CCR)
El registro ARR almacena el valor máximo que debe alcanzar el contador antes de volver a cero. Por otra parte, CCR registra valor del contador del timer asociado a partir del cual la señal PWM de salida pasa de nivel alto a nivel bajo. Cada canal del timer usado para la generación de señal PWM tendrá un registro CCR diferente (por ejemplo CCR1 y CCR para canales 1 y 2). De esta manera, el valor de CCR junto con el valor de ARR definen la anchura de los pulsos y con ello el ciclo de trabajo de la señal PWM:
Duty_Cycle (%) = 100 * (CCR / ARR)
CNT
Es el registro que almacena el valor actual del contador usado para la generación PWM.
Configuración de PWM en STM32CubeIDE
Para configurar el timer como PWM primero debemos seleccionar uno de los posibles timers configurables como generador PWM. También debemos decidir los canles que queremos usar como salidas PWM.