OC 输出比较

IC 输入捕获

CNT:时机单元 的计数器

 

有效电平:高电平 冻结:暂停pwm

无效电平:低电平

 

 产生1个1khz 占空比为50,分辨率为1%的pwm波形

 1Mhz=1000000hz

ARR=100    CCR=50  PSC=720;

  20ms=50hz

 

 TB661驱动电路的硬件图

AIN1给 高  AIN2给 低  pwm为高电平时 反转,pwm为低电平时 正转  当频率足够大时 就能进行反转

正转同理

pwmled呼吸灯

使能GPIO   配置时机单元  配置比较单元  配置复用GPIO

配置比较单元: 

设置pwm比较的值:

初始化定时器:

 初始化GPIO:

 输出模式改为复用的推挽输出

要实现PWM值的不断的变换 就需要不断的改变rcc的值

需要用到配置比较单元的函数:

在主函数中不断更改rcc的值 

 AFIO 重映射功能:

看引脚的定义:

开启AFIO的重映射时钟

 设置复用端口: 复用端口刚好为调试端口 写第三句  关闭JTAG的调试端口

这里是将PA0的io口重映射到了PA15 

PWM驱动舵机:

 输出这个波形 就ok了

同时使用两个通道输出PWM,频率必须是一样的,rcc占空比可以设置的不一样

 频率是20ms 就是50hz ,ARR给20k 对应的就是20ms 

CCR给500对应的就是0.5ms

输出的CCR在配置结构体的时候给0

然后调用pwm中的设置函数设置占空比就可以了

可以将角度的调整封装成函数

 数学关系进行角度的缩放

 利用先前的按键读取来进行角度的变换

 直流电机驱动的接线方法:

VM接5v  vcc接3.3v  AO1和AO2接直流电机的两个引脚

PWMA 接stm32的PWM输出口,AN1和AN2再任意接stm32的两个任意IO口 这个是控制方向

 初始化 控制方向的两个脚,pwm初始化

设置高频率 降低预分频  就不会有蜂鸣器的声音了

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐