标签 pid 下的文章

制作Arduino自平衡车(三)


第不知道多少天

车总体上能立起来了,但对于较大的干扰,车会向一个方向加速倒去。可能pid参数调得不太好吧,从某些角度考虑参数确实很难调,电机的死区电压较高,而且不同,pwm也是8位精度的,这样可用的pwm范围就更小了,而电机的齿缝较大,有3度左右的偏差。
对于整个系统来说输入量有以下几种,角度,角速度,电机编码器反馈的速度。而输出量便是pwm。
再说下滤波,我用的是卡尔曼滤波,互补融合我没试过,不过据说这两种差不多。
arduino 主函数
diy-arduino-auto-balance-car

还有就是pid,比例积分微分,在直立车中,控制主要分三个环节,直立环,速度环,转向环,最主要的便是直立环,直立环是基础,其他两环其实就是干扰,所以其参数尽量小,这有利于增加系统的稳定性。
直立环,主要是一个式子


制作Arduino自平衡车(二)


第二天

我觉定将核心板用9v电源供电,方便后期的调试,从raw口供电,焊好线后,确保无误后通电,一切正常,然后就要测一下各部分电压了,一切正常,稳压芯片好nb,tmd手欠用万用表笔戳了一下稳压芯片,不小心戳到两个管脚上了顿时板子上电源等不亮了,wnm,赶紧断电,估计是板子烧了,赶紧连上串口用串口供电试试能不能用,万幸,还能用,经检测,主要是稳压芯片烧了,其他部分没跟着倒霉,那就好,万幸。不过不能直接9v供电了,只能串口,尴尬。


制作Arduino自平衡车(一)


第一天

平衡车的配件都到货了,买了arduino pro mini 作为主控板,双电机买的是现成的,自带霍尔编码器,还有就是拜托靠点谱的mpu6050加速度计陀螺仪传感器,当然还有电机驱动,反正买回来测试后都能用,只能说都能用,原来家里有一个arduino pro mini,不知道为什么烧不进去程序,这就尴尬了,只能买个新的,开始其实想用两块核心板做的,iic的通信比较麻烦,而且一块板子差不多还够用,atmel328p 16MHZ还是差不多的,不过主要是因为原先有的一块板子坏了,买两块太贵了,所以就。反正一个多小时,管脚啥的就分好了,核心板的硬件资源异常,额,刚好够,两个外部中断,给了编码器,还剩5个pwm,分四个给电机,两个iic的接口,也就这么多了。板子也焊得差不多了,线挺多,mpu6050直接上漆包线,主要是电机编码器啥的线多不好焊,其他的没什么,唉,核心板就是小,不过总体上硬件就搭好了。

Arduino pro mini 核心板