readme
parent
eaf680c0f5
commit
d56c5c618d
42
README.md
42
README.md
|
@ -59,7 +59,9 @@
|
|||
|
||||
![调参](image/tiaocan.gif)
|
||||
|
||||
5. K值可以用滑块调整,但是调整到合适值之后需要自行在Arduino的main中修改再烧录一次
|
||||
5. K值可以用滑块调整,拖动滑块就会发送参数命令,但是调整到合适值之后需要自行在Arduino的main中修改再烧录一次
|
||||
|
||||
6. 滑条:最左边输入框为滑块下限,右边是滑块上限,滑条等分成**200**份,命令是**字符串**,滑动滑块发送**字符串** + **数值**
|
||||
|
||||
比如让平衡角度为90度,则输入:TA90,并且会存入eeprom的位置0中 注:wifi发送**命令不能过快**,因为每次都会保存进eeprom,K参数没有保存到EEPROM所以可以使用滑条调整。
|
||||
|
||||
|
@ -72,10 +74,26 @@
|
|||
|VI1|速度环的PID的I,1是稳定在平衡角度之前的I值|
|
||||
|VP2|速度环的PID的P,2是稳定后的P值|
|
||||
|VI2|速度环的PID的I,2是稳定后的I值|
|
||||
|K**1**1|**1和2**是电压控制时参数。LQR的参数1*角度差值|
|
||||
|K**1**2|**1和2**是电压控制时参数。LQR的参数2*左右倾倒加速度|
|
||||
|K**1**3|**1和2**是电压控制时参数,**3和4**是速度控制时参数。LQR的参数3*当前速度|
|
||||
|K为LQR参数|第一个数字**1和2**是电压控制稳定前和后**3和4**是速度控制稳定前和后,第二个数字如下|
|
||||
|K1**1**|LQR的参数1:角度差值|
|
||||
|K1**2**|LQR的参数2:左右倾倒加速度|
|
||||
|K1**3**|LQR的参数3:当前速度|
|
||||
|
||||
LQR算法解释:当三角形向←倾斜时,需要产生向→的力回正。
|
||||
|
||||
在电压控制下:回正力F直接和输出电压值挂钩,向←倾斜,电机提供正电压V动量轮向**左加速转动**,产生向右的力F。
|
||||
|
||||
`期望电压 = 角度差值x参数1 + 左右倾倒加速度x参数2 + 当前速度x参数3`
|
||||
|
||||
在速度控制下:回正力F和动量轮转速加速度a有关,F = ma,向←倾斜,电机需要向**左加速转动**,产生向右的力F。
|
||||
|
||||
`期望速度 = 角度差值x参数1 + 左右倾倒加速度x参数2 + 当前速度x参数3`
|
||||
|
||||
两者区别:电压和速度控制都可以实现平衡,但因为使用simpleFOC控制电机转速无法无限加速,本电机实验最高转速180转,电压到上限12v。
|
||||
|
||||
使用电压控制会遇到,电机一下子就到了转速上限,就不能提供稳定的力F,参数调起来比较困难。
|
||||
|
||||
速度控制可以在偏差变大的时候,根据期望速度产生最大电压12v,并且不会超过电机最高转速。
|
||||
#### 4 硬件设计
|
||||
使用立创EDA绘制电路原理图,LaserMaker绘制莱洛三角形和动量轮(有激光切割机可以事先切割结构作为参考)。将绘制完的图形导入到立创EDA中可作为PCB的外框。丝印图案分别是**Gawr Gura**、**ouro kronii** ~~helicopter~~
|
||||
|
||||
|
@ -101,6 +119,18 @@ Python的GUI是SimpleFOC的SimpleFOCStudio。
|
|||
|
||||
#### 6 有用的地方
|
||||
|
||||
1. Arduino的程序中的command.h、command.cpp可以支持任意的字符串输入。在其他项目中一样可以用,无论是wifi接收到的字符串数据或者是串口的字符串数据。
|
||||
1. Arduino的程序中的command.h、command.cpp可以支持任意的字符串输入。在其他项目中一样可以用,无论是wifi接收到的字符串数据或者是串口的字符串数据。
|
||||
|
||||
2. GUI上位机可以在其他wifi项目中可以继续使用,用来调参还是很方便。
|
||||
2. GUI上位机可以在其他wifi项目中可以继续使用,用来调参还是很方便。
|
||||
|
||||
##### 7 未解之谜
|
||||
|
||||
问题1:在传感器读取当前角度pitch在0和360来回切换时候,卡尔曼滤波值会慢慢变化,得到的值无法反映正确的当前角度。导致有一个面无法摇摆平衡。
|
||||
|
||||
问题2:摇摆到平衡态时,参数不太好时,可能会摇摆过头,或者一直左右摇摆不能到平衡态。就算调好参数也会偶尔发生摇摆过头现象。
|
||||
|
||||
##### 8 交流Q群
|
||||
|
||||
45coll电子交流QQ群:**824113552**
|
||||
|
||||
欢迎交流与沟通
|
||||
|
|
Loading…
Reference in New Issue