主要内容

测量PWM频率通过触发的ISR Arduino硬件

这个例子向您展示了如何测量频率的脉冲宽度调制(PWM)信号的Arduino使用Arduino®硬件外部中断块。示例使用相同的董事会产生PWM信号和检测。销2连接到销3的Arduino兆2560硬件。销2生成PWM信号。当有上升边销3,外部中断块执行一个函数调用来计算两个连续上升的边缘之间的时间信号,进而用于计算信号的频率在销3。

先决条件

在你开始这个例子中,我们建议你完成开始使用Arduino硬件的例子。

所需的硬件

  • 金宝app支持Arduino电路板

  • USB电缆

  • 试验板线

金宝app仿真软件模型描述

open_system (“arduino_measure_frequency”)

脉宽调制源:脉宽调制块被配置为生成PWM信号的工作周期50%和1000赫兹的频率销2的硬件。生成的模型接受信号的频率来计算生成的信号。这个模型措施产生的信号的频率相同。测量信号的频率所产生的其他来源,外部源连接到销3的硬件。

外部中断处理程序:外部中断块被配置为触发一个中断服务例程(ISR)在每一个前沿的PWM信号。当有一个上升边销3块执行函数调用计算时差两个连续上升的边缘信号。时差是使用这个公式计算和存储的时差数据存储块。

TimeDiff=CTime- - - - - -PTime

地点:TimeDiff是两个连续上升的边缘之间的时间流逝,PTime的时间戳是先前的前沿,CTime的时间戳是当前的前沿。

脉宽调制测量:在每个时间步,这个子系统接收计算的时差外部中断处理程序子系统。如果时差等于0生成,这意味着没有信号。如果时差大于0,子系统使用公式计算频率,频率=1 e-6/TimeDiff

数据存储内存

子系统组成PreviousTime,CurrentTime,TimeDifference数据存储内存块。

步骤1:连接Arduino硬件

1。微的USB电缆连接到硬件和普通计算机的USB电缆。等到硬件上的压水式反应堆里,领导开始闪烁。

2。脉冲发生器销2连接到外部中断销2650 Arduino的大型硬件。如果您使用任何其他Arduino的硬件支持,改变密码通金宝app过引用销映射Arduino计时器独立块

步骤2:配置仿真软件模型金宝app

1。打开arduino_measure_frequency模型在MATLAB®命令窗口。这个模型是预先配置的Arduino大型2560上运行。如果您使用的是Arduino超级2560,跳过本节剩下的步骤。

2。在硬件选项卡上,单击硬件设置按钮。

3所示。在配置参数对话框中,选择硬件实现

4所示。从硬件板列表中,选择Arduino的硬件,您正在使用的类型。不改变任何设置。

5。在仿真软件模型金宝app:

一。修改密码参数的PWM块销产生PWM信号。在这个例子中,密码参数设置为2

b。修改密码参数的外部中断块销产生外部中断。在这个例子中,密码参数设置为3

第三步:测量PWM频率

1。在硬件仿真软件模型的选项卡,金宝app在模式部分中,选择机上运行然后点击监视和优化。这一行动构建,下载和Arduino的硬件上运行模型。模型窗口的左下角显示了模型准备状态,下载和运行模式。金宝app成功建立模型,销2生成PWM信号。每上升边销3产生一个中断之间的时间来计算两个连续上升的边缘信号,进而用于计算PWM信号的频率在销3。上显示的信号的频率显示块。上显示的频率显示块约等于产生的PWM脉宽调制信号的频率。

2。打开分析仿真结果,右键单击记录信号指示器图标并选择开放数据检查。SDI显示所有记录的PWM信号的频率在每个时间步计算。

另请参阅

外部中断触发下游函数调用子系统使用Arduino块