控制L298N驱动电机:PWM控制实现

目录

一、L298N驱动电机

二、pwm波输出——电机转动

pwm参数

pwm参数计算

输出比较

pwm基本结构:运行控制 → 时基单元 →捕获/输出比较通道

时基单元

捕获/输出通道的输出

STM32F103c8t6定时器:TIM1、TIM2、TIM3、TIM4

基本定时器

通用定时器

PWM输出


一、L298N驱动电机

 L298N驱动:输入:12V

  • 12V供电:将电源(2个18650电池)接入升压模块,用螺母旋转调到12V,接入L298N的驱动,给驱动提供12V供电
  • GND:将升压模块的输出端(out–)接入GND端
  • 5v供电:由于驱动输入电压是12V,5V的端口不用接
  • 通道A:ENA 和 通道B: ENB 使能 (驱动的跳帽不要拔,使能端默认高电平)
  • 逻辑输入(N1、N2、N3、N4):
  •                (电机1):N1、N2———输出A

                   (电机2):N3、N4———输出B

  • 输出A、B:接入左右电机
  •         


    注:(跳帽没拔掉,ENA、ENB默认高电平)

    电机转动:

    记得看:哪些端口给pwm输出脉冲波

    不考虑电机调速:使能ENA、ENB置于高电平,直接对N1、N2、N3、N4接入高低电平

    (电机以最快速度转动)———————————没办法调整左右轮速度

    考虑电机调速:使能ENA、ENB置于高电平

  •         (1)只进行调速,不控制轮子的转换方向(即同个轮子的正转or反转)
  •                 2个pwm

                        接入两个端口:左电机(N1/N2) & 右电机:(N3/N4)

                    例:

                   左电机: IN2→PWM1, IN1→GND

                   右电机:IN3→PWM2, IN4→GND

  •         (2)既进行调速,又控制轮子的转换方向(即同个轮子正转&反转)
  •                 4个pwm   

                     左电机:IN1→PWM1,IN2→PWM2

                     右电机:IN3→PWM3,IN4→PWM4  

    左轮:

    (例:)

    正转:PWM2输出占空比为0的波形(相当于置于低电平0),通过调节PWM1的占空比进行调速

    反转:PWM1输出占空比为0的波形(相当于置于低电平0),通过调节PWM2的占空比进行调速

    右轮:同理


    二、pwm波输出——电机转动

    pwm(脉冲宽度调制)

    数字输出信号,高低电平组成 → 连续变化电平信号 → pwm波形

    使用pwm波形可以在数字系统中等效输出模拟量==============电机控速


    pwm参数

  • 频率:f = 1/ Ts
  • 占空比 = Ton / Ts   
  •                 (高电平时间相对于整个周期时间的比例)→ 决定pwm等效出来的模拟电压大小

  • 分辨率 = 占空比变化步距 
  • pwm参数计算

    PWM频率 = CK_PSC / (PSC + 1) / (ARR + 1)

    PWM占空比= CCR / (ARR + 1)

    PWM分辨率= 1 / (ARR + 1)


    输出比较

                    通过比较CNT与CCR(捕获/比较寄存器)值的关系

                                               ↓

                            对输出电平进行置1、置0或翻转的操作

                              (用于输出一定频率和占空比的PWM波形【驱动电机的必要条件】)


    pwm基本结构:运行控制 → 时基单元 →捕获/输出比较通道

  • 时基单元

  •   ① ARR  自动重装器

      ②PSC  预分频器

      ③CNT  计数器

  • 捕获/输出通道的输出

  • 输入捕获电路:(用于测输入方波的频率)四个通道CH1-CH4
  • 捕获/比较寄存器:输入捕获和输出比较电路共用的
  • 输出比较电路:(用于输出PWM波形)四个通道CH1-CH4,驱动电机
  •             CCR 捕获/比较器 (CNT与CCR大小比较)

           →  输出模式控制器===发出REF信号(指:输出信号的高低电平)

           → 极性选择 (CNT与CCR大小比较)(输出比较模式配置:例:PWM模式1 向上计数)

           →输出到GPIO


    STM32F103c8t6定时器:TIM1、TIM2、TIM3、TIM4

  • 1个高级定时器(TIM1)       总线:APB2     
  •                                 拥有通用定时器全部功能

                                                     +

                            重复计数器+死区生成+互补输出+刹车输入  (三相无刷电机)

  • 3个通用定时器(TIM2、TIM3、TIM4)       总线:APB1
  •                                拥有基本定时器全部功能(定时中断、主模式触发DAC的功能)

                                                     +

                            内外时钟源选择+输入捕获+输出比较+编码器接口+主从触发模式


    基本定时器

    PSC 预分频器

    CNT 计数器

    ARR 自动重装寄存器

    通用定时器

  • TIMx_ETR外部时钟(EXternal)—–ETR(外部输入引脚)接

  •                配置内部的极性选择、边沿检测、预分频器电路

    ①外部ETR触发脚信号
    ETR:与外部管脚相连的触发定时器专用触发脚

    ②边沿预分频后ETR信号
    ETRP:边沿预分频后ETR信号

    ③经过滤波后的ETR有效信号
    ETRF:ETRP经过滤波,极性,边沿后的有效信号

  • 定时器的编码器接口——读取正交编码器的输出波形

  • PWM输出

    输出脉宽可调的方波信号

    影响因素(两个关键):

            1.信号频率由自动重装载寄存器(ARR)的值决定

            2.占空比由比较寄存器(CCR)的值决定


    总结

    第一次写博客,想把自己最近的学习心得记录下,相互学习,有错误的话,欢迎大佬指正。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 控制L298N驱动电机:PWM控制实现

    发表评论