星空为我而闪耀 发表于 2017-8-24 13:34:03

小学徒 发表于 2017-8-24 02:04
首先你这个问题很模糊。
应该这样理解:
AB相:可以这样用,A相接2中断脚,B相接任意引脚,,比如接4 ...

不知道lz能不能分享一下源码,我现在调车遇到一个瓶颈,没接电机之前mpu6050跑得好好的,但接上电机后跑了一会就不动了,三四天都没解决这个BUG,后面的PID调试都进行不下去了。。。。对了,lz有什么PID的调试经验吗,应该怎么调

小学徒 发表于 2017-8-24 16:28:57

星空为我而闪耀 发表于 2017-8-24 13:34
不知道lz能不能分享一下源码,我现在调车遇到一个瓶颈,没接电机之前mpu6050跑得好好的,但接上电机后跑 ...

lz是什么意思?

小学徒 发表于 2017-8-24 16:30:08

星空为我而闪耀 发表于 2017-8-24 13:27
有点不是很理解lz的代码,粗略看了一下,其实lz只用到了单相,那还有一相的作用是什么,我在网上找到的通 ...

等我继续更新 吧

星空为我而闪耀 发表于 2017-8-25 16:33:31

小学徒 发表于 2017-8-24 16:28
lz是什么意思?

楼主的简写。。

小学徒 发表于 2017-8-25 20:40:03

星空为我而闪耀 发表于 2017-8-25 16:33
楼主的简写。。

哈哈长见识了

太行摄狼 发表于 2017-8-28 22:16:52

还是发出来,别走下水道了,吧这贴搞红火,玩的肯定不少

星空为我而闪耀 发表于 2017-8-30 10:48:39

http://www.geek-workshop.com/forum.php?mod=viewthread&tid=30778&page=1#pid134594
楼主能帮我看看是什么问题吗

小学徒 发表于 2017-8-31 22:44:42

星空为我而闪耀 发表于 2017-8-30 10:48
http://www.geek-workshop.com/forum.php?mod=viewthread&tid=30778&page=1#pid134594
楼主能帮我看看是什 ...

我大概看了一下你的LOOP里面的内容,建议LOOP里面不要放太多运行的内容,
比如读取角度、卡尔曼滤波、PWM计算都应放在定时中断里运行。

太行摄狼 发表于 2017-9-1 10:39:24

你这也叫玩功放,这么简单,没事了可以交流,我玩电子管的多

小学徒 发表于 2017-9-3 13:25:55

太行摄狼 发表于 2017-9-1 10:39
你这也叫玩功放,这么简单,没事了可以交流,我玩电子管的多

哈哈,,,

野子yz 发表于 2017-9-6 16:07:53

本帖最后由 野子yz 于 2017-9-6 23:27 编辑

      有用到PID调节吗?目前处于学习中,了解了对角度和角速度的数据处理,不仅仅可以使用卡尔曼滤波,其他的方法也可以处理数据,但是对于PID调节平衡这一块,还不是太懂,或者是还有其他方法可以调节,可以请楼主说明解释一下吗?

小学徒 发表于 2017-9-7 22:37:22

本帖最后由 小学徒 于 2017-9-7 23:52 编辑

野子yz 发表于 2017-9-6 16:07
有用到PID调节吗?目前处于学习中,了解了对角度和角速度的数据处理,不仅仅可以使用卡尔曼滤波,其 ...

用到PID,但平衡车里面的PID没有那么贴近PID原型,建议去理解一下温控调节PID。
平衡车里有两个PWM环节组成:分别为直立环和速度环。
        直立环用PD
      速度环用PI       
1.直立环:直立环的PWM由MPU6050得来,即PWM_zl = 角度 乘于一个比例系数+角速度乘于一个D系数。
                                                          例如:Pwm_angle=36*bias+1.7*angle_dot;
2.速度环:速度环的PWM由测速经过一些运算得来,即PWM_sp =速度乘于一个比例系数 + 速度积分得到的位移乘于一个积分系数。   
                                                          例如:Pwm_speed=vKP*Speed+vKI*Position;//速度和位移环节控制      
                                                          Pwm=Pwm_angle+Pwm_speed;//总的PWM   
调节直立环的时候,先屏蔽掉其它环节,1.比如角度调试: Pwm= 36*bias;//把小车往一边方向倾斜,车轮有没有向那边转,正常的话应该是车轮向倾斜的那边倒,若是反过来转,只需要在36前面加个负号即可,下面的极性方向调节亦是如此。。。
                                                                2.接下来是角速度调节:Pwm= 1.7*angle_dot;//上电后正常时车轮不转,当把小车猛的向一边倾斜的时候车轮才会向那边转动,若反向则在1.7前添个负号即可。从这个现象就可以稍微理解到“微分具有超前作用”这句话 ,即 当小车稍向一边倾斜时,车轮就会同向转动,进而 避免了小车继续倒下去 的趋势。。。。。
                                                            3.直立环总调试:Pwm = 36*bias+1.7*angle_dot;
   这时候已经有了角度和角速度这两个参数的参与控制,若你的小车系统比较灵敏,比如电机反应比较快速,再加上36 和1.7 这两个系数调的差不多,那你的小车已经足够可以站立起来了,只是它站的不会太久或者不稳罢了!这时候要想站得稳,用手拨动它都不倒,那就得加入速度环了!
        对于速度环更详细的说明,等下次更新。。。准备熄灯断网了。               

野子yz 发表于 2017-9-8 16:07:37

本帖最后由 野子yz 于 2017-9-8 16:09 编辑

小学徒 发表于 2017-9-7 22:37
用到PID,但平衡车里面的PID没有那么贴近PID原型,建议去理解一下温控调节PID。
平衡车里有两个PWM环 ...

非常感谢你的回复,收获很大,可以发一份资料吗?关于MPU等一些代码的资料
邮箱 [email protected]

小学徒 发表于 2017-9-8 21:46:34

野子yz 发表于 2017-9-8 16:07
非常感谢你的回复,收获很大,可以发一份资料吗?关于MPU等一些代码的资料
邮箱

帖子 开头已经有MPU6050的程序

WeeDung 发表于 2018-1-3 00:23:55

- -图片显示不了
页: 1 [2] 3
查看完整版本: Arduino平衡小车——开始不断更新