Difference between revisions of "Nucleo Boards for Control Systems"

From RobolaboWiki
Jump to: navigation, search
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

Template:Mbox

  1. 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.