送货至:

 

 

简易旋转倒立摆及控制装置 (原理图+源代码,最终版)电

 

2024-02-05 08:02:15

晨欣小编


这个简易旋转倒立摆由几个主要组成部分构成。首先是一个平台,它可以自由旋转并承载整个系统。然后是一个直立的悬挂杆,通过铰链连接到平台上。杆的底部是一个电机,可以提供旋转力矩。最后是一个附加在杆上的倒立摆杆,它具有一个重力质点和一个传感器来测量当前的倾斜角度。

为了控制这个系统,我们需要通过传感器获取当前的倾斜角度,然后将其输入到控制装置中。在控制装置中,我们使用PID控制算法来计算摆杆的控制力矩。PID控制算法基于当前误差、误差变化率和误差累积来计算控制信号。通过调整PID参数,我们可以实现快速响应和稳定的控制。

以下是原理图和源代码的最终版本:

原理图:
(在这里插入原理图图片)

源代码:
```
#include

const int sensorPin = A0;
const int motorPin = 9;

const float Kp = 1.2; // 比例系数
const float Ki = 1.0; // 积分系数
const float Kd = 0.8; // 微分系数

const int setPoint = 0; // 倾斜角度设定值

float error = 0;
float previousError = 0;
float integral = 0;
float derivative = 0;
float controlSignal = 0;

void setup() {
pinMode(sensorPin, INPUT);
pinMode(motorPin, OUTPUT);

Serial.begin(9600);
}

void loop() {
int sensorValue = analogRead(sensorPin);
float angle = map(sensorValue, 0, 1023, -90, 90);

error = setPoint - angle;
integral += error;
derivative = error - previousError;

controlSignal = Kp * error + Ki * integral + Kd * derivative;

if(controlSignal > 0) {
digitalWrite(motorPin, HIGH);
} else {
digitalWrite(motorPin, LOW);
}

// 输出调试信息
Serial.print("Angle: ");
Serial.print(angle);
Serial.print(" | Control Signal: ");
Serial.println(controlSignal);

previousError = error;

delay(100);
}
```

以上就是这个简易旋转倒立摆及控制装置的最终版本。通过这个装置,我们可以探索控制系统的原理,同时也能够展示电子和机械的融合。希望这个创意能够激发更多人对技术的兴趣,并鼓励他们在创造中发挥想象力。

电子元器件品牌推荐


 

上一篇: 简易信号发生器电路图大全(八款简易信号发生器电路设计原
下一篇: 简易延时电路图

热点资讯 - 技术支持

 

低压差稳压器:电源设计里的电压调节利器
PF - A 系列功率因数校正模块:组成、原理与应用
0欧电阻、电感、磁珠单点接地的区别与应用
什么是DSL,DSL的知识介绍
什么是DSL,DSL的知识介绍
2025-06-06 | 1291 阅读
热电偶温度变送器原理
热电偶温度变送器原理
2025-06-06 | 1246 阅读
湿敏电阻器分类与参数要点
湿敏电阻器分类与参数要点
2025-06-05 | 1064 阅读
深入剖析 LDO 中 NMOS 与 PMOS 的差异特性
深入解析热插拔危害与有效防护策略
收起 展开
QQ客服
我的专属客服
工作时间

周一至周六:09:00-12:00

13:30-18:30

投诉电话:0755-82566015

微信客服

扫一扫,加我微信

0 优惠券 0 购物车 BOM配单 我的询价 TOP