This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我将使用开发套件 TMS320F28379D 和 Matlab 2018a 以及 Code Composer Studio 8.1.0来生成代码并直接在目标上实现。 在使用实时实现从该套件的 ADC 中提取信号时、我遇到了问题。 在 ADC 20μs 中、采样时间设置为定义的采样时间(TS= 1 μ s)模型在外部模式下在一段时间后终止、而采样时间被固有的采样时间=-1所取代。 然后系统会长时间运行、但问题是实际信号频率为50Hz、但从示波器看、它不符合其频率。 请向我推荐我所犯的错误、并为我提供解决方案。
我对硬件中断块有另一个疑问、是否需要实现实时实现(在外部模式下)、请提供建议。
尊敬的 Penendra:
我不确定问题是什么。 50Hz 应该可以正常工作、并且您应该能以该速率看到干净的信号。
硬件中断块不需要在 C2000上实时运行算法。
您最好 联系 MathWorks 技术支持 (并为他们提供您的模型)、以便他们可以帮助调查。
谢谢、
-Brian
谢谢 Venkatesh 先生、
当按照给定链接中所述增加波特率时、Simulink 模型无法在目标硬件上运行、
每当设置波特率(SCI_A) 5e6位/秒并增加采样时间时、示波器上的波形是正确的且正确的、但问题在400至450秒 Simulink 模型终止后再次出现。
我在使用 PI 控制 器进行闭环操作时遇到另一个问题、我尝试 两种方法来连接 PI 控制器
首先 、通过使用增益和分立式积分器创建自己的 PI 控制器、然后正确生成代码并长时间运行模型、但 ADC 和任何模型块的输出始终为零。 为什么它的输出为零
第二种方法是使用 C28x DMC 库 PID 控制器、然后出现错误、给出如下所示:
多种原因导致的误差。
原因:
为了解决这个问题、数据类型转换器模块与以下设置一起使用(图中还附加了数据类型转换器的设置)、
输出最小值[0]和输出最大值[500]
输出数据类型:fixdt (1、132^0)
数据类型助手
型号:定点
但发生的误差如下所示:
###生成构建文件夹中的代码:D:\Hardware\fogi_BOOST_ERT_RTW
###模型的构建过程:"fogi_boost"由于错误而中止。
输入小数长度必须介于1和29之间(包括1和29)。
组件:Simulink | 类别:模型错误
从输出端口1的'fogi_boost/PID Controller/IN1'传播数据类型'int32'时发生错误。
您好!
请通过以下地址联系我们:
https://www.mathworks.com/support/contact_us.html
我们可以让一些专家来研究 PID 问题。