问题标签 [pid-controller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么我的 PID 控制器无法通过图像处理跟踪对象?
我正在编写一个机器人来使用摄像头在房间内导航以读取标志(例如:Bathroom-Right 等),我正在使用 Alphabot2 套件和 RPI3B+
机器人从第一个标志前开始,每转90度。
由于机器人基本上应该在一条相当直线上移动,我不确定我做错了什么。我无法让机器人到达第一个标志,他只是失去了控制。
我编写了一个 PID 控制器并调整了该任务的参数,但似乎没有帮助。将感谢您的意见
似乎机器人为 pid 控制器快速移动
controls - 带压力超控的 PID 泵控制器 - 如何处理负增益?
我有一个自定义 HMI 设置,带有一个流量/压力传感器输入和一个 4-20mA 输出到一个小泵。我目前正在尝试在流量达到设定点(大约为 1500 mL/min)的情况下实施超控控制,同时还限制管道中的压力(最大约 15 psi)。
问题是,我只能将泵速设置为 4(0 rpm)到 20(~2000 rpm)mA,而“负”PID 回路输出基本上只是“停止泵”。在试图限制压力的情况下,当需要采取行动时,PID 误差将始终为负。
我已经尝试过使用带有结束限制的覆盖过程输出切换,但这似乎只是到目前为止。
此外,任何获得某种压力输出比例比的好方法,因为压力的“最大值”或多或少是无限的。
python - 终止字符无效的pyvisa
我有一个温度控制器,我可以通过 USB 与之通信,你有两种类型的命令,getter 和 setter。B2 等命令将获得当前风扇模式,预期响应为 0 或 1。命令 b2 将设置风扇模式,根据文档 b2 1 CR 应将风扇设置为模式 1,但我得到以下响应 0x11。根据文档,这意味着已收到命令,但终止字符是错误的。所有可能的终止字符都是(NULL、#、CR、LF)。
例子
风扇 1 模式
传感器 1 温度限制
我正在使用 PyVISA,它是 VISA 库的前端。我查看了 pyvisa 的代码,看看它是否添加了任何内容或修改了我编写的命令,但找不到类似的东西。我已经尝试了所有终止字符(NULL、#、CR、LF)。难道 pyvisa 正在后台做一些改变命令的事情?或者这里发生了什么?
我制作了一个 python 脚本来测试命令。
c - 使用 RTOS 实现(直流电机)PI 电流控制器的正确方法
在我的爱好项目中,我开始将经典的中断驱动软件重写为带有 RTOS 的新软件。我正在使用带有 FreeRTOS 的 STM32,但这并不重要,因为我的问题通常与如何使用 RTOS 实现快速 PI 的问题有关。
思路:把电流(转矩)控制器放到一个中断中(例如:放到用于PWM的定时器的中断),然后把位置控制器放到一个线程中,或者放到一个sw定时器中。
想法将当前控制器置于线程中,女巫等待基于定时器中断的信号,在该信号将被引发。
当前控制器应该很快,所以我不能放入一个 sw 定时器,但是我读到的关于 RTOS 的文档说我应该在使用 RTOS 时将最少的代码放入中断处理函数中,而 PI 控制器不是我认为的那样。这就是为什么 1. 想法似乎有问题的原因。
但是,如果我将快速电流控制器放入一个信号比 systick 快得多的线程中,它是否能够处理它?这是一个可怕的想法吗?
所以确切的问题是:当所需频率远高于系统频率时,我应该如何使用 RTOS 实现快速 PI 控制器?
谢谢您的帮助!
c++ - 如何继续使用 PID 控制器输出
我正在尝试使用 PID 控制器来实现目标 FPS 和延迟。对于 PID 控制器,我使用了https://github.com/tekdemo/MiniPID。
这就是我在while
循环中设置它的方式:
我不明白 PID 控制器的输出指示什么,以及如何使用它来过渡到我的目标 FPS 和延迟。