您的位置 首页 发布

新手入门超声自平衡小车最佳计划

新手入门超声自平衡小车最佳方案-基于上述目标,本方案采用超声波测距模块作为小车平衡状态的检测,免去了对加速度、陀螺仪传感器的理解和复杂处理算法。小车的平衡控制仍然采用网络上流行的Arduino开源硬件

  1、项目概述

  在网上看到各种制造自平衡小车的帖子,也跟着做了起来。因为榜首次做,心里没底,也就没有投入过多的资金,全部依照最小装备进行,所以挑选“TT马达”,俗称“香蕉电机”的小车底盘。

  

  在等快递送货期间,才看到各种说用“香蕉电机”做自平衡小车的问题,最大的问题便是电机发动对传感器和单片机的搅扰问题,还有便是平衡的安稳性欠好等问题。在我以Arduino + MPU6050 + L298N($2.3338)为中心做完后,闲得没事干,就想做一款成本低,易上手,最小装备和最基本功用的自平衡小车,其意图便是给那些没有什么经历的刚入行的新手们供给一个入门的解决计划。所以这个项意图方针有以下几点:

  a、成本低;

  b、方针功用清晰,便是完结小车的自平衡;

  c、体系安稳牢靠;

  d、调试、操作便利简略。

  2、项目计划

  根据上述方针,本计划选用超声波测距模块作为小车平衡状况的检测,免去了对加速度、陀螺仪传感器的了解和杂乱处理算法。小车的平衡操控依然选用网络上盛行的Arduino开源硬件,再加上电机驱动模块 L298N,电机依然选用TT马达(香蕉电机)。

  该计划为了降低成本,选用电位器调整设定小车的平衡参数,不运用蓝牙无线模块或有线串口在线调整参数。

  用超声波测距的办法完结的自平衡小车,网络上有人提出这种计划无法在斜度改动的斜坡上坚持平衡,这种说法通过我的实践,是有解决计划的,这个问题我将在后边进行论述。

  平衡操控的算法仍是选用平衡车中经典的PD算法。

  3、硬件规划

  硬件规划比较简略,以Arduino Nano为中心操控模块,选用HC-SR04超声波测距模块,L298N电机驱动模块,供电选用7.4V/2200mAh($76.5000)锂电池。图中三个10K电位器别离用于平衡点设置、PD算法中Kp和Kd系数设置的调整。

  电路原理图如下所示:

  

  图中J1为HC-SR04超声波测距模块,J2、J3为L298N模块,Arduino Nano为中心操控模块,MG1、MG2别离为左右电机。

  与之前用香蕉电机+MPU6050做的自平衡小车比较较要简略许多,在MPU6050计划中,用了两块电池,其间一块独自用于电机供电,并且L298N有必要用光耦阻隔的。

  而用超声波做的自平衡小车,尽管用的是TT马达(俗称香蕉电机),但仅一块电池供电,L298N电机驱动模块也没有光耦阻隔,从终究调试后的作用上看,还比前者更安稳。

  制品照:

  

  资料清单

  

  这个资料清单比较完好,是带遥控器的。在电商渠道可以搜集完全,我们可以i自行查找。

  4、程序规划

  程序源代码:http://www.52solution.com/auto-dl/7374

  5、调试流程

  最新版超声平衡小车安装结束后如下图所示。

  

  串口调试帮手程序:http://www.52solution.com/auto-dl/7375

  a、准备作业

  将Kp与Kd调为0,调整办法是,旋转电位器后,按下Arduino模块上的复位键调整方可有用。调整后用串口调试帮手(sscom42.exe)发送 “F”指令,读取超声自平衡小车参数的设定值。在运用串口调试帮手前,首要挑选串口调试帮手对应的串标语,设置好波特率,方可发送上述指令读取超声自平衡小车参数的设定值,操作界面如下图所示。

  

  榜首个数据为平衡点设定值,第二个数据为Kp,第三个数据为Kd。

  b、超声波测距测验

  发送相应“L”指令,读取超声波的测距值,留意,这儿不是实践的mm或cm值,而是对应间隔来回的传达时刻值,是单片机内部计时的输出值。

  操作界面如下图所示。

  

  榜首个数为超声波测距模块的直接输出值,第二个数为一阶滤波后的值。改动超声波测距模块与被测界面的间隔,这两个值会发生相应的改动,间隔近,测得的值变小,间隔远测得的值就增大。

  c、寻觅物理平衡点

  在Kp、Kd为0时,用手寻觅自平衡小车的物理平衡点,一起用“L”指令(500ms守时发送)读取超声波丈量的回来值,确认平衡点的回来值,并记录下来。

  d、平衡点PB的设定

  调整PB电位器,并在Arduino复位后,用“F”指令读取超声自平衡小车参数的设定值,使得榜首个回来的数据与上述确认的物理平衡点相一致。

  e、判别电机作业方向是否正确

  在完结上述调整后,逐步增大Kp(请记住,每次调整后,都有必要复位Arduino模块,调整才干收效),看到电机可以动作时,中止调整Kp。这时将超声波模块一端稍稍下压(也便是使超声波探头与地上间隔缩短),调查两个电机的滚动方向,往前(超声波测距模块一端为前)转测验正确的,往后转则阐明相应的电机两根线接反了,将接反的线互换过来即可。

  f、Kp参数整定

  在电机接线正确后,再逐步增大Kp,使得小车可以来回有点摇摆即可进入调整Kd参数阶段。

  g、Kd参数整定

  在调整完Kp后,逐步增大Kd,使得摇摆消失,假如持续增大Kd,小车会呈现显着的颤动,此刻将Kd往回调整,使得颤动消失即可。

  h、平衡点PB的进一步调整

  在上述参数调整结束后,小车一般就能坚持平衡了,假如呈现小车往一边跑的现象,可通过调整PB电位器加以批改。假如小车往前跑(超声波模块一端为前),调整PB使得平衡点设定值增大;假如小车往后跑,调整PB使得平衡点设定值减小,直到小车可以长时刻安稳停止。

  6、总结与展望

  超声自平衡小车的基本版现已完结,在制造过程中与我之前用MPU6050制造的小平衡车比较有以下几点领会:

  a、在用TT马达的情况下,假如体系运用同一组电池供电,电机一发动Arduino与MPU6050当即死机,或许MPU6050的数据受搅扰极为严峻,不行运用。解决办法是用另一组电池独自给L298N供电,并且L298N要挑选带光耦阻隔的。但相同的运用TT马达的情况下,用超声波测距计划,体系仅用一组电池即可,并且L298N也无需光耦阻隔,体系很安稳。

  b、超声波传感器的挑选要挑选最小丈量周期短的模块,榜首次我运用的是US-015 超声波测距模块,US-015是现在商场上分辨率最高,重复丈量一致性最好的超声波测距模块,US-015的分辨率高于1mm,可达0.5mm,测距精度高,重复丈量一致性好,测距安稳牢靠。但他的最小丈量周期大于10ms,并且对输出数据常常有跳动(这是因为它的灵敏度很高,在近间隔时超声波在模块与地上之间的来回反射的二次信号都能被检测到),为此在地上垫上一个地毯吸收了部分能量的超声波,才干安稳作业。在第二版中更换了HC-SR04超声波模块,这个模块的测距精度尽管只要3mm,但它的最小丈量周期仅略大于3ms。但这种模块商场上有两种,一种没有晶体,一种是带晶体的,带晶体的很不安稳,主张我们不要挑选。

  c、小车的平衡安稳性与多种要素有关,主张在结构上,重心越低越好。

  d、别的,我还做了一个比照测验,数据见下表:

  

  差错绝对值是指小车在一段时刻内,实测间隔与设定平衡点间隔差错绝对值的平均值;滤波是指程序中对超声波丈量的间隔滤波或不滤波直接运用;循环周期是程序中的延时时刻,超声波丈量需求大约704us,一个周期大约为3.84ms,程序处理时刻大约为136us

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/changshang/fabu/176516.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部