在Simulink中的锯齿信号计数器万博1manbetx

6次浏览(最近30天)
s0ter48
s0ter48 2021年5月3日
回答: s0ter482021年5月8日
大家好,
我在为我的模特准备一个圆形的柜台。圆形计数器应该计算多少转(360°或6.2832rad)我的电机已转。
信号是锯齿状的,并且工作是离散的(50us)。
锯齿状突起的例子:
呈锯齿状上升++(递增),下降- -(递减)。
但我并没有在正常计数上更进一步。
我认为离散信号会让它变得更困难。
我添加了一个例子,但它缺少一个锯齿。但我看不出哪里错了。
我先谢谢你。

答案(4)

安迪·巴特利特
安迪·巴特利特 2021年5月4日
看边缘检测块和累加模式下的离散积分器。
您还可以查看边缘检测块的掩码,以查看底层设计模式。
从图上看,你需要一个不同的阈值,而不是检测下降到0以下。
1评论
s0ter48
s0ter48 2021年5月7日
谢谢你的快速回复。
但离散积分器(累加模式下)究竟与计数有什么关系呢?
我忘记提到,当锯齿走向另一个方向,它应该减少计数器。

登录评论。


安迪·巴特利特
安迪·巴特利特 2021年5月7日
该图标显示了累加模式下积分器块的z域描述(注意K = 1)
Y(z) = (z / (z-1)) * U(z)
这就变成了
z * Y(z) - Y(z) = z * U(z)
用代数的方法
Y(z) = z^-1 * Y(z) + U(z)
变换到时域,z^-1对应一个1的时间步长延迟。
Y(i) = Y(i-1) + U(i)
所以时间步骤i的输出是通过将时间步骤i的输入加上前一个时间步骤的输出来计算的。
将第一个Y初始化为零,块将随着时间的推移将所有输入值相加(也称为累加)。
如果输入是布尔值,则值为0和1,因此累加器对模拟开始后出现的1进行简单计数。
要同时向上和向下计数,将-1、0或1的适当序列输入累加器。
为了创建该序列,研究检测下降和上升块在做什么,然后对您的情况进行概括,创建布尔信号,表示向前包装或向后包装事件。

s0ter48
s0ter48 2021年5月7日
我现在创建了两个计数器。
counter #1正在做我想做的事情,但是有些事情发生了变化,我认为他正在失去锯齿。您可以在范围中看到结果。
筹码2:一切都很好,直到出现转机。他仍然不断地增加计数器。
也许你看到了我看不到的东西。
我附加了模型。

s0ter48
s0ter48 2021年5月8日
我有一个小的(条件)错误... .
但现在应该解决了。
我没有看到任何进一步的错误或计算错误。
如果你告诉我=)。
您可以在附件中找到模型。
致以最亲切的问候。

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!