应用例程:使用输入捕获单元进行PWM脉冲测量


基本信息

基于STM32F103RCT6核心板,在最小系统的基础上,添加一路输入捕获单元。测量PWM脉冲模块所发脉冲的频率和占空比,并将运算结果显示在OLED屏上。

视频下载

暂无

实验硬件

STM32F103RCT6核心板(1块)[ 购买 ]

CH340E通讯小板(1块)[ 购买 ]

Micro-USB通讯线(1根)[ 购买 ]

OLED屏SSD1306(1块)[ 购买 ]

PWM脉冲输出模块(1块)[ 购买 ]

电路参考

  • CH340E通讯小板通过Micro-USB通讯线连接到电脑。
  • CH340E通讯小板的GND连接核心板的GND、+5V连接核心板的V5、串口TX、RX分别连接STM32F103xC核心板的RX、TX。
    CH340E通讯小板GND----GNDP4端子STM32F103xC核心板
    +5V----5V
    TXD----RX
    RXD----TX
  • 液晶屏插入STM32F103xC核心板的P5端子。
    OLED屏SSD1306GND----GNDP5端子STM32F103xC核心板/td>
    VCC----V3
    D0----PB3
    D1----PB5
    RES----PD2
    DC----PA15
    CS----PC12
  • PWM脉冲输出模块连接STM32F103xC核心板
    PWM脉冲输出模块VIN+----V5P1端子STM32F103xC核心板
    VIN-----GND
    PWM----PA0

关键配置说明

添加IoM蓝图,在配置节点Input下面,添加一个输入管脚PA0,映射的PLC变量为I0.0。

添加Icu蓝图,在蓝图中分别添加输入捕获单元管理模块Icu、输入捕获单元底层TIM2_IcuL、输入捕获单元底层实现TIM_IcuLI。

在蓝图中选择TIM_IcuL模块,在配置节点Channel中添加一路捕获通道Channel0,使用的硬件捕获通道是CC1,对应的单片机管脚是PA0。

在蓝图中选择Icu模块,在配置节点Channel中添加一路捕获通道Channel0,使用底层TIM2_IcuL模块的Channel0通道。

在蓝图中选择Icu_Fe模块,在配置节点Port中添加Port0,选择捕获通道为Channel0。

应用程序

梯形图

NETWORK 0 配置输入捕获端口Port0:能流驱动、PWM测量模式,时间单位为1us

NETWORK 1 获取PWM输入的周期和高电平时间,时间单位为1us

NETWORK 2 计算占空比,因为OLED屏上显示3位数字(XX.X%),因此这里将高电平时间乘上1000后在除以周期时间,计算使用双字防止数据溢出

NETWORK 3 计算频率,单位是0.1KHz。

NETWORK 4 为了防止OLED屏上的数据变化太快无法看清,这里每过200ms刷新一次数据

液晶屏配置

实验步骤

将配置上传到服务器,固件下载到STM32F103xC核心板后,将梯形图也下载到核心板;调整PWM脉冲输出模块的频率和占空比,观察OLED屏上测量结果的变化。

指令说明

相关下载