直流电动机的闭环速度控制
在闭环控制中,控制器基本上比较感兴趣变量的期望值和实际值,并调整控制作用力,使得实际值与期望值匹配。
显示完整的 Wolfram 语言输入
在该范例中,速度控制器部署到 Arduino Uno 微控制器板。使用编码器测量 电机 的实际速度。使用电位计设定所需的速度。电机使用 motor shield 供电。最后,参考和实际速度通过串行 RS-232 总线传输,该总线将使用设备框架读取。
直流电机的型号。
设计一个采样周期为 0.25 秒的 PID 控制器。
编码器每转 12 个计数,电机齿轮箱的齿轮比为 9.86。创建一个以 rpm 为单位获取编码器读数的模型。
参考电压由电位计设置,范围为 0–5V。将其重新调整为 0 至 500 rpm。
用于比较参考速度和实际编码器速度的比较器。
微控制器输出到电动机是基于 PWM 信号的占空比。电机两端的实际电压来自电机端罩。以下是基于测量数据的分段拟合的电压和占空比之间的关系。
端罩的反模型将电压映射到占空比。
Arduino、端罩、电机以及输入和输出的框图。
要部署到 Arduino 的控制器有 2 个输入和 3 个输出。
第一个输入是由电位计值设置的参考速度。第二个输入是编码器测量的实际速度。
第一个输出是驱动电机的 PWM 信号的占空比。另外两个是通过串行 RS-232 连接传输的参考和实际速度。
部署代码。
打开与目标的串行连接。
设置计划任务,每 0.25 秒读取一次值。
显示完整的 Wolfram 语言输入
绘制结果,显示对设置参考值和干扰的响应。
删除任务并关闭设备连接。