近年来,跟着技能的不断进步,两轮自平衡小车以其结构简略、轻盈细巧、运动灵敏、高效节能等特色,在许多个范畴得到了较大的展开。本文规划并制作了一台两轮小车,用飞思卡尔公司出产的MK60DN512ZVLQ10单片机作为中心操控器,加速度计MMA7260和陀螺仪ENC03作为车身姿势操控丈量元件,完结两轮小车的自平衡。依据设定速度与小车速度的差错操控电机的电压,以完结速度操控,并运用线性CCD收集赛道信息,依据途径的弯度操控小车两个轮子的转速完结转向操控,然后完结两轮直立车的寻迹计划。
1 体系组成
体系主要由单片机中心操控器、直立操控模块、速度操控模块、方向操控模块等功能模块构成。直立操控模块包括陀螺仪及加速度计,将它们装置在小车的重心方位,这样能确保传感器不会太灵敏或太愚钝,两者的数据交融使小车能坚持必定的倾角行进。速度操控模块:电机驱动模块驱动直流电机工作,经过装置于左、右轮的编码器测速,与设定速度进行比较,操控小车按设定速度行进。方向操控模块:经过装置于小车运动上方支架上的线性CCD,操控两轮完结差速转弯,以操控运动方向,体系框图如图1所示。
2 各个操控模块
2.1 直立操控模块
两轮车行走的首要条件是车的直立平衡,咱们规划的参阅计划如图2所示。它是经过陀螺仪ENC03收集到车歪斜的角速度w,经过加速度计收集车歪斜的视点θacc,与陀螺仪积分得到的视点θ比较,得到差错量e2(t)经过份额1/Tg转化作为反应量给陀螺仪,差错量e1(t)与陀螺仪收集到的角速度相加再积分作为车歪斜的视点θ。因为陀螺仪会有积分误
差及温漂,选用加速度计就可以削减陀螺仪的差错,加速度因为受外界的搅扰比较大,瞬间值不行精确,所以合作陀螺仪的运用,两者一起作用来收集车模的倾角。
2.2 速度操控模块
电机驱动选用4个BTS7960组成H桥电路来驱动直流电机的滚动,别的选用MK60N512VMD10单片机两路脉冲计数器,经过编码器别离测出小车左、右轮的脉冲量。运用4路PWM别离操控两个电机的正回转。如图3所示,当开关QA、QD接通,电机为正向滚动,开关QB、QC接公例电机反向滚动,然后完结电机的正回转,电流的巨细,决议电机的转速,经过PWM占空比来决议电流的巨细,然后间接地操控了电机的转速。
小车的速度操控是建立在小车直立的基础上的,经过给小车一个设定速度,然后将编码器测得的小车实践速度与设定速度进行比较,差错量作为反应量,经过份额PSPEED、积分ISPEED的和作为速度的输出,进一步操控PWM的输出然后使小车按设定速度行走,如图4所示。
2.3 方向操控模块
小车运转方向操控是经过两个轮子的差速来完结,而差速是由线性CCD收集赛道信息来核算弯道两头黑线与直道时两头黑线的差错值来确认。咱们竞赛运用的CCD型号为TSL1 401,归于线性CCD,与面阵CCD比较,线性CCD仅仅收集一行的数据,而这一行数据是由线性CCD传感器128个光电二极管经过积分电路所收集的图画灰度值。
关于收集回来的128个数据,要确认一个阈值Th,一般状况下为200左右(还能经过拨码开关依据现场环境亮度来挑选几个不同的阈值Th),来区别开白色跑道与其它色彩暗淡的非跑道区域。关于白色跑道反应回来的值肯定是比其它反应回来的值大,取这些数的一个中值来作为阈值,来区别赛道的黑白点(除了白色赛道,其他都是黑点),就可以判别
出白色跑道,然后就可以核算出弯道时与正常跑道的差错值,将两头的差错值相减再转化成电压值加到方向输出函数中,就可以操控小车的转向了。程序框图如图5所示。
因为竞赛的赛道有虚线,所以咱们将收集到128个点的数据从中心(第64个点的数据)往两头处理(左面64-0跟右边64-127的状况是相同的),意图是寻觅两头的黑点,与设定的阈值Th比较,假如小于阈值Th,再判别3个点是否都小于阈值Th,假如是,则认为是检测到了赛道边上的黑线。
程序完结部分(左面64-0的64个点检测部分):
3 结束语
文中评论了依据线性CCD的两轮自平衡小车操控体系的规划思维及完结办法,对体系中经过线性CCD完结对赛道辨认的方向操控模块,以及直立操控模块、速度操控模块等模块的软硬件进行了剖析,并给出了要害程序段。经过测验及参加飞思卡尔智能车竞赛,证明这个体系是合理的,也进步了小车运转的速度。展开对两轮自平衡车的深入研究对进步我国在这一范畴的科研水平、扩展机器人的使用布景等具有重要的理论及现实意义。