双轮直立自平衡机器人Sway研究报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
双轮直立自平衡机器人Sway研究报告
本设计采用两块Cygnal公司推出的C8051F005单片机分别作为“双轮直立自平衡机器人”(以下命名为Sway)和人机交互上位机的控制核心。车体倾斜角度检测采用AD公司推出的双轴加速度传感器ADXL202及反射式红外线距离传感器。利用PWM技术动态控制两台直流电机的转速。上位机与机器人间的数据通信采用迅通生产的PTR2000超小型超低功耗高速无线收发数传MODEM。人机交互界面采用240*128图形液晶点阵、方向摇杆及按键。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了Sway的平衡控制与
数据交换。
“双轮直立自平衡机器人Sway研究报告
作者:哈尔滨工程大学尹亮
摘要
本设计采用两块Cygnal公司推出的C8051F005单片机分别作为“双轮直立自平衡机器人”(以下命名为Sway)和人机交互上位机的控制核心。车体倾斜角度检
测采用AD公司推出的双轴加速度传感器ADXL202及反射式红外线距离传感器。利用PWM技术动态控制两台直流电机的转速。上位机与机器人间的数据通信采用迅通生产的PTR2000超小型超低功耗高速无线收发数传MODEM。人机交互界面采用240*128图形液晶点阵、方向摇杆及按键。基于这些完备而可靠的硬件设计,使用了一套独特的软件算法,实现了Sway的平衡控制与数据交换。
本设计的主要特色:
1.高速(25MIPS)低功耗的SOC单片机为各种复杂
算法的实现提供了保障,丰富的片内外设为高速数据采集及PWM调制信号的生成提供了方便,片内温度传感器方便对温度的采集。片内JTAG功能为程序的调试及对系统的现场编程提供了方便。
2.高效的H型PWM电路提高了电源的利用率,实现了
电机的平滑变速。
3.双轴加速度传感器及光电传感器的使用提高了车体
倾斜角度检测的精度,差分算法的应用提高了系统的抗干扰能力。
4.优化的软件算法,智能化的自动控制使车体运动准确
平稳。
5.高速的无线数据传输给各种远程数据采集和智能控
制提供了保障。
6.大屏幕液晶(蓝屏)显示及360度方向摇杆为人机
交互提供了良好的界面。
一、硬件方案的选择与论证
根据设计要求,系统可以划分为几个基本模块,如下图所示。对各模块的实现,分别有以下一些不同的设计方案。
车体系统模块组成
无线控制上位机模块组成
1、MCU主控制器
方案一:采用89S52单片机作为主控制器。优点:价格低廉,程序资源丰富,技术比较成熟。缺点:运算速度慢,很难担任复杂算法的计算工作;程序储存空间小,
不能储存大规模程序代码;数字外设少,片内没有模数转换器,不能直接进行数据采集。
方案二:采用PHILIPS公司出品的LPC2119 ARM7内核处理器。优点:处理速度快(指令速度可达60MIPS),可以担任大部分复杂算法的计算工作;片内外设非常丰富,可以进行实时数据采集,多种数据通信方式可供选择。缺点:价格昂贵,对于已有51系列单片机开发经验的人员来说原有程序不兼容。
方案三:采用Cygnal公司推出的C8051F005单片机。优点:具有与8051兼容的微控制器内核,与MCS-51指令集完全兼容,方便原有程序的移植。指令速度大大提高(最高25MIPS),可以担任复杂算法的运算工作。片内集成了一个12位100KSPS的多通道ADC子系统,2个电压输出DAC、2个电压比较器、片内电压基准,这为进行实时的数据采集提供了方便。片内具有4个通用的16位定时器、一个具有5个捕捉/比较模块的可编程计数器/定时器阵列(PCA),这为生成PWM信号给电动机调速提供了方便,又不会过多占用CPU资源。片内拥有2304B内部数据RAM,32KB FLASH储存器,可以在系统编程与全速非侵入式JTAG调试,这为生成大量程序代码和在线调试提供了保证。
基于上述理论分析,拟选择方案三。
2、倾角检测
方案一:采用水银开关。优点:价格便宜,货源广泛,原理简单。缺点:输出开关量,不能线性调整。震动易受到干扰,很难应用于高速高噪声场合。
方案二:采用光电接近传感器。优点:价格便宜,输出线性度好,方便对其输出的数据进行处理与调整。缺点:反射强度随着反射面材料或颜色的不同而改变,很难广泛适应不同的路面。
方案三:采用AD公司生产的双轴加速度传感器
ADXL202。优点:PWM输出,方便与单片机进行接口,线性输出,输出精度高,可以做高精度控制。缺点:价格昂贵,算法复杂。
方案四:综合采用光电接近传感器与ADXL202。优点:既克服了光电传感器对材料与颜色的挑剔,又克服了ADXL202的算法复杂。
基于上述考虑,拟采用方案四。
3、电机驱动调速模块
方案一:采用电阻网络或数字电位器调整电动机的分压,从而达到调速的目的。但是电阻网络只能实现有级调速,而数字电阻的元器件价格比较昂贵。更主要的问题在于一般电动机的电阻很小,但电流很大;分压不仅会降低效率,而且实现很困难。
方案二:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整。这个方案的优点是电路较为简单,缺点是继电器的响应时间慢、机械结构易损坏、寿命较短、可靠性不高。
方案三:采用由达林顿管组成的H型PWM电路。用单片机控制达林顿管使之工作在占空比可调的开关状态,精确调整电动机转速。这种电路由于工作在管子的饱和截至模式下,效率非常高;H型电路保证了可以简单的实现转速和方向的控制;电子开关的速度很快,稳定性也极强,是一种广泛采用的PWM调速技术。
基于上述理论分析,拟选择方案三。
4、车轮检速及路程计算模块
方案一:采用霍尔集成芯片。该器件内部由三片霍尔金属板组成,当磁铁正对金属板时,由于霍尔效应,金属板发生横向导通,因此可以在车轮上安装磁片,而将霍尔集成芯片安装在固定轴上,通过对脉冲的计数进行车速测量。
方案二:受鼠标工作原理的启发,采用断续式光电开关。由于该开关是沟槽结构,可以将其置于固定轴上,再在车轮上均匀的固定多个遮光条,让其恰好通过沟槽,产生一个个脉冲。通过脉冲的计数,对速度进行测量。
以上两种都是比较可行的转速测量方案。尤其是霍尔器件,在工业上得到广泛采用。但是在本设计中,小车的车轮较小,方案一的磁片密集安装十分困难,容易产生相互干扰。相反,方案二适用于精度较高的场合,可以在车轮上加较多的遮光条来满足脉冲计数的精度要求,因此拟采用方案二。
5、温度检测
由于主控芯片C8051F005内部包括一个温度传感器连接到内部ADC的其中一路,因此省去了在外部挂设温度