万博1manbetx模型代数循环尚未解决的

36视图(30天)
凯文
凯文 2015年2月25日
晚上好,我目前开发的控制程序。我的想法是要同时输入和输出电压和计算工作周期(基本上一个前馈)。
我的模拟程序遇到一个问题,当我想提要信息来自输出PWM块(这意味着当我给责任周期计算的输入和输出,它崩溃)
我给你的示意图(最更新的版本是一个又)和错误消息:一个错误发生在运行模拟和仿真是终止
万博1manbetx仿真软件不能解决代数循环包含“charger_caracterisation /解算器配置/ EVAL_KEY INPUT_1_1_1的1.0时间e-5使用LineSearch-based算法由于以下原因之一:模型是不明确的。,系统方程没有解决方案;或者是非线性方程解算器未能收敛由于数值问题。排除解决收敛误差的原因,要么)切换到TrustRegion-based算法使用 set_param (“charger_caracterisation”、“AlgebraicLoopSolver”、“TrustRegion”) b)减少VariableStepDiscrete解决RelTol参数的解算器需要较小的时间步长。如果错误仍然存在,尽管上面的变化,那么该模型可能是不明确的,需要修改。
问题发生只有当我把信息输出,输入不是代数loop._问题当我喂它
当然我试着提出的解决方案仿真软件崩溃,但没有万博 尤文图斯效果。万博1manbetx
  • 我删除了非线性元素,尤其是诱发不连续的开关(我想用为了执行一个软启动)- >没有影响
  • 我定义的优先级:我不想仿真软件计算duty_cycle之前计算的输出。万博1manbetx它没有任何意义,甚至给我。- >没有影响
  • 我正在试图抑制每一个直接从这个循环引线:我使用的内存块。我可能不得不使用其他技巧来实现这一目标。不可能的
  • 我可能不得不initialyse物理条件帮助解决者被接近的解决方案,然后帮助其收敛。部分完成的- >是结果(但仍然不工作)
  • 使用集成电路块初始化值直通的信号- >是完成结果(但仍然不工作)
  • 初始化当前值的电感器,以防止仿真软件仿真开始在一个奇怪的初始状态(如张力超过40 kv…)万博1manbetx完成,工作时不使用前馈
  • 我也会尝试增加迭代的数量由解算器试图收敛。未完成的
我不想使用PID,因为这个控制器的最终应用程序不仅仅是为了一块钱。我会继续寻找,但如果有人有一个快速的解决方案,我会很乐意接受它。

答案(1)

塞巴斯蒂安·卡斯特罗
输出(而不是输入)的原因影响你的代数环的定义有关 代数循环 。这些发生在仿真软件当你试图将一万博1manbetx个系统直接相关的输入输出相同的系统。因为仿真软件万博1manbetx不能找出如何打破这个循环的关系,它使用数值迭代试图找到答案。你在为特定模型,无法找到这个迭代的解决方案,这就是为什么你会看到错误消息。
另一件事可能有助于理解它是仿真软件着眼于整个Simscape / SimElectronics物理网络作为万博1manbetx“一大块”,这就是为什么你会看到一个代数循环,即使你有很多块输入和输出之间的电气系统。同样,认为整个电路的联立方程连接“blob”之一。
无论如何,因为你代数循环相关控制算法,通常是“好的”系统中引入延迟打破循环。这通常可以通过 单位延迟 块的样品时间应该设置为你设计的样品时间控制器。
注意,这是一个可接受的解决方案(大部分)只有当你处理控制系统,因为它是现实的你来衡量在一个特定的时间 T 然后用一次测量的输入 T + 1 。给它一试!
——塞巴斯蒂安
2的评论
莱昂纳多Malburg
莱昂纳多Malburg 2021年3月30日
嗨,凯文,
不过6(13天,LOL)年后,你的建议帮助我很多与循环RL模型,并为第三个大拇指。
干杯!

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!