STM32F103C8T6 核心板+L298N 直流电机调速 PWM 调速(一)功能说明 用 L298N 驱动一台直流减速电机,引脚 IN1,IN2 可用于 PWM 控制。仅用 STM32 的两个端口给出 PWM信号控制 IN1,IN2 即可实现正反转、加减速等动作。(二)硬件说明:控制板:STM32F03C8T6 最小系统;控制板说明型号:STM32F103C8T6内核:ARM 32 位的 CortexTM-M3 CPU调试方式:SWD尺寸:22.86mm×53.34mm直流电机驱动板:L298N 是 SGS 公司的产品,比较常见的是 15 脚 MulTIwatt 封装的 L298N,内部同样包含4 通道逻辑驱动电路。可以方便的驱动两个直流电机,或一个两相步进电机。(三)资源配置: STM32F03C8T6 使用端口定义端口功能说明配置PA2连接 L298N 芯片的 IN1 通用定时器的 PWM 功能, TIM2_CH3PA3连接 L298N 芯片的 IN2通用定时器的 PWM 功能,TIM2_CH4PC13控制板带的 LED 指示灯,周期性的变化,每变化一次,电机的转运方向变化一次。由 TIM3 中断定时控制。通用定时器 TIM3 定时中断L298N 端口定义 IN1IN2ENA电机状态PA20始终是 1顺时针运转,调整 PA2 的频率,可高速。 0PA3始终是 1逆时针运转,调整 PA2 的频率,可高速。00始终是 1停止(四)软件实现 1:通用定时器 TIM3 的中断定时实现步骤① 使能定时器时钟。RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);② 初始化定时器,配置【ARR 自动装载值,PSC 预分频系数。】 TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);③ 开启定时器中断,配置 NVIC。TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE); NVIC_Init(&NVIC_InitStructure);④ 使能定时器。TIM_Cmd(TIM3, ENABLE); //实际是配置 控制寄存器 1 (TIM3_CR1) ⑥ 编写中断服务函数。TIMx IRQHandler();2:通用定时器 TIM2 的 Channel1、Channel2 的 PWM 实现步骤① 使能定时器 2 和相关 IO 口时钟。使能定时器 2 时钟:RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);使能 GPIOB 时钟:RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);② 初始化 IO 口为复用功能输出。函数:GPIO_Init();GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;③ 初始化定时器:ARR,PSC 等:TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);④ 初始化输出比较参数:TIM_OC3Init(TIM2, &TIM_OCInitStructure); TIM_OC4Init(TIM2, &TIM_OCInitStructur...